提交 e56a2dd4 编写于 作者: VK1688's avatar VK1688

1.15.10

上级 5be54eb8
* 1、【升级】`vk-unicloud-admin-ui` 包升级至 `1.15.19`
* 2、【优化】兼容阿里云新版
##### 框架更新步骤 [点击查看](https://vkdoc.fsq.pub/admin/1/update.html)
##### 框架学习Q群:`22466457` 欢迎萌新和大佬来使用和共同改进框架
##### 如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
## 1.15.10(2022-12-29)
* 1、【升级】`vk-unicloud-admin-ui` 包升级至 `1.15.19`
* 2、【优化】兼容阿里云新版
##### 框架更新步骤 [点击查看](https://vkdoc.fsq.pub/admin/1/update.html)
##### 框架学习Q群:`22466457` 欢迎萌新和大佬来使用和共同改进框架
##### 如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
## 1.15.9(2022-12-13)
* 1、【升级】`vk-unicloud-admin-ui` 包升级至 `1.15.14`
* 2、【优化】leftWindow,左侧菜单支持自定义默认图标(可设置为默认不显示图标)
......
......@@ -28,9 +28,18 @@ import vkAdminUI from 'vk-unicloud-admin-ui';
import 'vk-unicloud-admin-ui/theme/index.css';
Vue.use(vkAdminUI);
// 引入 富文本编辑器 组件(必须加在Vue.use(vkAdminUI);的后面)
import VkDataInputEditor from "@/components/vk-data-input-editor/vk-data-input-editor";
Vue.component("vk-data-input-editor", VkDataInputEditor);
// 自动注册全局组件(必须加在Vue.use(vkAdminUI);的后面)
const modulesFiles = require.context('./components', true, /\.vue$/);
modulesFiles.keys().map((modulePath, index) => {
const moduleNames = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1');
const moduleSplit = moduleNames.split("/");
const moduleName = moduleSplit[0];
if (moduleSplit.length === 2 && moduleName === moduleSplit[1]) {
const value = modulesFiles(modulePath);
let moduleItem = value.default;
Vue.component(moduleName, moduleItem);
}
});
// 引入 自定义全局css 样式
import '@/common/css/app.scss';
......
{
"name": "vk-unicloud-admin",
"version": "1.15.8",
"version": "1.15.9",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
......@@ -104,9 +104,9 @@
}
},
"vk-unicloud-admin-ui": {
"version": "1.15.14",
"resolved": "https://registry.npmjs.org/vk-unicloud-admin-ui/-/vk-unicloud-admin-ui-1.15.14.tgz",
"integrity": "sha512-IRVq2x/yDx7RZKFNt9TLjonzFDorfsFqmty6NsoqLug54KrS8dIvVS2xNSd6AYeWb7PaBc/aa9j1OrLLFyfQIA=="
"version": "1.15.22",
"resolved": "https://registry.npmjs.org/vk-unicloud-admin-ui/-/vk-unicloud-admin-ui-1.15.22.tgz",
"integrity": "sha512-Mw06DPxFsmyAjv49edl/CDYHnJl7D7lDQHXcihWl02Po6CAwygUHZ5+2rRb0lKJE3qF6NzGw1lwo9q5Y7JYjUA=="
},
"vuedraggable": {
"version": "2.24.3",
......
{
"id": "vk-unicloud-admin",
"name": "vk-unicloud-admin",
"version": "1.15.9",
"version": "1.15.10",
"displayName": "【开箱即用】vk-unicloud-admin-快速开发框架-打造unicloud最好用的admin",
"description": "vk-unicloud-admin是基于uniapp+unicloud+uni-id+vk-router+element的一套快速PC admin企业级开发框架。小白几分钟即完成一个页面CRUD。",
"keywords": [
......@@ -22,7 +22,7 @@
"dependencies": {
"element-ui": "2.15.7",
"umy-ui": "1.1.6",
"vk-unicloud-admin-ui": "^1.15.14"
"vk-unicloud-admin-ui": "^1.15.22"
},
"engines": {
"HBuilderX": "^3.1.10"
......
......@@ -146,16 +146,16 @@ module.exports = {
function compareVersion(version1, version2) {
let arr1 = version1.split(".");
let arr2 = version2.split(".");
if (arr1[0] === arr2[0] && arr1[1] === arr2[1] && arr1[2] === arr2[2]) {
if (Number(arr1[0]) === Number(arr2[0]) && Number(arr1[1]) === Number(arr2[1]) && Number(arr1[2]) === Number(arr2[2])) {
return 0;
}
if (arr1[0] > arr2[0]) {
if (Number(arr1[0]) > Number(arr2[0])) {
return 1;
}
if (arr1[0] === arr2[0] && arr1[1] > arr2[1]) {
if (Number(arr1[0]) === Number(arr2[0]) && Number(arr1[1]) > Number(arr2[1])) {
return 1;
}
if (arr1[0] === arr2[0] && arr1[1] === arr2[1] && arr1[2] > arr2[2]) {
if (Number(arr1[0]) === Number(arr2[0]) && Number(arr1[1]) === Number(arr2[1]) && Number(arr1[2]) > Number(arr2[2])) {
return 1;
}
return -1;
......
## 2.13.1(2022-12-29)
* 1、【调整】url化后token的请求头从 `uni_id_token` 改为 `uni-id-token`(新版阿里云不支持 `uni_id_token` 请求头)
* 2、【修复】`vk.openapi.weixin.h5.request` 接口无法在阿里云空间中自动使用代理的问题。
* 3、【修复】`vk.pubfn.getOffsetTime` 接口在云端月偏移量计算在可能会出错的问题。
* 4、【优化】其他一些兼容性问题。
* 完整框架项目地址:`https://ext.dcloud.net.cn/plugin?id=2204`[点击查看](https://ext.dcloud.net.cn/plugin?id=2204)
## 2.13.0(2022-12-29)
* 1、【调整】url化后token的请求头从 `uni_id_token` 改为 `uni-id-token`(新版阿里云不支持 `uni_id_token` 请求头)
* 2、【修复】`vk.openapi.weixin.h5.request` 接口无法在阿里云空间中自动使用代理的问题。
* 3、【修复】`vk.pubfn.getOffsetTime` 接口在云端月偏移量计算在可能会出错的问题。
* 4、【优化】其他一些兼容性问题。
* 完整框架项目地址:`https://ext.dcloud.net.cn/plugin?id=2204`[点击查看](https://ext.dcloud.net.cn/plugin?id=2204)
## 2.12.9(2022-12-13)
* 1、【优化】`vk.pubfn.getCommonTime()` API内部细节
* 完整框架项目地址:`https://ext.dcloud.net.cn/plugin?id=2204`[点击查看](https://ext.dcloud.net.cn/plugin?id=2204)
......
{
"id": "vk-unicloud",
"displayName": "vk-unicloud-router开发框架核心库 - 已集成uni-id 框架内置了众多API。",
"version": "2.12.9",
"version": "2.13.1",
"description": "此为vk-unicloud-router框架核心库(新手建议下载完整框架项目)已集成uni-id支持云函数url化。众多现成API,内置小白也能轻松上手的数据库API。使你项目刚起步进度就是百分之50",
"keywords": [
"vk-unicloud-router",
......
{
"name": "vk-unicloud",
"version": "2.12.9",
"version": "2.13.1",
"description": "【云函数端SDK】VK云函数路由模式uniCloud开发框架,在router目录下执行 npm i vk-unicloud 进行安装和升级",
"main": "index.js",
"homepage": "https://gitee.com/vk-uni/vk-uni-cloud-router.git",
......
......@@ -1563,7 +1563,22 @@ pubfn.calcSize = function(length = 0, arr, ary, precision = 2, showType = "auto"
}
};
/**
* 将一个大数组拆分成N个小数组(分割数组)
* @param {Array} array 大数组
* @param {Number} size 小数组每组最大多少个
* 代码示例
* let newArray = vk.pubfn.splitArray(array, 2);
*/
pubfn.splitArray = function(array, size) {
let data = [];
for (let i = 0; i < array.length; i += size) {
data.push(array.slice(i, i + size))
}
return data
};
// 以下是前端专属API-----------------------------------------------------------
/**
* 手机端长列表分页加载数据 2.0版本
......
......@@ -20,21 +20,53 @@ util.getTargetTimezone = function(val) {
};
// 尽可能的将参数转成正确的时间对象
util.getDateObject = function(date) {
util.getDateObject = function(date, targetTimezone) {
if (!date) return "";
let nowDate;
// 如果是字符串,且纯数字,则强制转数值
if (typeof date === "string" && !isNaN(date)) date = Number(date);
if (typeof date === "string" && !isNaN(date) && date.length >= 10) date = Number(date);
if (typeof date === "number") {
if (date.toString().length == 10) date *= 1000;
nowDate = new Date(date); // 转时间对象
} else if (typeof date === "object") {
nowDate = new Date(date.getTime()); // 新建一个时间对象
} else if (typeof date === "string") {
//nowDate = new Date(date.replace(/-/g,"/")); // 新建一个时间对象
targetTimezone = util.getTargetTimezone(targetTimezone);
let targetTimezoneStr = targetTimezone;
let targetTimezoneF = targetTimezone >= 0 ? "+" : "";
if (targetTimezone >= 0 && targetTimezone < 10) {
targetTimezoneStr = `0${targetTimezone}`;
} else if (targetTimezone < 0 && targetTimezone > -10) {
targetTimezoneStr = `-0${targetTimezone*-1}`;
}
let arr1 = date.split(" ");
let arr1_1 = arr1[0] || "";
let arr1_2 = arr1[1] || "";
let arr2;
if (arr1_1.indexOf("-") > -1) {
arr2 = arr1_1.split("-");
} else {
arr2 = arr1_1.split("/");
}
let arr3 = arr1_2.split(":");
let dateObj = {
year: Number(arr2[0]),
month: Number(arr2[1]) || 1,
day: Number(arr2[2]) || 1,
hour: Number(arr3[0]) || 0,
minute: Number(arr3[1]) || 0,
second: Number(arr3[2]) || 0,
};
for (let key in dateObj) {
if (dateObj[key] >= 0 && dateObj[key] < 10) dateObj[key] = `0${dateObj[key]}`;
}
// 格式 2022-10-01T00:00:00+08:00
let dateStr = `${dateObj.year}-${dateObj.month}-${dateObj.day}T${dateObj.hour}:${dateObj.minute}:${dateObj.second}${targetTimezoneF}${targetTimezoneStr}:00`;
nowDate = new Date(dateStr);
}
return nowDate;
};
// 获取时间在不同时区下的时间对象
util.getTimeByTimeZone = function(date, targetTimezone) {
let nowDate = util.getDateObject(date);
......@@ -481,52 +513,41 @@ vk.pubfn.getOffsetTime(new Date(), {
mode:"after" // after 之后 before 之前
});
*/
util.getOffsetTime = function(date = new Date(), obj) {
util.getOffsetTime = function(date = new Date(), obj, targetTimezone) {
let nowDate = util.getDateObject(date);
let year = obj.year || obj.y;
let month = obj.month || obj.m;
let day = obj.day || obj.d;
let hours = obj.hours || obj.hh;
let minutes = obj.minutes || obj.mm;
let seconds = obj.seconds || obj.ss;
let dateInfo = util.getDateInfo(nowDate);
targetTimezone = util.getTargetTimezone(targetTimezone);
const dif = nowDate.getTimezoneOffset();
const timeDif = dif * 60 * 1000 + (targetTimezone * 60 * 60 * 1000);
let year = obj.year || obj.y || 0;
let month = obj.month || obj.m || 0;
let day = obj.day || obj.d || 0;
let hour = obj.hour || obj.hours || obj.hh || 0;
let minute = obj.minute || obj.minutes || obj.mm || 0;
let second = obj.second || obj.seconds || obj.ss || 0;
let { mode = "after" } = obj;
if (mode == "before") {
year *= -1;
month *= -1;
day *= -1;
hours *= -1;
minutes *= -1;
seconds *= -1;
}
if (year) {
nowDate = nowDate.setFullYear(nowDate.getFullYear() + year);
nowDate = new Date(nowDate);
}
if (month) {
nowDate = nowDate.setMonth(nowDate.getMonth() + month);
nowDate = new Date(nowDate);
}
if (day) {
nowDate = nowDate.setDate(nowDate.getDate() + day);
nowDate = new Date(nowDate);
}
if (hours) {
nowDate = nowDate.setHours(nowDate.getHours() + hours);
nowDate = new Date(nowDate);
hour *= -1;
minute *= -1;
second *= -1;
}
if (minutes) {
nowDate = nowDate.setMinutes(nowDate.getMinutes() + minutes);
nowDate = new Date(nowDate);
}
if (seconds) {
nowDate = nowDate.setSeconds(nowDate.getSeconds() + seconds);
nowDate = new Date(nowDate);
}
return nowDate.getTime();
let offsetObj = {
year: dateInfo.year + year,
month: dateInfo.month + month,
day: dateInfo.day + day,
hour: dateInfo.hour + hour,
minute: dateInfo.minute + minute,
second: dateInfo.second + second
};
nowDate = new Date(offsetObj.year, offsetObj.month - 1, offsetObj.day, offsetObj.hour, offsetObj.minute, offsetObj.second);
return nowDate.getTime() - timeDif;
}
/**
* 判断是否是闰年
* @param {Number | Date} year 需要计算的年份或时间,默认使用当前时间的年份
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册