package templates; import definitions.annotations.*; import definitions.types.*; /** * 接口配置 */ @SuppressWarnings("unused") class TemplateV1 { public static class Enums { @AsBO @StringEnum enum IMMessageType { // 文本消息 TIMTextElem, // 地理位置消息 TIMLocationElem, // 表情消息 TIMFaceElem, // 自定义消息,当接收方为 iOS 系统且应用处在后台时,此消息类型可携带除文本以外的字段到 APNs。一条组合消息中只能包含一个 TIMCustomElem // 自定义消息元素 TIMCustomElem, // 语音消息。(服务端集成 Rest API 不支持发送该类消息) TIMSoundElem, // 图像消息。(服务端集成 Rest API 不支持发送该类消息) TIMImageElem, // 文件消息。(服务端集成 Rest API 不支持发送该类消息) TIMFileElem, // 视频消息。(服务端集成 Rest API 不支持发送该类消息) TIMVideoFileElem, } @AsBO enum FriendInvitationType { // 打招呼 HELLO, // 爆照(已废除) PHOTO, // 心动问答 ASKING, // 唱歌 SINGING, // 走心一画 DRAWING, } enum ChangePartner2NewType { /** 放弃 */ TOLOW, /** 救活 */ TONEW, } /** * 性别 */ enum Gender { /** 未知 */ UNKONWN, /** 男 */ MALE, /** 女 */ FEMALE, } enum PartnerThumb { /** 不喜欢 */ UNLIKE, /** 喜欢 */ LIKE, } /** * 提醒ta完善信息通知type */ enum RemindNoticeType { /** * 未定义 */ UNKONWN, /** * 信息流提醒 */ FLOW, /** * 我心动的 */ MYLIKE, /** * 心动我的 */ LIKEME } } public class Models { class ChangePartner2New { /** 卡片id */ int partnerId; Enums.ChangePartner2NewType toType; } class Page { /** 总数 */ int total; /** 页码 */ int page; /** 页距 */ int limit; } class GoodNightUser { // 获得的赞数 int getLike; /** 创建时间 */ int createdAt; } class AdminPartner { /** 卡片id */ Integer id; /** uid */ Integer uid; /** 照片地址 */ @Optional String photo_src; @Optional String photo_1; @Optional String photo_2; @Optional String photo_3; @Optional String photo_4; } class Supvip { int supvipEndat; } class Banner { int isPraises; float charm; int count; int black; } class Black { @Optional String msy; @Optional String fpdx; @Optional String black; @Optional String chat; @Optional String night; @Optional String home; @Optional String account; } class FpdxProfile { // 用户标识 int uid; // 性别 Enums.Gender sex; // x性取向 Enums.Gender sxo; // 首页滑动卡片的性别 Enums.Gender feedSex; // 头像 String headimgurl; // 昵称 String nickname; // 金花数量 float goldFlower; // 红花数量 float redFlower; // 抽卡数量 int ckCount; // 任务完成情况 String task; // 身高 int height; // 年龄 String age; // 家乡 String home; // 地址 String address; // 交友卡片id int partnerId; @Optional String expect; String introduce; String phone; String school; String subject; String limit; int lastSign; String updatedAt; String createdAt; int signCon; int hiding; String star; String tag_1; String tag_2; String tag_3; String tag_4; int subscribeAt; String fpdxLike; String kfAccount; int rollback; String qq; String weixin; String education; int loginAt; @Optional String voice; int pairMinAge; int pairMaxAge; int pairProvince; int pairAll; String photoSrc; @Optional String photo_1; @Optional String photo_2; @Optional String photo_3; @Optional String photo_4; String fullUrlPhotoSrc; @Optional String fullUrlPhoto1; @Optional String fullUrlPhoto2; @Optional String fullUrlPhoto3; @Optional String fullUrlPhoto4; @Optional String lastLife; @Optional String why; @Optional String pairVoice; int jigsawAmount; @Optional String wxkf; @Optional String sign; boolean isAutoExpand; boolean onlyLast; float lng; float lat; String location; int feedDis; String identityAuth; int wxAuth; String workState; String claimTag; int lastLikemeLockAt; int beVipAt; int supvipEndat; boolean taskPhoto; boolean taskQuestion; boolean taskSing; boolean taskQuestionData; int logoffAt; int appLikeUnlockCount; String loginAppPlatform; int feedCnt; int feedLike; @Optional Integer bgcolor; } class ProfileUser { // 用户id int uid; // 性别 @Optional Enums.Gender sex; // 性取向 @Optional Enums.Gender sxo; // 首页筛选性别 @Optional Enums.Gender feed_sex; // 头像 @Optional String headimgurl; // 昵称 @Optional String nickname; // 金花 @Optional float gold_flower; // 红花 @Optional float red_flower; // -- @Optional int ck_count; // 任务完成情况 String task; // 身高 @Optional int height; // 出生年-月-日 @Optional String age; // 家乡 @Optional String home; // 地址 @Optional String address; // 卡片id @Optional int partner_id; // 期望 @Optional String expect; // 个人介绍 @Optional String introduce; // 手机号 @Optional String phone; // 学校 @Optional String school; // todo 专业 @Optional String subject; // todo @Optional String limit; // todo @Optional int last_sign; // todo @Optional int updated_at; // 创建时间 @Optional String created_at; // 签到硬币 @Optional int sign_con; // 屏蔽 @Optional int hiding; // 星座 @Optional String star; // 标签1 @Optional String tag_1; // 标签2 @Optional String tag_2; // 标签3 @Optional String tag_3; // 标签4 @Optional String tag_4; // 关注公众号领取小花的时间 @Optional int subscribe_at; // todo @Optional String fpdx_like; // todo @Optional String kf_account; // todo @Optional int rollback; // qq @Optional String qq; // 微信 @Optional String weixin; // todo @Optional String education; // 登录时间 @Optional int login_at; // 语音 @Optional String voice; // 照片 @Optional String photo_src; // 照片 @Optional String photo_1; // 照片 @Optional String photo_2; // 照片 @Optional String photo_3; // 照片 @Optional String photo_4; // 照片 @Optional String full_url_photo_src; // 照片 @Optional String full_url_photo; // 照片 @Optional String full_url_photo1; // 照片 @Optional String full_url_photo2; // 照片 @Optional String full_url_photo3; // 照片 @Optional String full_url_photo4; // todo @Optional int pair_min_age; // todo @Optional int pair_max_age; // todo @Optional int pair_province; // todo @Optional int pair_all; // 最近生活状态 @Optional String last_life; // todo @Optional String why; // todo @Optional String pair_voice; // -- @Optional int jigsaw_amount; // -- @Optional String wxkf; // -- @Optional String sign; // todo @Optional int is_auto_expand; // todo @Optional int feed_dis; // todo @Optional int only_last; // 经度 @Optional float lng; // 纬度 @Optional float lat; // 定位 @Optional String location; // 照片认证 @Optional String identity_auth; // 微信认证 @Optional int wx_auth; // -- @Optional String work_state; // -- @Optional String claim_tag; // -- @Optional int last_likeme_lock_at; // -- @Optional int app_like_unlock_count; // 成为普通会员时间 @Optional int be_vip_at; // 超级会员到期时间 @Optional int supvip_endat; // 注销时间 @Optional int logoff_at; // -- @Optional boolean task_photo; // -- @Optional boolean task_question; // -- @Optional boolean task_sing; // -- @Optional boolean task_question_data; // 登录平台 @Optional String login_app_platform; // 滑卡片次数 int feed_cnt; // 滑卡片喜欢次数 int feed_like; // 背景颜色 @Optional int bgcolor; // im-account @Optional String im_account; // im-sig @Optional String im_sig; // 绑定分配对象服务号 @Optional int bind_fpdxfwh; // -- @Optional int lock_card; // -- @Optional int app_sign_at; // -- @Optional int course; // -- @Optional String avatar; // -- @Optional String birthday; // -- @Optional Json supvip; // -- @Optional Json black; // -- @Optional Json banner; // -- @Optional Json tags; } class ProfileUserSupvip { @Optional int supvip_endat; @Optional int supvip_days; @Optional int locklikeme_cnt; } class TimMessage { String fromAccount; String toAccount; int msgRandom; int msgTimeStamp; @DBField("seq") int msgSeq; Json content; } } class Controllers { /** * 用户信息相关 */ class User { // 用户信息 @Methods({ MethodType.GET }) class Profile { @Request @Optional String model; @Response Models.ProfileUser result; } /** * 原/api/msy/user&model=fpdx */ @Methods({ MethodType.GET }) class GetFpdxProfile { @Response Models.FpdxProfile user; @Response @Optional Models.Supvip supvip; @Response boolean bindFpdxfwh; @Response boolean lockCard; @Response Models.Banner banner; @Response Models.Black black; @Response int appSignAt; @Response int course; @Response Json tags; } /** * 更新用户信息 * * 这里参数和原来保持一致,只是文档中不会写 */ class UpdateProfile { @Response Json result; } /** * 切换个人标签 */ class ToggleTag { @Request int tagId; @Request int group; } /** * 创建个人交友卡片 */ class StoreSelfPartner { @Request @Optional String mediaId; @Response Json result; } /** * 获取问题列表 */ @Methods({ MethodType.GET }) class getQuestionList { @Response Json result; } /** * 获取问题详情 */ @Methods({ MethodType.GET }) class getQuestionInfo { @Request Integer questionId; @Response Json result; } /** * 获取我回答的问题 */ @Methods({ MethodType.GET }) class getQuestionAnswerList { @Request @Optional Integer uid; @Response Json result; } /** * 回答个人问题 * * 除了questionId,其他参数保持原来规则 */ @Methods({ MethodType.POST }) class CreateAnswer { @Request Integer questionId; @Request String content; @Response Json result; } /** * 删除照片 */ class DeletePhotos { @Request String field; } /** * 切换封面图 */ class SelectCover { @Request String field; } } /** * 卡片相关 */ class Partner { /** * 获取卡片用户信息 */ class GetPartnerUser { @Request @Optional /** 通过卡片搜索的卡片id */ Integer partnerId; @Request @Optional /** 通过用户搜索的uid */ Integer uid; @Response Json result; } /** * 点赞卡片 */ class ThumbPartner { /** 卡片id */ @Request int partnerId; /** 点赞与否 */ @Request Enums.PartnerThumb thumb; @Response Json result; } /** * 设置(开/关)隐藏卡片 */ @Methods({ MethodType.POST }) class setPartnerSell { @Request Integer partner_id; @Request Boolean is_sell; } /** * 超级会员解锁 App解锁 解锁喜欢我的卡片 */ class LockLikeMe { @Request int partnerId; @Request @Optional String origin; } } /** * 签到相关接口 */ class SignIn { /** * 今日签到情况 */ @Methods({ MethodType.GET }) class today { @Response Json result; } /** * 签到 */ @Methods({ MethodType.POST }) class Sign { @Response Json result; } /** * 领取小花奖励 */ @Methods({ MethodType.POST }) class rewardFlower { @Response Json result; } /** * 领取人气值奖励 */ @Methods({ MethodType.POST }) class rewardPopularity { @Response Json result; } /** * 领取解锁次数 */ @Methods({ MethodType.POST }) class rewardUnLookCard { @Response Json result; } /** * 领取超级会员满减券 */ @Methods({ MethodType.POST }) class rewardSupVipCoupon { @Response Json result; } /** * 领取72小时报名打折券 */ @Methods({ MethodType.POST }) class reward72DiscountCoupon { @Response Json result; } /** * 领取72小时报名入场券 */ @Methods({ MethodType.POST }) class reward72PairCoupon { @Response Json result; } } /** * 好友列表相关 */ class Friend { /** * 申请列表 */ @Methods({ MethodType.GET }) class GetApplyAllList { @Request @Optional int page; @Response Json result; } /** * 发出申请 列表 */ @Methods({ MethodType.GET }) class GetApplySendList { @Request @Optional int page; @Response Json result; } /** * 收到的申请 列表 */ @Methods({ MethodType.GET }) class GetApplyReceiveList { @Request @Optional int page; @Response Json result; } /** * 好友列表 */ @Methods({ MethodType.GET }) class GetAllList { @Request @Optional int page; @Response Json result; } /** * 心动好友 列表 */ @Methods({ MethodType.GET }) class GetEachLikeList { @Request @Optional int page; @Response Json result; } /** * 星标好友 列表 */ @Methods({ MethodType.GET }) class GetStarList { @Request @Optional int page; @Response Json result; } /** * 好友交互历史|判断是否解锁 */ @Methods({ MethodType.GET }) class GetChatHistory { @Request @Optional int page; @Request int friendUid; @Response Json result; } /** * 好友列表未读概览 */ @Methods({ MethodType.GET }) class GetUnreadCount { @Response Json result; } /** * 同意好友申请 */ public class AgreeApply { /** * 被同意的用户id */ @Request int applyUid; } } class DeedFriend { /** * 删除好友 */ class HideFriend { @Request int friendUid; } /** * 星标好友 */ class StarFriend { @Request int friendUid; } } class Payment { /** * 卡券列表 */ @Methods({ MethodType.GET }) class GetCouponList { @Request @Optional String type; @Request @Optional String goodsScope; @Request @Optional int perPage; @Response Json result; } /** * 获取卡券信息 */ @Methods({ MethodType.GET }) class GetCouponDetail { @Request int couponId; @Request @Optional int goodsId; @Response Json result; } /** * 获取微信支付参数 */ class FetchAppWechatPayParams { @Request int orderId; @Response Json result; } } /** * 72小时相关 */ class Pair { /** * 获取当前活动信息 */ @Methods({ MethodType.GET }) class ActivityLast { @Request @Optional int activityType; @Response Json result; } /** * 获取我最后一次报名的数据 */ @Methods({ MethodType.GET }) class ActivityRecent { @Response Json result; } /** * 通过期数获取匹配信息 */ @Methods({ MethodType.GET }) class ActivityInfo { @Request int stageId; @Response Json result; } /** * 获取当前正在进行的活动 */ @Methods({ MethodType.GET }) class GetActivityConductStageId { @Response Json result; } /** * 最近报名的列表 */ @Methods({ MethodType.GET }) class Lastenroll { @Response Json result; } /** * 获取匹配列表 */ @Methods({ MethodType.GET }) class GetActivityList { @Response Json result; } /** * 获取所有标签 */ @Methods({ MethodType.GET }) class GetAllTags { @Response Json result; } /** * 免费报名 */ @Methods({ MethodType.POST }) class EnrollFree { @Request @Optional Integer stageId; @Request @Optional String mediaId; @Request Integer state; @Request Integer score; @Request @Optional String activityType; @Request @Optional String allowPhoto; @Response Json result; } /** * 付费报名 */ @Methods({ MethodType.POST }) class EnrollPro { /** * 优惠券ID */ @Request @Optional Integer couponId; @Request @Optional Integer stageId; @Request @Optional String mediaId; @Request Integer totalFee; @Request Integer state; @Request Integer addScore; @Request @Optional String activityType; @Request @Optional String allowPhoto; @Response Json result; } /** * 报名下一期 */ @Methods({ MethodType.POST }) class EnrollNext { @Request Integer lastStageId; @Request @Optional Integer allowPhoto; @Response Json result; } /** * 退款 */ @Methods({ MethodType.GET }) class refund { @Request Integer pairId; @Response Json result; } /** * 通过小花提升72小时匹配成功率 */ @Methods({ MethodType.POST }) class addScoreByFlower { @Request Integer pairId; @Request Integer redFlower; @Request Integer goldFlower; @Response Json result; } /** * 确认CP关系 */ @Methods({ MethodType.PUT }) class confirmCp { @Request Integer pairId; @Request Integer confirm; @Response Json result; } /** * 反悔CP关系 */ @Methods({ MethodType.PUT }) class regrets { @Request Integer pairId; @Response Json result; } /** * 操作日志 */ @Methods({ MethodType.POST }) class operationalLog { @Request Integer stageId; @Request String type; @Request String content; @Response Json result; } /** * 确认落单 */ @Methods({ MethodType.POST }) class confirmBeAlone { @Request Integer stageId; @Response Json result; } /** * 获取保持关系的房间 */ @Methods({ MethodType.GET }) class GetKeepRoom { @Response Json result; } /** * 保持cp关系 */ @Methods({ MethodType.POST }) class KeepCp { @Request Integer roomId; @Response Json result; } /** * 移除cp关系 */ @Methods({ MethodType.DELETE }) class RemoveKeepCp { @Request Integer roomId; @Response Json result; } /** * 获取脱单群 */ @Methods({ MethodType.GET }) class GetAloneGroup { /** * 期数 */ @Request @Optional Integer stageId; /** * 获取类型(72h|qbj)【默认:72h】 */ @Request @Optional String activityType; @Response Json result; } } class Invite { /** * 获取最近的邀请列表 */ @Methods({ MethodType.GET }) class LastInvite { @Response Json result; } } class Share { /** * 获取匹配分享记录 */ class PairGet { @Request int listId; @Response Json result; } /** * 通过vip提升成功率 / 获取我邀请人的列表 */ class PairVipCheck { @Request int inviteId; @Response Json result; } /** * 获取解锁进度详情 详情-喜欢我的解锁 */ class LikeMe { @Request int praiseId; @Response Json result; } /** * 会员专属加成 助力-喜欢我的解锁分享 */ class LikeMeCheck { @Request int praiseId; @Response Json result; } /** * 助力历史接口 */ class LikeMeHistory { @Request int praiseId; @Response Json result; } } class Banner { /** * 获取某位置广告列表 */ class PositionList { @Request String position; @Response Json result; } } /** * 辅助接口 */ class Common { /** * 人脸识别 */ class FaceDetect { @Request String image; @Response Json result; } } /** * 高德地图接口 掉用量限制:https://lbs.amap.com/api/webservice/guide/tools/flowlevel * 高德错误码:https://lbs.amap.com/api/webservice/guide/tools/info */ class Lbs { /** * ip定位 高德文档:https://lbs.amap.com/api/webservice/guide/api/ipconfig */ @Methods({ MethodType.POST }) class ip { /** * 详看高德文档 */ @Request Json parameters; /** * 详看高德文档 */ @Response Json data; } /** * 行政区域查询 高德文档:https://lbs.amap.com/api/webservice/guide/api/district */ @Methods({ MethodType.POST }) class district { /** * 详看高德文档 */ @Request Json parameters; /** * 详看高德文档 */ @Response Json data; } /** * 逆地理编码 高德文档:https://lbs.amap.com/api/webservice/guide/api/georegeo#regeo */ @Methods({ MethodType.POST }) class regeo { /** * 详看高德文档 */ @Request Json parameters; /** * 详看高德文档 */ @Response Json data; } /** * 地理编码 https://lbs.amap.com/api/webservice/guide/api/georegeo#geo */ @Methods({ MethodType.POST }) class geo { /** * 详看高德文档 */ @Request Json parameters; /** * 详看高德文档 */ @Response Json data; } } /** * 通知开关配置 */ class Notice { /** * 获取我的通知开关配置 */ @Methods({ MethodType.GET }) class GetNoticeProfileList { @Response Json result; } /** * 获取通知开关配置 */ @Methods({ MethodType.GET }) class GetNoticeByKeyToInt { /** * 通知key */ @Request String key; @Response Json result; } /** * 修改通知开关配置 */ class UpdateNoticeByKey { /** * 通知key */ @Request String key; /** * 开关 */ @Request @Optional boolean isOpen; } /** * 修改通知群组开关配置 */ class UpdateNoticeByGroup { /** * 群组 */ @Request String group; /** * 开关 */ @Request Boolean isOpen; } } class Homepage { /** * 发现页数据 */ @Methods({ MethodType.GET }) class ActivityTimeTable { @Response Json result; } /** * 信息流 */ @Middleware("api.encrypt") class Feed { @Request @Optional int take; @Response Json result; } /** * 游客信息流 */ @Middleware("api.encrypt") class OpenidFeed { @Request String openid; @Request @Optional int take; @Response Json result; } /** * 获取卡片其他信息 */ class FeedScore { @Request int partnerId; @Response Json result; } } class UserNotice { @Methods({ MethodType.GET }) class SysnoticeDesc { @Response Json result; } /** * 系统消息 */ @Methods({ MethodType.GET }) class SysnoticeList { @Request @Optional int page; @Request int unread; @Response Json result; } } /** * 用户首页列表接口 */ class UserHome { /** * 获取心动我的列表 */ @Methods({ MethodType.GET }) class GetLikeMeList { /** * 分页(页数) */ @Request @Optional Integer page; /** * 每页多少 */ @Request @Optional Integer limit; @Response Json result; } /** * 获取我喜欢的列表 */ @Methods({ MethodType.GET }) class getMyLikeList { /** * 分页(页数) */ @Request @Optional Integer page; /** * 每页多少 */ @Request @Optional Integer limit; @Response Json result; } /** * 访客列表 */ class getVisitorList { /** * 分页(页数) */ @Request @Optional Integer page; /** * 每页多少 */ @Request @Optional Integer limit; /** * 用户id;不天默认取自己的 */ @Request @Optional int uid; @Response Json result; } /** * 提醒TA补全信息 */ @Methods({ MethodType.POST }) class remindComplementCard { @Request Integer remind_uid; @Request Enums.RemindNoticeType type; } /** * 获取人气值 */ class getPopularity { /** 分享助力到期时间 */ int popularity_share_end_at; /** 签到助力到期时间 */ int popularity_sign_end_at; /** 超级会员助力到期时间 */ int popularity_supvip_endat; /** 人气值 */ int popularity; /** 人气值基础分 */ int base; } } class Tags { /** * 获取全部标签列表 */ class getAllTag { @Response Json result; } } /** * 城市相关接口 * * 城市列表。搜索等等 */ class City { /** * 获取城市列表 */ @Methods({ MethodType.GET }) class getList { @Response Json result; } /** * 搜索城市 */ @Methods({ MethodType.GET }) class search { /** * 关键词 */ @Request String keyword; @Response Json result; } } /** * 学校相关接口 * * 列表。搜索等等 */ class School { /** * 学校列表 */ @Methods({ MethodType.GET }) class getList { @Request @Optional String keyword; @Response Json result; } } class AdminPartner { /** * 已精选列表 */ class isSelectedList { /** 页码 */ @Request @Optional int pages; /** 是否只看可推流的:true=是;false=全部 */ @Request @Optional Boolean isFeedPush; /** 性别 0=全部 */ @Request @Optional Enums.Gender sex; @Response Models.Page page; Models.AdminPartner[] partners; } /** * 取消精选 */ class unSelectPartner { /** 卡片id */ @Request @Optional int partnerId; } /** * 标记不推荐的列表 */ class lowList { /** 页码 */ @Request @Optional int pages; @Response Models.Page page; Models.AdminPartner[] partners; } /** * 救活卡片 */ class change2New { /** 请求数据包 */ @Request @Optional Models.ChangePartner2New[] req; } } class ReportLog { /** * 信息流上报日志 */ class feedLog { @Request int partnerId; @Request int uid; @Request Json data; } /** * 访问他人主页日志 */ public class ClickUserHome { /** * 进入时间戳 */ @Request int intoAt; /** * 离开时间戳 */ @Request int leaveAt; /** * 访问用户 */ @Request int clickUid; /** * 被访问用户 */ @Request int homeUid; /** * 场景 */ @Request int scene; } } /** * IM相关的接口 * * 消息存在 腾讯云消息,本地消息,最近消息 超过七天未同步自己服务器消息,需要先拉最近消息 其他时候,刚进入时拉取腾讯云用户列表的消息 * 如果有消息返回,重复拉取直到全部拉出 并且上报已读,以免未读消息被重复拉取 * * 发消息时,先发送腾讯云,配置单聊消息回调可以自动上报自己的服务器,记录双方的最近消息 每次上报新消息时,保留自己的最近消息十条 * * * * 暂时不确定定位消息是否使用seq,如果使用则必须先发送获取seq后上报 */ class Im { /** * 获取用户最近消息,最近10条 * * 用户读列表时会依次从腾讯云获取聊天记录 不满10条的从这里读 不需要每次读,并且进入会话后不使用这个 */ class GetUsersLatests { @Request int[] uids; // 先全甩回去 @Response Models.TimMessage[] messages; } /** * 发送消息 * * 由服务端转接发送消息 */ class Send { @Request Models.TimMessage message; } /** * 撤回消息,删除两个人的最近消息 */ class Revoke { @Request Models.TimMessage message; } /** * 删除消息,删除自己的最近消息 */ class Delete { @Request Models.TimMessage message; } /** * 标记消息已读 */ class MarkUserMessagesRead { @Request Models.TimMessage message; } } } }