feat(projects): 添加组件名称,调整vue文件里面的类型声明位置

This commit is contained in:
Soybean
2022-07-10 14:02:00 +08:00
parent b60db89801
commit f64bc91ce2
76 changed files with 223 additions and 70 deletions

View File

@ -9,6 +9,8 @@
import { useFullscreen } from '@vueuse/core';
import { useThemeStore } from '@/store';
defineOptions({ name: 'FullScreen' });
const { isFullscreen, toggle } = useFullscreen();
const theme = useThemeStore();
</script>

View File

@ -12,6 +12,8 @@
<script lang="ts" setup>
import { useThemeStore } from '@/store';
defineOptions({ name: 'GithubSite' });
const theme = useThemeStore();
function handleClickLink() {
window.open('https://github.com/honghuangdc/soybean-admin', '_blank');

View File

@ -34,6 +34,8 @@ import { useThemeStore, useRouteStore } from '@/store';
import { useRouterPush } from '@/composables';
import { getBreadcrumbByRouteKey } from '@/utils';
defineOptions({ name: 'GlobalBreadcrumb' });
const route = useRoute();
const theme = useThemeStore();
const routeStore = useRouteStore();

View File

@ -21,6 +21,8 @@ import type { MenuOption } from 'naive-ui';
import { useRouteStore, useThemeStore } from '@/store';
import { useRouterPush } from '@/composables';
defineOptions({ name: 'HeaderMenu' });
const route = useRoute();
const routeStore = useRouteStore();
const theme = useThemeStore();

View File

@ -8,6 +8,8 @@
<script lang="ts" setup>
import { useAppStore, useThemeStore } from '@/store';
defineOptions({ name: 'MenuCollapse' });
const app = useAppStore();
const theme = useThemeStore();
</script>

View File

@ -38,18 +38,20 @@
<script lang="ts" setup>
import { Icon } from '@iconify/vue';
defineOptions({ name: 'MessageList' });
interface Props {
list?: Message.List[];
}
interface Emits {
(e: 'read', val: number): void;
}
withDefaults(defineProps<Props>(), {
list: () => []
});
interface Emits {
(e: 'read', val: number): void;
}
const emit = defineEmits<Emits>();
function handleRead(index: number) {

View File

@ -12,6 +12,8 @@
<script setup lang="ts">
import { useAppStore, useThemeStore } from '@/store';
defineOptions({ name: 'SettingButton' });
const app = useAppStore();
const theme = useThemeStore();
</script>

View File

@ -48,9 +48,13 @@ import { useThemeStore } from '@/store';
import { useBoolean } from '@/hooks';
import MessageList from './MessageList.vue';
defineOptions({ name: 'SystemMessage' });
const theme = useThemeStore();
const { bool: loading, setBool: setLoading } = useBoolean();
const currentTab = ref(0);
const tabData = ref<Message.Tab[]>([
{
key: 1,

View File

@ -7,6 +7,8 @@
<script lang="ts" setup>
import { useThemeStore } from '@/store';
defineOptions({ name: 'ThemeMode' });
const theme = useThemeStore();
</script>

View File

@ -8,15 +8,16 @@
</template>
<script lang="ts" setup>
import type { DropdownOption } from 'naive-ui';
import { useAuthStore, useThemeStore } from '@/store';
import { iconifyRender } from '@/utils';
type DropdownKey = 'user-center' | 'logout';
defineOptions({ name: 'UserAvatar' });
const auth = useAuthStore();
const theme = useThemeStore();
const options = [
const options: DropdownOption[] = [
{
label: '用户中心',
key: 'user-center',
@ -33,6 +34,8 @@ const options = [
}
];
type DropdownKey = 'user-center' | 'logout';
function handleDropdown(optionKey: string) {
const key = optionKey as DropdownKey;
if (key === 'logout') {

View File

@ -34,6 +34,8 @@ import {
SettingButton
} from './components';
defineOptions({ name: 'GlobalHeader' });
interface Props {
/** 显示logo */
showLogo: GlobalHeaderProps['showLogo'];