Апплет инкапсулирует запрос wx.request и создает файл управления интерфейсом.

Апплет WeChat

Разрабатывайте небольшие программы, упакованные с помощью простого в использованииwx.requestЗапрос по-прежнему необходим, что может сэкономить много затрат на техническое обслуживание! Не много сплетен, просто код.

обработать

  • Создайтеhttp.jsфайл, пакетwx.request
  • Создайтеapi.jsфайл, единое управление всеми интерфейсами
  • существуетindex.jsинтерфейс вызова

Создайтеhttp.jsфайл, пакетwx.request

существуетutilsсоздан вhttp.jsфайл, пакетhttp, код показан ниже:

module.exports = {
  http(url, method, params) {
    let token = 'token' // 获取token,自行获取token和签名,token和签名表示每个接口都要发送的数据
    let sign = 'sign' // 获取签名
    let data = {
       token,
       sign
    }
    if(params.data){ // 在这里判断一下data是否存在,params表示前端需要传递的数据,params是一个对象,有三组键值对,data:表示请求要发送的数据,success:成功的回调,fail:失败的回调,这三个字段可缺可无,其余字段会忽略
      for (let key in params.data) { // 在这里判断传过来的参数值为null,就删除这个属性
        if (params.data[key] == null || params.data[key] == 'null') {
          delete params.data[key]
        }
      }
      data = {...data,...params.data}
    }
    wx.request({
      url:'https://www.apiopen.top'+url, // 就是拼接上前缀,此接口域名是开放接口,可访问
      method:method=='post'?'post':'get', // 判断请求类型,除了值等于'post'外,其余值均视作get
      data,
      header: {
        'content-type': 'application/json'
      },
      success(res) {
        params.success&&params.success(res.data)
      },
      fail(err) {
        params.fail&&params.fail(err)
      }
    })
  }
}

Код очень простой, что нужно сказать, так это то, что в коде логики нужно только передатьparams,а такжеurlа такжеmethodПередается в интерфейсном файле, что удобно для унифицированного управления

Создайтеapi.jsфайл, единое управление всеми интерфейсами

существуетutilsСоздать подapi.jsфайл, как файл управления интерфейсом, код выглядит следующим образом:

// 在这里面定义所有接口,一个文件管理所有接口,易于维护
import {http} from './http'; // 引入刚刚封装好的http模块,import属于ES6的语法,微信开发者工具必须打开ES6转ES5选项

function femaleNameApi(params){ // 请求随机古诗词接口
  http('/femaleNameApi','get',params)  // 接口请求的路由地址以及请求方法在此处传递
}

// 每一个接口定义一个函数,然后暴露出去,供逻辑代码调用

function novelApi(params){ // 小说推荐接口
  http('/novelApi','get',params) 
}

export default { // 暴露接口
  femaleNameApi,
  novelApi
}

использоватьapi.jsПреимущество единого управления файлами в том, что очень удобно модифицировать интерфейс после обновления интерфейса.app.jsДостаточно изменить ответ в

существуетindex.jsинтерфейс вызова

Метод вызова, код выглядит следующим образом

import http from '../utils/api' // 引入api接口管理文件
Page({
  data: {
    femaleList:[]
  },
  onLoad: function () {
    http.femaleNameApi({ // 调用接口,传入参数
      data:{
        page:1
      },
      success:res=>{
        console.log('接口请求成功',res)
        this.setData({
          femaleList:res.data
        })
      },
      fail:err=>{
        console.log(err)
      }
    })
  }
})

Описание ввода параметра:

  • Чтобы соответствовать методу вызова интерфейса API WeChat, используется этот метод вызова API WeChat.
  • Передайте объект, объект имеет три набора пар ключ-значение, данные: указывает данные для отправки, успех: обратный вызов успеха, сбой: обратный вызов ошибки
  • Три пары ключ-значение могут быть переданы или нет, остальные значения будут проигнорированы, в основном так же, как метод вызова WeChat API, уменьшая проблемы обсессивно-компульсивного расстройства.

Я впервые публикую статью о Наггетс, и я хотел бы попросить совета у всех вас, старших!

Фрагмент кода апплета находится вgithubвверх, добро пожаловатьissue