feat: 完善首页导航功能并更新项目文档
- 为首页网格导航添加跳转功能(计划书、入职相关、签单相关、家办相关、产品知识库) - 为产品卡片按钮添加跳转(产品资料→知识库、计划书→计划书页面) - 为"查看更多"链接添加跳转到知识库 - 工具箱暂时显示"功能开发中"提示 - 更新 CLAUDE.md 以反映当前项目架构和开发规范 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Showing
2 changed files
with
59 additions
and
16 deletions
This diff is collapsed. Click to expand it.
| ... | @@ -22,7 +22,12 @@ | ... | @@ -22,7 +22,12 @@ |
| 22 | <!-- Grid Icons --> | 22 | <!-- Grid Icons --> |
| 23 | <view class="bg-white rounded-[32rpx] shadow-sm p-[40rpx] mb-[24rpx]"> | 23 | <view class="bg-white rounded-[32rpx] shadow-sm p-[40rpx] mb-[24rpx]"> |
| 24 | <view class="flex flex-wrap"> | 24 | <view class="flex flex-wrap"> |
| 25 | - <view class="flex flex-col items-center w-1/3 mb-[40rpx]" v-for="(item, index) in loopData0" :key="index"> | 25 | + <view |
| 26 | + class="flex flex-col items-center w-1/3 mb-[40rpx]" | ||
| 27 | + v-for="(item, index) in loopData0" | ||
| 28 | + :key="index" | ||
| 29 | + @tap="handleGridNav(item)" | ||
| 30 | + > | ||
| 26 | <view class="w-[88rpx] h-[88rpx] rounded-[24rpx] bg-blue-50 flex items-center justify-center mb-[16rpx]"> | 31 | <view class="w-[88rpx] h-[88rpx] rounded-[24rpx] bg-blue-50 flex items-center justify-center mb-[16rpx]"> |
| 27 | <IconFont :name="item.icon" class="text-blue-600" size="24" /> | 32 | <IconFont :name="item.icon" class="text-blue-600" size="24" /> |
| 28 | </view> | 33 | </view> |
| ... | @@ -35,7 +40,7 @@ | ... | @@ -35,7 +40,7 @@ |
| 35 | <view class="bg-white rounded-[32rpx] shadow-sm p-[32rpx] mb-[24rpx]"> | 40 | <view class="bg-white rounded-[32rpx] shadow-sm p-[32rpx] mb-[24rpx]"> |
| 36 | <view class="flex justify-between items-center mb-[24rpx]"> | 41 | <view class="flex justify-between items-center mb-[24rpx]"> |
| 37 | <text class="text-gray-900 text-[32rpx] font-bold">热卖产品:</text> | 42 | <text class="text-gray-900 text-[32rpx] font-bold">热卖产品:</text> |
| 38 | - <view class="flex items-center text-blue-600"> | 43 | + <view class="flex items-center text-blue-600" @tap="go('/pages/knowledge-base/index')"> |
| 39 | <text class="text-[26rpx] mr-[4rpx]">查看更多</text> | 44 | <text class="text-[26rpx] mr-[4rpx]">查看更多</text> |
| 40 | <IconFont name="RectRight" size="12" /> | 45 | <IconFont name="RectRight" size="12" /> |
| 41 | </view> | 46 | </view> |
| ... | @@ -56,9 +61,21 @@ | ... | @@ -56,9 +61,21 @@ |
| 56 | </view> | 61 | </view> |
| 57 | </view> | 62 | </view> |
| 58 | <view class="flex justify-between gap-[24rpx]"> | 63 | <view class="flex justify-between gap-[24rpx]"> |
| 59 | - <nut-button plain color="#2563EB" | 64 | + <nut-button |
| 60 | - class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0 !border-blue-600">产品资料</nut-button> | 65 | + plain |
| 61 | - <nut-button color="#2563EB" class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0">计划书</nut-button> | 66 | + color="#2563EB" |
| 67 | + class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0 !border-blue-600" | ||
| 68 | + @tap="go('/pages/knowledge-base/index')" | ||
| 69 | + > | ||
| 70 | + 产品资料 | ||
| 71 | + </nut-button> | ||
| 72 | + <nut-button | ||
| 73 | + color="#2563EB" | ||
| 74 | + class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0" | ||
| 75 | + @tap="go('/pages/plan/index')" | ||
| 76 | + > | ||
| 77 | + 计划书 | ||
| 78 | + </nut-button> | ||
| 62 | </view> | 79 | </view> |
| 63 | </view> | 80 | </view> |
| 64 | 81 | ||
| ... | @@ -77,9 +94,21 @@ | ... | @@ -77,9 +94,21 @@ |
| 77 | </view> | 94 | </view> |
| 78 | </view> | 95 | </view> |
| 79 | <view class="flex justify-between gap-[24rpx]"> | 96 | <view class="flex justify-between gap-[24rpx]"> |
| 80 | - <nut-button plain color="#2563EB" | 97 | + <nut-button |
| 81 | - class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0 !border-blue-600">产品资料</nut-button> | 98 | + plain |
| 82 | - <nut-button color="#2563EB" class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0">计划书</nut-button> | 99 | + color="#2563EB" |
| 100 | + class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0 !border-blue-600" | ||
| 101 | + @tap="go('/pages/knowledge-base/index')" | ||
| 102 | + > | ||
| 103 | + 产品资料 | ||
| 104 | + </nut-button> | ||
| 105 | + <nut-button | ||
| 106 | + color="#2563EB" | ||
| 107 | + class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0" | ||
| 108 | + @tap="go('/pages/plan/index')" | ||
| 109 | + > | ||
| 110 | + 计划书 | ||
| 111 | + </nut-button> | ||
| 83 | </view> | 112 | </view> |
| 84 | </view> | 113 | </view> |
| 85 | </view> | 114 | </view> |
| ... | @@ -88,7 +117,7 @@ | ... | @@ -88,7 +117,7 @@ |
| 88 | <view class="bg-white rounded-[32rpx] shadow-sm p-[32rpx]"> | 117 | <view class="bg-white rounded-[32rpx] shadow-sm p-[32rpx]"> |
| 89 | <view class="flex justify-between items-center mb-[24rpx]"> | 118 | <view class="flex justify-between items-center mb-[24rpx]"> |
| 90 | <text class="text-gray-900 text-[32rpx] font-bold">本周热门资料</text> | 119 | <text class="text-gray-900 text-[32rpx] font-bold">本周热门资料</text> |
| 91 | - <view class="flex items-center text-blue-600"> | 120 | + <view class="flex items-center text-blue-600" @tap="go('/pages/knowledge-base/index')"> |
| 92 | <text class="text-[26rpx] mr-[4rpx]">查看更多</text> | 121 | <text class="text-[26rpx] mr-[4rpx]">查看更多</text> |
| 93 | <IconFont name="RectRight" size="12" /> | 122 | <IconFont name="RectRight" size="12" /> |
| 94 | </view> | 123 | </view> |
| ... | @@ -150,19 +179,33 @@ import { useGo } from '@/hooks/useGo'; | ... | @@ -150,19 +179,33 @@ import { useGo } from '@/hooks/useGo'; |
| 150 | import TabBar from '@/components/TabBar.vue'; | 179 | import TabBar from '@/components/TabBar.vue'; |
| 151 | import IconFont from '@/components/IconFont.vue'; | 180 | import IconFont from '@/components/IconFont.vue'; |
| 152 | 181 | ||
| 153 | -// Data | 182 | +// Grid navigation data with routes |
| 154 | const loopData0 = shallowRef([ | 183 | const loopData0 = shallowRef([ |
| 155 | - { icon: 'Order', lanhutext0: '计划书' }, | 184 | + { icon: 'Order', lanhutext0: '计划书', route: '/pages/plan/index' }, |
| 156 | - { icon: 'My', lanhutext0: '入职相关' }, | 185 | + { icon: 'My', lanhutext0: '入职相关', route: '/pages/onboarding/index' }, |
| 157 | - { icon: 'Cart', lanhutext0: '签单相关' }, | 186 | + { icon: 'Cart', lanhutext0: '签单相关', route: '/pages/signing/index' }, |
| 158 | - { icon: 'Home', lanhutext0: '家办相关' }, | 187 | + { icon: 'Home', lanhutext0: '家办相关', route: '/pages/family-office/index' }, |
| 159 | - { icon: 'Category', lanhutext0: '产品知识库' }, | 188 | + { icon: 'Category', lanhutext0: '产品知识库', route: '/pages/knowledge-base/index' }, |
| 160 | - { icon: 'Star', lanhutext0: '工具箱' }, | 189 | + { icon: 'Star', lanhutext0: '工具箱', route: null }, // 待开发 |
| 161 | ]); | 190 | ]); |
| 162 | 191 | ||
| 163 | // Navigation | 192 | // Navigation |
| 164 | const go = useGo(); | 193 | const go = useGo(); |
| 165 | 194 | ||
| 195 | +// Handle grid navigation click | ||
| 196 | +const handleGridNav = (item) => { | ||
| 197 | + if (!item.route) { | ||
| 198 | + Taro.showToast({ | ||
| 199 | + title: '功能开发中', | ||
| 200 | + icon: 'none', | ||
| 201 | + duration: 2000 | ||
| 202 | + }); | ||
| 203 | + return; | ||
| 204 | + } | ||
| 205 | + | ||
| 206 | + go(item.route); | ||
| 207 | +}; | ||
| 208 | + | ||
| 166 | useShareAppMessage(() => { | 209 | useShareAppMessage(() => { |
| 167 | return { | 210 | return { |
| 168 | title: '臻奇智荟圈', | 211 | title: '臻奇智荟圈', | ... | ... |
-
Please register or login to post a comment