# yuntucode **Repository Path**: wwfcyq/yuntucode ## Basic Information - **Project Name**: yuntucode - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-07 - **Last Updated**: 2026-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 西行云途 · 云途档案 H5 游戏 > 国风西行徒步 + 灵宠收集 + 剧情问答 + 千境结局 + 积分兑换 的可部署 H5 游戏。 > 世界观延续现有「布灵西行录」,后端对接 `xixing_yuntu` 数据库。 ## 项目结构 ``` yuntucode/ ├── index.html # 现有前端:主菜单 / 西行徒步 / 布灵图鉴 ├── css/main.css # 前端样式 ├── js/ # 前端模块:game-data / hiking / gallery / router ├── api/ # PHP 后端(部署到 code.oio.net.cn:8082) │ ├── config.php # 数据库配置(改这里连接你的 MySQL) │ ├── install.php # 一键建库建表(首次访问一次) │ ├── index.php # 统一 API 入口 │ └── lib/ │ ├── db.php # PDO 连接 / 档案ID生成 / 响应工具 │ └── service.php # 业务服务层 ├── sql/ │ ├── xixing_yuntu_full.sql # 全量原始 SQL(V1-V110 + Ω 原样保留) │ └── xixing_yuntu_deploy.sql # 可执行部署版(中文表名已转英文,EVENT 已注释) ├── tools/ │ ├── local_verify_server.py # 本地逻辑验证用(不参与部署) │ └── unit_test.py # 业务逻辑单元测试 ├── deploy.sh # 一键部署脚本(服务器侧执行) └── nginx-yuntu.conf # Nginx/宝塔站点配置示例 ``` ## 数据库 数据库名:`xixing_yuntu`,字符集 `utf8mb4`。 | 文件 | 说明 | |------|------| | `sql/xixing_yuntu_full.sql` | 你提供的全量设计(V1-V110 + Ω 系列),**原样保留**,含 90 个升级占位表与终极宇宙架构表 | | `sql/xixing_yuntu_deploy.sql` | 修正后**可直接执行**的版本:
① 将 90 张中文表名(如 `upgrade_11_ai世界模拟`)转为英文别名;
② 依赖备份库 `xixing_yuntu_backup` 的每日备份 EVENT 注释掉,避免建表失败;
所有表结构、字段、示例数据全保留 | > 建议部署用 `xixing_yuntu_deploy.sql`;如需保留原始中文表名手改版本,请自行在 MySQL 开启 `innodb_large_prefix` 等配置(不推荐)。 ## 快速部署到 code.oio.net.cn:8082 > 代码仓库已在 Gitee(`wwfcyq/yuntucode`,分支 `master`)就绪。 > **推荐用 Docker 一键部署**,详见 [DOCKER.md](./DOCKER.md)。 ### 方式零:Docker 部署(最简单,推荐) ```bash cd /www/wwwroot/yuntucode docker compose up -d # 自动拉起 nginx(8082)+php-fpm+mysql,并自动建库建表(204张) ``` > 说明:沙箱构建环境出口 IP(`124.222.92.209`)不在服务器 SSH 白名单内,无法直接 SSH 登录 > (连接被服务器在握手阶段 RST/黑洞)。Docker 部署不需要 SSH,在服务器本地执行即可。 > 若需从本地部署机 SSH,请先将你的出口 IP 加入服务器/宝塔 SSH 白名单。 ### 方式一:服务器侧 pull 一键部署(无 Docker 时) 在 `code.oio.net.cn` 所在服务器执行(站点端口 8082): ```bash # 1. 进入 web 根目录(按宝塔站点实际根目录) cd /www/wwwroot/yuntucode # 若为首次,先克隆(用不含@的 Gitee 密码 wwf447514818): git clone https://wwfcyq:wwf447514818@gitee.com/wwfcyq/yuntucode.git . # 若已存在 .git,直接更新: git pull origin master # 2. 修改数据库连接(DB_HOST/DB_USER/DB_PASS 指向本机 MySQL) vi api/config.php # 3. 一键部署(建库 + 导入 SQL + 权限) bash deploy.sh # 4. 浏览器访问一次初始化向导,完成后删除: # http://code.oio.net.cn:8082/api/install.php # rm /www/wwwroot/yuntucode/api/install.php ``` ### 方式二:宝塔面板手动部署 1. 网站根目录指向 `/www/wwwroot/yuntucode`(已 `git pull` 更新) 2. 新建数据库 `xixing_yuntu`,导入 `sql/xixing_yuntu_deploy.sql` 3. 修改 `api/config.php` 的数据库账号 4. 浏览器访问 `http://code.oio.net.cn:8082/api/install.php` 完成初始化,然后删除该文件 ## 本地预览(无需服务器) 前端是纯静态页,本地起任意静态服务器即可: ```bash # 在 yuntucode 目录 python3 -m http.server 8080 # 浏览器打开 http://localhost:8080 ``` 后端为 PHP,需在支持 PHP + MySQL 的环境运行。若仅看前端玩法(徒步/图鉴/剧情),本地静态服务即可完整体验。 ## API 文档 统一入口:`http://code.oio.net.cn:8082/api/index.php?action=` POST 请求体为 JSON。所有响应格式:`{"code":0,"msg":"ok","data":{...}}`。 | action | 方法 | 参数 | 说明 | |--------|------|------|------| | `archive.create` | POST | `archive_id?` | 创建/获取档案(不传则自动生成 XY_ 开头 ID) | | `archive.get` | GET | `archive_id` | 查询档案 | | `archive.setPet` | POST | `archive_id`,`pet_preference` | 设置灵宠偏好(1-4) | | `hiking.status` | GET | `archive_id` | 徒步进度/打卡记录 | | `hiking.checkin` | POST | `archive_id`,`site_id` | 站点打卡(+10仙途勋值) | | `battle.clear` | POST | `archive_id`,`level_id`,`star?`,`duration?` | 通关战斗(产出仙途/梵言) | | `pk.fight` | POST | `archive_id`,`opponent`,`mode`,`result` | PK对战(1v1/5v5) | | `pet.obtain` | POST | `archive_id`,`pet_id`,`form?` | 灵宠收集 | | `pet.list` | GET | `archive_id` | 灵宠列表 | | `score.log` | GET | `archive_id`,`type?` | 积分明细 | | `exchange.redeem` | POST | `archive_id`,`code` | 兑换码核销 | | `quiz.answer` | POST | `archive_id`,`question_id`,`option_id` | 问答(改变心值/五性) | | `heart.status` | GET | `archive_id` | 心值(善智勇毅悟) | | `qianjing.ending` | GET | `archive_id` | 计算千境结局 | | `rank.xiantu` | GET | `limit?` | 仙途勋值排行榜 | ## 验证 逻辑正确性已通过单元验证(见 `tools/unit_test.py`,10/10 通过): 档案生成、徒步进度、战斗产出、灵宠收集、兑换码核销与防重复、问答心值、千境结局、积分累加、排行榜。 ```bash python3.11 tools/unit_test.py ``` ## 服务器环境说明 - 后端依赖:PHP 7.4+(启用 PDO_MySQL 扩展) - 数据库:MySQL 5.7+ / MariaDB 10+ - 部署地址:`code.oio.net.cn:8082`(与 pans/game 同机,宝塔 PHP 环境) - 参照站:ss.oio.net.cn / sa.oio.net.cn / pans.oio.net.cn / game.oio.net.cn:8081