fix: 修复扫一扫登录
All checks were successful
构建并部署前端到生产环境 / build-and-deploy (push) Successful in 51s

This commit is contained in:
sexygoat
2026-04-17 09:40:34 +08:00
parent 263515758c
commit b3c925b0ca
3 changed files with 28 additions and 18 deletions

View File

@@ -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';
export { walletApi } from './modules/wallet.js';
export { wechatApi } from './modules/wechat.js';

11
api/modules/wechat.js Normal file
View File

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

View File

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