refactor: add more auto import
This commit is contained in:
parent
ffe4c2a007
commit
e9254f24ae
|
@ -1,8 +1,4 @@
|
|||
<script setup lang="ts">
|
||||
import { getQrStatus, getQrToken } from "@/api"
|
||||
import { useUserInfo } from "@/stores/user-info"
|
||||
import { useRouter } from "vue-router/auto"
|
||||
|
||||
const router = useRouter()
|
||||
const { setToken } = useUserInfo()
|
||||
const temporaryToken = ref<string>("")
|
||||
|
@ -38,7 +34,8 @@ async function refreshQrCodeStatus() {
|
|||
timer && clearInterval(timer)
|
||||
setToken(result.token!.token)
|
||||
router.push("/")
|
||||
} else if (!result.canceled) { // 既没有确认也没有取消
|
||||
} else if (!result.canceled) {
|
||||
// 既没有确认也没有取消
|
||||
timer = setTimeout(refreshQrCodeStatus, 2000)
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
<script setup lang="ts">
|
||||
import { RouterLink, useRoute } from "vue-router/auto"
|
||||
import type { MenuOption } from "naive-ui"
|
||||
import { storeToRefs } from "pinia"
|
||||
import {
|
||||
BulbOutline,
|
||||
CaretDownOutline,
|
||||
|
@ -27,11 +24,10 @@ import {
|
|||
TrashOutline,
|
||||
CogOutline,
|
||||
} from "@vicons/ionicons5"
|
||||
import { useAppConfig } from "@/stores/app-config"
|
||||
import { renderIcon } from "@/utils"
|
||||
|
||||
const { expandedMenuKeys, isMenuCollapsed, isDebugMode } = storeToRefs(useAppConfig())
|
||||
const route = useRoute()
|
||||
const expandIcon = renderIcon(CaretDownOutline)
|
||||
|
||||
const menuOptions = ref([
|
||||
{
|
||||
|
@ -242,7 +238,7 @@ const renderMenuLabel = (option: MenuOption) => {
|
|||
:indent="22"
|
||||
:options="menuOptions"
|
||||
:render-label="renderMenuLabel"
|
||||
:expand-icon="renderIcon(CaretDownOutline)"
|
||||
:expand-icon="expandIcon"
|
||||
:value="route.name"
|
||||
/>
|
||||
</n-scrollbar>
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
<script setup lang="ts">
|
||||
import { useRouter } from "vue-router/auto"
|
||||
import { storeToRefs } from "pinia"
|
||||
import {
|
||||
ArrowUpOutline,
|
||||
LogOutOutline,
|
||||
|
@ -9,10 +7,6 @@ import {
|
|||
SunnyOutline,
|
||||
ScanOutline,
|
||||
} from "@vicons/ionicons5"
|
||||
import { useAppConfig } from "@/stores/app-config"
|
||||
import { useUserInfo } from "@/stores/user-info"
|
||||
import { renderIcon } from "@/utils"
|
||||
import QrCode from "@/components/QrCode.vue"
|
||||
|
||||
const { isDarkMode, isUploadDrawerShow, isDebugMode, uploadItemCount } = storeToRefs(useAppConfig())
|
||||
const { nickname, isLoggedIn, avatarUrl } = storeToRefs(useUserInfo())
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
<script setup lang="ts"></script>
|
||||
|
||||
<template>
|
||||
<n-loading-bar-provider>
|
||||
<n-message-provider>
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
<script setup lang="ts">
|
||||
import type { PaginationProps } from "naive-ui"
|
||||
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
columns: any[]
|
||||
|
|
|
@ -1,14 +1,7 @@
|
|||
<script lang="ts" setup>
|
||||
import Request from "@/api/request"
|
||||
import { emitBusEvent, useBusEvent, useEventListener } from "@/hooks"
|
||||
import { useAppConfig } from "@/stores/app-config"
|
||||
import { useUserInfo } from "@/stores/user-info"
|
||||
import { BusEvent } from "@/types"
|
||||
import { DocumentOutline, FolderOutline } from "@vicons/ionicons5"
|
||||
import { storeToRefs } from "pinia"
|
||||
import UploadItem from "./UploadItem.vue"
|
||||
|
||||
const { config: requestConfig } = Request
|
||||
const { config: requestConfig } = request
|
||||
const { requestToken } = useUserInfo()
|
||||
const { isUploadDrawerShow, uploadItemCount } = storeToRefs(useAppConfig())
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<script lang="ts" setup>
|
||||
import { type2Icon } from "@/utils"
|
||||
import { CheckmarkOutline, CloseOutline, HelpOutline, PauseOutline, PlayOutline } from "@vicons/ionicons5"
|
||||
import { useThemeVars } from "naive-ui"
|
||||
|
||||
const props = defineProps<{
|
||||
data: UploadDisplayInfo
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
import "aplayer/dist/APlayer.min.css"
|
||||
import APlayer from "aplayer"
|
||||
import { parseBlob as getMusicMetadata } from "music-metadata"
|
||||
import { useBusEvent } from "@/hooks"
|
||||
import { BusEvent } from "@/types"
|
||||
|
||||
const playerRef = ref<HTMLDivElement | null>(null)
|
||||
const showPlayer = ref(false)
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { useRouter } from "vue-router/auto"
|
||||
|
||||
const router = useRouter()
|
||||
</script>
|
||||
|
||||
|
|
|
@ -8,11 +8,7 @@
|
|||
</route>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { useRouter } from "vue-router/auto"
|
||||
import SideMenu from "@/components/SideMenu.vue"
|
||||
import MusicPlayer from "./MusicPlayer.vue"
|
||||
import UploadDrawer from "@/components/upload/UploadDrawer.vue"
|
||||
import { useUserInfo } from "@/stores/user-info"
|
||||
|
||||
const { renewUserInfo, isLoggedIn } = useUserInfo()
|
||||
const router = useRouter()
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { useAssetUrl } from "@/utils"
|
||||
import QrCode from "@/components/QrCode.vue"
|
||||
import { getBackendVersion } from "@/api"
|
||||
|
||||
const isDev = import.meta.env.DEV as boolean
|
||||
const frontendVersion = ref<string>(__APP_VERSION__)
|
||||
|
|
|
@ -9,17 +9,6 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import { AddOutline, RefreshOutline, SearchOutline } from "@vicons/ionicons5"
|
||||
import type { PaginationProps } from "naive-ui"
|
||||
import { type FormInst, NButton, NInput, NSpace, NText, NTooltip } from "naive-ui"
|
||||
import {
|
||||
addAnnouncement,
|
||||
deleteAnnouncement,
|
||||
getAnnouncements,
|
||||
updateAnnouncement,
|
||||
updateAnnouncementStatus,
|
||||
} from "@/api"
|
||||
import ConfirmModal from "@/components/ConfirmModal.vue"
|
||||
import { renderTooltip } from "@/utils"
|
||||
|
||||
/** 表格加载中 */
|
||||
const isLoading = ref(false)
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
<script setup lang="ts">
|
||||
import { useFileOwner } from "@/api"
|
||||
|
||||
const show = defineModel<boolean>("show", { default: false })
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
|
@ -15,7 +13,7 @@ watch(props, (newProps) => {
|
|||
}
|
||||
})
|
||||
|
||||
const { id, owner, fetchData, isLoading } = useFileOwner()
|
||||
const { id, owner, isLoading } = useFileOwner()
|
||||
const columns = [
|
||||
{
|
||||
title: "用户名",
|
||||
|
|
|
@ -9,12 +9,8 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import { filesize } from "filesize"
|
||||
import { NButton, NFlex } from "naive-ui"
|
||||
import { RefreshOutline, SearchOutline } from "@vicons/ionicons5"
|
||||
import { deleteRealFile, lockFile, useFileList } from "@/api"
|
||||
import PagingTable from "@/components/table/PagingTable.vue"
|
||||
import OwnerTable from "./OwnerTable.vue"
|
||||
import { useConfirmModal } from "@/hooks"
|
||||
|
||||
const tableColumns = [
|
||||
{
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
<script setup lang="ts">
|
||||
import { NButton, type PaginationProps } from "naive-ui"
|
||||
import { assignRoleUsers, getRoleUsers, unassignRoleUsers, getUsers } from "@/api"
|
||||
|
||||
/** 是否显示模态框 */
|
||||
const show = defineModel<boolean>("show", { default: false })
|
||||
/** 组件参数 */
|
||||
|
|
|
@ -9,10 +9,6 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import { AddOutline, RefreshOutline, SearchOutline } from "@vicons/ionicons5"
|
||||
import type { FormInst, PaginationProps } from "naive-ui"
|
||||
import { NButton, NInput, NSpace, NSwitch } from "naive-ui"
|
||||
import { addRole, deleteRole, getPermissions, getRoles, updateRole, updateRoleStatus } from "@/api"
|
||||
import ConfirmModal from "@/components/ConfirmModal.vue"
|
||||
import UserTable from "./UserTable.vue"
|
||||
|
||||
// 数据变量
|
||||
|
|
|
@ -8,10 +8,6 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { getConfig, updateSetting } from "@/api"
|
||||
import type { WatchStopHandle } from "vue"
|
||||
import { useDebounce } from "@/hooks"
|
||||
|
||||
// 全局变量
|
||||
const isLoading = ref(false)
|
||||
let stopper: WatchStopHandle | undefined = undefined
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
<script setup lang="ts">
|
||||
import { NButton, type PaginationProps } from "naive-ui"
|
||||
import { assignRoles, getUserRoles, removeRoles, getRoles } from "@/api"
|
||||
|
||||
/** 是否显示模态框 */
|
||||
const show = defineModel<boolean>("show", { default: false })
|
||||
/** 组件参数 */
|
||||
|
|
|
@ -10,14 +10,7 @@
|
|||
<script setup lang="ts">
|
||||
import { changeColor } from "seemly"
|
||||
import { AddOutline, RefreshOutline, SearchOutline } from "@vicons/ionicons5"
|
||||
import { NButton, NCheckbox, NFlex, NInput, NProgress, NSpace, NText, NTooltip, useThemeVars } from "naive-ui"
|
||||
import type { FormInst, PaginationProps } from "naive-ui"
|
||||
import { addUser, deleteUser, getUsers, updateUserDisabled, updateUserInfo, updateUserPassword } from "@/api"
|
||||
import RoleTable from "./RoleTable.vue"
|
||||
import ConfirmModal from "@/components/ConfirmModal.vue"
|
||||
import { hasText, renderTooltip } from "@/utils"
|
||||
import type { TableColumn } from "naive-ui/es/data-table/src/interface"
|
||||
import { useConfirmModal } from "@/hooks"
|
||||
|
||||
/** naiveui主题相关变量 */
|
||||
const themeVars = useThemeVars()
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
<script setup lang="ts">
|
||||
import { createFolder } from "@/api"
|
||||
import { hasText } from "@/utils"
|
||||
|
||||
/** 组件参数 */
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
<script setup lang="ts">
|
||||
import { getSharingInfoByFileId, deleteSharing, createSharing } from "@/api"
|
||||
|
||||
const show = defineModel<boolean>("show", { default: false })
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
|
|
|
@ -8,11 +8,6 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { useRouter } from "vue-router/auto"
|
||||
import { storeToRefs } from "pinia"
|
||||
import type { HTMLAttributes } from "vue"
|
||||
import { NButton, NDropdown, NFlex, NIcon, NImage, useThemeVars } from "naive-ui"
|
||||
import type { DataTableColumns } from "naive-ui"
|
||||
import { ArrowUp, Folder } from "@vicons/carbon"
|
||||
import {
|
||||
AddOutline,
|
||||
|
@ -33,23 +28,9 @@ import {
|
|||
DocumentLock24Regular,
|
||||
} from "@vicons/fluent"
|
||||
import { filesize } from "filesize"
|
||||
import {
|
||||
deleteFile as deleteFileEndpoint,
|
||||
deleteFolder as deleteFolderEndpoint,
|
||||
getFileTemporaryUrl,
|
||||
getFolderContent,
|
||||
moveFile,
|
||||
moveFolder,
|
||||
renameUserFile,
|
||||
renameFolder,
|
||||
} from "@/api"
|
||||
import CreateFolderModal from "./CreateFolderModal.vue"
|
||||
import SharingModal from "./SharingModal.vue"
|
||||
import { renderIcon, type2Icon } from "@/utils"
|
||||
import { useAppConfig } from "@/stores/app-config"
|
||||
import { useUserInfo } from "@/stores/user-info"
|
||||
import { emitBusEvent, useBusEvent, useConfirmModal, useRenameModal } from "@/hooks"
|
||||
import { BusEvent } from "@/types"
|
||||
|
||||
const { isDarkMode, lastFolderIds } = storeToRefs(useAppConfig())
|
||||
const { userId } = storeToRefs(useUserInfo())
|
||||
const router = useRouter()
|
||||
|
@ -276,7 +257,7 @@ function shareFile(row: TableData) {
|
|||
const { openConfirmModal } = useConfirmModal()
|
||||
function deleteItem(row: TableData) {
|
||||
openConfirmModal(async () => {
|
||||
const endpoint = row.type === "folder" ? deleteFolderEndpoint : deleteFileEndpoint
|
||||
const endpoint = row.type === "folder" ? deleteFolder : deleteFile
|
||||
await endpoint(row.id)
|
||||
window.$message.success("删除成功")
|
||||
loadFolder(currentFolderId.value)
|
||||
|
|
|
@ -8,12 +8,7 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { storeToRefs } from "pinia"
|
||||
import { MdSave } from "@vicons/ionicons4"
|
||||
import { getDisplayAnnouncements } from "@/api"
|
||||
import { useUserInfo } from "@/stores/user-info"
|
||||
import { useAppConfig } from "@/stores/app-config"
|
||||
import { useInterval } from "@/hooks"
|
||||
|
||||
const { nickname } = storeToRefs(useUserInfo())
|
||||
const { isDebugMode } = storeToRefs(useAppConfig())
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { cancelQrLogin, claimQrToken, confirmQrLogin } from "@/api"
|
||||
import { useRouter } from "vue-router"
|
||||
|
||||
const router = useRouter()
|
||||
|
||||
// 提取参数
|
||||
|
|
|
@ -8,10 +8,7 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, onUnmounted, watch } from "vue"
|
||||
import { scanImageData } from "@undecaf/zbar-wasm"
|
||||
import { useRouter } from "vue-router"
|
||||
import { isOffscreenCanvasWorking, useAssetUrl } from "@/utils"
|
||||
|
||||
const router = useRouter()
|
||||
|
||||
|
|
|
@ -8,14 +8,8 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { storeToRefs } from "pinia"
|
||||
import { WeatherMoon16Regular, WeatherSunny16Regular } from "@vicons/fluent"
|
||||
import type { UploadFileInfo } from "naive-ui"
|
||||
import { useAppConfig } from "@/stores/app-config"
|
||||
import { useUserInfo } from "@/stores/user-info"
|
||||
import { uploadUserAvatar } from "@/api"
|
||||
import { Permission } from "@/types"
|
||||
import { useDebounce } from "@/hooks"
|
||||
|
||||
const { isDarkMode, isDebugMode } = storeToRefs(useAppConfig())
|
||||
const { toggleDarkMode, reset: resetConfig } = useAppConfig()
|
||||
|
|
|
@ -8,10 +8,6 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { NButton, NFlex } from "naive-ui"
|
||||
import { deleteSharing, useSharingList } from "@/api"
|
||||
import { useConfirmModal } from "@/hooks"
|
||||
|
||||
const { data, refresh, isLoading } = useSharingList()
|
||||
const columns = [
|
||||
{
|
||||
|
|
|
@ -8,10 +8,6 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { useRouter } from "vue-router/auto"
|
||||
import { storeToRefs } from "pinia"
|
||||
import { NIcon } from "naive-ui"
|
||||
import type { FormInst, FormItemRule } from "naive-ui"
|
||||
import {
|
||||
CheckmarkOutline,
|
||||
KeyOutline,
|
||||
|
@ -20,18 +16,6 @@ import {
|
|||
PhonePortraitOutline,
|
||||
SendSharp,
|
||||
} from "@vicons/ionicons5"
|
||||
import { useAppConfig } from "@/stores/app-config"
|
||||
import { useUserInfo } from "@/stores/user-info"
|
||||
import {
|
||||
confirmEmailRegisterOtp,
|
||||
getTokenBySms,
|
||||
getToken,
|
||||
sendEmailRegisterOtp,
|
||||
sendSmsOtp,
|
||||
getRegisterEnabled,
|
||||
} from "@/api"
|
||||
import { hasText } from "@/utils"
|
||||
import { useGlobal } from "@/hooks"
|
||||
|
||||
const { isDarkMode } = storeToRefs(useAppConfig())
|
||||
const { setToken } = useUserInfo()
|
||||
|
|
|
@ -9,13 +9,11 @@
|
|||
</route>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { useRoute } from "vue-router"
|
||||
|
||||
const route = useRoute()
|
||||
const { url } = useRoute().query as { url: string }
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<DocxPreview id="player" :url="route.query.url as string"></DocxPreview>
|
||||
<DocxPreview id="player" :url="url"></DocxPreview>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
|
|
@ -9,11 +9,20 @@
|
|||
</route>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { useRoute } from "vue-router"
|
||||
|
||||
const route = useRoute()
|
||||
const { url } = useRoute().query as { url: string }
|
||||
const blobUrl = ref("")
|
||||
|
||||
onMounted(() => {
|
||||
if (url) {
|
||||
fetch(url)
|
||||
.then((res) => res.blob())
|
||||
.then((res) => {
|
||||
const blob = new Blob([res], { type: "application/pdf" })
|
||||
blobUrl.value = URL.createObjectURL(blob)
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
if (blobUrl.value !== "") {
|
||||
URL.revokeObjectURL(blobUrl.value)
|
||||
|
@ -23,15 +32,6 @@ onBeforeUnmount(() => {
|
|||
function onOpenButtonClick() {
|
||||
window.open(blobUrl.value)
|
||||
}
|
||||
|
||||
if (route.query.url) {
|
||||
fetch(route.query.url as string)
|
||||
.then((res) => res.blob())
|
||||
.then((res) => {
|
||||
const blob = new Blob([res], { type: "application/pdf" })
|
||||
blobUrl.value = URL.createObjectURL(blob)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
|
@ -9,13 +9,11 @@
|
|||
</route>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { useRoute } from "vue-router"
|
||||
|
||||
const route = useRoute()
|
||||
const { url } = useRoute().query as { url: string }
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<VideoPlayer id="player" :url="route.query.url as string"></VideoPlayer>
|
||||
<VideoPlayer id="player" :url="url"></VideoPlayer>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
|
|
@ -9,13 +9,11 @@
|
|||
</route>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { useRoute } from "vue-router"
|
||||
|
||||
const route = useRoute()
|
||||
const { url } = useRoute().query as { url: string }
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<XlsxPreview id="player" :url="route.query.url as string"></XlsxPreview>
|
||||
<XlsxPreview id="player" :url="url"></XlsxPreview>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
|
|
@ -8,9 +8,7 @@
|
|||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { useRoute } from "vue-router"
|
||||
const params = useRoute().params
|
||||
const id = params.id
|
||||
const { id } = useRoute().params as { id: string }
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
|
@ -94,14 +94,51 @@ const config = {
|
|||
AutoImport({
|
||||
imports: [
|
||||
"vue",
|
||||
"pinia",
|
||||
VueRouterAutoImports,
|
||||
{
|
||||
"naive-ui": ["useDialog", "useMessage", "useNotification", "useLoadingBar"],
|
||||
"naive-ui": [
|
||||
"useDialog",
|
||||
"useMessage",
|
||||
"useNotification",
|
||||
"useLoadingBar",
|
||||
"useThemeVars",
|
||||
"NButton",
|
||||
"NCheckbox",
|
||||
"NDropdown",
|
||||
"NFlex",
|
||||
"NProgress",
|
||||
"NSpace",
|
||||
"NSwitch",
|
||||
"NText",
|
||||
"NTooltip",
|
||||
"NInput",
|
||||
"NIcon",
|
||||
"NImage"
|
||||
],
|
||||
"vue-router": ["RouterLink"],
|
||||
},
|
||||
{
|
||||
from: "naive-ui",
|
||||
imports: ["MenuOption", "PaginationProps", "FormInst", "FormItemRule", "UploadFileInfo", "DataTableColumns"],
|
||||
type: true,
|
||||
},
|
||||
{
|
||||
from: "naive-ui/es/data-table/src/interface",
|
||||
imports: ["TableColumn"],
|
||||
type: true,
|
||||
},
|
||||
{
|
||||
from: "vue",
|
||||
imports: ["HTMLAttributes", "WatchStopHandle"],
|
||||
type: true,
|
||||
},
|
||||
],
|
||||
dirs: ["./src/api", "./src/hooks", "./src/utils", "./src/stores", "./src/types"],
|
||||
}),
|
||||
Components({
|
||||
resolvers: [NaiveUiResolver()],
|
||||
globs: ["./src/components/**/*.vue"],
|
||||
}),
|
||||
basicSsl(),
|
||||
],
|
||||
|
|
Loading…
Reference in New Issue