uni-app项目中uni.request封装和使用

uni-app项目中uni.request封装和使用

在开发的时候,经常会用到前端请求后端接口,每次的请求都会出现地址不一样,参数不一样,方式不一样等等情况。那么我们这时候就有必要来对请求进行一次封装
  1. 创建untils文件夹,并在文件夹下创建一个js文件,如下图所示:

在这里插入图片描述

  1. 封装请求,代码如下
const BASE_URL = "http://127.0.0.1:8080/"; //开发时使用本地接口,在上线时只需要修改此处接口为线上地址即可
/**
 * @description 封装uni.request请求
 * @param url {String} 请求方法名
 * @param data {Object}  请求参数,可为空
 * @param method {String} 请求类型POST|GET
 * @param dataType {String} 请求数据类型
 * @param header {Object} 请求信息头
 */
const request = (url, data = {}, method = "POST", dataType = "json", header = {}) => {
	return new Promise((resolve, reject) => {
		uni.request({
			url: BASE_URL + url,
			method: methods,
			data: data,
			dataType: dataType,
			header: header
		}).then((response) => {
			setTimeout(function() {
				uni.hideLoading();
			}, 200);
			let [error, res] = response;
			resolve(res.data);
		}).catch(error => {
			let [err, res] = error;
			reject(err)
		})
	});
}
export default request


3.引用,将下面两句写入main.js中,这样在后面的页面中就可以直接调用了

import request from './utils/api.js';
Vue.prototype.$request=request;

整体的main.js如下


// #ifndef VUE3
import Vue from 'vue'
import App from './App'
import request from './utils/api.js';
Vue.prototype.$request=request;

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif

4.使用
url必填,其他参数可填

//异步
			login() {
				let params={};
				params.username="123";
				params.password="456";
				this.$request("login",params,"POST").then(res => {
					console.log(res);
				}, err => {
					console.error(err)
				});
			},
			//同步
			async login(){
				let params={};
				params.username="123";
				params.password="456";
				const res=this.$request("login",params,"POST");
				console.log(res);
			}
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jsrdweiting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值