diff --git a/huakai-app/pageSubPack/api/appLaunch.js b/huakai-app/pageSubPack/api/appLaunch.js index 77975c1..f6560f2 100644 --- a/huakai-app/pageSubPack/api/appLaunch.js +++ b/huakai-app/pageSubPack/api/appLaunch.js @@ -102,32 +102,43 @@ export function captureAppLaunchData(onShowOptions) { return null } - // 冷启动 - try { - data = tryGetData(wx.getLaunchOptionsSync?.() || {}, '冷启动') - } catch (e) { console.error('getLaunchOptionsSync 失败:', e) } + // 优先使用本次进入(onLaunch/onShow 传入的 options)的最新参数。 + // 热启动再次从 App 进入时,getLaunchOptionsSync 仍返回首次冷启动的旧值, + // 若先读它会导致新 token 被旧 token 覆盖,因此这里以本次 options 为准。 + data = tryGetData(onShowOptions, '本次进入') - // 热启动 + // 兜底:本次 options 未取到数据时,依次尝试当前进入参数、冷启动参数。 + // 注意:不能以 !onShowOptions 判断,onLaunch/onShow 始终会传入 options 对象, + // 那样会误判导致兜底永远不执行,token 无法恢复。 if (!data) { - data = tryGetData(onShowOptions, '热启动') + try { + data = tryGetData(wx.getEnterOptionsSync?.() || {}, '当前进入(getEnterOptionsSync)') + } catch (e) { console.error('getEnterOptionsSync 失败:', e) } + } + if (!data) { + try { + data = tryGetData(wx.getLaunchOptionsSync?.() || {}, '冷启动(getLaunchOptionsSync)') + } catch (e) { console.error('getLaunchOptionsSync 失败:', e) } } - if (data && (data.payAmount || data.acct || data.custId || data.billId || data.billIds)) { - // 归一化 billId/billIds:单个 id 用 billId,多个用 billIds,统一转为 billIds 数组 - normalizeBillParams(data) - - // 恢复登录态 + if (data) { + // 恢复登录态:只要 App 传入了 token/userId 就恢复,不依赖支付字段名 if (data.token) { uni.setStorageSync('token', data.token) - console.log('已恢复 token') + console.log('已恢复 token:', String(data.token).slice(0, 16) + '...') } if (data.userId) { uni.setStorageSync('userId', data.userId) console.log('已恢复 userId') } - uni.setStorageSync(STORAGE_KEY, data) - console.log('已存储 App 支付数据:', JSON.stringify(data)) + // 存在支付参数时才作为 App 支付进入处理 + if (data.payAmount || data.acct || data.custId || data.billId || data.billIds) { + // 归一化 billId/billIds:单个 id 用 billId,多个用 billIds,统一转为 billIds 数组 + normalizeBillParams(data) + uni.setStorageSync(STORAGE_KEY, data) + console.log('已存储 App 支付数据:', JSON.stringify(data)) + } } // 归一化 queryData 中的 billId/billIds diff --git a/huakai-app/pageSubPack/api/request.js b/huakai-app/pageSubPack/api/request.js index fb0f56d..5985360 100644 --- a/huakai-app/pageSubPack/api/request.js +++ b/huakai-app/pageSubPack/api/request.js @@ -1,9 +1,11 @@ let baseUrl = ''; if (process.env.NODE_ENV === 'development') { // baseUrl = 'https://wuyeapi.ckdzkj.com'; // 开发环境 - baseUrl = "http://192.168.1.222:8080" + // baseUrl = "http://192.168.1.222:8080" + baseUrl = "https://apitest.ckdzkj.com"; } else { - baseUrl = 'https://wuyeapi.ckdzkj.com'; // 生产环境 + // baseUrl = 'https://wuyeapi.ckdzkj.com'; // 生产环境 + baseUrl = "https://apitest.ckdzkj.com"; } /** diff --git a/huakai-app/pages/index/index.vue b/huakai-app/pages/index/index.vue index 9d84dbf..460d949 100644 --- a/huakai-app/pages/index/index.vue +++ b/huakai-app/pages/index/index.vue @@ -65,9 +65,9 @@ onShow(() => { loadRecords() } }) -// const gotoPayment =()=>{ -// uni.navigateTo({ url: '/pages/arrearsPayment/arrearsPayment' }) -// } +const gotoPayment =()=>{ + uni.navigateTo({ url: '/pages/arrearsPayment/arrearsPayment' }) +} const goLogin = () => { uni.navigateTo({ url: '/pageSubPack/loginSub/pwd-login' })