Kaynağa Gözat

wip: 头像列表开发中

kailong321200875 1 yıl önce
ebeveyn
işleme
7f6464abc4

+ 9 - 0
mock/role/index.mock.ts

@@ -324,6 +324,14 @@ const adminList = [
         meta: {
           title: 'router.videoPlayer'
         }
+      },
+      {
+        path: 'avatars',
+        component: 'views/Components/Avatars',
+        name: 'Avatars',
+        meta: {
+          title: 'router.avatars'
+        }
       }
     ]
   },
@@ -686,6 +694,7 @@ const testList: string[] = [
   '/components/waterfall',
   '/components/image-cropping',
   '/components/video-player',
+  '/components/avatars',
   'function',
   '/function/multiple-tabs',
   '/function/multiple-tabs-demo/:id',

+ 3 - 0
src/components/Avatars/index.ts

@@ -0,0 +1,3 @@
+import Avatars from './src/Avatars.vue'
+
+export { Avatars }

+ 15 - 0
src/components/Avatars/src/Avatars.vue

@@ -0,0 +1,15 @@
+<script setup lang="ts">
+import { ComponentSize } from 'element-plus'
+import { PropType } from 'vue'
+
+defineProps({
+  size: {
+    type: String as PropType<ComponentSize>,
+    default: ''
+  }
+})
+</script>
+
+<template>
+  <div> 头像 </div>
+</template>

+ 6 - 1
src/locales/en.ts

@@ -186,7 +186,8 @@ export default {
     tableVideoPreview: 'Table video preview',
     cardTable: 'Card table',
     personalCenter: 'Personal center',
-    personal: 'Personal'
+    personal: 'Personal',
+    avatars: 'Avatars'
   },
   permission: {
     hasPermission: 'Please set the operation permission value'
@@ -562,5 +563,9 @@ export default {
   inputPasswordDemo: {
     title: 'InputPassword',
     inputPasswordDes: 'Secondary packaging of Input components based on ElementPlus'
+  },
+  avatarsDemo: {
+    title:
+      'Avatar component for avatar list, secondary packaging based on element plus Avatar component'
   }
 }

+ 5 - 1
src/locales/zh-CN.ts

@@ -182,7 +182,8 @@ export default {
     tableVideoPreview: '表格视频预览',
     cardTable: '卡片表格',
     personalCenter: '个人中心',
-    personal: '个人'
+    personal: '个人',
+    avatars: '头像列表'
   },
   permission: {
     hasPermission: '请设置操作权限值'
@@ -552,5 +553,8 @@ export default {
   inputPasswordDemo: {
     title: '密码输入框',
     inputPasswordDes: '基于 ElementPlus 的 Input 组件二次封装'
+  },
+  avatarsDemo: {
+    title: '头像列表组件,基于element-plus的Avatar组件二次封装'
   }
 }

+ 8 - 0
src/router/index.ts

@@ -390,6 +390,14 @@ export const asyncRouterMap: AppRouteRecordRaw[] = [
         meta: {
           title: t('router.videoPlayer')
         }
+      },
+      {
+        path: 'avatars',
+        component: () => import('@/views/Components/Avatars.vue'),
+        name: 'Avatars',
+        meta: {
+          title: t('router.avatars')
+        }
       }
     ]
   },

+ 13 - 0
src/views/Components/Avatars.vue

@@ -0,0 +1,13 @@
+<script setup lang="ts">
+import { ContentWrap } from '@/components/ContentWrap'
+import { useI18n } from '@/hooks/web/useI18n'
+import { Avatars } from '@/components/Avatars'
+
+const { t } = useI18n()
+</script>
+
+<template>
+  <ContentWrap :title="t('router.avatars')" :message="t('avatarsDemo.title')">
+    <Avatars />
+  </ContentWrap>
+</template>