返回首页

Artohome 国际商城 — 独立交付的全栈项目

Artohome 国际商城 — 独立交付的全栈项目

所属团队

香港中天科技系统

我的角色

全栈开发工程师

周期

2026.01 - 2026.03

工具与技术

GoGinGORMVue 3PiniaElasticsearchPostgreSQL

问题

一个面向海外的家具商城:多语言内容、图片视频上传、客户询价、商品与 SKU 体系,前后端只有我一个人。既要上线快,又不能被国际化与检索性能拖死。

商城后台界面(占位图)
用户端页面(占位图)

我的方案

  • 后端:Gin+GORM 实现后台管理与用户端 API——商品/分类/SKU/套装、轮播/新闻、询价、上传、JWT、CORS
  • 前端:Vue Router 4 + Pinia + Tailwind,按路由+语言缓存页面实例消除整页闪烁;webp 上传、轮播 LCP 优先、列表骨架屏防 CLS
  • i18n 中间件:按请求头动态返回全字段翻译,"内存缓存 + MySQL 持久化 + 火山翻译 API"三级链路,SHA-256 去重、RWMutex 并发保护、滑动过期分批清理;对 XML/JSON 树形数据递归翻译,解决结构化数据翻不动的问题
  • 多语言检索:IK + Standard 混合分词,中文最细粒度索引,异步队列 MySQL→ES 同步,告别 LIKE 全表扫
  • 随机推荐:以"随机键索引回绕采样"替代 ORDER BY random(),O(n log n) 全表排序降为平均 O(log n) 索引定位

结果

商城按期上线并稳定运营。最大的收获是"全栈"二字的真实含义:每个技术决策的代价,最后都由同一个人承担——所以每个都必须想清楚。

接口全字段 i18n 中间件后来被抽象为通用模块,复用到公司其他出海项目。