• 小程序封装请求


    一般我会建立两个文件夹,一个是封装请求(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 => {})
    

      

      

  • 相关阅读:
    binutils工具集之---objcopy,ranlib,size,strings,strip
    FreeRtos——多任务
    IntelliJ Idea 常用快捷键
    了解Spring-boot-starter常用依赖模块
    Spring Boot项目的内嵌容器
    Spring Boot 简介
    webstorm的个性化设置settings
    webstorm使用心得
    webstorm快捷键
    WebStorm使用快速入门
  • 原文地址:https://www.cnblogs.com/dashaxiong/p/12167879.html
Copyright © 2020-2023  润新知