@iamzealotwang
2023-02-21T10:07:37.000000Z
字数 2885
阅读 361
public class WorkShopModMeta{public string UUID; //唯一ID 全局不重复public int Type; //区分Mod类型 1:地图 2:脚本 3:模型...etcpublic string UserID // KeyForGet AvartaImg,Name?public string Title;public string Desc;public string CDN_FileKey_RawMod; //相应文件的Key. URL地址最终前端拼接.方便更换CDNpublic string CDN_FileKey_PreviewImg;public int Version; //Increass by server sidepublic int ReviewStatus; // 0 NotStart(Default) 1 During 2 Reject 3 Approvepublic string RejectMsg; //审核不通过的理由public string SecretKey; //加密Key !! 抓Rank时候不能带回来public string Custom; //游戏内特定逻辑.比如标记当前地图适用的人数(单人,1-4人联机等) 用JSON?}public class WorkShopModExtData{public string UUID; //Mod的唯一ID 表关联public int LikeNum;public int DownloadNum;public int HotScore;public Date LastUpdateTime; //最后一次更新时间//All Custom Data Increase By API Call, Game Specificpublic int[] Custom;}
//Data Type区分文件类型是不是图片,CDN对图片有压缩void Common_UploadFileToCDN(byte[] _data,int _dataType);
void Common_BatchGetModInfo(string[] _modUUIDList);void Result(List<WorkShopModMeta> _modMetaList,List<WorkShopModExtData> _modExtDataList);
void Mod_GetAllUUIDList(string _userID);void Result(string[] _allModUUIDList);
先通过 API上传文件到CDN?
//Data Type区分文件类型是不是图片,CDN对图片有压缩void Common_UploadFileToCDN(byte[] _data,int _dataType);
再发送给后端
void Mod_Create(string _userID,int _modType,string _title,string _desc,string _modFileKey,string _preivewImgKey,string _custom,string _secretKey);void Mod_Update(string _userID,string _modUUID,string _title=null,string _desc=null,string _modFileKey=null,string _previewImgKey=null,string _custom=null,string _secretKey=null);
void Mod_Delete(string _userID, string _modUUID);
void User_GetRankList(int _rankType);return Result(string[] _allModUUIDList);
public class UserModSocialInfo(){public string[] likedModList; //所有喜欢过的Mod UUID... //后续有扩展再添加}void User_GetSocialInfo(string _userID);return Result(UserModSocialInfo _result);
void User_LikeMod(string _userID ,string _modUUID);
void User_DownloadMod(string _userID, string _modUUID);
void User_IncreaseCustomValue(string _userID,string _modUUID,int _customValueIndex,int _increaseValue);
User_IncreaseCustomValue 接口. 定义一个ID作为 举报统计进去Play以后如果确定有问题,在后台进行下架处理
Logic需要UUID对用户友好, 用ShotUUID ?
void Custom_GetModSecretKey(string _userID, string _modUUID);return Result(string _key)
void Custom_GetModSecretKey(string _userID,string _loginKey, string _modUUID);return Result(string _key)