1 Star 1 Fork 0

lyh/在线五字棋

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

项目介绍

在线五子棋游戏(以后还可能开发三字棋)

设计内容:登录界面,大厅(公告板,公告栏,在线玩家列表,开始游戏),

个人界面(用户头像,修改头像,游戏记录),游戏界面

技术栈:

前端游戏文件:vue3.2(pinia,vue-router(前端路由))

前端游戏管理:vue3.2(pinia,vue-router(前端路由) ,elment-UI)

后台服务端: express mongoDB

文件目录介绍

game --> 主要游戏文件

back --> 后端

gameManage --> 游戏后台管理(开发中)

数据库模型文档

整体库

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/admin');

用户数据模型

//数据库模型
const mongoose = require('mongoose');

const UserType = { //限制类型
    username:String,
    password:String,
    avatar:String//头像
};

const UserModle = mongoose.model('user',new mongoose.Schema(UserType));  //user为数据库集合名,对应users

module.exports = UserModle;

用户游戏数据模型

//数据库模型
const mongoose = require('mongoose');

const UserType = { //限制类型
    id: String,//游戏人我的唯一id
    NFG: Number,//游戏次数
    winTime:Numvber,//获胜次数
    enemyId: String//依次排列 eg  aaaa-bbbb-cccc 为3个与本玩家游戏的id
};

const UserModle = mongoose.model('user', new mongoose.Schema(UserType));  //user为数据库集合名,对应users

module.exports = UserModle;

管理员模型

const mongoose = require('mongoose');

const ManageType = {
    username:String,
    password:String,
};

const ManageModle = mongoose.model('manage',new mongoose.Schema(ManageType));  

module.exports = ManageModle;

公告模型

const mongoose = require('mongoose');


const NewType = { //限制类型
    id:String,//编辑人id
    title:String,
    content:String,
    editTime:String,//编辑时间
};

const UserModle = mongoose.model("news",new mongoose.Schema(NewType));  //user为数据库集合名,对应users

module.exports = UserModle;

路由管理文档

后端统一端口

5000

游戏前端

登录前

/login --> 登录/注册页

登录后

/ ()=> /hall -->大厅

/gameing -->游戏中页面

/home -->个人主页

/* --> 404页面

游戏管理

登录前

/login --> 登录,无法注册(通过管理员在系统内部新建账号)

登录后

/addManager -->添加新的管理员,与激活码配置

/userList --> 用户列表 目的是查看用户数量与用户信息,可以修改用户头像密码

/newsAdd -->添加新的公告

/newsList -->公告栏列表 目的是公告管理与删除

接口文档

前台

1.用户登录接口

POST  http://localhost/game/login     

请求参数

{
	username,
	passworld
}

返回内容

登录成功

{
    code: 1,
}

登录失败

{
    code: -1,
}

2.用户注册接口

激活码注册

POST  http://localhost/game/registered

请求参数

{
     username,
     password,
     activationCode
}

返回内容

{
     code: -1,//激活码错误
}
{
     code: -2,//注册失败
}
{
    code: -3,//用户名重复
}
{
     code: 1,//注册成功
}

3.用户修改头像姓名接口

POST  http://localhost/game/changeInf

请求头

'Content-Type': 'multipart/form-data'

请求参数

{
	username,
	file
}

返回参数

{
     code: -2,//用户名重复
}
{
     code: 1,//修改成功
}

4.获取用户信息接口

GET  http://localhost/game/userInf

返回内容

{
    code: 1,
    userData: result,
    gameData: result2
}

5.获取新闻列表(不携带作者)

GET http://localhost/game/notice

返回内容

{
    code: 1,
    data: result
}

5.用户获胜(已废弃)

放在保存游戏记录一起了

获胜后累计

POST http://localhost/game/winTimeUp

6.保存游戏记录

POST http://localhost/game/gameLog

对方的id+获胜 为json字符串

示例

{
	e:1008611,
	w: 0
},
{
	e:10010,
	w:1
}

7.获取游戏记录

get http://localhost/game/gameLog

后台

1.管理员登录

POST  http://localhost/manage/login

2.管理员注册

POST  http://localhost/manage/register

返回值

{
        code: "1"
}
{
    	code: "-1"
}

3.获取管理员列表

获取全部的已注册管理员

GET  http://localhost/manage/getmanage

返回全部用户

{
    data:result
}

4.根据id删除用户-没有测试

POST  http://localhost/manage/del/user/${_id}

5.新建公告

POST http://localhost/manage/addNews

需要参数

const { title, content } = req.body;

6.获取新闻列表(携带创建者姓名,携带正文)

GET http://localhost/manage/newList

返回内容

{
    code: "1",
    username: username,
    data: result
}

7.获取用户列表

GET  http://localhost/manage/getuser

8.根据id删除管理员

POST http://localhost/manage/del/manage/${data._id}

9.根据id删除新闻

POST http://localhost/manage/del/news/${data._id}

空文件

简介

在线五子棋游戏前后端以及管理系统,express + vue3,通过websocket进行通信 展开 收起
NodeJS 等 5 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
NodeJS
1
https://gitee.com/hyl19/online-five-character-chess.git
git@gitee.com:hyl19/online-five-character-chess.git
hyl19
online-five-character-chess
在线五字棋
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891