From 7a2084c90ed29a4ec9d4267deb2b78f0d49c904d Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期二, 23 七月 2024 09:56:34 +0800
Subject: [PATCH] ‘’

---
 wechat_staff/pages/login/index.js |  141 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 115 insertions(+), 26 deletions(-)

diff --git a/wechat_staff/pages/login/index.js b/wechat_staff/pages/login/index.js
index 1371551..2d85c94 100644
--- a/wechat_staff/pages/login/index.js
+++ b/wechat_staff/pages/login/index.js
@@ -1,4 +1,10 @@
-import { sendSms,loginByPhone, getDictData } from '../../api/index'
+import {
+  sendSms,
+  getDictData,
+  getWxMiniPhone,
+  loginByPhone,
+  bindingOpenid
+} from '../../api/index'
 Page({
 
   /**
@@ -10,15 +16,17 @@
     status: '0', // 鏍囪瘑
     countDown: 0,
     phone: '',
-    code: '', 
+    code: '',
     showModal: false,
     activeHtml: '',
   },
   getCode() {
     let countDown = this.data.countDown
-    if(countDown > 0) return
-    const { phone } = this.data
-    if(!phone || phone.length != 11){
+    if (countDown > 0) return
+    const {
+      phone
+    } = this.data
+    if (!phone || phone.length != 11) {
       return wx.showToast({
         title: '璇疯緭鍏ユ纭殑鎵嬫満鍙�',
         icon: 'none'
@@ -31,34 +39,61 @@
         title: '楠岃瘉鐮佸彂閫佹垚鍔�',
         icon: 'none'
       })
-      this.setData({ countDown: 60 })
+      this.setData({
+        countDown: 60
+      })
       let timer = setInterval(() => {
         let countDown = this.data.countDown
-        if(countDown === 0){
+        if (countDown === 0) {
           return clearInterval(timer)
         }
-        countDown --
-        this.setData({ countDown })
+        countDown--
+        this.setData({
+          countDown
+        })
       }, 1000)
     })
   },
   loginPhone() {
-    const { code, phone } = this.data
-    loginByPhone({code, phone}).then(res => {
-      wx.setStorageSync('member', res.data.users)
-      wx.setStorageSync('token', res.data.token)
-      wx.showToast({
-        title: '鐧诲綍鎴愬姛',
-      })
-      setTimeout(() => {
-        wx.switchTab({
-          url: '/pages/index/index',
+    const {
+      code,
+      phone
+    } = this.data
+    loginByPhone({
+      code,
+      phone
+    }).then(res => {
+      if (res.data && res.data.token) {
+        wx.login({
+          timeout: 5000,
+          success: (loginRes) =>  {
+            if (loginRes.code) {
+              this.bindingOpenid(loginRes.code, res.data.token)
+            }
+          }
         })
-      }, 300)
+        if(res.data.phone){
+          res.data.users.phone = res.data.phone || res.data.users.phone
+        }
+        wx.setStorageSync('member', res.data.users)
+        wx.setStorageSync('token', res.data.token)
+        wx.showToast({
+          title: '鐧诲綍鎴愬姛',
+        })
+        setTimeout(() => {
+          wx.switchTab({
+            url: '/pages/index/index',
+          })
+        }, 300)
+      }else{
+        wx.showToast({
+          title: '浣犺繕涓嶆槸璇ョ郴缁熺敤鎴凤紝璇疯仈绯荤浉鍏崇鐞嗗憳娉ㄥ唽',
+        })
+      }
     })
   },
   changeStatus() {
-    if(!this.data.agreementFalg){
+    if (!this.data.agreementFalg) {
       return wx.showToast({
         title: '璇峰厛闃呰骞跺悓鎰忕浉鍏冲崗璁�',
         icon: 'none'
@@ -80,9 +115,61 @@
     })
     this.initData()
   },
-  onOpen(e){
-    const { serviceHtml, privacyHtml } = this.data
-    const { index } = e.target.dataset
+  getPhoneNumber(e) {
+    const data = {
+      ...e.detail
+    }
+    getWxMiniPhone({
+      encryptedData: data.encryptedData,
+      iv: data.iv,
+      sessionKey: wx.getStorageSync('sessionKey') || data.iv,
+    }).then(res => {
+      if (res.data && res.data.token) {
+        wx.login({
+          timeout: 5000,
+          success: (loginRes) =>  {
+            if (loginRes.code) {
+              this.bindingOpenid(loginRes.code, res.data.token)
+            }
+          }
+        })
+        if(res.data.phone){
+          res.data.users.phone = res.data.phone || res.data.users.phone
+        }
+        wx.setStorageSync('member', res.data.users)
+        wx.setStorageSync('token', res.data.token)
+        wx.switchTab({
+          url: '/pages/index/index',
+        })
+      }else{
+        wx.showToast({
+          title: '浣犺繕涓嶆槸璇ョ郴缁熺敤鎴凤紝璇疯仈绯荤浉鍏崇鐞嗗憳娉ㄥ唽',
+        })
+      }
+
+    })
+  },
+  bindingOpenid(code, token) {
+    bindingOpenid({code, token})
+  },
+  loginIn() {
+    const {
+      agreementFalg
+    } = this.data
+    if (!agreementFalg) return wx.showToast({
+      title: '璇峰厛闃呰骞跺悓鎰忕浉鍏冲崗璁�',
+      icon: 'none',
+      duration: 2000
+    })
+  },
+  onOpen(e) {
+    const {
+      serviceHtml,
+      privacyHtml
+    } = this.data
+    const {
+      index
+    } = e.target.dataset
     let activeHtml = index == '0' ? serviceHtml : privacyHtml
     this.setData({
       activeHtml,
@@ -90,9 +177,11 @@
     })
   },
   onClose() {
-    this.setData({showModal: false})
+    this.setData({
+      showModal: false
+    })
   },
-  initData(){
+  initData() {
     getDictData({
       code: 'ZBOM_CUSTOMIZED',
       label: 'SERVER_AGREEMENT'

--
Gitblit v1.9.3