小程序api封装(方法一)


研究小程序的路上越走越远....坑很多 很不习惯刚刚开始

在utils文件夹下面新增api.js  http.js文件

// http.js
module.exports = { http(url, method, params) { // 获取token,自行获取token和签名,token和签名表示每个接口都要发送的数据
    let token = ''
     // 获取签名 (后台怎么定义的,就传什么) 具体情况穿不穿
    let sign = '' let data = { token, sign } // 在这里判断一下data是否存在,params表示前端需要传递的数据,params是一个对象,有三组键值对,
    // data:表示请求要发送的数据,success:成功的回调,fail:失败的回调,这三个字段可缺可无,其余字段会忽略
    if (params.data) { for (let key in params.data) { // 在这里判断传过来的参数值为null,就删除这个属性
        if (params.data[key] == null || params.data[key] == 'null') { delete params.data[key] } } data = { ...data, ...params.data } } // 就是拼接上前缀,此接口域名是开放接口,可访问 如果开发环境可以勾选详情选项的 不校验合法域名、TLS版本及HTTPS证书
 wx.request({ url: '合法域名' + url, // 判断请求类型,除了值等于'post'外,其余值均视作get其他的请求类型也可以自己加上的
      method: method == 'post' ? 'post' : 'get', data, // post请求 把header 该为 application/x-www-form-urlencoded 就可以了
 header: { 'content-type': method == 'get' ? 'application/json' : 'application/x-www-form-urlencoded' }, success(res) { params.success && params.success(res.data) }, fail(err) { wx.showToast({ title: '服务器内部错误', icon: 'none', duration: 1500 }) params.fail && params.fail(err) }, complete() { setTimeout(() => { wx.hideLoading(); },1500) } }) } }
// api.js // 在这里面定义所有接口,一个文件管理所有接口,易于维护 // 引入刚刚封装好的http模块,import属于ES6的语法,微信开发者工具必须打开ES6转ES5选项
import { http } from './http'; // 每一个接口定义一个函数,然后暴露出去,供逻辑代码调用 // 接口请求的路由地址以及请求方法在此处传递
function postLoginApi(params) { http('/api/xxx/login', 'post', params) } function getUserListApi(params) { http('/api/xxx/list', 'get', params) } // 暴露接口
export default { postLoginApi, getUserListApi }

页面调用

 
 
  import http from '../../utils/api' // 引入api接口管理文件
getData(){ http.postLoginApi({ // 调用接口,传入参数
 data: { token: '460512FF0FE2392D6CB6D8A6560805CC' }, success: res => { console.log('接口请求成功', res) this.setData({ // data定义的数据
 userInfo: res.data }) }, fail: err => { console.log(err) } }) }, onLoad: function (){ this.getData() }

  原创未经允许不得转载!!!转载请注明出处~谢谢合作;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM