From b3c925b0ca21663526c89d38df06a8798d1e4bce Mon Sep 17 00:00:00 2001 From: sexygoat <1538832180@qq.com> Date: Fri, 17 Apr 2026 09:40:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=89=AB=E4=B8=80?= =?UTF-8?q?=E6=89=AB=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/index.js | 3 ++- api/modules/wechat.js | 11 +++++++++++ utils/wxsdk.js | 32 +++++++++++++++----------------- 3 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 api/modules/wechat.js diff --git a/api/index.js b/api/index.js index 9846320..c1b0a6a 100644 --- a/api/index.js +++ b/api/index.js @@ -4,4 +4,5 @@ export { deviceApi } from './modules/device.js'; export { exchangeApi } from './modules/exchange.js'; export { orderApi } from './modules/order.js'; export { realnameApi } from './modules/realname.js'; -export { walletApi } from './modules/wallet.js'; \ No newline at end of file +export { walletApi } from './modules/wallet.js'; +export { wechatApi } from './modules/wechat.js'; \ No newline at end of file diff --git a/api/modules/wechat.js b/api/modules/wechat.js new file mode 100644 index 0000000..476d6b2 --- /dev/null +++ b/api/modules/wechat.js @@ -0,0 +1,11 @@ +import request from '@/utils/request.js'; + +export const wechatApi = { + getJssdkConfig(url) { + return request({ + url: '/api/c/v1/wechat/jssdk-config', + method: 'GET', + data: { url } + }); + } +}; \ No newline at end of file diff --git a/utils/wxsdk.js b/utils/wxsdk.js index 5d7aee8..a6332d9 100644 --- a/utils/wxsdk.js +++ b/utils/wxsdk.js @@ -1,27 +1,25 @@ -import { BASE_URL, APP_ID } from './env.js'; +import { APP_ID } from './env.js'; +import { wechatApi } from '@/api/index.js'; export const initWxSdk = async () => { if (typeof wx === 'undefined') return false; try { - const res = await fetch(`${BASE_URL}/api/c/v1/wx/signature?url=${encodeURIComponent(window.location.href)}`); - const data = await res.json(); + const data = await wechatApi.getJssdkConfig(window.location.href); - if (data.code === 200 || data.code === 0) { - wx.config({ - debug: false, - appId: APP_ID, - timestamp: data.data.timestamp, - nonceStr: data.data.nonceStr, - signature: data.data.signature, - jsApiList: ['scanQRCode'] - }); + wx.config({ + debug: false, + appId: APP_ID, + timestamp: data.timestamp, + nonceStr: data.nonce_str, + signature: data.signature, + jsApiList: ['scanQRCode'] + }); - return new Promise((resolve) => { - wx.ready(() => resolve(true)); - wx.error(() => resolve(false)); - }); - } + return new Promise((resolve) => { + wx.ready(() => resolve(true)); + wx.error(() => resolve(false)); + }); } catch (e) { console.error('WX SDK init failed', e); }