3.3 KiB
3.3 KiB
目标
- 顶部菜单切换“搜索/导入”,各模块彼此独立、互不干扰
- 统一白色背景与高对比度主题,在暗黑系统模式下也能清晰可见
- 强化搜索结果的可读性,突出名称、卖价、进价、条码等关键字段
导航与布局
- 顶部加入切换菜单(Tabs):“搜索”、“导入”,使用吸附(sticky)头部
- 页面分区:
SearchSection与ImportSection,仅显示当前选中的模块 - 保持响应式:移动端单列、桌面端居中卡片布局
视觉与主题
- 全局白色背景(
body{background:#fff}),系统暗黑模式下也保持白底 - 高对比文本色(近黑
#111),卡片投影与边框弱化但清晰 - 关键信息强调:
- 名称加粗加大
- 卖价着重色(如
#d32f2f),进价次级色(如#455a64) - 条码固定等宽字体便于核对与复制
- 统一间距与行高,提升可读性
搜索体验优化
- 输入框占位提示区分条码/名称(支持回车搜索)
- 结果空态与错误态:展示“无结果/接口错误”提示
- 加载态:搜索时按钮与列表显示“加载中”
- 条码精确命中优先;名称模糊查询展示列表
- 结果操作:点击复制条码(可选增强)
结果呈现
- 结果卡片字段顺序:名称(粗体)→ 卖价(显著)→ 进价 → 条码(等宽)
- 列表模式下每条结果为独立卡片;单条命中时以详情样式展示
- 支持分页/条数限制(沿用
limit参数,可在前端提供下拉或固定值)
导入模块
- 独立导入区域仅在“导入”Tab显示
- 显示文件名与导入进度,导入完成后展示统计(插入/更新/跳过)
- 失败提示与重试按钮;限制文件类型(
xlsx/xls) - 可选增强:拖拽上传
代码改动清单
static/index.html- 添加顶部
navTabs(搜索/导入) - 拆分两个主容器:
#searchSection与#importSection
- 添加顶部
static/styles.css- 设置全局白色背景与高对比文本
- Tabs样式(选中态、悬停态、移动端适配)
- 结果卡片样式(标题、价格颜色、条码等宽字体、间距)
- 空态/加载态提示样式
static/app.js- 管理当前Tab状态与切换逻辑
- 搜索渲染函数:突出关键字段、空态/错误态/加载态
- 导入渲染函数:进度提示、结果统计
- 小增强:复制条码、回车触发、简单节流
验收标准
- 在系统暗黑模式下仍保持白底,内容清晰可见
- 移动端下布局舒适、操作便捷;桌面端居中显示
- 搜索与导入切换明确,互不串场
- 名称、卖价、进价、条码呈现明显、易读
- 无控制台错误,接口异常时有友好提示
风险与兼容
- 中文编码与字体在部分终端显示差异;通过指定通用中文字体栈缓解
- 保持原生HTML/CSS/JS,不引入新框架,降低兼容风险
- 与现有接口契合,无需后端改动
实施步骤
- 修改
index.html:加入导航与两个分区容器 - 更新
styles.css:白色主题、Tabs与卡片样式、提示态 - 更新
app.js:Tab切换、渲染优化、状态管理(空/错/载) - 自测:手机与桌面浏览器,验证切换、搜索与导入流程
- 如有需要更新
README.md截图与使用说明