uniapp+uview 网络请求封装

uniapp 网络请求封装(uni.request 与 uView-Plus) 备注:在发送uni.request请求之前,可以执行拦截操作;在uni.request的success中接收响应后处理响应数据。在开发项目中,需要经常与后端服务器进行交互;为了提高开发效率和代码维护性,以及降低重复性代码,便对网络请求进行封装统一管理。api.js文件是用来调用uview-plus封装好的请求,统一管理请求接口,在后续开发中只需要调用api.js文件即可。api.js文件是用来调用封装好的uni.request,统一管理请求接口,在后续开发中只需要调用api.js文件即可。 阅读详情

uview官网地址👉: Http请求 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架

1.在utils文件夹下创建request.js文件,用于封装请求:

module.exports = (vm) => {
    // 初始化请求配置
    uni.$u.http.setConfig((config) => {
        /* config 为默认全局配置*/
		config.baseURL = 'https://xxx:4445/prod-api'; /* 根域名 */
        return config
    })
	
	// 请求拦截
	uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
	    // 初始化请求拦截器时,会执行此方法,此时data为undefined,赋予默认{}
	    config.data = config.data || {}
		// 根据custom参数中配置的是否需要token,添加对应的请求头
		// if(config?.custom?.auth) {
			// 可以在此通过vm引用vuex中的变量,具体值在vm.$store.state中
			config.header.Authorization = 'Bearer ' + uni.getStorageSync('token')
			config.header.clientid = uni.getStorageSync('clientid')
		// }
	    return config 
	}, config => { // 可使用async await 做异步操作
	    return Promise.reject(config)
	})
	
	// 响应拦截
	uni.$u.http.interceptors.response.use((response) => { /* 对响应成功做点什么 可使用async await 做异步操作*/
		const data = response.data
		// 自定义参数
		const custom = response.config?.custom
		if (data.code !== 200 && data.code !== 401) {
			// 如果没有显式定义custom的toast参数为false的话,默认对报错进行toast弹出提示
			if (custom.toast !== false) {
				uni.$u.toast(data.message)
			}
			// 如果需要catch返回,则进行reject
			if (custom?.catch) {
				return Promise.reject(data)
			} else {
				// 否则返回一个pending中的promise,请求不会进入catch中
				return new Promise(() => { })
			}
		}
		return data === undefined ? {} : data
	}, (response) => { 
		// 对响应错误做点什么 (statusCode !== 200)
		return Promise.reject(response)
	})
}

2.main.js中全局引用该文件:

import Vue from 'vue'
import App from './App'
import uView from '@/node_modules/uview-ui';
import share from '@/share.js'

Vue.config.productionTip = false
Vue.config.ignoredElements = ['wx-open-launch-weapp', /^uni-/]
Vue.mixin(share)

App.mpType = 'app'
const app = new Vue({
    ...App
})

// 引入请求封装,将app参数传递到配置中
require('@/utils/request.js')(app)

app.$mount()

3.在utils文件夹下创建api.js文件:

const http = uni.$u.http

// post请求,获取菜单
// export const postMenu = (data) => http.post('/ebapi/public_api/index', data)

// get请求,获取菜单,注意:get请求的配置等,都在第二个参数中,详见前面解释
// export const getMenu = (data) => http.get('/ebapi/public_api/index', {params: data})

// 登录
export const getLogin = (data) => http.post('/auth/maLogin', data)

// 内容管理banner
export const getBannerList = () => http.get('/wx-ma/index/bannerList')

// 内容管理中间的list详情接口
export const getInfo = (platformId) => http.get('/wx-ma/platform/' + platformId)

// 内容公告所有数据
export const getPageList = (data) => http.get('/wx-ma/notice/page',{params:data})

4.页面调用api文件使用:

<script>
	import { getInfo } from '@/utils/api/api.js';
	export default {
		data() {
			return {}
		},
		onShow() {
			this.getData()
		},
		computed: {},
		methods: {
			getData(){
				getInfo(1).then((res)=>{
					if(res.code == 200){
						console.log()
					} else {
						console.log()
					}
				})
			},
		}
	}
</script>

最后:👏👏😊😊😊👍👍 

uniapp项目实战:uview的LoadingPage加载页如何提升用户体验(附完整配置代码) props: {color: {default: '#3c9cff' // uView主题色},size: { 阅读详情

相关推荐

基于uniapp与uview的智慧社区App开发模板解析

随着移动互联网的普及,智慧社区逐渐成为现代城市生活的重要组成部分。本章将介绍基于uniapp与uview-ui构建的智慧社区App开发模板的整体架构与功能模块。该模板具备良好的跨平台兼容性,支持一次开发、多端部署(如H5、微信小程序、Android/iOS App等),显著提升开发效率。模板集成了常用功能模块,包括用户登录系统、社区公告发布、活动报名、设施预约等,覆盖智慧社区的核心业务场景。

weixin_33610780的博客 1198

uview2.0封装http请求实战以及常见请求传参实录

uview2.0封装http请求实战以及常见请求传参实录

weixin_43401380的博客 6178

uniapp-脚手架(uview2.0+请求封装+vuex)

uniapp_脚手架(uview2.0+请求封装+vuex)

uniapp uview封装的请求方式

1.下载uview 下载地址 本地引入 2.配置Http请求 配置详细指导 完整如下 以下为在main.js中的引入示例: // main.js // 此为main.js本身已有内容 const app = new Vue({ ...App }) // http拦截器,此为需要加入的内容,如果不是写在common目录,请自行修改引入路径 import httpInterceptor from '@/common/http.interceptor.js' // 这里需要写在最后,是为了等Vue创建对象

weixin_49295874的博客 6343

PFC中pb模型实战:从胶结参数设置到破坏模拟全流程解析

本文详细解析了PFC软件中平行胶结模型(PB模型)的实战应用全流程。从胶结参数(pb_kn, pb_ks, pb_ten等)的物理意义与精准赋值入手,深入探讨了模型构建、胶结施加以避免初始损伤的技巧,并系统介绍了破坏过程的监测、阈值判定方法以及高级可视化与常见问题诊断。旨在帮助岩土工程与颗粒材料研究者掌握从参数调试到破坏模拟的核心操作,提升数值模拟的准确性与效率。

php55的博客 1075

深度学习分类任务中,正负样本比例失衡的5种实战解决方案(附代码)

本文深入探讨了深度学习分类任务中正负样本比例失衡的5种实战解决方案,包括智能采样技术、动态数据增强、损失函数工程、模型架构创新和训练策略优化。针对信用卡欺诈检测、医疗诊断等场景,提供了详细的代码实现和评估方法,帮助开发者有效解决样本不平衡问题,提升模型在真实场景中的表现。

h9j8k7l6m5n的博客 426

uni封装网络请求

const install = (Vue, vm) => { let devServer = 'http://121.168.0.101:1601'; Vue.prototype.$u.http.setConfig({ baseUrl: devServer, //请求地址 webviewUrl: server, loadingText: '努力加载中~', loadingTime: 800, // 设置自定义头部content-type header: { 'con.

weixin_52379241的博客 1969

【STC8G1K08A串口使用】

STC8G1K08A串口打印“Hello world”

m0_47459564的博客 1万+

uniapp脚手架uview2.0请求封装vuex:助力开发者高效开发

uniapp脚手架uview2.0请求封装vuex:助力开发者高效开发 【下载地址】uniapp脚手架uview2.0请求封装vuex 本项目提供了一个基于uniapp框架的高效开发脚手架,集成了uview2.0组件库、请求封装和vuex状态管理,旨在帮助开发者快速搭建跨平台应用。通过一套代码,即可编译至iOS、Andr...

gitblog_06788的博客 736

跨模态行人重识别实战:Python复现SYSU-MM01官方评估协议

本文详细介绍了如何用Python复现SYSU-MM01数据集的官方评估协议,以解决原Matlab代码在Python生态中不便使用的问题。文章深入解析了数据集的`indoor`与`all`两种评估模式,并提供了完整的Python代码实现,包括特征加载、相似度计算、Rank-k与mAP指标计算等核心步骤,确保评估结果与官方Matlab版本完全一致,助力跨模态行人重识别研究。

weixin_29081163的博客 99

多跳问答技术解析:从原理到金融领域实践

多跳问答(Multi-hop QA)是自然语言处理中的高级任务,要求系统通过多步推理整合分散信息来回答问题。其核心技术在于理解文档间的复杂关联,相比单跳问答需要更精细的数据集设计和模型架构。在金融、医疗等专业领域,多跳问答能有效处理如'腾讯大股东投资的港股上市公司'这类需要串联多个信息点的问题。典型实现方案包括MR-Search框架的三级检索器设计,分别处理实体召回、关系匹配和数值比较。当前最佳实践表明,结合稠密检索与稀疏检索的混合策略,配合动态路由机制,能在保持较高精度的同时控制计算成本。这类技术在金融风

weixin_42566072的博客 607

uniapp 脚手架 (uview2.0 + 请求封装 + vuex)

uniapp 脚手架 (uview2.0 + 请求封装 + vuex) 【下载地址】uniapp脚手架uview2.0请求封装vuex 本项目提供了一个基于uniapp框架的高效开发脚手架,集成了uview2.0组件库、请求封装和vuex状态管理,旨在帮助开发者快速搭建跨平台应用。通过一套代码,即可编译至iOS、Andr...

gitblog_06756的博客 401

图像算法中的 Blob 分析

在计算机视觉中,Blob 可以理解为在图像中具有相似性质(如颜色、亮度等)的像素群体。Blob 通常用作基本单元,在图像分析和处理任务中能够提取出有意义的特征。

m0_44975814的博客 2483

uniapp封装request请求

1111

fangxin222的博客 663

Linux LT8912b调试记录(MIPI转LVDS/HDMI)

本文记录了在RK3588平台上使用LT8912B芯片实现MIPI转LVDS/HDMI的调试过程。主要包含设备树配置、驱动代码实现及常见问题解决。调试重点包括:1)正确配置1280x800分辨率的LVDS屏幕参数;2)确保I2C总线正常通信;3)解决花屏、图像抖动、黑屏等问题,涉及lane-rate计算、同步信号极性调整及MIPI模式选择。文中提供了详细的寄存器配置代码和故障排查方法,特别强调了I2C通信验证和电压匹配的重要性。通过参数优化和多种模式测试,最终实现了稳定的视频输出转换。

qq_45147279的博客 1089

【人工智能之深度学习】18. 金融风控实战:TCN时序卷积网络构建信用卡欺诈实时检测系统

摘要:信用卡欺诈交易识别是金融风控的核心环节,其面临欺诈样本占比低(仅0.1%)、实时响应要求高(毫秒级)等挑战。本文基于IEEE-CIS公开数据集,构建基于时序卷积网络(TCN)的欺诈检测系统,通过捕捉用户交易行为的时序模式识别异常。详细阐述全流程:从数据预处理(构造交易序列特征)、TCN模型设计(轻量级架构适配实时场景),到实时检测部署(异步处理确保低延迟)。实验显示,该系统精确率达63%、召回率89%,误杀率仅0.2%,推理延迟8ms,较XGBoost等传统模型性能显著提升。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1135

uni-app使用uview组件中的封装

通过将代码封装在函数中,您可以将其组织成更小、更可重用的部分,并将其隐藏在函数的内部。抽取公共逻辑代码,通过export对外公开函数、对象、属性,通过import来使用这些公开的函数、对象、属性,让代码具有复用性,从提高了代码的可维护性,做到一改全改的效果。封装可以使代码更易于维护和测试,并且可以使代码更易于重用。封装还可以帮助隐藏代码的实现细节,从而使代码更易于理解和使用。前后端分离,使用http作为两端的通讯协议,当然还可以有其他协议,例如Websocket,但http是前后端应用的最主要的协议。

m0_71933813的博客 917

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

uni-app实现路由拦截 请求封装

2 main.js导入: import uview from ‘uview-ui’;Vue.use(uView)1 目前uni-app使用的是rpx的单位 如果设计稿是750的那么按照设计稿给的尺寸就可以直接使用了。3 uni.css引入:@import ‘uvew-ui/theme.scss’“这里的内容看着文档配置就可以了”4 pages.json配置:{

h960822的博客 835

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

使用uniapp框架写小程序,requestjs文件中的常用配置

在main.js中导入。

qq_45750213的博客 1051

Uniapp开发wanAndroid应用

Uniapp开发wanAndroid应用

过-眼-云-烟的博客 439

从零开始uniapp微信小程序项目到发布(超级详细)

最近微信小程序又掀起一波风潮,本文站在新手的角度出发,比较适合第一次使用uniapp 开发微信小程序的伙伴,或者没有过实战经验的小伙伴参考,从零搭建uniapp小程序项目

欢迎来到我的博客 3万+

如何快速开发微信小程序?解锁uniapp-vue3-template的7大核心优势

如果你是一位渴望快速开发高质量微信小程序的开发者,那么 **uniapp-vue3-template** 将是你的不二之选!这款基于uniapp+vite+vue3+uview-plus3.0构建的开源模板,集成了现代化开发所需的全部工具链,让你从繁琐的配置中解放出来,专注于业务逻辑实现。无论是个人项目还是团队协作,它都能显著提升开发效率,助你轻松打造专业级小程序应用。 ## ???? 为什么选择u...

gitblog_00241的博客 1073

uni-app学习总结

最近使用 uni-app 的感受。

2201_76095527的博客 344

【uniapp】从零到实战:跨平台开发全攻略

本文详细介绍了uniapp跨平台开发的完整流程,从环境搭建到实战技巧,帮助开发者高效实现一套代码多端运行。通过HBuilderX工具、条件编译和性能优化方案,快速发布到微信小程序、H5和App等平台,显著提升开发效率。

m0n1o2p的博客 158

uniapp-vue3-template:为团队协作而生的Vue3开发模板

uniapp-vue3-template是一个基于uniapp框架,利用Vue3语法特性,结合最新技术栈搭建的开源项目模板。它不仅整合了诸多实用功能,还提供了清晰的项目结构和丰富的配置选项,旨在帮助团队高效协作,快速开发高质量的应用程序。 ## 项目技术分析 uniapp-vue3-template使用了以下技术栈: - **uniapp**:一个使用Vue.js开发所有前端应用的框架,可以

gitblog_00775的博客 869
上一篇: uniapp小程序navigateTo跳转页面传参,如何接收这个参数
下一篇: 一文带你深入了解小程序生命周期
核动力驴_
博客等级 码龄5年 54粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值