小程序封装请求
Posted dashaxiong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序封装请求相关的知识,希望对你有一定的参考价值。
一般我会建立两个文件夹,一个是封装请求(request.js),一个是装api(api.js)
request.js
const api = require("./api.js").api.BASE_URL; // var app = getApp() // 网络请求 const https = ({ url = ‘‘, data = {}, method, } = {}) => { wx.showLoading({ title: ‘加载中...‘ }); // var sessionId = data.wx_id return new Promise((resolve, reject) => { wx.request({ url: getUrl(url), method: method, data: data, header: { ‘Accept‘: ‘application/json‘, ‘content-type‘: ‘application/json‘, // "session-id": sessionId }, complete: (res) => { wx.hideLoading(); console.log(url+‘接口返回数据如下‘); // console.log(res.data) // 成功的处理函数 switch (res.data.code){ case 1: //成功 resolve(res.data) break case 0: // 失败 // reject(res) resolve(res) break case 401: // 未授权或者过期 reject(res) wx.showToast({ title: ‘状态码 401‘, }) break // 其他的code default: resolve(res) break } } }); }); } // 这个是为了怕有的接口是第三方的处理 const getUrl = (url) => { if (url.indexOf(‘://‘) == -1) { url = api + url; } return url } // get方法 const _get = (url, data = {}) => { return https({ url, method: ‘GET‘, data }) } // post方法 const _post = (url, data = {}) => { return https({ url, method: ‘POST‘, data }) } module.exports = { _get, _post, // send: send }
api.js
const api = { // 基础base_url BASE_URL: ‘https://shaolin.songshancn.com‘, // BASE_URL: ‘http://192.168.3.244:8001‘, // 获取用户ID sessionIdApi: ‘/member/get-wechat-user-id/‘, /******* 客服模块api *********/ // 获取关键字回复的接口 getReplyContent: ‘/service/get-ai-reply-content-api/‘, // 获取全部记录的接口 getAllReply: ‘/service/get-reply-content-record-api/‘, // 获取智能客服回复中推荐路线接口 getRoute:‘/service/get-recommended-route-api/‘, // 保存信息的接口 saveReply:‘ /service/save-reply-content-record-api‘ } module.exports = { api }
页面用法
var api = require("../utils/api.js").api; var http = require("../utils/request.js"); 如果是根目录app.js在头顶引用的话,好像是不行,所以要把 var http = require("../utils/request.js"); 放在onLaunch函数里面 http._get(api.getReplyContent, {}).then(res => {})
以上是关于小程序封装请求的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装