Skip to content
forget-pwd.ts 4.07 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {Response} from "@angular/http";
import {AppService} from "../../service/http.service";
import {TabsService} from "../tabs/tabs.service";
wangqinghua's avatar
wangqinghua committed
import {CommonService} from "../../provide/common.service";
wangqinghua's avatar
wangqinghua committed


@IonicPage()
@Component({
    selector: 'page-forget-pwd',
    templateUrl: 'forget-pwd.html',
})
export class ForgetPwdPage {

wangqinghua's avatar
wangqinghua committed
    myreg = /^(?=[a-zA-Z]+\d+)\w{8,20}$/;
wangqinghua's avatar
wangqinghua committed

    user = {
        phone: '',
        code: ""
    };

    passwordInfo = {
        modifyPassword: '',
        sureModifyPassword: ''
    };

wangqinghua's avatar
wangqinghua committed
    isSend = false;
wangqinghua's avatar
wangqinghua committed
    disabledClick = false;
    verifyText = '获取验证码';

    nextClick = false;
wangqinghua's avatar
wangqinghua committed
    constructor(public navCtrl: NavController, public navParams: NavParams, private commonSer: CommonService,
wangqinghua's avatar
wangqinghua committed
                private appService: AppService, private tabSer: TabsService) {
    }

    ionViewDidLoad() {
    }

    //发送验证码
    sendCode() {
wangqinghua's avatar
wangqinghua committed
        if (this.user.phone.length !== 11 || !Number(this.user.phone)) {
            this.commonSer.toast('请输入正确的手机号码');
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        const data = {
wangqinghua's avatar
wangqinghua committed
            phone: this.user.phone.trim()
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        this.tabSer.sendCode(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                if (res.errcode == 1000) {
                    this.countTime();
wangqinghua's avatar
wangqinghua committed
                    this.commonSer.toast('验证码发送成功');
                } else {
                    this.commonSer.toast(res.errmsg);
wangqinghua's avatar
wangqinghua committed
                }
wangqinghua's avatar
wangqinghua committed
    nextCheck() {
        if (this.user.phone.length > 0 && this.user.code.length > 0) {
wangqinghua's avatar
wangqinghua committed
            this.nextClick = true;
wangqinghua's avatar
wangqinghua committed
        } else {
wangqinghua's avatar
wangqinghua committed
            this.nextClick = false;
        }
    }

    //倒计时
    countTime() {
        let totalTime = 60;
        this.disabledClick = true;
        this.verifyText = totalTime + 's后重新发送';
        let clock = window.setInterval(() => {
            totalTime--;
            this.verifyText = totalTime + 's后重新发送';
            if (totalTime < 0) {
                window.clearInterval(clock);
                this.verifyText = "重新发送验证码";
                this.disabledClick = false;
            }
        }, 1000)
    }

wangqinghua's avatar
wangqinghua committed
    //下一步
wangqinghua's avatar
wangqinghua committed
    next() {
wangqinghua's avatar
wangqinghua committed
        this.tabSer.checkCode(this.user).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                if (res.errcode == "1000") {
wangqinghua's avatar
wangqinghua committed
                    this.isSend = true;
wangqinghua's avatar
wangqinghua committed
                } else {
wangqinghua's avatar
wangqinghua committed
                    this.commonSer.toast(res.errmsg);
                }
wangqinghua's avatar
wangqinghua committed
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    sureModifyPassword() {

        if (!this.check()) {
            return false;
        }
        const data = {
            "password": this.passwordInfo.modifyPassword
        };
        this.tabSer.updatePassword(data).subscribe(
            (res) => {
wangqinghua's avatar
wangqinghua committed
                if (res.errcode == 1000) {
wangqinghua's avatar
wangqinghua committed
                    this.commonSer.toast('密码修改成功');
wangqinghua's avatar
wangqinghua committed
                    this.logoutApp();
wangqinghua's avatar
wangqinghua committed
                    this.navCtrl.pop();
wangqinghua's avatar
wangqinghua committed
                } else {
wangqinghua's avatar
wangqinghua committed
                    this.commonSer.toast('密码修改失败');
                }
wangqinghua's avatar
wangqinghua committed
    logoutApp() {
        this.appService.ObserverHttpGet("/wisdomgroup/app/logout", null)
            .subscribe((res: Response) => {
                    let data = res.json();
                }, error => {
                }
            );
    }

wangqinghua's avatar
wangqinghua committed
    check() {
        if (this.passwordInfo.modifyPassword == '' ||
            this.passwordInfo.sureModifyPassword == '') {
            this.appService.popToastView("请输入完整信息!", 'top', 2000);
            return false;
        }
        if (!this.myreg.test(this.passwordInfo.modifyPassword)) {
wangqinghua's avatar
wangqinghua committed
            this.appService.popToastView('新密码以英文字母开头,同时包含数字,长度8-20位!', 'top', 2000);
wangqinghua's avatar
wangqinghua committed
            return false;
        }
        if (this.passwordInfo.modifyPassword != this.passwordInfo.sureModifyPassword) {
            this.appService.popToastView("两次输入的密码不一致", 'top', 2000);
            return false;
        }
        return true;
    }

}