小程序 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 ...
随机推荐
- wrangler 13 mwz 脱浆记录
100度水泡了1个小时,一点没缩 70度水泡了3个小时,一点没缩 随后绝望,放洗衣机里洗了20min,缩了2cm 想再接再厉,放洗衣机30min,没缩 放外面晾干,看晾干以后多长吧 --------- ...
- Do whlie 循环
Do whlie 循环 ◆对于while语句而言,如果不满足条件,则不能进入循环.但有时候我们需要即使不满足条件,也至少执行-次. ◆do...while循环和while循环相似,不同的是,do... ...
- 第一天1h
//摄氏度和华氏度之间的换算//20211120//ZhangWenjing#include<stdio.h>int main(void){ int f = 0; int c = 0; s ...
- 01 ansible的基本介绍
1.现有的企业服务器环境 在现在的企业中,特别是互联网公司,他们的业务量众多:比如负载均衡服务器.web服务器.动态解析(php)服务器.数据库(mysql)服务器以及网站缓存服务器,等等: 例如:一 ...
- python学习记录(六)-系统内置模块
序列化 什么是序列化?序列化是指把python中的数据以文本或二进制形式进行转换,还能反序列化为原来的数据 为什么需要序列化?便于数据在程序与网络之间的传输和存储 json:文本序列化 pickle: ...
- 微信小程序按下去的样式
微信小程序设置 hover-class,实现点击态效果 目前支持 hover-class 属性的组件有三个:view.button.navigator. 不支持 hover-class 属性的组件,同 ...
- 初次使用Sqoop报错,sqoop命令不能正常使用:hcatalog does not exist!accumulo does not exist!
1.问题描述: (1)问题示例: [hadoop@master Tmp]$ sqoop helpWarning: /home/grid/Sqoop/sqoop-1.4.7/../hcatalog d ...
- 使用.pem密钥文件登录服务器
一.使用puttygen工具将.pem文件转成.ppk文件 Load时,需注意选择文件类型为All Files 二.使用secureCRT工具登录 点击properties...按钮,上传ppk文件, ...
- 【Flutter】环境搭建(Windows+Android Studio 3.6.1)
最近参加的项目需要用到Flutter框架进行iOS/Android双端开发,然而第一步环境搭建的过程就忙活了一整个晚上,直到现在终于有时间静下心来整理一下搭建过程中遇到的困难. 0x00 Flutte ...
- 谷歌翻译不能用解决办法(谷歌翻译关闭后,如何继续使用Chrome浏览器的翻译功能?)
1.查找 IP 虽然谷歌不再提供 translate.google.cn 网页版的服务了,但谷歌翻译的 API 服务还在. 只需要通过 hosts 重定向至国内服务器,即可恢复使用. 1.Ping ...