import api from "@/api/index.js"; export default { async init(jsApiList, openTagList) { try { const jWeixin = require('@/static/h5/jweixin-sdk'); let url = window.location.href.split("#")[0]; if (process.env.NODE_ENV == 'development') url = 'https://saasdemo.byin.vip/pageh5' const configData = await getConfigData(url);; try { return await new Promise(res => { configureWeChat(jWeixin, configData, jsApiList, openTagList, res) }) } catch (error) { console.log(error); } } catch (error) { console.error('初始化错误:', error); throw error; } } } async function getConfigData(url) { // 从后端API获取微信H5相关信息 const res = await api.common.wechatH5({ url, is_page: 1 }); console.log({ res }); // 实现获取 wechatConfig 数据的逻辑 return { app_id: res.data.appid, timestamp: res.data.timestamp, noncestr: res.data.noncestr, signature: res.data.signature, } } function configureWeChat(jWeixin, configData, jsApiList, openTagList, res) { jWeixin.config({ debug: false, appId: configData.app_id, // 必填,公众号的唯一标识 timestamp: configData.timestamp, // 必填,生成签名的时间戳 nonceStr: configData.noncestr, // 必填,生成签名的随机串 signature: configData.signature, // 必填,签名 jsApiList: jsApiList, openTagList: openTagList }); jWeixin.ready(() => { // 处理初始化成功 res(jWeixin) }); jWeixin.error((err) => { console.log('jWeixin 错误:', err); // 处理初始化错误 }); }