企业微信 侧边栏开发经验
1. 企业微信如何开启调试模式
1.1 企业微信Mac版本调试
按下command+shift+control+D进入调试模式
1.2 Mac打开调试模式
帮助->开发调试选项->开启webView元素审查
1.3 内置浏览器右键
2. 如何监听js加载完成
html.js
function setScript(url, cb) {
var callback = cb || new Function();
var script = document.createElement('script');
if (script.addEventListener) {
script.addEventListener('load', callback, false);
} else if (script.attachEvent) {
script.attachEvent('onreadystatechange', function() {
var target = window.event.srcElement;
if (
target.readyState == 'loaded' ||
target.readyState == 'complete'
) {
callback.call(target);
}
});
}
document.getElementsByTagName('head')[0].appendChild(script);
script.src = url;
}
var loaded = new Promise(function(res) {
setScript(
'//res.wx.qq.com/open/js/jweixin-1.2.0.js',
function() {
res();
}
);
});
var componentsLoaded = new Promise(function(res) {
setScript(
'//open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js',
function() {
res();
}
);
});
window.$QyWxPromise = Promise.all([loaded, componentsLoaded]);
需要使用页面
await window.$QyWxPromise;
直通车
3. 从企业微信3.0.24及以后版本(可通过企业微信UA判断版本号),无须先调用wx.config,可直接wx.agentConfig.4. 电脑能正常访问,手机端访问提示wx.agentConfig undefined
轮询判断wx.agentConfig不为undefined往下执行
const t = setInterval(() => {
const status = window.wx.agentConfig;
if (status) {
wx.agentConfig({
corpid: result.corp_id, // 必填,企业微信的corpid,必须与当前登录的企业一致
agentid: result.agent_id, // 必填,企业微信的应用id (e.g. 1000247)
timestamp: result.timestamp, // 必填,生成签名的时间戳
nonceStr: result.nonceStr, // 必填,生成签名的随机串
signature: result.agent_signature, // 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList,
success: function(res: any) {
clearInterval(t);
resolve(res);
},
fail: function(res: any) {
clearInterval(t);
Toast({ position: 'top', message: 'wx.agentConfig fail' });
reject(res);
if (res.errMsg.indexOf('function not exist') > -1) {
alert('版本过低请升级');
}
},
});
}
}, 100);
5. invoke 提示 no permission
检查企业微信后台是否配置了相应的权限