原文链接:https://blog.csdn.net/panda_in5/article/details/102477960
粗暴点!
这里直接上代码!
引入js:
functionaddWxInvoiceBtn(){
console.info("here is addWxInvoiceBtn()!");
varappId =$("#appId").val();
vartimestamp =$("#timestamp").val();
varnonceStr= $("#nonceStr").val();
varsignature = $("#signature").val();
console.info("appId"+ appId);
wx.config({
beta:true,//用于方法未对外公开的情况
"debug":true,//true 用于调试
"appId": appId,
"timestamp": timestamp,
"nonceStr": nonceStr,
"signature": signature,
jsApiList: [
"chooseInvoiceTitle"
]
});
wx.ready(function(){
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
doReady();
});
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
console.info(JSON.stringify(res));
});
}
functiondoReady(){
console.info(" here is get wx invoice title!");
wx.invoke('chooseInvoiceTitle', {
"scene":"1"
},function(res){
// 这里处理调用结果X``
console.info("res:"+ res);
console.info("JSON.stringify(res):"+JSON.stringify(res));
varinfo =JSON.parse(JSON.stringify(res)).choose_invoice_title_info;
varinfoJ =JSON.parse(JSON.parse(JSON.stringify(info)));
console.info("infoJ:"+ infoJ);
// alert(res.err_msg + res.choose_invoice_title_info)
alert("税号:"+ infoJ.taxNumber +"抬头:"+ infoJ.title);
vartaxNumber = info.taxNumber;
vartitle = info.title;
vartype = info.type;
console.log(res);
})
}
参考链接:
微信js-sdk