【App.vue里跟踪页面跳转和用户ID】

在App.vue,里的onLaunch: async function() { }

加入如下代码:

javascript 复制代码
	  // 全局跳转日志(已修复 navigateBack 的 undefined 问题)
	  const ROUTE_METHODS = ['navigateTo', 'redirectTo', 'reLaunch', 'switchTab', 'navigateBack']
	  
	  ROUTE_METHODS.forEach(method => {
		uni.addInterceptor(method, {
		  invoke(args) {
			const pages = getCurrentPages()
			const curRoute = pages[pages.length - 1]?.route || '启动页'
			
			// ✅ 修复点 1:处理 navigateBack 的目标页
			let targetRoute = args.url
			if (method === 'navigateBack') {
			  // navigateBack 没有 args.url,需要手动算上一页
			  const prevPage = pages[pages.length - 2]
			  targetRoute = prevPage ? prevPage.route : '已退出应用'
			}
			
			// ✅ 修复点 2:更稳健的 UID 获取(避免 uni-id-pages-user-info 为空)
			let uid = '未登录'
			try {
			  // 优先从 uni-id-pages 的标准存储取
			  const storedUser = uni.getStorageSync('uni-id-pages-user-info')
			  if (storedUser && storedUser.uid) {
				uid = storedUser.uid
			  } else {
				// 兜底从 uniCloud 运行时取
				const cloudUser = uniCloud.getCurrentUserInfo()
				if (cloudUser && cloudUser.uid) {
				  uid = cloudUser.uid
				}
			  }
			} catch (e) {
			  // 存储读取失败,保持 '未登录'
			}

			console.log(`🔐 [${method}] 从=${curRoute} 到=${targetRoute},UID=${uid}`)
			return args
		  }
		})
	  })
相关推荐
Captaincc3 小时前
AI用量v0.1.11更新发布 新增 jusage doctor 诊断指令 托盘展示token 和余额 新增 AutoClaw 支持
前端·后端·vibecoding
君顾13 小时前
上海24小时自助健身房系统开发实战指南:从架构设计到落地部署
java·开发语言·健身房
香菜TTT3 小时前
大模型上下文协议(MCP):AI 应用的“USB-C”接口技术
开发语言·人工智能·经验分享
aramae4 小时前
模拟实现strlen()函数 (C语言)
c语言·开发语言·后端
计算机魔术师4 小时前
德国Wiki被黑后两周,OpenAI终于把模型失控的账本摊开了
前端
kyriewen4 小时前
我让 AI 当面试官面了我一轮:第 3 个追问我就卡住了(附 10 道追问清单)
前端·面试·ai编程
jimy15 小时前
readelf 查看“派生类”的vtable符号
开发语言·c++
IT_陈寒5 小时前
Python的GIL把我坑惨了,多线程跑得比单线程还慢
前端·人工智能·后端
前端snow5 小时前
ai agent --- 多agent框架之图编排引擎-langgraph
前端
竹林8185 小时前
OmniPic Studio v3.2.1 核心技术架构与全平台发版解析文档
前端·浏览器