Files
wechat_wc/src/utils/store/keys.ts
T
fenjoyoung 8fdf0b1b4f feat(r3-order-pay): 结算与订单支付流程、支付倒计时/商品图组件,接口地址改为构建期注入
- 新增 PaymentCountdown、ProductImage 组件
- 完善 checkout/orders/orderDetail 订单支付链路与地址、商品、设计数据
- request 接口地址改为构建期注入并保留真实网络错误,默认兜底线上地址
- 同步重新构建 dist 产物
2026-09-13 14:50:39 +08:00

38 lines
1.2 KiB
TypeScript

import Taro from '@tarojs/taro'
/** 当前登录用户信息在 Storage 中的 key */
export const USER_KEY = 'smart_user_info'
/** 当前激活 openid 在 Storage 中的 key */
export const ACTIVE_USER_KEY = 'smart_active_openid'
/** 判断 openid 是否为历史版仅前端 mock 残留(形如 mock_xxx)。
* 本地后端 WX_MOCK_LOGIN=1 返回 mock-xxx,属于可校验的联调用户,不能清除其 token。
*/
export function isMockOpenid(openid?: string | null): boolean {
return !!openid && openid.startsWith('mock_')
}
/** 取当前用户 openid;没有登录态时回退 _guest_ 并缓存 */
function getActiveOpenid(): string {
let user: any = null
try {
user = Taro.getStorageSync(USER_KEY)
} catch {
user = null
}
const openid = user?.openid || Taro.getStorageSync(ACTIVE_USER_KEY) || '_guest_'
Taro.setStorageSync(ACTIVE_USER_KEY, openid)
return openid
}
/** 按当前用户生成作用域 storage key */
export function key(scope: string): string {
const prefix = getActiveOpenid()
return `${scope}_${prefix}`
}
/** 按指定 openid 生成作用域 storage key */
export function keyFor(scope: string, openid: string): string {
return `${scope}_${openid}`
}