编程问答
get request uni 参数-凯发ag旗舰厅登录网址下载
1.环境配置 (可参考uni-凯发ag旗舰厅登录网址下载官网的环境配置)
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扩展组件中找到了一个封装的案例,大家如果觉得可以的话,可试用
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的get request uni 参数_uni-app 环境配置,uni.request封装,接口配置,全局配置,接口调用的封装...的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇: vue 自己写上传excel组件_vue
- 下一篇: