注:獲取當前用戶信息只須要用GetUserInfo這個方法就行。這裏就不須要提了前端
前端代碼:json
CallBack:回調函數
function GetOpenID(CallBack){ var appInstance = getApp() var url = appInstance.globalData.apiurl url +="Weixin/GetOpenID" wx.login({ success: function (loginCode) { wx.request({ url: url, data: { loginCode: loginCode.code }, header: { 'content-type': 'application/json' }, success: function (res) { var obj=res.data.data obj=JSON.parse(obj) CallBack(obj.openid) }, complete: function (res) { //console.log("結果:" + JSON.stringify(res)) } }) } }) }
後臺代碼:小程序
(目前我是使用的MVC框架)api
/// <summary> /// 獲取openID /// </summary> /// <param name="loginCode">小程序登陸返回的code</param> /// <param name="model">小程序Model</param> /// <returns></returns> public static string GetOpenID(string loginCode, WxConfigModel model) { string url = "https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&grant_type=authorization_code&js_code={2}"; url = string.Format(url, model.config.AppId, model.config.AppSecret, loginCode); return Request.GetWebRequest(url); }
相應的WxConfigModel和GetWebRequest方法在以前的博客寫道,能夠直接調用;session
這裏目前返回的是一個字符串。因此須要在前端再進行一次JSON.parse(obj).app