# web2app **Repository Path**: baymaxai_admin/web2app ## Basic Information - **Project Name**: web2app - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-22 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UniApp Web2App 动态配置系统 ## 🎯 项目简介 将 UniApp 应用的 Web URL 配置改为动态可配置,支持通过后台管理系统实时修改,无需重新编译应用。 ### 核心功能 ✅ **域名池管理** - 支持多个 URL 配置和负载均衡 ✅ **4种轮询策略** - Round Robin / Weighted / Random / Hash ✅ **动态配置** - 无需重新编译即可修改配置 ✅ **后台管理** - 专业的黑白灰工业风管理界面 ✅ **用户权限** - JWT 认证和角色管理 ✅ **访问统计** - 实时统计每个 URL 的访问量 --- ## 📦 项目结构 ``` web2app/ ├── uniapp/ # UniApp 应用 │ ├── pages/ # 页面 │ ├── static/ # 静态资源 │ │ └── js/ │ │ └── lsktl.js # 核心工具库 (含动态配置) │ └── manifest.json # 应用配置 │ ├── server/ # 配置服务器 │ ├── server-v2.js # 服务器主程序 (负载均衡版) │ ├── config.json # 配置文件 │ ├── users.json # 用户数据 │ └── package.json # 依赖配置 │ ├── backend/ # 后台管理系统 │ ├── login.html # 登录页面 │ ├── dashboard.html # 控制台 │ ├── urls.html # 域名池管理 │ ├── users.html # 用户管理 │ └── assets/ # 公共资源 │ ├── common.css # 公共样式 │ └── common.js # 公共脚本 │ └── doc/ # 文档 ├── 域名轮询配置说明.md ├── 后台管理系统使用说明.md └── 系统简化说明.md ``` --- ## 🚀 快速开始 ### 1. 启动配置服务器 ```bash cd server npm install node server-v2.js ``` 服务器将在 `http://localhost:3000` 启动 ### 2. 配置 UniApp 修改 `uniapp/static/js/lsktl.js`: ```javascript configServerUrl: "http://192.168.10.104:3000" // 改为实际服务器地址 ``` ### 3. 配置后台管理 修改 `backend/assets/common.js`: ```javascript const API_BASE = 'http://192.168.10.104:3000'; // 改为实际服务器地址 ``` ### 4. 访问后台管理 打开 `backend/login.html`,使用默认账号登录: - 用户名: `admin` - 密码: `admin123` --- ## 🌐 域名池管理 ### 支持的轮询策略 | 策略 | 说明 | 适用场景 | |------|------|----------| | **Round Robin** | 平均轮询 | 服务器性能相同 | | **Weighted** | 权重轮询 | 服务器性能不同 | | **Random** | 随机选择 | 简单负载均衡 | | **Hash** | 哈希分配 | 会话保持 | ### 使用步骤 1. 登录后台管理系统 2. 进入 "域名池管理" 3. 添加 URL (设置名称、地址、权重) 4. 选择轮询策略 5. 启用负载均衡 6. UniApp 下次启动时自动获取新配置 --- ## 📊 配置说明 ### config.json 配置文件 ```json { "webhost": "http://qm.lr12.com", "webviewUrl": "https://mall.yishanglv.cn/...", "addon_name": "qm", "version": 1, "loadBalancing": { "enabled": true, "strategy": "round-robin", "urls": [ { "id": 1, "name": "商城A", "url": "https://mall-a.com", "weight": 5, "enabled": true } ] } } ``` ### 配置项说明 | 配置项 | 说明 | 示例 | |--------|------|------| | `webhost` | 后端 API 服务器地址 | `http://qm.lr12.com` | | `webviewUrl` | WebView 加载的 URL | `https://mall.com/...` | | `addon_name` | 插件名称 | `qm` | | `loadBalancing.enabled` | 是否启用负载均衡 | `true` / `false` | | `loadBalancing.strategy` | 轮询策略 | `round-robin` / `weighted` / `random` / `hash` | --- ## 🔧 API 接口 ### 公开接口 - `GET /api/config` - 获取配置 (支持负载均衡) - `GET /health` - 健康检查 ### 认证接口 - `POST /api/auth/login` - 登录 - `POST /api/auth/logout` - 登出 - `GET /api/auth/me` - 获取当前用户 ### 管理接口 (需要管理员权限) - `GET /api/admin/load-balancing` - 获取负载均衡配置 - `POST /api/admin/load-balancing/strategy` - 更新轮询策略 - `POST /api/admin/urls` - 添加 URL - `PUT /api/admin/urls/:id` - 更新 URL - `DELETE /api/admin/urls/:id` - 删除 URL - `GET /api/admin/users` - 获取用户列表 --- ## 🎨 后台管理系统 ### 功能模块 1. **控制台** - 域名池统计和系统概览 2. **域名池管理** - 添加/编辑/删除 URL,切换策略 3. **用户管理** - 查看用户列表和权限 ### 设计风格 - 黑白灰工业风 - 响应式布局 - 现代化 UI --- ## 🔐 安全配置 ### 修改管理员密码 使用密码生成工具: ```bash cd server node generate-password.js ``` 然后将生成的哈希值更新到 `server/users.json` ### 环境变量 ```bash # 设置 JWT 密钥 export JWT_SECRET=your-secret-key # 设置服务器端口 export PORT=3000 ``` --- ## 📱 UniApp 集成 ### 应用启动流程 ``` 1. 应用启动 ↓ 2. lsktl.init() 自动调用 ↓ 3. loadConfig() 请求配置 ↓ 4. 从缓存加载配置 (快速启动) ↓ 5. 从服务器获取最新配置 ↓ 6. 比较版本号,如有更新则应用新配置 ↓ 7. 使用配置初始化应用 ``` ### 配置使用 ```javascript // 获取 WebView URL var webviewUrl = lsktl.webviewUrl; // 获取 API URL var apiUrl = lsktl.apiurl; // 获取资源 URL var resUrl = lsktl.resurl; ``` --- ## 📚 文档 - [域名轮询配置说明](doc/域名轮询配置说明.md) - [后台管理系统使用说明](doc/后台管理系统使用说明.md) - [系统简化说明](doc/系统简化说明.md) --- ## 🛠️ 技术栈 ### 前端 - UniApp - Vue.js - HTML5 / CSS3 / JavaScript ### 后端 - Node.js - Express.js - JWT 认证 - bcryptjs 密码加密 ### 数据存储 - JSON 文件存储 --- ## 📝 更新日志 ### v2.0 (2025-10-22) - ✅ 添加域名池管理功能 - ✅ 支持 4 种负载均衡策略 - ✅ 升级后台管理系统 (JWT 认证) - ✅ 添加访问统计功能 - ✅ 移除配置管理页面,简化系统 ### v1.0 (2025-10-21) - ✅ 基础动态配置功能 - ✅ 简单的后台管理界面 - ✅ 配置缓存机制 --- ## 👥 作者 白bayai (qq1795555655@163.com) --- ## 📄 许可证 MIT License --- ## 🙏 致谢 感谢所有为这个项目做出贡献的开发者!