当前位置: 首页 > article >正文

uniapp接口请求api封装,规范化调用

封装规范和vue中的差不多,都是统一封装成一个request对象,然后在api.js里面调用。

先创建一个utils文件夹,然后里面创建一个request.js,代码如下:

export const baseURL = '基础url地址'

const request = (options) => {
	// 判断是不是完整的地址,不是的话,拼接上baseUrl
	let urlPath = ""
	if (options.url.indexOf("http") === -1) {
		urlPath = baseURL + options.url
	} else {
		urlPath = options.url
	}
	console.log("请求的url是:", urlPath);
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseURL + options.url, //接口地址:前缀+方法中传入的地址
			method: options.method || 'GET', //请求方法:传入的方法或者默认是“GET”
			data: options.data || {}, //传递参数:传入的参数或者默认传递空集合
			header: {
				'token': uni.getStorageSync("token") || "" //自定义请求头信息
			},
			success: (res) => {
				// 成功返回
				console.log("返回数据:", res)
				resolve(res.data.response_data)
			},
			// 这里的接口请求,如果出现问题就输出接口请求失败
			fail: (err) => {
				console.log("请求错误:", err)
				reject(err)
			}
		})
	})
}

export default request

在api文件夹中封装对应的index.js文件,然后导入request对象:

import request from '@/utils/request'

export default {
	getUUID(data) {
		console.log("getUUID");
		return request({
			url: '/user/wxapp',
			method: 'get',
			data,
		})
	},
	changeStatus(data) {
		return request({
			url: '/message/isReads',
			method: 'post',
			data,
		})
	},
	getMsgType(params) {
		return request({
			url: '/message/messageType',
			method: 'get',
			params,
		})
	},
	deleteMsg(data) {
		return request({
			url: '/message/delete',
			method: 'post',
			data,
		})
	},
}

在对应的vue或者react中引入并调用:


http://www.kler.cn/news/107784.html

相关文章:

  • Go 实现插入排序算法及优化
  • 软考系列(系统架构师)- 2013年系统架构师软考案例分析考点
  • 5月22日比特币披萨日,今天你吃披萨了吗?
  • 【计算机网络】认识协议
  • Spring Boot拓展XML格式的请求和响应
  • 『Jmeter入门万字长文』 | 从环境搭建、脚本设计、执行步骤到生成监控报告完整过程
  • leetCode 229. 多数元素 II + 摩尔投票法 + 进阶 + 优化空间
  • Linux:【1】Linux中的文件权限概念和相关命令
  • Hive 视图和索引
  • Spring Security—配置(Configuration)
  • 命令行参数、环境变量
  • 集合总结(Java)
  • JavaScript_Pig Game切换当前玩家
  • 【Linux】权限完结
  • 从lc560“和为 K 的子数组“带你认识“前缀和+哈希表“的解题思路
  • 【iPad已停用】解锁教程
  • 现代挖掘机vr在线互动展示厅是实现业务增长的加速度
  • Java集合-HashMap源码分析
  • Docker多平台、跨平台编译打包
  • 【ChatGPT系列】ChatGPT:创新工具还是失业威胁?
  • spark3.3.x处理excel数据
  • 【Python机器学习】零基础掌握RandomForestClassifier集成学习
  • 小程序原生开发中的onLoad和onShow
  • Games104现代游戏引擎笔记 网络游戏进阶架构
  • Spring定时任务+webSocket实现定时给指定用户发送消息
  • SpringBoot内置工具类之断言Assert的使用与部分解析
  • CVPR2023新作:基于组合空时位移的视频修复
  • Tensorflow2 中模型训练标签顺序和预测结果标签顺序不一致问题解决办法
  • Jmeter调用Python脚本实现参数互相传递的实现
  • leetcode做题笔记204. 计数质数