# 北京中兆律师事务所智能知识库 ## 项目介绍 北京中兆律师事务所智能知识库是一个现代化的法律知识管理平台,为律师和相关人员提供法律案例、文档和知识的检索、管理和咨询服务。系统集成了智能搜索、聊天交互和权限管理功能,帮助用户高效获取和利用法律专业知识。 ## 主要功能 - **知识库管理**:浏览、搜索和管理法律知识库 - **智能聊天**:与AI助手进行法律知识咨询 - **权限控制**:细粒度的用户权限管理系统 - **响应式界面**:适配各种设备的现代化界面 ## 技术栈 - **前端框架**:React, Redux - **UI框架**:Bootstrap - **状态管理**:Redux Toolkit - **路由管理**:React Router - **样式处理**:SCSS - **构建工具**:Vite ## 目录结构 ``` / ├── public/ # 静态资源 │ ├── OpenDoor.mp4 # 开场动画视频 │ └── index.html # HTML入口文件 │ ├── src/ # 源代码 │ ├── assets/ # 资源文件 │ ├── components/ # 公共组件 │ ├── layouts/ # 布局组件 │ ├── pages/ # 页面组件 │ ├── router/ # 路由配置 │ ├── services/ # API服务 │ ├── store/ # Redux状态管理 │ ├── styles/ # 样式文件 │ │ ├── base.scss # 基础样式 │ │ ├── style.scss # 主样式文件 │ │ └── variables.scss # 变量定义 │ │ │ ├── utils/ # 工具函数 │ ├── App.jsx # 应用入口组件 │ └── main.jsx # 应用入口文件 │ ├── package.json # 项目依赖配置 └── vite.config.js # Vite配置 ``` ## 本地部署指南 ### 环境要求 - Node.js 16+ - npm 8+ 或 yarn 1.22+ ### 安装步骤 1. **克隆仓库** ```bash git clone http://180.163.88.62:56421/susieshi/knowledgebase_law.git cd knowledgebase_law ``` 2. **安装依赖** ```bash npm install # 或 yarn install ``` 3. **启动开发服务器** ```bash npm run dev # 或 yarn dev ``` 应用将在浏览器中自动打开,默认地址为 http://localhost:8080 ### 生产环境构建 1. **构建项目** ```bash npm run build # 或 yarn build ``` 2. **预览构建结果** ```bash npm run preview # 或 yarn preview ``` 3. **部署构建产物** 构建产物将生成在`dist`目录中,可以将该目录部署到任何静态文件服务器上。 ## 配置说明 ### 环境变量配置 本项目使用 Vite 的环境变量系统,支持不同环境下的配置。 #### 环境变量文件 在项目根目录下,可以创建以下环境变量文件: - `.env` - 所有环境都会加载的文件 - `.env.local` - 所有环境都会加载,但会被git忽略 - `.env.development` - 开发环境加载的文件 - `.env.production` - 生产环境加载的文件 #### 环境变量命名规则 为了让Vite正确识别环境变量,变量名需要以`VITE_`开头,例如: ``` VITE_API_URL=http://api.example.com VITE_APP_TITLE=北京中兆律师事务所智能知识库 VITE_SECRETKEY=your-secret-key ``` #### 常用环境变量 项目中主要使用的环境变量包括: - `VITE_API_URL`: API服务器地址 - `VITE_PORT`: 本地部署端口 - `VITE_SECRETKEY`: 加密密钥 #### 在代码中使用环境变量 在代码中访问环境变量的方式: ```javascript // 访问环境变量 const apiUrl = import.meta.env.VITE_API_URL; const secretKey = import.meta.env.VITE_SECRETKEY; console.log('API URL:', apiUrl); ``` #### 环境变量配置示例 `.env.development` 示例: ``` VITE_PORT = 8080 VITE_PROD = false VITE_API_URL = "http://81.69.223.133:8008" VITE_SECRETKEY = "ooin-knowledge-base-key" ``` ### 自定义主题色 项目使用#A32B23作为主色调,可以在`src/styles/variables.scss`中修改: ```scss $primary: #A32B23; ``` ### 开场动画配置 开场动画使用视频格式,配置位于`index.html`中: 1. 确保`public`目录中有`OpenDoor.mp4`文件 2. 可选:准备`OpenDoor.gif`作为备用 3. 如需调整开场动画显示时间,可修改`src/main.jsx`中的配置