promise封装小程序的请求类(request,清爽易懂)
话不多说直接上代码,清爽易懂:
import {
config
} from '../config.js'
const tips = {
1:'抱歉出现了一个错误',
2:'网络错误',
1005:'错误1',
1006:'错误2',
}
class HTTP {
request(params) {
if (!params.method) {
params.method = 'GET'
}
wx.request({
url: config.api_base_url + params.url,
method: params.method,
data: params.data,
header: {
'content-type': 'application/json',
'appkey': config.appkey
},
success: (res) => {
res.statusCode = '400'
let code = res.statusCode.toString()
// 2开头的code
// startsWith
// endsWith
if (code.startsWith('2')) {
// params.success 存在则执行
params.success && params.success(res.data)
}
else {
let error_code = res.data.error_code
// 传入报错code
this._show_erro(1)
}
},
fail: (err) => {
// 网路错误
let error_code = res.data.error_code
// 传入报错code
this._show_erro(2)
}
})
}
_show_erro(error_code){
if(!error_code){
error_code = 1
}
wx.showToast({
title: tips[error_code],
icon:'none',
duration:2000
})
}
}
export { HTTP }
promise封装小程序的请求类(request,清爽易懂)的更多相关文章
- 小程序-promise封装小程序的请求方法
// 在utils-->base.js中,封装一个Base类,有一个axios方法 class Base{ constructor(){ } axios(method,url,data){ co ...
- promise封装小程序的蓝牙类
// pages/bluetooth/bluetooth.js import { BluetoothMode } from '../../models/bluetooth.js' import {Sy ...
- 基于promise对小程序http请求方法封装
原因是我不想每次请求都复制粘贴那么长的请求地址,所以我把前边那一坨请求地址作为基础地址,只传后台给的路由就ok,而且,并不是每次请求都要显示正在加载,这对小程序体验很差,所以,我加了个形参,用来判断是 ...
- 微信小程序网络请求wx.request请求
最近微信小程序开始开放测试了,小程序提供了很多api,极大的方便了开发者,其中网络请求api是wx.request(object),这是小程序与开发者的服务器实现数据交互的一个很重要的api. 百牛信 ...
- 超简单 Promise封装小程序ajax 超好用 以及封装登录
//网络类 //封装网络请求 const ajax = (ajaxData, method) => { wx.showLoading({ title: '加载中', mask: true }); ...
- mpvue学习笔记-之微信小程序数据请求封装
简介 美团出品的mpvue已经开源出来很久了,一直说要进行一次实践,这不最近一次个人小程序开发就用上了它. 看了微信官方的数据请求模块--request,对比了下get和post请求的代码,发现如果在 ...
- 小程序api请求层封装(Loading全局配置)
前言 小程序开发,没有vue中的axios那么好使,请求层的封装需要自己来搞. 当然请求层的配置少不了loading,这里索性也就将loading做一个配置,避免以后重复造轮子 请求封装 小程序中有封 ...
- 微信小程序数据请求方法wx.request小测试
微信小程序数据请求方法 wx.request wxml文件: <view> <textarea value="{{textdata}}"/> </vi ...
- 微信小程序 网络请求之re.request 和那些坑
微信小程序有四种网络请求类型,下面只详细介绍普通HTTPS请求(wx.request) 普通HTTPS请求(wx.request) 上传文件(wx.uploadFile) 下载文件(wx.downlo ...
随机推荐
- PostgreSQL正则及模糊查询优化
1.带前缀的模糊查询 ~'^abc' 可以使用btree索引优化 create index idx_info on table_name(info) 2.带后缀的模糊查询 ~'abc$' 可以使用 ...
- 利用perlin noise 生成 wood texture
%%% Perlin Noise %%% Wood_texture clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image P ...
- noip退役赛
上下午 6 题一起考 自闭了 T1 小明要参加一场比赛,赛制给你一个表格 $p$ ,$p_{(i,j)}$ 表示他在第 $i$ 场比赛前如果输了 $j$ 场,他这一场赢的概率,他也可以故意输掉任意多场 ...
- Qt Quick中的信号与槽
在QML中,在Qt Quick中,要想妥善地处理各种事件,肯定离不开信号与槽,本博的主要内容就是整理Qt 中的信号与槽的内容. 1. 链接QML类型的已知信号 QML中已有类型定义的信号分为两类:一类 ...
- 洛谷 P1767 家族_NOI导刊2010普及(10)
题目描述 在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏.现在给你岛上的 ...
- python中如何定义main方法
我们有时写的python模块需要自己测试, 简单方法就是定义main函数, 然后测试自己的模块接口. def main(): test_yourCode() if __name__ == & ...
- C# 表达式树(Expression)
c#中有Expression,即表达式. 通过Expression可以动态构造代码,并编译执行. 比如: 1. 创建参数表达式 :ParameterExpression numParam = Ex ...
- strcmp strcpy的使用 char类型
//判断从控制台输入的密码是否正确 BOOL varifyPassWord(char passWord[] , int index) { BOOL result = YES; int count = ...
- Poj 2350 Above Average(精度控制)
一.Description It is said that 90% of frosh expect to be above average in their class. You are to pro ...
- 【转】 Pro Android学习笔记(七七):服务(2):Local Service
目录(?)[-] Local service代码 调用Local ServiceLocal Service client代码 AndroidManifestxml定义Serviceacitivty的l ...