热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Uniapp之网络请求封装、响应数据加密解密

一、效果图  二、http.js网络请求封装import{config}from..config.jsimportmd5fromjs-md5import{aes_encrypt,a

一、效果图

 

 二、http.js网络请求封装

import {
config
} from
'../config.js'
import md5 from
'js-md5'
import { aes_encrypt, aes_decrypt } from
'@/utils/aes_endecrypt.js';
import {Base64} from
'@/utils/base64.js'
export const apiResquest
= (prams) => { //prams 为我们需要调用的接口API的参数 下面会贴具体代码
//设置接口验证
var timestamp = new Date().getTime(), token = md5(timestamp + config.APITOKEN)
token
= aes_encrypt(token + '_' + timestamp)
let headerData
= {}
let dataObj
= null
//因为我们的GET和POST请求结构不同这里我们做处理,大家根据自己后台接口所需结构灵活做调整吧
if (prams.method === "GET") {
headerData
= {
'content-type': 'application/json',
'token': token
}
}
else {
headerData
= {
'content-type': 'application/x-www-form-urlencoded',
'token': token
}
dataObj
= prams.query
}
return new Promise((resolve, reject) => {
// 判断环境
let url = (config.env=='develop'?config.test_url:config.base_url) + prams.url; //请求的网络地址和局地的api地址组合
uni.showLoading({
title:
'加载中',
mask:
true
})
return uni.request({
url: url,
data: dataObj,
method: prams.method,
header: headerData,
success: (res)
=> {
//解密
var data = JSON.parse(Base64.decode(aes_decrypt(Base64.decode(res.data))))
console.log(data)
uni.hideLoading()
//这里是成功的返回码,大家根据自己的实际情况调整
if (data.code == -2) {
uni.showToast({
title: data.message,
duration:
3000,
icon:
"none"
})
return;
}
resolve(data);
},
fail: (err)
=> {
reject(err);
console.log(err)
uni.hideLoading()
}
});
})
}

三、服务端加密

function myAseEncode($txt, $key="")
{
return base64_encode(openssl_encrypt($txt,"AES-128-ECB",$key,0));
}
function myAseDecode($txt, $key="")
{
return openssl_decrypt($txt,"AES-128-ECB",$key,0);
}

/**
* 返回数据
* @param int $code
* @param string $message
* @param array $data
*/
function returnMsg($code = 200,$message = '',$data = [])
{
$return['code'] = (int)$code;
$return['message'] = $message;
//$return['data'] = is_array($data) ? $data : ['info'=>$data];
$return['data'] = $data;
die(json_encode(myAseEncode(base64_encode(json_encode($return)))));
}

 



推荐阅读
  • java开发公众号,java自学网公众号
    本文目录一览:1、JAVA微信公众号开发回复消息能回复多条吗?具体怎么代码实现? ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 从C#Byte数组加载图像,并使用AngularJS将图像放在html标记中我正在使用ByteArrayforms的Image,因为我正在使用以下C#方法转换字节数组publicH ... [详细]
  • 称号1:请描述叙事Post请求和Get请求区别的,都一般的情况下Post请求和Get请求书server数据获取请求,Get经URL至ser ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
  • 起因由于我录制过一个小程序的课程,里面有消息模板的讲解。最近有几位同学反馈官方要取消消息模板,使用订阅消息。为了方便大家容易学 PythonFlask构建微信小程序订餐系统 课程。 ... [详细]
  • 现在很多App在与服务器接口的请求和响应过程中,为了安全都会涉及到加密和解密的问题,如果不加的话就会是明文的,即使加了GZIP也可以被直接解压成明文。如果同时有Android和IO ... [详细]
  • 主从复制_mysql主从复制简介
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了mysql主从复制简介相关的知识,希望对你有一定的参考价值。  ... [详细]
author-avatar
Ray依依
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有