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

微信小程序请求request封装

公共基础路径封装

在这里插入图片描述

// config.js
module.exports = {// 测试BASE_URL: 'https://cloud.chejj.cn',// 正式// BASE_URL: 'https://cloud.mycjj.com'
};

请求封装

在这里插入图片描述

// request.js
import config from '../config/baseUrl'// 请求未返回时的loading
const showLoading = () => wx.showLoading({title: '加载中...'
});
const hideLoading = () => wx.hideLoading();// 封装的请求函数
export function request(url, method = 'GET', data = {}) {let fullUrl = config.BASE_URL + url;return new Promise((resolve, reject) => {showLoading(); // 显示加载提示wx.request({url: fullUrl,method: method,data: data,header: {'content-type': 'application/json', // 默认值// 'Authorization': 'Bearer ' + token// 'Bearer '是一个常见的前缀,表示你使用的认证方案是Bearer Token,这是OAuth 2.0中常用的认证方式。如果你的API要求或允许不同的认证方案,那么前缀应做相应调整或省略。},success: (res) => {if (res.statusCode === 200 && res.data.success) {hideLoading(); // 请求成功后隐藏加载提示resolve(res.data.data); // 返回实际数据部分} else {hideLoading(); // 即便请求失败,也要隐藏加载提示// 错误提示wx.showToast({title: res.data.msg,icon: 'error'})reject(res.data.msg || '请求失败'); // 错误处理}},fail: (err) => {hideLoading(); // 失败时隐藏加载提示reject(err.errMsg || '网络请求失败');}});});
}

页面使用

  async fetchData() {try {// 也可以点thenconst result = await request('/mini/default', 'get', {});console.log('请求成功,数据为:', result);// 处理数据,如设置到页面数据中this.setData({data: result});} catch (error) {console.error('请求失败:', error);// 可以在这里处理错误提示给用户}},
http://www.lryc.cn/news/371791.html

相关文章:

  • Web前端不挂科:深入探索与实战指南
  • Golang | Leetcode Golang题解之第149题直线上最多的点数
  • 京准电钟 NTP时间同步服务器助力水库水坝水利自动化建设
  • 程序员应该具备什么职业素养?
  • linux 安装sftp及使用sftp上传和下载
  • AI虚拟试穿技术:开启高保真、多场景、多样化服装组合的试穿应用
  • 数栈xAI:轻量化、专业化、模块化,四大功能革新 SQL 开发体验
  • oppo手机精简包名列表
  • Cisco Packet Tracer实验(二)
  • Julia 数学函数
  • [next.js] svgr/webpack
  • vue页面和 iframe多页面无刷新方案和并行存在解决方案
  • Leetcode498. 对角线遍历
  • flume配置----a1.sources.r1.positionFile=xxxx.json
  • Controller 自动化日志输出
  • css3中有哪些新属性(特性)?
  • SAP ABAP 之面向对象OO
  • 在VSCode中使用Vim
  • 鸿蒙低代码开发的局限性
  • Codeforces Round 952 (Div. 4) c++题解(A-H1)
  • 人工智能将成为数学家的“副驾驶”
  • 自适应巡航控制技术规范(简化版)
  • 【AI】文心一言的使用分享
  • Java学习-MyBatis学习(四)
  • 多源最短路径算法 -- 弗洛伊德(Floyd)算法
  • 同三维T80005EH4 H.265 4路高清HDMI编码器
  • 焦化行业排放平台简介
  • 『原型资源』Axure自带图标库不够用,第三方经典图标库来袭
  • 修改版的VectorDBBench更好用
  • 六西格玛培训都培训哪些内容 ?