微信小程序wx.request请求封装

news/2024/9/19 12:43:17/文章来源:https://www.cnblogs.com/LiuFqiang/p/18418067

config.js

// 请求地址
const BASE_URL = "https://localhost:8080"
const TIMEOUT = 10000export {BASE_URL,TIMEOUT
}

server.js

假设这里返回的数据结构为

{"code": 0,"msg": "提示信息","data": "返回数据"
}

当code == 401时重新登录

import { BASE_URL, TIMEOUT } from './config'/*** 请求封装* @param body* @returns {Promise<unknown>}*/
export function request(body){let url = body.url;let data = body.data;let method = body.method;let header = body.header ? body.header : {};wx.showLoading({title: "加载中",mask: true  //开启蒙版遮罩});header['Authorization'] = 'Bearer ' + wx.getStorageSync('token')//返回Promise对象return new Promise((resolve, reject)=> {wx.request({url: BASE_URL + url,timeout: TIMEOUT,method: method,data: data,header: header,success: (res) => {if (res.data && res.data.code == 401) {// 跳转登录reject(res.data);wx.navigateTo({url: '/pages/login/login',})}resolve(res.data);},fail: (res) => {wx.showToast({title: res.data.msg ? res.data.msg : '请求数据失败,请稍后重试',icon: 'error',duration: 2000})reject(res);},complete: () => {wx.hideLoading();}})})
}

如何使用:
新建api目录存放接口

get方法:

import request from "../server";/*** 查询网点列表* @param {} params * @returns */
export function getPlaceList(params) {return request({'url': '/wechat/place/list','method': 'get','params': params})
}

post方法,application/json

export function orderCrate(params) {return request({'url': '/wechat/order/orderCreate','method': 'post','data': params})
}

post方法,application/x-www-form-urlencoded

export function rechargeMoney(data) {return request({'url': '/wechat/pay/recharge/money','method': 'post','data': data,'header': {'Content-Type': 'application/x-www-form-urlencoded'}})
}

在page的js文件中使用

在最外层引入api下面的js

import {getCatDetail} from  '../../api/modules/car'

方法使用

getCatDetail({carId: options.id}).then(res => {if (res.code == 200) {let data = res.data}          
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/799204.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[附源码]超简洁个人博客网站搭建+SpringBoot+Vue前后端分离

今天带来一款优秀的项目:个人博客系统源码 。 系统采用的流行的前后端分离结构,内含功能包括 "写博客文章",“修改博客文章”,“富文本编辑器”,“评论管理”“管理员角色”,“游客角色”,“文章标签”,“文章分类” 如果您有任何问题,也请联系小编,小编是…

99元阿里云服务器部署若依前后端分离版(ruoyi-vue)

1. 购买阿里云 最近阿里云推出99元套餐,相当划算,薅羊毛搞起 ->新老同享阿里云99一年系统选择centos 2. 安装JDKJDK >= 1.8 虽说推荐1.8版本,但毕竟有点老,我选的JDK17,安装过程如下: # 下载安装包 wget https://download.oracle.com/java/17/archive/jdk-17.0.1_l…

.NET 开源工业级移动端仓库管理系统

前言 在工业生产中,定制化的软件对于每个环节都至关重要。对于仓库管理,推荐一款开源的仓库管理系统(WMS)解决方案。 这款基于.NET 框架开发的移动应用,提供了全面的仓库操作、订单处理、主数据管理、数据分析及个人信息设置等功能,是工业仓库管理的有利助手。 项目介绍 …

Linux下eCal测试计划及进度记录

完整的源代码包:# 安装依赖 sudo apt-get install git cmake doxygen graphviz build-essential zlib1g-dev sudo apt-get install libhdf5-dev libprotobuf-dev libprotoc-dev protobuf-compiler sudo apt-get install libcurl4-openssl-dev libqwt-qt5-dev libyaml-cpp-dev…

闯关提交01

任务:完成SSH连接与端口映射并运行 hello_world.py

Vue3.5中解构props,让父子组件通信更加丝滑

前言 在Vue3.5版本中响应式 Props 解构终于正式转正了,这个功能之前一直是试验性的。这篇文章来带你搞清楚,一个String类型的props经过解构后明明应该是一个常量了,为什么还没丢失响应式呢?本文中使用的Vue版本为欧阳写文章时的最新版Vue3.5.5 关注公众号:【前端欧阳】,给…

【python爬虫案例】利用python爬取豆瓣电影TOP250评分排行数据!

【python爬虫案例】利用python爬取豆瓣电影TOP250评分排行数据,并导出为excel文档一、爬取对象-豆瓣电影TOP250 今天给大家分享一期豆瓣读书TOP排行榜250的python爬虫案例 爬取的目标网址是:https://movie.douban.com/top250咱们以目标为驱动,以兴趣为导向,先来看下爬虫程序…

Ros2 - Moveit2 - DeepGrasp(深度抓握)

MoveIt 深度把握 本教程演示了如何在 MoveIt 任务构造器中使用抓握姿势检测 (GPD)和 Dex-Net 。 GPD(左)和 Dex-Net(右)用于生成拾取圆柱体的抓取姿势。 https://moveit.picknik.ai/main/_images/mtc_gpd_panda.gif 入门 如果您还没有这样做,请确保您已经完成入门指南中…

(装)K8s 总体架构及目录结构

原文:https://www.guoshaohe.com/cloud-computing/kubernetes-source-read/12491. kubernetes 总体架构目前想对kubernetes 1.21 的源码进行一次阅读分析,本篇文章是对k8s的整体架构进行一个大致分析,先要搞清楚每个组件的功能和任务,在根据不同的组件进行深度的源码分析。…

[C++ Daily] calloc 与 malloc

转载 C++ 面试突破 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 Kind BorglQI的评论

贼好用!五分钟搭建一个美观且易用的导航页面!

Pintree 是一个开源项目,旨在将浏览器书签导出成导航网站。通过简单的几步操作,就可以将书签转换成一个美观且易用的导航页面。大家好,我是 Java陈序员。 今天,给大家介绍一个贼好用的导航网站搭建工具,只需通过几步操作,就能搭建出个性化导航网站!关注微信公众号:【Ja…

26.删除有序数组中的重复项 Golang实现

题目描述:给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以…