mirror of
				https://github.com/soybeanjs/soybean-admin.git
				synced 2025-11-04 15:53:43 +08:00 
			
		
		
		
	refactor(projects): all file and folder use kebab-case
This commit is contained in:
		@@ -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
		Reference in New Issue
	
	Block a user