微信小程序请求数据接口封装

news/2024/9/17 3:45:07/ 标签: 微信小程序, notepad++, 小程序

文章目录

  • 前言
  • 一、方法参考站
  • 二、使用步骤
    • 1.首先需要创建api文件夹,在文件夹里创建api.js文件
    • 2.修改app.js
    • 3.页面里使用
  • 总结


前言

最近在写小程序项目,为了节约代码量,以及为了防止后期多处修改地址容易出问题或者遗漏,所以对数据请求进行了封装操作,具体操作如下。


提示:以下是本篇文章正文内容,下面案例可供参考

一、方法参考站

1、小程序>微信小程序请求封装
2.、请求头设置

二、使用步骤

1.首先需要创建api文件夹,在文件夹里创建api.js文件

api.js 代码如下(示例):

根据自己的数据需求更改调整即可

const app = getApp()const request = (url, options) => {let header = {}if (options.method == 'POST') {header = {'content-type': 'application/x-www-form-urlencoded',}} else {header = {'content-type': 'application/json',}}return new Promise((resolve, reject) => {wx.request({// {app.globalData.host}为接口请求中的公共部分写在app.js中url: `${app.globalData.host}${url}`,method: options.method,data: options.method === 'GET' ? options.data : JSON.stringify(options.data) && options.method === 'POST' ? options.data : options.data,header: header,success(request) {if (request.data.code === '20000') {resolve(request.data)} else {reject(request.data)}},fail(error) {reject(error.data)}})})
}const get = (url, options = {}) => {return request(url, { method: 'GET', data: options })
}
const post = (url, options) => {return request(url, { method: 'POST', data: options })
}
const put = (url, options) => {return request(url, { method: 'PUT', data: options })
}
// 不能声明DELETE(关键字)
const remove = (url, options) => {return request(url, { method: 'DELETE', data: options })
}module.exports = {get,post,put,remove
}

2.修改app.js

app.js 代码如下(示例):

//app.jsApp({onLaunch: function () {},globalData: {host: "这里是你要访问的后端地址",},})

3.页面里使用

在需要使用数据请求的页面.js文件里 代码如下(示例):

import api from '../../api/api'  //根据你自己的路径引入文件
Page({/*** 页面的初始数据*/data: {ewmImg:'',//二维码图片},/*** 生命周期函数--监听页面加载*/onLoad(options) {this.getewmImg()},// 获取二维码图片getewmImg('你要传输的数据'){var that = thisapi.post('/weixin/qrcode-img', '你要传输的数据').then(res => {that.setData({ewmImg:res.data.qrcodeimg})}).catch(err => {    })},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

总结

以上就是今天要记录的有关小程序>微信小程序请求接口封装问题的部分内容,文章仅仅为个人笔记所用,希望能帮助到有需要的人。


http://www.ppmy.cn/news/1522267.html

相关文章

Maven:简化Java项目管理的利器

Maven:简化Java项目管理的利器 在现代Java开发中,项目管理和构建工具扮演着至关重要的角色。其中,Maven无疑是最受欢迎和广泛使用的工具之一。本文将深入探讨Maven的核心概念、配置方法以及在实际开发中的应用,帮助您更好地理解和…

html css网页制作

​ 大家好,我是程序员小羊! 前言: HTML 和 CSS 是制作网页的基础。HTML 用于定义网页的结构和内容,CSS 用于设计网页的样式和布局。以下是一个详细的网页制作成品教程,包括 HTML 和 CSS 的基础知识,及如何…

如何在算家云搭建OpenSora 1.2(文本生成视频)

一. OpenSora 1.2简介 1. 技术特点 高清视频生成 : OpenSora 1.2 在 720p 高清文生视频质量和生成时长上取得了突破性进展,支持无缝产出任意风格的高质量短片。通过引入视频压缩网络(VAE)和更优的扩散模型算法,显著…

数据传输安全——混合加解密

使用Hutool实现AES与RSA混合加密解密——构建安全的数据传输通道 在当今数字化社会中,信息安全已经成为企业和个人不可忽视的重要议题。加密技术作为保障数据安全的重要手段,其作用愈发突出。本文将深入探讨如何利用Hutool库实现AES与RSA混合加密解密方…

跨平台RTSP播放器之VLC Media Player还是SmartPlayer?

好多开发者纠结,RTSP流播放,到底是用开源的VLC Media Player还是大牛直播SDK的SmartPlayer?针对此,本文做个简单的技术探讨,方便开发者根据实际需要,做适合自己场景的选择: VLC Media Player …

2024高教杯数学建模A题思路

问题1:舞龙队沿螺距为55 cm 的等距螺线顺时针盘入 分析: 龙头速度:龙头前把手的行进速度始终保持1 m/s。螺线参数:螺距为55 cm,即0.55 m。初始条件:龙头位于螺线第16圈A点处。思路: 确定螺线方程:根据螺线的性质,建立极坐标方程,表示螺线各点的位置。计算时间步长:…

PSINS工具箱函数介绍——pvtplot

关于工具箱 pvtplot是绘图函数,用于绘制位置、速度、时间信息 本文所述的代码需要基于PSINS工具箱,工具箱的讲解: PSINS初学指导:https://blog.csdn.net/callmeup/article/details/137087932 使用方法 使用例程: …

无人机之报警器的作用

一、紧急救援与辅助搜救 紧急救援:在事故或紧急情况下,无人机报警器可以迅速发出警报,指引救援人员前往事故地点,提高救援效率。 辅助搜救:无人机搭载报警器可以辅助寻找失踪人员或其他需要搜救的场景,通…

云计算之云原生(上)

目录 一、消息队列RocketMQ 1.1 功能介绍 1.1.1 业务消息首选:消息队列 RocketMQ 1.1.2 【收发流量隔离约束】读写分离控制提高集群稳定性 1.1.3 【Dashboard 仪表盘】实时观测实例状态 1.1.4 【消息轨迹追踪】消息生命周期状态一目了然 1.1.5 【实时扩缩容】…

9月7日微语报,星期六,农历八月初五

9月7日微语报,星期六,农历八月初五,周末愉快! 一份微语报,众览天下事! 1、21个部门:符合条件的流动儿童家庭或可配公租房。 2、多所高校2025年招生简章显示&#xff0…

2024第三届大学生算法大赛 真题训练一 解题报告 | 珂学家

前言 题解 这是第三届大学生算法大赛(第二届为清华社杯)的赛前练习赛一. 这是上界比赛的体验报告: 2023第二届“清华社杯”大学生算法大赛 解题报告(流水账版) | 珂学家,个人还是非常推荐这个比赛。 难度分布:4 easy/4 mid-hard/2 hard 赛前练习赛一…

java实现,PDF转换为TIF

目录 ■JDK版本 ■java代码・实现效果 ■POM引用 ■之前TIF相关的问题(两张TIF合并) ■对于成果物TIF,需要考虑的点 ■问题 ■问题1:无法生成TIF,已解决 ■问题2:生成的TIF过大,已解决 …

Android 系统源码项目加载预编好的so库

Android 系统源码项目加载预编好的so库 文章目录 Android 系统源码项目加载预编好的so库一、前言二、源码中加载so1、Android.mk加载so加载so的主要相关代码: 2、Android.bp加载so(1)Android.mk使用源码命令编译成Android.bp(2&am…

SpringBoot教程(十五) | SpringBoot集成RabbitMq(死信队列、延迟队列)

SpringBoot教程(十五) | SpringBoot集成RabbitMq(死信队列、延迟队列) (一)死信队列使用场景具体用法前提示例: (二)延迟队列使用场景方法一:通过死亡队列实现方法二&…

【Oracle点滴积累】解决IMP-00017、ORA-20005、ORA-06512错误的方法

广告位招租! 知识无价,人有情,无偿分享知识,希望本条信息对你有用! 今天和大家分享 IMP-00017: folloging statement failed with ORACLE error 20005 ORA-20005: object statistics are locked (stattype ALL) 错…

WordPress上可以内容替换的插件

插件下载地址:WordPress内容替换插件 – 果果开发 类型 替换的类型:文章、自定义文章类型、分类、标签、媒体库、页面、评论、数据库表,不同的类型可以替换不同的字段。 替换字段 替换的字段,哪些字段内容需要替换。除了数据库…

Q215 数组中第K大的元素

思路 可以用排序,但是不用全有序 还有个要求是O(n) 快排改版 快排只排需要的部分 public int findKthLargest(int[] nums, int k) {return quickSort(nums, 0, nums.length-1, nums.length-k);}public static int quickSort(int[] nums, …

JVM3-双亲委派机制

目录 概述 作用 如何指定加载类的类加载器? 面试题 打破双亲委派机制 自定义类加载器 线程上下文类加载器 Osgi框架的类加载器 概述 由于Java虚拟机中有多个类加载器,双亲委派机制的核心是解决一个类到底由谁加载的问题 双亲委派机制&#xff…

2409wtl,切换视图

原文 介绍 我从一个基于SDI(单文档接口)WTL向导的应用开始,添加了一些从控件继承的窗口和一些对话框窗口(表单视图),然后才发现我必须,使SDI框架动态加载和卸载子窗口. 本文演示了两个可用来完成的技术:在SDI应用中的视图间动态切换.这是我使用的两个. 技术 1技术:第一个方…

指针作为函数参数详解

一级指针传参 形参指针的指向没有被改变 void test(int* p1) {*p1 8; }int main() {int a 5;int* p &a;test(p);printf("%d\n", a); }输出 8总结: 由代码和上图可知,实参p是个指针,其值为变量a的地址,将其传参给形参p1&…