一、通过拼接地址重定向的方式授权获取code
- 拼接地址参数:
redirect_uri:重定向地址。(注:重定向地址需要使用 urlEncode 对链接进行处理)
appId:公众号的唯一标识。
scope:授权方式。(注:snsapi_base (静默授权),snsapi_userinfo (弹出授权页面))
response_type:返回类型,请填写code。(写死即可)
#wechat_redirect:无论直接打开还是做页面302重定向时候,必须带此参数。 - 拼接列子:
如果静默授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE
let url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${urlNow}&response_type=code&scope=${scope}&state=STATE&connect_redirect=1#wechat_redirect`;
window.location.replace(url);
- 截取code值
二、把code值传给后台,后台返回用户userId
三、使用JSAPI 调起收银台
WeixinJSBridge.invoke('getBrandWCPayRequest', {
"appId": "wx2421b1c4370ec43b",
"timeStamp": "1395712654",
"nonceStr": "e61463f8efa94090b1f366cccfbbb444",
"package": "prepay_id=up_wx21201855730335ac86f8c43d1889123400",
"signType": "RSA",
"paySign": "oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ\/X+QBhcCYL21N7cHCTUxbQ+EAt6Uy+lwSN22f5YZvI45MLko8Pfso0jm46v5hqcVwrk6uddkGuT+Cdvu4WBqDzaDjnNa5UK3GfE1Wfl2gHxIIY5lLdUgWFts17D4WuolLLkiFZV+JSHMvH7eaLdT9N5GBovBwu5yYKUR7skR8Fu+LozcSqQixnlEZUfyE55feLOQTUYzLmR9pNtPbPsu6WVhbNHMS3Ss2+AehHvz+n64GDmXxbX++IOBvm2olHu3PsOUGRwhudhVf7UcGcunXt8cqNjKNqZLhLw4jq\/xDg==" //微信签名
},
function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
}
});
}
在微信浏览器中可以直接调用WeixinJSBridge.invoke API