NGTools/js_sdk/AC-Dictionary/script/HttpDictionary.js
ldeyun 9dbfdc6c71 V1.0.0
微信小程序运行成功;
H5运行成功
2024-09-30 01:30:39 +08:00

104 lines
3.1 KiB
JavaScript

/*
字典模块
作者:AC
时间:2019/12/24 14:00
说明:所有其中的数据都不会显示在Storage中 一定程度上防止了泄漏
主要方法说明:
AddKeyValue:添加键值对
DeleteValueByKey:根据键删除值
GetValueByKey:根据键获取值
ClearDictionary:清空字典内容
GetDictionary:获取字典
GetValueByKeyAndFun:根据键获取值 并且运行一个指定的函数(要求此函数必须返回这个键对应的值)
主要参数说明:
dictionary:字典
httpDictionary: 字典操作
code:状态值
key:字典的键
value:字典的值
fun:外部函数(要求此函数必须返回这个键对应的值)
操作日志:
1.初步搭建 2019/12/14 14:00 AC
*/
/*
以下发出的功能均经过项目中的实际使用
在uni-app 中的微信小程序项目下 可以使用 避免使用Storage的一系列坑
不过此数据字典 会在每次用户关闭小程序或者关闭页面的时候清空.
仅仅可以用在小程序的优化访问中 一些静态数据的存储以及修改 以及一些临时数据的存储
需要在初始化的时候进行创建 详见APP.VUE 示例
*/
var message=require("script/Message.js");
//初始化请求字典集合
var dictionary={};
//执行结果值
var value="";
var httpDictionary={
//添加/修改字典值-如果有这个key 则会覆盖其中原先的值
AddKeyValue:function(key,value){
dictionary[key]=value;
},
//删除key的值
DeleteValueByKey:function(key){
return DeleteValue(key);
},
//根据key获取值
GetValueByKey:function(key){
return GetValues(key);
},
//清空字典的所有值 恢复成默认值
ClearDictionary:function(){
dictionary={};
},
//获取整个字典
GetDictionary:function(){
return dictionary;
},
//获取字典的值 并且执行fun函数 如果fun是一个函数 结果fun必须返回一个字符串
GetValueByKeyAndFun:function(key,fun){
return typeof fun == "function"? fun(this.GetValueByKey(key)):this.GetValueByKey(key);
}
}
//获取value值
function GetValues(key){
try{
//键为空 增加提示信息
if(key==""){
return message.SetMessage("A002","在执行获取字典内容的时候,键为空","",1);
}
console.log("值:"+dictionary[key]);
return (typeof dictionary[key] == "undefined"?"":dictionary[key]);
}catch(e){
return message.SetMessage("A001","在执行获取"+key+"的值的时候发生异常","",0);
}
}
//尝试清除字典中的值
function DeleteValue(key){
try{
//键为空 增加提示信息
if(key==""){
return message.SetMessage("A002","在执行清除字典内容的时候,键为空",false,1);
}
dictionary[key]="";
return true;
}catch(e){
return message.SetMessage("A001","在执行清除"+key+"的值的时候发生异常",false,0);
}
}
//设置字典中的值
function SetValue(key,value){
try{
if(key==""){
return message.SetMessage("A002","在执行添加字典内容的时候,键为空",false,1);
}
dictionary[key]=value;
return true;
}catch(e){
return message.SetMessage("A001","在执行添加"+key+"的值的时候发生异常",false,0);
}
}
module.exports=httpDictionary;