PC-20230316NUNE\Administrator 391ce959cb 提交上阵
2023-11-15 18:38:00 +08:00

78 lines
2.7 KiB
TypeScript

import { app } from "../App";
import { GUI } from "../ui/UIConfig";
const RData = (data:any,isTips:boolean = true) => {
if(data.data.state == 200){
return data.data.data;
}else{
//弹出提示
if(isTips){
app.layer.Open(GUI.Tips,{text:data.data.msg});
}
return data.data.data;
}
}
/************** 请求类 *******************/
export interface NewsContext{
state:number,
msg:string,
data:any,
}
//玩家登录返回
export interface UserLoginVO{
token:string, //token
user:UserVO, //玩家信息
}
/************** 实体类 **************************/
//玩家信息
export interface UserVO{
userId:number, //玩家Id
userName:string, //玩家名称
userPass:string, //玩家密码
}
//游戏玩家信息
export interface PlayerInfoOV{
playerId:number, //玩家Id
userId: number, //用户Id
playerName:string, //玩家名
playerCreateTime:number, //玩家创建时间
novice: false, //是否过引导
}
//玩家宠物信息
export interface PlayerPetOV{
petId:number, //宠物唯一Id
petPlayerId:number; //宠物的玩家Id
petTbId:number; //宠物配置表Id
petGrade:number; //宠物等级
}
//玩家阵法信息
export interface PlayerTacticalOV{
playerId:number, //玩家Id
tacticalData:string, //阵法数据
}
export const API = {
UserRegister : async () => RData(await app.api.post(`/user/register`)) as UserVO, //玩家注册
UserLogin : async (account:string,password:string) => RData(await app.api.post(`/user/login`,{userId:account,userPass:password})) as UserLoginVO, //玩家登录
GetPlayerInfo : async () => RData(await app.api.get(`/game/player/info`),false) as PlayerInfoOV, //获取玩家信息
/********** 新手引导接口 *****************/
SavePlayerInfo : async (playerName:string,novice:boolean = true) => (await app.api.post(`/game/player/info/save`,{playerName,novice})).data as NewsContext, //保存玩家信息
SelectNovicePet: async (petId:number) => RData(await app.api.post(`/game/novice/select/${petId}`),true), //选择新手引导宠物
/********** 宠物接口 ******************/
GetPlayerPets: async () => RData(await app.api.get(`/game/pet/list`),false) as PlayerPetOV[], //获取玩家全部宠物
/********** 阵法接口 ******************/
GetPlayerTactical: async () => RData(await app.api.get(`/game/tactical/get`),false) as PlayerTacticalOV, //获取玩家阵法
SetPlayerTactical: async (data:PlayerTacticalOV) => RData(await app.api.post(`/game/tactical/set`,data),false) as PlayerTacticalOV, //更新玩家阵法
}