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, //更新玩家阵法 }