- 项目文档:PRD、SRS、架构设计文档、前后端详细设计文档、架构设计规范 - 数据库脚本:用户创建和数据库初始化脚本 - 后端框架:Spring Boot 3.2 + MyBatis-Plus 3.5 基础架构 - 公共组件:统一返回结果、分页封装、全局异常处理 - 基础功能:链路追踪、API日志、健康检查接口 - 配置文件:application.yml.example 配置模板 - 开发规范:遵循架构设计规范,data目录存放MyBatis-Plus文件
114 lines
6.1 KiB
Markdown
114 lines
6.1 KiB
Markdown
# 工作日志服务平台 - 需求规格说明书 (SRS)
|
||
|
||
**版本号**:V1.0
|
||
**日期**:2023-10-27
|
||
**状态**:待开发
|
||
|
||
---
|
||
|
||
## 1. 引言
|
||
### 1.1 项目背景
|
||
配合 2026 年人员管理需求,构建一套简易的工作日志服务平台,用于记录员工日常工作内容,支持模板化管理及人员信息维护。
|
||
### 1.2 建设目标
|
||
实现人员信息数字化管理、工作日志在线填写与查看、日志模板标准化配置。
|
||
### 1.3 范围
|
||
包含人员管理、日志模板管理、工作日志管理三大模块。**不包含项目管理模块**。
|
||
|
||
---
|
||
|
||
## 2. 用户角色
|
||
系统分为两种角色,权限控制如下:
|
||
|
||
| 角色 | 说明 | 权限范围 |
|
||
| :--- | :--- | :--- |
|
||
| **普通员工** | 系统的使用者 | 1. 修改个人密码/信息<br>2. 撰写、查看、修改、删除**自己的**日志<br>3. 查看启用的日志模板 |
|
||
| **管理员** | 系统的维护者 | 1. 拥有普通员工所有权限<br>2. **人员管理**:增删改查所有人员、启用/禁用账号<br>3. **模板管理**:增删改查所有模板、启用/禁用模板<br>4. **日志管理**:可查看全公司日志(可选) |
|
||
|
||
---
|
||
|
||
## 3. 功能需求详解
|
||
|
||
### 3.1 人员管理模块
|
||
| 功能点 | 描述 | 输入项 | 处理逻辑 | 输出/结果 |
|
||
| :--- | :--- | :--- | :--- | :--- |
|
||
| **账号登录** | 用户进入系统 | 账号、密码 | 验证账号存在且状态为“启用”,密码匹配 | 登录成功跳转首页,失败提示错误 |
|
||
| **人员列表** | 查看人员信息 | 无/搜索条件 | 展示人员基本信息列表 | 表格展示姓名、职位、状态等 |
|
||
| **新增人员** | 创建新账号 | 姓名、账号、密码、职位等 | 账号唯一性校验,密码加密存储 | 创建成功,状态默认为“启用” |
|
||
| **编辑人员** | 修改信息 | 除账号外的所有字段 | 验证权限(仅管理员或本人) | 信息更新 |
|
||
| **启用/禁用** | 控制账号状态 | 无 | 切换状态标志位 | 禁用后该账号无法登录 |
|
||
| **删除人员** | 移除人员 | 无 | 逻辑删除(建议)或物理删除 | 人员从列表消失 |
|
||
|
||
### 3.2 日志模板管理模块
|
||
| 功能点 | 描述 | 输入项 | 处理逻辑 | 输出/结果 |
|
||
| :--- | :--- | :--- | :--- | :--- |
|
||
| **模板列表** | 查看可用模板 | 无 | 仅展示状态为“启用”的模板给普通用户 | 模板名称、使用说明列表 |
|
||
| **新增模板** | 创建新模板 | 名称、内容、说明 | 内容支持 Markdown 格式 | 模板创建成功 |
|
||
| **编辑模板** | 修改模板 | 名称、内容、说明 | 验证权限(仅管理员) | 模板信息更新 |
|
||
| **启用/禁用** | 控制模板可用性 | 无 | 切换状态标志位 | 禁用后用户写日志时不可选 |
|
||
| **删除模板** | 移除模板 | 无 | 验证权限(仅管理员) | 模板从列表消失 |
|
||
|
||
### 3.3 工作日志管理模块
|
||
| 功能点 | 描述 | 输入项 | 处理逻辑 | 输出/结果 |
|
||
| :--- | :--- | :--- | :--- | :--- |
|
||
| **写日志** | 提交日常工作 | 日期、内容、选用模板 | 1. 记录人自动获取当前登录者<br>2. 内容字数校验<br>3. 记录时间自动生成 | 日志保存成功 |
|
||
| **日志列表** | 查看历史日志 | 日期范围、关键词 | 普通用户仅见自己,管理员可见全部 | 日志列表(含日期、摘要) |
|
||
| **编辑日志** | 修改已写日志 | 内容、模板 | 仅允许修改**自己的**日志 | 日志内容更新 |
|
||
| **删除日志** | 移除日志 | 无 | 仅允许删除**自己的**日志 | 日志从列表消失 |
|
||
| **日志详情** | 查看完整内容 | 无 | 渲染 Markdown 内容为 HTML | 展示格式化后的日志内容 |
|
||
|
||
---
|
||
|
||
## 4. 数据字段与约束
|
||
|
||
### 4.1 人员信息 (User)
|
||
* **姓名**:必填,文本。
|
||
* **联系方式**:选填,文本。
|
||
* **电子邮箱**:选填,需符合邮箱格式。
|
||
* **登录账号**:必填,唯一,文本。
|
||
* **登录密码**:必填,**加密存储**(不可明文)。
|
||
* **职位**:选填,文本。
|
||
* **描述**:选填,文本。
|
||
* **状态**:启用/禁用。
|
||
|
||
### 4.2 日志模板 (Template)
|
||
* **模板名称**:必填,文本。
|
||
* **模板内容**:必填,支持 Markdown 语法。
|
||
* **使用说明**:选填,文本。
|
||
* **状态**:启用/禁用。
|
||
|
||
### 4.3 工作日志 (Log)
|
||
* **日志日期**:必填,日期格式(YYYY-MM-DD)。
|
||
* **记录人**:系统自动获取,不可手动修改。
|
||
* **记录时间**:系统自动生成(YYYY-MM-DD HH:MM:SS)。
|
||
* **记录内容**:必填,**最大 2000 汉字**,支持 Markdown 语法。
|
||
* **使用模板**:选填,关联模板 ID。
|
||
|
||
---
|
||
|
||
## 5. 非功能需求 (NFR)
|
||
|
||
### 5.1 安全性
|
||
* **密码安全**:所有用户密码必须经过哈希加密(如 BCrypt)后存入数据库。
|
||
* **权限控制**:接口层需验证登录态(Token),普通用户不可越权访问管理员接口或他人数据。
|
||
* **输入过滤**:防止 XSS 攻击,尤其是 Markdown 内容渲染时需做安全过滤。
|
||
|
||
### 5.2 性能与约束
|
||
* **字数限制**:日志内容前端需实时统计字数,后端需二次校验,超过 2000 汉字禁止提交。
|
||
* **并发支持**:支持至少 50 人同时在线操作无明显卡顿。
|
||
* **数据保留**:禁用/删除操作建议采用“软删除”(标记状态位),以便后续审计追溯。
|
||
|
||
### 5.3 可用性
|
||
* **Markdown 支持**:前端需集成 Markdown 编辑器,支持预览功能。
|
||
* **响应式**:界面需适配主流浏览器及移动端基础查看。
|
||
|
||
---
|
||
|
||
## 6. 全局逻辑规则
|
||
1. **登录拦截**:用户状态为“禁用”时,任何接口请求均返回“账号已禁用”。
|
||
2. **模板关联**:删除模板时,若已有日志引用该模板,日志中的模板内容**不回溯修改**,仅断开关联或保留快照。
|
||
3. **时间逻辑**:日志日期允许补填过去日期,但“记录时间”必须为当前服务器时间。
|
||
4. **默认值**:新增人员默认状态为“启用”;新增模板默认状态为“启用”。
|
||
|
||
---
|
||
**备注**:本文档为开发基准文档,如有变更需同步更新版本号。
|