fix: 一些基本功能
This commit is contained in:
2
packages/@core/base/typings/src/basic.d.ts
vendored
2
packages/@core/base/typings/src/basic.d.ts
vendored
@@ -15,7 +15,7 @@ interface BasicUserInfo {
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
realName: string;
|
||||
nick_name: string;
|
||||
/**
|
||||
* 用户角色
|
||||
*/
|
||||
|
||||
@@ -56,6 +56,8 @@ interface AppPreferences {
|
||||
name: string;
|
||||
/** 偏好设置按钮位置 */
|
||||
preferencesButtonPosition: PreferencesButtonPositionType;
|
||||
/** 版本信息 */
|
||||
version: string;
|
||||
/**
|
||||
* @zh_CN 是否开启水印
|
||||
*/
|
||||
|
||||
@@ -26,6 +26,10 @@ interface Props {
|
||||
* @zh_CN Logo 主题
|
||||
*/
|
||||
theme?: string;
|
||||
/**
|
||||
* @zh_CN Vben 版本
|
||||
*/
|
||||
version?: string;
|
||||
}
|
||||
|
||||
defineOptions({
|
||||
@@ -56,10 +60,29 @@ withDefaults(defineProps<Props>(), {
|
||||
/>
|
||||
<span
|
||||
v-if="!collapsed"
|
||||
class="text-foreground truncate text-nowrap font-semibold"
|
||||
class="app-version text-foreground truncate text-nowrap font-semibold"
|
||||
>
|
||||
{{ text }}
|
||||
<b>
|
||||
<i>V {{ version }}</i>
|
||||
</b>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.app-version {
|
||||
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
|
||||
.dark {
|
||||
.app-version {
|
||||
background: linear-gradient(135deg, #cd853f 0%, #ff6347 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -21,8 +21,8 @@ export const SUPPORT_LANGUAGES: LanguageOption[] = [
|
||||
label: '简体中文',
|
||||
value: 'zh-CN',
|
||||
},
|
||||
{
|
||||
label: 'English',
|
||||
value: 'en-US',
|
||||
},
|
||||
// {
|
||||
// label: 'English',
|
||||
// value: 'en-US',
|
||||
// },
|
||||
];
|
||||
|
||||
@@ -39,13 +39,13 @@ defineEmits(['click']);
|
||||
'pb-4': index > 2,
|
||||
}"
|
||||
class="border-border group w-full cursor-pointer border-r border-t p-4 transition-all hover:shadow-xl md:w-1/2 lg:w-1/3"
|
||||
@click="$emit('click', item)"
|
||||
>
|
||||
<div class="flex items-center">
|
||||
<VbenIcon
|
||||
:color="item.color"
|
||||
:icon="item.icon"
|
||||
class="size-8 transition-all duration-300 group-hover:scale-110"
|
||||
@click="$emit('click', item)"
|
||||
/>
|
||||
<span class="ml-4 text-lg font-medium">{{ item.title }}</span>
|
||||
</div>
|
||||
|
||||
@@ -7,7 +7,7 @@ interface FallbackProps {
|
||||
* @zh_CN 首页路由地址
|
||||
* @default /
|
||||
*/
|
||||
homePath?: string;
|
||||
home_path?: string;
|
||||
/**
|
||||
* @zh_CN 默认显示的图片
|
||||
* @default pageNotFoundSvg
|
||||
|
||||
@@ -16,7 +16,7 @@ defineOptions({
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
description: '',
|
||||
homePath: '/',
|
||||
home_path: '/',
|
||||
image: '',
|
||||
showBack: true,
|
||||
status: 'coming-soon',
|
||||
@@ -118,7 +118,7 @@ const { push } = useRouter();
|
||||
|
||||
// 返回首页
|
||||
function back() {
|
||||
push(props.homePath);
|
||||
push(props.home_path);
|
||||
}
|
||||
|
||||
function refresh() {
|
||||
|
||||
@@ -14,6 +14,7 @@ interface Props {
|
||||
pageTitle?: string;
|
||||
pageDescription?: string;
|
||||
sloganImage?: string;
|
||||
version?: string;
|
||||
toolbar?: boolean;
|
||||
copyright?: boolean;
|
||||
toolbarList?: ToolbarType[];
|
||||
@@ -26,6 +27,7 @@ withDefaults(defineProps<Props>(), {
|
||||
pageDescription: '',
|
||||
pageTitle: '',
|
||||
sloganImage: '',
|
||||
version: '',
|
||||
toolbar: true,
|
||||
toolbarList: () => ['color', 'language', 'layout', 'theme'],
|
||||
});
|
||||
@@ -66,8 +68,11 @@ const { authPanelCenter, authPanelLeft, authPanelRight, isDark } =
|
||||
class="text-foreground lg:text-foreground ml-4 mt-4 flex flex-1 items-center sm:left-6 sm:top-6"
|
||||
>
|
||||
<img v-if="logo" :alt="appName" :src="logo" class="mr-2" width="42" />
|
||||
<p v-if="appName" class="text-xl font-medium">
|
||||
<p v-if="appName" class="app-version text-xl font-medium">
|
||||
{{ appName }}
|
||||
<b>
|
||||
<i>V {{ version }}</i>
|
||||
</b>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -141,6 +146,11 @@ const { authPanelCenter, authPanelLeft, authPanelRight, isDark } =
|
||||
);
|
||||
filter: blur(100px);
|
||||
}
|
||||
.app-version {
|
||||
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
|
||||
.dark {
|
||||
.login-background {
|
||||
@@ -152,5 +162,10 @@ const { authPanelCenter, authPanelLeft, authPanelRight, isDark } =
|
||||
);
|
||||
filter: blur(100px);
|
||||
}
|
||||
.app-version {
|
||||
background: linear-gradient(135deg, #cd853f 0%, #ff6347 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -291,6 +291,7 @@ const headerSlots = computed(() => {
|
||||
v-if="preferences.logo.enable"
|
||||
:text="preferences.app.name"
|
||||
:theme="theme"
|
||||
:version="preferences.app.version"
|
||||
/>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ interface HttpResponse<T = any> {
|
||||
* 0 means success, others means fail
|
||||
*/
|
||||
code: number;
|
||||
data: T;
|
||||
result: T;
|
||||
message: string;
|
||||
}
|
||||
|
||||
|
||||
1678
packages/icons/src/svg/icons/logo.svg
Normal file
1678
packages/icons/src/svg/icons/logo.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 126 KiB |
@@ -11,8 +11,10 @@ const SvgCardIcon = createIconifyIcon('svg:card');
|
||||
const SvgBellIcon = createIconifyIcon('svg:bell');
|
||||
const SvgCakeIcon = createIconifyIcon('svg:cake');
|
||||
const SvgAntdvLogoIcon = createIconifyIcon('svg:antdv-logo');
|
||||
const LogoSvgICON = createIconifyIcon('svg:logo');
|
||||
|
||||
export {
|
||||
LogoSvgICON,
|
||||
SvgAntdvLogoIcon,
|
||||
SvgAvatar1Icon,
|
||||
SvgAvatar2Icon,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"welcomeBack": "欢迎回来",
|
||||
"pageTitle": "开箱即用的大型中后台管理系统",
|
||||
"pageDesc": "工程化、高性能、跨组件库的前端模版",
|
||||
"pageTitle": "萧康云医后台管理系统",
|
||||
"pageDesc": "满足百姓健康要求为核心,致力于便捷、安全、高效的用药与医疗服务的解决方案",
|
||||
"loginSuccess": "登录成功",
|
||||
"loginSuccessDesc": "欢迎回来",
|
||||
"loginSubtitle": "请输入您的帐户信息以开始管理您的项目",
|
||||
|
||||
@@ -9,7 +9,7 @@ interface BasicUserInfo {
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
realName: string;
|
||||
nick_name: string;
|
||||
/**
|
||||
* 用户角色
|
||||
*/
|
||||
|
||||
@@ -2,6 +2,18 @@ import type { BasicUserInfo } from '@vben-core/typings';
|
||||
|
||||
/** 用户信息 */
|
||||
interface UserInfo extends BasicUserInfo {
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
phone: string;
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
nick_name: string;
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
avatar: string;
|
||||
/**
|
||||
* 用户描述
|
||||
*/
|
||||
@@ -9,7 +21,7 @@ interface UserInfo extends BasicUserInfo {
|
||||
/**
|
||||
* 首页地址
|
||||
*/
|
||||
homePath: string;
|
||||
home_path: string;
|
||||
|
||||
/**
|
||||
* accessToken
|
||||
|
||||
Reference in New Issue
Block a user