declare namespace chsdk { /**服务器类型对应地址*/ enum serverType { /**本地服*/ test = 1, /**测试服*/ dev = 2, /**正线服*/ online = 3 } /**广告类型*/ enum ad_type { /**激励视频*/ rewarded = "Rewarded", /**插屏广告*/ interstitial = "Interstitial", /**banner 广告*/ banner = "Banner", /**自定义广告*/ custom = "Custom" } /**广告状态*/ enum ad_state { /**展示失败*/ fail = 0, /**展示成功*/ show = 1, /**完整展示或点击*/ rewarded = 2 } /**日志等级*/ enum loglevel { OFF = 0, ERROR = 1, WARN = 2, DEBUG = 3, INFO = 4, ALL = 5 } /**请求码*/ enum code { fail = 999, /**请求成功*/ success = 0, /**token失效 */ token_err = -1, /**请求超时*/ time_out = 1001, /**同一接口请求次数超出限制*/ too_many_requests = 1002 } /**更新周期 1永久, 2日更新, 3周更新, 4月更新 */ enum updateType { none = 1, day = 2, week = 3, month = 4 } /**初始化sdk,并登录对应平台 * @param gid 游戏ID(开发后台配置) * @param loglevel 日志级别 关闭=0, ERROR = 1, WARN = 2, DEBUG = 3, INFO = 4, ALL = 5, * @param serverIP 服务器类型 测试服 =2, 正线服 = 3, * @returns code === 0 成功 err?=错误信息 */ function init(gid: string, loglevel: loglevel, serverIP: serverType): Promise<{ code: number; err?: string; data?: any; }>; /**当前平台*/ function get_pf(): string; /**玩家平台信息*/ function get_player_info(): { nickName: string; avatarUrl: string; gender: number; hid: number; province: string; ip: string; loginTime: number; registerTime: number; }; /**游戏id*/ function get_gid(): string; /**游戏是否初始完毕*/ function get_inited(): boolean; /**玩家id*/ function get_uid(): number; /**玩家openid*/ function get_openid(): string; /**获取平台上用户的呢称和头像,获取成功后自动同步到服务器,一般在进排行榜前调用*/ function getUserInfo(): Promise<{ nickName: string; avatarUrl: string; gender: number; }>; /**上报自定义埋点事件 * @param evt 后台定义的事件名 * @param data 后台定义的事件参数 */ function reportEvent(evt: string, data: { [key: string]: any; }): void; /**上报广告 * @param adsId 广告id * @param adsState 广告状态 展示失败=0,展示成功=1,完整展示获得奖励=2 * @param adsScene 广告场景目的 * @param adsType 广告类型 (默认)激励视频 ='Rewarded',插屏广告='Interstitial', banner 广告 ='Banner',自定义广告 ='Custom' * @param adStartTime 开始播放时间戳ms * @returns code = 0 上报成功 err 上报错误提示 */ function reportSeeAds(adsId: string, adsType: ad_type, adsState: ad_state, adsScene: string, adStartTime: number): Promise<{ code: number; err?: string; data?: any; }>; /** * @description 上传游戏远程存储数据 * @param key 要保存的key * @param save_data 游戏数据 * @returns code 错误码 errMsg 错误信息 */ function saveGameData(key: string, save_data: { [key: string]: any; }): Promise<{ code: number; err?: string; data?: any; }>; /** * @description 获取游戏远程存储数据 * @param key 数据key * @returns code 错误码 errMsg 错误信息 data 游戏数据 */ function loadGameData(key: string): Promise<{ code: number; err?: string; data?: any; }>; /** * @description 更改用户名称头像等信息 * @param nickName 名称 * @param avatar 头像 */ function changeUserData(nickName?: string, avatar?: string): Promise<{ code: number; err?: string; data?: any; }>; /** * @description 上传排行榜数据 * @param rankField 排行榜类型标识 * @param rankValue 分数(如果分数和缓存中的数据一致将不上传) * @param update 更新周期(不同周期为不同的排行榜) 1永久, 2每日,3每星期,4每月 * @param valueType 数值类 0覆盖(默认) 1:累加 * @param extend 扩展数据(非必须) */ function saveRankData(rankField: string, rankValue: number, update?: chsdk.updateType, valueType?: 0 | 1, extend?: { [key: string]: any; }): Promise<{ code: number; err?: string; data?: any; }>; /** * @description 获取排行榜信息 * @param rankField 排行榜类型标识 * @param update 更新周期(不同周期为不同的排行榜) 1永久, 2每日,3每星期,4每月 * @param count 拉取个数 * @param isOwn 是否拉取自己的排行 默认为false * @param cache 默认为true,1分钟内优先从缓存中拿排行数据,否则请求服务器 * @returns data:{errCode 错误码 errMsg 错误信息 data 排行榜数据(list) own 自己的排名} */ function loadRankData(rankField: string, update?: updateType, count?: number, isOwn?: boolean, cache?: boolean): Promise<{ code: number; err?: string; data?: { list?: { head: string; nickName: string; rank: number; score: number; userId: number; [key: string]: any; }[]; own?: { head: string; nickName: string; rank: number; score: number; userId: number; [key: string]: any; }; }; }>; /** * @description 上传地区排行榜数据 * @param rankField 排行榜类型标识 * @param rankValue 分数(如果分数和缓存中的数据一致将不上传) * @param update 更新周期(不同周期为不同的排行榜) 1永久, 2每日,3每星期,4每月 * @param extend 扩展数据(非必须) */ function saveProvinceRankData(rankField: string, rankValue: number, update?: updateType, extend?: { [key: string]: any; }): Promise<{ code: number; err?: string; data?: any; }>; /** * @description 获取具体某地区排行榜信息 * @param hid 省份代码 * @param rankField 排行榜类型标识 * @param update 更新周期(不同周期为不同的排行榜) 1永久, 2每日,3每星期,4每月 * @param count 拉取个数 * @param isOwn 是否显示自己的排行 默认为false不显示 * @param cache 默认为true,1分钟内优先从缓存中拿排行数据,否则请求服务器 * @returns data:{errCode 错误码 errMsg 错误信息 data 排行榜数据数组} */ function loadProvinceRankData(hid: number, rankField: string, update?: updateType, count?: number, isOwn?: boolean, cache?: boolean): Promise<{ code: number; err?: string; data?: { list?: { head: string; nickName: string; rank: number; score: number; userId: number; [key: string]: any; }[]; own?: { head: string; nickName: string; rank: number; score: number; userId: number; [key: string]: any; }; }; }>; /** * @description 获取全国省份地区排行榜信息 * @param rankField 排行榜类型 * @param cache 默认为true,1分钟内优先从缓存中拿排行数据,否则请求服务器 * @returns data:{errCode 错误码 errMsg 错误信息 data 排行榜数据数组{hid 省份代码,province省份名...}} */ function loadProvinceRankInfo(rankField: string, cache?: boolean): Promise<{ code: number; err?: string; data?: { hid: number; province: string; rank: number; score: number; }[]; }>; /**玩家改变玩家默认省份 * @param hid 省份代码 * @returns errCode 错误码 errMsg 错误信息 time服务器时间戳(秒) */ function setUserLocation(hid: number): Promise<{ code: number; err?: string; data?: number; }>; /**获取服务器时间戳(秒) * @returns errCode 错误码 errMsg 错误信息 time服务器时间戳(秒) */ function getServerTime(): Promise<{ code: number; err?: string; time?: number; }>; /**获取城市代码对应地名 */ function provinceCode2Name(hid: number): string; /**获取所有城市代码名字*/ function getAllProvince(): [number, string][]; }