微信小程序“一劳永逸”的接口封装
前言
最近都在研究小程序了,我可以的!
需求
之前都是用vue来开发项目的,接口模块我特意封装了一下。感觉也可以记录一下
小程序的接口虽说简单,但是重复调用那么多,显得不专业(一本正经的胡说八道)
还有一篇,小程序遇到了的那些坑和小技巧)待续
一、小程序接口请求流程

简单的画了一个流程图
二、域名配置
一定要配置https,小程序上配置的域名必须是域名备案的,还有一定服务器要TLS1.2以上

三、打开微信开发者工具,打开你的项目,点开详情。确认一下域名是否一一匹对。不然会编译失败的哦

四、在你的项目文件utils 文件中新建api.js http.js

五、http.js 代码(复制过去就可以了)
module.exports = {
http(url, method, params) {
let token = 'token' // 获取token,自行获取token和签名,token和签名表示每个接口都要发送的数据
let sign = 'sign' // 获取签名 (后台怎么定义的,就传什么)
let data = {
token,
sign
}
if (params.data) { // 在这里判断一下data是否存在,params表示前端需要传递的数据,params是一个对象,有三组键值对,data:表示请求要发送的数据,success:成功的回调,fail:失败的回调,这三个字段可缺可无,其余字段会忽略
for (let key in params.data) { // 在这里判断传过来的参数值为null,就删除这个属性
if (params.data[key] == null || params.data[key] == 'null') {
delete params.data[key]
}
}
data = { ...data, ...params.data }
}
wx.request({
url: '你配置的域名' + url, // 就是拼接上前缀,此接口域名是开放接口,可访问
method: method == 'post' ? 'post' : 'get', // 判断请求类型,除了值等于'post'外,其余值均视作get 其他的请求类型也可以自己加上的
data,
header: {
'content-type': 'application/json'
},
success(res) {
params.success && params.success(res.data)
},
fail(err) {
params.fail && params.fail(err)
}
})
}
}
六、api.js(再次复制代码 就可以了)
// 在这里面定义所有接口,一个文件管理所有接口,易于维护
import { http } from './http'; // 引入刚刚封装好的http模块,import属于ES6的语法,微信开发者工具必须打开ES6转ES5选项 function femaleNameApi(params) { // 请求随机古诗词接口
http('project/projectInfos', 'get', params) // 接口请求的路由地址以及请求方法在此处传递
} // 每一个接口定义一个函数,然后暴露出去,供逻辑代码调用 function novelApi(params) { // 小说推荐接口
http('/novelApi', 'get', params)
} export default { // 暴露接口
femaleNameApi,
novelApi
}
七、在index.js 调用(你想在哪里用就在哪里用)
//index.js
import http from '../../utils/api' // 引入api接口管理文件 Page({
onLoad: function () { this.getData()
}, getData(){
http.femaleNameApi({ // 调用接口,传入参数
data: {
token: '470712FF0FE2392D6CB6D8A6560805CC'
},
success: res => {
console.log('接口请求成功', res)
this.setData({
femaleList: res.data
})
},
fail: err => {
console.log(err)
}
})
}
})
八、打开控制台
如果你这样的错

忘记说了showRequestInfo() 这个了(一开始,以为是api 接口),直接在控制台输入这个方法就可以了,可以看到错误信息详情
那说明你们的服务器要有证书,而且TLS版本要大于等于1.2
(我把我后台逼疯了,哈哈哈哈哈哈哈)
如果你是这样的,恭喜你接口成功了呢

九、Fannie式总结
以上的两个文件,算是接口封装的模板,你放在哪一个项目里面都可以这样配置
有一点一劳永逸的意思
但是它封装的不够完美
没有我的vue项目封装的好,改天再改造一下
希望对你有帮助,拜拜咯!
微信小程序“一劳永逸”的接口封装的更多相关文章
- 微信小程序request(ajax)接口请求封装
微信小程序request(ajax)接口请求封装 最近在进行小程序的编写,需要调用后端接口,经常要用到wx.request方法,所以就自己封装了一下,简化一下代码,如果能给大家提供帮助更好,在封装的时 ...
- 微信小程序wx.request接口
微信小程序wx.request接口 wx.request是小程序客户端与服务器端交互的接口 HTTPS 请求 一个微信小程序,只能同时(同时不能大于5个)有5个网络请求 wx.request(OBJE ...
- 微信小程序通过api接口将json数据展现到小程序示例
这篇文章主要介绍了微信小程序通过api接口将json数据展现到小程序示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧实现知乎客户端的一个重要知识前提就是,要知道怎么通过 ...
- 微信小程序request请求的封装
目录 1,前言 2,实现思路 3,实现过程 3.1,request的封装 3.2,api的封装 4,实际使用 1,前言 在开发微信小程序的过程中,避免不了和服务端请求数据,微信小程序给我们提供了wx. ...
- 微信小程序请求API接口PHPSESSID变化的解决方式
微信小程序开发,请求服务器API的方法使用的是微信官方提供的wx.request()方法.在开发中发现,每一个请求都会生成一个独立的PHPSESSID,如下图示: 搜索后得知,这是由于wx.reque ...
- java微信小程序调用支付接口(转)
简介:微信小程序支付这里的坑还是有的,所以提醒各位在编写的一定要注意!!! 1.首先呢,你需要准备openid,appid,还有申请微信支付后要设置一个32位的密钥,需要先生成一个sign,得到pre ...
- java微信小程序调用支付接口
简介:微信小程序支付这里的坑还是有的,所以提醒各位在编写的一定要注意!!! 1.首先呢,你需要准备openid,appid,还有申请微信支付后要设置一个32位的密钥,需要先生成一个sign,得到pre ...
- 微信小程序之 ----API接口
1. wx.request 接口 可在文件 wxs中操作,连接服务器处理数据 参数 ① url ② data ③ header ④ method ⑤ dataType 回调 ...
- 微信小程序通过api接口将json数据展现到小程序上
实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上. 那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上. 1.用到的知识点 <1& ...
随机推荐
- BIN文件合并烧写
可以实现将Bootloader和Application合并烧写 使用UBIN.exe工具或者J-Flash工具 UBIN工具 选择Bootloader源文件 添加Bootloader源文件 选择App ...
- nginx+uwsgi+django+supervisor+mysql+redis
目录 1. 概述 3 2. 安装与配置 3 2.1 django项目与应用创建 3 2.2 uwsgi安装与配置 6 2.3 supervisor安装与配置 8 2.4 nginx安装与作为反向代理服 ...
- Python学习日记(二十五) 接口类、抽象类、多态
接口类 继承有两种用途:继承基类的方法,并且做出自己的改变或扩展(代码重用)和声明某个子类兼容于某基类,定义一个接口类interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子 ...
- 【hadoop】看懂WordCount例子
前言:今天刚开始看到map和reduce类里面的内容时,说实话一片迷茫,who are you?,最后实在没办法,上B站看别人的解说视频,再加上自己去网上查java的包的解释,终于把WordCount ...
- MQTT的websockets应用_转
转自:mosquitto 与websocket 的结合 前言 mosquitto 作为一个消息代理, 客户端与 mosquitto 服务端的通信时基于 MQTT 协议的, 而现在的主流 web 应用时 ...
- QEMU简介
参考:What Is the Difference between QEMU and KVM? 注意:上面参考文章有个错误,他把KVM算成类型一虚拟化,应该是类型2虚拟化. 关于类型一虚拟化和类型二虚 ...
- zabbix Server 4.0 监控JMX监控详解
zabbix Server 4.0 监控JMX监控详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家都知道,zabbix server效率高是使用C语言编写的,有很多应用 ...
- SOAP知识点
SOAP简介: SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换. 或者更简单地说:SOAP 是用于访问网络服务的协议. 1.什么是 SOAP? SOAP 指简易对象访 ...
- SpringCloud2.0 Turbine 断路器集群监控 基础教程(九)
1.启动基础工程 1.1.启动[服务中心]集群,工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) ...
- WPF + SelfHost 实现窗体自宿主(API,API和窗体通信)
前言 今天研究了在 WPF 中使用 SelfHost 自宿主. 具体的功能是,在 WPF 中使用自宿主服务,外部调用服务的 API,在 API 里面操作窗体的显示等. 技术点 在 WPF 中集成 Se ...