refactor(projects): all file and folder use kebab-case
This commit is contained in:
parent
bf2f617255
commit
cea600f12c
@ -3,7 +3,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import WebSiteLink from './WebSiteLink.vue';
|
||||
import WebSiteLink from './web-site-link.vue';
|
||||
|
||||
defineOptions({ name: 'GithubLink' });
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { h } from 'vue';
|
||||
import SvgIcon from '@/components/custom/SvgIcon.vue';
|
||||
import SvgIcon from '~/src/components/custom/svg-icon.vue';
|
||||
|
||||
/**
|
||||
* 图标渲染
|
||||
|
@ -1,5 +1,5 @@
|
||||
import useCountDown from './useCountDown';
|
||||
import useSmsCode from './useSmsCode';
|
||||
import useImageVerify from './useImageVerify';
|
||||
import useCountDown from './use-count-down';
|
||||
import useSmsCode from './use-sms-code';
|
||||
import useImageVerify from './use-image-verify';
|
||||
|
||||
export { useCountDown, useSmsCode, useImageVerify };
|
||||
|
@ -2,7 +2,7 @@ import { computed } from 'vue';
|
||||
import { REGEXP_PHONE } from '@/config';
|
||||
import { fetchSmsCode } from '@/service';
|
||||
import { useLoading } from '../common';
|
||||
import useCountDown from './useCountDown';
|
||||
import useCountDown from './use-count-down';
|
||||
|
||||
export default function useSmsCode() {
|
||||
const { loading, startLoading, endLoading } = useLoading();
|
@ -1,7 +1,7 @@
|
||||
import useContext from './useContext';
|
||||
import useBoolean from './useBoolean';
|
||||
import useLoading from './useLoading';
|
||||
import useLoadingEmpty from './useLoadingEmpty';
|
||||
import useReload from './useReload';
|
||||
import useContext from './use-context';
|
||||
import useBoolean from './use-boolean';
|
||||
import useLoading from './use-loading';
|
||||
import useLoadingEmpty from './use-loading-empty';
|
||||
import useReload from './use-reload';
|
||||
|
||||
export { useContext, useBoolean, useLoading, useLoadingEmpty, useReload };
|
||||
|
@ -1,4 +1,4 @@
|
||||
import useBoolean from './useBoolean';
|
||||
import useBoolean from './use-boolean';
|
||||
|
||||
export default function useLoadingEmpty(initLoading = false, initEmpty = false) {
|
||||
const { bool: loading, setTrue: startLoading, setFalse: endLoading } = useBoolean(initLoading);
|
@ -1,4 +1,4 @@
|
||||
import useBoolean from './useBoolean';
|
||||
import useBoolean from './use-boolean';
|
||||
|
||||
export default function useLoading(initValue = false) {
|
||||
const { bool: loading, setTrue: startLoading, setFalse: endLoading } = useBoolean(initValue);
|
@ -1,5 +1,5 @@
|
||||
import { nextTick } from 'vue';
|
||||
import useBoolean from './useBoolean';
|
||||
import useBoolean from './use-boolean';
|
||||
|
||||
/** 重载 */
|
||||
export default function useReload() {
|
@ -1,21 +0,0 @@
|
||||
import MenuCollapse from './MenuCollapse.vue';
|
||||
import GlobalBreadcrumb from './GlobalBreadcrumb.vue';
|
||||
import HeaderMenu from './HeaderMenu.vue';
|
||||
import GithubSite from './GithubSite.vue';
|
||||
import FullScreen from './FullScreen.vue';
|
||||
import ThemeMode from './ThemeMode.vue';
|
||||
import UserAvatar from './UserAvatar.vue';
|
||||
import SystemMessage from './SystemMessage.vue';
|
||||
import SettingButton from './SettingButton.vue';
|
||||
|
||||
export {
|
||||
MenuCollapse,
|
||||
GlobalBreadcrumb,
|
||||
HeaderMenu,
|
||||
GithubSite,
|
||||
FullScreen,
|
||||
ThemeMode,
|
||||
UserAvatar,
|
||||
SystemMessage,
|
||||
SettingButton
|
||||
};
|
@ -1,3 +0,0 @@
|
||||
import SearchModal from './SearchModal.vue';
|
||||
|
||||
export { SearchModal };
|
@ -1,5 +0,0 @@
|
||||
import MixMenuDetail from './MixMenuDetail.vue';
|
||||
import MixMenuDrawer from './MixMenuDrawer.vue';
|
||||
import MixMenuCollapse from './MixMenuCollapse.vue';
|
||||
|
||||
export { MixMenuDetail, MixMenuDrawer, MixMenuCollapse };
|
@ -1,3 +0,0 @@
|
||||
import VerticalMenu from './VerticalMenu.vue';
|
||||
|
||||
export { VerticalMenu };
|
@ -1,4 +0,0 @@
|
||||
import VerticalSider from './VerticalSider/index.vue';
|
||||
import VerticalMixSider from './VerticalMixSider/index.vue';
|
||||
|
||||
export { VerticalSider, VerticalMixSider };
|
@ -1,3 +0,0 @@
|
||||
import ContextMenu from './ContextMenu.vue';
|
||||
|
||||
export { ContextMenu };
|
@ -1,4 +0,0 @@
|
||||
import TabDetail from './TabDetail/index.vue';
|
||||
import ReloadButton from './ReloadButton/index.vue';
|
||||
|
||||
export { TabDetail, ReloadButton };
|
@ -1,3 +0,0 @@
|
||||
import LayoutCheckbox from './LayoutCheckbox.vue';
|
||||
|
||||
export { LayoutCheckbox };
|
@ -1,4 +0,0 @@
|
||||
import ColorCheckbox from './ColorCheckbox.vue';
|
||||
import ColorModal from './ColorModal.vue';
|
||||
|
||||
export { ColorCheckbox, ColorModal };
|
@ -1,9 +0,0 @@
|
||||
import DrawerButton from './DrawerButton/index.vue';
|
||||
import DarkMode from './DarkMode/index.vue';
|
||||
import LayoutMode from './LayoutMode/index.vue';
|
||||
import ThemeColorSelect from './ThemeColorSelect/index.vue';
|
||||
import PageFunc from './PageFunc/index.vue';
|
||||
import PageView from './PageView/index.vue';
|
||||
import ThemeConfig from './ThemeConfig/index.vue';
|
||||
|
||||
export { DrawerButton, DarkMode, LayoutMode, ThemeColorSelect, PageFunc, PageView, ThemeConfig };
|
21
src/layouts/common/global-header/components/index.ts
Normal file
21
src/layouts/common/global-header/components/index.ts
Normal file
@ -0,0 +1,21 @@
|
||||
import MenuCollapse from './menu-collapse.vue';
|
||||
import GlobalBreadcrumb from './global-breadcrumb.vue';
|
||||
import HeaderMenu from './header-menu.vue';
|
||||
import GithubSite from './github-site.vue';
|
||||
import FullScreen from './full-screen.vue';
|
||||
import ThemeMode from './theme-mode.vue';
|
||||
import UserAvatar from './user-avatar.vue';
|
||||
import SystemMessage from './system-message.vue';
|
||||
import SettingButton from './setting-button.vue';
|
||||
|
||||
export {
|
||||
MenuCollapse,
|
||||
GlobalBreadcrumb,
|
||||
HeaderMenu,
|
||||
GithubSite,
|
||||
FullScreen,
|
||||
ThemeMode,
|
||||
UserAvatar,
|
||||
SystemMessage,
|
||||
SettingButton
|
||||
};
|
@ -52,7 +52,7 @@ import { computed, ref } from 'vue';
|
||||
import { useThemeStore } from '@/store';
|
||||
import { useBasicLayout } from '@/composables';
|
||||
import { useBoolean } from '@/hooks';
|
||||
import MessageList from './MessageList.vue';
|
||||
import MessageList from './message-list.vue';
|
||||
|
||||
defineOptions({ name: 'SystemMessage' });
|
||||
|
@ -21,8 +21,8 @@
|
||||
<script setup lang="ts">
|
||||
import { useThemeStore } from '@/store';
|
||||
import { useBasicLayout } from '@/composables';
|
||||
import GlobalLogo from '../GlobalLogo/index.vue';
|
||||
import GlobalSearch from '../GlobalSearch/index.vue';
|
||||
import GlobalLogo from '../global-logo/index.vue';
|
||||
import GlobalSearch from '../global-search/index.vue';
|
||||
import {
|
||||
FullScreen,
|
||||
GithubSite,
|
3
src/layouts/common/global-search/components/index.ts
Normal file
3
src/layouts/common/global-search/components/index.ts
Normal file
@ -0,0 +1,3 @@
|
||||
import SearchModal from './search-modal.vue';
|
||||
|
||||
export { SearchModal };
|
@ -34,8 +34,8 @@ import { useRouter } from 'vue-router';
|
||||
import { onKeyStroke, useDebounceFn } from '@vueuse/core';
|
||||
import { useRouteStore } from '@/store';
|
||||
import { useBasicLayout } from '@/composables';
|
||||
import SearchResult from './SearchResult.vue';
|
||||
import SearchFooter from './SearchFooter.vue';
|
||||
import SearchResult from './search-result.vue';
|
||||
import SearchFooter from './search-footer.vue';
|
||||
|
||||
defineOptions({ name: 'SearchModal' });
|
||||
|
4
src/layouts/common/global-sider/components/index.ts
Normal file
4
src/layouts/common/global-sider/components/index.ts
Normal file
@ -0,0 +1,4 @@
|
||||
import VerticalSider from './vertical-sider/index.vue';
|
||||
import VerticalMixSider from './vertical-mix-sider/index.vue';
|
||||
|
||||
export { VerticalSider, VerticalMixSider };
|
@ -0,0 +1,5 @@
|
||||
import MixMenuDetail from './mix-menu-detail.vue';
|
||||
import MixMenuDrawer from './mix-menu-drawer.vue';
|
||||
import MixMenuCollapse from './mix-menu-collapse.vue';
|
||||
|
||||
export { MixMenuDetail, MixMenuDrawer, MixMenuCollapse };
|
@ -0,0 +1,3 @@
|
||||
import VerticalMenu from './vertical-menu.vue';
|
||||
|
||||
export { VerticalMenu };
|
4
src/layouts/common/global-tab/components/index.ts
Normal file
4
src/layouts/common/global-tab/components/index.ts
Normal file
@ -0,0 +1,4 @@
|
||||
import TabDetail from './tab-detail/index.vue';
|
||||
import ReloadButton from './reload-button/index.vue';
|
||||
|
||||
export { TabDetail, ReloadButton };
|
@ -0,0 +1,3 @@
|
||||
import ContextMenu from './context-menu.vue';
|
||||
|
||||
export { ContextMenu };
|
@ -1,10 +1,10 @@
|
||||
import SettingDrawer from './SettingDrawer/index.vue';
|
||||
import GlobalHeader from './GlobalHeader/index.vue';
|
||||
import GlobalTab from './GlobalTab/index.vue';
|
||||
import GlobalSider from './GlobalSider/index.vue';
|
||||
import GlobalContent from './GlobalContent/index.vue';
|
||||
import GlobalFooter from './GlobalFooter/index.vue';
|
||||
import GlobalLogo from './GlobalLogo/index.vue';
|
||||
import GlobalBackTop from './GlobalBackTop/index.vue';
|
||||
import SettingDrawer from './setting-drawer/index.vue';
|
||||
import GlobalHeader from './global-header/index.vue';
|
||||
import GlobalTab from './global-tab/index.vue';
|
||||
import GlobalSider from './global-sider/index.vue';
|
||||
import GlobalContent from './global-content/index.vue';
|
||||
import GlobalFooter from './global-footer/index.vue';
|
||||
import GlobalLogo from './global-logo/index.vue';
|
||||
import GlobalBackTop from './global-back-top/index.vue';
|
||||
|
||||
export { SettingDrawer, GlobalHeader, GlobalTab, GlobalSider, GlobalContent, GlobalFooter, GlobalLogo, GlobalBackTop };
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { useThemeStore } from '@/store';
|
||||
import SettingMenu from '../SettingMenu/index.vue';
|
||||
import SettingMenu from '../setting-menu/index.vue';
|
||||
|
||||
defineOptions({ name: 'DarkMode' });
|
||||
|
9
src/layouts/common/setting-drawer/components/index.ts
Normal file
9
src/layouts/common/setting-drawer/components/index.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import DrawerButton from './drawer-button/index.vue';
|
||||
import DarkMode from './dark-mode/index.vue';
|
||||
import LayoutMode from './layout-mode/index.vue';
|
||||
import ThemeColorSelect from './theme-color-select/index.vue';
|
||||
import PageFunc from './page-func/index.vue';
|
||||
import PageView from './page-view/index.vue';
|
||||
import ThemeConfig from './theme-config/index.vue';
|
||||
|
||||
export { DrawerButton, DarkMode, LayoutMode, ThemeColorSelect, PageFunc, PageView, ThemeConfig };
|
@ -0,0 +1,3 @@
|
||||
import LayoutCheckbox from './layout-checkbox.vue';
|
||||
|
||||
export { LayoutCheckbox };
|
@ -69,7 +69,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { useThemeStore } from '@/store';
|
||||
import SettingMenu from '../SettingMenu/index.vue';
|
||||
import SettingMenu from '../setting-menu/index.vue';
|
||||
|
||||
defineOptions({ name: 'PageFunc' });
|
||||
|
@ -36,7 +36,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { useThemeStore } from '@/store';
|
||||
import SettingMenu from '../SettingMenu/index.vue';
|
||||
import SettingMenu from '../setting-menu/index.vue';
|
||||
|
||||
defineOptions({ name: 'PageView' });
|
||||
|
@ -25,7 +25,7 @@
|
||||
<script setup lang="ts">
|
||||
import { traditionColors } from '@/settings';
|
||||
import { useThemeStore } from '@/store';
|
||||
import ColorCheckbox from './ColorCheckbox.vue';
|
||||
import ColorCheckbox from './color-checkbox.vue';
|
||||
|
||||
defineOptions({ name: 'ColorModal' });
|
||||
|
@ -0,0 +1,4 @@
|
||||
import ColorCheckbox from './color-checkbox.vue';
|
||||
import ColorModal from './color-modal.vue';
|
||||
|
||||
export { ColorCheckbox, ColorModal };
|
@ -1,4 +1,4 @@
|
||||
const BasicLayout = () => import('./BasicLayout/index.vue');
|
||||
const BlankLayout = () => import('./BlankLayout/index.vue');
|
||||
const BasicLayout = () => import('./basic-layout/index.vue');
|
||||
const BlankLayout = () => import('./blank-layout/index.vue');
|
||||
|
||||
export { BasicLayout, BlankLayout };
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { createApp } from 'vue';
|
||||
import App from './App.vue';
|
||||
import AppLoading from './components/common/AppLoading.vue';
|
||||
import AppLoading from './components/common/app-loading.vue';
|
||||
import { setupDirectives } from './directives';
|
||||
import { setupRouter } from './router';
|
||||
import { setupAssets } from './plugins';
|
||||
|
@ -8,6 +8,7 @@ export function initThemeSettings() {
|
||||
const isProd = import.meta.env.PROD;
|
||||
// 生产环境才缓存主题配置,本地开发实时调整配置更改配置的json
|
||||
const storageSettings = localStg.get('themeSettings');
|
||||
|
||||
if (isProd && storageSettings) {
|
||||
return storageSettings;
|
||||
}
|
||||
|
@ -1,31 +1,5 @@
|
||||
import { decrypto, encrypto } from '../crypto';
|
||||
|
||||
export function setSession(key: string, value: unknown) {
|
||||
const json = encrypto(value);
|
||||
sessionStorage.setItem(key, json);
|
||||
}
|
||||
|
||||
export function getSession<T>(key: string) {
|
||||
const json = sessionStorage.getItem(key);
|
||||
let data: T | null = null;
|
||||
if (json) {
|
||||
try {
|
||||
data = decrypto(json);
|
||||
} catch {
|
||||
// 防止解析失败
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
export function removeSession(key: string) {
|
||||
window.sessionStorage.removeItem(key);
|
||||
}
|
||||
|
||||
export function clearSession() {
|
||||
window.sessionStorage.clear();
|
||||
}
|
||||
|
||||
function createSessionStorage<T extends StorageInterface.Session = StorageInterface.Session>() {
|
||||
function set<K extends keyof T>(key: K, value: T[K]) {
|
||||
const json = encrypto(value);
|
||||
|
@ -1,4 +0,0 @@
|
||||
import CornerTop from './CornerTop.vue';
|
||||
import CornerBottom from './CornerBottom.vue';
|
||||
|
||||
export { CornerTop, CornerBottom };
|
@ -1,4 +0,0 @@
|
||||
import OtherLogin from './OtherLogin.vue';
|
||||
import OtherAccount from './OtherAccount.vue';
|
||||
|
||||
export { OtherLogin, OtherAccount };
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user