在index.html页面引入
<script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.3.4/vconsole.min.js"></script>
<script>
var vConsole = new VConsole();
</script>
引入配置sdk.js文件
// import api from '@/config/api'
// import http from '@/axios/index'
import * as API from '../../utils/http/api';
/**
* 初始化js-sdk配置
* 同一个url仅需调用一次,对于变化url的SPA(single-page application)的web app可在每次url变化时进行调用
*/
export async function initAgentConfig () {
const jsApiList = ['closeWindow']
let res = await API.get('/_caagw/wxwork/getWxworkJSAPIConfig')
if (res.success) {
let resData = res.data
let wxOpts = {
beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: resData.corpId, // 必填,企业微信的corpID
timestamp: resData.timestamp, // 必填,生成签名的时间戳
nonceStr: resData.nonceStr, // 必填,生成签名的随机串
signature: resData.wxSign, // 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: jsApiList // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
}
let agentOpts = {
corpid: resData.corpId, // 必填,企业微信的corpid,必须与当前登录的企业一致
agentid: resData.agentId, // 必填,企业微信的应用id (e.g. 1000247)
timestamp: resData.timestamp, // 必填,生成签名的时间戳
nonceStr: resData.nonceStr, // 必填,生成签名的随机串
signature: resData.agentSign, // 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList: jsApiList // 必填
}
if (/MicroMessenger/i.test(navigator.userAgent)) {
await wxConfig(wxOpts).catch(() => {})
}
await wxAgentConfig(agentOpts).catch(() => {})
}
return !!window.WWOpenData
}
/**
* 调用 wx.config
* @param {Object} config
* @see https://open.work.weixin.qq.com/api/doc/90001/90144/90547
*/
export function wxConfig (config) {
return new Promise((resolve, reject) => {
wx.config(config)
wx.ready(resolve)
wx.error(reject)
}).then(() => {
console.info('wx.ready')
}, error => {
console.error('wx.error', error)
throw error
})
}
/**
* 调用 wx.agentConfig
* @param {Object} config
* @see https://open.work.weixin.qq.com/api/doc/90001/90144/90548
*/
export function wxAgentConfig (config) {
return new Promise((resolve, reject) => {
wx.agentConfig({ ...config, success: resolve, fail: reject })
}).then(res => {
console.info('wx.agentConfig success', res)
return res
}, error => {
console.error('wx.agentConfig fail', error)
throw error
})
}
3.在调用的地方引入sdk.js文件
import { initAgentConfig } from "../utils/wxworkSdk";
4.vue中引用
this.initAgentConfig()