网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網(wǎng)

微信小程序api封裝經(jīng)驗(yàn)

發(fā)布時(shí)間:2020-05-19 10:19 所屬欄目:小程序開發(fā)教程

寫多 之后,吸取之前的經(jīng)驗(yàn),瞎寫了一個(gè)簡單的封裝api,有幸看到的朋友,就隨便看看哈,如果能給到你幫助就一直棒了,額呵呵呵!

  • 新建constant.js和api.js文件

    

 

 

  • 在constant.js中統(tǒng)一定義ip地址

    

 

 

  • api.js文件

   對(duì)應(yīng)的返回狀態(tài)碼要根據(jù)怎么公司的返回碼的規(guī)定改了哈

復(fù)制代碼
let CONSTANT = require('./constant')
    // 從本地存儲(chǔ)Storage中獲取token值
function getToken() {
    return wx.getStorageSync(CONSTANT.TOKEN);
}

// 創(chuàng)建請(qǐng)求頭header的內(nèi)容
function buildHeaders(isJson) {
    let headers = {
        "Content-Type": isJson ? 'application/json' : "application/x-www-form-urlencoded",
        "version": CONSTANT.MINI_VERSION,
    };
    const token = getToken();
    if (token) {
        headers["token"] = token;
    }
    return headers;
}

// 發(fā)起 HTTPS 網(wǎng)絡(luò)請(qǐng)求。
let baseURL = CONSTANT.API_URL;

function fetchApi(baseURL, url, params, method, isJson) {
    // wx.getNetworkType判斷網(wǎng)路類型。eg:wifi、2g、3g...;none值表示無網(wǎng)路
    wx.getNetworkType({
        success: function(res) {
            // &&表示“并”"none" === e.networkType如果為真,才會(huì)去執(zhí)行&&后面的內(nèi)容,否則不執(zhí)行
            "none" === res.networkType && (wx.hideLoading(), wx.showModal({
                title: "提示",
                content: "當(dāng)前無網(wǎng)絡(luò),請(qǐng)檢查網(wǎng)絡(luò)設(shè)置后重新加載",
                showCancel: false
            }));
        }
    });
    return new Promise((resolve, reject) => {
        wx.request({
            url: `${baseURL}${url}`,
            method: method,
            header: buildHeaders(isJson),
            data: params,
            success: function(res) {
                // 成功返回statusCode參數(shù)表示開發(fā)者服務(wù)器返回的 HTTP 狀態(tài)碼
                // 統(tǒng)一攔截提示錯(cuò)誤
                // var o = res.statusCode;
                // if (o !== 200 && [21020000, 41020001, 41020003, 21020002].indexOf(res.data.status) == -1) {
                //     wx.hideLoading();
                //     wx.showModal({
                //         title: "提示",
                //         content: res.data.msg
                //     });
                //     return;
                // } 2020.3.9
                // 41020001表示未登錄那就要去拿code值
                // 21020002表示登錄超時(shí)
                // 并重新請(qǐng)求獲取token值
                if (41020001 == res.data.status || 21020002 === res.data.status) {
                    wx.login({
                        success: res => {
                            wx.request({
                                url: baseURL + "/api/user/login",
                                method: "GET",
                                header: {
                                    "token": "",
                                    "version": CONSTANT.MINI_VERSION,
                                },
                                data: {
                                    code: res.code,
                                },
                                success: function(res) {
                                    wx.removeStorageSync(CONSTANT.TOKEN);
                                    if (21020000 === res.data.status) {
                                        wx.setStorageSync(CONSTANT.TOKEN, res.data.data);
                                        console.log("already refresh token");
                                        fetchApi(url, url, params, method);
                                    }
                                }
                            });
                        }
                    });
                }
                // 41020003表示未授權(quán)了直接跳轉(zhuǎn)到授權(quán)頁(請(qǐng)求授權(quán)獲取用戶信息)
                else if (41020003 == res.data.status) {
                    wx.redirectTo({
                        url: "/pages/accredit/accredit"
                    });
                } else {
                    resolve(res.data);
                }
            },
            fail: function(res) {
                reject(res.data);
                console.log("network fail.", res);
            },
            complete: function(res) {
                reject(res.data);
                // console.log('complete', res);
            }
        });
    });
};
module.exports = {
    // 首頁
    getIndex(params) {
        return fetchApi(baseURL, '/api/index', params, 'GET');
    },
}
復(fù)制代碼
  • 引用

  在需要的頁面引用,也可以只引用你需要的那一個(gè)方法也行的額  

  

api.getIndex().then(res => {
  ......
    //那到返回值之后要執(zhí)行的內(nèi)容
}

哈哈哈,完了


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/25219.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢
AI智能客服 ×