1. 程式人生 > 實用技巧 >uniapp請求方法的封裝

uniapp請求方法的封裝

之前在接觸uniapp做小程式專案時候,因為不太熟悉,遇到了不少尷尬的時刻,請求方法的封裝算是靈魂啊有木有,今天看到有人問題,就把我自己寫的發出來讓大家參考一下吧。

請求方法的封裝我一般用的是promise+axios,因為uniapp有自己規定的請求方式,只好結合著來了。話不多說,直奔主題。

export const baseUrl = '您的域名'
function getHeaders () { let token = getToken() let header = { "token":token,// 'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }return header } export default{ get(url,param){ return new Promise((resolve,reject) =>{ uni.request({ method:'GET', url: baseUrl+url, data: param, header:getHeaders() }).then(res
=>{ switch (res[1].data.code) { case 200: resolve(res[1]) break case 400: resolve(res[1]) break case 401: resolve(res[1])
break default: reject(res) } }).catch( (response) => { reject(response) } ) }) }, post(url,param){ return new Promise((resolve,reject) =>{ uni.request({ method:'POST', url: baseUrl+url, data: param, header:getHeaders() }).then(res=>{ switch (res[1].data.code) { case 200: resolve(res[1]) break case 400: resolve(res[1]) break case 401: resolve(res[1]) break default: reject(res) } }).catch( (response) => { reject(response) } ) }) }, }

補一個getToken(手動無奈:))

export function getToken () {
    try {
        const token = uni.getStorageSync('Token');
        if (token) {
            return token
        }else{
            return ''
        }
    } catch (e) {
        console.log(e)
    }
}

方法定義好了,下面是實戰引入了,

import request from '../../units/request.js'  在你需要的頁面引入

request.post("/example/list", {
                   currPage:this.page,
                   pageSize:this.limit,
                })
                .then(response => {
                   
                    }
                })
                .catch(ex => {
                   
                }); 

大概就是這樣,內容有刪減,目的是讓大家看著幹練,如有疑惑評論就好