【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
		  }
		})
	  })
相关推荐
热心网友俣先生4 分钟前
2026年华数杯C 题 超详细解题思路
c语言·开发语言·人工智能
灵析表格5 分钟前
灵析表格功能函数深度分析报告
前端·数据库·microsoft
breeze jiang11 分钟前
React useRef + Web Worker:避免大计算阻塞页面的通信方案
前端·javascript·react.js
啄缘之间17 分钟前
5.1 uvm‑component 的层级结构管理? new (name,parent) 参数
开发语言·笔记·学习·ic·uvm·sv
fthux21 分钟前
MCP协议开发实战:从零搭建AI Agent工具链
前端·人工智能·ai·开源·github
旖旎夜光32 分钟前
C++(类与对象)(下)
开发语言·c++·学习
张小凡vip38 分钟前
Python爬虫实战:高效稳定的文件下载模块设计与实现
开发语言·爬虫·python
江屿风39 分钟前
【科普】【差集&交集概念落地云相册】流食般投喂
开发语言·c++·笔记·算法·云相册
代龙涛42 分钟前
WordPress header.php 与 footer.php 模板结构详解
开发语言·php·wordpress