当前位置: 首页 > article >正文

小程序request请求封装

以上为本人的项目目录

1.首先在utils中创建request.js文件封装request请求,此封装带上了token,每次请求都会自带token,需要你从后端获取后利用wx.setStorageSync('token',返回的token),不使用的话就是空

直接复制即可,需要改一下请求地址,有些配置自己可根据实际情况修改,比如以下状态码的判断,根据你的具体返回

const app = getApp();
var baseURL ='http://192.168.110.249:8221';//将url定义在app.js缓存中,直接赋值也是可以的
var cookieToken =wx.getStorageSync('token') || ''; //本地数据从本地缓存中取出
/**
 * 统一封装的请求
 */
const Request = function request(option) {
  return new Promise(function (resolve, reject) {
    let header = {
      'content-type': 'application/json',
      "Authorization":  cookieToken //携带token在请求头中
    };
    wx.request({
      url: baseURL + option.url,
      method: option.method,
      data: option.data === undefined ? '' : JSON.stringify(option.data), // 如果data没有传入,就给空串,不然就序列化
      header: header,//请求头
 	    timeout:10000,//超时时间 5s
      success(res) {
        //请求成功,此处根据你的业务返回的状态码进行修改
        if (res.data.code === 200) {
          resolve(res);
        } else if (res.data.code === 500) {
          //登录状态失效,需要重新刷新数据
           reject('登录状态失效,需要重新刷新数据');
        } else {
          //其他异常
          reject('运行时错误,请稍后再试');
        }
      },
      fail(err) {
        //请求失败
        reject(err)
      }
    })
  })
}


//导出
module.exports = Request

2.创建api文件夹,在里面创建comment.js进行二次封装请求,引入刚刚创建的request.js文件,下图每个方法都是一个接口请求。

3.使用封装的接口。引入刚刚创建的comment.js,里面已经封装好了接口请求。

import CommentApi from "../../api/comment"; //引入

page({
onLoad(){

   //调用封装好comment.js里的的firstEchat方法
   CommentApi.firstEchat({
           //里面是需要传递的参数,对应封装的时候方法里的参数datas
     }).then(res=>{

           console.log(res)

       })

   }





})


http://www.kler.cn/a/108555.html

相关文章:

  • Docker 的安装与使用
  • 【Linux】HTTP协议和HTTPS加密
  • 网络技术-定义配置ACL规则的语法和命令
  • Rocky、Almalinux、CentOS、Ubuntu和Debian系统初始化脚本v9版
  • 批量重命名Excel文件并排序
  • 【大数据学习 | HBASE高级】rowkey的设计,hbase的预分区和压缩
  • 使用 @antfu/eslint-config 配置 eslint (包含兼容uniapp方法)
  • 社恐了怎么办?如何改变社交恐惧症?
  • 代码随想录算法训练营第23期day36|738.单调递增的数字、968.监控二叉树
  • request、response请求转发和重定向
  • C++面试题库
  • el-date-picker日期选择器奇怪的问题解决
  • github搜索技巧探索
  • 人工智能与航天技术的融合:未来发展的新趋势
  • 2015年亚太杯APMCM数学建模大赛B题城市公共交通服务水平动态评价模型求解全过程文档及程序
  • java spring boot 字符串判空
  • 黔院长 | 一文了解五脏的脏象!
  • 【计算机网络】(谢希仁第八版)第二章课后习题答案
  • PHP危险函数
  • Qt之实现支持多选的QCombobox
  • MySQL安装『适用于 CentOS 7』
  • 防止消息丢失与消息重复——Kafka可靠性分析及优化实践
  • 微机原理:汇编语言程序设计
  • 两数之和(C++解法)
  • 【Oracle】Navicat Premium 连接 Oracle的两种方式
  • 分类预测 | Matlab实现KOA-CNN-GRU-selfAttention多特征分类预测(自注意力机制)