|  |  | 
 |  |  | import { | 
 |  |  |   wxLoginCustomer | 
 |  |  |   wxLoginCustomer, | 
 |  |  |   getMemberInfo | 
 |  |  | } from './api/index' | 
 |  |  | import CustomHook from 'spa-custom-hooks'; | 
 |  |  | let globalData = { | 
 |  |  | 
 |  |  |       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('登录失败!') | 
 |  |  |     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: '正在重新登录...', | 
 |  |  |               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) | 
 |  |  |           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) | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   onShow(options) { | 
 |  |  |     console.log('options', options); | 
 |  |  |   } | 
 |  |  | }) | 
 |  |  | CustomHook.install({ | 
 |  |  |   'Login':{ | 
 |  |  |      name:'Login', | 
 |  |  |      watchKey: 'token', | 
 |  |  |      onUpdate(val){ | 
 |  |  |        //有token则触发此钩子 | 
 |  |  |        return !!val; | 
 |  |  |      } | 
 |  |  |    } | 
 |  |  |  }, globalData || 'globalData') | 
 |  |  |   'Login': { | 
 |  |  |     name: 'Login', | 
 |  |  |     watchKey: 'token', | 
 |  |  |     onUpdate(val) { | 
 |  |  |       //有token则触发此钩子 | 
 |  |  |       return !!val; | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | }, globalData || 'globalData') |