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

1.8.0

上级 d714295f
* 1、【升级】`vk-unicloud-admin-ui` 包升级至 `1.8.1`
* 2、【新增】自 `1.8.0` 起,支持自定义主题,内置纯白、纯黑、黑白3个主题,同时支持编写自定义主题。[点击查看主题说明](https://vkdoc.fsq.pub/admin/1/theme.html)
##### 框架更新步骤 [点击查看](https://vkdoc.fsq.pub/admin/1/update.html)
##### 框架学习Q群:`22466457` 欢迎萌新和大佬来使用和共同改进框架
##### 如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
......@@ -2,6 +2,8 @@
import myPubFunction from '@/common/function/myPubFunction.js'
// 引入静态菜单
import staticMenu from '@/app.config.menu.js'
// 引入主题配置文件
import themeConfig from '@/common/theme/index.js'
export default {
// 开发模式启用调式模式(请求时会打印日志)
debug: process.env.NODE_ENV !== "production",
......@@ -11,10 +13,10 @@ export default {
login: {
url: "/pages/login/index"
},
// 首页页面路径
index: {
url: '/pages/index/index'
},
// 首页页面路径
index: {
url: '/pages/index/index'
},
// 404 Not Found 错误页面路径
error: {
url: "/pages_plugs/error/404"
......@@ -66,9 +68,9 @@ export default {
// oss外网访问地址,也可以是阿里云cdn地址
host: "",
// 上传时,是否按用户id进行分组储存
groupUserId:true,
groupUserId: true,
// vk.callFunctionUtil.uploadFile 是否默认上传到阿里云OSS
isDefault:false
isDefault: false
}
},
// 页面风格
......@@ -80,5 +82,29 @@ export default {
sideBar: {
// 配置静态菜单列表
"staticMenu": staticMenu
},
// 主题配置
theme: {
// 当前使用哪个主题
use: "blackWhite", // white blackWhite black custom
...themeConfig,
// 自定义主题
custom: {
// 左侧菜单样式
leftMenu: {
backgroundColor: "",
subBackgroundColor: "",
textColor: "",
activeTextColor: "",
activeBackgroundColor: "",
hoverTextColor: "",
hoverBackgroundColor: ""
},
// 顶部菜单样式
topMenu: {
backgroundColor: "",
textColor: "",
}
}
}
}
## 1.8.0(2021-11-30)
* 1、【升级】`vk-unicloud-admin-ui` 包升级至 `1.8.1`
* 2、【新增】自 `1.8.0` 起,支持自定义主题,内置纯白、纯黑、黑白3个主题,同时支持编写自定义主题。[点击查看主题说明](https://vkdoc.fsq.pub/admin/1/theme.html)
##### 框架更新步骤 [点击查看](https://vkdoc.fsq.pub/admin/1/update.html)
##### 框架学习Q群:`22466457` 欢迎萌新和大佬来使用和共同改进框架
##### 如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
## 1.7.4(2021-11-13)
* 1、【升级】`vk-unicloud-admin-ui` 包升级至 `1.7.7`
* 2、【优化】一些细节
......
// 纯黑主题
export default {
// 左侧菜单样式
leftMenu: {
backgroundColor: "#191a23",
subBackgroundColor:"#101117",
textColor: "#f0f0f0",
activeTextColor: "#ffffff",
activeBackgroundColor: "#2d8cf0",
hoverTextColor: "#ffffff",
hoverBackgroundColor: "#545f6c"
},
// 顶部菜单样式
topMenu: {
backgroundColor: "#191a23",
textColor: "#f0f0f0",
}
}
// 黑白主题(左侧菜单黑,顶部白)
export default {
// 左侧菜单样式
leftMenu: {
backgroundColor: "#191a23",
subBackgroundColor:"#101117",
textColor: "#f0f0f0",
activeTextColor: "#ffffff",
activeBackgroundColor: "#2d8cf0",
hoverTextColor: "#ffffff",
hoverBackgroundColor: "#545f6c"
},
// 顶部菜单样式
topMenu: {
backgroundColor: "#ffffff",
textColor: "#999999",
}
}
import white from './white.js'
import black from './black.js'
import blackWhite from './blackWhite.js'
export default {
white,
black,
blackWhite
};
// 纯白主题
export default {
// 左侧菜单样式
leftMenu: {
backgroundColor: "#ffffff",
subBackgroundColor:"#ffffff",
textColor: "#303133",
activeTextColor: "#409EFF",
activeBackgroundColor: "#ecf5ff",
hoverTextColor: "#303133",
hoverBackgroundColor: "#efefef"
},
// 顶部菜单样式
topMenu: {
backgroundColor: "#ffffff",
textColor: "#999999",
}
}
\ No newline at end of file
{
"name": "vk-unicloud-admin",
"version": "1.7.2",
"version": "1.7.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
......@@ -104,9 +104,9 @@
}
},
"vk-unicloud-admin-ui": {
"version": "1.7.6",
"resolved": "https://registry.npmjs.org/vk-unicloud-admin-ui/-/vk-unicloud-admin-ui-1.7.6.tgz",
"integrity": "sha512-R6VOH+3ERzpqBK9+j+nH0GX+8QRUML7Unr4d5YQ2NzBVjbE9OdT56Gbnjj+7C7hiZggXaA/7YXjBqpLhxJbO0g=="
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/vk-unicloud-admin-ui/-/vk-unicloud-admin-ui-1.8.1.tgz",
"integrity": "sha512-cLbAPgWrmAMtCrHXg3JgHkrsVOpeih9uqeD2XcWQp6K0oBOgxhdcYXvm45vXF++5nNgFtUvwg5hfF6n+OEYZnw=="
},
"vuedraggable": {
"version": "2.24.3",
......
{
"id": "vk-unicloud-admin",
"name": "vk-unicloud-admin",
"version": "1.7.4",
"version": "1.8.0",
"displayName": "【开箱即用】vk-unicloud-admin-快速开发框架-打造unicloud最好用的admin",
"description": "vk-unicloud-admin是基于unicloud+uni-id+element+vk-unicloud-router的一套快速PC admin完整开发框架。小白几分钟即可完成一个页面CRUD。",
"keywords": [
......@@ -22,7 +22,7 @@
"dependencies": {
"element-ui": "^2.15.6",
"umy-ui": "^1.1.6",
"vk-unicloud-admin-ui": "^1.7.7"
"vk-unicloud-admin-ui": "^1.8.1"
},
"engines": {
"HBuilderX": "^3.1.10"
......
## 2.6.3(2021-11-29)
* 1、【新增】`vk.baseDao` 内api支持连接其他服务空间的数据库 [点击查看](https://vkdoc.fsq.pub/client/question/q9.html#%E4%BA%91%E5%87%BD%E6%95%B0%E7%AB%AF%E8%AF%B7%E6%B1%82%E5%A4%9A%E6%9C%8D%E5%8A%A1%E7%A9%BA%E9%97%B4%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81)
* 完整框架项目地址:`https://ext.dcloud.net.cn/plugin?id=2204`[点击查看](https://ext.dcloud.net.cn/plugin?id=2204)
## 2.6.2(2021-11-26)
* 1、【新增】`await vk.pubfn.batchRun` 批量循环并发执行异步函数(云函数内专用, 使用场景: 批量发送短信、邮件、消息通知等。)[点击查看](https://vkdoc.fsq.pub/client/jsapi.html#vk-pubfn-batchrun)
* 完整框架项目地址:`https://ext.dcloud.net.cn/plugin?id=2204`[点击查看](https://ext.dcloud.net.cn/plugin?id=2204)
## 2.6.1(2021-11-26)
* 1、【优化】一些细节
* 完整框架项目地址:`https://ext.dcloud.net.cn/plugin?id=2204`[点击查看](https://ext.dcloud.net.cn/plugin?id=2204)
## 2.6.0(2021-11-19)
* 1、【重要】移除了内置的 `npm` 方式安装的 `uView` 组件库,开发者可以选择自己喜欢的组件库进行开发。[点击查看](https://vkdoc.fsq.pub/client/quickstart.html#%E8%87%AA-client%E7%AB%AF%E6%A1%86%E6%9E%B6-2-6-0-%E8%B5%B7-%E4%B8%8D%E5%86%8D%E5%86%85%E7%BD%AE%E4%BB%BB%E4%BD%95-ui-%E6%A1%86%E6%9E%B6-%E4%BD%A0%E5%8F%AF%E4%BB%A5%E9%80%89%E6%8B%A9%E8%87%AA%E5%B7%B1%E5%96%9C%E6%AC%A2%E7%9A%84-ui-%E7%BB%84%E4%BB%B6%E5%BA%93%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91%E3%80%82)
* 2、【重要】移除内置组件 `vk-u-goods-sku-popup`(推荐 `vk-data-goods-sku-popup` 代替)[点击查看](https://ext.dcloud.net.cn/plugin?id=2848)
......
{
"id": "vk-unicloud",
"displayName": "vk-unicloud-router开发框架核心库 - 已集成uni-id 框架内置了众多API。",
"version": "2.6.0",
"version": "2.6.3",
"description": "此为vk-unicloud-router框架核心库(新手建议下载完整框架项目)已集成uni-id支持云函数url化。众多现成API,内置小白也能轻松上手的数据库API。使你项目刚起步进度就是百分之50",
"keywords": [
"vk-unicloud-router",
......
{
"name": "vk-unicloud",
"version": "2.6.0",
"version": "2.6.5",
"description": "【云函数端SDK】VK云函数路由模式uniCloud开发框架,在router目录下执行 npm i vk-unicloud 进行安装和升级",
"main": "index.js",
"homepage": "https://gitee.com/vk-uni/vk-uni-cloud-router.git",
......
......@@ -139,42 +139,34 @@ export default {
let mask = false;
let duration = 1500;
let fn;
if (typeof e === 'function') {
mask = c;
duration = d;
fn = e;
} else if (d) {
if (typeof d === 'function') {
fn = d;
} else if (typeof d === 'number') {
duration = d;
} else if (typeof d === 'boolean') {
mask = d;
}
if (typeof c === 'function') {
fn = c;
} else if (typeof c === 'number') {
duration = c;
} else if (typeof c === 'boolean') {
mask = c;
}
} else if (c) {
if (typeof c === 'function') {
fn = c;
} else if (typeof c === 'number') {
duration = c;
} else if (typeof c === 'boolean') {
mask = c;
}
} else if (typeof b === 'function') {
fn = b;
if (typeof e !== "undefined") {
if (typeof e == "function") fn = e;
if (typeof e == "number") duration = e;
if (typeof e == "boolean") mask = e;
}
if (b != undefined && typeof b !== 'function') {
if (b == "ok") b = "success";
if (b == "success" || b == "loading" || b == "none") {
icon = b;
} else {
image = b;
if (typeof d !== "undefined") {
if (typeof d == "function") fn = d;
if (typeof d == "number") duration = d;
if (typeof d == "boolean") mask = d;
}
if (typeof c !== "undefined") {
if (typeof c == "function") fn = c;
if (typeof c == "number") duration = c;
if (typeof c == "boolean") mask = c;
}
if (typeof b !== "undefined") {
if (typeof b == "function") fn = b;
if (typeof b == "number") duration = b;
if (typeof b == "boolean") mask = b;
if (typeof b == 'string') {
if (b == "ok") b = "success";
if (b == "success" || b == "loading" || b == "none") {
icon = b;
} else {
image = b;
}
}
}
uni.showToast({
......@@ -185,7 +177,9 @@ export default {
duration: duration,
success: function(res) {
if (typeof fn === 'function') {
fn(res);
setTimeout(function(){
fn(res);
}, duration);
}
}
});
......
......@@ -817,7 +817,16 @@ export default {
uni.login({
provider: 'qq',
success(res) {
resolve(res.code);
// #ifdef APP-PLUS
resolve({
accessToken: res.authResult.access_token,
})
// #endif
// #ifdef MP-QQ
resolve({
code: res.code,
})
// #endif
},
fail(err) {
reject(new Error('QQ登录失败'));
......@@ -839,13 +848,14 @@ export default {
let that = this;
addLoading(obj, "登录中...");
let { data = {} } = obj;
that.getQQCode().then((code) => {
that.getQQCode().then(({ code, accessToken } = {}) => {
callFunction({
...obj,
url: 'user/pub/loginByQQ',
data: {
...data,
code: code
code,
accessToken
}
});
});
......@@ -860,13 +870,14 @@ export default {
let that = this;
addLoading(obj, "请求中...");
let { data = {} } = obj;
that.getQQCode().then((code) => {
that.getQQCode().then(({ code, accessToken } = {}) => {
callFunction({
...obj,
url: 'user/kh/bindQQ',
data: {
...data,
code: code
code,
accessToken
}
});
});
......
<template>
<scroll-view class="sidebar" scroll-y="true" v-loading="!vk.getVuex('$app.inited')">
<vk-data-menu-nav v-if="vk.getVuex('$app.inited')"
<scroll-view class="sidebar" :class="vk.getVuex('$app.isPC') ? 'pc' : 'mobile'" scroll-y="true" v-loading="!vk.getVuex('$app.inited')" :style="'background-color:'+backgroundColor">
<vk-data-menu-nav
v-if="vk.getVuex('$app.inited')"
:data="vk.getVuex('$app.navMenu')"
:uniqueOpened="true"
:theme="theme"
@select="select"
></vk-data-menu-nav>
</scroll-view>
</template>
<script>
import config from "@/app.config.js";
export default {
data() {
return {
theme: config.theme
}
},
methods: {
select(e){
},
},
// 监听属性
......@@ -36,8 +39,15 @@
},
// 计算属性
computed: {
},
backgroundColor(){
let theme = this.theme;
if (theme && theme.use) {
return theme[theme.use].leftMenu.backgroundColor;
} else {
return "#ffffff";
}
}
}
}
</script>
......@@ -54,7 +64,6 @@
top: 50px;
z-index: 998;
}
.title {
margin-left: 5px;
}
......
<template>
<view class="header no-user-select" v-loading="!vk.getVuex('$app.inited')">
<view class="header no-user-select" v-loading="!vk.getVuex('$app.inited')" :style="'--textColor'+textColor">
<!-- 左侧 -->
<view class="left">
<navigator class="logo" open-type="reLaunch" url="/">
......@@ -9,7 +9,7 @@
<!-- 右侧 -->
<view class="right">
<!-- 右上 -->
<view class="right-top">
<view class="right-top" :style="topMenuStyle">
<view
class="navbar"
:class="{ 'navbar-mini': !matchLeftWindow, 'popup-menu': popupMenuOpened }"
......@@ -23,7 +23,7 @@
class="menu-icon"
name="vk-icon-sortlight"
size="30"
color="#999"
:color="textColor"
></vk-data-icon>
</view>
<view class="navbar-middle">
......@@ -41,7 +41,7 @@
<vk-data-icon
class="arrowdown"
name="vk-icon-unfold"
color="#bbb"
:color="textColor"
size="13"
></vk-data-icon>
</view>
......@@ -57,7 +57,7 @@
<vk-data-icon
name="el-icon-message-solid"
size="22"
color="#999999"
:color="textColor"
></vk-data-icon>
</el-badge>
</view>
......@@ -122,7 +122,12 @@ export default {
data() {
return {
debug: config.debug,
...config.staticUrl.navBar,
// 方形Logo
logo: config.staticUrl.navBar.logo,
// 横幅 Logo
logo2: config.staticUrl.navBar.logo2,
// 主题配置
theme: config.theme,
// 右侧链接,只在开发模式时显示
links: [
{
......@@ -180,10 +185,33 @@ export default {
};
}
},
// 过滤器
filters: {},
// 计算属性
computed: {}
computed: {
topMenuStyle(){
let theme = this.theme;
if (theme && theme.use) {
let topMenu = theme[theme.use].topMenu;
let {
backgroundColor,
textColor
} = topMenu;
return {
backgroundColor,
color:textColor
}
} else {
return {}
}
},
textColor(){
let theme = this.theme;
if (theme && theme.use) {
return theme[theme.use].topMenu.textColor || "#999";
} else {
return "#999";
}
}
}
};
</script>
......@@ -395,5 +423,10 @@ export default {
margin-left: 8px;
}
}
::v-deep .navbar .top-bar .item-content {
color: var(--textColor);
}
}
</style>
......@@ -927,5 +927,61 @@
],
"triggerAssist": false,
"description": "分组统计查询"
},
"vk.baseDao.sum": {
"prefix": "baseDao.sum",
"body": [
"res = await vk.baseDao.sum({",
"\tdbName:\"$0\",",
"\tfieldName:\"\",",
"\twhereJson:{",
"\t\t",
"\t}",
"});"
],
"triggerAssist": false,
"description": "根据条件求和"
},
"vk.baseDao.max": {
"prefix": "baseDao.max",
"body": [
"res = await vk.baseDao.max({",
"\tdbName:\"$0\",",
"\tfieldName:\"\",",
"\twhereJson:{",
"\t\t",
"\t}",
"});"
],
"triggerAssist": false,
"description": "根据条件求最大值"
},
"vk.baseDao.min": {
"prefix": "baseDao.min",
"body": [
"res = await vk.baseDao.min({",
"\tdbName:\"$0\",",
"\tfieldName:\"\",",
"\twhereJson:{",
"\t\t",
"\t}",
"});"
],
"triggerAssist": false,
"description": "根据条件求最小值"
},
"vk.baseDao.avg": {
"prefix": "baseDao.avg",
"body": [
"res = await vk.baseDao.avg({",
"\tdbName:\"$0\",",
"\tfieldName:\"\",",
"\twhereJson:{",
"\t\t",
"\t}",
"});"
],
"triggerAssist": false,
"description": "根据条件求最平均值"
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册