kitchendDevice/tools/tools.js

154 lines
4.2 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import $store from '@/store'
let baseUrl = "https://tc.pcxbc.com"
export default {
msg,
ab2hex,
getTime,
getDate,
getMonth,
GetDateStr,
NewsPtype,
compareVersions,
mergeAndDeduplicate
}
// 版本对比
function compareVersions(version1, version2) {
console.log("版本对比", version1, version2)
// 将版本号拆分成数字数组
var arr1 = version1.split('.').map(Number);;
var arr2 = version2.split('.').map(Number);;
// 遍历数字数组进行逐段比较
for (var i = 0; i < Math.max(arr1.length, arr2.length); i++) {
var num1 = parseInt(arr1[i] || 0); // 如果数组长度不够则将缺失部分补0
var num2 = parseInt(arr2[i] || 0);
if (num1 < num2) {
return -1; // 版本1小于版本2
} else if (num1 > num2) {
return 1; // 版本1大于版本2
}
}
return 0; // 版本1等于版本2
}
function NewsPtype(con) {
if (con.type == "wechat") { //跳小程序
// #ifdef APP
uni.navigateTo({
url: "/pageTwo/webview/webview?id=" + con.id + '&url=' + con.jump_url
})
// #endif
// #ifdef MP-WEIXIN
uni.navigateToMiniProgram({ //小程序跳小程序
appId: con.appid,
path: con.path,
extraData: {},
})
// #endif
} else if (con.type != 'wechat') { //跳h5或文本
uni.navigateTo({
url: "/pageTwo/webview/webview?id=" + con.id + '&url=' + con.jump_url
})
}
}
// 合并数组并去重
function mergeAndDeduplicate(arr1, arr2, uniqueKey) {
let map = new Map();
let mergedArr = [...arr1, ...arr2];
for (let item of mergedArr) {
if (!map.has(item[uniqueKey])) {
map.set(item[uniqueKey], item);
}
}
return [...map.values()];
}
function ab2hex(buffer, split) {
var hexArr = Array.prototype.map.call(
new Uint8Array(buffer),
function(bit) {
return ('00' + bit.toString(16)).slice(-2)
}
)
return hexArr.join(split);
}
function msg(str) {
uni.showToast({
title: str,
icon: 'none'
})
}
//获取AddDayCount天后的日期
function GetDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate() + AddDayCount);
var y = dd.getFullYear();
var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1); //获取当前月份的日期不足10补0
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); //获取当前几号不足10补0
return m + "月" + d + '日';
}
// 获取当前年、月、日、时、分、秒
function getTime() {
var date = new Date()
var y = date.getFullYear();
var m = (date.getMonth() + 1) < 10 ? "0" + (date.getMonth() + 1) : (date.getMonth() + 1); //获取当前月份的日期不足10补0
var d = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
let H = date.getHours() > 9 ? date.getHours() : '0' + date.getHours()
let Min = date.getMinutes() > 9 ? date.getMinutes() : '0' + date.getMinutes()
return y + '/' + m + '/' + d + " " + H + ':' + Min
}
function getDate(type) {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
month = month > 9 ? month : '0' + month;;
day = day > 9 ? day : '0' + day;
if (type === 'start') {
year = year;
return `${year}-${month}-${day}`;
}
if (type === 'month') {
return month + '月' + day + '日'
}
}
// 月初到月底
function getMonth(dates, months) {
var d = new Date(dates.substring(0, 10));
let year = d.getFullYear();
var month = d.getMonth() + 1;
if (Math.abs(months) > 12) {
months = months % 12;
};
if (months != 0) {
if (month + months > 12) {
year++;
month = (month + months) % 12;
} else if (month + months < 1) {
year--;
month = 12 + month + months;
} else {
month = month + months;
};
};
month = month < 10 ? "0" + month : month;
var date = d.getDate();
if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" ||
month == "12") {
return year + "-" + month + "-01" + "~" + year + "-" + month + "-31";
} else if (month == "02") {
if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {
return year + "-" + month + "-01" + "~" + year + "-" + month + "-29";
} else {
return year + "-" + month + "-01" + "~" + year + "-" + month + "-28";
};
} else {
return year + "-" + month + "-01" + "~" + year + "-" + month + "-30";
};
};