liukangdong
2024-07-30 1a6905045d38bb50b0c6554c3440bdfd339c8d23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import {
  wxLoginCustomer
} from './api/index'
import CustomHook from 'spa-custom-hooks';
let globalData = {
  token: '',
  primary: '#B08771',
  bottomLift: ''
}
App({
  globalData,
  onLaunch: function (op) {
    console.log('options', op.query)
    let pathMap = [
      '/pages/detailDis/product',
      '/pages/detailDis/case',
      '/pages/detailDis/realpic',
      '/pages/consult/detail',
      '/pages/productVideo/index',
    ]
    //获取当前设备信息
    const WindowInfo = wx.getWindowInfo()
    if (WindowInfo.safeArea.top > 20) {
      this.globalData.bottomLift = WindowInfo.screenHeight - WindowInfo.safeArea.bottom
    }
    // 授权登录
    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)
      }
    })
 
 
 
  }
})
CustomHook.install({
  'Login':{
     name:'Login',
     watchKey: 'token',
     onUpdate(val){
       //有token则触发此钩子
       return !!val;
     }
   }
 }, globalData || 'globalData')