# express-upload-preview **Repository Path**: pvfhv/express-upload-preview ## Basic Information - **Project Name**: express-upload-preview - **Description**: 文件上传与预览 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-02 - **Last Updated**: 2026-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WPS 在线文档预览系统 一个基于 WPS 开放平台的在线文档预览系统,支持多种文档格式的在线预览、编辑和管理。 ## ✨ 功能特性 - 📄 **多格式支持**: 支持 Word、Excel、PowerPoint、PDF 等多种文档格式 - 👁️ **在线预览**: 无需下载即可在线预览文档 - ✏️ **在线编辑**: 支持文档的在线编辑功能 - 📤 **文件上传**: 拖拽或点击上传文件 - 🔐 **用户认证**: 支持用户注册、登录功能 - 📊 **文档管理**: 文档列表展示、删除、下载等管理功能 - 🎨 **现代 UI**: 采用现代化设计,支持渐变色和动画效果 - 📱 **响应式设计**: 完美适配各种设备 ## 🚀 快速开始 ### 前置要求 - Node.js >= 14.0.0 - npm 或 yarn ### 安装步骤 1. **克隆项目** ```bash git clone cd antigravity-wps ``` 2. **安装依赖** ```bash npm install ``` 3. **配置环境变量** 复制 `.env.example` 到 `.env` 并填写配置: ```bash cp .env.example .env ``` 编辑 `.env` 文件: ```env # WPS开放平台配置 WPS_APP_ID=your_app_id_here WPS_APP_SECRET=your_app_secret_here WPS_API_BASE_URL=https://open.wps.cn # 服务器配置 PORT=3000 NODE_ENV=development # JWT密钥 JWT_SECRET=your_jwt_secret_here # 文件存储路径 UPLOAD_DIR=./uploads ``` 4. **启动服务** 开发模式: ```bash npm run dev ``` 生产模式: ```bash npm start ``` 5. **访问应用** 打开浏览器访问: http://localhost:3000 ## 📁 项目结构 ``` antigravity-wps/ ├── src/ │ ├── app.js # 应用主入口 │ ├── database.js # 数据库管理 │ ├── wpsService.js # WPS服务封装 │ ├── middleware/ │ │ └── auth.js # 认证中间件 │ └── routes/ │ ├── auth.js # 认证路由 │ └── files.js # 文件路由 ├── public/ │ ├── index.html # 前端页面 │ ├── css/ │ │ └── style.css # 样式文件 │ └── js/ │ └── app.js # 前端逻辑 ├── uploads/ # 文件上传目录 ├── .env # 环境变量配置 ├── .env.example # 环境变量示例 ├── package.json # 项目配置 └── README.md # 项目文档 ``` ## 🔧 API 接口 ### 认证接口 - `POST /api/auth/register` - 用户注册 - `POST /api/auth/login` - 用户登录 - `GET /api/auth/me` - 获取当前用户信息 ### 文件接口 - `POST /api/files/upload` - 上传文件 - `GET /api/files/list` - 获取文件列表 - `GET /api/files/:fileId` - 获取文件详情 - `GET /api/files/:fileId/preview` - 预览文件 - `GET /api/files/:fileId/edit` - 编辑文件 - `GET /api/files/:fileId/download` - 下载文件 - `DELETE /api/files/:fileId` - 删除文件 ## 🎯 WPS 开放平台集成 ### 获取 WPS 开放平台凭证 1. 访问 [WPS 开放平台](https://open.wps.cn) 2. 注册并创建应用 3. 获取 `App ID` 和 `App Secret` 4. 将凭证配置到 `.env` 文件中 ### API 文档参考 - [WPS 开放平台文档](https://open.wps.cn/documents/app-integration-dev/guide/start/learn-map.html) - [API 调用指南](https://open.wps.cn/documents/app-integration-dev/guide/start/developer.html) ## 🛠️ 技术栈 ### 后端 - **Node.js** - 运行环境 - **Express** - Web 框架 - **SQLite** - 数据库 - **Multer** - 文件上传 - **JWT** - 身份认证 - **Axios** - HTTP 客户端 ### 前端 - **原生 JavaScript** - 无框架依赖 - **HTML5** - 语义化标签 - **CSS3** - 现代化样式(渐变、动画) - **Fetch API** - 网络请求 ## 📝 开发说明 ### 数据库 项目使用 SQLite 作为数据库,首次启动时会自动创建以下表: - `users` - 用户表 - `documents` - 文档表 - `access_logs` - 访问日志表 ### 文件上传 - 支持的文件格式: `.doc`, `.docx`, `.xls`, `.xlsx`, `.ppt`, `.pptx`, `.pdf`, `.txt`, `.wps`, `.et`, `.dps` - 最大文件大小: 100MB - 文件存储路径: `./uploads/` ### 安全性 - 密码使用 bcrypt 加密存储 - JWT token 有效期为 7 天 - 支持可选的用户认证 - 文件访问权限控制 ## 🎨 UI 特性 - 🌈 渐变色主题 - ✨ 流畅的动画效果 - 🎯 现代化卡片设计 - 📱 完全响应式布局 - 🌙 优雅的模态框 - 🔔 Toast 通知提示 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 ISC License ## 📞 联系方式 如有问题,请通过以下方式联系: - 提交 Issue - 发送邮件 --- **注意**: 本项目需要配置 WPS 开放平台的 API 凭证才能正常使用文档预览功能。请确保已在 WPS 开放平台注册并获取相应的凭证。