1. 项目概述:构建一个Node.js+Vue.js网上药店管理系统
去年我接手了一个医药电商平台的重构项目,核心需求是将传统的药品销售流程数字化。这个基于Node.js和Vue.js的网上药店管理系统,不仅需要满足常规电商功能,还要处理药品特有的合规性要求。系统上线后日均订单量突破3000单,处方药审核通过率达到98%,下面分享我的完整实现方案。
药品电商系统与普通电商有显著差异:首先,药品分类必须符合GSP规范;其次,处方药销售需要对接医疗机构审核系统;最后,所有交易记录必须保存至少5年备查。这些特殊要求直接影响我们的技术选型和架构设计。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 全栈技术选型
前端架构:
- Vue 3 + TypeScript:获得更好的类型检查和代码提示
- Pinia状态管理:比Vuex更简洁的API设计
- Element Plus组件库:专为医疗行业优化过的表单验证组件
- ECharts:用于展示销售数据统计报表
后端架构:
- Node.js 18 LTS:长期支持版本更稳定
- NestJS框架:企业级应用所需的依赖注入、模块化支持
- TypeORM:支持MySQL和MongoDB双数据库操作
- Redis:高频访问的药品库存数据缓存
数据库设计:
sql复制-- 药品核心表结构示例
CREATE TABLE `drugs` (
`id` varchar(20) PRIMARY KEY COMMENT '国药准字编号',
`name` varchar(100) NOT NULL COMMENT '通用名',
`spec` varchar(50) NOT NULL COMMENT '规格',
`category_id` int NOT NULL COMMENT 'GSP分类ID',
`is_rx` tinyint(1) DEFAULT 0 COMMENT '是否处方药',
`price` decimal(10,2) UNSIGNED NOT NULL,
`stock` int UNSIGNED DEFAULT 0 COMMENT '库存',
`usage` text COMMENT '用法用量',
`contraindication` text COMMENT '禁忌症'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2.2 系统模块划分
-
用户中心模块:
- 实名认证(对接公安系统API)
- 用药人管理(保存过敏史等医疗信息)
- 处方上传功能(支持拍照识别)
-
药品模块:
- 三级分类体系(按GSP规范)
- 药品详情页特殊字段:
- 不良反应
- 药物相互作用
- 孕妇及哺乳期妇女用药
-
处方审核模块:
- 对接互联网医院API
- 电子签名存证
- 审核状态实时推送
