<script>
	export default {
		onLaunch: async function() {
			try {
				// 获取小程序启动参数
				const launchOptions = uni.getLaunchOptionsSync()
				console.log('小程序启动参数:', launchOptions)
				
				// 判断是否从分享链接进入
				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)
				
				// 如果是从分享链接进入，检查是否是orderStaffDetail页面
				if (isFromShare) {
					// 存储分享进入的详细信息
					uni.setStorageSync('shareLaunchTime', Date.now())
					if (launchOptions.query) {
						uni.setStorageSync('shareQuery', launchOptions.query)
					}
					if (launchOptions.referrerInfo) {
						uni.setStorageSync('shareReferrer', launchOptions.referrerInfo)
					}
					
					// 检查是否是orderStaffDetail页面的分享
					const isOrderDetailShare = this.orderStaffDetail(launchOptions.query)
					uni.setStorageSync('isOrderDetailShare', isOrderDetailShare)
					
					if (isOrderDetailShare) {
						console.log('从orderStaffDetail页面分享进入，跳过token检查')
						// uni.showToast({
						// 	title: '从订单详情分享进入，跳过token检查',
						// 	icon: 'none'
						// })
						return // 跳过token检查
					} else {
						console.log('从其他页面分享进入，需要检查token')
						// 清除分享缓存，因为需要正常登录
						this.clearShareCache()
					}
				} else {
					// 不是从分享进入，清除可能存在的分享缓存
					this.clearShareCache()
				}
				
				// 进行正常的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')
		},
		// 监听隐私授权需要
		onNeedPrivacyAuthorization(resolve) {
			// #ifdef MP-WEIXIN
			console.log('需要隐私授权', resolve)
			// 用户触发隐私接口时，会触发此回调
			// resolve 是一个函数，调用 resolve() 表示用户同意授权
			// 调用 resolve({ buttonId: 'xxx', event: 'xxx' }) 表示用户点击了同意按钮
			// 调用 resolve({ event: 'disagree' }) 表示用户点击了拒绝按钮
			
			// 这里可以显示自定义的隐私授权弹窗
			// 用户同意后调用 resolve()
			// 用户拒绝后调用 resolve({ event: 'disagree' })
			
			// 默认行为：直接同意（如果需要自定义弹窗，可以在这里实现）
			// resolve()
			// #endif
		},
		methods: {
			// 检查是否是orderStaffDetail页面的分享
			orderStaffDetail(query) {
				// 检查查询参数中是否有id，这通常表示是订单详情页
				if (query && query.id) {
					console.log('检测到订单详情页分享，订单ID:', query.id)
					return true
				}
				
				// 检查路径参数（如果有的话）
				if (query && query.path) {
					const path = query.path
					if (path.includes('orderStaffDetail') || path.includes('orderDetail')) {
						console.log('检测到订单详情页分享，路径:', path)
						return true
					}
				}
				
				return false
			},
			// 清除分享缓存
			clearShareCache() {
				uni.removeStorageSync('isFromShare')
				uni.removeStorageSync('shareLaunchTime')
				uni.removeStorageSync('shareQuery')
				uni.removeStorageSync('shareReferrer')
				uni.removeStorageSync('isOrderDetailShare')
			}
		}
	}
</script>

<style lang="scss">
	/*每个页面公共css */
	@import "uview-ui/index.scss";
</style>