企业微信JsAPI fail_permission denied一例解决方案


这个问题很奇怪,所有的签名数据都正确,通过控制台一模一样的数据,可能上一次还好好的,下一次可能就jsapi调用错误

function wxpageinit(app_id, Timestamp, Nonce_str, sign) {
    wx.config({
        beta: true,
        debug: false,
        appId: app_id,
        timestamp: Timestamp,
        nonceStr: Nonce_str,
        signature: sign,
        jsApiList: ["checkJsApi", "chooseImage", "previewImage", "uploadImage", "downloadImage", "getNetworkType", "onHistoryBack", "selectEnterpriseContact", ]
    });
    wx.ready(function () {
        try {
            wx.onHistoryBack(function () {
                return historyreturn();
            })
        } catch (e) { }
    })
}
function setwxsign() {
    $.ajax({
        url: "/xxxxxxx.action?v=1",//后台签名
        type: "GET",
        data: {},
        contentType: "text/plain; charset=utf-8",
        dataType: "json",
        success: function (p_datas) {
            if (p_datas == null | p_datas.length == 0) {
                return;
            }
            if (p_datas[0].result != "success") {
                return;
            }
            try {
                data = p_datas[0];
                if (data != undefined) {
                    setTimeout("wxpageinit(data.app_id, data.timestamp, data.nonceStr, data.sign);", 1000 );
                }
            }
            catch (e) { alert(e.Message);
            }
        },
        fail: function (p_error) {
        }
    })
}
try {
    $(function () {
        setwxsign();});
} catch (e) {
}

注意红色部分,增加一个延时再出现fail_permission denied的几率少了很多。请忽略代码风格,公司的老传家代码。

可能原因:

1.本地js未加载前执行了wx.config导致,但是并没有报wx.config错误,而且wx.ready正常

2.可能是企业微信服务器的问题,(自从企业微信上线通讯录组件替换后才出现该问题),之前的管理员缓存问题至今好像还未解决。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM