uniapp封装request

uniapp封装uni.request

1.根目录新建api文件夹

在这里插入图片描述

2.config.js
let url 

// 开发环境中 
if(process.env.NODE_ENV == "development"){ 
	url = "https://XXXX"     
}else{
	// 生产环境中
	url = "https://XXXX"
}

export default {
	url
}
3.http.js
import config from "./config.js"

let http = (options) => {
	let p = new Promise((resolve, reject) => {
		uni.request({
			method: options.method || "GET",
			url: config.url + options.url,
			data: options.data || {},
			timeout:8000,
			header: options.headers || {
				"content-type": "application/json",
				 Authorization: 'Bearer ' + uni.getStorageSync('token')  //请求头添加token
			},
			success(rst) {  
				if(rst.data.code != 0){
					uni.showModal({
						title: '错误信息:' + rst.data.msg,
						showCancel: false
					})  
				}
				resolve([null, rst])
			},
			fail(err) { 
					uni.showModal({
						title: '错误信息:' + err.msg,
						showCancel: false
					})  
				resolve([err, null])
			}
		})
	})
	return p
}

export default http

4.api.js
import http from './http.js';

//get请求 
let getInfo = () => {
	let option = {
		url: '/goods'
	} 
	return http(option)
}

//post请求
let getxd = (data) => { 
	let option = {
		method: 'POST',
		url: '/scancodeorder',
		data: data,
		headers: {
			"Content-Type": "application/x-www-form-urlencoded" //加上请求头传在form-data中
		},
	}
	return http(option)
}


export default {
	getInfo ,
	getxd 
}

5.使用

main.js中注册全局api

// 全局注册api
import api from '@/api/api.js'
Vue.prototype.$api = api


//页面中使用
async getInfo() { 
	// 货物信息
 	let [err, data] = await this.$api.getInfo() 
	let huowuname = data.data.data.list 
 	huowuname.map(item => {
		this.huowulist.push(item.name)
		this.InOutTypelist.push(item.inouttype)
	})
 },

async onsubmit() { 
	 let GoodsName = this.huowuvalue //货物名称 
	 let datas = {
		 GoodsName, //扫码商品 
	 } 
	 //  遍历空的值的时候不传递查询
	 for (let key in datas) {
		 if (datas[key] == '') {
			 delete datas[key]
		 }
	 } 
	 let [err, data] = await this.$api.getxd(datas)  	 
	 if (data.data.code == 0) {
		  uni.showToast({
			 title: '下单成功'
		 })
		 this.huowuvalue = ''
	 }  
 },


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值