# xiuxian **Repository Path**: Erick886/xiuxian ## Basic Information - **Project Name**: xiuxian - **Description**: 魂武大陆是一款基于Vue3开发的修仙主题网页游戏。游戏中,玩家将扮演一位踏上修仙之路的修士,通过各种修炼、探索、历练提升自身境界,结交道友,加入宗门,体验修真世界的奇妙旅程。项目开源,有什么问题可以Issues沟通。 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2024-03-18 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 魂武大陆修仙系统 (Xiuxian) ## 项目简介 魂武大陆是一款基于 Vue3 和 Django 开发的修仙主题网页游戏。游戏以中国修仙文化为背景,玩家将扮演一位踏上修仙之路的修士,通过各种修炼、探索、历练提升自身境界,结交道友,加入宗门,体验修真世界的奇妙旅程。 ## 项目架构 该项目采用前后端分离架构,分为两个主要部分: ### 前端(Vue3 + Vite + Element Plus) - 采用现代化的 Vue3 框架和组合式 API - 使用 Pinia 进行状态管理,支持持久化存储 - 实现响应式设计,适配不同设备屏幕 - 采用 Element Plus 组件库和自定义 UI 组件 - 实时通信采用 WebSocket 技术 ### 后端(Django + Channels + MySQL) - 基于 Django 5.1.7 框架开发 RESTful API - 使用 Channels 实现 WebSocket 实时通信 - 采用 MySQL 数据库存储游戏数据 - Redis 用于缓存和消息队列 - Celery 处理异步任务和定时任务 ## 核心功能 ### 玩家系统 - **角色创建与属性系统**:创建自己的修真角色,设置五行属性 - **境界系统**:从凡人到仙人的完整修炼境界体系 - **物品背包系统**:收集、使用、交易各类法宝、丹药、材料等 - **修炼系统**:在线和离线修炼提升角色修为 ### 社交系统 - **传音聊天**:多频道聊天系统,包含天下、宗门、交易、密语等频道 - **宗门系统**:加入或创建宗门,与同门切磋交流 - **宗门建设**:建造和升级宗门设施,提升整体实力 ### 世界探索 - **地图探索**:探索不同的修真世界区域 - **NPC 对话**:与游戏中的 NPC 互动,接受任务,获取信息 - **任务系统**:完成各类任务获取奖励 - **秘境系统**:探索宗门秘境,获取稀有资源 ### 战斗系统 - **怪物系统**:各类妖兽和敌对修士 - **战斗机制**:回合制战斗系统 - **技能系统**:学习和使用各种法术和神通 - **战利品系统**:击败敌人获取修炼资源 ## 技术栈 ### 前端技术 - **框架**:Vue 3 + TypeScript + Vite - **状态管理**:Pinia + 持久化插件 - **UI 组件**:Element Plus - **路由**:Vue Router - **HTTP 请求**:Axios - **实时通信**:WebSocket - **样式**:Tailwind CSS - **图标**:Remix Icon + Iconify ### 后端技术 - **框架**:Django 5.1.7 + Channels 4.2.2 - **数据库**:MySQL (通过 PyMySQL 驱动) - **缓存与消息队列**:Redis - **异步任务**:Celery + django-celery-beat - **WebSocket 支持**:Django Channels - **API 认证**:JWT (PyJWT) - **跨域支持**:django-cors-headers - **异步服务器**:Uvicorn ## 环境要求 ### 前端 - Node.js 16.0.0+ - npm 8.0.0+ 或 pnpm 6.0.0+ ### 后端 - Python 3.10+ - MySQL 8.0+ - Redis 6.0+ ## 安装与运行 ### 前端 ```bash # 进入前端目录 cd frontend # 安装依赖 pnpm install # 开发环境运行 pnpm dev # 生产环境构建 pnpm build ``` ### 后端 ```bash # 进入后端目录 cd backend # 创建虚拟环境 python -m venv .venv # 激活虚拟环境 (Windows) .venv\Scripts\activate # 激活虚拟环境 (Linux/Mac) source .venv/bin/activate # 安装依赖 pip install -r requirements.txt # 配置环境变量 # 创建 .env 文件,参考后端 README.md 中的配置 # 数据库迁移 python manage.py makemigrations python manage.py migrate # 创建超级用户 python manage.py createsuperuser # 运行开发服务器 python manage.py runserver # 启动Celery Worker celery -A xiuxian worker --loglevel=info # 启动Celery Beat (定时任务) celery -A xiuxian beat --loglevel=info ``` ## 项目结构 ### 前端结构 ``` frontend/ ├── src/ │ ├── api/ # API接口调用 │ ├── assets/ # 静态资源 │ ├── components/ # 共用组件 │ ├── router/ # 路由配置 │ ├── store/ # 状态管理 │ ├── types/ # TypeScript类型定义 │ ├── utils/ # 工具函数 │ ├── views/ # 页面视图 │ │ ├── app/ # 游戏主视图 │ │ │ ├── home/ # 主页视图 │ │ │ └── components/ # 游戏组件 │ │ └── console/ # 管理控制台视图 │ └── App.vue # 根组件 ├── public/ # 静态公共资源 ├── index.html # HTML模板 └── package.json # 项目配置 ``` ### 后端结构 ``` backend/ ├── api/ # API接口定义 │ └── v1/ # API版本1 ├── db/ # 数据库模型定义 │ ├── models.py # 数据模型 │ ├── migrations/ # 数据库迁移 │ └── tasks.py # Celery任务 ├── utils/ # 工具函数 ├── ws/ # WebSocket相关 │ └── consumers/ # WebSocket消费者 ├── xiuxian/ # 项目核心配置 │ ├── settings.py # 项目设置 │ ├── urls.py # URL路由配置 │ ├── asgi.py # ASGI配置 │ └── celery.py # Celery配置 ├── uploads/ # 上传文件存储 └── manage.py # Django管理脚本 ``` ## API 文档 API 端点按功能模块组织,主要包括以下几类: - **/api/v1/user/**: 用户账户和角色管理 - **/api/v1/sect/**: 宗门系统 - **/api/v1/inventory/**: 物品和背包管理 - **/api/v1/cultivation/**: 修炼系统 - **/api/v1/npc/**: NPC 交互 - **/api/v1/quest/**: 任务系统 - **/api/v1/monster/**: 怪物系统 - **/api/v1/battle/**: 战斗系统 - **/api/v1/map/**: 地图系统 - **/api/v1/console/**: 管理控制台 - **/api/v1/chat/**: 聊天系统 ## WebSocket 端点 - **/ws/xiuxian/status/**: 用户状态更新 - **/ws/xiuxian/global/**: 全局消息通道 ## 部署指南 ### 使用 Uvicorn 和 Gunicorn 部署后端 ```bash gunicorn xiuxian.asgi:application -k uvicorn.workers.UvicornWorker -w 4 -b 0.0.0.0:8000 ``` ### 使用 Nginx 部署前端 配置 Nginx 将前端静态文件和后端 API 请求分别代理到对应服务。 ## 项目演示 演示站:https://ag.zenly.ink 演示站后台:https://ag.zenly.ink/#/console/login **最好在手机上游玩,有条件的可以网址打包成app游玩** 游戏前台(游戏数据后台可以自定义,开放你的想象吧!) 1. 地图 ![image-20250520111211318](assets/image-20250520111211318.png) 2. 任务对话 ![image-20250520111337010](assets/image-20250520111337010.png) 3. 接取任务 ![image-20250520111408263](assets/image-20250520111408263.png) 4. 任务追踪 ![image-20250520111438045](assets/image-20250520111438045.png) 5. 地图选择 ![image-20250520111500608](assets/image-20250520111500608.png) 6. 背包系统 ![image-20250520111619056](assets/image-20250520111619056.png) 7. 传音系统 ![image-20250520111649282](assets/image-20250520111649282.png) 8. 宗门系统 ![image-20250520112738945](assets/image-20250520112738945.png) 9. 状态系统 ![image-20250520112815623](assets/image-20250520112815623.png) ![image-20250520112836480](assets/image-20250520112836480.png) 11. 本项目最大的特点就是数据可以自定义,腐竹可以自定义任务,NPC,物品等等。 ![image-20250520112939304](assets/image-20250520112939304.png) ![image-20250520112950940](assets/image-20250520112950940.png) ![image-20250520113007750](assets/image-20250520113007750.png) ![image-20250520113021940](assets/image-20250520113021940.png) ![image-20250520113038312](assets/image-20250520113038312.png) ![image-20250520113102189](assets/image-20250520113102189.png) ![image-20250520113117138](assets/image-20250520113117138.png) 系统设置和控制台首页暂未完善。 ## 贡献指南 欢迎为魂武大陆修仙系统做出贡献!请遵循以下步骤: 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m '添加了某某特性'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 提交 Pull Request ## 版权信息 © 2024 魂武大陆修仙系统,保留所有权利。本项目仅供学习和参考,不得用于商业用途。