chore: 💄 更新logo样式,登录二维码

This commit is contained in:
H0nGzA1
2023-03-20 21:23:51 +08:00
parent 0c3fa62a27
commit 7199e30131
7 changed files with 3047 additions and 272 deletions

View File

@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2023 dvadmin,hugedream Copyright (c) 2023 DVAdmin,hugedream
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 212 KiB

View File

@@ -2,7 +2,7 @@
<div class="layout-footer pb15"> <div class="layout-footer pb15">
<div class="layout-footer-warp"> <div class="layout-footer-warp">
<div> Powered by Django-Vue3-Admin </div> <div> Powered by Django-Vue3-Admin </div>
<div class="mt5">Copyright dvadmin团队</div> <div class="mt5">Copyright DVAdmin团队</div>
</div> </div>
</div> </div>
</template> </template>

View File

@@ -1,7 +1,7 @@
<template> <template>
<div class="layout-logo" v-if="setShowLogo" @click="onThemeConfigChange"> <div class="layout-logo" v-if="setShowLogo" @click="onThemeConfigChange">
<img :src="logoMini" class="layout-logo-medium-img" /> <img :src="logoMini" class="layout-logo-medium-img" />
<span>{{ themeConfig.globalTitle }}</span> <span style="font-size: x-large">{{ themeConfig.globalTitle }}</span>
</div> </div>
<div class="layout-logo-size" v-else @click="onThemeConfigChange"> <div class="layout-logo-size" v-else @click="onThemeConfigChange">
<img :src="logoMini" class="layout-logo-size-img" /> <img :src="logoMini" class="layout-logo-size-img" />
@@ -52,7 +52,7 @@ const onThemeConfigChange = () => {
} }
} }
&-medium-img { &-medium-img {
width: 20px; width: 40px;
margin-right: 5px; margin-right: 5px;
} }
} }
@@ -63,7 +63,7 @@ const onThemeConfigChange = () => {
cursor: pointer; cursor: pointer;
animation: logoAnimation 0.3s ease-in-out; animation: logoAnimation 0.3s ease-in-out;
&-img { &-img {
width: 20px; width: 40px;
margin: auto; margin: auto;
} }
&:hover { &:hover {

View File

@@ -137,9 +137,9 @@ export const useThemeConfig = defineStore('themeConfig', {
* 全局网站标题 / 副标题 * 全局网站标题 / 副标题
*/ */
// 网站主标题(菜单导航、浏览器当前网页标题) // 网站主标题(菜单导航、浏览器当前网页标题)
globalTitle: 'dvadmin', globalTitle: 'DVAdmin',
// 网站副标题(登录页顶部文字) // 网站副标题(登录页顶部文字)
globalViceTitle: 'dvadmin', globalViceTitle: 'DVAdmin',
// 网站副标题(登录页顶部文字) // 网站副标题(登录页顶部文字)
globalViceTitleMsg: '企业级快速开发平台', globalViceTitleMsg: '企业级快速开发平台',
// 默认初始语言,可选值"<zh-cn|en|zh-tw>",默认 zh-cn // 默认初始语言,可选值"<zh-cn|en|zh-tw>",默认 zh-cn

View File

@@ -1,220 +1,225 @@
import * as api from "./api"; import * as api from './api';
import { dict, PageQuery, AddReq, DelReq, EditReq, CrudExpose, CrudOptions, } from "@fast-crud/fast-crud"; import { dict, PageQuery, AddReq, DelReq, EditReq, CrudExpose, CrudOptions } from '@fast-crud/fast-crud';
import { request } from "/@/utils/service"; import { verifyPhone } from '/@/utils/toolsValidate';
import { dictionary } from "/@/utils/dictionary"; import { request } from '/@/utils/service';
import { dictionary } from '/@/utils/dictionary';
interface CreateCrudOptionsTypes { interface CreateCrudOptionsTypes {
crudOptions: CrudOptions; crudOptions: CrudOptions;
} }
export const createCrudOptions = function ({ crudExpose }: { crudExpose: CrudExpose }): CreateCrudOptionsTypes { export const createCrudOptions = function ({ crudExpose }: { crudExpose: CrudExpose }): CreateCrudOptionsTypes {
const pageRequest = async (query: PageQuery) => { const pageRequest = async (query: PageQuery) => {
return await api.GetList(query); return await api.GetList(query);
}; };
const editRequest = async ({ form, row }: EditReq) => { const editRequest = async ({ form, row }: EditReq) => {
form.id = row.id; form.id = row.id;
return await api.UpdateObj(form); return await api.UpdateObj(form);
}; };
const delRequest = async ({ row }: DelReq) => { const delRequest = async ({ row }: DelReq) => {
return await api.DelObj(row.id); return await api.DelObj(row.id);
}; };
const addRequest = async ({ form }: AddReq) => { const addRequest = async ({ form }: AddReq) => {
return await api.AddObj(form); return await api.AddObj(form);
}; };
/** /**
* 懒加载 * 懒加载
* @param row * @param row
* @returns {Promise<unknown>} * @returns {Promise<unknown>}
*/ */
const loadContentMethod = (tree: any, treeNode: any, resolve: any) => { const loadContentMethod = (tree: any, treeNode: any, resolve: any) => {
api.GetList({ parent: tree.id }).then((res: any) => { api.GetList({ parent: tree.id }).then((res: any) => {
resolve(res.data); resolve(res.data);
}); });
}; };
return { return {
crudOptions: { crudOptions: {
request: { request: {
pageRequest, pageRequest,
addRequest, addRequest,
editRequest, editRequest,
delRequest delRequest,
}, },
pagination: { pagination: {
show: false, show: false,
}, },
table: { table: {
rowKey: 'id', rowKey: 'id',
lazy: true, lazy: true,
load: loadContentMethod, load: loadContentMethod,
treeProps: { children: 'children', hasChildren: 'hasChild' }, treeProps: { children: 'children', hasChildren: 'hasChild' },
}, },
rowHandle:{ rowHandle: {
fiexd:'right', fiexd: 'right',
width:310, width: 310,
buttons:{ buttons: {
addChildren:{ addChildren: {
text: "添加子级", text: '添加子级',
type:"warning", type: 'warning',
click(context){ click(context) {
const rowId =context.row.id const rowId = context.row.id;
crudExpose.openAdd({ row: { parent: rowId } }) crudExpose.openAdd({ row: { parent: rowId } });
} },
} },
} },
}, },
columns: { columns: {
_index: { _index: {
title: '序号', title: '序号',
form: { show: false }, form: { show: false },
column: { column: {
type: 'index', type: 'index',
align: 'center', align: 'center',
width: '70px', width: '70px',
columnSetDisabled: true, //禁止在列设置中选择 columnSetDisabled: true, //禁止在列设置中选择
}, },
}, },
search: { search: {
title: '关键词', title: '关键词',
column: { column: {
show: false show: false,
}, },
search: { search: {
show: true, show: true,
component: { component: {
props: { props: {
clearable: true clearable: true,
}, },
placeholder: '请输入关键词' placeholder: '请输入关键词',
} },
}, },
form: { form: {
show: false, show: false,
component: { component: {
props: { props: {
clearable: true clearable: true,
} },
} },
}, },
}, },
name: { name: {
title: '部门名称', title: '部门名称',
sortable: true, sortable: true,
treeNode: true, // 设置为树形列 treeNode: true, // 设置为树形列
search: { search: {
disabled: false, disabled: false,
component: { component: {
props: { props: {
clearable: true clearable: true,
} },
} },
}, },
width: 180, width: 180,
type: 'input', type: 'input',
form: { form: {
rules: [ rules: [
// 表单校验规则 // 表单校验规则
{ required: true, message: '部门名称必填项' } { required: true, message: '部门名称必填项' },
], ],
component: { component: {
span: 12, span: 12,
props: { props: {
clearable: true clearable: true,
}, },
placeholder: '请输入部门名称' placeholder: '请输入部门名称',
}, },
} },
}, },
key: { key: {
title: '部门标识', title: '部门标识',
sortable: true, sortable: true,
form: { form: {
component: { component: {
props: { props: {
clearable: true clearable: true,
}, },
placeholder: '请输入标识字符' placeholder: '请输入标识字符',
}, },
} },
}, },
owner: { owner: {
title: '负责人', title: '负责人',
sortable: true, sortable: true,
form: { form: {
component: { component: {
span: 12, span: 12,
props: { props: {
clearable: true clearable: true,
}, },
placeholder: '请输入负责人' placeholder: '请输入负责人',
} },
} },
}, },
phone: { phone: {
title: '联系电话', title: '联系电话',
sortable: true, sortable: true,
form: { form: {
component: { rules: [
span: 12, { required: true, message: '请输入联系电话' },
props: { { validator: verifyPhone, trigger: 'change' },
clearable: true ],
}, component: {
placeholder: '请输入联系电话' span: 12,
} props: {
} clearable: true,
}, },
email: { placeholder: '请输入联系电话',
title: '邮箱', },
sortable: true, },
form: { },
component: { email: {
span: 12, title: '邮箱',
props: { sortable: true,
clearable: true form: {
}, component: {
placeholder: '请输入邮箱' span: 12,
}, props: {
rules: [ clearable: true,
{ },
type: 'email', placeholder: '请输入邮箱',
message: '请输入正确的邮箱地址', },
trigger: ['blur', 'change'] rules: [
} {
] type: 'email',
} message: '请输入正确的邮箱地址',
}, trigger: ['blur', 'change'],
sort: { },
title: '排序', ],
sortable: true, },
width: 80, },
type: 'number', sort: {
form: { title: '排序',
value: 1, sortable: true,
component: { width: 80,
span: 12, type: 'number',
placeholder: '请选择序号' form: {
} value: 1,
} component: {
}, span: 12,
status: { placeholder: '请选择序号',
title: '状态', },
sortable: true, },
search: { },
disabled: false status: {
}, title: '状态',
type: 'dict-radio', sortable: true,
dict: dict({ search: {
data: dictionary('button_status_bool') disabled: false,
}), },
form: { type: 'dict-radio',
value: true, dict: dict({
component: { data: dictionary('button_status_bool'),
span: 12, }),
placeholder: '请选择状态' form: {
} value: true,
} component: {
} span: 12,
} placeholder: '请选择状态',
}, },
} },
} },
},
},
};
};

View File

@@ -17,7 +17,7 @@ export default defineComponent({
const initQrcode = () => { const initQrcode = () => {
(qrcodeRef.value as HTMLElement).innerHTML = ''; (qrcodeRef.value as HTMLElement).innerHTML = '';
new QRCode(qrcodeRef.value, { new QRCode(qrcodeRef.value, {
text: `https://jq.qq.com/?_wv=1027&k=8keWoTap`, text: `https://jq.qq.com/?_wv=1027&k=hUu2GeU1`,
width: 260, width: 260,
height: 260, height: 260,
colorDark: '#000000', colorDark: '#000000',