IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【无标题】小程序封装http请求 -> 正文阅读

[网络协议]【无标题】小程序封装http请求

作者:recommend-item-box type_blog clearfix

uniapp 参考 https://www.cnblogs.com/yeziyou/p/13463531.html

小程序封装http请求

新建 config文件夹,新建untils文件夹
api.js

//测试地址
const ApiRootUrl = 'https://192.168.28.185:8192/jhSeal/';
module.exports = {
//接口名称
  sendSms: ApiRootUrl + 'sms/sendSms.shtml', //发送短信接口
  applySealUrl: ApiRootUrl + 'apply/applySeal.shtml', //申领印章 
}

http.js

/**
 * GET请求封装
 */
function get(url, data = {}) {
  return request(url, data, 'GET')
}

/**
 * POST请求封装
 */
function post(url, data = {}) {
  return request(url, data, 'POST')
}

/**
 * 微信的request
 */
function request(url, data = {}, method = "GET") {
  var contentType = 'application/json'
  return new Promise(function(resolve, reject) {
    wx.request({
      url: url,
      data: data,
      method: method,
      header: {
        'content-type': 'application/x-www-form-urlencoded',
        // 'Authorization': 'Bearer ' + getDataByKey('token'),
      },
      success: function(res) {
        console.log('===============================================================================================')
        console.log('==    接口地址:' + url)
        console.log('==    接口参数:' + JSON.stringify(data))
        console.log('==    请求类型:' + method)
        console.log("==    接口状态:" + res.statusCode);
        console.log('===============================================================================================')
        if (res.statusCode == 200) {
          //请求正常200
          //AES解密返回的数据
          var daesData = null
          try {
            //此处结合了上篇文章的AES解密,如果不需要加解密,可以自行去掉,直接使用数据 res.data。
            // daesData = aes.getDAes(res.data)
            // console.log('解密后的数据:' + daesData)
            // daesData = JSON.parse(daesData)
            if (res.data) {
              //正常
              resolve(res.data);
            } else {
              //错误
              reject(res.data)
            }
          } catch (error) {
            console.log('==    数据解码失败')
            reject("数据解码失败")
          }
        } else if (res.statusCode == 401) {
          //此处验证了token的登录失效,如果不需要,可以去掉。
          //未登录,跳转登录界面
          reject("登录已过期")
          wx.showModal({
            title: '提示',
            content: '登录已过期,请立即登录,否则无法正常使用',
            success(res) {
              if (res.confirm) {
                console.log('用户点击确定')
                wx.navigateTo({
                  url: '/pages/login/login?toPageUrl=401',
                })
              } else if (res.cancel) {
                console.log('用户点击取消')
              }
            }
          })
        } else {
          //请求失败
          reject("请求失败:" + res.statusCode)
        }
      },
      fail: function(err) {
        //服务器连接异常
        console.log('===============================================================================================')
        console.log('==    接口地址:' + url)
        console.log('==    接口参数:' + JSON.stringify(data))
        console.log('==    请求类型:' + method)
        console.log("==    服务器连接异常")
        console.log('===============================================================================================')
        reject("服务器连接异常,请检查网络再试")
      }
    })
  });
}

module.exports = {
  // formatTime,
  request,
  get,
  post
}

使用:index.js

const app = getApp()
const utils = require('../../utils/utils.js')
const api = require('../../config/api.js')
Page({
submit(e) {
let param = {
        telephone: 13283827948,
        verCode: e.detail.value.code,
      }
      utils.post(api.verCodeLoginUrl, param).then(res => {
        let {
          code,
          msg,
          data
        } = res
        if (code == 0) {
        //成功操作
        } else {
         //失败操作
        }

      })
    }
  },
})
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-19 01:33:50  更:2022-02-19 01:34:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:29:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码