前端開發(fā):
首先不能用ajax去請(qǐng)求微信授權(quán)接口(https://****/test/api/wx/wxLogin)
需要通過條件判斷來進(jìn)行跳轉(zhuǎn)
微信授權(quán):
$.ajax({
? ? type: "get",
? ? url:? "https://****/test/api/wx/getUserInfo",? //用戶信息
? ? data: {},
? ? dataType: "json",
? ? success: function (result) {
? ? ? ? if(result.errno!=0){
? ? ? ? ? ? window.location.href = "https://****/test/api/wx/wxLogin"? //授權(quán)登錄
? ? ? ? }else{
? ? ? ? ? ? id=result.data.id
? ? ? ? }
? ? },
? ? error: function (result) {
//? ? ? ? ? ? ? ? alert(result);
? ? }
});
微信分享:
// 分享
var appid;
var timestamp;
var noncestr;
var signature;
var shareData = {
? ? title:'1111' ,? 標(biāo)題
? ? desc: '2323',? //描述
? ? link : "https://*******/test/friend.html",? //跳轉(zhuǎn)的鏈接
? ? ?imgUrl: '', //縮略圖
? ? success: function(){
? ? }
};
$.ajax({
? ? type:"get",
? ? url:"https://****/test/api/wx/share",
? ? data:{},
? ? dataType:"json",
? ? success:function(result){
? ? ? ? //console.log(result);
? ? ? ? appid = result.appId;
? ? ? ? timestamp = result.timestamp;
? ? ? ? noncestr = result.nonceStr;
? ? ? ? signature = result.signature;
? ? ? ? wx.config({
? ? ? ? ? ? debug: false,
? ? ? ? ? ? appId: appid,
? ? ? ? ? ? timestamp: timestamp,
? ? ? ? ? ? nonceStr: noncestr,
? ? ? ? ? ? signature: signature,
? ? ? ? ? ? jsApiList: [
? ? ? ? ? ? ? ? 'checkJsApi',
? ? ? ? ? ? ? ? 'onMenuShareTimeline',
? ? ? ? ? ? ? ? 'onMenuShareAppMessage',
? ? ? ? ? ? ? ? 'onMenuShareQQ',
? ? ? ? ? ? ? ? 'onMenuShareWeibo',
? ? ? ? ? ? ? ? 'hideMenuItems',
? ? ? ? ? ? ? ? 'showMenuItems',
? ? ? ? ? ? ? ? 'hideAllNonBaseMenuItem',
? ? ? ? ? ? ? ? 'showAllNonBaseMenuItem',
? ? ? ? ? ? ? ? 'translateVoice',
? ? ? ? ? ? ? ? 'startRecord',
? ? ? ? ? ? ? ? 'stopRecord',
? ? ? ? ? ? ? ? 'onRecordEnd',
? ? ? ? ? ? ? ? 'playVoice',
? ? ? ? ? ? ? ? 'pauseVoice',
? ? ? ? ? ? ? ? 'stopVoice',
? ? ? ? ? ? ? ? 'uploadVoice',
? ? ? ? ? ? ? ? 'downloadVoice',
? ? ? ? ? ? ? ? 'chooseImage',
? ? ? ? ? ? ? ? 'previewImage',
? ? ? ? ? ? ? ? 'uploadImage',
? ? ? ? ? ? ? ? 'downloadImage',
? ? ? ? ? ? ? ? 'getNetworkType',
? ? ? ? ? ? ? ? 'openLocation',
? ? ? ? ? ? ? ? 'getLocation',
? ? ? ? ? ? ? ? 'hideOptionMenu',
? ? ? ? ? ? ? ? 'showOptionMenu',
? ? ? ? ? ? ? ? 'closeWindow',
? ? ? ? ? ? ? ? 'scanQRCode',
? ? ? ? ? ? ? ? 'chooseWXPay',
? ? ? ? ? ? ? ? 'openProductSpecificView',
? ? ? ? ? ? ? ? 'addCard',
? ? ? ? ? ? ? ? 'chooseCard',
? ? ? ? ? ? ? ? 'openCard'
? ? ? ? ? ? ]
? ? ? ? });
? ? ? ? wx.ready(function () {
? ? ? ? ? ? wx.onMenuShareAppMessage(shareData);
? ? ? ? ? ? wx.onMenuShareTimeline(shareData);
? ? ? ? });
? ? ? ? wx.error(function (res) {
? ? ? ? ? ? alert(res.errMsg);
? ? ? ? });
? ? }
});
用戶同意授權(quán)后
如果用戶同意授權(quán)锈锤,頁面將跳轉(zhuǎn)至 redirect_uri/?code=CODE&state=STATE劈狐。若用戶禁止授權(quán)孕蝉,則重定向后不會(huì)帶上code參數(shù)疏叨,
僅會(huì)帶上state參數(shù)redirect_uri?state=STATE
code說明?:?code作為換取access_token的票據(jù),每次用戶授權(quán)帶上的code將不一樣芒划,code只能使用一次冬竟,5分鐘未被使用自動(dòng)過期。