小程序调用后端接口服务 配置文件详解

前言

为了开发阶段的效率更高,方便项目接口管理,在开发web项目时,我们需要把后端提供的接口地址进行配置,这样我们自己在调用时,要方便得多,利己利人。在配置小程序接口地址时,和web的配置大同小异,下面总结几点配置小程序接口地址的思路:

1、所有接口地址,要丢在一个对象里(为了方便下面解释,这里设置一个对象名:config),为什么了,因为要对外暴露,方便外部访问,这样[key:value]方式是最合理的,那就是对象了。

2、真实接口地址,也就是对象键值对的value,要用英文模式下Tab键的上一颗按键(反引号,这里不写了,会和Markdown标记代码的语法冲突,和下面一个反引号形成一对标记为代码块)包起来。两个为一对,包一个接口地址,多一个少一个都会报错。其他符号[""、'']是不行的,写了就报错无效的url。而我们以往配置web接口文件时,只需英文模式[""、'']引号,单或者双引号就阔以了。
小注:[`] 英文名叫accent,表示重音符,也叫反引号。

3、接口地址都写好,丢进对象里了,你想试试能不能调,这时,是不行。因为还缺少一个接口所在对象 [config] 对外的返回 [module.exports = config],不好理解的话,可以理解为一个方法的返回值。

为了理解这个返回 [module.exports = config] 的方式,这里解释下:

a.首先require 在小程序中用来加载外部js文件,而 exports 和 module.exports 则用来导出代码。

示例:const home_config= require('../../config').home_config;

b、module.exports的初始值是一个空对象{},而exports是指向 module.exports 的一个引用。

示例:module.exports = config

c、require()返回的是module.exports。

示例:const home_config= require('../../config').home_config;<==>const home_config= config.home_config;

这样,是不是理解了为什么在接口地址都丢进对象里后,还要加一个对外的返回。这样在其他js文件就可以调用所配置接口地址。为了更好的理解接口配置,下面写了一个小程序接口配置文件config.js的示例


 // config.js
 2 /**
 3  * 小程序后端接口配置文件
 4  */
 //域名要在小程序的管理平台配置好,如果出现调用时报错,无效的域名,可在微信开发工具左边点项目-->配置信息-->看一下配置的域名【request合法域名】有没有刷新下来,没有的话就点下面的刷新
 5 var host = "https://www.baidu.com"  
 6 
 7 var config = {
 8 
 9   // 下面的地址配合 Server 工作
10   host,
11 
12   //配置
13   home_config: `${host}/test/wx/home_config`,
15 
16   //素材
17   materials: `${host}/test/wx/materials`,
19 
20   //token
21   qntoken: `${host}/test/wx/gainqntoken`,
22 
23   // 详情
24   updateuser: `${host}/test/wx/updateuser`,
25 
26 };
27   //对外把对象config返回
28 module.exports = config

在其他js是这样调用接口地址的:

    // test.js
 3 const home_config = require('../../config').home_config; 
 4 
 5 Page({
 6 
 7   /**
 8    * 页面的初始数据
 9    */
10   data: {
11     
12   },
13 
14   /**
15    * 生命周期函数--监听页面加载
16    */
17   onLoad: function (options) {
18     var that = this;
19     that.getHomeConfigMethod();
20   },
21   getHomeConfigMethod:function(){
22     var that = this;
23    wx.request({
24      url: home_config+"?token=toekn", //小程序目前发起request请求,必须是https协议
25      success:function(res){
26       console.log(res);
27      },
28      fail:function(res){
29         console.log(res)
30      }
31    })
32 
33   }
34 })

小程序接口配置文件就是这么搞。

licat

继续阅读此作者的更多文章