diff --git a/src/components/FileBrowser.vue b/src/components/FileBrowser.vue
index 0e5c0226..c7e38cf7 100644
--- a/src/components/FileBrowser.vue
+++ b/src/components/FileBrowser.vue
@@ -51,24 +51,91 @@ const availableStorages = [
]
const fileIcons = {
+ // 压缩包
zip: 'mdi-folder-zip-outline',
rar: 'mdi-folder-zip-outline',
+ bak: 'mdi-folder-zip-outline',
+ tar: 'mdi-folder-zip-outline',
+ gz: 'mdi-folder-zip-outline',
+ bz2: 'mdi-folder-zip-outline',
+ // 开发
htm: 'mdi-language-html5',
html: 'mdi-language-html5',
+ vue: 'mdi-vuejs',
js: 'mdi-nodejs',
+ ts: 'mdi-language-typescript',
json: 'mdi-file-document-outline',
+ css: 'mdi-language-css3',
+ scss: 'mdi-language-css3',
+ less: 'mdi-language-css3',
+ php: 'mdi-language-php',
+ py: 'mdi-language-python',
+ java: 'mdi-language-java',
+ go: 'mdi-language-go',
+ c: 'mdi-language-c',
+ cpp: 'mdi-language-cpp',
+ h: 'mdi-language-c',
+ cs: 'mdi-language-csharp',
+ sql: 'mdi-database',
+ sh: 'mdi-language-bash',
+ bat: 'mdi-language-bash',
+ ps1: 'mdi-language-powershell',
+ // markdown
md: 'mdi-language-markdown-outline',
- pdf: 'mdi-file-pdf',
- png: 'mdi-file-image',
- jpg: 'mdi-file-image',
- jpeg: 'mdi-file-image',
+ markdown: 'mdi-language-markdown-outline',
+ // 图片
+ png: 'mdi-file-png-box',
+ jpg: 'mdi-file-jpg-box',
+ jpeg: 'mdi-file-jpg-box',
+ gif: 'mdi-file-gif-box',
+ bmp: 'mdi-file-image-box',
+ webp: 'mdi-file-image-box',
+ ico: 'mdi-file-image-box',
+ svg: 'mdi-file-image-box',
+ // 视频
mp4: 'mdi-filmstrip',
mkv: 'mdi-filmstrip',
avi: 'mdi-filmstrip',
wmv: 'mdi-filmstrip',
mov: 'mdi-filmstrip',
+ flv: 'mdi-filmstrip',
+ rmvb: 'mdi-filmstrip',
+ // 文档
txt: 'mdi-file-document-outline',
+ env: 'mdi-file-cog-outline',
+ yml: 'mdi-file-cog-outline',
+ yaml: 'mdi-file-cog-outline',
+ conf: 'mdi-file-cog-outline',
+ log: 'mdi-file-document-outline',
+ csv: 'mdi-file-delimited',
+ // office
xls: 'mdi-file-excel',
+ xlsx: 'mdi-file-excel',
+ doc: 'mdi-file-word',
+ docx: 'mdi-file-word',
+ ppt: 'mdi-file-powerpoint',
+ pptx: 'mdi-file-powerpoint',
+ pdf: 'mdi-file-pdf',
+ // 音频
+ mp2: 'mdi-music',
+ mp3: 'mdi-music',
+ m4a: 'mdi-music',
+ wma: 'mdi-music',
+ aac: 'mdi-music',
+ ogg: 'mdi-music',
+ flac: 'mdi-music',
+ wav: 'mdi-music',
+ // 字体
+ ttf: 'mdi-format-font',
+ otf: 'mdi-format-font',
+ woff: 'mdi-format-font',
+ woff2: 'mdi-format-font',
+ eot: 'mdi-format-font',
+ // 字幕
+ srt: 'mdi-subtitles-outline',
+ ass: 'mdi-subtitles-outline',
+ sub: 'mdi-subtitles-outline',
+ // 其他
other: 'mdi-file-outline',
}
diff --git a/src/components/cards/UserCard.vue b/src/components/cards/UserCard.vue
index b2d6fc3e..8e5a6aa0 100644
--- a/src/components/cards/UserCard.vue
+++ b/src/components/cards/UserCard.vue
@@ -20,7 +20,7 @@ const props = defineProps({
const currentUser = store.state.auth.userName
// 定义触发的自定义事件
-const emit = defineEmits(['remove'])
+const emit = defineEmits(['remove', 'save'])
// 确认框
const createConfirm = useConfirm()
@@ -147,6 +147,16 @@ onMounted(() => {
+
+
+ 双重认证:
+
+ {{ user.is_otp ? '已启用' : '未启用' }}
+
+
+
+