当前位置: 首页 > 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.dtcms.com/a/225288.html

相关文章:

  • 鸿蒙OS在UniApp中集成Three.js:打造跨平台3D可视化应用#三方框架 #Uniapp
  • 一键净化Excel数据:高性能Python脚本实现多核并行清理
  • uni-app学习笔记二十--pages.json页面路由pages设置
  • 五、单元测试-概述入门
  • 【Python Cookbook】文件与 IO(二)
  • Langchaine4j 流式输出 (6)
  • Vim 支持多种编程语言编辑器
  • NLP学习路线图(十五):TF-IDF(词频-逆文档频率)
  • Python Django完整教程与代码示例
  • 计算机网络(5)——数据链路层
  • 超标量处理器设计6-指令解码
  • Chorme如何对于youtube视频进行画中画背景播放?
  • wordpress免费主题网站
  • 利用 Python 爬虫获取淘宝商品详情
  • Java数据结构——八大排序
  • 04.MySQL数据类型详解
  • 网络攻防技术一:绪论
  • 深入解析Vue.js:构建现代Web应用的高效之道
  • 机电的焊接技术
  • MQTT入门实战宝典:从零起步掌握物联网核心通信协议
  • 如何学习开关电源?从“大”到“小”学习开关电源...
  • 第6节 Node.js 回调函数
  • SSL/TLS 协议详解:安全通信的基石
  • VSCODE的终端无法执行npm命令
  • opencv使用经典bug
  • Hive SQL优化实践:提升大数据处理效率的关键策略
  • WEBSTORM前端 —— 第3章:移动 Web —— 第4节:移动适配-VM
  • 篇章七 数据结构——栈和队列
  • WEBSTORM前端 —— 第3章:移动 Web —— 第2节:空间转换、转化
  • Leetcode 3569. Maximize Count of Distinct Primes After Split