Skip to content

feat: rename Himarket to HiMarket and update session management#115

Merged
heimanba merged 1 commit intohigress-group:mainfrom
kaplax:main
Dec 11, 2025
Merged

feat: rename Himarket to HiMarket and update session management#115
heimanba merged 1 commit intohigress-group:mainfrom
kaplax:main

Conversation

@kaplax
Copy link
Copy Markdown
Contributor

@kaplax kaplax commented Dec 11, 2025

  • Standardize branding from "Himarket" to "HiMarket" across frontend and admin portal
  • Update session loading logic in Square/HiChat to properly map API response fields
  • Fix session timestamp handling and product ID initialization
  • Improve sidebar session categorization and keyboard shortcut detection
  • Clean up minor code formatting and add missing newlines

feat(chat): enhance sidebar UI with overflow handling and conditional rendering

  • Add overflow-hidden and text-nowrap classes to prevent text overflow in sidebar items
  • Conditionally render divider in sidebar only when not collapsed
  • Wrap placeholder text in div for better layout control
  • Add fill color to icons for consistent styling

Change-Id: Ibf8f36e4a7c92a2317d9075fd5a591fa28a80cc1

Description

Related Issues

Checklist

  • Code has been formatted with mvn spotless:apply
  • Code is self-reviewed
  • Tests added/updated (if applicable)
  • Documentation updated (if applicable)
  • No breaking changes (or migration guide provided)

@lingma-agents
Copy link
Copy Markdown

lingma-agents Bot commented Dec 11, 2025

品牌标准化及会话管理优化

变更概述
  • 新功能

    • 将所有前端界面中的"Himarket"统一更改为"HiMarket",完成品牌标准化。
    • 在Square/HiChat页面中增强了侧边栏的功能性,包括会话分类、快捷键支持和UI优化。
  • 问题修复

    • 修复了会话时间戳处理的问题,并正确初始化产品ID。
    • 改进了会话加载逻辑以适配API响应字段映射。
  • UI/UX变更

    • 更新了侧边栏样式,增加了折叠/展开功能以及悬停效果。
    • 添加了对文本溢出的处理,使界面更加整洁美观。
    • 引入新的图标组件如MessageSquareQuote, Image, FileVideo用于区分不同功能模块。
  • 其他

    • 调整了部分CSS类名以提升视觉一致性。
    • 增加了启动脚本的日志输出提示信息。
变更文件
文件路径 变更说明
himarket-web/​himarket-admin/​bin/​start.​sh 在启动脚本末尾添加了HiMarket Admin成功启动的信息提示和访问日志跟踪命令。
himarket-web/​himarket-admin/​index.​html 将页面标题由'Himarket'更改为'HiMarket'。
himarket-web/​himarket-admin/​src/​components/​Layout.​tsx 修改布局组件中的菜单项名称为中文“实例管理”,并将其子项设为Nacos实例;同时更新Logo显示文字为HiMarket。
himarket-web/​himarket-frontend/​CLAUDE.​md 更新项目概述描述,明确指出这是HiMarket API门户前端项目。
himarket-web/​himarket-frontend/​IMPLEMENTATION.​md 更新实现细节文档,指定Square页面(HiChat)的相关功能已完成。
himarket-web/​himarket-frontend/​bin/​start.​sh 在启动脚本末尾添加了HiMarket Frontend成功启动的信息提示和访问日志跟踪命令。
himarket-web/​himarket-frontend/​index.​html 将页面标题由'Himarket'更改为'HiMarket'。
himarket-web/​himarket-frontend/​src/​aliyunThemeToken.​ts 新增一个主题颜色变量colorPrimaryHoverLight。
himarket-web/​himarket-frontend/​src/​components/​Header.​tsx 引入新的图标组件HiMarket和Logo,并替换原有LOGO区域的内容。
himarket-web/​himarket-frontend/​src/​components/​Navigation.​tsx 更新导航条目内容,使用新图标并调整Tab区域结构;同时更新品牌名为HiMarket。
himarket-web/​himarket-frontend/​src/​components/​card/​APICard.​tsx 在卡片内加入Image图标元素。
himarket-web/​himarket-frontend/​src/​components/​card/​ChatCard.​tsx 更新聊天卡片标题为HiChat,并保持原有动画效果。
himarket-web/​himarket-frontend/​src/​components/​chat/​Area.​tsx 将欢迎语句中的品牌名称更改为HiMarket HiChat。
himarket-web/​himarket-frontend/​src/​components/​chat/​Sidebar.​tsx 全面重构侧边栏组件:增加折叠控制、按时间分组会话列表、快捷键监听(Shift+Cmd/Ctrl+O)、编辑/删除会话等功能;优化UI表现,例如防止文本溢出、条件渲染分割线等。
himarket-web/​himarket-frontend/​src/​components/​icon/​index.​tsx 新增多个SVG图标组件,包括HiMarket主标识、MessageSquareQuote、Image和FileVideo等。
时序图
sequenceDiagram
    participant U as User
    participant S as Sidebar
    participant A as APIs
    
    U->>S: Open Sidebar
    S->>A: GET /sessions
    A-->>S: Return session list
    S->>S: Categorize sessions by time
    
    U->>S: Press Shift+Cmd/Ctrl+O
    S->>S: Trigger new chat creation
    
    U->>S: Click on session item
    S->>S: Highlight selected session
    
    U->>S: Right click -> Rename
    S->>A: PUT /session/{id}
    A-->>S: Confirm update
    S->>S: Update local state
    
    U->>S: Right click -> Delete
    S->>A: DELETE /session/{id}
    A-->>S: Confirm deletion
    S->>S: Remove from local state
Loading

💡 小贴士

与 lingma-agents 交流的方式

📜 直接回复评论
直接回复本条评论,lingma-agents 将自动处理您的请求。例如:

  • 在当前代码中添加详细的注释说明。

  • 请详细介绍一下你说的 LRU 改造方案,并使用伪代码加以说明。

📜 在代码行处标记
在文件的特定位置创建评论并 @lingma-agents。例如:

  • @lingma-agents 分析这个方法的性能瓶颈并提供优化建议。

  • @lingma-agents 对这个方法生成优化代码。

📜 在讨论中提问
在任何讨论中 @lingma-agents 来获取帮助。例如:

  • @lingma-agents 请总结上述讨论并提出解决方案。

  • @lingma-agents 请根据讨论内容生成优化代码。

Copy link
Copy Markdown

@lingma-agents lingma-agents Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔎 代码评审报告

🎯 评审意见概览
严重度 数量 说明
🔴 Blocker 0 阻断性问题,需立即修复。例如:系统崩溃、关键功能不可用或严重安全漏洞。
🟠 Critical 0 严重问题,高优先级修复。例如:核心功能异常或性能瓶颈影响用户体验。
🟡 Major 1 主要问题,建议修复。例如:非核心功能缺陷或代码维护性较差。
🟢 Minor 0 次要问题,酬情优化。例如:代码格式不规范或注释缺失。

总计: 1 个问题

📋 评审意见详情
💡 代码实现建议
以下是文件级别的代码建议,聚焦于代码的可读性、可维护性和潜在问题。
⚛️ himarket-web/himarket-admin/src/components/Layout.tsx (1 💬)
🚀 架构设计建议
以下是对代码架构和设计的综合分析,聚焦于跨文件交互、系统一致性和潜在优化空间。
🔍1. 品牌名称不一致可能导致用户认知混淆

在多个前端文件中将'Himarket'更改为'HiMarket',但在后端服务、数据库或API接口等其他系统组件中可能未同步更新。这种不一致可能导致用户在不同平台或文档中看到不同的品牌名称,造成认知混淆。建议进行全面的全局搜索,确保所有相关系统组件中的品牌名称都统一更新,并建立品牌命名规范。

⚠️ 潜在风险

用户体验不一致,品牌形象受损,增加用户支持成本

🔍2. 会话管理功能扩展缺乏相应的后端API设计说明

前端聊天界面的Sidebar组件增加了会话管理功能(如重命名、删除会话),但PR中未提供对应的后端API设计或更新说明。缺少后端支持会导致这些新功能无法正常工作。建议补充后端API的设计文档,明确数据存储结构、接口协议和安全考虑。

⚠️ 潜在风险

前端功能无法实现,数据一致性问题,潜在的安全漏洞

🔍3. 新增SVG图标组件缺乏统一的管理策略

PR中在多个文件中添加了新的SVG图标组件(如HiMarket, MessageSquareQuote, FileVideo等)。随着项目发展,大量内联SVG代码会增加维护难度和构建时间。建议采用统一的图标管理系统,例如创建专门的icons目录,使用SVG Sprite或Icon Component Library进行集中管理。

⚠️ 潜在风险

代码冗余,维护困难,构建性能下降

🔍4. 页面标题更改未考虑SEO影响

将页面标题从'Himarket'更改为'HiMarket'虽然是小改动,但如果这个变化与公司的SEO策略不符,可能会影响搜索引擎排名。特别是如果外部链接或广告活动依赖于旧的品牌名称,这样的更改可能会导致流量损失。建议在更改前评估对SEO的影响并与市场团队沟通。

⚠️ 潜在风险

搜索引擎排名下降,网站流量减少,营销效果受影响

🔍5. 启动脚本中的成功消息缺乏国际化支持

在前后端的启动脚本中添加了固定的中文成功提示信息('HiMarket Admin started successfully', 'HiMarket Frontend started successfully')。这种方式不利于产品的国际化部署。建议将这些消息改为可配置项或者通过环境变量传入,以适应不同语言环境的需求。

⚠️ 潜在风险

国际化部署困难,多语言支持受限,运维复杂度增加

审查详情
📒 文件清单 (19 个文件)
📝 变更: 19 个文件

📝 变更文件:

  • himarket-web/himarket-admin/bin/start.sh
  • himarket-web/himarket-admin/index.html
  • himarket-web/himarket-admin/src/components/Layout.tsx
  • himarket-web/himarket-frontend/CLAUDE.md
  • himarket-web/himarket-frontend/IMPLEMENTATION.md
  • himarket-web/himarket-frontend/bin/start.sh
  • himarket-web/himarket-frontend/index.html
  • himarket-web/himarket-frontend/src/aliyunThemeToken.ts
  • himarket-web/himarket-frontend/src/components/Header.tsx
  • himarket-web/himarket-frontend/src/components/Navigation.tsx
  • himarket-web/himarket-frontend/src/components/card/APICard.tsx
  • himarket-web/himarket-frontend/src/components/card/ChatCard.tsx
  • himarket-web/himarket-frontend/src/components/chat/Area.tsx
  • himarket-web/himarket-frontend/src/components/chat/Sidebar.tsx
  • himarket-web/himarket-frontend/src/components/icon/index.tsx
  • himarket-web/himarket-frontend/src/pages/Home.tsx
  • himarket-web/himarket-frontend/src/pages/Login.tsx
  • himarket-web/himarket-frontend/src/pages/Register.tsx
  • himarket-web/himarket-frontend/src/router.tsx

💡 小贴士

与 lingma-agents 交流的方式

📜 直接回复评论
直接回复本条评论,lingma-agents 将自动处理您的请求。例如:

  • 在当前代码中添加详细的注释说明。

  • 请详细介绍一下你说的 LRU 改造方案,并使用伪代码加以说明。

📜 在代码行处标记
在文件的特定位置创建评论并 @lingma-agents。例如:

  • @lingma-agents 分析这个方法的性能瓶颈并提供优化建议。

  • @lingma-agents 对这个方法生成优化代码。

📜 在讨论中提问
在任何讨论中 @lingma-agents 来获取帮助。例如:

  • @lingma-agents 请总结上述讨论并提出解决方案。

  • @lingma-agents 请根据讨论内容生成优化代码。

// 监听 storage 变化(当其他标签页登录/登出时)
window.addEventListener('storage', checkAuthStatus)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

应使用防抖函数优化 storage 事件监听器,避免频繁触发认证状态检查。

🟡 Major | 🧹 Code Smells

📋 问题详情

当前代码在每次 storage 事件触发时都会调用 checkAuthStatus 函数,这可能导致在多个标签页同时操作 localStorage 时产生性能问题或不必要的重复请求。建议使用防抖(debounce)技术来限制函数执行频率。

💡 解决方案

引入防抖函数以减少高频触发带来的性能损耗。

+ // 使用防抖函数包装 checkAuthStatus
+ const debouncedCheckAuthStatus = debounce(checkAuthStatus, 300);
- window.addEventListener('storage', checkAuthStatus)
+ window.addEventListener('storage', debouncedCheckAuthStatus);

您的反馈对我们很重要!(建议右键在新标签页中打开以下链接)

有用意见👍无用意见👎错误意见❌

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Dec 11, 2025

CLA assistant check
All committers have signed the CLA.

- Standardize branding from "Himarket" to "HiMarket" across frontend and admin portal
- Update session loading logic in Square/HiChat to properly map API response fields
- Fix session timestamp handling and product ID initialization
- Improve sidebar session categorization and keyboard shortcut detection
- Clean up minor code formatting and add missing newlines

feat(chat): enhance sidebar UI with overflow handling and conditional rendering

- Add overflow-hidden and text-nowrap classes to prevent text overflow in sidebar items
- Conditionally render divider in sidebar only when not collapsed
- Wrap placeholder text in div for better layout control
- Add fill color to icons for consistent styling

Change-Id: Ibf8f36e4a7c92a2317d9075fd5a591fa28a80cc1

chore: Update HiMarket icon SVG path and dimensions
@heimanba heimanba merged commit dc2e750 into higress-group:main Dec 11, 2025
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants