我程序生成的签名和微信文档验证签名已经验证过 是一模一样的代码:
wx.config({
                    debug: true,
                    appId: "{$signPackage['appId']}",
                    timestamp: "{$signPackage['timestamp']}",
                    nonceStr: "{$signPackage['nonceStr']}",
                    signature: "{$signPackage['signature']}",
                    jsApiList: [
                            'addCard'
                            ]
                });

var timestamp="<?php echo $sign['timestamp'];?>";
var signature="<?php echo $sign['signature'];?>";
var nonceStr="<?php echo $sign['nonceStr'];?>";
var cardId="<?php echo $sign['card_id'];?>";


            wx.ready(function(){
                                //添加卡券
                //document.querySelector('#addCard').onclick = function () {
                    wx.addCard({
                      cardList: [{
                          cardId: cardId,
                          cardExt: '{"timestamp":"'+ timestamp +'","signature":"'+ signature +'","nonce_str":"'+ nonceStr +'"}',
}],
                      success: function (res) {
                        alert('已添加卡券:' + JSON.stringify(res.cardList));
                      }
                    });
                //};
            });