uni-app封装请求方法

一、封装uni-request

const Tips = (title) => {
	uni.showToast({
		title
	})
}
const baseURL = process.env.NODE_ENV === 'development' ? "/dev-api" : "https://www.xxx.cn";

export default async function request(params) {
	return new Promise((reslove, reject) => {
		if(params.loading) uni.showLoading();
		
		uni.request({
			url: baseURL+params.url,
			method: params.method,
			header: {
				'Content-Type': 'application/json',
				'Token': uni.getStorageSync('TOKEN')
			},
			data: params.data,
			complete: () => {
				if(params.loading) uni.hideLoading();
			},
			success: (res) => {
				if (res.statusCode == 200) {
					if(res.data.code == 200) {
						reslove(res.data);
					} else if(res.data.code == 401){
						return Tips('登录过期,请重新登录');
					} else {
						return Tips(res.data.msg);
					}
				} else {
					return Tips('网络异常,请稍后再试!');
				}
			},
			fail: (err) => {
				return Tips('连接失败,请稍后再试!');
			}
		})
	})
}

二、使用步骤

1.api.js

代码如下(示例):

import request from './request.js'

export function getUserInfo(uid) {
    return request({
        url: '/user/info',
        method: 'GET',
        data: {
            uid
        },
        loading: true, //是否开启loading动画
    })
}

2.页面引入

代码如下(示例):

//xxx.vue
import { getUserInfo } from 'api.js'

getUserInfo().then(res => {

})

该处使用的url网络请求的数据。


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uni-app 是一个跨平台的开发框架,可以用于同时开发多个平台的应用程序。在 Uni-app 中进行网络请求时,可以使用封装的方式来简化请求过程,提高代码的复用性和可维护性。 以下是一个简单的示例,展示了如何封装一个网络请求方法: ```javascript // api.js // 导入uni-app的网络请求方法 import { request } from 'uni-app'; // 封装网络请求方法 export function get(url, data) { return request({ url: url, method: 'GET', data: data }); } export function post(url, data) { return request({ url: url, method: 'POST', data: data }); } ``` 在上述示例中,我们将 uni-app 提供的 `request` 方法进行了封装,创建了 `get` 和 `post` 方法,分别用于发起 GET 和 POST 请求。这样做的好处是可以统一处理请求的配置,例如设置请求头、处理响应等。 使用封装的网络请求方法时,只需在需要发送请求的地方引入 `api.js` 文件,并调用相应的方法即可: ```javascript // 使用网络请求方法 import { get, post } from './api.js'; // 发起 GET 请求 get('/api/data', { id: 1 }) .then(response => { console.log(response.data); }) .catch(error => { console.error(error); }); // 发起 POST 请求 post('/api/login', { username: 'admin', password: '123456' }) .then(response => { console.log(response.data); }) .catch(error => { console.error(error); }); ``` 通过封装网络请求方法,我们可以更方便地调用和管理网络请求,提高开发效率。当需要修改请求配置时,只需要在封装方法中进行修改,而不需要在每个请求的地方都修改一遍。同时,封装后的代码也更易读、易维护。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值