Perfect TS type detection

This commit is contained in:
啊俊
2021-07-25 22:48:32 +08:00
parent b43ab1ceb4
commit 044976b790
2 changed files with 64 additions and 41 deletions

View File

@@ -1,6 +1,7 @@
import { defineStore } from 'pinia'; import { defineStore } from 'pinia';
import { store } from '@/store'; import { store } from '@/store';
import projectSetting from '@/settings/projectSetting'; import projectSetting from '@/settings/projectSetting';
import type { IheaderSetting, ImenuSetting, ImultiTabsSetting, IcrumbsSetting } from '/#/config';
const { const {
navMode, navMode,
@@ -16,11 +17,11 @@ const {
interface ProjectSettingState { interface ProjectSettingState {
navMode: string; //导航模式 navMode: string; //导航模式
navTheme: string; //导航风格 navTheme: string; //导航风格
headerSetting: object; //顶部设置 headerSetting: IheaderSetting; //顶部设置
showFooter: boolean; //页脚 showFooter: boolean; //页脚
menuSetting: object; //多标签 menuSetting: ImenuSetting; //多标签
multiTabsSetting: object; //多标签 multiTabsSetting: ImultiTabsSetting; //多标签
crumbsSetting: object; //面包屑 crumbsSetting: IcrumbsSetting; //面包屑
permissionMode: string; //权限模式 permissionMode: string; //权限模式
} }

96
types/config.d.ts vendored
View File

@@ -1,45 +1,67 @@
export interface ProjectSettingState { export interface ProjectSettingState {
//导航模式 //导航模式
navMode: string; navMode: string;
//导航风格 //导航风格
navTheme: string; navTheme: string;
//顶部设置 //顶部设置
headerSetting: object; headerSetting: object;
//页脚 //页脚
showFooter: boolean; showFooter: boolean;
//菜单设置 //菜单设置
menuSetting: object; menuSetting: object;
//多标签 //多标签
multiTabsSetting: object; multiTabsSetting: object;
//面包屑 //面包屑
crumbsSetting: object; crumbsSetting: object;
//权限模式 //权限模式
permissionMode: string; permissionMode: string;
} }
export interface IheaderSetting {
bgColor: string;
fixed: boolean;
isReload: boolean;
}
export interface ImenuSetting {
minMenuWidth: number;
menuWidth: number;
fixed: boolean;
}
export interface IcrumbsSetting {
show: boolean;
showIcon: boolean;
}
export interface ImultiTabsSetting {
bgColor: string;
fixed: boolean;
show: boolean;
}
export interface GlobConfig { export interface GlobConfig {
title: string; title: string;
apiUrl: string; apiUrl: string;
shortName: string; shortName: string;
urlPrefix?: string; urlPrefix?: string;
uploadUrl?: string; uploadUrl?: string;
prodMock: boolean; prodMock: boolean;
imgUrl?: string; imgUrl?: string;
} }
export interface GlobEnvConfig { export interface GlobEnvConfig {
// 标题 // 标题
VITE_GLOB_APP_TITLE: string; VITE_GLOB_APP_TITLE: string;
// 接口地址 // 接口地址
VITE_GLOB_API_URL: string; VITE_GLOB_API_URL: string;
// 接口前缀 // 接口前缀
VITE_GLOB_API_URL_PREFIX?: string; VITE_GLOB_API_URL_PREFIX?: string;
// Project abbreviation // Project abbreviation
VITE_GLOB_APP_SHORT_NAME: string; VITE_GLOB_APP_SHORT_NAME: string;
// 图片上传地址 // 图片上传地址
VITE_GLOB_UPLOAD_URL?: string; VITE_GLOB_UPLOAD_URL?: string;
//图片前缀地址 //图片前缀地址
VITE_GLOB_IMG_URL?: string; VITE_GLOB_IMG_URL?: string;
//生产环境开启mock //生产环境开启mock
VITE_GLOB_PROD_MOCK: boolean; VITE_GLOB_PROD_MOCK: boolean;
} }