feat(permission): 优化登录权限检查与提示文案
新增功能: - 为首页网格导航"计划书"按钮添加登录权限检查 - 未登录用户点击时显示友好的登录提示弹窗 优化内容: - 优化默认登录权限提示文案 - 从"登录后即可查看完整内容"改为"登录后即可使用完整功能" - 新文案更通用,同时适用于查看型和操作型场景 - 提升文案与实际操作的匹配度 影响文件: - src/config/permissions.js - 优化默认提示文案 - src/pages/index/index.vue - 添加计划书按钮权限检查 - docs/CHANGELOG.md - 更新变更日志 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Showing
3 changed files
with
44 additions
and
8 deletions
| 1 | +## [2026-02-13] - 登录权限检查与提示文案优化 | ||
| 2 | + | ||
| 3 | +### 新增 | ||
| 4 | +- 为首页网格导航"计划书"按钮添加登录权限检查 | ||
| 5 | +- 未登录用户点击时显示友好的登录提示弹窗 | ||
| 6 | + | ||
| 7 | +### 优化 | ||
| 8 | +- 优化默认登录权限提示文案:从"登录后即可查看完整内容"改为"登录后即可使用完整功能" | ||
| 9 | +- 新文案更通用,同时适用于查看型和操作型场景 | ||
| 10 | +- 提升文案与实际操作的匹配度 | ||
| 11 | + | ||
| 12 | +--- | ||
| 13 | + | ||
| 14 | +**详细信息**: | ||
| 15 | +- **影响文件**: src/config/permissions.js, src/pages/index/index.vue | ||
| 16 | +- **技术栈**: Vue 3, Taro 4, Composables | ||
| 17 | +- **测试状态**: 已通过 | ||
| 18 | +- **备注**: | ||
| 19 | + - 首页网格导航使用自定义提示:"计划书功能需要登录后才能使用,是否立即登录?" | ||
| 20 | + - 其他"制作计划书"按钮使用优化后的默认文案 | ||
| 21 | + - 修改后覆盖首页、产品中心、产品详情、搜索页的所有计划书相关操作 | ||
| 22 | + | ||
| 23 | +--- | ||
| 24 | + | ||
| 1 | ## [2026-02-13] - 文件操作反馈功能配置同步 | 25 | ## [2026-02-13] - 文件操作反馈功能配置同步 |
| 2 | 26 | ||
| 3 | ### 修复 | 27 | ### 修复 | ... | ... |
| ... | @@ -44,7 +44,7 @@ export const PermissionMessages = { | ... | @@ -44,7 +44,7 @@ export const PermissionMessages = { |
| 44 | /** 弹窗标题 */ | 44 | /** 弹窗标题 */ |
| 45 | title: '温馨提示', | 45 | title: '温馨提示', |
| 46 | /** 弹窗内容 */ | 46 | /** 弹窗内容 */ |
| 47 | - content: '登录后即可查看完整内容', | 47 | + content: '登录后即可使用完整功能', |
| 48 | /** 确认按钮文案 */ | 48 | /** 确认按钮文案 */ |
| 49 | confirmText: '去登录', | 49 | confirmText: '去登录', |
| 50 | /** 取消按钮文案 */ | 50 | /** 取消按钮文案 */ | ... | ... |
| ... | @@ -431,15 +431,27 @@ const handleGridNav = (item) => { | ... | @@ -431,15 +431,27 @@ const handleGridNav = (item) => { |
| 431 | delete params.name; | 431 | delete params.name; |
| 432 | delete params.route; | 432 | delete params.route; |
| 433 | 433 | ||
| 434 | - // 如果有参数(如 cid),则带参数跳转 | 434 | + // 定义导航执行函数 |
| 435 | - if (Object.keys(params).length > 0) { | 435 | + const navigate = () => { |
| 436 | - go(item.route, { | 436 | + if (Object.keys(params).length > 0) { |
| 437 | - ...params, | 437 | + go(item.route, { |
| 438 | - title: item.name // 将导航名称作为页面标题 | 438 | + ...params, |
| 439 | + title: item.name // 将导航名称作为页面标题 | ||
| 440 | + }); | ||
| 441 | + } else { | ||
| 442 | + go(item.route); | ||
| 443 | + } | ||
| 444 | + }; | ||
| 445 | + | ||
| 446 | + // 特殊处理:计划书页面需要登录权限 | ||
| 447 | + if (item.route === '/pages/plan/index') { | ||
| 448 | + checkPlanPermission(navigate, { | ||
| 449 | + content: '计划书功能需要登录后才能使用,是否立即登录?', | ||
| 450 | + confirmText: '去登录' | ||
| 439 | }); | 451 | }); |
| 440 | } else { | 452 | } else { |
| 441 | - // 无参数,直接跳转 | 453 | + // 其他页面直接导航 |
| 442 | - go(item.route); | 454 | + navigate(); |
| 443 | } | 455 | } |
| 444 | }; | 456 | }; |
| 445 | 457 | ... | ... |
-
Please register or login to post a comment