hookehuyr

docs(welcome): 添加活动中心外链跳转的特殊说明

功能入口更新:
- 活动中心标记为外链跳转 (isExternal: true)
- 外链地址: https://wxm.behalo.cc/pages/activity/activity
- 在 WelcomeEntryItem 组件中添加特殊处理逻辑

更新内容:
- plan.md: 配置中添加 isExternal 和 externalUrl 字段
- plan.md: handleClick 方法中添加外链跳转逻辑
- README.md: 添加活动中心外链跳转的注意事项
- brainstorm.md: 更新功能入口列表说明

技术实现:
- 使用 window.open() 打开新窗口
- 与底部导航栏 BottomNav.vue 的逻辑保持一致
- 未来可考虑集成到项目内

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
...@@ -147,6 +147,7 @@ window.showWelcome() ...@@ -147,6 +147,7 @@ window.showWelcome()
147 **功能入口详情:** 147 **功能入口详情:**
148 1. **课程中心** (`/courses`) - 探索精选课程 148 1. **课程中心** (`/courses`) - 探索精选课程
149 2. **活动中心** (`/activity`) - 精彩活动不容错过 149 2. **活动中心** (`/activity`) - 精彩活动不容错过
150 + - ⚠️ **注意**: 当前为外链跳转,跳转到 `https://wxm.behalo.cc/pages/activity/activity`
150 3. **时光机** (`/recall/login`) - 回顾学习历程 151 3. **时光机** (`/recall/login`) - 回顾学习历程
151 4. **个人中心** (`/profile`) - 管理您的账户 152 4. **个人中心** (`/profile`) - 管理您的账户
152 153
......
...@@ -421,7 +421,7 @@ const posterUrl = 'https://cdn.ipadbiz.cn/mlaj/video/welcome-bg.mp4?vframe/jpg/o ...@@ -421,7 +421,7 @@ const posterUrl = 'https://cdn.ipadbiz.cn/mlaj/video/welcome-bg.mp4?vframe/jpg/o
421 2.**页面效果图** - `img/` 文件夹为空,需要设计稿确认布局 421 2.**页面效果图** - `img/` 文件夹为空,需要设计稿确认布局
422 3.**功能入口列表** - 已确定底部Tab的四个功能入口 422 3.**功能入口列表** - 已确定底部Tab的四个功能入口
423 - 课程中心: `/courses` 423 - 课程中心: `/courses`
424 - - 活动中心: `/activity` 424 + - 活动中心: `/activity` (⚠️ 当前为外链跳转: `https://wxm.behalo.cc/pages/activity/activity`)
425 - 时光机: `/recall/login` 425 - 时光机: `/recall/login`
426 - 个人中心: `/profile` 426 - 个人中心: `/profile`
427 4.**页面布局细节** - 顶部/底部是否需要元素(Logo、标语、按钮等) 427 4.**页面布局细节** - 顶部/底部是否需要元素(Logo、标语、按钮等)
......
...@@ -784,7 +784,9 @@ export const welcomeEntries = [ ...@@ -784,7 +784,9 @@ export const welcomeEntries = [
784 icon: '🎉', 784 icon: '🎉',
785 route: '/activity', 785 route: '/activity',
786 color: '#FF9800', 786 color: '#FF9800',
787 - priority: 2 787 + priority: 2,
788 + isExternal: true, // 标记为外链跳转
789 + externalUrl: 'https://wxm.behalo.cc/pages/activity/activity?token=&user_id='
788 }, 790 },
789 { 791 {
790 id: 'recall', 792 id: 'recall',
...@@ -825,6 +827,8 @@ export function getSortedEntries() { ...@@ -825,6 +827,8 @@ export function getSortedEntries() {
825 - 对应底部Tab第三个入口 827 - 对应底部Tab第三个入口
826 - 查看最新活动信息 828 - 查看最新活动信息
827 - 活动报名和参与 829 - 活动报名和参与
830 + - ⚠️ **特殊处理**: 当前为外链跳转,跳转到 `https://wxm.behalo.cc/pages/activity/activity`
831 + - 未来可能需要集成到项目内
828 832
829 3. **时光机** (`/recall/login`) 833 3. **时光机** (`/recall/login`)
830 - 回顾功能和历史记录 834 - 回顾功能和历史记录
...@@ -882,6 +886,13 @@ const router = useRouter() ...@@ -882,6 +886,13 @@ const router = useRouter()
882 const handleClick = () => { 886 const handleClick = () => {
883 const redirect = new URLSearchParams(window.location.search).get('redirect') 887 const redirect = new URLSearchParams(window.location.search).get('redirect')
884 888
889 + // 特殊处理:活动中心外链跳转
890 + if (props.entry.isExternal && props.entry.externalUrl) {
891 + window.open(props.entry.externalUrl, '_blank')
892 + return
893 + }
894 +
895 + // 正常路由跳转
885 if (props.entry.route) { 896 if (props.entry.route) {
886 router.push(props.entry.route) 897 router.push(props.entry.route)
887 } else if (redirect) { 898 } else if (redirect) {
......