【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
		  }
		})
	  })
相关推荐
NiceCloud喜云1 小时前
ClaudeAPI 接入 n8n / Dify / Open WebUI 实战:Base URL 配置、调用示例与排错
开发语言·ai·chatgpt·aigc
汪汪大队u1 小时前
Zabbix 6.0 部署踩坑记:从启动失败到 Web 成功访问
前端·zabbix
顺颂时绥_11 小时前
new Set 过滤数据实战
前端
赵大仁1 小时前
Next.js + Vercel AI SDK 实战:30 分钟搭出流式 Chat 页面
前端·ai·实战·react·next.js·vercel
庵中十三居士1 小时前
【纯AI无人工修改】AI Agent从0到1实战:50行Python手写核心循环,一次看懂所有Agent框架的底层逻辑
开发语言·人工智能·python
甄同学2 小时前
第二十篇:MCP协议集成,Claude Code如何扩展AI Agent的能力边界
开发语言·人工智能·qt
云空2 小时前
《Three.js 完整版3D魔方:带贴纸+中心固定+自动求解复原》
前端·javascript·3d·three.js
酸梅果茶2 小时前
【7】lightning_lm项目-LIO 前端 -IVox 局部地图
前端·slam
@atweiwei2 小时前
Langchainrust:中LLM-as-a-Judge,用 Rust 实现一套 LLM 评估系统
开发语言·后端·ai·rust·llm·rag