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

刚出炉热乎的。UniApp X 封装 uni.request

HBuilder X v4.66 当前最新版本

由于 uniapp x 使用的是自己包装的 ts 语言 uts。目前语言还没有稳定下来,各种不支持 ts 各种报错各种不兼容问题。我一个个问题调通的,代码如下:

封装方法

// my-app/utils/request.uts
const UNI_APP_BASE_URL = "http://192.168.1.1:8080"	// 开发环境
// const UNI_APP_BASE_URL = "http://test.com"	// 测试环境
// const UNI_APP_BASE_URL = "http://pro.com"	// 正式环境type JsonResult = {code : number;	// 状态码data ?: any;	// 返回数据msg ?: string;	// 返回消息
}export function get(uri : string, data : any = {}) : Promise<JsonResult> {const url = UNI_APP_BASE_URL + uri;return new Promise((resolve, reject) => {uni.request<JsonResult>({url,method: "GET",data,success: (response) => {const jsonResult = response.dataif (jsonResult != null) {if (jsonResult.code != 0) {uni.showToast({ title: jsonResult.msg ?? "出错了", icon: 'none' })}resolve(jsonResult);}}, fail: (err) => {console.error("错误信息:", err)uni.showToast({ title: "app 错误 " + err.errMsg, icon: 'none' })reject(err);}})})
}export function post(uri : string, data : any = {}) : Promise<JsonResult> {const url = UNI_APP_BASE_URL + uri;return new Promise((resolve, reject) => {uni.request<JsonResult>({url,method: "POST",data,success: (response) => {const jsonResult = response.dataif (jsonResult != null) {if (jsonResult.code != 0) {uni.showToast({ title: jsonResult.msg ?? "出错了", icon: 'none' })}resolve(jsonResult);}}, fail: (err) => {console.error("错误信息:", err)uni.showToast({ title: "app 错误 " + err.errMsg, icon: 'none' })reject(err);}})})
}

如下使用:

<script setup lang="uts">import { post } from '@/utils/request.uts';async function login() {try {const jsonResult = await post("/login", { mobile: "11111111111", code: "111111", grantType: "sms" });console.log("请求返回数据:", jsonResult);} catch (err) {console.error("请求失败:", err);}}login();
</script>

http://www.xdnf.cn/news/752473.html

相关文章:

  • 鸿蒙OSUniApp离线优先数据同步实战:打造无缝衔接的鸿蒙应用体验#三方框架 #Uniapp
  • 一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (一)
  • 43. 远程分布式测试实现
  • CppCon 2014 学习: C++ Test-driven Development
  • 【C/C++】面试基础题目收集
  • 使用ReactNative加载HarmonyOS Svga动画
  • 西瓜书第十一章——降维与度量学习
  • π0论文阅读
  • 16-前端Web实战(Tlias案例-部门管理)
  • WEBSTORM前端 —— 第3章:移动 Web —— 第4节:移动适配-VM
  • Java函数式编程(上)
  • 【小沐杂货铺】基于Three.JS绘制太阳系Solar System(GIS 、WebGL、vue、react,提供全部源代码)第2期
  • Python UV 环境下的 PyKDL 运动学库安装
  • CSS篇-5
  • docker、ctr、crictl命令简介与使用
  • 基于Python与本地Ollama的智能语音唤醒助手实现
  • 无标注数据如何提升LLM推理能力?熵最小化 提升LLM自信度
  • 概念篇:软件测试
  • 基于springboot的益智游戏系统的设计与实现
  • Hive SQL优化实践:提升大数据处理效率的关键策略
  • MMRL: Multi-Modal Representation Learning for Vision-Language Models(多模态表示学习)
  • comfyui利用 SkyReels-V2直接生成长视频本地部署问题总结 1
  • 2025年计算机领域年度主题:融合创新与技术突破
  • NX753NX756美光科技闪存NX784NX785
  • Java大厂后端技术栈故障排查实战:Spring Boot、Redis、Kafka、JVM典型问题与解决方案
  • 基于微信小程序的云校园信息服务平台设计与实现(源码+定制+开发)云端校园服务系统开发 面向师生的校园事务小程序设计与实现 融合微信生态的智慧校园管理系统开发
  • 英语写作中“专注于”focus on、concentrate的用法
  • oracle goldengate同步SQL server到SQL server的实时数据同步
  • 从零开始的git学习
  • 湖北理元理律师事务所:企业债务优化的科学路径与人文关怀