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

刚出炉热乎的。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.lryc.cn/news/2395987.html

相关文章:

  • Apache Kafka 实现原理深度解析:生产、存储与消费全流程
  • Python 训练营打卡 Day 41
  • leetcode付费题 353. 贪吃蛇游戏解题思路
  • CCPC dongbei 2025 I
  • 系统性学习C语言-第十三讲-深入理解指针(3)
  • 代理模式核心概念
  • uni-app学习笔记十五-vue3页面生命周期(二)
  • 贪心算法实战篇2
  • Java 大视界 -- Java 大数据机器学习模型在元宇宙虚拟场景智能交互中的关键技术(239)
  • Flask中关于app.url_map属性的用法
  • 高速串行接口
  • 学习STC51单片机23(芯片为STC89C52RCRC)
  • 一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (一)
  • 网络系统中安全漏洞扫描为何重要?扫描啥?咋扫描?
  • HiveSQL语法全解析与实战指南
  • 【conda报错】InvalidArchiveError
  • Socket 编程 TCP
  • Redis-6.2.9 Sentinel 哨兵配置
  • 基于TMC5160堵转检测技术的夹紧力控制系统设计与实现
  • 从零开始搞个简易分布式部署环境
  • XCTF-web-fileclude
  • OpenShift AI - 启用过时版本的 Notebook 镜像
  • Redis 缓存穿透、缓存击穿、缓存雪崩详解与解决方案
  • sass高阶应用
  • docker docker-ce docker.io
  • DQN和DDQN(进阶版)
  • 【组件】翻牌器效果
  • CentOS 7 环境中部署 LNMP(Linux + Nginx + MySQL 5.7 + PHP)
  • NX811NX816美光颗粒固态NX840NX845
  • 捋捋wireshark