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 中间件后来被抽象为通用模块,复用到公司其他出海项目。


