hookehuyr

feat: 完善首页导航功能并更新项目文档

- 为首页网格导航添加跳转功能(计划书、入职相关、签单相关、家办相关、产品知识库)
- 为产品卡片按钮添加跳转(产品资料→知识库、计划书→计划书页面)
- 为"查看更多"链接添加跳转到知识库
- 工具箱暂时显示"功能开发中"提示
- 更新 CLAUDE.md 以反映当前项目架构和开发规范

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This diff is collapsed. Click to expand it.
......@@ -22,7 +22,12 @@
<!-- Grid Icons -->
<view class="bg-white rounded-[32rpx] shadow-sm p-[40rpx] mb-[24rpx]">
<view class="flex flex-wrap">
<view class="flex flex-col items-center w-1/3 mb-[40rpx]" v-for="(item, index) in loopData0" :key="index">
<view
class="flex flex-col items-center w-1/3 mb-[40rpx]"
v-for="(item, index) in loopData0"
:key="index"
@tap="handleGridNav(item)"
>
<view class="w-[88rpx] h-[88rpx] rounded-[24rpx] bg-blue-50 flex items-center justify-center mb-[16rpx]">
<IconFont :name="item.icon" class="text-blue-600" size="24" />
</view>
......@@ -35,7 +40,7 @@
<view class="bg-white rounded-[32rpx] shadow-sm p-[32rpx] mb-[24rpx]">
<view class="flex justify-between items-center mb-[24rpx]">
<text class="text-gray-900 text-[32rpx] font-bold">热卖产品:</text>
<view class="flex items-center text-blue-600">
<view class="flex items-center text-blue-600" @tap="go('/pages/knowledge-base/index')">
<text class="text-[26rpx] mr-[4rpx]">查看更多</text>
<IconFont name="RectRight" size="12" />
</view>
......@@ -56,9 +61,21 @@
</view>
</view>
<view class="flex justify-between gap-[24rpx]">
<nut-button plain color="#2563EB"
class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0 !border-blue-600">产品资料</nut-button>
<nut-button color="#2563EB" class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0">计划书</nut-button>
<nut-button
plain
color="#2563EB"
class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0 !border-blue-600"
@tap="go('/pages/knowledge-base/index')"
>
产品资料
</nut-button>
<nut-button
color="#2563EB"
class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0"
@tap="go('/pages/plan/index')"
>
计划书
</nut-button>
</view>
</view>
......@@ -77,9 +94,21 @@
</view>
</view>
<view class="flex justify-between gap-[24rpx]">
<nut-button plain color="#2563EB"
class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0 !border-blue-600">产品资料</nut-button>
<nut-button color="#2563EB" class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0">计划书</nut-button>
<nut-button
plain
color="#2563EB"
class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0 !border-blue-600"
@tap="go('/pages/knowledge-base/index')"
>
产品资料
</nut-button>
<nut-button
color="#2563EB"
class="flex-1 !h-[64rpx] !rounded-[16rpx] !text-[26rpx] !m-0"
@tap="go('/pages/plan/index')"
>
计划书
</nut-button>
</view>
</view>
</view>
......@@ -88,7 +117,7 @@
<view class="bg-white rounded-[32rpx] shadow-sm p-[32rpx]">
<view class="flex justify-between items-center mb-[24rpx]">
<text class="text-gray-900 text-[32rpx] font-bold">本周热门资料</text>
<view class="flex items-center text-blue-600">
<view class="flex items-center text-blue-600" @tap="go('/pages/knowledge-base/index')">
<text class="text-[26rpx] mr-[4rpx]">查看更多</text>
<IconFont name="RectRight" size="12" />
</view>
......@@ -150,19 +179,33 @@ import { useGo } from '@/hooks/useGo';
import TabBar from '@/components/TabBar.vue';
import IconFont from '@/components/IconFont.vue';
// Data
// Grid navigation data with routes
const loopData0 = shallowRef([
{ icon: 'Order', lanhutext0: '计划书' },
{ icon: 'My', lanhutext0: '入职相关' },
{ icon: 'Cart', lanhutext0: '签单相关' },
{ icon: 'Home', lanhutext0: '家办相关' },
{ icon: 'Category', lanhutext0: '产品知识库' },
{ icon: 'Star', lanhutext0: '工具箱' },
{ icon: 'Order', lanhutext0: '计划书', route: '/pages/plan/index' },
{ icon: 'My', lanhutext0: '入职相关', route: '/pages/onboarding/index' },
{ icon: 'Cart', lanhutext0: '签单相关', route: '/pages/signing/index' },
{ icon: 'Home', lanhutext0: '家办相关', route: '/pages/family-office/index' },
{ icon: 'Category', lanhutext0: '产品知识库', route: '/pages/knowledge-base/index' },
{ icon: 'Star', lanhutext0: '工具箱', route: null }, // 待开发
]);
// Navigation
const go = useGo();
// Handle grid navigation click
const handleGridNav = (item) => {
if (!item.route) {
Taro.showToast({
title: '功能开发中',
icon: 'none',
duration: 2000
});
return;
}
go(item.route);
};
useShareAppMessage(() => {
return {
title: '臻奇智荟圈',
......