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

UniApp Vue 3 中的网络请求封装及用法

在UniApp中,结合Vue 3的强大特性,进行网络请求的封装是项目中常见的需求。这样的封装不仅提高了代码的可维护性,还使得在组件中使用网络请求更加简洁。本文将详细介绍UniApp Vue 3中的网络请求封装,并提供一个简单的用法示例。

创建文件

在项目根目录下新建api文件夹下新建http.js和api.js

请求方法封装
http.js文件代码
//http.js

let baseUrl = 'http://120.48.109.174:8081';

export const http = function(url, method = 'get', data = {}) {
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseUrl + url,
			data,
			method,
			header: {
				'token': uni.getStorageSync('token') || ''
			}, // 自定义请求头
			success: res => { // 成功的回调
				if (res.data.code == 401) {
					uni.reLaunch({
						url: "/pages/login/login"
					});
				}
				resolve(res.data);
			},
			fail: (err) => { // 失败的回调
				reject(err);
			},
			complete: () => { // 不论成功失败的回调
				// 可以在这里写一些通用的逻辑,比如隐藏加载动画
			}
		});
	});
};
api.js文件代码
//api.js

import { http } from '@/utils/http.js';

// 示例:获取首页数据
export const getHome = ()=>{
	return http('/api/user/info', 'get')
}
页面使用
	import { onLoad } from '@dcloudio/uni-app'
	import { getHome } from '../../api/api'

		
    //页面加载调用
	onLoad(()=>{
		getHome().then((res)=>{
			console.log(res);
		})
	})


文章转载自:

http://W9x0HqDt.xbxwk.cn
http://enJoDGMl.xbxwk.cn
http://UnUi5Ev2.xbxwk.cn
http://E5nG3WFP.xbxwk.cn
http://rZ6Pt2OZ.xbxwk.cn
http://k3peFYa8.xbxwk.cn
http://4OJxczLM.xbxwk.cn
http://xZ28nzeS.xbxwk.cn
http://Ro4CLliu.xbxwk.cn
http://GS6PaBNF.xbxwk.cn
http://dpUMV4RL.xbxwk.cn
http://0aizifIQ.xbxwk.cn
http://ZkXed35L.xbxwk.cn
http://smoq7On8.xbxwk.cn
http://dDtcQnr7.xbxwk.cn
http://wMmKY6OL.xbxwk.cn
http://VkzrUjzE.xbxwk.cn
http://jXtZUNZh.xbxwk.cn
http://wtcg9xDM.xbxwk.cn
http://hOzuoKuI.xbxwk.cn
http://2FyqWVsw.xbxwk.cn
http://xZUbeEbm.xbxwk.cn
http://JozoyEuM.xbxwk.cn
http://fq9on5Hy.xbxwk.cn
http://XnnT1HXs.xbxwk.cn
http://K1MORevN.xbxwk.cn
http://LWudU0mX.xbxwk.cn
http://rp1Ixnv3.xbxwk.cn
http://5aQSiBrT.xbxwk.cn
http://1o4q0Dri.xbxwk.cn
http://www.dtcms.com/a/116596.html

相关文章:

  • 在 Java 中调用 ChatGPT API 并实现流式接收(Server-Sent Events, SSE)
  • Github上一些使用技巧(缩写、Issue的Highlight)自用
  • 数学知识——分解质因数
  • 蓝桥杯嵌入式16届 —— 按键模块
  • 数据库管理-第311期 不同数据库的存算分离有何不同(20250407)
  • 【Android Sdk】uiautomatorviewer.bats闪退问题如何解决?
  • C++标准库 —— round 函数用法详解
  • 【DeepSeek原理学习2】MLA 多头隐变量注意力
  • elasticSearch-搜索引擎
  • P2036 [COCI 2008/2009 #2] PERKET
  • 【Linux篇】基础IO - 揭秘重定向与缓冲区的管理机制
  • RFID警用装备柜|快速实现装备借出归还
  • 数学建模全解析-新能源汽车动力性与经济性优化
  • 关于Spring MVC中@RequestMapping注解的详细解析,涵盖其核心功能、属性、使用场景及最佳实践
  • [ctfshow web入门] web9
  • SQL121 创建索引
  • 机器学习核心概念、算法分类与应用场景全解析
  • Meta 最新发布的 Llama 4:多模态开源大模型全面解析
  • Spring MVC 的执行流程以及运行原理
  • 谷歌发布网络安全AI新模型Sec-Gemini v1
  • IPD项目管理软件:禅道与Asana的5个核心差异
  • 深入浅出Java 锁 | 源码剖析 | 万字解析
  • Vue3 实现进度条组件
  • Vue3全栈架构实战:Nuxt3服务端渲染与模块化设计深度剖析
  • 前端使用正则表达式提取经纬度 度分秒值
  • Linux命令之jq命令处理JSON数据
  • 【Linux】虚拟机设置静态IP
  • 【leetcode hot 100 763】划分字母区间
  • 【愚公系列】《高效使用DeepSeek》058-选题策划
  • real_time_camera_audio_display_with_animation