hookehuyr

feat(打卡): 新增打卡首页功能

- 添加打卡首页路由和页面组件
- 实现日历打卡展示、目标进度和团队动态功能
- 扩展AppLayout组件支持无标题模式
- 新增Vant组件类型声明
```

这个提交消息遵循了以下原则:
1. 使用`feat`类型表示新增功能
2. 添加了`(打卡)`范围明确修改领域
3. 简要描述主要变更内容
4. 在消息体中列出关键修改点,保持简洁
5. 使用中文简体符合要求
6. 每个条目使用动词开头保持一致性
...@@ -30,8 +30,11 @@ declare module 'vue' { ...@@ -30,8 +30,11 @@ declare module 'vue' {
30 UploadVideoPopup: typeof import('./components/ui/UploadVideoPopup.vue')['default'] 30 UploadVideoPopup: typeof import('./components/ui/UploadVideoPopup.vue')['default']
31 VanActionSheet: typeof import('vant/es')['ActionSheet'] 31 VanActionSheet: typeof import('vant/es')['ActionSheet']
32 VanButton: typeof import('vant/es')['Button'] 32 VanButton: typeof import('vant/es')['Button']
33 + VanCalendar: typeof import('vant/es')['Calendar']
33 VanCellGroup: typeof import('vant/es')['CellGroup'] 34 VanCellGroup: typeof import('vant/es')['CellGroup']
34 VanCheckbox: typeof import('vant/es')['Checkbox'] 35 VanCheckbox: typeof import('vant/es')['Checkbox']
36 + VanCol: typeof import('vant/es')['Col']
37 + VanConfigProvider: typeof import('vant/es')['ConfigProvider']
35 VanDatePicker: typeof import('vant/es')['DatePicker'] 38 VanDatePicker: typeof import('vant/es')['DatePicker']
36 VanDialog: typeof import('vant/es')['Dialog'] 39 VanDialog: typeof import('vant/es')['Dialog']
37 VanEmpty: typeof import('vant/es')['Empty'] 40 VanEmpty: typeof import('vant/es')['Empty']
...@@ -47,6 +50,7 @@ declare module 'vue' { ...@@ -47,6 +50,7 @@ declare module 'vue' {
47 VanPopup: typeof import('vant/es')['Popup'] 50 VanPopup: typeof import('vant/es')['Popup']
48 VanProgress: typeof import('vant/es')['Progress'] 51 VanProgress: typeof import('vant/es')['Progress']
49 VanRate: typeof import('vant/es')['Rate'] 52 VanRate: typeof import('vant/es')['Rate']
53 + VanRow: typeof import('vant/es')['Row']
50 VanSwipe: typeof import('vant/es')['Swipe'] 54 VanSwipe: typeof import('vant/es')['Swipe']
51 VanSwipeItem: typeof import('vant/es')['SwipeItem'] 55 VanSwipeItem: typeof import('vant/es')['SwipeItem']
52 VanTab: typeof import('vant/es')['Tab'] 56 VanTab: typeof import('vant/es')['Tab']
......
1 <!-- 1 <!--
2 * @Date: 2025-03-20 20:36:36 2 * @Date: 2025-03-20 20:36:36
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2025-03-24 14:05:01 4 + * @LastEditTime: 2025-05-29 15:46:57
5 * @FilePath: /mlaj/src/components/layout/AppLayout.vue 5 * @FilePath: /mlaj/src/components/layout/AppLayout.vue
6 * @Description: 文件描述 6 * @Description: 文件描述
7 --> 7 -->
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
14 :onBack="handleBack" 14 :onBack="handleBack"
15 :rightContent="rightContent" 15 :rightContent="rightContent"
16 /> 16 />
17 - <main :class="{ 'pb-16': title, 'py-4': !title && route.path !== '/profile' }"> 17 + <main :class="{ 'pb-16': title, 'py-4': (!title && route.path !== '/profile') && hasTitle }">
18 <slot></slot> 18 <slot></slot>
19 </main> 19 </main>
20 <BottomNav v-if="!hideBottomNav" /> 20 <BottomNav v-if="!hideBottomNav" />
...@@ -48,6 +48,10 @@ const props = defineProps({ ...@@ -48,6 +48,10 @@ const props = defineProps({
48 hideBottomNav: { 48 hideBottomNav: {
49 type: Boolean, 49 type: Boolean,
50 default: false 50 default: false
51 + },
52 + hasTitle: {
53 + type: Boolean,
54 + default: true
51 } 55 }
52 }) 56 })
53 57
......
1 /* 1 /*
2 * @Date: 2025-03-21 13:28:30 2 * @Date: 2025-03-21 13:28:30
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2025-03-21 13:33:06 4 + * @LastEditTime: 2025-05-29 15:36:20
5 * @FilePath: /mlaj/src/router/checkin.js 5 * @FilePath: /mlaj/src/router/checkin.js
6 * @Description: 文件描述 6 * @Description: 文件描述
7 */ 7 */
...@@ -41,5 +41,14 @@ export default [ ...@@ -41,5 +41,14 @@ export default [
41 title: '反思打卡', 41 title: '反思打卡',
42 requiresAuth: true 42 requiresAuth: true
43 } 43 }
44 + },
45 + {
46 + path: '/checkin/index',
47 + name: 'IndexCheckIn',
48 + component: () => import('@/views/checkin/IndexCheckInPage.vue'),
49 + meta: {
50 + title: '打卡首页',
51 + requiresAuth: true
52 + }
44 } 53 }
45 ] 54 ]
......
This diff is collapsed. Click to expand it.