From e2ef44546236b9c6dc97e6be6bdae3dbc4b901cd Mon Sep 17 00:00:00 2001 From: zhangjianjun Date: Mon, 20 Jul 2026 15:09:32 +0800 Subject: [PATCH] ud --- src/api/pay.ts | 6 +++--- src/api/user.ts | 8 ++++---- src/pages/PayPage.tsx | 2 +- src/pages/Twins.tsx | 2 +- src/utils/request.ts | 13 +++++++------ 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/api/pay.ts b/src/api/pay.ts index 13b0798..b14b481 100644 --- a/src/api/pay.ts +++ b/src/api/pay.ts @@ -38,14 +38,14 @@ export type OrderStatus = { // goods export function getGoods() { - return get>('/api/order/goods') + return get>('/api/order/goods', undefined, { tokenType: 'permanent' }) } // order export function order(payload: OrderPayload) { - return post>('/api/order', payload) + return post>('/api/order', payload, { tokenType: 'permanent' }) } export function checkOrder(orderId: string) { - return get>('/api/order', { order_id: orderId }) + return get>('/api/order', { order_id: orderId }, { tokenType: 'permanent' }) } diff --git a/src/api/user.ts b/src/api/user.ts index 285aa0e..105990a 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -17,13 +17,13 @@ export type PackageInfo = { } export function getConfig() { - return get>('/api/user/config') + return get>('/api/user/config', undefined, { tokenType: 'permanent' }) } -export function getService() { - return get>('/api/weixin/service') +export function getService(tokenType: 'permanent' | 'temporary') { + return get>('/api/weixin/service', undefined, { tokenType }) } export function getPackage() { - return get>('/api/package') + return get>('/api/package', undefined, { tokenType: 'temporary' }) } diff --git a/src/pages/PayPage.tsx b/src/pages/PayPage.tsx index 48d25b1..2a7a148 100644 --- a/src/pages/PayPage.tsx +++ b/src/pages/PayPage.tsx @@ -224,7 +224,7 @@ function PayPage() { async function initServiceUrl() { try { - const { data } = await getService() + const { data } = await getService('permanent') const nextServiceUrl = data['kf.address'] if (isMounted && typeof nextServiceUrl === 'string') { diff --git a/src/pages/Twins.tsx b/src/pages/Twins.tsx index 213bcab..b056ec0 100644 --- a/src/pages/Twins.tsx +++ b/src/pages/Twins.tsx @@ -13,7 +13,7 @@ function Twins({ installUrl }: TwinsProps) { async function initTwinsConfig() { try { - const { data: service } = await getService() + const { data: service } = await getService('temporary') const nextServiceUrl = service['kf.address'] if (isMounted && typeof nextServiceUrl === 'string') { diff --git a/src/utils/request.ts b/src/utils/request.ts index c12d788..e3e7cdb 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -8,6 +8,7 @@ type RequestParams = Record type RequestOptions = Omit & { body?: BodyInit | Record | null + tokenType?: 'permanent' | 'temporary' } type ApiResponseLike = { @@ -155,7 +156,7 @@ function toHeaderValue(value: RequestPrimitive) { return value === undefined || value === null ? '' : String(value) } -function setCommonHeaders(headers: Headers) { +function setCommonHeaders(headers: Headers, tokenType: RequestOptions['tokenType']) { const params = getSearchParams() const sysInfo = mergeDefinedSysInfo(getBrowserInfo(), getClientSysInfo()) @@ -167,9 +168,9 @@ function setCommonHeaders(headers: Headers) { headers.set('x-channel', toHeaderValue(sysInfo.channel)) headers.set('x-click-id', toHeaderValue(params.get('bd_vid') ?? sysInfo.bd_vid ?? '')) headers.set('x-app-id', toHeaderValue(__APP_ID__)) - const token = - window.sessionStorage.getItem(TOKEN_STORAGE_KEY) || window.sessionStorage.getItem(TEMP_TOKEN_STORAGE_KEY) - if(token){ + const tokenStorageKey = tokenType === 'temporary' ? TEMP_TOKEN_STORAGE_KEY : TOKEN_STORAGE_KEY + const token = window.sessionStorage.getItem(tokenStorageKey) + if (token) { headers.set('x-token', token) } } @@ -273,9 +274,9 @@ function getBusinessErrorMessage(message: unknown) { } async function request(url: string, method: string, options: RequestOptions = {}) { - const { body, headers, ...restOptions } = options + const { body, headers, tokenType, ...restOptions } = options const requestHeaders = new Headers(headers) - setCommonHeaders(requestHeaders) + setCommonHeaders(requestHeaders, tokenType) let requestBody: BodyInit | null | undefined if (isPlainObject(body)) {