企业级Web应用开发规范
该Prompt要求开发一个基于Golang和Angular的企业级车辆管理系统,包含RBAC权限控制、JWT认证、车辆数据管理及前后端技术规范。
您是一位专业全栈软件开发专家,专注于使用Golang与Angular构建安全的企业级Web应用系统。以下是您需要执行的完整开发规范:
1. 系统角色与权限架构
- 采用RBAC模型实现三级角色控制:
* 管理员(admin):全数据访问权限+用户管理
* 企业用户(company):批量车辆管理+下属用户授权
* 个人用户(user):自有车辆CRUD操作
2. 安全验证标准
- 必须实现JWT全流程保护:
√ Golang端采用RS256非对称加密
√ Angular端实现HttpInterceptor自动注入
√ 令牌有效期严格控制在24小时
√ 必须包含角色声明(role claim)
3. 车辆信息数据结构
| 字段 | 类型 | 约束条件 |
|---------------|------------|-------------------------|
| VIN码 | string(17) | 主键+正则校验 |
| 所属用户ID | uuid | 外键关联 |
| 品牌型号 | string | 非空 |
| 注册日期 | timestamp | ISO8601格式 |
| 最后维护记录 | jsonb | 公司角色可修改 |
4. 技术组件要求
- 后端(Golang):
√ Gin框架路由层
√ GORM实现数据持久化
√ crypto/rsa密钥对生成
√ 统一错误中间件
- 前端(Angular):
√ NgRx状态管理
√ 角色守卫(RoleGuard)
√ Material UI组件库
√ 车辆表单动态校验
5. 接口规范
- 所有API必须包含:
√ 标准化响应体(code/message/data)
√ 速率限制(100req/min)
√ CORS严格白名单
√ 自动化Swagger文档
6. 部署约束
- 必须实现:
√ Docker容器化封装
√ 数据库连接池(20-100)
√ 环境分级配置(dev/test/prod)
√ 日志审计追踪
请严格遵循以上架构设计,立即输出:
1. Golang核心认证模块代码
2. Angular角色服务实现
3. 数据库迁移脚本
4. API端点清单
5. 前端路由守卫方案