微信小程序之巧妙的封装
巧妙的封装
暴露一个访问地址xapp.config.js
module.exports = {
api_host: `https://a.squmo.com/yizu`
}
继续引入,加暴露api.config.js
const xapp = require('./xapp.config.js');
// 注册接口
module.exports = {
GetAddr: `${xapp.api_host}/GetAddr/index`
...
}
继续暴露,加request处理 method.js
const api = require('./api.config.js');
const request = require('../common/request.js');
module.exports = {
GetAddr: (data) => request(api.GetAddr, data, 'POST')
...
}
使用方法
const Api = require("../../config/method.js");
const app = getApp();
Page({
data: {
addrs: [],
},
onLoad: function () {
var self = this;
var longitude = app.globalData.userlon;
var latitude = app.globalData.userlat;
// 获取店铺信息
Api.GetAddr({
lon: longitude,
lat: latitude
}).then(res => {
let addrs = res.getAddr;
console.log(JSON.stringify(addrs));
let mindistance = addrs.reduce((prev, current) => (prev.distance < current.distance) ? prev : current)
self.setData({
addrs: mindistance
});
})
}
...
})
这里是一个巧妙的层层封装过程!
小程序,最重要的就是接口的使用!
通过这样的封装,使用起来非常方便!
有统一的入口地址!
可以指定接口的提交方式,POST,GET等等。
传递参数,获取参数都非常的方便!
大刀阔斧,快刀斩乱麻!--谭康!
微信小程序之巧妙的封装的更多相关文章
- 微信小程序request请求的封装
目录 1,前言 2,实现思路 3,实现过程 3.1,request的封装 3.2,api的封装 4,实际使用 1,前言 在开发微信小程序的过程中,避免不了和服务端请求数据,微信小程序给我们提供了wx. ...
- 微信小程序ES6方法Promise封装接口
为何要封装接口? 有小程序开发的经验者,相信对微信API Request很熟悉了.对接接口时,有大部分的开发者都是直接调用request方法,去请求后台接口并渲染数据.诚然,直接使用api发起请求对接 ...
- 微信小程序“一劳永逸”的接口封装
前言 最近都在研究小程序了,我可以的! 需求 之前都是用vue来开发项目的,接口模块我特意封装了一下.感觉也可以记录一下 小程序的接口虽说简单,但是重复调用那么多,显得不专业(一本正经的胡说八道) 还 ...
- 微信小程序开发——使用promise封装异步请求
前言: 有在学vue的网友问如何封装网络请求,这里以正在写的小程序为例,做一个小程序的请求封装. 关于小程序发起 HTTPS 网络请求的Api,详情可以参考官方文档:wx.request(Object ...
- 微信小程序HTTP接口请求封装
1.方法封装(新建文件夹util,工具文件,在文件夹下创建request.js文件,用于对方法封装)request.js: var app = getApp(); //项目URL相同部分,减轻代码量, ...
- 微信小程序 之 请求函数封装
封装的request的代码 /** * @desc API请求接口类封装 */ /** * POST请求API * @param {String} url 接口地址 * @param {Object} ...
- python flask框架学习(三)——豆瓣微信小程序案例(二)整理封装block,模板的继承
我们所要实现的效果: 点击电影的更多,跳转到更多的电影页面:点击电视剧的更多,跳转到更多的电视剧页面. 三个页面的风格相同,可以设置一个模板,三个页面都继承这个模板 1.在指定模板之前,把css放在一 ...
- 微信小程序之工具js封装与使用
工具库的创建与使用 创建一个common文件夹 在common文件夹中创建一个utils文件夹 在utils文件夹中创建util.js // 工具 function tool() { console. ...
- 微信小程序缓冲类的封装
1:utils 目录下新建一个Cache.js文件 2:文件下书写以下代码: // 缓存类 class Cache { // 构造方法 单位秒 constructor({ expire = 3600 ...
随机推荐
- app下载——js设备判断
摘自:今日头条<!doctype html> <html lang="en"> <head> <meta charset="UT ...
- python之linecache使用
Python linecache模块缓存读取大文件指定行 linecache模块的作用是将文件内容读取到内存中,进行缓存,而不是每次都要从硬盘中读取,这样效率提高很多,又省去了对硬盘IO控制器的频繁操 ...
- Intellij IDEA 配置Subversion插件实现步骤详解
在使用Intellij的过程中,突然发现svn不起效了,在VCS–>Checkout from Version Control中也未发现Subversion这一项.如下图: 一.原因查找 经过 ...
- QT Designer 的汉化
Designer是很好用的设计器,通过 pip 安装PyQt5之后,一般都是英文的 所以给有需要的人带来汉化的包(这个是通过替换 translations 文件夹来实现的) translations ...
- shell编程学习1
1.shell是操作系统的终端命令行 (1)shell可以理解为软件系统提供给用户操作的命令行界面,可以说它是人机交互的一种方式. (2)我们可以使用shell和操作系统.uboot等软件系统进 ...
- Spring属性注入、构造方法注入、工厂注入以及注入参数(转)
Spring 是一个开源框架. Spring 为简化企业级应用开发而生(对比EJB2.0来说). 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.Spring ...
- LeetCode OJ:Sqrt(x)(平方根)
Implement int sqrt(int x). Compute and return the square root of x. 简单的二分法,注意mid应该选为long,否则容易溢出: cla ...
- react layout init
class Layout extends React.Component { constructor(props) { super(props); } render() { return ( < ...
- c# unicode 编码 中文转换 已测试(转)
中文传参时因为编码不同经常凌乱风中,故传前编成unicode码来过度是一个不错的解决方法 /// <summary> /// 中文转unicode /// </summ ...
- Arcgis for Js实现graphiclayer的空间查询(续)
上文中,实现了简单的针对graphiclayer的空间查询工作,在本节,将更加详细的介绍针对graphiclayer的空间查询.首先,空间查询的方式:提供多种类型的空间查询,包括点周边.线周边.面内等 ...