uniapp請求方法的封裝
阿新 • • 發佈:2020-08-27
之前在接觸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 => { });
大概就是這樣,內容有刪減,目的是讓大家看著幹練,如有疑惑評論就好