.NET開發微信小程序-獲取OpenId

注:獲取當前用戶信息只須要用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

相關文章
相關標籤/搜索