type-jcfw/index.d.ts
2020-12-29 15:52:26 +08:00

1167 lines
25 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Type definitions for ./src/jcfw.js
// Project: [LIBRARY_URL_HERE]
// Definitions by: [YOUR_NAME_HERE] <[YOUR_URL_HERE]>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/**
*
*/
export declare var _GAME_LOCALUUID : string;
/**
*
*/
export declare var _GAME_INFO_HANDLER_BINDING : string;
/**
*
*/
export declare var _GAME_INFO_HANDLER_UNBINDING : string;
/**
*
*/
export declare var JC_CLOUD_URL : string;
/**
*
*/
export declare var JC_GAMELOG_URL : string;
/**
*
*/
export declare var JC_LOGIN_URL : string;
/**
*
*/
export declare var JC_NOTIFY_URL : string;
/**
*
*/
export declare var JC_SVC_URL : string;
/**
*
*/
export declare var JC_STAT_URL : string;
/**
*
*/
export declare var JC_GAMELIST_URL : string;
/**
*
*/
export declare var JC_MAIL_URL : string;
/**
*
*/
export declare var JS_RECHARGE : string;
/**
*
*/
export declare var JC_GHOST_URL : string;
/**
*
*/
export declare var KINGSOME : string;
/**
*
*/
export declare var KSOME : string;
/**
*
*/
declare namespace JCFW{
/**
*
*/
export var localUUID : string;
/**
*
*/
export var shareInfo : /*no type*/{};
/**
*
*/
export var _handlers : Array<any>;
/**
*
*/
export var _inited : boolean;
/**
*
*/
export var _dayvideocount : number;
/**
*
*/
export var _greentime : number;
/**
*
*/
export var version : string;
/**
*
*/
var channel : {
/**
*
*/
WECHAT : number;
/**
*
*/
QQ_PLAY : number;
/**
*
*/
OPPO : number;
/**
*
*/
VIVO : number;
/**
*
*/
FB : number;
/**
*
*/
BAIDU : number;
/**
*
*/
TT : number;
/**
*
*/
QQ_MINI : number;
/**
*
*/
QUICK : number;
/**
*
*/
TEST : number;
/**
*
*/
ANDROID : number;
/**
*
*/
GOOGLE : number;
}
/**
*
* @param cid
* @return
*/
function isAbroad(cid : any): boolean;
/**
*
* @param isoffical
* @param key
* @param env
* @return
*/
function __getUrl(isoffical : boolean, key : string, env : any): string;
/**
* @param {number} channelid 频道ID
* @param {number} gameid 游戏ID
* @param {boolean} isoffical :上线版本还是测试版本
* @param {object} response :回调对象(可不填),如果填的话,可实现以下一个或多个函数:
* .onLogin(logininfo)
* .onLoginFail(net_err, logic_err, errmsg)
* .onUpdateUser(userinfo)
* .onUpdateUserFail(net_err, logic_err, errmsg)
* .onShare(***)
* .onShareFail(***)
* @param {any} env: 某些平台登陆需要传递的参数
* @param {any} adparam: 某些平台广告环境需要传递的参数
* @param {object} cfgsuccesscb: 后台配置成功回调
* @param {object} cfgfailcb: 后台配置失败回调
* @param {any} jcdev: 是否是开发环境
* @param channelid
* @param gameid
* @param isoffical
* @param response
* @param env
* @param adparam
* @param cfgsuccesscb
* @param cfgfailcb
* @param jcdev
* @param polyid
*/
function init(channelid : number, gameid : number, isoffical : boolean, response : any, env : any, adparam : any, cfgsuccesscb : any, cfgfailcb : any, jcdev : any, polyid : any): void;
/**
*
*/
export var sharecfg : /*no type*/{};
/**
*
*/
export var gameID : number;
/**
*
*/
export var isOffical : boolean;
/**
* @param {object} man : 游戏主场景canvas的component
* @param man
*/
function bindController(man : any): void;
/**
*
*/
function __handleLogined(): void;
/**
* 登陆函数
* @param {object} successcb :成功回调(初始化时设置了回调对象的话,此处可不填)
* @param {object} failcb :失败回调(初始化时设置了回调对象的话,此处可不填)
* @param {string} ex_param :额外参数(预留字段,某些平台可能会使用此字段)
* @param {object} cfgsuccesscb :配置拉取成功回调
* @param {object} cfgfailcb :配置拉取失败回调
* @param {object} timecb 登陆完成后的在线时长回调大概每10秒回调一次参数为在线时长
* @param successcb
* @param failcb
* @param ex_param
* @param cfgsuccesscb
* @param cfgfailcb
* @param timecb
* @return
*/
function loginUser(successcb : any, failcb : any, ex_param : string, cfgsuccesscb : any, cfgfailcb : any, timecb : any): number;
/**
*
*/
export var _logining : boolean;
/**
*
*/
export var logined : boolean;
/**
*
*/
export var _isholiday : boolean;
/**
* @param {string} token : 登陆用token
* @param {object} successcb : 成功后回调
* @param {object} failcb : 失败后回调
* @param token
* @param successcb
* @param failcb
* @return
*/
function loginUserByToken(token : string, successcb : any, failcb : any): number;
/**
*
*/
function logout(): void;
/**
* @param {object} allinfo :包含用户信息的对象: 注意allinfo.userInfo为用户实际信息
* @param {object} successcb :成功回调(初始化时设置了回调对象的话,此处可不填)
* @param {object} failcb :失败回调(初始化时设置了回调对象的话,此处可不填)
* @param allinfo
* @param successcb
* @param failcb
* @return
*/
function updateUser(allinfo : any, successcb : any, failcb : any): number;
/**
*
*/
export var cacheuser : /*no type*/{};
/**
*
*/
export var _userupdating : boolean;
/**
* @param {string} name : 真实姓名
* @param {string} idcard : 真实身份证号
* @param {boolean} isfake : 是否是假的(不校验)
* @param {object} successcb : 成功回调,参数为玩家年龄
* @param {object} failcb : 失败回调
* @param name
* @param idcard
* @param isfake
* @param successcb
* @param failcb
*/
function bindIdCard(name : string, idcard : string, isfake : boolean, successcb : any, failcb : any): void;
/**
* @param {object} btninfo : 获取用户的按钮信息(微信专用),格式:{width: 100, height: 100, name: logo.png}
* @param {object} successcb :成功回调
* @param {object} failcb :失败回调
* @param btninfo
* @param successcb
* @param failcb
*/
function getUserInfo(btninfo : any, successcb : any, failcb : any): void;
/**
* 清除授权按钮(微信用)
*/
function destoryAuthComponent(): void;
/**
* @param {object} successcb :成功回调
* @param {object} failcb :失败回调
* @param successcb
* @param failcb
*/
function initGlobalConfig(successcb : any, failcb : any): void;
/**
* @param {object} successcb :成功回调
* @param {object} failcb :失败回调
* @param successcb
* @param failcb
* @param bforce
*/
function initShareConfig(successcb : any, failcb : any, bforce : boolean): void;
/**
* @param {object} successcb :成功回调
* @param {object} failcb :失败回调
* @param successcb
* @param failcb
*/
function initPlayerData(successcb : any, failcb : any): void;
/**
* 保存用户相关配置信息
* @param successcb
* @param failcb
*/
function savePlayerData(successcb : any, failcb : any): void;
/**
* 简化接收每日任务/成就邀请(默认1001为邀请好友的成就其他成就不可使用此id)
* @param info
*/
function acceptInvite(info : any): void;
/**
* 普通分享
* @param {string} content 分享显示的标题
* @param {string} imgurl 分享显示的图片
* @param {int} sharetype 分享类型(每日活动/成就/接力)
* @param {string} shareparam 分享类型相关参数活动id/成就id等
* @param {string} extrainfo 分享额外参数key/value格式的字符串eg: 'inviter_name=***&inviter_sex=***'
* @param {object} successcb
* @param {object} failcb
* @param {number} imgindex 图片在后台的索引(可不填)
* @param content
* @param imgurl
* @param sharetype
* @param shareparam
* @param extrainfo
* @param successcb
* @param failcb
* @param imgindex
*/
function shareNormal(content : string, imgurl : string, sharetype : any, shareparam : string, extrainfo : string, successcb : any, failcb : any, imgindex : number): void;
/**
* 截图分享
* @param {string} content 分享显示的标题
* @param {cc.Rect} capture_rect 分享要截图的区域
* @param {int} sharetype 分享类型(每日活动/成就/接力)
* @param {string} shareparam 分享类型相关参数活动id/成就id等
* @param {string} extrainfo 分享额外参数key/value格式的字符串eg: 'inviter_name=***&inviter_sex=***'
* @param {object} successcb
* @param {object} failcb
* @param content
* @param capture_rect
* @param sharetype
* @param shareparam
* @param extrainfo
* @param successcb
* @param failcb
* @param imgindex
*/
function shareCapture(content : string, capture_rect : any, sharetype : any, shareparam : string, extrainfo : string, successcb : any, failcb : any, imgindex : any): void;
/**
* 生成分享参数字符串
* @param sharetype
* @param shareparam
* @param extrainfo
* @return
*/
function makeShareParam(sharetype : any, shareparam : any, extrainfo : any): any;
/**
* @param {object} successcb 成功回调
* @param {object} failcb 失败回调
* @param {string} typestr 分享类型【与后台配置相符】
* @param {string} exparam 额外参数
* @param successcb
* @param failcb
* @param typestr
* @param exparam
*/
function simpleShare(successcb : any, failcb : any, typestr : string, exparam : string): void;
/**
* @param {string} stype 分享/广告类型【与后台配置相符】
* @param {string} param 额外参数(必须是json格式):
* a)如果需要截屏分享,参数需配置成如下格式:
* let paramobj = {
* ...
* rc:{x:*,y:*,width:**,height:**},
* ...
* };
* b)如果分享需要指定分享组的某张图片,参数需配置成如下格式:
* let paramobj = {
* ...
* shareindex: **(分享组图片索引)
* ...
* };
* c)如果分享需要动态的title参数需配置成如下格式
* let paramobj = {
* ...
* titleparam: [*,*,...](title参数)
* ...
* };
* @param {object} cb 回调,参数如下:
* 【参数1】isOK:是否成功false/true
* 【参数2】errCode:失败的errcode,
* 【参数3】flag:是分享还是广告的标识0-none;1-share;2-ad,
* 【参数4】isADErr:广告失败时是否是出错了false未看完关闭/true出错
* 【参数5】isDiff:最终是分享(广告),是否与后台配置的一致
*/
interface ADShare {
/**
*
* @param stype
* @param param
* @param cb
* @return
*/
new (stype : string, param : string, cb : any): ADShare;
}
/**
* 优先观看视频广告,到指定次数后分享,分享内容读取配置
* @param {string} stype 分享/广告类型【与后台配置相符】
* @param {string} param 额外参数(必须是json格式)
* @param {object} cb 回调参数1:是否成功false/true2.失败的errcode, 3.是分享还是广告的标识0-none;1-share;2-ad
*/
interface ADShareCommon {
/**
*
* @param stype
* @param param
* @param cb
* @return
*/
new (stype : string, param : string, cb : any): ADShareCommon;
}
/**
* 激励视频广告【尽量使用ADShare函数而不使用此函数】
*/
interface ADWatch {
/**
*
* @param adid
* @param adname
* @param successcb
* @param failcb
* @return
*/
new (adid : any, adname : any, successcb : any, failcb : any): ADWatch;
}
/**
* 激励视频广告可多个视频id随机播放【尽量使用ADShare函数而不使用此函数】
*/
interface ADsWatch {
/**
*
* @param adlst
* @param adname
* @param successcb
* @param failcb
* @return
*/
new (adlst : any, adname : any, successcb : any, failcb : any): ADsWatch;
}
/**
* banner处理【尽量使用Baselayer而不使用以下banner处理函数】
* banner初始化
*/
interface ADBanner_init {
/**
*
* @param adid
* @param adname
* @return
*/
new (adid : Array<any>, adname : any): boolean;
}
/**
* banner显示
*/
interface ADBanner_Show {
/**
*
* @param adname
* @param successcb
* @param failcb
* @param adid
* @param breload
* @return
*/
new (adname : any, successcb : any, failcb : any, adid : any, breload : any): any;
}
/**
* banner隐藏
*/
interface ADBanner_Hide {
/**
*
* @param adname
* @return
*/
new (adname : any): ADBanner_Hide;
}
/**
* banner直接显示无需初始化
*/
interface ADBanner_ShowEx {
/**
*
* @param adid
* @param adname
* @param successcb
* @param failcb
* @param adwidth
* @return
*/
new (adid : any, adname : any, successcb : any, failcb : any, adwidth : any): ADBanner_ShowEx;
}
/**
* banner销毁
*/
interface ADBanner_Destroy {
/**
*
* @param obj
* @param realdestroy
* @return
*/
new (obj : any, realdestroy : any): ADBanner_Destroy;
}
/**
* 手动控制banner的显示/隐藏
*/
interface ADBanner_Switch {
/**
*
* @param bshow
* @return
*/
new (bshow : any): ADBanner_Switch;
}
/**
* 插屏广告处理
*/
interface ADInsert_Show {
/**
*
* @param adid
* @param adname
* @param successcb
* @param failcb
* @return
*/
new (adid : any, adname : any, successcb : any, failcb : any): ADInsert_Show;
}
/**
*
* @return
*/
function _randomBannerAD(): /* !this._bannerids.0 */ any;
/**
* 生成唯一ID【无需关注此函数】
* @return
*/
function currUUID(): /* !this._tmpuuid */ any;
/**
*
*/
function makeUUID(): void;
/**
* 根据OpenID生成账号ID【通常情况不使用此函数】
* @param openid
*/
function makeAccountID(openid : any): void;
/**
* 重置本地ID【通常情况不使用此函数】
*/
function resetLocalID(): void;
/**
* avatar说话内容
*/
function talkMsgs(): void;
/**
* 添加监听处理器
* handler是回调对象按实际需要可实现以下一个或多个回调
* .onJCInit(channelid, gameid, isoffical){}
* .onJCAccountID(accountid, sessionid){}
* .onJCLocalUUID(localuuid){}
* .onJCUserInfo(userinfo){}
* .onJCLaunchInfo(lauchscene, lauchfromid, launchparam){}
* .onJCGameStart(startmode, extparam){}
* .onJCGameOver(score, bsuccess, extparam){}
* @param handler
* @return
*/
function addHandler(handler : any): boolean;
/**
* 删除监听处理器
* @param handler
* @return
*/
function delHandler(handler : any): boolean;
/**
* 设置sdk回调
* @param rsp
*/
function setResponse(rsp : any): void;
/**
* 设置视频广告是否开启开关【使用login.fire无需手动调用此函数】
* @param turnoff
*/
function setADSwitch(turnoff : boolean): void;
/**
*
*/
export var _offad : boolean;
/**
* 设置banner广告是否开启开关【使用login.fire无需手动调用此函数】
* @param turnoff
*/
function setBannerADSwitch(turnoff : boolean): void;
/**
*
*/
export var _offbanner : boolean;
/**
* 设置插屏广告是否开启开关【使用login.fire无需手动调用此函数】
* @param turnoff
*/
function setInsertADSwitch(turnoff : boolean): void;
/**
*
*/
export var _offinsert : boolean;
/**
* 设置是否开启审核开关【使用login.fire无需手动调用此函数】
* @param isaudit
*/
function setAuditSwitch(isaudit : boolean): void;
/**
*
*/
export var isVerify : boolean;
/**
* 设置是否是测试模式开关【使用login.fire无需手动调用此函数】
* @param istestmode
*/
function setTestModeSwitch(istestmode : boolean): void;
/**
*
*/
export var _istestmode : boolean;
/**
* 设置每日视频播放限制数量(-1为不限制【使用login.fire无需手动调用此函数】
* @param cnt
*/
function setVideoLimit(cnt : any): void;
/**
* 设置存储是否开启云存储开关
* @param iscloud
*/
function setStorageFlag(iscloud : any): void;
/**
* 获取是否开启云存储标识
*/
function getStorageFlag(): void;
/**
* 获取服务器当前时间【登陆完成后才能调用】
* @return
*/
function getServerNowTime(): /* !this.loginSrvTime */ any;
/**
* 获取AccountID
* @return
*/
function getUserID(): /* !this.accountID */ any;
/**
* 获取是否是节假日
* @return
*/
function isHoliday(): /* !this._isholiday */ any;
/**
* 获取健康游戏时间
* @return
*/
function getGreenTime(): /* !this._greentime */ any;
/**
*
* @return
*/
function isTestMode(): /* !this._istestmode */ any;
/**
* 游戏相关-------------------------------------------------------
* 游戏开始
* startmode: 0:正常开始游戏 1:重新开始 2:再来一次
* @param startmode
* @param extparam
*/
function gameStart(startmode : any, extparam : any): void;
/**
* 游戏结束
* @param score
* @param bsuccess
* @param extparam
*/
function gameOver(score : any, bsuccess : any, extparam : any): void;
/**
* 游戏显示【无需手动调用】
* @param showinfo
*/
function gameShow(showinfo : any): void;
/**
* 游戏隐藏【无需手动调用】
*/
function gameHide(): void;
/**
* 使用道具
* @param itemid
* @param itemcount
* @param reson
* @param extparam
*/
function gameUseItem(itemid : any, itemcount : any, reson : any, extparam : any): void;
/**
* 获得道具
* @param itemid
* @param itemcount
* @param reson
* @param extparam
*/
function gameGetItem(itemid : any, itemcount : any, reson : any, extparam : any): void;
/**
*
* @return
*/
function gameVibrate(): /* !this.plat */ any;
/**
*
* @return
*/
function gameVibrateLong(): /* !this.plat */ any;
/**
* 开始录屏
* @param duration
* @param cb
* @return
*/
function gameStartRecord(duration : any, cb : any): /* !this.plat */ any;
/**
* 停止录屏
* @param cb
* @return
*/
function gameStopRecord(cb : any): /* !this.plat */ any;
/**
* 是否在录屏
* @return
*/
function gameIsRecording(): /* !this.plat */ any;
/**
* 以下函数无需手动调用
* @param accountid
* @param sessionid
* @param exobj
*/
function setAccountID(accountid : any, sessionid : any, exobj : any): void;
/**
*
* @param uuid
*/
function setLocalUUID(uuid : any): void;
/**
*
* @param nickname
*/
function setNickName(nickname : any): void;
/**
*
* @param appid
* @param scene
* @param paramobj
*/
function setFromAppID(appid : any, scene : any, paramobj : any): void;
/**
*
* @param info
*/
function setSystemInfo(info : any): void;
/**
*
* @param info
*/
function setUserInfo(info : any): void;
/**
*
* @param srvtime
*/
function setServerTime(srvtime : any): void;
/**
*
*/
export var _countid : number;
/**
*
*/
export var loginLocalTime : number;
/**
*
*/
function _countservertime(): void;
/**
*
*/
function _loadLocalID(): void;
/**
*
*/
function _saveLocalID(): void;
/**
*
*/
function _cleanLocalID(): void;
/**
*
*/
function _loadLaunchInfo(): void;
/**
*
*/
function _loadSystemInfo(): void;
/**
*
* @param cfgsuccesscb
* @param cfgfailcb
*/
function _loadConfig(cfgsuccesscb : any, cfgfailcb : any): void;
/**
*
*/
export var maincfg : /*no type*/{};
/**
*
* @param info
*/
function _loadShareConfig(info : any): void;
/**
*
* @param obj
*/
function _initHandler(obj : any): void;
/**
*
* @param channelid
* @param gameid
* @param isoffical
*/
function _handleInit(channelid : number, gameid : number, isoffical : boolean): void;
/**
*
* @param accountid
* @param sessionid
* @param exobj
*/
function _handleAccountID(accountid : any, sessionid : any, exobj : any): void;
/**
*
* @param localuuid
*/
function _handleLocalID(localuuid : any): void;
/**
*
* @param nickname
*/
function _handleNickName(nickname : any): void;
/**
*
* @param userinfo
*/
function _handleUserInfo(userinfo : any): void;
/**
*
* @param lauchscene
* @param lauchfromid
* @param launchparam
*/
function _handleLauchInfo(lauchscene : any, lauchfromid : any, launchparam : any): void;
/**
*
* @param servertime
* @param localtime
*/
function _handleServerTime(servertime : any, localtime : number): void;
/**
*
* @param startmode
* @param extparam
*/
function _handleGameStart(startmode : any, extparam : any): void;
/**
*
* @param score
* @param bsuccess
* @param extparam
*/
function _handleGameOver(score : any, bsuccess : any, extparam : any): void;
/**
*
* @param showinfo
*/
function _handleGameShow(showinfo : any): void;
/**
*
* @param hideinfo
*/
function _handGameHide(hideinfo : any): void;
/**
*
* @param lst
* @param notifyobj
*/
function _handleNotifyMsgs(lst : any, notifyobj : any): void;
/**
*
*/
function _checkListener(): void;
/**
*
* @param id
* @param polyid
*/
function _fixChannelID(id : number, polyid : any): void;
/**
*
*/
export var channelID : number;
/**
*
*/
export var polyID : number;
/**
*
* @param cfg
*/
function _handleCfg(cfg : any): void;
/**
*
*/
export var config_version : string;
/**
*
*/
export var _bannerids : Array<any>;
/**
*
*/
export var _bannertimeout : number;
/**
* 检查当日是否还可以播放视频激励广告
* 使用统一的每日激励广告限额来检查
* @param stype
* @return
*/
function canIShare(stype : any): boolean;
/**
* @param {string} appid 要跳转的appid
* @param {string} apppath 传入的path参数
* @param {object} param_kvlst : Arraykey/value参数的列表eg[{key: "aaa", value: "bbb"}]
* @param {object} cb : 跳转后的回调函数
* @param {string} env : 跳转小程序的版本需要时传入一般不传develop开发版trial体验版
* @param appid
* @param apppath
* @param param_kvlst
* @param cb
* @param env
*/
function gotoJCApp(appid : string, apppath : string, param_kvlst : any, cb : any, env : string): void;
}
declare interface cc {
jc: any
}