From 00bf17838b496e6fcfed2e521f9c27f8f0e3e3c7 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期一, 05 八月 2024 18:38:20 +0800
Subject: [PATCH] ‘’

---
 wechat_jiaxuan/app.js |  182 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 151 insertions(+), 31 deletions(-)

diff --git a/wechat_jiaxuan/app.js b/wechat_jiaxuan/app.js
index e56016f..9503c79 100644
--- a/wechat_jiaxuan/app.js
+++ b/wechat_jiaxuan/app.js
@@ -1,41 +1,161 @@
-import { wxLoginCustomer } from './api/index'
+import {
+  wxLoginCustomer,
+  getMemberInfo
+} from './api/index'
+import CustomHook from 'spa-custom-hooks';
+let globalData = {
+  // token: wx.getStorageSync('token'),
+  token: '',
+  primary: '#B08771',
+  bottomLift: ''
+}
+let pathMap = [
+  '/pages/detailDis/product',
+  '/pages/detailDis/case',
+  '/pages/detailDis/realpic',
+  '/pages/consult/detail',
+  '/pages/productVideo/index',
+]
 App({
-  globalData: {
-    primary: '#B08771',
-    bottomLift: ''
-  },
-  onLaunch: function () {
+  globalData,
+  onLaunch: function (op) {
+    console.log('options', op.query)
     //鑾峰彇褰撳墠璁惧淇℃伅
     const WindowInfo = wx.getWindowInfo()
     if (WindowInfo.safeArea.top > 20) {
-      this.globalData.bottomLift = WindowInfo.screenHeight - WindowInfo.safeArea.bottom;
+      this.globalData.bottomLift = WindowInfo.screenHeight - WindowInfo.safeArea.bottom
     }
-    // 
-    wx.login({
-      timeout: 5000,
-      success(res) {
-        if (res.code) {
-          //鍙戣捣缃戠粶璇锋眰
-          wxLoginCustomer({
-            code: res.code
-          }).then(res => {
-            console.log(res)
-            if (res && res.data.member) {
-              wx.setStorageSync('member', res.data.member)
-              wx.setStorageSync('openid', res.data.member.openid)
-              wx.setStorageSync('sessionKey', res.data.sessionKey)
-              wx.setStorageSync('token', res.data.token)
-            } else {
-              console.log('鐧诲綍澶辫触锛�')
+  },
+  onShow(op) {
+    // 鎺堟潈鐧诲綍
+    var userId = null
+    if (op.query.scene) {
+      let temp = op.query.scene.split('_')
+      userId = temp[2]
+    }
+    const token = wx.getStorageSync('token') || ''
+    if (token) {
+      getMemberInfo({
+        isAuth: true
+      }).then(res => {
+        if (res.code !== 200) {
+          setTimeout(() => {
+            wx.showLoading({
+              title: '姝e湪閲嶆柊鐧诲綍...',
+              mask: true
+            })
+          }, 200)
+          setTimeout(() => {
+            wx.hideLoading()
+          }, 1000)
+          wx.login({
+            timeout: 5000,
+            success: (res) => {
+              var userId = null
+              if (op.query.scene) {
+                let temp = op.query.scene.split('_')
+                userId = temp[2]
+              }
+              if (res.code) {
+                //鍙戣捣缃戠粶璇锋眰
+                wxLoginCustomer({
+                  code: res.code,
+                  userId
+                }).then(res => {
+                  wx.setStorageSync('token', res.data.token)
+                  this.globalData.token = res.data.token
+                  if (op.query.scene) {
+                    let temp = op.query.scene.split('_')
+                    wx.navigateTo({
+                      url: `${pathMap[temp[1]]}?id=${temp[0]}&userId=${temp[2]}`,
+                    })
+                  }
+                  console.log('鎷垮埌token浜�', res.data.token);
+                  if (res && res.data.member) {
+                    wx.setStorageSync('member', res.data.member)
+                    wx.setStorageSync('openid', res.data.member.openid)
+                    wx.setStorageSync('sessionKey', res.data.sessionKey)
+                  } else {
+                    console.log('鐧诲綍澶辫触锛�')
+                  }
+                })
+              } else {
+                console.log('鐧诲綍澶辫触锛�' + res)
+              }
+            },
+            fail(err) {
+              console.log(err)
             }
           })
         } else {
-          console.log('鐧诲綍澶辫触锛�' + res)
+          this.globalData.token = token
+          // if (op.query.scene) {
+          //   let temp = op.query.scene.split('_')
+          //   wx.navigateTo({
+          //     url: `${pathMap[temp[1]]}?id=${temp[0]}&userId=${temp[2]}`,
+          //   })
+          // }
         }
-      },
-      fail(err) {
-        console.log(err)
-      }
-    })
+      })
+    } else {
+      // 鎺堟潈鐧诲綍
+      wx.login({
+        timeout: 5000,
+        success: (res) => {
+          if (op.query.scene) {
+            let temp = op.query.scene.split('_')
+            userId = temp[2]
+          }
+          if (res.code) {
+            //鍙戣捣缃戠粶璇锋眰
+            wxLoginCustomer({
+              code: res.code,
+              userId
+            }).then(res => {
+              wx.setStorageSync('token', res.data.token)
+              this.globalData.token = res.data.token
+              if (op.query.scene) {
+                let temp = op.query.scene.split('_')
+                wx.navigateTo({
+                  url: `${pathMap[temp[1]]}?id=${temp[0]}&userId=${temp[2]}`,
+                })
+              }
+              console.log('鎷垮埌token浜�', res.data.token);
+              if (res && res.data.member) {
+                wx.setStorageSync('member', res.data.member)
+                wx.setStorageSync('openid', res.data.member.openid)
+                wx.setStorageSync('sessionKey', res.data.sessionKey)
+              } else {
+                console.log('鐧诲綍澶辫触锛�')
+              }
+            })
+          } else {
+            console.log('鐧诲綍澶辫触锛�' + res)
+          }
+        },
+        fail(err) {
+          console.log(err)
+        }
+      })
+    }
+    // const token = wx.getStorageSync('token') || ''
+    // if(token){
+    //   if (options.query.scene) {
+    //     let temp = options.query.scene.split('_')
+    //     wx.navigateTo({
+    //       url: `${pathMap[temp[1]]}?id=${temp[0]}&userId=${temp[2]}`,
+    //     })
+    //   }
+    // }
   }
-})
\ No newline at end of file
+})
+CustomHook.install({
+  'Login': {
+    name: 'Login',
+    watchKey: 'token',
+    onUpdate(val) {
+      //鏈塼oken鍒欒Е鍙戞閽╁瓙
+      return !!val;
+    }
+  }
+}, globalData || 'globalData')
\ No newline at end of file

--
Gitblit v1.9.3