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); }