日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

get request uni 参数_uni-app 环境配置,uni.request封装,接口配置,全局配置,接口调用的封装...

發布時間:2024/10/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 get request uni 参数_uni-app 环境配置,uni.request封装,接口配置,全局配置,接口调用的封装... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.環境配置 (可參考uni-官網的環境配置)

common文件夾下新建config.js

let url_config = ""

if(process.env.NODE_ENV === 'development'){//開發環境

url_config = 'https://*****.com/'}else{//生產環境

url_config = 'https://*****.com/'}

exportdefault url_config

2.uni.request封裝

common文件夾下新建request.js

import urlConfig from './config.js'

const request ={}const headers ={}const PORT1 = '/baseinfo'request.globalRequest= (url, method, data, power) =>{/*權限判斷 因為有的接口請求頭可能需要添加的參數不一樣,所以這里做了區分

1 == 不通過access_token校驗的接口

2 == 文件下載接口列表

3 == 驗證碼登錄*/

switch(power){case 1:

headers['Authorization'] = 'Basic a3N1ZGk6a3N1ZGk='

break;case 2:

headers['Authorization'] = 'Basic a3N1ZGlfcGM6a3N1ZGlfcGM='

break;case 3:

responseType= 'blob'

break;default:

headers['Authorization'] =`Bearer ${this.$store.getters.userInfo

}`

headers['TENANT-ID'] = this.$store.getters.userInfo.tenant_idbreak;

}returnuni.request({

url: urlConfig+url,

method,

data: data,

dataType:'json',

header: headers

}).then(res=>{if (res[1].data.status && res[1].data.code == 200) {return res[1]

}else{throw res[1].data

}

}).catch(parmas => {

switch (parmas.code) {

case 401:

uni.clearStorageSync()

break

default:

uni.showToast({

title: parmas.message,

icon: 'none'

})

return Promise.reject()

break

}

})

}

exportdefault request

3.接口配置

項目根目錄下新建api文件,api下新建index.js

import request from '@/common/request.js'import { formatGetUri }from '@/common/util.js'

const api ={}const PORT1 = 'baseinfo'

//POST請求方式

api.register = params => request.globalRequest(`${PORT1}/mobile/signUp`, 'POST//必須大寫,為了兼容其他應用', params, 1)

// GET請求方式api.register = params => request.globalRequest(`${PORT1}/mobile/signUp${formatGetUri(params)}`, 'GET //必須大寫,為了兼容其他應用',{}, 1)

exportdefault api

4. 新建common/util.js

/**

* 拼接對象為請求字符串

* 對于需要編碼的文本(比如說中文)我們要進行編碼

* @param {Object} obj - 待拼接的對象

* @returns {string} - 拼接成的請求字符串

**/

export function formatGetUri(obj) {

const params = []

Object.keys(obj).forEach((key) => {

let value = obj[key]

if (typeof value !== 'undefined' || value !== null) {

params.push([key, encodeURIComponent(value)].join('='))

}

})

return '?' + params.join('&')

}

5.全局配置

在main.js中新增

import Vue from 'vue'import Appfrom './App'import storefrom './store' // 與vue項目中配置相同,可自行配置import requestfrom './common/request.js'import apifrom './api/index.js'import urlfrom './common/config.js'Vue.config.productionTip= falseVue.prototype.$request=request

Vue.prototype.$api=api

Vue.prototype.$url=url

App.mpType= 'app'

const app = newVue({

...App,

store

})

app.$mount()

5.接口調用

this.$api.register({mobile: this.mobile}).then(res =>{//獲得數據

console.log(res)

}).catch(res => {

// 失敗進行的操作})

6.推薦

在uni-app擴展組件中找到了一個封裝的案例,大家如果覺得可以的話,可試用

總結

以上是生活随笔為你收集整理的get request uni 参数_uni-app 环境配置,uni.request封装,接口配置,全局配置,接口调用的封装...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。