<script>
	export default {
		onLaunch: async function() {
			try {
				// 获取小程序启动参数
				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检查
				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";
</style>