You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.4 KiB

<script>
export default {
onLaunch: async function() {
1 year ago
try {
10 months ago
// 获取小程序启动参数
const launchOptions = uni.getLaunchOptionsSync()
console.log('小程序启动参数:', launchOptions)
// 判断是否从分享链接进入
// 1. 检查场景值1007表示单人聊天会话中的小程序消息卡片1008表示群聊会话中的小程序消息卡片
// 2. 检查referrerInfo分享者的信息
// 3. 检查query参数分享链接会带有参数
const isFromShare = launchOptions.scene === 1007 ||
launchOptions.scene === 1008 ||
launchOptions.scene === 1044 || // 群聊会话中的小程序消息卡片(新版)
(launchOptions.referrerInfo && launchOptions.referrerInfo.appId) ||
(launchOptions.query && Object.keys(launchOptions.query).length > 0)
console.log('是否从分享链接进入:', isFromShare)
// 存储分享进入状态
uni.setStorageSync('isFromShare', isFromShare)
// 如果是从分享链接进入,存储相关信息
if (isFromShare) {
console.log('从分享链接进入跳过token检查')
// 存储分享进入的详细信息
uni.setStorageSync('shareLaunchTime', Date.now())
if (launchOptions.query) {
uni.setStorageSync('shareQuery', launchOptions.query)
}
if (launchOptions.referrerInfo) {
uni.setStorageSync('shareReferrer', launchOptions.referrerInfo)
}
uni.showToast({
title: '从分享链接进入跳过token检查',
icon: 'none'
})
return
} else {
// 不是从分享进入,清除可能存在的分享缓存
uni.removeStorageSync('isFromShare')
uni.removeStorageSync('shareLaunchTime')
uni.removeStorageSync('shareQuery')
uni.removeStorageSync('shareReferrer')
}
// 不是从分享进入进行正常的token检查
1 year ago
if(this.base.isNull(this.vuex_token)){
uni.redirectTo({
url:'/package_sub/login/login'
})
}else{
const user = await this.$u.api.getUser()
console.log("user",user)
this.$u.vuex('vuex_user', user)
}
} catch (err) {
console.error(err)
}
},
onShow: function() {
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style lang="scss">
/*每个页面公共css */
@import "uview-ui/index.scss";
1 year ago
</style>