[隐藏]

目录

  • 1、API介绍

    基础API主要用于处理面板关闭、敏感词过滤、获取服务器时间和调用4399登录接口。

  • 2、使用案例

  • 3、添加步骤

    • AS2
    • AS3

    3.1 获取服务器时间

    3.1.1 下载as2_api.rar,并解压到你游戏代码的根目录

    3.1.2 在游戏第一帧添加api通用代码(所有api共用,有且仅添加一次)

    import AS2_4399_API.Bridge;
    _global.bridge = Bridge.getInstance();
    
    /**
     * 设置获取服务器时间后回调函数
     * @param   callBackContext     回调函数所在的位置
     * @param   callBackFunc     	回调函数
     */
    _global.bridge.getServerTime(callBackContext,callBackFunc);
    // 获取到服务器时间后 执行 callBackContext.callBackFunc(ret);
    // ret 是String类型,格式如:2011-10-15 9:40:30。如果获取失败,返回值为""。
    

    3.2 调用4399登录接口

    3.2.1 下载as2_api.rar,并解压到你游戏代码的根目录

    3.2.2 在游戏第一帧添加api通用代码(所有api共用,有且仅添加一次)

    import AS2_4399_API.Bridge;
    _global.bridge = Bridge.getInstance();
    
    登录API使用
    获取玩家是否已经登录
    /**
     * @param   callBackContext     回调函数所在的位置
     * @param   callBackFunc     	回调函数
     */
    _global.bridge.getIsLog(callBackContext,callBackFunc);
    // 函数执行后,自动执行 callBackContext.callBackContext(ret);
    // 已登录: ret = {uid:"用户id",name:"用户名",nickName:"昵称"}
    // 未登录: ret = null;
    
    打开登录窗口
    _global.bridge.showLogPanel();
    
    /**
     * 设置登录后回调函数
     * @param   callBackContext     回调函数所在的位置
     * @param   callBackFunc     	回调函数
     */
    _global.bridge.setLogInCallBack(callBackContext,callBackFunc);
    // 登录完成后,执行 callBackContext.callBackFunc(ret);
    // ret = {uid:"用户id",name:"用户名",nickName:"昵称"}
    
    退出登录
    在需要退出登录的地方,添加如下代码
    /**
     * @param   callBackContext     回调函数所在的位置
     * @param   callBackFunc     	回调函数
     */
    if (_global.bridge){
    	_global.bridge.userLogOut(callBackContext,callBackFunc);
    }
    // 成功退出后,自动执行 callBackContext.callBackContext();
    
    注册用户退出登录时的回调函数
    /**
     * @param   callBackContext     回调函数所在的位置
     * @param   callBackFunc     	回调函数
     */
    if (_global.bridge){
        _global.bridge.noticeUserLogOut(callBackContext,callBackFunc);
    }
    // 成功退出后,自动执行 callBackContext.callBackContext();
    
    登录界面预览

    3.3 处理面板关闭

    3.3.1 下载as2_api.rar,并解压到你游戏代码的根目录

    3.3.2 在游戏第一帧添加api通用代码(所有api共用,有且仅添加一次)

    import AS2_4399_API.Bridge;
    _global.bridge = Bridge.getInstance();
    
    侦听关闭面板事件

    /**
     * 设置关闭弹出面板后回调函数
     * @param   callBackContext     回调函数所在的位置
     * @param   callBackFunc     	回调函数
     */
    _global.bridge.closePanelCallBack(callBackContext,callBackFunc);
    // 关闭弹出的面板后 执行 callBackContext.callBackFunc(ret);
    // ret 是String类型
    

    3.1 获取服务器时间

    3.1.1 导入类文件

    import flash.events.DataEvent;
    

    3.1.2 添加如下代码

    //======此代码为api通用代码,在所有api里面只需加一次========/
    public static var serviceHold:* = null;
    public function setHold(hold:*):void
    {
        serviceHold = hold;
    }
    

    3.1.3 在需要获取服务器时间的地方,添加如下代码

    if(serviceHold){
    	serviceHold.getServerTime();
    }
    

    3.1.4 在构造函数中,监听获取服务器时间的事件

    stage.addEventListener("serverTimeEvent",onGetServerTimeHandler);
    

    3.1.5 声明新的函数,代码如下:

    private function onGetServerTimeHandler(evt:DataEvent):void{
    	// evt.data值的格式如:2011-10-15 9:40:30。如果获取失败,返回值为""。
        trace( "当前服务器时间为:" + evt.data);
    }
    

    3.2 调用4399登录接口

    1.下载unit4399.rar,并解压到你游戏代码的根目录

    2.导入类文件

    import unit4399.events.SaveEvent;
    

    3.添加如下代码

    //======此代码为api通用代码,在所有api里面只需加一次========/
    public static var serviceHold:* = null;
    public function setHold(hold:*):void
    {
        serviceHold = hold;
    }
    
    登录API使用
    获取玩家是否已经登录
    var logInfo:Object = serviceHold.isLog;
    // 如果已经登录 logInfo =  {uid:"用户id",name:"用户名",nickName:"昵称"};
    // 如果没有登录 logInfo = null;
    
    打开登录窗口
    在需要打开登录面板的地方,添加如下代码
    if(serviceHold){
        serviceHold.showLogPanel();
    }
    
    在构造函数中,监听登录事件
    stage.addEventListener("logreturn",saveProcess);
    
    声明新的函数,代码如下
    private function saveProcess(e:SaveEvent):void{
        switch(e.type){
            case  "logreturn":
                // 登录完成发出的事件
                // e.ret =  {uid:"用户id",name:"用户名",nickName:"昵称"};
            break;
         }
    }
    
    退出登录
    在需要退出登录的地方,添加如下代码
    if(serviceHold){
    	serviceHold.userLogOut();
    }
    
    在构造函数中,监听退出登录的事件
    stage.addEventListener("userLoginOut",onUserLogOutHandler,false,0,true);
    
    声明新的函数,代码如下:
    private function onUserLogOutHandler(evt:Event):void{
    	trace( "用户退出登录了" );
    }
    
    登录界面预览

    3.3 处理面板关闭

    // 在构造函数中,监听关闭弹出面板事件
    stage.addEventListener("MVC_CLOSE_PANEL", closePanelHandler);
    // 声明新的函数,代码如下
    private function closePanelHandler (e:Event):void{
        // 在此处理关闭弹出面板后的操作
    }
    

    3.4 敏感词过滤

    3.4.1 下载 open4399Tools.rar ,并解压到你游戏代码的根目录

    3.4.2 导入类文件

    import open4399Tools.events.Open4399ToolsEvent;
    import open4399Tools.Open4399ToolsApi;
    

    3.4.3 在游戏的主类初始化接口

    private var open4399ToolsApi:Open4399ToolsApi = Open4399ToolsApi.getInstance();
    
    open4399ToolsApi.addEventListener(Open4399ToolsEvent.SERVICE_INIT,onServiceInitComplete);
    open4399ToolsApi.addEventListener(Open4399ToolsEvent.CHECK_BAD_WORDS_ERROR,onCheckBadWordsError);
    open4399ToolsApi.init();
    
    private function onServiceInitComplete(event:Open4399ToolsEvent):void{
        //在工具类初始化完成后,进行接口的调用工作。
    }
    
    private function onCheckBadWordsError(e:Open4399ToolsEvent):void{
        trace("接口调用出问题了!");
    }
    

    3.4.4 调用敏感词接口

    /**
     * words 为要检测的敏感词字符串
     */
    open4399ToolsApi.checkBadWords(words:String);
    
    使用示例
    open4399ToolsApi.checkBadWords("你妹啊");
    
    open4399ToolsApi.addEventListener(Open4399ToolsEvent.CHECK_BAD_WORDS,onCheckBadWords);
    
    private function onCheckBadWords(e:Open4399ToolsEvent):void
    {
    	/**
    	 * e.data为json格式
    	 * 如:	{"code":10000,"data":[],"message":"Success."} // 返回成功,不带敏感词
    	 * 		{"code":10001,"data":["\u4f60\u59b9\u554a"],"message":"Failure:bad words."} // 返回成功,带敏感词 data为数组,存放
    	 * 敏感词的Unicode编码,此处为“你妹啊”
    	 */
    	 var jsonObj:Object = JSON.decode(e.data);
    	 trace("e.data:" + e.data);
    	 trace("e.data.code:" + jsonObj.code + "   e.data.data:" + jsonObj.data);
    }
    

    3.4.5 错误信息列表

    • code:10000 // 返回成功,不带敏感词
    • code:10001 // 返回成功,带敏感词
    • code:10002 // 返回失败,传递的检测词有误
    • code:10003 // 返回失败,验证码有误

  • 4、常见问题解答

    暂无