小程序 TS 封装API
通俗易懂不说废话,拿去用,看两遍就能理解。
1 const { baseUrl } = require('./env').dev;
2 const token = wx.getStorageSync('token') || '';
3 module.exports = {
4 request: function (url: string, method = "GET" as any, data: any) {
5 // wx.showLoading({
6 // title: '玩命加载中',
7 // })
8 return new Promise((resolve, reject) => {
9 wx.request({
10 url: baseUrl + url,
11 method: method,
12 data,
13 header: {
14 'Content-type': 'application/json;charset=utf-8',
15 'Authorization': 'Bearer ' + token,
16 },
17 success(res: any) {
18 console.log('res::', res)
19 if (res) {
20 resolve(res.data.data)
21 wx.hideLoading()
22 } else {
23 wx.showToast({
24 title: '接口有问题,请检查',
25 })
26 reject('接口有问题,请检查')
27 }
28 },
29 fail(err: any) {
30 console.log('err::', err)
31 wx.showToast({
32 title: '数据接口有问题',
33 })
34 reject('数据接口有问题')
35 }
36 })
37 })
38 },
39 loginCode: (data: any) => {
40 return new Promise((resolve, reject) => {
41 wx.request({
42 url: baseUrl + '/basic-management/app-api/app/admin/auth/login-code',
43 method: 'POST',
44 data,
45 header: {
46 'Content-type': 'application/json;charset=utf-8'
47 },
48 success(res: any) {
49 if (res) {
50 // wx.setStorageSync('token', res.data.data.token)
51 wx.setStorage({
52 key: "token",
53 data: res.data.data.token
54 })
55 resolve(res.data.data)
56 wx.hideLoading()
57 } else {
58 wx.showToast({
59 title: '接口有问题,请检查',
60 })
61 reject('数据接口有问题')
62 }
63 },
64 fail(err: any) {
65 console.log('err::', err)
66 wx.showToast({
67 title: '数据接口有问题',
68 })
69 reject('数据接口有问题')
70 }
71 })
72 })
73 },
74 setChangeTenant: (data: any) => {
75 return new Promise((resolve, reject) => {
76 wx.request({
77 url: baseUrl + '/basic-management/app-api/app/admin/auth/change-tenant',
78 method: 'POST',
79 data,
80 header: {
81 'Content-type': 'application/json;charset=utf-8',
82 'Authorization': 'Bearer ' + token,
83 },
84 success(res: any) {
85 console.log('res::', res)
86 if (res) {
87 resolve(res.data.data)
88 wx.hideLoading()
89 } else {
90 wx.showToast({
91 title: '接口有问题,请检查',
92 })
93 reject('接口有问题,请检查')
94 }
95 },
96 fail(err: any) {
97 console.log('err::', err)
98 wx.showToast({
99 title: '数据接口有问题',
100 })
101 reject('数据接口有问题')
102 }
103 })
104 })
105 }
106 }
小程序 TS 封装API的更多相关文章
- 微信小程序的Web API接口设计及常见接口实现
微信小程序给我们提供了一个很好的开发平台,可以用于展现各种数据和实现丰富的功能,通过小程序的请求Web API 平台获取JSON数据后,可以在小程序界面上进行数据的动态展示.在数据的关键 一环中,我们 ...
- 「小程序JAVA实战」小程序和后台api通信(28)
转自:https://idig8.com/2018/08/19/xiaochengxujavashizhanxiaochengxuhehoutaiapitongxin28/ 开发最重要的就是实操! 小 ...
- 微信小程序:封装全局的promise异步调用方法
微信小程序:封装全局的promise异步调用方法 一:封装 function POST(url, params) { let promise = new Promise(function (resol ...
- 小程序-demo:小程序示例-page/api
ylbtech-小程序-demo:小程序示例-page/api 以下将演示小程序接口能力,具体属性参数详见小程序开发文档. 1. page/component返回顶部 1. a) .js Page({ ...
- 微信小程序简单封装图片上传组件
微信小程序简单封装图片上传组件 希望自己 "day day up" -----小陶 我从哪里来 在写小程序的时候需要上传图片,个人觉得官方提供的 Uploader 组件不是太好用, ...
- 第三篇、微信小程序-网络请求API
wx.request(OBJECT)发起的是https请求.一个微信小程序,同时只能有5个网络请求连接. OBJECT参数说明: 效果图: net.js Page({ data:{ result:{} ...
- 整合微信小程序的Web API接口层的架构设计
在我前面有很多篇随笔介绍了Web API 接口层的架构设计,以及对微信公众号.企业号.小程序等模块的分类划分.例如在<C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系>介 ...
- 小程序重新封装打印函数console.log
习惯性使用console.log打印获取到的数据,信息等,然后上星期大佬看见了说怎么那么多打印信息出来,线上那个也是吗?问我能不能线上的就不打印出来? 我就说那就封装一个打印函数呗. 重写一个没问题, ...
- 小程序引入百度api天气预报
先看下最终的效果(默认可以获得未来三天数据): 第一:首先准备条件(必须): 1.小程序已认证,有appID 2.必须把https://api.map.baidu.com 添加到小程序的合法域名列表中 ...
- 微信小程序之封装http请求
下面将封装http请求服务部分的服务以及引用部分 // 本服务用于封装请求 // 返回的是一个promisepromise var sendRrquest = function (url, metho ...
随机推荐
- 2021.06.21 onmouseover和onmouseleave事件对比
在重新巩固js基础的过程中,分别使用onmouseover和onmouseleave事件却导致了不同的效果,但是在之前的记忆中,这两者确实是一样的哈,因此探究一下产生不同效果的原因. 在使用onmou ...
- Nginx配置ThinkPHP3.1的PATHINFO模式
location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?$1 last; bre ...
- 日常笔记 - visual studio code快捷键
环境: Mac + visual studio code 需求: 用vs code 编辑一个txt文档, 一行放不下, 在单行和多行显示之间切换. 快捷键: alt+z [参考链接] https:// ...
- (转载)Python 浅析线程(threading模块)和进程(process)
线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 进程与线程 什么 ...
- java获取前端的token并验证与拦截器
请求时获取token并验证 public class MyInterceptor implements HandlerInterceptor { //方法执行前进行拦截 @Override publi ...
- Centos7.6操作系统安装
新建虚拟机 默认下一步 稍后安装操作系统 选择对应的操作系统和版本 指定虚拟机名称和存储位置 处理器配置 内存配置:图形化界面至少2G,字符界面至少1G. 网络类型默认为NAT I/O控制器类型默认L ...
- KVM虚拟机根分区磁盘扩容
CentOS7.6, libvirt 4.5.0 , KVM虚拟机根分区扩容. 在宿主机执行0, 对LVM磁盘进行扩容 0. qemu-img resize 10.0.0.1_node1.qcow2 ...
- redo log的用处
redo log用途 1. 用途 保证数据的更新操作不丢失,同时保证了性能 2. 如何没有redo log,如何保证数据库的更新操作不会由于数据库的宕机而丢失? 对数据库进行修改,应该是先从磁盘读取数 ...
- smart rtmpd 服务器配置文件说明及优化方法介绍
---------------------------------------------------------------------------------------------------- ...
- Vue中使用axios发起POST请求成功,却被挂起
服务器能接收请求并处理,控制台没有报错,axios().catch也没有捕获异常.随后查看控制台网络页,发现被挂起 在Stack搜到同问题,上面说将axios()函数返回用.then查看被挂起信息.n ...