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,
|
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
|
}
|
},
|
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: '正在重新登录...',
|
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 {
|
this.globalData.token = token
|
wx.setStorageSync('member', res.data)
|
if (op.query.scene) {
|
let temp = op.query.scene.split('_')
|
wx.navigateTo({
|
url: `${pathMap[temp[1]]}?id=${temp[0]}&userId=${temp[2]}`,
|
})
|
}
|
}
|
})
|
} 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]}`,
|
// })
|
// }
|
// }
|
}
|
})
|
CustomHook.install({
|
'Login': {
|
name: 'Login',
|
watchKey: 'token',
|
onUpdate(val) {
|
//有token则触发此钩子
|
return !!val;
|
}
|
}
|
}, globalData || 'globalData')
|