出现的错误显示签名失败,使用的是leancloud javascript SDK,弄了很久不知道失败的原因在哪里

var signs=getSign(0);
console.log(signs);
var signatureFactory=function (clientId){
    var signatureResult = {
        signature:signs.sign,
        timestamp:signs.timestamp,
        nonce:signs.nonce
    };
    return signatureResult;
};


var conSign=getSign(1);
var conversationSignatureFactory=function(clientId) {
    var signatureResult = {
        signature:conSign.sign,
        timestamp:conSign.timestamp,
        nonce:conSign.nonce
    };
    return signatureResult;
};


realtime.createIMClient(clientId, {
  signatureFactory: signatureFactory,
  conversationSignatureFactory:conversationSignatureFactory
}).then(function(conversation) {
  alert("a");
}).catch(function(error) {
  // 如果 signatureFactory 抛出了异常,或者签名没有验证通过,会在这里被捕获
    console.log(error);
});

从你的代码上看 signs 似乎是一次性生成的?这不太对。

签名的机制是通过你的服务器根据不同的 clientId 使用一个非公开的密钥来生成不同的签名,来达到鉴权的目的。

问题已经解决了,signs是通过自己的服务器获取的,我在createIMClient的时候clientId有问题,需要一个token经过MD5加密的字符串