|
|
//通过url获取参数
|
var getURLParams = function(name) {
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
var r = window.location.search.substr(1).match(reg);
|
if (r != null) return decodeURI(r[2]);
|
return null;
|
};
|
|
|
/**
|
* 获取开始日期 shaoshiyu
|
* today 当前时间的最近多少天:值null表示获取的是当前时间的最近多少天;指定日期的最近多少天:today格式为yy/mm/dd
|
* addDayCount 表示增加的事件,如最近一月,-1;最近一周为-7
|
* str 有值的,d(日),m(月),y(年)
|
* 出参格式 YYMMDD
|
* */
|
var startDate = function (today, addDayCount, str) {
|
var dd;
|
if (today) {
|
dd = new Date(today);
|
} else {
|
dd = new Date();
|
}
|
var y, m, d;
|
|
switch (str) {
|
case "d":
|
dd.setDate(dd.getDate() + addDayCount);//获取AddDayCount天后的日期
|
break;
|
case "m":
|
dd.setMonth(dd.getMonth()+ addDayCount);//获取AddDayCount天后的日期
|
break;
|
case "y":
|
// return (dd.getFullYear() * 10000 + 101).toString();
|
dd.setFullYear(dd.getFullYear() + addDayCount);
|
break;
|
}
|
var value = dd.getFullYear() * 10000 + (dd.getMonth() + 1) * 100 + dd.getDate();
|
return value.toString();
|
}
|
|
/**
|
* 获取结束日期,即当前时间
|
* 出参格式 YYMMDD
|
**/
|
var endTime = function () {
|
var now = new Date();
|
var value = now.getFullYear() * 10000 + (now.getMonth() + 1) * 100 + now.getDate();
|
return value.toString();
|
}
|
|
/*
|
* 获取指定日期的最近天数
|
* 调用规则 :
|
* 第一个入参格式支持字符串:"2017/11/26"、"2017.10.27"、"20171027"、"2017-10-27"
|
* 指定日期n天前日期:date_getPointDate("2017/11/26", -30)
|
* 指定日期n天后日期:date_getPointDate("2017.10.27", 30)
|
*/
|
var date_getPointDate = function(currDate, num) { //num表示天数,接受正负数
|
// console.log("currDate", currDate);
|
if (!num) {//做num简单验证
|
return currDate;
|
}
|
num = Math.floor(num);
|
this.symbol = ''; //需要什么格式出参自己定义 - /
|
|
// console.log("currDate", currDate);
|
if(currDate.indexOf('-') > -1) //格式yy-mm-dd
|
{
|
currDate = currDate.replace(/-/g, '/');
|
}
|
else if (currDate.indexOf('.') > -1) //格式yy.mm.dd
|
{
|
currDate = currDate.replace(/\./g, '/');
|
}
|
else
|
{
|
currDate = currDate.substring(0, 4) + "/" + currDate.substring(4, 6) + "/" + currDate.substring(6, 8);
|
}
|
|
//到这一步前,currDate格式要为YY/MM/DD
|
var myDate = new Date(currDate),
|
lw = new Date(Number(myDate) + 1000 * 60 * 60 * 24 * num), //num天数
|
lastY = lw.getFullYear(),
|
lastM = lw.getMonth() + 1,
|
lastD = lw.getDate(),
|
startdate = lastY + this.symbol + (lastM < 10 ? "0" + lastM : lastM) + this.symbol + (lastD < 10 ? "0" + lastD : lastD);
|
// console.log("currDate", currDate, startdate);
|
return startdate;
|
}
|
|
function NumberToString(value)
|
{
|
if (value<10) return '0'+value.toString();
|
return value.toString();
|
}
|
|
function FormatDateString(value,format)
|
{
|
var year=parseInt(value/10000);
|
var month=parseInt(value/100)%100;
|
var day=value%100;
|
|
switch(format)
|
{
|
case 'MM-DD':
|
return NumberToString(month) + '-' + NumberToString(day);
|
default:
|
return year.toString() + '-' + NumberToString(month) + '-' + NumberToString(day);
|
}
|
}
|
|
|
|
const tools = {
|
getURLParams:getURLParams,//获取url参数
|
startDate:startDate,//获取开始日期
|
endTime:endTime,//获取结束日期,即当前时间
|
FormatDateString:FormatDateString, //时间格式转化
|
date_getPointDate:date_getPointDate,//获取指定日期的最近天数
|
}
|
|
|
export default tools;
|
|
|
//转换金钱类数据
|
export function formatBillion(num) {
|
var result = "";
|
|
var strValue = num + "";
|
var negative = "";
|
var _decimal = "";
|
|
|
if (strValue.indexOf(".") > -1){
|
var temp = strValue.split('.');
|
strValue = temp[0];
|
_decimal = temp[1];
|
}
|
|
if (strValue.indexOf("-") > -1) {
|
negative = "-";
|
strValue = strValue.split('-')[1];
|
}
|
|
if (strValue.length >= 11) {
|
result = negative + Math.floor(parseInt(strValue) / 100000000) + "亿";
|
} else if (strValue.length >= 9 && strValue.length <= 10) {
|
result = negative + (parseInt(strValue) / 100000000).toFixed(2) + "亿";
|
} else if (strValue.length >= 5 && strValue.length <= 8) {
|
result = negative + Math.floor(parseInt(strValue) / 10000) + "万";
|
}else{
|
result = strValue;
|
}
|
|
return result;
|
}
|
|
//排序,-1从大到小 1从小到大
|
export function compare(property,type) {
|
return function (a, b) {
|
var value1 = a[property];
|
var value2 = b[property];
|
if(type == -1){
|
return value2 - value1; //从大到小
|
}
|
|
if(type == 1){
|
return value1 - value2; //从小到大
|
}
|
|
}
|
}
|
|
//密码加密
|
export function encode(mi)
|
{
|
var str = mi + "";
|
var r = "";
|
for (var i = 0; i < str.length; i++)
|
{
|
var code = str.charCodeAt(i);
|
r += code;
|
if(i != (str.length-1)){
|
r += ",";
|
}
|
}
|
return r;
|
}
|
|
//密码解密
|
export function decode(mi)
|
{
|
var str = mi + "";
|
var arr = str.split(",");
|
var r = "";
|
for (var i = 0; i < arr.length; i++)
|
{
|
var code = parseInt(arr[i]);
|
r += String.fromCharCode(code);
|
}
|
return r;
|
}
|
|
//设置cookie
|
export function setCookie(cname, cvalue, exdays) {
|
var exp = new Date();
|
exp.setTime(exp.getTime() + (exdays*24*60*60*1000));
|
document.cookie = cname + "="+ encodeURIComponent (cvalue) + ";expires=" + exp.toGMTString();
|
|
}
|
|
//获取cookie
|
export function getCookie(sName)
|
{
|
var aCookie = document.cookie.split("; ");
|
for (var i=0; i < aCookie.length; i++)
|
{
|
var aCrumb = aCookie[i].split("=");
|
if (sName == aCrumb[0]){
|
return decodeURIComponent(aCrumb[1]);
|
}
|
|
}
|
return null;
|
}
|
|
//清除cookie
|
export function clearCookie(name) {
|
setCookie(name, "", -1);
|
}
|
|
export function GetSign (queryObj) {
|
var sign = '';
|
if (queryObj != null) {
|
var keyArry = Object.keys(queryObj);
|
keyArry.sort();
|
for (let i = 0; i < keyArry.length; ++i) {
|
var keyText = keyArry[i];
|
var keyValue = queryObj[keyText] == null ? '' : queryObj[keyText];
|
|
if (keyValue == true || keyValue == 'true') {
|
keyValue = 'True';
|
}
|
sign += (sign == '' ? `${keyText}=${keyValue}` : `&${keyText}=${keyValue}`);
|
}
|
|
sign += `&Key=${AccessKey}`;
|
sign = md5(sign).toUpperCase();
|
} else {
|
sign = `Key=${AccessKey}`;
|
sign = md5(sign).toUpperCase();
|
}
|
return sign;
|
}
|