国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解微信小程序的 request 封裝示例

2019-11-19 13:12:17
字體:
供稿:網(wǎng)友

背景

之前小程序代碼混亂,所以新項目一開始就準(zhǔn)備弄個微信小程序的 request 的封裝

httpUtils.js

const request = function (path, method, data, header) { let user_id = ""; let token = ""; try {  user_id = wx.getStorageSync(USER_ID_KEY);  token = wx.getStorageSync(TOKEN_KEY); } catch (e) {} header = header || {}; let cookie = []; cookie.push("USERID=" + user_id); cookie.push("TOKEN=" + token); cookie.push("device=" + 1); cookie.push("app_name=" + 1); cookie.push("app_version=" + ENV_VERSION); cookie.push("channel=" + 1); header.cookie = cookie.join("; "); return new Promise((resolve, reject) => {  wx.request({//后臺請求   url: API_BASE_URL + path,   header: header,   method: method,   data: data,   success: function (res) {    if (res.code) {     reject(res.data)    } else {     resolve(res.data)    }   },   fail: function (res) {    reject("not data");   }  }); });};

userLogin.js

const login = function () { try {  wx.removeStorageSync(USER_ID_KEY);  wx.removeStorageSync(TOKEN_KEY) } catch (e) {} return new Promise((resolve, reject) => {  wx.login({   success: res => {    let code = res.code;    // 已經(jīng)授權(quán),可以直接調(diào)用 getUserInfo 獲取頭像昵稱,不會彈框    wx.getUserInfo({     withCredentials: true,     success: res => {      let userInfo = res.userInfo;      let name = userInfo.nickName;      let avatar = userInfo.avatarUrl;      let sex = userInfo.gender;      let data = {       code: code,       encryptedData: res.encryptedData,       iv: res.iv,       name: name,       avatar: avatar,       sex: sex,       from: FROM,      };      request("/api/user_login/byWeChatApplet", "POST", data).then( (res)=>{       if (!res.code) {        try {         wx.setStorageSync(USER_ID_KEY, res.user_id);         wx.setStorageSync(TOKEN_KEY, res.token)        } catch (e) {         reject(JSON.stringify(e));        }       }       resolve(res)      }).catch( (errMsg)=>{       reject(errMsg)      });     },     fail: function (res) {      if (res.errMsg && res.errMsg.startsWith("getUserInfo:fail") && res.errMsg.search("unauthorized") !== -1) {       reject("getUserInfo:fail");       return;      }      wx.getSetting({       success: (res) => {        if (!res.authSetting["scope.userInfo"]) {//沒授權(quán)         showModal('提示', '需要獲取用戶的權(quán)限,點擊確定前往設(shè)置,打開用戶信息', true, function (res) {          wx.openSetting({           success: (res) => {            // 用戶返回 不管是否開啟 接著去重新登錄            login().then( (res)=>{             if (res.code) {              reject(res.message);              return             }             try {              wx.setStorageSync(USER_ID_KEY, res.user_id);              wx.setStorageSync(TOKEN_KEY, res.token)             } catch (e) {              reject(JSON.stringify(e));             }             resolve(res)            }).catch( (errMsg)=>{             reject(errMsg)            });           }          })         }, function () {})        }       }      });     }    })   }  }) });};

項目地址:https://github.com/lmxdawn/wxa-demo

一個 vue + thinkphp5.1 搭建的后臺管理:https://github.com/lmxdawn/vue-admin-html

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 九寨沟县| 乌苏市| 小金县| 罗田县| 海门市| 宜宾市| 封开县| 苏州市| 逊克县| 高清| 临邑县| 金平| 闽侯县| 双牌县| 莎车县| 济源市| 吴旗县| 宝坻区| 沙洋县| 镇巴县| 沅陵县| 固始县| 大邑县| 龙山县| 吉林省| 宣城市| 邢台县| 克拉玛依市| 综艺| 绿春县| 乌拉特前旗| 木兰县| 山阳县| 甘泉县| 乌兰浩特市| 襄樊市| 兴安盟| 海盐县| 武城县| 晋城| 高清|