index.html
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<!-- built files will be auto injected -->
</body>
验证:
import request from '../utils/request';
const wx = window.wx;
console.log(wx);
const getTicket = new Promise((resolve, reject) => {
request({
url: "/cgi-bin/get_jsapi_ticket",
params: {
//这里token应由后台传入,暂时直接通过微信测试工具中获取
access_token: "3vMzqYlv490IbivsiQ_tiZCWqxquBGQh9J9k"
},
})
.then(res => {
console.log(res);
let noncestr = randomString(17);
let timestamp = Date.parse(new Date()) / 1000;
let url = window.location.href.split('#')[0];
let params = {
"jsapi_ticket": res.ticket,
"noncestr": noncestr,
"timestamp": timestamp,
"url": url
};
let signstr = "";
for (let item in params) {
signstr += item + "=" + params[item] + "&"
}
signstr = signstr.substr(0, signstr.length - 1);
wx.config({
beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'ww95df8ed1e05152f2', // 必填,企业微信的corpID
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: noncestr, // 必填,生成签名的随机串
signature: sha1(signstr), // 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: ["selectEnterpriseContact"] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});
wx.ready(function() {
resolve(wx);
});
wx.error(res => {
console.log(res);
reject(res);
// console.log("微信注册失败:" + res);
});
})
});
调用选人接口:
<button @click="selectEnterpriseContact">选人</button>
mounted() {
this.initWxConfig();
},
methods: {
initWxConfig() {
wxConfig()
.then(res => {
this.wx = res;
}).catch(err => {
console.log(err);
})
},
selectEnterpriseContact() {
getPerson(this.wx, this.selectedDepartmentIds, this.selectedUserIds)
.then(res => {
console.log(res);
}).catch(err => {
console.log(err);
})
}
}
但是点击按钮之后完全没有反应,也不报错
仔细检查一下,应该是哪里有问题