diff --git a/Dockerfile b/Dockerfile
index a901cdd..1ce50ab 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:20.12.1 as frontend
+FROM node:20.12.1 AS frontend
WORKDIR /app
COPY /frontend /app/frontend
diff --git a/README.md b/README.md
index a2c7483..8d104ec 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
MaterialManager
+


@@ -9,32 +9,247 @@
## 介绍
-一款自用的物资管理系统
+一款适用于企业内部的物资管理平台,特点如下:
+- 使用企业内部ldap系统登录
+- 单独的权限管理
+- 物资的自定义分类
+- 区域的自定义划分
+- 值班交接班功能
+- ...
-## 安装
+## 使用
+创建 `docker-compose.yaml` 文件
+```yaml
+configs:
+ create_db_sql:
+ file: ./create_db.sql
-构建镜像
+services:
+ db:
+ image: ghcr.io/pylover7/mysql8
+ restart: unless-stopped
+ environment:
+ MYSQL_ROOT_PASSWORD: mysql
+ TZ: Asia/Shanghai
+ volumes:
+ - ./material-data:/var/lib/mysql:Z
+ configs:
+ - source: create_db_sql
+ target: /docker-entrypoint-initdb.d/create_db.sql
+ mode: 0777
+ networks:
+ material_net:
+ aliases:
+ - db
+ material:
+ image: ghcr.io/pylover7/material
+ restart: unless-stopped
+ environment:
+ - DB_HOST=db
+ - DB_DRIVER=org.mysql.jdbc.Driver
+ - DB_URL=jdbc:mysql://db:3306/material?serverTimezone=Asia/Shanghai
+ - DB_USERNAME=root
+ - DB_PASSWORD=mysql
+ - DEV=false
+ volumes:
+ - ./material-config:/app/config
+ - ./material-logs:/app/logs
+ ports:
+ - '7001:80'
+ depends_on:
+ - db
+ networks:
+ material_net:
+ aliases:
+ - material
+
+networks:
+ material_net:
+ driver: bridge
+```
+使用命令启动容器服务
```bash
-docker build -t material:1.0.7 .
+docker-compose up -d
```
-保存镜像
+创建配置文件
+在 `./material-config` 目录下添加配置文件 `config.yml`
+```yml
+app:
+ title: MaterialManager
+ description: A manager for material
+ version: &version 1.0.7
+ dev: true
+
+# 启动服务配置信息
+server:
+ host: 127.0.0.1
+ port: 8000
+ reload: false
+ cors_origins:
+ - '*'
+ cors_allow_credentials: true
+ cors_allow_headers:
+ - '*'
+ cors_allow_methods:
+ - '*'
+
+# 密钥信息
+secret:
+ secret_key:
+ jwt_algorithm: HS256
+ jwt_access_token_expire_min: 30
+ jwt_refresh_token_expire_min: 120
+
+# 超级管理员信息
+superUser:
+ username: admin
+ nickname: admin
+ employeeID: "00000000"
+ mobile: "18888888888"
+ email: admin@example.com
+ is_superuser: true
+ remark: 管理员
+ department: 管理员
+ company: 管理员
+
+# 数据库配置信息
+db:
+ start: mysql
+ host: localhost
+ port: 3306
+ username: root
+ password: mysql
+ database: material
+
+# ldap 服务器IP
+ldap:
+ host:
+ base: "dc=demo,dc=com"
+ username: test
+ password: test1234
+
+
+# 日志配置信息
+log:
+ version: 1
+ disable_existing_loggers: false
+ formatters:
+ default:
+ (): uvicorn.logging.DefaultFormatter
+ fmt: '%(levelprefix)s %(message)s'
+ use_colors:
+ access:
+ (): uvicorn.logging.AccessFormatter
+ fmt: '%(asctime)s | %(levelprefix)s %(client_addr)s - %(status_code)s - "%(request_line)s"'
+ handlers:
+ default:
+ class: logging.StreamHandler
+ formatter: default
+ stream: ext://sys.stderr
+ access:
+ class: logging.StreamHandler
+ formatter: access
+ stream: ext://sys.stdout
+ loggers:
+ uvicorn:
+ level: INFO
+ handlers:
+ - default
+ uvicorn.error:
+ level: INFO
+ uvicorn.access:
+ level: INFO
+ handlers:
+ - access
+ propagate: false
+```
+
+交接班记录文件 `dutyInfo.ini`
+```ini
+[glb.tool]
+dutyperson = 张三
+dutypersondepart = xx处xx科
+takeovertime = 2025-01-10 22:08:24
+
+[glb.key]
+dutyperson = 张三
+dutypersondepart = xx处xx科
+takeovertime = 2025-01-10 22:13:29
+
+[wk.tool]
+dutyperson = admin
+dutypersondepart = 管理员
+takeovertime = 2024-12-04 11:37:40
+
+[wk.key]
+dutyperson = xxx
+dutypersondepart = 浙江火电维修处
+takeovertime = 2024-11-01 22:37:52
+
+[fk.tool]
+dutyperson = admin
+dutypersondepart = adminDepart
+takeovertime = 2020-01-01 00:00:00
+
+[fk.key]
+dutyperson = admin
+dutypersondepart = adminDepart
+takeovertime = 2020-01-01 00:00:00
+```
+
+## 自定义开发
+
+技术栈:
+- 前端:
+ - Vue3
+ - Vite
+ - ElementPlus
+ - PureAdmin
+ - ...
+- 后端
+ - python3.11
+ - fastapi
+ - mysql
+
+### 环境搭建
+后端
```bash
-docker save material:1.0.7 -o material107.tar
+# 安装依赖 在目录 backend/ 下执行
+uv sync
+
+# 启动
+uv run run.py
```
-加载镜像
+
+安装前端依赖
```bash
-docker load -i material107.tar
+# 安装依赖 在目录 frontend/ 下执行
+pnpm i
+
+# 启动
+pnpm dev
```
-启动容器
+访问 http://localhost:8001/ 即可
+
+
+### docker镜像
+构建镜像
```bash
-docker-compose up -d
+docker build -t material:1.0.9 .
```
-访问 http://localhost:8080/ 即可
+保存镜像
+```bash
+docker save material:1.0.9 -o material109.tar
+```
+加载镜像
+```bash
+docker load -i material109.tar
+```
## Status
diff --git a/frontend/public/platform-config.json b/frontend/public/platform-config.json
index fd28909..cbf3814 100644
--- a/frontend/public/platform-config.json
+++ b/frontend/public/platform-config.json
@@ -1,5 +1,5 @@
{
- "Version": "1.0.7",
+ "Version": "1.0.9",
"Title": "物资管理平台",
"FixedHeader": true,
"HiddenSideBar": false,
@@ -24,7 +24,7 @@
"TooltipEffect": "light",
"ResponsiveStorageNameSpace": "responsive-",
"MenuSearchHistory": 6,
- "DocxUrl": "https://hn-disk.cnnp.com.cn/ucdisk/s/AraYn2",
- "AdminName": "刘硕",
- "AdminEmail": "liushuo@cnnp.com.cn"
+ "DocxUrl": "https://github.com/pylover7",
+ "AdminName": "张三",
+ "AdminEmail": "zhangsan@163.com"
}