微信小程序api封装(promise)】的更多相关文章

var SYNC_API_RE = /requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$/; var CALLBACK_API_RE = /^on/; // 微信同步api function isSyncApi(name) { return SYNC_API_RE.test(name); } function isCallbackApi(name) { return CALLBACK_API_RE.test…
顺带这是我平时公司切换改变网络环境 直接上代码,我相信就可以懂了, //app.js function fetchApi(url, type, params, method) { return new Promise((resolve, reject) => { wx.request({ url: `${url}/${type}`, data: params, method: method, header: { 'content-type': 'application/x-www-form-ur…
写多 之后,吸取之前的经验,瞎写了一个简单的封装api,有幸看到的朋友,就随便看看哈,如果能给到你帮助就一直棒了,额呵呵呵! 新建constant.js和api.js文件 在constant.js中统一定义ip地址 api.js文件 对应的返回状态码要根据怎么公司的返回码的规定改了哈 let CONSTANT = require('./constant') // 从本地存储Storage中获取token值 function getToken() { return wx.getStorageSyn…
微信小程序:封装全局的promise异步调用方法 一:封装 function POST(url, params) { let promise = new Promise(function (resolve, reject) { wx.request({ url: url, data: params, method: 'POST', success: function (res) { resolve(res.data); } }) }); return promise } 二:调用 const n…
微信小程序api拦截器 完美兼容原生小程序项目 完美兼用小程序api的原本调用方式,无痛迁移 小程序api全Promise化 和axios一样的请求方式 小程序api自定义拦截调用参数和返回结果 强大的async拦截 快速开始 安装 npm install wxapp-api-interceptors --save 详情 https://blog.csdn.net/rolan1993/article/details/80480341…
微信小程序简单封装图片上传组件 希望自己 "day day up" -----小陶 我从哪里来 在写小程序的时候需要上传图片,个人觉得官方提供的 Uploader 组件不是太好用,于是乎,看了官方文档,自己封装一个组件. 我是谁 直接上主题 在根目录下创建components文件夹 在components下开始创建自己的组件 效果图如下: 由于我使用的是flex布局,所以 我从哪里来 # wxml <view class="images-box"> &l…
微信小程序 API https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html demo https://developers.weixin.qq.com/xcode/source/mp_cover_view?tabs=index%2Findex.js,index%2Findex.wxml,index%2Findex.wxss taro https://taro-docs.jd.com/taro/docs/…
微信小程序和支付宝小程序的api封装方法是一样的,都是外部新建一个js,使用module.exports导出,要注意的是,最好使用post请求,虽然get请求没什么不好,主要是好修改.这里使用的MD5进行了token加密,最好还是把md5.js单独写下来(MD5函数js) var app = getApp(); // 引入app.js里初始化数据 var MD5 = require('./md5.js') function ApiFun (url,params) { var param = {}…
相信大家在做微信小程序的时候会有很多地方需要调用接口,就和pc以及手机端一样,多个页面多次调用会有很多状态,那为了节省大家的开发时间就会需要给请求的接口做一些简单封装,便于开发,在这里我用了两个js,一个js封装的是方法名,另外一个是接口名,统一管理 下面这个是统一的接口方法封装 const baseURL = "接口名"; const request = params => { const token = wx.getStorageSync("token")…
目录 1,起因 2,优化成果 3,实现思路 4,完整代码 1,起因 哪天,正在蚂蚁森林疯狂偷能量的我被boss叫过去,告知我司要做一个线上直播公开课功能的微信小程序,博主第一次写小程序,复习了下文档,看了看腾讯云直播sdk,开工了. 写着写着就发现不对劲了, 这里面wx.showToast,wx.showModal,这一类的调用太多了,每次都写一遍太特么麻烦了,就拿wx.showToast做例子,产品要求是duration为2000ms,默认值是1500ms,且有时候不需要icon图标,有时候又…
下面将封装http请求服务部分的服务以及引用部分 // 本服务用于封装请求 // 返回的是一个promisepromise var sendRrquest = function (url, method, data, header) { var promise = new Promise(function (resolve, reject) { wx.request({ url: url, data: data, method: method, header: header, success:…
废话引言 小程序虽然出世很久了,但一直没怎么接触到小程序开发.吉他兴趣班老师想弄一个小程序发布课程信息和打卡功能,作为IT一员就自愿加入了这个小程序开发小组中.虽然小程序面向的是前端工程师,但作为移动端程序猿感觉甚是友好,加上有点前端基础就更是觉得入手很easy啦. 微信小程序的网络请求很便捷,直接调用就可以了.但最好还是根据需求,处理一些参数回调信息,进行二次封装,为整个小程序应用直接提供调方法接口岂不是更好? 利用网络请求的一贯思维,分三个回调:onStart:开始请求, onSuccess…
<?php /** * Created by PhpStorm. * User: yangs * Date: 2019/4/26 * Time: 14:28 */ class WeixinPay { protected $appid; protected $mch_id; protected $key; protected $openid; protected $out_trade_no; protected $body; protected $total_fee; function __con…
其实还有一些组件,没有提,因为那些组件跟 API 的功能差不多,API 可能比他会更好一点: 具体可见官方文档 基础: 判断接口是否可用:wx.canIUse(a) a 代表:接口名字 返回值:布尔 true代表成功,false代表接口不可用 系统信息:wx.getSystemInfo({}) 使用第二种 参数:{} success:代表成功   fail:代表失败   complete:接口调用完成后的回调函数 案例: wx.getSystemInfo({ success(res) { con…
封装一个弹窗组件 1.新建component文件夹存放我们的组件,里边存放的就是我们所用的组件,我们今天要做的事弹出框,新建文件夹popup存放我们的组件模板,点击右键选择新建component,就会自动生成组件的模板wxss.wxml.json.js,如图: 2.我们可以写一些组件样式和布局,跟页面写法类似,我就不多说了,直接把代码贴出 : popup.wxml <view class="wx-popup" hidden="{{flag}}"> <…
微信小程序 数据缓存 (类似于 cookie) wx.setStorage() 将数据存储在本地缓存中制定的 key 中.会覆盖掉原来该 key 对应的内容,数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用,单个key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB 参数:对象 对象上的属性: key:类型 字符串 本地缓存中指定的 key data:类型 any 需要存储的内容,只支持原生类型.data.及能通过 JSON.stri…
为何要封装接口? 有小程序开发的经验者,相信对微信API Request很熟悉了.对接接口时,有大部分的开发者都是直接调用request方法,去请求后台接口并渲染数据.诚然,直接使用api发起请求对接接口开发速度是快的,可是,一旦对接的接口多了起来,这样简单,直接的方法出现了很多缺陷. 难以维护.域名被换或者接口名被换,修改接口名得一个个文件找,而且可能不清楚有多少文件调用了需要修改的接口,导致效率低下 难以管理.无法了解到底用了哪些接口,难于统一修改,除非一个个找出了,并其归纳 代码重复.有些…
前言: 有在学vue的网友问如何封装网络请求,这里以正在写的小程序为例,做一个小程序的请求封装. 关于小程序发起 HTTPS 网络请求的Api,详情可以参考官方文档:wx.request(Object object). 如果直接使用官方提供的个Api,那么每次在进行网络请求调用时,我们都要按官方文档上说的那样传递需要设置的请求参数,然后对不同的请求相应结果做不同的处理.但是前端同服务器端的接口请求中有大部分的请求参数以及响应结果处理都是很类似的,也就没有必要对所有请求代码都重新敲敲一遍,那么对原…
@ 目录 一,让我们看一下项目目录 二,让我们熟悉一下这三个文件目的(文件名你看着办) 三,页面js中如何使用 今天的API的封装,我们拿WX小程序开发中,对它的API (wx.request)对这个进行一个二次封装.传统的小程序的网络请求,在我们的请求需求过多的时候,就会显得杂乱,和难维护.带着一开时难,后来维护爽的态度让我们来给他封装一下. 让我们开始 一,让我们看一下项目目录 让我们建立一个api的文件夹,来存放我们的封装逻辑,文件夹中建立三个JS文件 二,让我们熟悉一下这三个文件目的(文…
内容那么多,这个页面到底做了什么? 第一:解决微信文档APi文档使用不便: 第二:解决了内容搜索与索引:—— 最好是写成全文索引文档,但是比较需要时间,而且更新是一件麻烦的事:所以以下是直接 连接官网查看的: 第三:解决了完整性:—— 当你看文档时,无法掌握整体:这里可能更容易记忆目录整体: 第四:不一定每个人阅读后,都有作用!—— 可能本文档与你无缘: 目录2017-12-1911:37:56 网络 媒体 文件 数据缓存 位置 设备 界面 WXML节点信息 第三方平台 开放接口 数据 调试接口…
调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key).用户数据的加解密通讯需要依赖会话密钥完成. OBJECT参数说明: 参数名 类型 必填 说明 success Function 否 接口调用成功的回调函数 fail Function 否 接口调用失败的回调函数 complete Function 否 接口调用结束的回调函数(调用成功.失败都会执行) success返回参数说明: 参数名 类型 说明 err…
wx.login(OBJECT) 调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key).用户数据的加解密通讯需要依赖会话密钥完成. https://www.w3cschool.cn/weixinapp/weixinapp-api-login.html OBJECT参数说明: 参数名 类型 必填 说明 success Function 否 接口调用成功的回调函数 fail Function 否 接口调用失败的回…
wx.checkSession(Object object) 检查登录态是否过期. 通过 wx.login 接口获得的用户登录态拥有一定的时效性.用户越久未使用小程序,用户登录态越有可能失效.反之如果用户一直在使用小程序,则用户登录态一直保持有效.具体时效逻辑由微信维护,对开发者透明.开发者只需要调用 wx.checkSession 接口检测当前用户登录态是否有效. 登录态过期后开发者可以再调用 wx.login 获取新的用户登录态.调用成功说明当前 session_key 未过期,调用失败说明…
(1)使用微信内置地图查看位置 wx.openLocation(Object object) 使用微信内置地图查看位置 参数 Object object 属性 类型 默认值 必填 说明 latitude number   是 纬度,范围为-90~90,负数表示南纬.使用 gcj02 国测局坐标系 longitude number   是 经度,范围为-180~180,负数表示西经.使用 gcj02 国测局坐标系 scale number 18 否 缩放比例,范围5~18 name string…
路由:由于页面的跳转: wx.switchTab() 跳转到 tabBar 页面,并关闭掉其他所有非 tabBar 页面: 参数:为对象, 对象的属性: url:需要跳转的 tabBar 的页面路径(需在app.json 的 tabBar 字段定义的页面),路径后面不能在参数 success:接口调用成功后的回调函数 fail:接口调用失败的回调函数 complete:接口调用结束的回调函数 案例: wx.switchTab({ url:"/a/d/g", //路径 success:f…
/** * 将回调地狱转换为 Promise 形式 * https://blog.csdn.net/SEAYEHIN/article/details/88663740 * raw: wx.downloadFile({ url: this.data.curImg, success: res => { console.log(20191121213856, res) } }) now: async go() { const downloadFile = this.app.pm(wx.download…
第一步,在page下面新建一个template文件,如下图 第二部,在template.wxml中编写公用组件即要封装的代码模块 <!--pages/template/template.wxml--> <template name="mars"> <view> <text>mars{{step}}</text> </view> </template> 第三部,在需要使用封装的组件的wxml文件里引入,此…
网络 API 类似于 ajax 向服务器请求网络地址,唯一不同的是这个请求有很多的规则,且必须向服务器上请求,不能在本地请求 网络 发送请求: wx.request() 发起https网络请求 参数:对象 对象的属性: url:类型 字符串 开发者服务器的接口地址(且拥有诸多的限制,必须是https的网络请求) 如图: 如果我们没有合法的域名,也能进行测试: 我们需要对调试基础库的选项进行打勾就好了 data:类型 字符串/对象/数组/缓存 请求的参数 header:类型 对象 请求设置的 he…
由于每个 API 参数:对象的属性都有 success,fail,complete,所以在这个提前介绍,就不再每个API 上写了 success:类型 函数 接口调用成功的回调函数 fail:类型 函数 接口调用失败的回调函数 complete:类型 函数 接口调用结束的回调函数(调用 成功,失败,都会执行) ---------------------------------- 下拉刷新: wx.stopPullDownRefresh() 停止当前页面的下拉刷新 直接调用即可 wx.startP…
界面 有关屏幕的api 交互: wx.showToast() 显示消息提示框 参数:object object的属性: title:类型 字符串 提示的内容(文本最多7个汉字) icon:类型 字符串 图标 属性值:success:显示成功的图标 loading:显示加载的图标 none:不显示图标 image:类型 字符串 自定义图标的本地路径,image的优先级高于 icon duration:类型 数字 提示延迟的时间 mask:类型 布尔 是否显示透明蒙层,防止触摸穿透 success:…