/**
* @file 微信JS-SDK封装
*/
import apis from '../common/apis'
import query from '../common/query'
import axios from '../plugins/axios'
import loadScript from '../utils/load-script'
import { isWeChat, isAndroidWeChat, isIOSWeChat, encodeSearchParams } from './'
import track from 'common/sa'
const location = global.location
const REGEXP_SUCCESS = /^\w+:ok$/i
/**
* 获取当前页面URL(去除hash)
* @returns {string} 页面URL
*/
function getCurrentURL() {
return location.href.split('#')[0]
}
export default {
jWeixin: null,
promise: null,
signature: null,
url: '',
/**
* 微信JS-SDK初始化
* @returns {Promise} Promise实例
*/
init() {
if (!this.promise) {
this.promise = new Promise((resolve, reject) => {
if (!isWeChat()) {
reject('请在微信中打开当前页面')
return
}
Promise.all([
this.initScript(),
this.initSignature(),
]).then(([jWeixin, signature]) => {
jWeixin.config({
appId: signature.appId,
timestamp: signature.timestamp,
nonceStr: signature.nonceStr,
signature: signature.signature,
jsApiList: [
'showMenuItems',
'hideMenuItems',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'onMenuShareQZone',
'chooseWXPay',
'addCard',
'closeWindow',
]
微信jssdk封装
最新推荐文章于 2024-07-04 12:11:02 发布
本文详细介绍了如何对微信JS-SDK进行封装,包括配置、获取access_token、设置签名等关键步骤,助你轻松实现微信分享、支付等功能。
摘要由CSDN通过智能技术生成