巧妙的封装

暴露一个访问地址xapp.config.js

  1. module.exports = {
  2. api_host: `https://a.squmo.com/yizu`
  3. }

继续引入,加暴露api.config.js

  1. const xapp = require('./xapp.config.js');
  2. // 注册接口
  3. module.exports = {
  4. GetAddr: `${xapp.api_host}/GetAddr/index`
  5. ...
  6. }

继续暴露,加request处理 method.js

  1. const api = require('./api.config.js');
  2. const request = require('../common/request.js');
  3. module.exports = {
  4. GetAddr: (data) => request(api.GetAddr, data, 'POST')
  5. ...
  6. }

使用方法

  1. const Api = require("../../config/method.js");
  2. const app = getApp();
  1. Page({
  2. data: {
  3. addrs: [],
  4. },
  5. onLoad: function () {
  6. var self = this;
  7. var longitude = app.globalData.userlon;
  8. var latitude = app.globalData.userlat;
  9. // 获取店铺信息
  10. Api.GetAddr({
  11. lon: longitude,
  12. lat: latitude
  13. }).then(res => {
  14. let addrs = res.getAddr;
  15. console.log(JSON.stringify(addrs));
  16. let mindistance = addrs.reduce((prev, current) => (prev.distance < current.distance) ? prev : current)
  17. self.setData({
  18. addrs: mindistance
  19. });
  20. })
  21. }
  22. ...
  23. })

这里是一个巧妙的层层封装过程!

小程序,最重要的就是接口的使用!

通过这样的封装,使用起来非常方便!

有统一的入口地址!

可以指定接口的提交方式,POST,GET等等。

传递参数,获取参数都非常的方便!

大刀阔斧,快刀斩乱麻!--谭康!

微信小程序之巧妙的封装的更多相关文章

  1. 微信小程序request请求的封装

    目录 1,前言 2,实现思路 3,实现过程 3.1,request的封装 3.2,api的封装 4,实际使用 1,前言 在开发微信小程序的过程中,避免不了和服务端请求数据,微信小程序给我们提供了wx. ...

  2. 微信小程序ES6方法Promise封装接口

    为何要封装接口? 有小程序开发的经验者,相信对微信API Request很熟悉了.对接接口时,有大部分的开发者都是直接调用request方法,去请求后台接口并渲染数据.诚然,直接使用api发起请求对接 ...

  3. 微信小程序“一劳永逸”的接口封装

    前言 最近都在研究小程序了,我可以的! 需求 之前都是用vue来开发项目的,接口模块我特意封装了一下.感觉也可以记录一下 小程序的接口虽说简单,但是重复调用那么多,显得不专业(一本正经的胡说八道) 还 ...

  4. 微信小程序开发——使用promise封装异步请求

    前言: 有在学vue的网友问如何封装网络请求,这里以正在写的小程序为例,做一个小程序的请求封装. 关于小程序发起 HTTPS 网络请求的Api,详情可以参考官方文档:wx.request(Object ...

  5. 微信小程序HTTP接口请求封装

    1.方法封装(新建文件夹util,工具文件,在文件夹下创建request.js文件,用于对方法封装)request.js: var app = getApp(); //项目URL相同部分,减轻代码量, ...

  6. 微信小程序 之 请求函数封装

    封装的request的代码 /** * @desc API请求接口类封装 */ /** * POST请求API * @param {String} url 接口地址 * @param {Object} ...

  7. python flask框架学习(三)——豆瓣微信小程序案例(二)整理封装block,模板的继承

    我们所要实现的效果: 点击电影的更多,跳转到更多的电影页面:点击电视剧的更多,跳转到更多的电视剧页面. 三个页面的风格相同,可以设置一个模板,三个页面都继承这个模板 1.在指定模板之前,把css放在一 ...

  8. 微信小程序之工具js封装与使用

    工具库的创建与使用 创建一个common文件夹 在common文件夹中创建一个utils文件夹 在utils文件夹中创建util.js // 工具 function tool() { console. ...

  9. 微信小程序缓冲类的封装

    1:utils 目录下新建一个Cache.js文件 2:文件下书写以下代码: // 缓存类 class Cache { // 构造方法 单位秒 constructor({ expire = 3600 ...

随机推荐

  1. [Jquery 插件]活动倒计时,可同步服务器时间,倒计时格式随意设置

    活动倒计时,可同步服务器时间,倒计时格式随意设置 使用说明 /* #活动倒计时,可同步服务器时间 startTime:起始时间 endTime:结束时间 format_str:字符模板 speed:倒 ...

  2. Spark 宽窄依赖

    面试时被问到spark RDD的宽窄依赖,虽然问题很简单,但是答得很不好.还是应该整理一下描述,这样面试才能答得更好. 看到一篇很好的文章,转载过来了.感觉比<spark技术内幕>这本书讲 ...

  3. activity状态的保存和恢复

    activity状态的保存和恢复 一.简介 1.保存activity状态 * 保存activity状态,onSaveInstanceState这个方法会自动保存有ID的组件的状态 * 没有ID的组件或 ...

  4. Four-operations: 使用node.js实现四则运算程序

    一. 项目基本信息 项目成员: 陈旭钦, 郭鹏燕 项目仓库: https://github.com/Yanzery/Four-operations 二. PSP2.1表格 PSP2.1 Persona ...

  5. 伪变量foo foober是什么意思

    原文: The terms foobar, foo, bar, baz and qux are sometimes used as placeholder names (also referred t ...

  6. Week03-Java学习笔记第三次作业

    Week03-面向对象入门 1.本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识点及知识点之间的联系. ...

  7. keras中自定义Layer

    最近在学习SSD的源码,其中有两个自定的层,特此学习一下并记录. import keras.backend as K from keras.engine.topology import InputSp ...

  8. mac 开启SSH服务

    SSH服务适用于所有类UNIX系统,例如Ubuntu.CentOS.RedHat,包括Mac OX,在这里简单介绍一下它的部分适用方法. 首先,介绍一下Mac OX,因为SSH在苹果系统上嵌入了,不需 ...

  9. OpenCV - 图片二值化,计算白色像素点的个数

    直接上代码吧: import cv2 import numpy as np from PIL import Image area = def getWhitePixel(img): global ar ...

  10. 第一章 Oracle10g数据库新特性

    1.1 Oracle10g数据库概述 1.1.1 网格数据库 Oracle10g数据库是一种为网格计算而设计的数据库,是第一个用完整集成的软件基础架构来实现网络计算的数据库系统,其中10g的g表示gr ...