|
@@ -1,5 +1,4 @@
|
|
|
-const { isMobile } = require('../../utils/validate')
|
|
|
-const { sendCode, miniPhoneLogin, miniLogin } = require('../../api/common')
|
|
|
+const { miniLogin } = require('../../api/common')
|
|
|
const { login, sessionStorageKey } = require('../../api/request')
|
|
|
const app = getApp()
|
|
|
Page({
|
|
@@ -8,15 +7,8 @@ Page({
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
- form: {
|
|
|
- cellphone: '',
|
|
|
- code: ''
|
|
|
- },
|
|
|
- numCount: 60,
|
|
|
- checked: false,
|
|
|
booLock: false
|
|
|
},
|
|
|
- timer: null,
|
|
|
wxCode: '',
|
|
|
|
|
|
/**
|
|
@@ -51,138 +43,6 @@ Page({
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
*/
|
|
|
onUnload() {
|
|
|
- clearInterval(this.timer)
|
|
|
- },
|
|
|
- bindTip() {
|
|
|
- wx.showToast({
|
|
|
- title: '请阅读并勾选协议',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- },
|
|
|
- bindChange() {
|
|
|
- this.setData({
|
|
|
- checked: !(this.data.checked)
|
|
|
- })
|
|
|
- },
|
|
|
- mobileEventhandle(e) {
|
|
|
- const val = e.detail.value.replace(/[^\d]$/, '').replace(/^0/, '').replace(/(\d{11}(.*))/, '$1')
|
|
|
-
|
|
|
- this.setData({
|
|
|
- 'form.cellphone': val
|
|
|
- })
|
|
|
-
|
|
|
- return {
|
|
|
- value: val
|
|
|
- }
|
|
|
- },
|
|
|
- codeEventhandle(e) {
|
|
|
- const val = e.detail.value.replace(/[^\d]$/, '').replace(/(\d{6}(.*))/, '$1')
|
|
|
-
|
|
|
- this.setData({
|
|
|
- 'form.code': val
|
|
|
- })
|
|
|
-
|
|
|
- return {
|
|
|
- value: val
|
|
|
- }
|
|
|
- },
|
|
|
- funCutDown() {
|
|
|
- let numCount = this.data.numCount
|
|
|
- this.timer = setInterval(() => {
|
|
|
- if (numCount === 0) {
|
|
|
- clearInterval(this.timer)
|
|
|
- this.setData({
|
|
|
- numCount: 0
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- numCount--
|
|
|
- this.setData({
|
|
|
- numCount: numCount
|
|
|
- })
|
|
|
- }, 1000)
|
|
|
- },
|
|
|
- async funGetCode() {
|
|
|
- const numCount = this.data.numCount
|
|
|
- const { cellphone } = this.data.form
|
|
|
-
|
|
|
- if (!isMobile(cellphone)) {
|
|
|
- wx.showToast({
|
|
|
- title: '请输入正确的手机号~',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- if (numCount < 60 && numCount > 0) {
|
|
|
- return
|
|
|
- }
|
|
|
- this.setData({
|
|
|
- numCount: 60,
|
|
|
- code: ''
|
|
|
- })
|
|
|
-
|
|
|
- this.funCutDown()
|
|
|
-
|
|
|
- try {
|
|
|
- const { status } = await sendCode({ phone: cellphone, type: 1 })
|
|
|
- let title = '验证码发送成功'
|
|
|
- if (status) {
|
|
|
- } else {
|
|
|
- title = '验证码发送失败'
|
|
|
- }
|
|
|
- wx.showToast({
|
|
|
- title: title,
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- } catch (err) {}
|
|
|
- },
|
|
|
- async bindEvent() {
|
|
|
- const { cellphone, code } = this.data.form
|
|
|
-
|
|
|
- if (!this.data.checked) {
|
|
|
- this.bindTip()
|
|
|
- return
|
|
|
- }
|
|
|
- this.setData({
|
|
|
- booLock: true
|
|
|
- })
|
|
|
-
|
|
|
- try {
|
|
|
- const { status, data } = await miniPhoneLogin({
|
|
|
- wxCode: this.wxCode,
|
|
|
- cellphone,
|
|
|
- code
|
|
|
- })
|
|
|
-
|
|
|
- if (status) {
|
|
|
- try {
|
|
|
- wx.setStorageSync(sessionStorageKey, data.token)
|
|
|
- } catch (err) {}
|
|
|
-
|
|
|
- await app.fetchUserData()
|
|
|
-
|
|
|
- const pages = getCurrentPages()
|
|
|
- if (pages.length > 1) {
|
|
|
- const route = pages[pages.length - 2]
|
|
|
- wx.navigateBack({
|
|
|
- delta: 1
|
|
|
- })
|
|
|
- route.bindCallBack && route.bindCallBack()
|
|
|
- }
|
|
|
- } else {
|
|
|
- wx.showToast({
|
|
|
- title: '登录出错了,请重试',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- this.getWxCode()
|
|
|
- }
|
|
|
- } catch (err) {
|
|
|
- this.getWxCode()
|
|
|
- }
|
|
|
-
|
|
|
- this.setData({
|
|
|
- booLock: false
|
|
|
- })
|
|
|
},
|
|
|
async getPhoneNumber(e) {
|
|
|
const { errMsg, encryptedData, iv } = e.detail
|