从0搭建企业级档案管理系统客户案例实操指南

实操环境准备

需准备3个核心工具,所有资源均为稳定版直接获取: 1. Python 3.10.11(Windows下载:https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe;Linux执行命令:sudo apt update && sudo apt install python3.10) 2. MySQL 5.7.42(Linux下载:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz) 3. 项目依赖管理工具:执行pip install --upgrade pip提前更新pip

项目初始化(客户案例适配版)

1. 创建项目目录

打开终端执行命令,生成隔离项目空间: ``` mkdir archive_client_demo && cd archive_client_demo ```

2. 初始化Python虚拟环境

虚拟环境避免依赖冲突,执行对应命令: - Linux/macOS: ``` python3 -m venv venv && source venv/bin/activate ``` - Windows: ``` python -m venv venv && venv\Scripts\activate ``` 激活成功后,终端前缀会显示(venv),表示环境生效

3. 安装核心依赖

创建requirements.txt文件,完整复制以下内容后保存: ``` Flask==2.3.3 Flask-SQLAlchemy==3.0.5 pymysql==1.1.0 python-dotenv==1.0.0 ``` 执行安装命令: ``` pip install -r requirements.txt ```

数据库配置(客户专属档案分类)

1. MySQL初始化

登录MySQL后依次执行以下命令,创建客户专属数据库和权限: ``` CREATE DATABASE archive_client DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'archive_user'@'%' IDENTIFIED BY 'Client@2024!'; GRANT ALL PRIVILEGES ON archive_client. TO 'archive_user'@'%'; FLUSH PRIVILEGES; ```

2. 项目环境变量配置

从0搭建企业级档案管理系统客户案例实操指南

在项目根目录创建.env文件,完整复制以下内容: ``` FLASK_APP=app.py FLASK_ENV=development DATABASE_URL=mysql+pymysql://archive_user:Client@2024!@localhost:3306/archive_client ```

核心功能开发(客户案例实操:档案上传&分类管理)

1. 应用入口app.py编写

在项目根目录创建app.py,完整复制以下代码(适配客户需求的行政/人事/业务三类档案): ``` from flask import Flask, request, jsonify from flask_sqlalchemy import SQLAlchemy import os from dotenv import load_dotenv load_dotenv() app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = os.getenv('DATABASE_URL') app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) 客户档案分类模型 class ArchiveRecord(db.Model): id = db.Column(db.Integer, primary_key=True) category = db.Column(db.String(20), nullable=False) 限制为行政/人事/业务 file_name = db.Column(db.String(150), nullable=False) upload_time = db.Column(db.DateTime, default=db.func.current_timestamp()) 初始化数据库表 with app.app_context(): db.create_all() 客户档案上传接口(唯一核心操作) @app.route('/api/upload-archive', methods=['POST']) def upload_archive(): if 'file' not in request.files: return jsonify({'code': 400, 'msg': '未上传文件'}), 400 file = request.files['file'] category = request.form.get('category') 强制校验分类,符合客户案例要求 if not category or category not in ['行政', '人事', '业务']: return jsonify({'code': 400, 'msg': '分类必须为行政/人事/业务'}), 400 if file.filename == '': return jsonify({'code': 400, 'msg': '未选择有效文件'}), 400 创建文件保存目录 save_dir = './client_archives/' + category os.makedirs(save_dir, exist_ok=True) save_path = os.path.join(save_dir, file.filename) file.save(save_path) 写入数据库记录 new_record = ArchiveRecord(category=category, file_name=file.filename) db.session.add(new_record) db.session.commit() return jsonify({'code': 200, 'msg': '上传成功', 'data': {'record_id': new_record.id}}) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True) ```

实操验证(零门槛落地步骤)

1. 启动服务:终端激活虚拟环境后执行: ``` python app.py ``` 看到终端输出`Running on http://0.0.0.0:5000`即为服务启动成功

2. 测试上传(客户案例核心操作):用curl命令直接测试,替换test.pdf为本地文件路径: ``` curl -X POST -F "file=@/本地路径/你的文件.pdf" -F "category=行政" http://localhost:5000/api/upload-archive ``` 返回`{"code":200,"msg":"上传成功","data":{"record_id":数字}}`则操作生效

3. 数据验证:登录MySQL执行查询,确认记录已存入客户专属数据库: ``` USE archive_client; SELECT FROM ArchiveRecord; ```

后续适配提示

若需扩展客户自定义分类,直接修改ArchiveRecord模型的category字段可选值,重启服务即可生效;文件存储路径可通过.env中的变量替换为客户指定的网络目录,无需修改核心代码

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统