diff --git a/goldminer/README.md b/goldminer/README.md index 48520f82..19a9fc3c 100644 --- a/goldminer/README.md +++ b/goldminer/README.md @@ -17,49 +17,88 @@ - **数据库**:MySQL - **部署**:Docker、Nginx -## 快速开始 (Docker) +## Docker部署说明 + +本项目已完全支持Docker部署,只需几个简单的步骤即可运行: ### 环境要求 -- Docker -- Docker Compose + +- Docker 20.10+ +- Docker Compose 2.0+ ### 部署步骤 -1. 克隆仓库 +1. 克隆项目代码: + ```bash -git clone https://github.com/yourusername/goldminer.git +git clone <仓库地址> cd goldminer ``` -2. 启动服务 (Linux/Mac) +2. 创建环境配置文件(可选): + ```bash -chmod +x start.sh -./start.sh -``` +# 复制示例配置 +cp .env.example .env -Windows系统: +# 根据需要编辑配置 +nano .env # 或使用其他编辑器 ``` + +3. 启动服务: + +```bash +# Windows用户 start.bat + +# Linux/Mac用户 +bash start.sh ``` -3. 访问游戏 - - 打开浏览器访问: http://localhost:8080 - - 管理员初始账号: admin - - 管理员初始密码: admin +或者手动启动: -### 环境变量配置 +```bash +# 构建并启动容器 +docker-compose up -d --build +``` + +4. 访问服务: + +- 前端网页:http://localhost:8080 +- 管理员初始账号:admin +- 管理员初始密码:admin + +### 环境变量说明 -系统使用`.env`文件管理环境变量,首次运行会自动创建。主要配置项: +可以通过创建`.env`文件或设置环境变量来自定义配置: -| 变量名 | 描述 | 默认值 | +| 变量名 | 说明 | 默认值 | |--------|------|--------| -| PORT | 前端服务端口 | 8080 | -| DB_HOST | 数据库主机名 | mysql2.sqlpub.com | +| PORT | 网站访问端口 | 8080 | +| FLASK_ENV | Flask环境 | production | +| DB_HOST | 数据库主机 | mysql2.sqlpub.com | | DB_PORT | 数据库端口 | 3307 | | DB_USER | 数据库用户名 | goldminer | | DB_PASSWORD | 数据库密码 | nBAWq9DDwJ14Fugq | -| SECRET_KEY | Flask会话密钥 | dev_key_for_goldminer | -| ADMIN_SETUP_KEY | 管理员初始化密钥 | goldminer_admin_setup_key | +| DB_NAME | 数据库名称 | goldminer | +| SECRET_KEY | 应用密钥 | dev_key_for_goldminer | +| ADMIN_SETUP_KEY | 管理员设置密钥 | goldminer_admin_setup_key | + +### 常见问题排查 + +1. 如果无法访问前端页面,请检查: + - 确认容器是否正常运行:`docker-compose ps` + - 查看前端日志:`docker-compose logs frontend` + - 检查端口是否被占用:`netstat -ano | findstr 8080` + +2. 如果图片资源无法显示: + - 确认项目根目录下是否存在`images`文件夹 + - 确保`images`文件夹中包含必要的图片资源 + - 查看nginx日志:`docker-compose logs frontend` + +3. 如果后端API无法连接: + - 检查后端服务是否正常:`docker-compose logs backend` + - 确认数据库连接信息是否正确 ## 手动开发环境搭建 diff --git a/goldminer/backend/Dockerfile b/goldminer/backend/Dockerfile index 0ec1a640..29596ae0 100644 --- a/goldminer/backend/Dockerfile +++ b/goldminer/backend/Dockerfile @@ -7,6 +7,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ python3-dev \ default-libmysqlclient-dev \ + curl \ && rm -rf /var/lib/apt/lists/* # 复制依赖文件 @@ -15,6 +16,9 @@ COPY requirements.txt . # 安装依赖 RUN pip install --no-cache-dir -r requirements.txt +# 创建日志目录 +RUN mkdir -p /app/logs && chmod 777 /app/logs + # 复制所有后端源码 COPY . . diff --git a/goldminer/docker-compose.yml b/goldminer/docker-compose.yml index 0a124757..3790ded7 100644 --- a/goldminer/docker-compose.yml +++ b/goldminer/docker-compose.yml @@ -37,6 +37,8 @@ services: - backend ports: - "${PORT:-8080}:80" + volumes: + - ./images:/usr/share/nginx/html/images healthcheck: test: ["CMD", "curl", "-f", "http://localhost:80/"] interval: 30s diff --git a/goldminer/frontend/Dockerfile b/goldminer/frontend/Dockerfile index 86e16c14..8fb860c9 100644 --- a/goldminer/frontend/Dockerfile +++ b/goldminer/frontend/Dockerfile @@ -14,6 +14,12 @@ RUN npm ci --quiet # 复制所有前端源码 COPY . . +# 确保images目录存在于public目录中 +RUN if [ ! -d "public/images" ] && [ -d "../images" ]; then \ + mkdir -p public/images && \ + cp -r ../images/* public/images/; \ + fi + # 设置生产环境构建 ENV NODE_ENV=production @@ -26,9 +32,16 @@ RUN ls -la dist || exit 1 # 第二阶段:使用nginx提供静态文件 FROM nginx:stable-alpine AS production-stage +# 安装curl用于健康检查 +RUN apk add --no-cache curl + # 从构建阶段复制构建结果到nginx默认目录 COPY --from=build-stage /app/dist /usr/share/nginx/html +# 创建images目录并确保权限正确 +RUN mkdir -p /usr/share/nginx/html/images && \ + chmod -R 755 /usr/share/nginx/html + # 复制自定义nginx配置 COPY nginx.conf /etc/nginx/conf.d/default.conf diff --git a/goldminer/frontend/nginx.conf b/goldminer/frontend/nginx.conf index e402a6c8..e54036df 100644 --- a/goldminer/frontend/nginx.conf +++ b/goldminer/frontend/nginx.conf @@ -8,6 +8,11 @@ server { add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; + + # 允许跨域访问 + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization' always; root /usr/share/nginx/html; index index.html; @@ -18,6 +23,15 @@ server { add_header Cache-Control "public, max-age=31536000"; access_log off; } + + # 特别处理images目录 + location /images/ { + alias /usr/share/nginx/html/images/; + autoindex off; + expires max; + add_header Cache-Control "public, max-age=31536000"; + try_files $uri $uri/ =404; + } # 静态资源请求直接访问 location / { diff --git a/goldminer/frontend/node_modules/.cache/eslint/68c8e53b.json b/goldminer/frontend/node_modules/.cache/eslint/68c8e53b.json index dbcec336..7e939236 100644 --- a/goldminer/frontend/node_modules/.cache/eslint/68c8e53b.json +++ b/goldminer/frontend/node_modules/.cache/eslint/68c8e53b.json @@ -1,2 +1 @@ -[{"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\main.js":"1","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\router.js":"2","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\App.vue":"3","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue":"4","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue":"5","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue":"6","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue":"7","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue":"8","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue":"9","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue":"10","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue":"11","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\main.js":"12","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\router.js":"13","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\App.vue":"14","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue":"15","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue":"16","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue":"17","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue":"18","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue":"19","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue":"20","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue":"21","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue":"22","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\AdminSetup.vue":"23","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Admin.vue":"24"},{"size":420,"mtime":1750247900833,"results":"25","hashOfConfig":"26"},{"size":1555,"mtime":1750247900833,"results":"27","hashOfConfig":"26"},{"size":1004,"mtime":1750247900829,"results":"28","hashOfConfig":"26"},{"size":4492,"mtime":1750247900833,"results":"29","hashOfConfig":"26"},{"size":3472,"mtime":1750260439376,"results":"30","hashOfConfig":"26"},{"size":11652,"mtime":1750247900833,"results":"31","hashOfConfig":"26"},{"size":16278,"mtime":1750247900831,"results":"32","hashOfConfig":"26"},{"size":30598,"mtime":1750262074470,"results":"33","hashOfConfig":"26"},{"size":5735,"mtime":1750247900831,"results":"34","hashOfConfig":"26"},{"size":13225,"mtime":1750247900832,"results":"35","hashOfConfig":"26"},{"size":4152,"mtime":1750247900831,"results":"36","hashOfConfig":"26"},{"size":1538,"mtime":1750301139782,"results":"37","hashOfConfig":"38"},{"size":2525,"mtime":1750300541798,"results":"39","hashOfConfig":"38"},{"size":1004,"mtime":1750301895820,"results":"40","hashOfConfig":"38"},{"size":5227,"mtime":1750301071246,"results":"41","hashOfConfig":"38"},{"size":5735,"mtime":1750262863709,"results":"42","hashOfConfig":"38"},{"size":11652,"mtime":1750262863710,"results":"43","hashOfConfig":"38"},{"size":4492,"mtime":1750262863710,"results":"44","hashOfConfig":"38"},{"size":31688,"mtime":1750262863709,"results":"45","hashOfConfig":"38"},{"size":16278,"mtime":1750294243326,"results":"46","hashOfConfig":"38"},{"size":13225,"mtime":1750262863709,"results":"47","hashOfConfig":"38"},{"size":4675,"mtime":1750301706418,"results":"48","hashOfConfig":"38"},{"size":4836,"mtime":1750300463821,"results":"49","hashOfConfig":"38"},{"size":23162,"mtime":1750301706418,"results":"50","hashOfConfig":"38"},{"filePath":"51","messages":"52","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"53"},"1bydp2x",{"filePath":"54","messages":"55","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"53"},{"filePath":"56","messages":"57","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"59","messages":"60","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"61","messages":"62","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"63","messages":"64","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"65","messages":"66","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"67","messages":"68","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"69","messages":"70","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"71","messages":"72","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"73","messages":"74","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"75","messages":"76","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},"1s9qeh2",{"filePath":"78","messages":"79","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"80","messages":"81","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"82","messages":"83","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"85","messages":"86","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"87","messages":"88","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"89","messages":"90","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"91","messages":"92","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"93","messages":"94","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"95","messages":"96","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"97","messages":"98","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"99","messages":"100","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"101","messages":"102","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\main.js",[],[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\router.js",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\App.vue",[],[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\main.js",[],[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\router.js",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\App.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue",[],[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\AdminSetup.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Admin.vue",[]] -[{"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\main.js":"1","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\router.js":"2","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\App.vue":"3","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue":"4","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue":"5","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue":"6","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue":"7","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue":"8","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue":"9","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue":"10","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue":"11","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\main.js":"12","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\router.js":"13","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\App.vue":"14","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue":"15","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue":"16","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue":"17","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue":"18","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue":"19","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue":"20","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue":"21","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue":"22","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\AdminSetup.vue":"23","E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Admin.vue":"24"},{"size":420,"mtime":1750247900833,"results":"25","hashOfConfig":"26"},{"size":1555,"mtime":1750247900833,"results":"27","hashOfConfig":"26"},{"size":1004,"mtime":1750247900829,"results":"28","hashOfConfig":"26"},{"size":4492,"mtime":1750247900833,"results":"29","hashOfConfig":"26"},{"size":3472,"mtime":1750260439376,"results":"30","hashOfConfig":"26"},{"size":11652,"mtime":1750247900833,"results":"31","hashOfConfig":"26"},{"size":16278,"mtime":1750247900831,"results":"32","hashOfConfig":"26"},{"size":30598,"mtime":1750262074470,"results":"33","hashOfConfig":"26"},{"size":5735,"mtime":1750247900831,"results":"34","hashOfConfig":"26"},{"size":13225,"mtime":1750247900832,"results":"35","hashOfConfig":"26"},{"size":4152,"mtime":1750247900831,"results":"36","hashOfConfig":"26"},{"size":1538,"mtime":1750301139782,"results":"37","hashOfConfig":"38"},{"size":2525,"mtime":1750300541798,"results":"39","hashOfConfig":"38"},{"size":1004,"mtime":1750301895820,"results":"40","hashOfConfig":"38"},{"size":5105,"mtime":1750317486368,"results":"41","hashOfConfig":"38"},{"size":5735,"mtime":1750262863709,"results":"42","hashOfConfig":"38"},{"size":11652,"mtime":1750262863710,"results":"43","hashOfConfig":"38"},{"size":4492,"mtime":1750262863710,"results":"44","hashOfConfig":"38"},{"size":31688,"mtime":1750262863709,"results":"45","hashOfConfig":"38"},{"size":16278,"mtime":1750294243326,"results":"46","hashOfConfig":"38"},{"size":13225,"mtime":1750262863709,"results":"47","hashOfConfig":"38"},{"size":4675,"mtime":1750301706418,"results":"48","hashOfConfig":"38"},{"size":4836,"mtime":1750302859806,"results":"49","hashOfConfig":"38"},{"size":23162,"mtime":1750301706418,"results":"50","hashOfConfig":"38"},{"filePath":"51","messages":"52","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"53"},"1bydp2x",{"filePath":"54","messages":"55","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"53"},{"filePath":"56","messages":"57","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"59","messages":"60","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"61","messages":"62","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"63","messages":"64","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"65","messages":"66","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"67","messages":"68","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"69","messages":"70","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"71","messages":"72","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"73","messages":"74","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"75","messages":"76","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},"1s9qeh2",{"filePath":"78","messages":"79","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"80","messages":"81","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"83","messages":"84","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"85","messages":"86","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"87","messages":"88","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"89","messages":"90","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"91","messages":"92","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"93","messages":"94","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"95","messages":"96","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"97","messages":"98","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},{"filePath":"99","messages":"100","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"101","messages":"102","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"82"},"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\main.js",[],[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\router.js",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\App.vue",[],[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\main.js",[],[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\router.js",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\App.vue",[],[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\AdminSetup.vue",[],"E:\\学习\\网络应用开发\\GM3\\Goldminer_new\\goldminer\\frontend\\src\\components\\Admin.vue",[]] \ No newline at end of file +[{"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\main.js":"1","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\App.vue":"2","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\router.js":"3","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue":"4","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue":"5","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue":"6","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue":"7","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue":"8","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Admin.vue":"9","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue":"10","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue":"11","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\AdminSetup.vue":"12","E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue":"13"},{"size":1590,"mtime":1750432060388,"results":"14","hashOfConfig":"15"},{"size":1004,"mtime":1750432060386,"results":"16","hashOfConfig":"15"},{"size":2623,"mtime":1750432060388,"results":"17","hashOfConfig":"15"},{"size":53697,"mtime":1750432060387,"results":"18","hashOfConfig":"15"},{"size":5329,"mtime":1750432060387,"results":"19","hashOfConfig":"15"},{"size":4492,"mtime":1750432060388,"results":"20","hashOfConfig":"15"},{"size":13225,"mtime":1750432060387,"results":"21","hashOfConfig":"15"},{"size":11652,"mtime":1750432060388,"results":"22","hashOfConfig":"15"},{"size":19436,"mtime":1750432060386,"results":"23","hashOfConfig":"15"},{"size":16278,"mtime":1750432060387,"results":"24","hashOfConfig":"15"},{"size":5735,"mtime":1750432060387,"results":"25","hashOfConfig":"15"},{"size":4836,"mtime":1750432060387,"results":"26","hashOfConfig":"15"},{"size":4886,"mtime":1750432060387,"results":"27","hashOfConfig":"15"},{"filePath":"28","messages":"29","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1bydp2x",{"filePath":"30","messages":"31","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"32","messages":"33","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"34","messages":"35","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"38","messages":"39","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"40","messages":"41","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"42","messages":"43","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"44","messages":"45","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"46","messages":"47","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"48","messages":"49","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"50","messages":"51","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"52","messages":"53","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\main.js",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\App.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\router.js",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Game.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Login.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Register.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Leaderboard.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\UserProfile.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Admin.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\ChatRoom.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Home.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\AdminSetup.vue",[],"E:\\学习\\网络应用开发\\Goldminer\\Goldminer_new\\goldminer\\frontend\\src\\components\\Header.vue",[]] \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/background.png b/goldminer/frontend/public/assets/game/background.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/background.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/diamond.png b/goldminer/frontend/public/assets/game/diamond.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/diamond.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/gold_large.png b/goldminer/frontend/public/assets/game/gold_large.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/gold_large.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/gold_medium.png b/goldminer/frontend/public/assets/game/gold_medium.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/gold_medium.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/gold_small.png b/goldminer/frontend/public/assets/game/gold_small.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/gold_small.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/ground.png b/goldminer/frontend/public/assets/game/ground.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/ground.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/hook.png b/goldminer/frontend/public/assets/game/hook.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/hook.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/magnetic_hook.png b/goldminer/frontend/public/assets/game/magnetic_hook.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/magnetic_hook.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/magnetic_hook_item.png b/goldminer/frontend/public/assets/game/magnetic_hook_item.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/magnetic_hook_item.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/miner.png b/goldminer/frontend/public/assets/game/miner.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/miner.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/rock.png b/goldminer/frontend/public/assets/game/rock.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/rock.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/assets/game/speed_boost.png b/goldminer/frontend/public/assets/game/speed_boost.png new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/goldminer/frontend/public/assets/game/speed_boost.png @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/goldminer/frontend/public/images/人物.png b/goldminer/frontend/public/images/人物.png new file mode 100644 index 00000000..7c5b4b18 Binary files /dev/null and b/goldminer/frontend/public/images/人物.png differ diff --git a/goldminer/frontend/public/images/土壤.jpg b/goldminer/frontend/public/images/土壤.jpg new file mode 100644 index 00000000..c08c0427 Binary files /dev/null and b/goldminer/frontend/public/images/土壤.jpg differ diff --git a/goldminer/frontend/public/images/戒指.png b/goldminer/frontend/public/images/戒指.png new file mode 100644 index 00000000..ec17374f Binary files /dev/null and b/goldminer/frontend/public/images/戒指.png differ diff --git a/goldminer/frontend/public/images/石头.png b/goldminer/frontend/public/images/石头.png new file mode 100644 index 00000000..477c11d4 Binary files /dev/null and b/goldminer/frontend/public/images/石头.png differ diff --git a/goldminer/frontend/public/images/金元宝.png b/goldminer/frontend/public/images/金元宝.png new file mode 100644 index 00000000..f5eda6c6 Binary files /dev/null and b/goldminer/frontend/public/images/金元宝.png differ diff --git a/goldminer/frontend/public/images/金条.png b/goldminer/frontend/public/images/金条.png new file mode 100644 index 00000000..9d1c2f2a Binary files /dev/null and b/goldminer/frontend/public/images/金条.png differ diff --git a/goldminer/frontend/public/images/钳子.png b/goldminer/frontend/public/images/钳子.png new file mode 100644 index 00000000..9b89ae19 Binary files /dev/null and b/goldminer/frontend/public/images/钳子.png differ diff --git a/goldminer/frontend/public/images/魔法水.png b/goldminer/frontend/public/images/魔法水.png new file mode 100644 index 00000000..3d41d41c Binary files /dev/null and b/goldminer/frontend/public/images/魔法水.png differ diff --git a/goldminer/frontend/src/components/Admin.vue b/goldminer/frontend/src/components/Admin.vue index 96692fa7..cf92b5f5 100644 --- a/goldminer/frontend/src/components/Admin.vue +++ b/goldminer/frontend/src/components/Admin.vue @@ -1,115 +1,3 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -