1. 程式人生 > 其它 >uni-app介面封裝

uni-app介面封裝

1.新建 common和request.js

2.修改request.js

var commoneRequestUrl = 'http://192.168.168.168:8001' //介面統一訪問連結
//介面封裝
function request(data1) {
    // Promise 非同步程式設計的一種解決方案
    var promise = new Promise((resolve, reject) => {
        uni.request({
            url: commoneRequestUrl + data1.url, //拼接訪問介面完整地址
            //
url:data1.url,//不想拼接傳完整介面地址(不推薦,維護很麻煩) data: data1.data || {}, //向後端傳遞的資料(預設空物件{}) method: data1.method || 'GET', //介面型別(預設GET請求) header: { 'content-type': data1.type || 'application/json;charset=UTF-8', //內容型別(預設 application/json;charset=UTF-8)
//'Authorization': "Bearer " + uni.getStorageSync('user_token'),//新增請求頭(看後端需不需要) //'token': uni.getStorageSync('user_token'),//傳token(看後端需不需要) }, success: function(res) { console.log(res); //介面訪問成功 resolve(res.data); }, fail:
function(err) { console.log(err); //介面訪問失敗 reject(err); } }) }); return promise; } module.exports = request;

3. 全域性引用

修改 main.js

//全域性使用
import request from '@/common/request.js'
Vue.prototype.requestfz = request

頁面使用

this.requestfz({
    url: '/login', //介面一部分路徑
    data: {
        '賬號': '123456789',
        '密碼': '132',
    }, //需要傳的引數(不需要可以忽略,比如GET請求)
    method: 'POST', //請求方式 (GET請求可以忽略)
    //其他引數需要寫,不需要直接忽略
}).then(res1 => {
    //resolve()進入這裡
    console.log(res1);
}, err => {
    //reject()進入這裡
    console.log(err);
})