├── .gitattributes ├── .gitignore ├── README.md ├── decrypt_core.py └── src ├── Client.as ├── ClientBarrage.as ├── ClientProxy.as ├── EncDec.as └── TcpClient.as /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # ========================= 18 | # Operating System Files 19 | # ========================= 20 | 21 | # OSX 22 | # ========================= 23 | 24 | .DS_Store 25 | .AppleDouble 26 | .LSOverride 27 | 28 | # Icon must ends with two \r. 29 | Icon 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Douyu player source 2 | + decoded from version 43195.6(20160629.1) for douyu client developement. 3 | + see comments in source code. 4 | + download the core.swf and decrypt with decrypt_core.py 5 | 6 | ## contact: 1595152095 AT qq.com ## -------------------------------------------------------------------------------- /decrypt_core.py: -------------------------------------------------------------------------------- 1 | #-*- coding: utf-8 -*- 2 | # decrypt core swf to normal 3 | f1 = open('corenormal.swf','rb') 4 | content = bytearray(f1.read()) 5 | f1.close() 6 | key = 'dkrltl0%4*@jrky#@$' 7 | cl = len(content) 8 | kindex = 0 9 | index = 0 10 | hc = 0 11 | while(index < cl): 12 | if(kindex >= len(key)): 13 | kindex = 0 14 | hc = hc + 1 15 | if(hc >= 50) : break 16 | content[index] = (content[index] - ord(key[kindex])) & 0xff 17 | index = index + 1 18 | kindex = kindex+1 19 | 20 | f1 = open('corenormal_dc.swf','wb') 21 | f1.write(content) 22 | f1.close() 23 | -------------------------------------------------------------------------------- /src/Client.as: -------------------------------------------------------------------------------- 1 | package cc.dy.model.net 2 | { 3 | import flash.events.EventDispatcher; 4 | import flash.utils.Timer; 5 | import cc.dy.model.user.RoomUser; 6 | import util.$; 7 | import flash.utils.getTimer; 8 | import util.LocalStorage; 9 | import util.Util; 10 | import sample.loaderDanmu.CModule; 11 | import com.adobe.crypto.MD5; 12 | import com.adobe.crypto.HMAC; 13 | import flash.events.TimerEvent; 14 | import util.UserBehaviorLog; 15 | import common.event.EventCenter; 16 | import flash.events.Event; 17 | import flash.utils.clearTimeout; 18 | import flash.utils.setTimeout; 19 | import cc.dy.model.comment.CommentTime; 20 | import cc.dy.model.comment.SingleCommentData; 21 | import cc.dy.view.effect.ColorComentManager; 22 | import cc.dy.view.play.PlayMediator; 23 | 24 | public class Client 25 | { 26 | // base client to server, this is core. 27 | public var _conn:cc.dy.model.net.TcpClient; 28 | 29 | public var barrage_Conn:cc.dy.model.net.ClientBarrage; 30 | 31 | public var dispatcher:EventDispatcher; 32 | 33 | public var my_uid:int; 34 | 35 | public var my_username:String; 36 | 37 | public var my_nickname:String; 38 | 39 | public var my_roomgroup:int; 40 | 41 | public var roomId:int; 42 | 43 | public var keep_online:int = 0; 44 | 45 | private var myTimer:Timer; 46 | 47 | private var cacheTimer:Timer; 48 | 49 | private var per_keep_live:int = 45; 50 | 51 | private var per_cachedata:int = 60; 52 | 53 | private var serialnum:int = 0; 54 | 55 | private var user_count:int = 0; 56 | 57 | public var users:Vector.; 58 | 59 | public var admins:Vector.; 60 | 61 | public var users100_sort:Vector.; 62 | 63 | public var admins_sort:Vector.; 64 | 65 | public var serverArray:Array; 66 | 67 | public var myblacklist:Array; 68 | 69 | private var _OnConn:Function; 70 | 71 | private var firstTime:Number; 72 | 73 | private var secondTime:Number; 74 | 75 | private var sendTime:Number; 76 | 77 | private var end2TimeIndex:uint; 78 | 79 | private var illNotifyIndex:uint; 80 | 81 | private var illCloseIndex:uint; 82 | 83 | private var endTimeIndex0:uint; 84 | 85 | private var endError:String; 86 | 87 | private var reloadTimeIndex:uint; 88 | 89 | private var randomValue:int; 90 | 91 | private var salt:String; 92 | 93 | private var endTimeIndex:uint; 94 | 95 | private var endStr:String; 96 | 97 | public function Client() 98 | { 99 | this.dispatcher = new EventDispatcher(); 100 | this.users = new Vector.(); // RoomUser is a class Storing user infomation 101 | this.admins = new Vector.(); 102 | this.users100_sort = new Vector.(); 103 | this.admins_sort = new Vector.(); 104 | this.serverArray = new Array(); 105 | this.myblacklist = new Array(); 106 | super(); 107 | } 108 | 109 | public function ConnectServer(ip:String, port:int, flashPort:int, onConnectServer:Function) : void 110 | { 111 | //$.jscall("console.log","string is [%s]","ConnectServer"); 112 | this._conn = new cc.dy.model.net.TcpClient(GlobalData.isSecurError1); //isSecurError1 -> boolean, false 113 | this._OnConn = onConnectServer; 114 | if(this._conn == null) 115 | { 116 | return; 117 | } 118 | this._conn.connect(ip,port,flashPort); 119 | this._conn.addEventListener(TcpEvent.Conneted,onConnectServer,false,0,true); 120 | this._conn.addEventListener(TcpEvent.SecurityError,onConnectServer,false,0,true); 121 | this._conn.addEventListener(TcpEvent.Error,onConnectServer,false,0,true); 122 | this._conn.addEventListener(TcpEvent.Closed,onConnectServer,false,0,true); 123 | this._conn.addEventListener(TcpEvent.RecvMsg,this.ParseMsg,false,0,true); 124 | } 125 | 126 | public function UserLogin(param1:String) : void 127 | { 128 | if(this._conn == null) 129 | { 130 | return; 131 | } 132 | this.firstTime = getTimer(); 133 | var _loc2_:Decode = new Decode(); 134 | _loc2_.Parse(param1); 135 | var _loc3_:String = _loc2_.GetItem("username"); 136 | var _loc4_:String = _loc2_.GetItem("password"); 137 | var _loc5_:int = _loc2_.GetItemAsInt("ct"); 138 | var _loc6_:String = _loc2_.GetItem("ltkid"); 139 | var _loc7_:String = _loc2_.GetItem("biz"); 140 | var _loc8_:String = _loc2_.GetItem("stk"); 141 | Param.clientType = _loc5_; 142 | this.roomId = _loc2_.GetItemAsInt("roomid"); 143 | var _loc9_:Encode = new Encode(); 144 | _loc9_.AddItem("type","loginreq"); 145 | _loc9_.AddItem("username",_loc3_); 146 | _loc9_.AddItem("password",_loc4_); 147 | _loc9_.AddItem("roompass",Param.PASS_VERIFY); 148 | _loc9_.AddItem_int("roomid",this.roomId); 149 | LocalStorage.setValue("PmdSalt",_loc4_); 150 | var _loc10_:String = Util.getGuid(); 151 | _loc9_.AddItem("devid",_loc10_); 152 | var _loc11_:Date = new Date(); 153 | var _loc12_:int = _loc11_.time / 1000; 154 | var _loc13_:String = Util.getSecretStr(_loc12_ + "&" + _loc10_); 155 | _loc9_.AddItem("rt",_loc12_ + ""); 156 | _loc9_.AddItem("vk",_loc13_); 157 | _loc9_.AddItem("ver",GlobalData.VERSION); 158 | _loc9_.AddItem_int("ct",_loc5_); 159 | var _loc14_:String = _loc9_.Get_SttString(); 160 | var _loc15_:Encode = new Encode(); 161 | _loc15_.AddItem("devid",_loc10_); 162 | _loc15_.AddItem("rt",_loc11_.time + ""); 163 | var _loc16_:String = Util.getSecretStr(this.roomId + "&" + _loc10_ + _loc11_.time,"1"); 164 | _loc15_.AddItem("adv",_loc16_); 165 | //$.asTojs("room_dycookie_set","did",_loc10_,365 * 24 * 60 * 60); 166 | loaderDanmu.danmakuSetParameters(_loc3_,_loc4_,_loc10_,_loc6_,_loc7_,_loc8_,this.roomId,_loc5_,0,GlobalData.VERSION); 167 | var _loc17_:int = CModule.malloc(4); 168 | var _loc18_:int = loaderDanmu.getAdVerificationData(_loc11_.time,_loc17_); 169 | var _loc19_:int = CModule.read32(_loc17_); 170 | //$.asTojs("room_data_getdid",CModule.readString(_loc19_,_loc18_)); 171 | loaderDanmu.danmakuFreeData(_loc17_); 172 | CModule.free(_loc17_); 173 | var _loc20_:int = CModule.malloc(4); 174 | var _loc21_:int = loaderDanmu.danmakuGetLoginRoomData(_loc12_,_loc20_); 175 | var _loc22_:int = CModule.read32(_loc20_); 176 | var _loc23_:String = CModule.readString(_loc22_,_loc21_); 177 | //$.jscall("console.log","urlgreq is [%s]",_loc23_); 178 | this._conn.sendmsg(_loc23_); 179 | loaderDanmu.danmakuFreeData(_loc20_); 180 | CModule.free(_loc20_); 181 | } 182 | 183 | public function verRequest(param1:String) : void 184 | { 185 | var _loc2_:Decode = new Decode(); 186 | _loc2_.Parse(param1); 187 | var _loc3_:String = _loc2_.GetItem("username"); 188 | var _loc4_:String = _loc2_.GetItem("nickname"); 189 | var _loc5_:Encode = new Encode(); 190 | _loc5_.AddItem("type","lvrq"); 191 | _loc5_.AddItem("u",_loc3_); 192 | _loc5_.AddItem("n",_loc4_); 193 | _loc5_.AddItem("v",GlobalData.VERSION); 194 | if(this._conn == null) 195 | { 196 | return; 197 | } 198 | this._conn.sendmsg(_loc5_.Get_SttString()); 199 | //$.jscall("console.log","versionreq is [%s]",_loc5_.Get_SttString()); 200 | } 201 | 202 | public function anotherUserLogin(param1:String) : void 203 | { 204 | var _loc2_:String = ""; 205 | var _loc3_:Encode = new Encode(); 206 | _loc3_.AddItem("type","hp"); 207 | var _loc4_:String = LocalStorage.getValue("PmdSalt",""); 208 | if(_loc4_ == "") 209 | { 210 | _loc2_ = LocalStorage.getValue("PassSalt",""); 211 | } 212 | else 213 | { 214 | _loc2_ = MD5.hash(_loc4_ + this.salt); 215 | } 216 | var _loc5_:String = HMAC.hash(this.randomValue.toString(),_loc2_); 217 | _loc3_.AddItem("password",_loc5_); 218 | //$.jscall("console.log","req is "); 219 | if(this._conn == null) 220 | { 221 | return; 222 | } 223 | this._conn.sendmsg(_loc3_.Get_SttString()); 224 | } 225 | 226 | public function UserLogout() : void 227 | { 228 | //$.jscall("console.log","urlo[%s]",1111); 229 | var _loc1_:Encode = new Encode(); 230 | _loc1_.AddItem("type","logout"); 231 | var _loc2_:String = _loc1_.Get_SttString(); 232 | if(this._conn != null) 233 | { 234 | this._conn.sendmsg(_loc2_); 235 | } 236 | this.clean_conn_timer(); 237 | } 238 | 239 | public function SendChatContent(param1:String) : void 240 | { 241 | var _loc8_:Encode = null; 242 | var _loc9_:String = null; 243 | var _loc10_:Encode = null; 244 | var _loc11_:String = null; 245 | //$.jscall("console.log","jscc[%s]",param1); 246 | var _loc2_:Decode = new Decode(); 247 | _loc2_.Parse(param1); 248 | var _loc3_:int = _loc2_.GetItemAsInt("sender"); 249 | var _loc4_:int = _loc2_.GetItemAsInt("receiver"); 250 | var _loc5_:String = _loc2_.GetItem("content"); 251 | var _loc6_:String = _loc2_.GetItem("scope"); 252 | var _loc7_:int = _loc2_.GetItemAsInt("col"); 253 | if(!this.black_word(_loc5_)) 254 | { 255 | _loc8_ = new Encode(); 256 | _loc8_.AddItem("type","chatmessage"); 257 | _loc8_.AddItem_int("receiver",_loc4_); 258 | _loc8_.AddItem("content",_loc5_); 259 | _loc8_.AddItem("scope",_loc6_); 260 | _loc8_.AddItem_int("col",_loc7_); 261 | _loc9_ = _loc8_.Get_SttString(); 262 | //$.jscall("console.log","scc[%s]",_loc9_); 263 | if(this._conn == null) 264 | { 265 | return; 266 | } 267 | if(this.my_uid == 4257531) 268 | { 269 | //$.jscall("console.log","4257531 sendmsgtime=………………" + new Date().time / 1000); 270 | } 271 | this.sendTime = new Date().time; 272 | this._conn.sendmsg(_loc9_); 273 | } 274 | else 275 | { 276 | _loc10_ = new Encode(); 277 | _loc10_.AddItem("type","error"); 278 | _loc10_.AddItem_int("code",60); 279 | _loc11_ = _loc10_.Get_SttString(); 280 | //$.jscall("console.log","server_error [%s]",_loc11_); 281 | //$.asTojs("room_data_sererr",_loc11_); 282 | } 283 | } 284 | 285 | public function KeepLive(param1:TimerEvent = null) : void 286 | { 287 | var _loc2_:Encode = null; 288 | var _loc3_:Date = null; 289 | var _loc4_:int = 0; 290 | var _loc5_:String = null; 291 | var _loc6_:String = null; 292 | var _loc7_:int = 0; 293 | var _loc8_:int = 0; 294 | var _loc9_:int = 0; 295 | if(this._conn != null) 296 | { 297 | _loc2_ = new Encode(); 298 | _loc2_.AddItem("type","keeplive"); 299 | _loc3_ = new Date(); 300 | _loc4_ = _loc3_.time / 1000; 301 | _loc5_ = Util.getSecretStr(_loc4_ + "&" + GlobalData.byteCount,"3"); 302 | _loc2_.AddItem_int("tick",_loc4_); 303 | _loc2_.AddItem_int("vbw",GlobalData.byteCount); 304 | _loc2_.AddItem_int("cdn",GlobalData.CDNType); 305 | _loc2_.AddItem("k",_loc5_); 306 | _loc6_ = _loc2_.Get_SttString(); 307 | _loc7_ = CModule.malloc(4); 308 | _loc8_ = loaderDanmu.danmakuGetKeepLiveData(_loc4_,GlobalData.byteCount,_loc7_); 309 | _loc9_ = CModule.read32(_loc7_); 310 | this._conn.sendmsg(CModule.readString(_loc9_,_loc8_)); 311 | loaderDanmu.danmakuFreeData(_loc7_); 312 | CModule.free(_loc7_); 313 | //$.jscall("console.log","time=" + getTimer()); 314 | } 315 | } 316 | 317 | public function RoomRefresh(param1:TimerEvent) : void 318 | { 319 | if(this._conn == null) 320 | { 321 | return; 322 | } 323 | var _loc2_:Encode = new Encode(); 324 | _loc2_.AddItem("type","roomrefresh"); 325 | _loc2_.AddItem_int("serialnum",this.serialnum); 326 | var _loc3_:String = _loc2_.Get_SttString(); 327 | this._conn.sendmsg(_loc3_); 328 | } 329 | 330 | public function SetAdmin(param1:String) : void 331 | { 332 | if(this._conn == null) 333 | { 334 | return; 335 | } 336 | var _loc2_:Decode = new Decode(); 337 | _loc2_.Parse(param1); 338 | var _loc3_:int = _loc2_.GetItemAsInt("userid"); 339 | var _loc4_:int = _loc2_.GetItemAsInt("group"); 340 | var _loc5_:Encode = new Encode(); 341 | _loc5_.AddItem("type","setadminreq"); 342 | _loc5_.AddItem_int("userid",_loc3_); 343 | _loc5_.AddItem_int("group",_loc4_); 344 | var _loc6_:String = _loc5_.Get_SttString(); 345 | this._conn.sendmsg(_loc6_); 346 | } 347 | 348 | public function BlackUser(param1:String) : void 349 | { 350 | if(this._conn == null) 351 | { 352 | return; 353 | } 354 | //$.jscall("console.log","js_BlackUser [%s]",param1); 355 | var _loc2_:Decode = new Decode(); 356 | _loc2_.Parse(param1); 357 | var _loc3_:int = _loc2_.GetItemAsInt("userid"); 358 | var _loc4_:int = _loc2_.GetItemAsInt("blacktype"); 359 | var _loc5_:int = _loc2_.GetItemAsInt("limittime"); 360 | var _loc6_:Encode = new Encode(); 361 | _loc6_.AddItem("type","blackreq"); 362 | _loc6_.AddItem_int("userid",_loc3_); 363 | _loc6_.AddItem_int("blacktype",_loc4_); 364 | _loc6_.AddItem_int("limittime",_loc5_); 365 | var _loc7_:String = _loc6_.Get_SttString(); 366 | this._conn.sendmsg(param1); 367 | } 368 | 369 | public function SendByteCount(param1:Number) : void 370 | { 371 | if(this._conn == null) 372 | { 373 | return; 374 | } 375 | var _loc2_:Encode = new Encode(); 376 | _loc2_.AddItem("type","vbwr"); 377 | _loc2_.AddItem_int("vbw",param1); 378 | _loc2_.AddItem_int("rid",this.roomId); 379 | var _loc3_:String = _loc2_.Get_SttString(); 380 | this._conn.sendmsg(_loc3_); 381 | } 382 | 383 | public function SendEmptyOrFullCount(param1:int, param2:int, param3:int, param4:String, param5:int, param6:String) : void 384 | { 385 | if(this._conn == null) 386 | { 387 | return; 388 | } 389 | var _loc7_:Encode = new Encode(); 390 | _loc7_.AddItem("type","ssr"); 391 | _loc7_.AddItem_int("uid",Param.uid); 392 | _loc7_.AddItem_int("rid",int(Param.RoomId)); 393 | _loc7_.AddItem_int("ec",param2); 394 | _loc7_.AddItem("surl",param4); 395 | _loc7_.AddItem("cdn",Param.CDN); 396 | _loc7_.AddItem_int("isp2p",param5); 397 | var _loc8_:String = Util.getGuid(); 398 | _loc7_.AddItem("did",_loc8_); 399 | _loc7_.AddItem_int("ps",param1); 400 | _loc7_.AddItem_int("ct",Param.clientType); 401 | if(param1 == 3) 402 | { 403 | _loc7_.AddItem("ext",param6); 404 | } 405 | var _loc9_:String = _loc7_.Get_SttString(); 406 | this._conn.sendmsg(_loc9_); 407 | } 408 | 409 | public function MyBlackList(param1:String) : void 410 | { 411 | this.myblacklist = param1.split("|"); 412 | //$.jscall("console.log","handIn_blacklist [%s]",param1); 413 | } 414 | 415 | public function givePresent(param1:String) : void 416 | { 417 | if(this._conn == null) 418 | { 419 | return; 420 | } 421 | var _loc2_:Decode = new Decode(); 422 | _loc2_.Parse(param1); 423 | var _loc3_:int = _loc2_.GetItemAsInt("mg"); 424 | var _loc4_:int = _loc2_.GetItemAsInt("ms"); 425 | var _loc5_:Encode = new Encode(); 426 | _loc5_.AddItem("type","donatereq"); 427 | _loc5_.AddItem_int("mg",_loc3_); 428 | _loc5_.AddItem_int("ms",_loc4_); 429 | var _loc6_:String = _loc5_.Get_SttString(); 430 | this._conn.sendmsg(_loc6_); 431 | //$.jscall("console.log","赠送鱼丸请求"); 432 | } 433 | 434 | public function giveGift(param1:String) : void 435 | { 436 | if(this._conn == null) 437 | { 438 | return; 439 | } 440 | var _loc2_:Decode = new Decode(); 441 | _loc2_.Parse(param1); 442 | var _loc3_:int = _loc2_.GetItemAsInt("gfid"); 443 | var _loc4_:int = _loc2_.GetItemAsInt("num"); 444 | var _loc5_:int = _loc2_.GetItemAsInt("bat"); 445 | var _loc6_:Encode = new Encode(); 446 | _loc6_.AddItem("type","sgq"); 447 | _loc6_.AddItem_int("gfid",_loc3_); 448 | _loc6_.AddItem_int("num",_loc4_); 449 | var _loc7_:String = _loc6_.Get_SttString(); 450 | var _loc8_:int = CModule.malloc(4); 451 | var _loc9_:int = loaderDanmu.danmakuGetSendYuwanData(String(_loc3_),_loc4_,_loc5_,_loc8_); 452 | var _loc10_:int = CModule.read32(_loc8_); 453 | this._conn.sendmsg(CModule.readString(_loc10_,_loc9_)); 454 | loaderDanmu.danmakuFreeData(_loc8_); 455 | CModule.free(_loc8_); 456 | //$.jscall("console.log","zsgreq"); 457 | } 458 | 459 | public function queryTask() : void 460 | { 461 | if(this._conn == null) 462 | { 463 | return; 464 | } 465 | var _loc1_:Encode = new Encode(); 466 | _loc1_.AddItem("type","qtlq"); 467 | var _loc2_:String = _loc1_.Get_SttString(); 468 | this._conn.sendmsg(_loc2_); 469 | //$.jscall("console.log","qtq2"); 470 | } 471 | 472 | public function queryTaskNum() : void 473 | { 474 | if(this._conn == null) 475 | { 476 | return; 477 | } 478 | var _loc1_:Encode = new Encode(); 479 | _loc1_.AddItem("type","qtlnq"); 480 | var _loc2_:String = _loc1_.Get_SttString(); 481 | this._conn.sendmsg(_loc2_); 482 | //$.jscall("console.log","qtq1"); 483 | } 484 | 485 | public function obtainTask(param1:String) : void 486 | { 487 | if(this._conn == null) 488 | { 489 | return; 490 | } 491 | var _loc2_:Decode = new Decode(); 492 | _loc2_.Parse(param1); 493 | var _loc3_:int = _loc2_.GetItemAsInt("tid"); 494 | var _loc4_:Encode = new Encode(); 495 | _loc4_.AddItem("type","gftq"); 496 | _loc4_.AddItem_int("tid",_loc3_); 497 | var _loc5_:String = _loc4_.Get_SttString(); 498 | this._conn.sendmsg(_loc5_); 499 | //$.jscall("console.log","领取任务请求"); 500 | } 501 | 502 | public function setKeytitles(param1:String) : void 503 | { 504 | if(this._conn == null) 505 | { 506 | return; 507 | } 508 | var _loc2_:Decode = new Decode(); 509 | _loc2_.Parse(param1); 510 | var _loc3_:int = _loc2_.GetItemAsInt("userid"); 511 | var _loc4_:String = _loc2_.GetItem("username"); 512 | var _loc5_:String = _loc2_.GetItem("reason"); 513 | var _loc6_:String = _loc2_.GetItem("limittime"); 514 | var _loc7_:Encode = new Encode(); 515 | _loc7_.AddItem("type","gbm"); 516 | _loc7_.AddItem_int("uid",_loc3_); 517 | _loc7_.AddItem_int("rid",this.roomId); 518 | _loc7_.AddItem("uname",_loc4_); 519 | _loc7_.AddItem("reason",_loc5_); 520 | _loc7_.AddItem("limittime",_loc6_); 521 | var _loc8_:String = _loc7_.Get_SttString(); 522 | this._conn.sendmsg(_loc8_); 523 | //$.jscall("console.log","keytitle =userid" + _loc3_ + " uname=" + _loc4_ + " reason=" + _loc5_ + " roomId=" + this.roomId); 524 | } 525 | 526 | public function setReportBarrage(param1:String) : void 527 | { 528 | if(this._conn == null) 529 | { 530 | return; 531 | } 532 | var _loc2_:Decode = new Decode(); 533 | _loc2_.Parse(param1); 534 | var _loc3_:int = _loc2_.GetItemAsInt("suid"); 535 | var _loc4_:int = _loc2_.GetItemAsInt("rid"); 536 | var _loc5_:String = _loc2_.GetItem("chatmsgid"); 537 | var _loc6_:int = _loc2_.GetItemAsInt("rept"); 538 | var _loc7_:Encode = new Encode(); 539 | _loc7_.AddItem("type","chatmsgrep"); 540 | _loc7_.AddItem_int("suid",_loc3_); 541 | _loc7_.AddItem_int("rid",_loc4_); 542 | if(_loc6_ == 0) 543 | { 544 | _loc7_.AddItem("chatmsgid",_loc5_); 545 | } 546 | _loc7_.AddItem_int("rept",_loc6_); 547 | var _loc8_:String = _loc7_.Get_SttString(); 548 | this._conn.sendmsg(_loc8_); 549 | } 550 | 551 | public function requestRewardList() : void 552 | { 553 | if(this._conn == null) 554 | { 555 | return; 556 | } 557 | var _loc1_:Encode = new Encode(); 558 | _loc1_.AddItem("type","qrl"); 559 | _loc1_.AddItem("rid",Param.RoomId); 560 | var _loc2_:String = _loc1_.Get_SttString(); 561 | var _loc3_:int = CModule.malloc(4); 562 | var _loc4_:int = loaderDanmu.danmakuGetRankListData(int(Param.RoomId),Param.isShow == 1?1:0,_loc3_); 563 | var _loc5_:int = CModule.read32(_loc3_); 564 | this._conn.sendmsg(CModule.readString(_loc5_,_loc4_)); 565 | loaderDanmu.danmakuFreeData(_loc3_); 566 | CModule.free(_loc3_); 567 | //$.jscall("console.log","酬勤榜单请求"); 568 | } 569 | 570 | public function emailNotifyResponse(param1:String) : void 571 | { 572 | if(this._conn == null) 573 | { 574 | return; 575 | } 576 | var _loc2_:Decode = new Decode(); 577 | _loc2_.Parse(param1); 578 | var _loc3_:String = _loc2_.GetItem("mid"); 579 | var _loc4_:Encode = new Encode(); 580 | _loc4_.AddItem("type","mailnewres"); 581 | _loc4_.AddItem("mid",_loc3_); 582 | var _loc5_:String = _loc4_.Get_SttString(); 583 | this._conn.sendmsg(_loc5_); 584 | //$.jscall("console.log","私信回执 "); 585 | } 586 | 587 | public function queryGiftPkg(param1:String) : void 588 | { 589 | if(this._conn == null) 590 | { 591 | return; 592 | } 593 | this._conn.sendmsg(param1); 594 | //$.jscall("console.log","查询礼包信息 =" + param1); 595 | } 596 | 597 | public function dmodelNotify(param1:int) : void 598 | { 599 | if(this._conn == null) 600 | { 601 | return; 602 | } 603 | var _loc2_:Encode = new Encode(); 604 | _loc2_.AddItem("type","jfdg"); 605 | _loc2_.AddItem_int("op",param1); 606 | var _loc3_:String = _loc2_.Get_SttString(); 607 | this._conn.sendmsg(_loc3_); 608 | //$.jscall("console.log","dmcnotify"); 609 | } 610 | 611 | public function superDanmuClickReq(param1:Object) : void 612 | { 613 | if(this._conn == null) 614 | { 615 | return; 616 | } 617 | var _loc2_:Encode = new Encode(); 618 | _loc2_.AddItem("type","sdcr"); 619 | _loc2_.AddItem_int("rid",param1.crid); 620 | _loc2_.AddItem_int("sdid",param1.did); 621 | _loc2_.AddItem_int("trid",param1.nrid); 622 | _loc2_.AddItem_int("uid",this.my_uid); 623 | _loc2_.AddItem("content",param1.supercontent); 624 | var _loc3_:String = Util.getGuid(); 625 | _loc2_.AddItem("did",_loc3_); 626 | var _loc4_:String = _loc2_.Get_SttString(); 627 | this._conn.sendmsg(_loc4_); 628 | //$.jscall("console.log","sdmcount"); 629 | } 630 | 631 | public function jsSuperDanmuClickReq(param1:String) : void 632 | { 633 | if(this._conn == null) 634 | { 635 | return; 636 | } 637 | var _loc2_:Decode = new Decode(); 638 | _loc2_.Parse(param1); 639 | var _loc3_:int = _loc2_.GetItemAsInt("sdid"); 640 | var _loc4_:int = _loc2_.GetItemAsInt("trid"); 641 | var _loc5_:String = _loc2_.GetItem("content"); 642 | var _loc6_:int = _loc2_.GetItemAsInt("rid"); 643 | var _loc7_:int = _loc2_.GetItemAsInt("uid"); 644 | var _loc8_:Encode = new Encode(); 645 | _loc8_.AddItem("type","sdcr"); 646 | _loc8_.AddItem_int("rid",_loc6_); 647 | _loc8_.AddItem_int("sdid",_loc3_); 648 | _loc8_.AddItem_int("trid",_loc4_); 649 | _loc8_.AddItem_int("uid",this.my_uid); 650 | _loc8_.AddItem("content",_loc5_); 651 | var _loc9_:String = Util.getGuid(); 652 | _loc8_.AddItem("did",_loc9_); 653 | var _loc10_:String = _loc8_.Get_SttString(); 654 | this._conn.sendmsg(_loc10_); 655 | //$.jscall("console.log","sdmcount1"); 656 | } 657 | 658 | public function hbRequest(param1:String) : void 659 | { 660 | if(this._conn == null) 661 | { 662 | return; 663 | } 664 | this._conn.sendmsg(param1); 665 | //$.jscall("console.log","hbq:" + param1); 666 | } 667 | 668 | public function roomSignUp() : void 669 | { 670 | if(this._conn == null) 671 | { 672 | return; 673 | } 674 | var _loc1_:Encode = new Encode(); 675 | _loc1_.AddItem("type","signinq"); 676 | var _loc2_:String = _loc1_.Get_SttString(); 677 | this._conn.sendmsg(_loc2_); 678 | //$.jscall("console.log","房间签到请求"); 679 | } 680 | 681 | public function shareSuccess(param1:Number) : void 682 | { 683 | if(this._conn == null || Param.isLoginUser == 0) 684 | { 685 | return; 686 | } 687 | var _loc2_:Encode = new Encode(); 688 | _loc2_.AddItem("type","srreq"); 689 | _loc2_.AddItem_int("rid",this.roomId); 690 | _loc2_.AddItem_int("uid",this.my_uid); 691 | _loc2_.AddItem("nickname",this.my_nickname); 692 | _loc2_.AddItem_int("exp",param1); 693 | this._conn.sendmsg(_loc2_.Get_SttString()); 694 | //$.jscall("console.log","share request"); 695 | } 696 | 697 | private function ParseMsg(param1:TcpEvent) : void 698 | { 699 | var _loc5_:Number = NaN; 700 | var _loc6_:int = 0; 701 | var _loc2_:String = param1._param as String; 702 | var _loc3_:Decode = new Decode(); 703 | _loc3_.Parse(_loc2_); 704 | var _loc4_:String = _loc3_.GetItem("type"); 705 | if(_loc4_ != "keeplive" && _loc4_ != "chatmessage" && _loc4_ != "chatmsg") 706 | { 707 | //$.jscall("console.log","网络数据 [%s]",_loc2_); 708 | } 709 | if(_loc4_ == "loginres") 710 | { 711 | this.secondTime = getTimer(); 712 | _loc5_ = this.secondTime - this.firstTime; 713 | if(_loc5_ >= 2000) 714 | { 715 | _loc6_ = new Date().time / 1000; 716 | UserBehaviorLog.getInstance().sendChatLog(UserBehaviorLog.POINT_ID_LOGIN_SERVER,_loc6_,{ 717 | "id":Param.ServerIp + ":" + Param.ServerPort, 718 | "lag":_loc5_ 719 | }); 720 | } 721 | this.ServerLoginInfo(_loc2_); 722 | this.reqOnlineGift(); 723 | this.KeepLive(); 724 | EventCenter.dispatch("login",{"code":0}); 725 | } 726 | else if(_loc4_ == "sui") 727 | { 728 | this.ServerUserInfoContent(_loc3_); 729 | } 730 | else if(_loc4_ == "chatmessage") 731 | { 732 | this.ServerChatContent(_loc3_); 733 | } 734 | else if(_loc4_ == "keeplive") 735 | { 736 | this.ServerKeepLive(_loc3_); 737 | } 738 | else if(_loc4_ == "setadminres") 739 | { 740 | this.ServerSetAdmin(_loc2_); 741 | } 742 | else if(_loc4_ == "blackres") 743 | { 744 | this.ServerBlackUser(_loc3_); 745 | } 746 | else if(_loc4_ == "roomrefresh") 747 | { 748 | this.ServerRoomRefresh(_loc3_); 749 | } 750 | else if(_loc4_ == "error") 751 | { 752 | this.ServerError(_loc3_); 753 | } 754 | else if(_loc4_ == "rss") 755 | { 756 | this.ServerShowStatus(_loc3_); 757 | } 758 | else if(_loc4_ == "msgrepeaterlist") 759 | { 760 | this.ServerRepeaterlist(_loc3_); 761 | } 762 | else if(_loc4_ == "setmsggroup") 763 | { 764 | this.ServerSetGroup(_loc3_); 765 | } 766 | else if(_loc4_ == "joingroup") 767 | { 768 | this.ServerJoinGroup(_loc3_); 769 | } 770 | else if(_loc4_ == "rsm") 771 | { 772 | this.systemBroadcast(_loc2_); 773 | } 774 | else if(_loc4_ == "donateres") 775 | { 776 | this.fishPresent(_loc2_); 777 | } 778 | else if(_loc4_ == "qtlr") 779 | { 780 | this.taskList(_loc2_); 781 | } 782 | else if(_loc4_ == "qtlnr") 783 | { 784 | this.taskNum(_loc2_); 785 | } 786 | else if(_loc4_ == "gftr") 787 | { 788 | this.obtainTaskRes(_loc2_); 789 | } 790 | else if(_loc4_ == "signinr") 791 | { 792 | this.roomSignUpRes(_loc2_); 793 | } 794 | else if(_loc4_ == "resog") 795 | { 796 | this.onlineGiftRes(_loc3_); 797 | } 798 | else if(_loc4_ == "gbmres") 799 | { 800 | this.keyTitlesRes(_loc2_); 801 | } 802 | else if(_loc4_ != "rdr") 803 | { 804 | if(_loc4_ != "scl") 805 | { 806 | if(_loc4_ == "common_call") 807 | { 808 | this.baoXuetime(_loc2_); 809 | } 810 | else if(_loc4_ == "chatmsgrep") 811 | { 812 | this.reportBarrage(_loc2_); 813 | } 814 | else if(_loc4_ == "adminnotify") 815 | { 816 | this.identityChange(_loc3_); 817 | } 818 | else if(_loc4_ == "ranklist") 819 | { 820 | this.rewardListResponse(_loc2_); 821 | } 822 | else if(_loc4_ == "mailnewreq") 823 | { 824 | this.emailNotify(_loc2_); 825 | } 826 | else if(_loc4_ == "gb") 827 | { 828 | this.updateYC(_loc2_); 829 | } 830 | else if(_loc4_ == "memberinfores") 831 | { 832 | this.roomInfoRes(_loc2_); 833 | } 834 | else if(_loc4_ == "qgpi_rsp") 835 | { 836 | this.giftPkgRes(_loc2_); 837 | } 838 | else if(_loc4_ == "dsgr") 839 | { 840 | this.giveFishBallres(_loc2_); 841 | } 842 | else if(_loc4_ == "refresh_flash") 843 | { 844 | this.reloadStreamNotify(); 845 | } 846 | else if(_loc4_ == "ggbr") 847 | { 848 | this.hbGetResponse(_loc2_); 849 | } 850 | else if(_loc4_ == "lvrs") 851 | { 852 | this.verResponse(_loc3_); 853 | } 854 | else if(_loc4_ == "saltr") 855 | { 856 | this.randomStrResponse(_loc3_); 857 | } 858 | else if(_loc4_ == "chatmsg") 859 | { 860 | this.newServerChatContent(_loc2_); 861 | } 862 | else if(_loc4_ == "chatres") 863 | { 864 | this.newChatRes(_loc2_); 865 | } 866 | else if(_loc4_ == "expnt") 867 | { 868 | this.expUpdate(_loc2_); 869 | } 870 | else if(_loc4_ == "notify_cgap") 871 | { 872 | this.gapNotify(_loc2_); 873 | } 874 | else if(_loc4_ == "initcl") 875 | { 876 | this.initChatLimit(_loc2_); 877 | } 878 | else if(_loc4_ == "pet_info") 879 | { 880 | this.christmasTree(_loc2_); 881 | } 882 | else if(_loc4_ == "bcrp") 883 | { 884 | this.petInfo(_loc2_); 885 | } 886 | else if(_loc4_ == "user_pets") 887 | { 888 | this.petReceived(_loc2_); 889 | } 890 | else if(_loc4_ == "alipayblackres") 891 | { 892 | this.alipayblackres(_loc3_); 893 | } 894 | else if(_loc4_ == "newblackres") 895 | { 896 | this.room_data_sys(_loc2_); 897 | } 898 | else if(_loc4_ == "ntmet") 899 | { 900 | this.room_data_sys(_loc2_); 901 | } 902 | else if(_loc4_ == "ncrmc") 903 | { 904 | this.room_data_sys(_loc2_); 905 | } 906 | else if(_loc4_ == "muteinfo") 907 | { 908 | this.room_data_sys(_loc2_); 909 | } 910 | else if(_loc4_ == "bdgo") 911 | { 912 | this.room_data_giftbat1(_loc2_); 913 | } 914 | } 915 | } 916 | } 917 | 918 | private function ServerLoginInfo(param1:String) : void 919 | { 920 | var randTime:int = 0; 921 | var str:String = param1; 922 | var _strdecode:Decode = new Decode(); 923 | _strdecode.Parse(str); 924 | var type:String = _strdecode.GetItem("type"); 925 | var userid:int = _strdecode.GetItemAsInt("userid"); 926 | var username:String = _strdecode.GetItem("username"); 927 | var nickname:String = _strdecode.GetItem("nickname"); 928 | var roomgroup:int = _strdecode.GetItemAsInt("roomgroup"); 929 | var sessionid:int = _strdecode.GetItemAsInt("sessionid"); 930 | var pg:int = _strdecode.GetItemAsInt("pg"); 931 | var live_stat:int = _strdecode.GetItemAsInt("live_stat"); 932 | var npv:int = _strdecode.GetItemAsInt("npv"); 933 | var ps:int = _strdecode.GetItemAsInt("ps"); 934 | var es:int = _strdecode.GetItemAsInt("es"); 935 | var best_dlev:int = _strdecode.GetItemAsInt("best_dlev"); 936 | var cur_lev:int = _strdecode.GetItemAsInt("cur_lev"); 937 | var is_illegal:int = _strdecode.GetItemAsInt("is_illegal"); 938 | var illegal_warning_content:String = _strdecode.GetItem("ill_ct"); 939 | var illegal_timestamp:Number = _strdecode.GetItemAsNumber("ill_ts"); 940 | var now:Number = _strdecode.GetItemAsNumber("now"); 941 | var nrc:int = _strdecode.GetItemAsInt("nrc"); 942 | var it:int = _strdecode.GetItemAsInt("it"); 943 | var its:int = _strdecode.GetItemAsInt("its"); 944 | var bdg:String = _strdecode.GetItem("bdg"); 945 | Param.isPs = npv; 946 | if(live_stat == 0 && (Boolean(Param.Status) || Param.IS_HOSTLIVE == 1 || Param.usergroupid == "5")) 947 | { 948 | if(Param.IS_HOSTLIVE == 1 || Param.usergroupid == "5") 949 | { 950 | //$.jscall("console.log","ServerShowStatus0 =" + 0); 951 | this.dispatcher.dispatchEvent(new Event("ServerShowStatus")); 952 | //$.asTojs("room_bus_clswatchtip"); 953 | } 954 | else 955 | { 956 | clearTimeout(this.end2TimeIndex); 957 | randTime = int(Math.random() * 30); 958 | //$.jscall("console.log","ServerShowStatus0 =" + randTime); 959 | this.end2TimeIndex = setTimeout(function():void 960 | { 961 | dispatcher.dispatchEvent(new Event("ServerShowStatus")); 962 | //$.asTojs("room_bus_clswatchtip"); 963 | },randTime * 1000); 964 | } 965 | } 966 | if((nrc & 2) != 0) 967 | { 968 | EventCenter.dispatch("PwdNotifyEvent",{"type":1}); 969 | } 970 | this.my_uid = userid; 971 | Param.uid = userid; 972 | Param.userId = this.my_uid.toString(); 973 | this.my_username = username; 974 | this.my_nickname = nickname; 975 | this.my_roomgroup = roomgroup; 976 | GlobalData.isYouke = this.my_roomgroup; 977 | GlobalData.rg = roomgroup; 978 | GlobalData.pg = pg; 979 | if(GlobalData.isYouke == 0) 980 | { 981 | Param.userId = "0"; 982 | } 983 | var _strencode:Encode = new Encode(); 984 | _strencode.AddItem("type",type); 985 | _strencode.AddItem_int("userid",userid); 986 | _strencode.AddItem("nickname",nickname); 987 | _strencode.AddItem_int("roomgroup",this.my_roomgroup); 988 | _strencode.AddItem_int("pg",pg); 989 | _strencode.AddItem_int("best_dlev",best_dlev); 990 | _strencode.AddItem_int("cur_lev",cur_lev); 991 | _strencode.AddItem_int("is_illegal",is_illegal); 992 | _strencode.AddItem("ill_ct",illegal_warning_content); 993 | _strencode.AddItem_int("ill_ts",illegal_timestamp); 994 | _strencode.AddItem_int("now",now); 995 | _strencode.AddItem_int("ps",ps); 996 | _strencode.AddItem_int("es",es); 997 | _strencode.AddItem_int("nrc",nrc); 998 | _strencode.AddItem_int("it",it); 999 | _strencode.AddItem_int("its",its); 1000 | _strencode.AddItem_int("npv",npv); 1001 | _strencode.AddItem("bdg",bdg); 1002 | var loginres:String = _strencode.Get_SttString(); 1003 | //$.jscall("console.log","isYouke =" + GlobalData.isYouke + " live_stat =" + live_stat + " roomgroup =" + roomgroup + " npv =" + npv + "&& return_tourist",loginres); 1004 | if(GlobalData.OldModel) 1005 | { 1006 | //$.asTojs("room_data_login",loginres); 1007 | } 1008 | else 1009 | { 1010 | //$.asTojs("room_data_login",str); 1011 | } 1012 | if(this.myTimer == null) 1013 | { 1014 | this.myTimer = new Timer(this.per_keep_live * 1000,0); 1015 | this.myTimer.addEventListener(TimerEvent.TIMER,this.KeepLive,false,0,true); 1016 | this.myTimer.start(); 1017 | } 1018 | else 1019 | { 1020 | this.myTimer.reset(); 1021 | this.myTimer.start(); 1022 | } 1023 | EventCenter.dispatch("userRGEvent",null); 1024 | if(is_illegal == 1) 1025 | { 1026 | Util.dispatchIllegal(1,now - illegal_timestamp); 1027 | } 1028 | } 1029 | 1030 | public function reqOnlineGift() : void 1031 | { 1032 | var _loc1_:Encode = null; 1033 | var _loc2_:String = null; 1034 | var _loc3_:int = 0; 1035 | var _loc4_:int = 0; 1036 | var _loc5_:int = 0; 1037 | if(this._conn == null) 1038 | { 1039 | return; 1040 | } 1041 | if(GlobalData.isYouke != 0) 1042 | { 1043 | _loc1_ = new Encode(); 1044 | _loc1_.AddItem("type","reqog"); 1045 | _loc1_.AddItem_int("uid",this.my_uid); 1046 | _loc2_ = _loc1_.Get_SttString(); 1047 | _loc3_ = CModule.malloc(4); 1048 | _loc4_ = loaderDanmu.danmakuGetTaskTimeData(this.my_uid,_loc3_); 1049 | _loc5_ = CModule.read32(_loc3_); 1050 | this._conn.sendmsg(CModule.readString(_loc5_,_loc4_)); 1051 | loaderDanmu.danmakuFreeData(_loc3_); 1052 | CModule.free(_loc3_); 1053 | //$.jscall("console.log","在线宝箱请求 "); 1054 | } 1055 | } 1056 | 1057 | private function presonalInfoReq() : void 1058 | { 1059 | if(this._conn == null) 1060 | { 1061 | return; 1062 | } 1063 | var _loc1_:Encode = new Encode(); 1064 | _loc1_.AddItem("type","memberinforeq"); 1065 | _loc1_.AddItem("link",GlobalData.domainName); 1066 | var _loc2_:String = _loc1_.Get_SttString(); 1067 | this._conn.sendmsg(_loc2_); 1068 | //$.jscall("console.log","ifrq "); 1069 | } 1070 | 1071 | private function ServerUserInfoContent(param1:Decode) : void 1072 | { 1073 | var _loc2_:String = param1.GetItem("sui"); 1074 | var _loc3_:Decode = new Decode(); 1075 | _loc3_.Parse(_loc2_); 1076 | var _loc4_:int = _loc3_.GetItemAsInt("id"); 1077 | var _loc5_:String = _loc3_.GetItem("name"); 1078 | var _loc6_:String = _loc3_.GetItem("nick"); 1079 | var _loc7_:int = _loc3_.GetItemAsInt("rg"); 1080 | var _loc8_:int = _loc3_.GetItemAsInt("bg"); 1081 | var _loc9_:int = _loc3_.GetItemAsInt("pg"); 1082 | var _loc10_:int = _loc3_.GetItemAsInt("rt"); 1083 | var _loc11_:Number = _loc3_.GetItemAsNumber("weight"); 1084 | var _loc12_:Number = _loc3_.GetItemAsNumber("strength"); 1085 | var _loc13_:int = _loc3_.GetItemAsInt("cps_id"); 1086 | } 1087 | 1088 | private function ServerChatContent(param1:Decode) : void 1089 | { 1090 | var _loc27_:Encode = null; 1091 | var _loc28_:String = null; 1092 | var _loc29_:String = null; 1093 | var _loc30_:String = null; 1094 | var _loc31_:Boolean = false; 1095 | var _loc32_:Number = NaN; 1096 | var _loc33_:int = 0; 1097 | var _loc34_:int = 0; 1098 | var _loc35_:Encode = null; 1099 | var _loc2_:int = param1.GetItemAsInt("rescode"); 1100 | var _loc3_:int = param1.GetItemAsInt("time"); 1101 | var _loc4_:int = param1.GetItemAsInt("sender"); 1102 | var _loc5_:int = param1.GetItemAsInt("receiver"); 1103 | var _loc6_:String = param1.GetItem("content"); 1104 | var _loc7_:String = param1.GetItem("scope"); 1105 | var _loc8_:String = param1.GetItem("snick"); 1106 | var _loc9_:String = param1.GetItem("dnick"); 1107 | var _loc10_:int = param1.GetItemAsInt("cd"); 1108 | var _loc11_:String = param1.GetItem("sui"); 1109 | var _loc12_:String = param1.GetItem("chatmsgid"); 1110 | var _loc13_:int = param1.GetItemAsInt("maxl"); 1111 | var _loc14_:int = param1.GetItemAsInt("col"); 1112 | var _loc15_:int = param1.GetItemAsInt("ct"); 1113 | GlobalData.chatMaxChars = _loc13_; 1114 | var _loc16_:Decode = new Decode(); 1115 | _loc16_.Parse(_loc11_); 1116 | var _loc17_:int = _loc16_.GetItemAsInt("rg"); 1117 | var _loc18_:int = _loc16_.GetItemAsInt("pg"); 1118 | var _loc19_:int = _loc16_.GetItemAsInt("m_deserve_lev"); 1119 | var _loc20_:int = _loc16_.GetItemAsInt("cq_cnt"); 1120 | var _loc21_:int = _loc16_.GetItemAsInt("best_dlev"); 1121 | var _loc22_:int = _loc16_.GetItemAsInt("level"); 1122 | var _loc23_:int = _loc16_.GetItemAsInt("gt"); 1123 | var _loc24_:String = _loc16_.GetItem("shark"); 1124 | var _loc25_:int = _loc16_.GetItemAsInt("naat"); 1125 | var _loc26_:int = _loc16_.GetItemAsInt("nrt"); 1126 | if(_loc2_ == 0) 1127 | { 1128 | _loc27_ = new Encode(); 1129 | _loc27_.AddItem("type","chatmessage"); 1130 | _loc27_.AddItem_int("rescode",_loc2_); 1131 | if(_loc4_) 1132 | { 1133 | _loc27_.AddItem("sender_nickname",_loc8_); 1134 | _loc27_.AddItem_int("sender",_loc4_); 1135 | } 1136 | else 1137 | { 1138 | _loc27_.AddItem_int("sender",_loc4_); 1139 | } 1140 | _loc27_.AddItem_int("receiver",_loc5_); 1141 | if(_loc5_ != 0) 1142 | { 1143 | _loc27_.AddItem("receiver_nickname",_loc9_); 1144 | } 1145 | else 1146 | { 1147 | _loc27_.AddItem("receiver_nickname",""); 1148 | } 1149 | _loc27_.AddItem("content",_loc6_); 1150 | _loc27_.AddItem_int("roomgroup",1); 1151 | _loc27_.AddItem_int("cd",_loc10_); 1152 | _loc27_.AddItem_int("sender_rg",_loc17_); 1153 | _loc27_.AddItem_int("sender_pg",_loc18_); 1154 | if(_loc7_ == "private") 1155 | { 1156 | _loc27_.AddItem("chatmsgid",_loc12_); 1157 | _loc28_ = _loc27_.Get_SttString(); 1158 | //$.asTojs("room_data_chatpri",_loc28_); 1159 | } 1160 | else 1161 | { 1162 | _loc27_.AddItem_int("time",_loc3_); 1163 | _loc27_.AddItem_int("maxl",_loc13_); 1164 | _loc27_.AddItem_int("m_deserve_lev",_loc19_); 1165 | _loc27_.AddItem("chatmsgid",_loc12_); 1166 | _loc27_.AddItem_int("cq_cnt",_loc20_); 1167 | _loc27_.AddItem_int("col",_loc14_); 1168 | _loc27_.AddItem_int("ct",_loc15_); 1169 | _loc27_.AddItem_int("best_dlev",_loc21_); 1170 | _loc27_.AddItem_int("level",_loc22_); 1171 | _loc27_.AddItem_int("gt",_loc23_); 1172 | _loc27_.AddItem("shark",_loc24_); 1173 | _loc27_.AddItem_int("naat",_loc25_); 1174 | _loc27_.AddItem_int("nrt",_loc26_); 1175 | _loc29_ = _loc27_.Get_SttString(); 1176 | //$.asTojs("room_data_chat",_loc29_); 1177 | if(this.myblacklist.indexOf(_loc4_.toString()) == -1) 1178 | { 1179 | _loc30_ = Util.facereplace(_loc6_); 1180 | if(_loc30_ != "") 1181 | { 1182 | _loc31_ = _loc4_ == this.my_uid?true:false; 1183 | if(_loc31_) 1184 | { 1185 | _loc32_ = new Date().time; 1186 | _loc33_ = _loc32_ - this.sendTime; 1187 | if(_loc33_ >= 1000) 1188 | { 1189 | _loc34_ = this.sendTime / 1000; 1190 | UserBehaviorLog.getInstance().sendChatLog(UserBehaviorLog.POINT_ID_CHAT_DELAY,_loc34_,{ 1191 | "id":this.barrage_Conn.ip + ":" + this.barrage_Conn.port, 1192 | "lag":_loc33_ 1193 | }); 1194 | } 1195 | } 1196 | if(_loc14_ == 0) 1197 | { 1198 | CommentTime.instance.start(new SingleCommentData(_loc30_,Util.getColor(_loc14_),GlobalData.textSizeValue,getTimer(),_loc31_,GlobalData.danmuModel)); 1199 | } 1200 | else 1201 | { 1202 | ColorComentManager.instance.addColorData({ 1203 | "type":_loc14_, 1204 | "sender":_loc8_, 1205 | "content":_loc30_ 1206 | }); 1207 | } 1208 | } 1209 | } 1210 | } 1211 | } 1212 | else if(_loc2_ == 289 || _loc2_ == 290 || _loc2_ == 294 || _loc2_ == 363) 1213 | { 1214 | _loc35_ = new Encode(); 1215 | _loc35_.AddItem("type","chatmessage"); 1216 | _loc35_.AddItem_int("rescode",_loc2_); 1217 | if(_loc4_) 1218 | { 1219 | _loc35_.AddItem("sender_nickname",_loc8_); 1220 | _loc35_.AddItem_int("sender",_loc4_); 1221 | } 1222 | else 1223 | { 1224 | _loc35_.AddItem_int("sender",_loc4_); 1225 | } 1226 | //$.asTojs("room_data_chat",_loc35_.Get_SttString()); 1227 | } 1228 | else if(_loc2_ == 2) 1229 | { 1230 | //$.asTojs("room_data_sys","您已被禁言"); 1231 | } 1232 | else if(_loc2_ == 5) 1233 | { 1234 | //$.asTojs("room_data_sys","全站禁言"); 1235 | } 1236 | else if(_loc2_ == 208) 1237 | { 1238 | //$.asTojs("room_data_sys","目标用户未找到"); 1239 | } 1240 | else if(_loc2_ == 206) 1241 | { 1242 | //$.asTojs("room_data_per","平民5及以下等级用户禁止私聊,赶紧升级吧~"); 1243 | } 1244 | } 1245 | 1246 | private function newServerChatContent(param1:String) : void 1247 | { 1248 | var _loc7_:String = null; 1249 | var _loc8_:Boolean = false; 1250 | var _loc9_:Number = NaN; 1251 | var _loc10_:int = 0; 1252 | var _loc11_:int = 0; 1253 | var _loc2_:Decode = new Decode(); 1254 | _loc2_.Parse(param1); 1255 | var _loc3_:int = _loc2_.GetItemAsInt("uid"); 1256 | var _loc4_:String = _loc2_.GetItem("txt"); 1257 | var _loc5_:int = _loc2_.GetItemAsInt("col"); 1258 | var _loc6_:String = _loc2_.GetItem("nn"); 1259 | if(this.myblacklist.indexOf(_loc3_.toString()) == -1) 1260 | { 1261 | _loc7_ = Util.facereplace(_loc4_); 1262 | if(_loc7_ != "") 1263 | { 1264 | _loc8_ = _loc3_ == this.my_uid?true:false; 1265 | if(_loc8_) 1266 | { 1267 | _loc9_ = new Date().time; 1268 | _loc10_ = _loc9_ - this.sendTime; 1269 | if(_loc10_ >= 1000) 1270 | { 1271 | _loc11_ = this.sendTime / 1000; 1272 | UserBehaviorLog.getInstance().sendChatLog(UserBehaviorLog.POINT_ID_CHAT_DELAY,_loc11_,{ 1273 | "id":this.barrage_Conn.ip + ":" + this.barrage_Conn.port, 1274 | "lag":_loc10_ 1275 | }); 1276 | } 1277 | } 1278 | if(_loc5_ == 0) 1279 | { 1280 | CommentTime.instance.start(new SingleCommentData(_loc7_,Util.getColor(_loc5_),GlobalData.textSizeValue,getTimer(),_loc8_,GlobalData.danmuModel)); 1281 | } 1282 | else 1283 | { 1284 | ColorComentManager.instance.addColorData({ 1285 | "type":_loc5_, 1286 | "sender":_loc6_, 1287 | "content":_loc7_ 1288 | }); 1289 | } 1290 | } 1291 | } 1292 | //$.asTojs("room_data_chat2",param1); 1293 | } 1294 | 1295 | private function newChatRes(param1:String) : void 1296 | { 1297 | var _loc5_:int = 0; 1298 | var _loc6_:String = null; 1299 | var _loc7_:int = 0; 1300 | var _loc8_:String = null; 1301 | var _loc9_:String = null; 1302 | var _loc10_:Boolean = false; 1303 | var _loc11_:Number = NaN; 1304 | var _loc12_:int = 0; 1305 | var _loc13_:int = 0; 1306 | var _loc2_:Decode = new Decode(); 1307 | _loc2_.Parse(param1); 1308 | var _loc3_:int = _loc2_.GetItemAsInt("len"); 1309 | var _loc4_:int = _loc2_.GetItemAsInt("res"); 1310 | GlobalData.chatMaxChars = _loc3_; 1311 | //$.asTojs("room_data_chat2",param1); 1312 | if(_loc4_ == 356 || _loc4_ == 288) 1313 | { 1314 | _loc5_ = _loc2_.GetItemAsInt("uid"); 1315 | _loc6_ = _loc2_.GetItem("txt"); 1316 | _loc7_ = _loc2_.GetItemAsInt("col"); 1317 | _loc8_ = _loc2_.GetItem("nn"); 1318 | if(this.myblacklist.indexOf(_loc5_.toString()) == -1) 1319 | { 1320 | _loc9_ = Util.facereplace(_loc6_); 1321 | if(_loc9_ != "") 1322 | { 1323 | _loc10_ = _loc5_ == this.my_uid?true:false; 1324 | if(_loc10_) 1325 | { 1326 | _loc11_ = new Date().time; 1327 | _loc12_ = _loc11_ - this.sendTime; 1328 | if(_loc12_ >= 1000) 1329 | { 1330 | _loc13_ = this.sendTime / 1000; 1331 | UserBehaviorLog.getInstance().sendChatLog(UserBehaviorLog.POINT_ID_CHAT_DELAY,_loc13_,{ 1332 | "id":this.barrage_Conn.ip + ":" + this.barrage_Conn.port, 1333 | "lag":_loc12_ 1334 | }); 1335 | } 1336 | } 1337 | if(_loc7_ == 0) 1338 | { 1339 | CommentTime.instance.start(new SingleCommentData(_loc9_,Util.getColor(_loc7_),GlobalData.textSizeValue,getTimer(),_loc10_,GlobalData.danmuModel)); 1340 | } 1341 | else 1342 | { 1343 | ColorComentManager.instance.addColorData({ 1344 | "type":_loc7_, 1345 | "sender":_loc8_, 1346 | "content":_loc9_ 1347 | }); 1348 | } 1349 | } 1350 | } 1351 | } 1352 | } 1353 | 1354 | private function ServerKeepLive(param1:Decode) : void 1355 | { 1356 | var _loc2_:int = param1.GetItemAsInt("tick"); 1357 | var _loc3_:int = param1.GetItemAsInt("usernum"); 1358 | var _loc4_:Encode = new Encode(); 1359 | _loc4_.AddItem("type","keeplive"); 1360 | _loc4_.AddItem_int("tick",_loc2_); 1361 | var _loc5_:String = _loc4_.Get_SttString(); 1362 | this.keep_online = this.keep_online + this.per_keep_live; 1363 | this.user_count = param1.GetItemAsInt("uc"); 1364 | Param.currentNum = this.user_count; 1365 | //$.asTojs("room_data_userc",this.user_count); 1366 | if(Param.isYinghun) 1367 | { 1368 | EventCenter.dispatch("TitleBarDataEvent",{"uc":this.user_count}); 1369 | } 1370 | } 1371 | 1372 | private function ServerSetAdmin(param1:String) : void 1373 | { 1374 | var _loc2_:Decode = new Decode(); 1375 | _loc2_.Parse(param1); 1376 | var _loc3_:int = _loc2_.GetItemAsInt("rescode"); 1377 | var _loc4_:int = _loc2_.GetItemAsInt("userid"); 1378 | var _loc5_:int = _loc2_.GetItemAsInt("opuid"); 1379 | var _loc6_:int = _loc2_.GetItemAsInt("group"); 1380 | var _loc7_:String = _loc2_.GetItem("adnick"); 1381 | var _loc8_:Encode = new Encode(); 1382 | _loc8_.AddItem_int("rescode",_loc3_); 1383 | if(_loc3_ == 0) 1384 | { 1385 | _loc8_.AddItem_int("userid",_loc4_); 1386 | _loc8_.AddItem_int("group",_loc6_); 1387 | _loc8_.AddItem_int("opuid",_loc5_); 1388 | _loc8_.AddItem("adnick",_loc7_); 1389 | } 1390 | var _loc9_:String = _loc8_.Get_SttString(); 1391 | //$.jscall("console.log","setadm: [%s]",param1); 1392 | if(GlobalData.OldModel) 1393 | { 1394 | //$.asTojs("room_data_setadm",_loc9_); 1395 | } 1396 | else 1397 | { 1398 | //$.asTojs("room_data_setadm",param1); 1399 | } 1400 | } 1401 | 1402 | private function ServerBlackUser(param1:Decode) : void 1403 | { 1404 | var _loc8_:* = null; 1405 | var _loc9_:* = null; 1406 | var _loc10_:Encode = null; 1407 | var _loc11_:String = null; 1408 | var _loc2_:int = param1.GetItemAsInt("rescode"); 1409 | var _loc3_:int = param1.GetItemAsInt("userid"); 1410 | var _loc4_:int = param1.GetItemAsInt("blacktype"); 1411 | var _loc5_:int = param1.GetItemAsInt("limittime"); 1412 | var _loc6_:String = param1.GetItem("dnick"); 1413 | var _loc7_:String = param1.GetItem("snick"); 1414 | if(_loc2_ == 0) 1415 | { 1416 | if(_loc4_ == 1) 1417 | { 1418 | _loc9_ = _loc6_ + "被管理员" + _loc7_ + "封锁IP"; 1419 | _loc8_ = "您已被管理员" + _loc7_ + "封锁IP,封锁时间:" + _loc5_ + "秒"; 1420 | } 1421 | else if(_loc4_ == 2 || _loc4_ == 4) 1422 | { 1423 | if(_loc5_ != 0) 1424 | { 1425 | _loc9_ = _loc6_ + "被管理员" + _loc7_ + "禁言"; 1426 | _loc8_ = "您已被管理员" + _loc7_ + "禁言,禁言时间:" + _loc5_ + "秒"; 1427 | } 1428 | else 1429 | { 1430 | _loc9_ = _loc6_ + "被管理员解除禁言"; 1431 | _loc8_ = "您已被管理员解禁"; 1432 | } 1433 | } 1434 | else if(_loc4_ == 3) 1435 | { 1436 | _loc9_ = _loc6_ + "被管理员" + _loc7_ + "T出房间"; 1437 | _loc8_ = "您已被管理员" + _loc7_ + "封锁帐号,封锁时间:" + _loc5_ + "秒"; 1438 | } 1439 | if(this.my_uid == _loc3_) 1440 | { 1441 | //$.jscall("console.log","forbidTip:",_loc8_); 1442 | //$.asTojs("room_data_per",_loc8_); 1443 | if(_loc4_ == 1 && _loc4_ == 3) 1444 | { 1445 | this.clean_conn_timer(); 1446 | } 1447 | } 1448 | //$.asTojs("room_data_sys",_loc9_); 1449 | } 1450 | else 1451 | { 1452 | _loc10_ = new Encode(); 1453 | _loc10_.AddItem_int("rescode",_loc2_); 1454 | _loc11_ = _loc10_.Get_SttString(); 1455 | //$.asTojs("room_data_admfail",_loc11_); 1456 | } 1457 | } 1458 | 1459 | private function ServerRoomRefresh(param1:Decode) : void 1460 | { 1461 | this.serialnum = param1.GetItemAsInt("serialnum"); 1462 | this.user_count = param1.GetItemAsInt("c"); 1463 | Param.currentNum = this.user_count; 1464 | //$.asTojs("room_data_userc",this.user_count); 1465 | } 1466 | 1467 | private function ServerError(param1:Decode) : void 1468 | { 1469 | var randTime:int = 0; 1470 | var _strdecode:Decode = param1; 1471 | this.clean_conn_timer(); 1472 | var code:int = _strdecode.GetItemAsInt("code"); 1473 | code = code % 10000; 1474 | var _strencode:Encode = new Encode(); 1475 | _strencode.AddItem("type","error"); 1476 | _strencode.AddItem_int("code",code); 1477 | var server_error_str:String = _strencode.Get_SttString(); 1478 | //$.jscall("console.log","server_error [%s]",server_error_str); 1479 | if(code == 205) 1480 | { 1481 | //$.asTojs("room_data_sererr",server_error_str); 1482 | EventCenter.dispatch("login",{"code":1}); 1483 | } 1484 | if(code == 52) 1485 | { 1486 | if(Param.IS_HOSTLIVE == 1 || Param.usergroupid == "5") 1487 | { 1488 | //$.jscall("console.log","ServerShowStatus0 =" + 1); 1489 | //$.asTojs("room_data_sererr",this.endError); 1490 | this.dispatcher.dispatchEvent(new Event("ServerShowStatus")); 1491 | } 1492 | else 1493 | { 1494 | this.endError = server_error_str; 1495 | clearTimeout(this.endTimeIndex0); 1496 | randTime = int(Math.random() * 30); 1497 | //$.jscall("console.log","ServerShowStatus0 =" + randTime); 1498 | this.endTimeIndex0 = setTimeout(function():void 1499 | { 1500 | //$.asTojs("room_data_sererr",endError); 1501 | dispatcher.dispatchEvent(new Event("ServerShowStatus")); 1502 | },randTime * 1000); 1503 | } 1504 | } 1505 | //$.asTojs("room_data_flaerr",code); 1506 | //$.jscall("console.log","flash error : "); 1507 | } 1508 | 1509 | private function ServerRepeaterlist(param1:Decode) : void 1510 | { 1511 | var _loc4_:Decode = null; 1512 | var _loc5_:int = 0; 1513 | var _loc6_:String = null; 1514 | var _loc7_:Decode = null; 1515 | var _loc2_:int = param1.GetItemAsInt("rid"); 1516 | var _loc3_:String = param1.GetItem("list"); 1517 | if(_loc3_ != "") 1518 | { 1519 | _loc4_ = new Decode(); 1520 | _loc4_.Parse(_loc3_); 1521 | _loc5_ = 0; 1522 | while(_loc5_ < _loc4_.count) 1523 | { 1524 | _loc6_ = _loc4_.GetItemByIndex(_loc5_); 1525 | _loc7_ = new Decode(); 1526 | _loc7_.Parse(_loc6_); 1527 | this.serverArray[_loc5_] = new Array(); 1528 | this.serverArray[_loc5_]["nr"] = _loc7_.GetItemAsInt("nr"); 1529 | this.serverArray[_loc5_]["ip"] = _loc7_.GetItem("ip"); 1530 | this.serverArray[_loc5_]["port"] = _loc7_.GetItemAsInt("port"); 1531 | _loc5_++; 1532 | } 1533 | if(this.barrage_Conn != null) 1534 | { 1535 | this.barrage_Conn.UserLogout(); 1536 | this.barrage_Conn.dispatcher.removeEventListener("ServerShowStatus",this.__ShowStatus); 1537 | this.barrage_Conn.clean_conn_timer(); 1538 | this.barrage_Conn = null; 1539 | } 1540 | this.barrage_Conn = new cc.dy.model.net.ClientBarrage(this._conn); 1541 | this.barrage_Conn.dispatcher.addEventListener("ServerShowStatus",this.__ShowStatus); 1542 | this.barrage_Conn.my_uid = this.my_uid; 1543 | this.barrage_Conn.my_username = this.my_username; 1544 | this.barrage_Conn.my_nickname = this.my_nickname; 1545 | this.barrage_Conn.roomId = this.roomId; 1546 | this.barrage_Conn.serverArray = this.serverArray; 1547 | this.barrage_Conn.OnChatMsg = this.ServerChatContent; 1548 | this.barrage_Conn.newOnChatMsg = this.newServerChatContent; 1549 | this.barrage_Conn.ConnectNewServer(); 1550 | } 1551 | } 1552 | 1553 | private function ServerSetGroup(param1:Decode) : void 1554 | { 1555 | var _loc2_:int = param1.GetItemAsInt("gid"); 1556 | this.barrage_Conn.my_gid = _loc2_; 1557 | this.barrage_Conn.UserJoinGroup(); 1558 | } 1559 | 1560 | private function ServerJoinGroup(param1:Decode) : void 1561 | { 1562 | } 1563 | 1564 | private function systemBroadcast(param1:String) : void 1565 | { 1566 | var _loc2_:Decode = new Decode(); 1567 | _loc2_.Parse(param1); 1568 | var _loc3_:int = _loc2_.GetItemAsInt("t"); 1569 | var _loc4_:int = _loc2_.GetItemAsInt("bt"); 1570 | var _loc5_:int = _loc2_.GetItemAsInt("vt"); 1571 | var _loc6_:String = _loc2_.GetItem("sn"); 1572 | var _loc7_:String = _loc2_.GetItem("c"); 1573 | var _loc8_:String = _loc2_.GetItem("url"); 1574 | var _loc9_:Encode = new Encode(); 1575 | _loc9_.AddItem_int("bt",_loc4_); 1576 | _loc9_.AddItem_int("vt",_loc5_); 1577 | _loc9_.AddItem("sn",_loc6_); 1578 | _loc9_.AddItem("c",_loc7_); 1579 | _loc9_.AddItem("url",_loc8_); 1580 | //$.jscall("console.log","sysbroad:",_loc9_.Get_SttString()); 1581 | if(GlobalData.OldModel) 1582 | { 1583 | //$.asTojs("room_data_brocast",_loc9_.Get_SttString()); 1584 | } 1585 | else 1586 | { 1587 | //$.asTojs("room_data_brocast",param1); 1588 | } 1589 | } 1590 | 1591 | private function fishPresent(param1:String) : void 1592 | { 1593 | var _loc2_:Decode = new Decode(); 1594 | _loc2_.Parse(param1); 1595 | var _loc3_:int = _loc2_.GetItemAsInt("r"); 1596 | var _loc4_:int = _loc2_.GetItemAsInt("mg"); 1597 | var _loc5_:int = _loc2_.GetItemAsInt("ms"); 1598 | var _loc6_:int = _loc2_.GetItemAsInt("gb"); 1599 | var _loc7_:int = _loc2_.GetItemAsInt("sb"); 1600 | var _loc8_:int = _loc2_.GetItemAsInt("hc"); 1601 | var _loc9_:String = _loc2_.GetItem("sui"); 1602 | var _loc10_:Number = _loc2_.GetItemAsNumber("src_strength"); 1603 | var _loc11_:Number = _loc2_.GetItemAsNumber("dst_weight"); 1604 | var _loc12_:Decode = new Decode(); 1605 | _loc12_.Parse(_loc9_); 1606 | var _loc13_:String = _loc12_.GetItem("nick"); 1607 | var _loc14_:Encode = new Encode(); 1608 | _loc14_.AddItem_int("r",_loc3_); 1609 | _loc14_.AddItem_int("mg",_loc4_); 1610 | _loc14_.AddItem_int("ms",_loc5_); 1611 | _loc14_.AddItem_int("gb",_loc6_); 1612 | _loc14_.AddItem_int("sb",_loc7_); 1613 | _loc14_.AddItem("sui",_loc9_); 1614 | _loc14_.AddItem_int("src_strength",_loc10_); 1615 | _loc14_.AddItem_int("dst_weight",_loc11_); 1616 | _loc14_.AddItem_int("hc",_loc8_); 1617 | _loc14_.AddItem("type","donateres"); 1618 | if(GlobalData.OldModel) 1619 | { 1620 | //$.asTojs("room_data_gift",_loc14_.Get_SttString()); 1621 | } 1622 | else 1623 | { 1624 | //$.asTojs("room_data_gift",param1); 1625 | } 1626 | if(Param.isYinghun) 1627 | { 1628 | EventCenter.dispatch("TitleBarDataEvent",{"weight":_loc11_}); 1629 | } 1630 | } 1631 | 1632 | private function taskList(param1:String) : void 1633 | { 1634 | var _loc2_:Decode = new Decode(); 1635 | _loc2_.Parse(param1); 1636 | var _loc3_:String = _loc2_.GetItem("list"); 1637 | var _loc4_:Encode = new Encode(); 1638 | _loc4_.AddItem("list",_loc3_); 1639 | //$.jscall("console.log","tkss:",_loc4_.Get_SttString()); 1640 | if(GlobalData.OldModel) 1641 | { 1642 | //$.asTojs("room_data_tasklis",_loc4_.Get_SttString()); 1643 | } 1644 | else 1645 | { 1646 | //$.asTojs("room_data_tasklis",param1); 1647 | } 1648 | } 1649 | 1650 | private function taskNum(param1:String) : void 1651 | { 1652 | var _loc2_:Decode = new Decode(); 1653 | _loc2_.Parse(param1); 1654 | var _loc3_:int = _loc2_.GetItemAsInt("ps"); 1655 | var _loc4_:Encode = new Encode(); 1656 | _loc4_.AddItem_int("ps",_loc3_); 1657 | //$.jscall("console.log","tkn:",_loc4_.Get_SttString()); 1658 | if(GlobalData.OldModel) 1659 | { 1660 | //$.asTojs("room_data_taskcou",_loc4_.Get_SttString()); 1661 | } 1662 | else 1663 | { 1664 | //$.asTojs("room_data_taskcou",param1); 1665 | } 1666 | } 1667 | 1668 | private function obtainTaskRes(param1:String) : void 1669 | { 1670 | var _loc2_:Decode = new Decode(); 1671 | _loc2_.Parse(param1); 1672 | var _loc3_:int = _loc2_.GetItemAsInt("r"); 1673 | var _loc4_:int = _loc2_.GetItemAsInt("tid"); 1674 | var _loc5_:int = _loc2_.GetItemAsInt("mg"); 1675 | var _loc6_:int = _loc2_.GetItemAsInt("ms"); 1676 | var _loc7_:Number = _loc2_.GetItemAsNumber("gb"); 1677 | var _loc8_:Number = _loc2_.GetItemAsNumber("sb"); 1678 | var _loc9_:Encode = new Encode(); 1679 | _loc9_.AddItem_int("r",_loc3_); 1680 | _loc9_.AddItem_int("tid",_loc4_); 1681 | _loc9_.AddItem_int("mg",_loc5_); 1682 | _loc9_.AddItem_int("ms",_loc6_); 1683 | _loc9_.AddItem_int("gb",_loc7_); 1684 | _loc9_.AddItem_int("sb",_loc8_); 1685 | //$.jscall("console.log","rtkr:",_loc9_.Get_SttString()); 1686 | if(GlobalData.OldModel) 1687 | { 1688 | //$.asTojs("room_data_taskrec",_loc9_.Get_SttString()); 1689 | } 1690 | else 1691 | { 1692 | //$.asTojs("room_data_taskrec",param1); 1693 | } 1694 | } 1695 | 1696 | private function roomSignUpRes(param1:String) : void 1697 | { 1698 | var _loc2_:Decode = new Decode(); 1699 | _loc2_.Parse(param1); 1700 | var _loc3_:int = _loc2_.GetItemAsInt("r"); 1701 | var _loc4_:int = _loc2_.GetItemAsInt("sc"); 1702 | var _loc5_:Encode = new Encode(); 1703 | _loc5_.AddItem_int("r",_loc3_); 1704 | _loc5_.AddItem_int("sc",_loc4_); 1705 | //$.jscall("console.log","rsignr:",_loc5_.Get_SttString()); 1706 | if(GlobalData.OldModel) 1707 | { 1708 | //$.asTojs("room_data_tasksign",_loc5_.Get_SttString()); 1709 | } 1710 | else 1711 | { 1712 | //$.asTojs("room_data_tasksign",param1); 1713 | } 1714 | } 1715 | 1716 | private function onlineGiftRes(param1:Decode) : void 1717 | { 1718 | var _loc2_:int = param1.GetItemAsInt("lv"); 1719 | var _loc3_:int = param1.GetItemAsInt("t"); 1720 | var _loc4_:int = param1.GetItemAsInt("dl"); 1721 | var _loc5_:Encode = new Encode(); 1722 | _loc5_.AddItem_int("lev",_loc2_); 1723 | _loc5_.AddItem_int("lack_time",_loc3_); 1724 | _loc5_.AddItem_int("dl",_loc4_); 1725 | //$.jscall("console.log","onlineTreasurer:",_loc5_.Get_SttString()); 1726 | //$.asTojs("room_data_chest",_loc5_.Get_SttString()); 1727 | } 1728 | 1729 | private function keyTitlesRes(param1:String) : void 1730 | { 1731 | var _loc2_:Decode = new Decode(); 1732 | _loc2_.Parse(param1); 1733 | var _loc3_:int = _loc2_.GetItemAsInt("uid"); 1734 | var _loc4_:String = _loc2_.GetItem("uname"); 1735 | var _loc5_:int = _loc2_.GetItemAsInt("ret"); 1736 | var _loc6_:Encode = new Encode(); 1737 | _loc6_.AddItem("uname",_loc4_); 1738 | _loc6_.AddItem_int("ret",_loc5_); 1739 | _loc6_.AddItem_int("uid",_loc3_); 1740 | //$.jscall("console.log","keytitler:",_loc6_.Get_SttString()); 1741 | if(GlobalData.OldModel) 1742 | { 1743 | //$.asTojs("room_data_onekeyacc",_loc6_.Get_SttString()); 1744 | } 1745 | else 1746 | { 1747 | //$.asTojs("room_data_onekeyacc",param1); 1748 | } 1749 | } 1750 | 1751 | private function giveFishBall(param1:String) : void 1752 | { 1753 | var _strdecode:Decode = null; 1754 | var r:int = 0; 1755 | var ms:int = 0; 1756 | var sb:Number = NaN; 1757 | var strength:Number = NaN; 1758 | var _strencode:Encode = null; 1759 | var str:String = param1; 1760 | _strdecode = new Decode(); 1761 | _strdecode.Parse(str); 1762 | r = _strdecode.("r"); 1763 | ms = _strdecode.GetItemAsInt("ms"); 1764 | sb = _strdecode.GetItemAsNumber("sb"); 1765 | strength = _strdecode.GetItemAsNumber("strength"); 1766 | _strencode = new Encode(); 1767 | _strencode.AddItem_int("r",r); 1768 | _strencode.AddItem_int("ms",ms); 1769 | _strencode.AddItem_int("sb",sb); 1770 | _strencode.AddItem_int("strength",strength); 1771 | if(GlobalData.OldModel) 1772 | { 1773 | //$.asTojs("room_data_balance",_strencode.Get_SttString()); 1774 | } 1775 | else 1776 | { 1777 | //$.asTojs("room_data_balance",str); 1778 | } 1779 | } 1780 | 1781 | private function talkRestriction(param1:String) : void 1782 | { 1783 | var _loc2_:Decode = new Decode(); 1784 | _loc2_.Parse(param1); 1785 | var _loc3_:int = _loc2_.GetItemAsInt("cd"); 1786 | var _loc4_:int = _loc2_.GetItemAsInt("maxl"); 1787 | var _loc5_:Encode = new Encode(); 1788 | _loc5_.AddItem_int("cd",_loc3_); 1789 | _loc5_.AddItem_int("maxl",_loc4_); 1790 | //$.jscall("console.log","limitchatr:",_loc5_.Get_SttString()); 1791 | if(GlobalData.OldModel) 1792 | { 1793 | //$.asTojs("room_data_chatcd",_loc5_.Get_SttString()); 1794 | } 1795 | else 1796 | { 1797 | //$.asTojs("room_data_chatcd",param1); 1798 | } 1799 | } 1800 | 1801 | private function baoXuetime(param1:String) : void 1802 | { 1803 | var _loc2_:Decode = new Decode(); 1804 | _loc2_.Parse(param1); 1805 | var _loc3_:String = _loc2_.GetItem("func"); 1806 | var _loc4_:String = _loc2_.GetItem("param"); 1807 | var _loc5_:Encode = new Encode(); 1808 | _loc5_.AddItem("func",_loc3_); 1809 | _loc5_.AddItem("param",_loc4_); 1810 | if(GlobalData.OldModel) 1811 | { 1812 | //$.asTojs("room_bus_comcall",_loc5_.Get_SttString()); 1813 | } 1814 | else 1815 | { 1816 | //$.asTojs("room_bus_comcall",param1); 1817 | } 1818 | //$.jscall("console.log","common_call1:",_loc5_.Get_SttString()); 1819 | } 1820 | 1821 | private function reportBarrage(param1:String) : void 1822 | { 1823 | var _loc2_:Decode = new Decode(); 1824 | _loc2_.Parse(param1); 1825 | var _loc3_:int = _loc2_.GetItemAsInt("state"); 1826 | var _loc4_:Encode = new Encode(); 1827 | _loc4_.AddItem_int("state",_loc3_); 1828 | if(GlobalData.OldModel) 1829 | { 1830 | //$.asTojs("room_data_chatrep",_loc4_.Get_SttString()); 1831 | } 1832 | else 1833 | { 1834 | //$.asTojs("room_data_chatrep",param1); 1835 | } 1836 | //$.jscall("console.log","return_chatreport:",_loc4_.Get_SttString()); 1837 | } 1838 | 1839 | private function identityChange(param1:Decode) : void 1840 | { 1841 | var _loc2_:int = param1.GetItemAsInt("opuid"); 1842 | var _loc3_:int = param1.GetItemAsInt("rg"); 1843 | var _loc4_:int = param1.GetItemAsInt("rid"); 1844 | GlobalData.rg = _loc3_; 1845 | EventCenter.dispatch("userRGEvent",null); 1846 | //$.jscall("console.log","identityChange"); 1847 | } 1848 | 1849 | private function rewardListResponse(param1:String) : void 1850 | { 1851 | var _loc2_:Decode = new Decode(); 1852 | _loc2_.Parse(param1); 1853 | var _loc3_:int = _loc2_.GetItemAsInt("rid"); 1854 | var _loc4_:String = _loc2_.GetItem("list"); 1855 | var _loc5_:String = _loc2_.GetItem("list_all"); 1856 | var _loc6_:Encode = new Encode(); 1857 | _loc6_.AddItem_int("rid",_loc3_); 1858 | _loc6_.AddItem("list",_loc4_); 1859 | _loc6_.AddItem("list_all",_loc5_); 1860 | if(GlobalData.OldModel) 1861 | { 1862 | //$.asTojs("room_data_cqrank",_loc6_.Get_SttString()); 1863 | } 1864 | else 1865 | { 1866 | //$.asTojs("room_data_cqrank",param1); 1867 | } 1868 | //$.jscall("console.log","return_rewardList:",_loc6_.Get_SttString()); 1869 | } 1870 | 1871 | private function emailNotify(param1:String) : void 1872 | { 1873 | var _loc2_:Decode = new Decode(); 1874 | _loc2_.Parse(param1); 1875 | var _loc3_:String = _loc2_.GetItem("mid"); 1876 | var _loc4_:String = _loc2_.GetItem("sender"); 1877 | var _loc5_:String = _loc2_.GetItem("sub"); 1878 | var _loc6_:int = _loc2_.GetItemAsInt("unread"); 1879 | var _loc7_:Encode = new Encode(); 1880 | _loc7_.AddItem("mid",_loc3_); 1881 | _loc7_.AddItem("sender",_loc4_); 1882 | _loc7_.AddItem("sub",_loc5_); 1883 | _loc7_.AddItem_int("unread",_loc6_); 1884 | if(GlobalData.OldModel) 1885 | { 1886 | //$.asTojs("room_data_letter",_loc7_.Get_SttString()); 1887 | } 1888 | else 1889 | { 1890 | //$.asTojs("room_data_letter",param1); 1891 | } 1892 | //$.jscall("console.log","return_emailNotify:",_loc7_.Get_SttString()); 1893 | } 1894 | 1895 | private function updateYC(param1:String) : void 1896 | { 1897 | var _loc2_:Decode = new Decode(); 1898 | _loc2_.Parse(param1); 1899 | var _loc3_:int = _loc2_.GetItemAsInt("b"); 1900 | var _loc4_:Encode = new Encode(); 1901 | _loc4_.AddItem_int("b",_loc3_); 1902 | if(GlobalData.OldModel) 1903 | { 1904 | //$.asTojs("room_data_ycchange",_loc4_.Get_SttString()); 1905 | } 1906 | else 1907 | { 1908 | //$.asTojs("room_data_ycchange",param1); 1909 | } 1910 | //$.jscall("console.log","updateyc:",_loc4_.Get_SttString()); 1911 | } 1912 | 1913 | private function roomInfoRes(param1:String) : void 1914 | { 1915 | var _loc4_:Number = NaN; 1916 | var _loc5_:Number = NaN; 1917 | var _loc6_:int = 0; 1918 | var _loc2_:Decode = new Decode(); 1919 | _loc2_.Parse(param1); 1920 | if(Param.isYinghun) 1921 | { 1922 | _loc4_ = _loc2_.GetItemAsNumber("weight"); 1923 | _loc5_ = _loc2_.GetItemAsNumber("fans_count"); 1924 | _loc6_ = _loc2_.GetItemAsInt("fl"); 1925 | EventCenter.dispatch("TitleBarDataEvent",{ 1926 | "weight":_loc4_, 1927 | "fans_count":_loc5_, 1928 | "fl":_loc6_ 1929 | }); 1930 | } 1931 | //$.asTojs("room_data_info",param1); 1932 | //$.jscall("console.log","show_obj.info_showr:",param1); 1933 | var _loc3_:String = _loc2_.GetItem("tvt"); 1934 | if(_loc3_ != "") 1935 | { 1936 | EventCenter.dispatch("VotesChanged",{"tvt":_loc3_}); 1937 | } 1938 | } 1939 | 1940 | private function giftPkgRes(param1:String) : void 1941 | { 1942 | //$.asTojs("room_data_chestquery",param1); 1943 | //$.jscall("console.log","query_gift_pkg_info:",param1); 1944 | } 1945 | 1946 | private function giveFishBallres(param1:String) : void 1947 | { 1948 | //$.asTojs("room_data_giftbat1",param1); 1949 | //$.jscall("console.log","live_gift_batter1:",param1); 1950 | } 1951 | 1952 | private function reloadStreamNotify() : void 1953 | { 1954 | clearTimeout(this.reloadTimeIndex); 1955 | var _loc1_:int = int(Math.random() * 30); 1956 | this.reloadTimeIndex = setTimeout(this.reloadStream,_loc1_ * 1000 + 60000); 1957 | } 1958 | 1959 | private function verResponse(param1:Decode) : void 1960 | { 1961 | var _loc2_:int = param1.GetItemAsInt("v"); 1962 | //$.asTojs("room_bus_login2",0); 1963 | } 1964 | 1965 | private function randomStrResponse(param1:Decode) : void 1966 | { 1967 | this.randomValue = param1.GetItemAsInt("r"); 1968 | this.salt = param1.GetItem("s"); 1969 | //$.asTojs("loginBranch",1); 1970 | } 1971 | 1972 | private function expUpdate(param1:String) : void 1973 | { 1974 | //$.asTojs("room_data_expchange",param1); 1975 | //$.jscall("console.log","exprienceupdate:",param1); 1976 | } 1977 | 1978 | private function gapNotify(param1:String) : void 1979 | { 1980 | //$.asTojs("room_data_rankgap",param1); 1981 | //$.jscall("console.log","rankgapnotify:",param1); 1982 | } 1983 | 1984 | private function initChatLimit(param1:String) : void 1985 | { 1986 | //$.asTojs("room_data_chatinit",param1); 1987 | //$.jscall("console.log","newuserchatlimit:",param1); 1988 | } 1989 | 1990 | private function hbGetResponse(param1:String) : void 1991 | { 1992 | var _loc2_:Decode = new Decode(); 1993 | _loc2_.Parse(param1); 1994 | var _loc3_:int = _loc2_.GetItemAsInt("rpt"); 1995 | switch(_loc3_) 1996 | { 1997 | case 0: 1998 | //$.asTojs("room_data_giftbat1",param1); 1999 | //$.jscall("console.log","live_gift_batter4:",param1); 2000 | break; 2001 | case 1: 2002 | //$.jscall("treeReply",param1); 2003 | //$.jscall("console.log","treeReply gateway: ",param1); 2004 | break; 2005 | case 2: 2006 | //$.asTojs("room_data_beastrep",param1); 2007 | //$.jscall("console.log","beastReply gateway : ",param1); 2008 | break; 2009 | case 3: 2010 | //$.asTojs("room_data_sabonusget",param1); 2011 | //$.jscall("console.log","beastReply gateway : ",param1); 2012 | break; 2013 | default: 2014 | //$.jscall("console.log","unknown rpt type : ",_loc3_); 2015 | } 2016 | } 2017 | 2018 | private function reloadStream() : void 2019 | { 2020 | EventCenter.dispatch("ReloadStreamEvent",null); 2021 | } 2022 | 2023 | private function ServerShowStatus(param1:Decode) : void 2024 | { 2025 | var randTime:int = 0; 2026 | var _strdecode:Decode = param1; 2027 | var rid:int = _strdecode.GetItemAsInt("rid"); 2028 | var ss:int = _strdecode.GetItemAsInt("ss"); 2029 | var code:int = _strdecode.GetItemAsInt("code"); 2030 | var notify:int = _strdecode.GetItemAsInt("notify"); 2031 | var endtime:int = _strdecode.GetItemAsInt("endtime"); 2032 | var rt:int = _strdecode.GetItemAsInt("rt"); 2033 | var rtv:int = _strdecode.GetItemAsInt("rtv"); 2034 | var _strencode:Encode = new Encode(); 2035 | _strencode.AddItem_int("rid",rid); 2036 | _strencode.AddItem_int("ss",ss); 2037 | _strencode.AddItem_int("code",code); 2038 | _strencode.AddItem_int("notify",notify); 2039 | _strencode.AddItem_int("endtime",endtime); 2040 | _strencode.AddItem_int("rt",rt); 2041 | _strencode.AddItem_int("rtv",rtv); 2042 | this.endStr = _strencode.Get_SttString(); 2043 | if(rt == 1) 2044 | { 2045 | Param.isTicketNeed = true; 2046 | setTimeout(function():void 2047 | { 2048 | var _loc1_:PlayMediator = MainCoreFacade.getInstance().retrieveMediator("PlayMediator") as PlayMediator; 2049 | if(!_loc1_.playView.isPause) 2050 | { 2051 | EventCenter.dispatch("TicketStreamNotify"); 2052 | } 2053 | EventCenter.dispatch("ChangeRateNotifyEvent",{"type":0}); 2054 | //$.jscall("console.log","gw ticket notify!"); 2055 | },int(Math.random() * 5000)); 2056 | } 2057 | else if(rt == 2) 2058 | { 2059 | EventCenter.dispatch("PwdNotifyEvent",{"type":rtv}); 2060 | } 2061 | else if(Param.IS_HOSTLIVE == 1 || Param.usergroupid == "5") 2062 | { 2063 | //$.jscall("console.log","ServerShowStatus1 =" + 2); 2064 | //$.jscall("console.log","nsStatechange:",this.endStr); 2065 | //$.asTojs("room_data_state",this.endStr); 2066 | this.dispatcher.dispatchEvent(new Event("ServerShowStatus")); 2067 | EventCenter.dispatch("hostGoBack"); 2068 | } 2069 | else 2070 | { 2071 | clearTimeout(this.endTimeIndex); 2072 | randTime = int(Math.random() * 30); 2073 | //$.jscall("console.log","ServerShowStatus1 =" + randTime); 2074 | this.endTimeIndex = setTimeout(function():void 2075 | { 2076 | //$.jscall("console.log","nsStatechange:",endStr); 2077 | //$.asTojs("room_data_state",endStr); 2078 | dispatcher.dispatchEvent(new Event("ServerShowStatus")); 2079 | EventCenter.dispatch("hostGoBack"); 2080 | },randTime * 1000); 2081 | } 2082 | } 2083 | 2084 | private function __ShowStatus(param1:Event) : void 2085 | { 2086 | this.dispatcher.dispatchEvent(new Event("ServerShowStatus")); 2087 | } 2088 | 2089 | private function findUserByUID(param1:int) : RoomUser 2090 | { 2091 | var _loc2_:int = 0; 2092 | _loc2_ = 0; 2093 | while(_loc2_ < this.users.length) 2094 | { 2095 | if(this.users[_loc2_].uid == param1) 2096 | { 2097 | return this.users[_loc2_]; 2098 | } 2099 | _loc2_++; 2100 | } 2101 | return null; 2102 | } 2103 | 2104 | private function findUserByUsername(param1:String) : RoomUser 2105 | { 2106 | var _loc2_:int = 0; 2107 | _loc2_ = 0; 2108 | while(_loc2_ < this.users.length) 2109 | { 2110 | if(this.users[_loc2_].username == param1) 2111 | { 2112 | return this.users[_loc2_]; 2113 | } 2114 | _loc2_++; 2115 | } 2116 | return null; 2117 | } 2118 | 2119 | private function findUserByNickname(param1:String) : RoomUser 2120 | { 2121 | var _loc2_:int = 0; 2122 | _loc2_ = 0; 2123 | while(_loc2_ < this.users.length) 2124 | { 2125 | if(this.users[_loc2_].nickname == param1) 2126 | { 2127 | return this.users[_loc2_]; 2128 | } 2129 | _loc2_++; 2130 | } 2131 | return null; 2132 | } 2133 | 2134 | private function removeUserByUID(param1:int) : void 2135 | { 2136 | var _loc2_:int = 0; 2137 | _loc2_ = 0; 2138 | while(_loc2_ < this.users.length) 2139 | { 2140 | if(this.users[_loc2_].uid == param1) 2141 | { 2142 | this.users.splice(_loc2_,1); 2143 | return; 2144 | } 2145 | _loc2_++; 2146 | } 2147 | } 2148 | 2149 | private function sortUsers(param1:RoomUser, param2:RoomUser) : int 2150 | { 2151 | var _loc3_:int = this.sortAtt(param1.roomgroup,param2.roomgroup); 2152 | if(_loc3_ != 0) 2153 | { 2154 | return _loc3_; 2155 | } 2156 | return this.sortAtt(param1.score,param2.score); 2157 | } 2158 | 2159 | private function sortAtt(param1:int, param2:int) : int 2160 | { 2161 | if(param1 > param2) 2162 | { 2163 | return -1; 2164 | } 2165 | if(param1 < param2) 2166 | { 2167 | return 1; 2168 | } 2169 | return 0; 2170 | } 2171 | 2172 | public function black_word(param1:String) : Boolean 2173 | { 2174 | var _loc3_:String = null; 2175 | var _loc2_:Array = new Array("风云直播","YY直播"); 2176 | for each(_loc3_ in _loc2_) 2177 | { 2178 | if(param1.indexOf(_loc3_) >= 0) 2179 | { 2180 | return true; 2181 | } 2182 | } 2183 | return false; 2184 | } 2185 | 2186 | public function clean_conn_timer() : void 2187 | { 2188 | if(this.myTimer != null) 2189 | { 2190 | this.myTimer.stop(); 2191 | this.myTimer.removeEventListener(TimerEvent.TIMER,this.KeepLive); 2192 | this.myTimer = null; 2193 | } 2194 | if(this.cacheTimer != null) 2195 | { 2196 | this.cacheTimer.stop(); 2197 | this.cacheTimer.removeEventListener(TimerEvent.TIMER,this.RoomRefresh); 2198 | this.cacheTimer = null; 2199 | } 2200 | if(this._conn != null) 2201 | { 2202 | this._conn.close(); 2203 | this._conn.removeEventListener(TcpEvent.Conneted,this._OnConn); 2204 | this._conn.removeEventListener(TcpEvent.RecvMsg,this.ParseMsg); 2205 | this._conn.removeEventListener(TcpEvent.SecurityError,this._OnConn); 2206 | this._conn.removeEventListener(TcpEvent.Error,this._OnConn); 2207 | this._conn.removeEventListener(TcpEvent.Closed,this._OnConn); 2208 | this._conn = null; 2209 | } 2210 | if(this.barrage_Conn != null) 2211 | { 2212 | this.barrage_Conn.UserLogout(); 2213 | this.barrage_Conn = null; 2214 | } 2215 | } 2216 | 2217 | private function christmasTree(param1:String) : void 2218 | { 2219 | //$.jscall("treeReceived",param1); 2220 | } 2221 | 2222 | private function beastReceived(param1:String) : void 2223 | { 2224 | //$.asTojs("room_data_beastrec",param1); 2225 | } 2226 | 2227 | private function petInfo(param1:String) : void 2228 | { 2229 | var _loc2_:Decode = new Decode(); 2230 | _loc2_.Parse(param1); 2231 | var _loc3_:int = _loc2_.GetItemAsInt("pt"); 2232 | switch(_loc3_) 2233 | { 2234 | case 1: 2235 | this.christmasTree(param1); 2236 | break; 2237 | case 2: 2238 | this.beastReceived(param1); 2239 | break; 2240 | default: 2241 | //$.jscall("console.log","unknown pt type: ",_loc3_); 2242 | } 2243 | } 2244 | 2245 | private function petReceived(param1:String) : void 2246 | { 2247 | //$.asTojs("room_data_petrec",param1); 2248 | } 2249 | 2250 | private function alipayblackres(param1:Decode) : void 2251 | { 2252 | var _loc4_:String = null; 2253 | var _loc2_:int = param1.GetItemAsInt("rescode"); 2254 | var _loc3_:int = param1.GetItemAsInt("userid"); 2255 | if(_loc2_ == 0) 2256 | { 2257 | _loc4_ = "禁言支付宝用户成功"; 2258 | } 2259 | else 2260 | { 2261 | _loc4_ = "禁言支付宝用户失败"; 2262 | } 2263 | //$.jscall("console.log","alipayblackres:",_loc4_); 2264 | } 2265 | 2266 | private function room_data_sys(param1:String) : void 2267 | { 2268 | //$.asTojs("room_data_sys",param1); 2269 | //$.jscall("console.log","gw room_data_sys:",param1); 2270 | } 2271 | 2272 | private function room_data_giftbat1(param1:String) : void 2273 | { 2274 | //$.asTojs("room_data_giftbat1",param1); 2275 | //$.jscall("console.log","gw room_data_giftbat1:",param1); 2276 | } 2277 | } 2278 | } 2279 | -------------------------------------------------------------------------------- /src/ClientBarrage.as: -------------------------------------------------------------------------------- 1 | package cc.dy.model.net 2 | { 3 | import flash.events.EventDispatcher; 4 | import flash.utils.Timer; 5 | import flash.utils.setTimeout; 6 | import util.$; 7 | import util.UserBehaviorLog; 8 | import flash.utils.clearInterval; 9 | import flash.utils.setInterval; 10 | import flash.utils.getTimer; 11 | import sample.loaderDanmu.CModule; 12 | import flash.events.TimerEvent; 13 | import common.event.EventCenter; 14 | import cc.dy.view.play.PlayMediator; 15 | import flash.utils.clearTimeout; 16 | import flash.events.Event; 17 | import util.Util; 18 | import util.CommonUtils; 19 | 20 | public class ClientBarrage 21 | { 22 | // barrage client 23 | public var _conn2:cc.dy.model.net.TcpClient; 24 | 25 | public var dispatcher:EventDispatcher; 26 | 27 | public var login_status:Boolean = false; 28 | 29 | public var my_uid:int; 30 | 31 | public var my_username:String; 32 | 33 | public var my_nickname:String; 34 | 35 | public var my_gid:int = -1; 36 | 37 | public var roomId:int; 38 | 39 | public var keep_online:int = 0; 40 | 41 | private var myTimer:Timer; 42 | 43 | private var joinGroupTimer:Timer; 44 | 45 | private var per_keep_live:int = 45; 46 | 47 | private var per_cachedata:int = 60; 48 | 49 | private var serialnum:int = 0; 50 | 51 | private var user_count:int = 0; 52 | 53 | public var serverArray:Array; 54 | 55 | public var OnChatMsg:Function; 56 | 57 | public var newOnChatMsg:Function; 58 | 59 | private var firstConn:cc.dy.model.net.TcpClient; 60 | 61 | private var flashProt:int = 0; 62 | 63 | private var protArr:Array; 64 | 65 | private var firstRepeatConnect:Boolean = true; 66 | 67 | private var _ip:String; 68 | 69 | private var _port:int; 70 | 71 | private var firstTime:Number; 72 | 73 | private var secondTime:Number; 74 | 75 | private var fristConnect:Boolean = true; 76 | 77 | private var firstTimeOut:Boolean = true; 78 | 79 | private var _checkOnlineSeed:uint; 80 | 81 | private var breakLine:uint; 82 | 83 | private var countNet:int = 0; 84 | 85 | private var serverId:int; 86 | 87 | private var endTimeIndex:uint; 88 | 89 | private var endStr:String; 90 | 91 | private var illCloseIndex:uint; 92 | 93 | public function ClientBarrage(param1:cc.dy.model.net.TcpClient) 94 | { 95 | this.dispatcher = new EventDispatcher(); 96 | this.serverArray = new Array(); 97 | this.protArr = [843,844]; 98 | super(); 99 | this.firstConn = param1; 100 | this.flashProt = this.protArr[int(this.protArr.length * Math.random())]; 101 | } 102 | 103 | public function get ip() : String 104 | { 105 | return this._ip; 106 | } 107 | 108 | public function get port() : int 109 | { 110 | return this._port; 111 | } 112 | 113 | public function ConnectNewServer() : void 114 | { 115 | var _loc1_:int = 0; 116 | this.clean_conn_timer(); 117 | this._conn2 = new cc.dy.model.net.TcpClient(GlobalData.isSecurError2); 118 | if(this.serverArray.length > 0) 119 | { 120 | if(this.fristConnect) 121 | { 122 | setTimeout(this.__recodeFirst,2000); 123 | } 124 | this.fristConnect = false; 125 | _loc1_ = int(Math.random() * 10000) % this.serverArray.length; 126 | this._ip = this.serverArray[_loc1_]["ip"]; 127 | this._port = this.serverArray[_loc1_]["port"]; 128 | this._conn2.connect(this._ip,this._port,this.flashProt); 129 | this._conn2.addEventListener(TcpEvent.Conneted,this.onConn); 130 | this._conn2.addEventListener(TcpEvent.RecvMsg,this.ParseMsg); 131 | this._conn2.addEventListener(TcpEvent.SecurityError,this.onConn); 132 | this._conn2.addEventListener(TcpEvent.Error,this.onConn); 133 | this._conn2.addEventListener(TcpEvent.Closed,this.onConn); 134 | //$.jscall("console.log","dmnc"); 135 | } 136 | } 137 | 138 | private function __recodeFirst() : void 139 | { 140 | var seconds:int = 0; 141 | if(this.firstTimeOut) 142 | { 143 | seconds = new Date().time / 1000; 144 | UserBehaviorLog.getInstance().sendChatLog(UserBehaviorLog.POINT_ID_FIRST_LOGIN_DANMU,seconds,{"id":this._ip + ":" + this._port}); 145 | } 146 | } 147 | 148 | public function onConn(param1:TcpEvent) : void 149 | { 150 | var port:int = 0; 151 | this.firstTimeOut = false; 152 | //$.jscall("console.log","dmncr"); 153 | if(param1._param.type == 1) 154 | { 155 | GlobalData.isSecurError2 = false; 156 | this.UserLogin(); 157 | } 158 | else if(param1._param.type == 3) 159 | { 160 | GlobalData.isSecurError2 = true; 161 | port = param1._param.port; 162 | this.flashProt = port == 843?844:843; 163 | if(this.firstRepeatConnect) 164 | { 165 | this.firstRepeatConnect = false; 166 | this.ConnectNewServer(); 167 | } 168 | } 169 | if(this._checkOnlineSeed) 170 | { 171 | clearInterval(this._checkOnlineSeed); 172 | } 173 | this._checkOnlineSeed = setInterval(this.CheckOnline,120000); 174 | } 175 | 176 | private function breakOnline() : void 177 | { 178 | if(Boolean(this._conn2) && Boolean(this._conn2.is_connected)) 179 | { 180 | this._conn2.close(); 181 | //$.jscall("console.log","cutdmcn"); 182 | } 183 | } 184 | 185 | private function CheckOnline() : void 186 | { 187 | var seconds:int = 0; 188 | if(Boolean(this.firstConn) && Boolean(this.firstConn.is_connected)) 189 | { 190 | if(!this._conn2 || !this._conn2.is_connected) 191 | { 192 | //$.jscall("console.log","cnc"); 193 | this.ConnectNewServer(); 194 | this.countNet++; 195 | seconds = new Date().time / 1000; 196 | UserBehaviorLog.getInstance().sendChatLog(UserBehaviorLog.POINT_ID_LOGIN_DANMU_FAIL,seconds,{ 197 | "id":this.ip + ":" + this.port, 198 | "lag":this.countNet 199 | }); 200 | } 201 | } 202 | } 203 | 204 | public function UserLogin() : void 205 | { 206 | if(this._conn2 == null) 207 | { 208 | return; 209 | } 210 | this.firstTime = getTimer(); 211 | var username:String = this.my_username; 212 | var password:String = "1234567890123456"; 213 | this.roomId = this.roomId; 214 | this._conn2.addEventListener(TcpEvent.RecvMsg,this.ParseMsg); 215 | var encoder:Encode = new Encode(); 216 | encoder.AddItem("type","loginreq"); 217 | encoder.AddItem("username",username); 218 | encoder.AddItem("password",password); 219 | encoder.AddItem_int("roomid",this.roomId); 220 | var sttString:String = encoder.Get_SttString(); 221 | var pointer:int = CModule.malloc(4); 222 | var _loc6_:int = loaderDanmu.danmakuGetLoginMsgRepeaterData(username,pointer); 223 | var _loc7_:int = CModule.read32(pointer); 224 | var _loc8_:String = CModule.readString(_loc7_,_loc6_); 225 | //$.jscall("console.log","UserLogin [%s]",_loc8_); 226 | this._conn2.sendmsg(_loc8_); 227 | loaderDanmu.danmakuFreeData(pointer); 228 | CModule.free(pointer); 229 | } 230 | 231 | public function UserJoinGroup() : void 232 | { 233 | if(this.login_status == false) 234 | { 235 | return; 236 | } 237 | var encoder:Encode = new Encode(); 238 | encoder.AddItem("type","joingroup"); 239 | encoder.AddItem_int("rid",this.roomId); 240 | encoder.AddItem_int("gid",this.my_gid); 241 | var sttString:String = encoder.Get_SttString(); 242 | if(this._conn2 == null) 243 | { 244 | return; 245 | } 246 | var _loc3_:int = CModule.malloc(4); 247 | var _loc4_:int = loaderDanmu.danmakuGetJoinGroupData(this.roomId,this.my_gid,_loc3_); 248 | var _loc5_:int = CModule.read32(_loc3_); 249 | this._conn2.sendmsg(CModule.readString(_loc5_,_loc4_)); 250 | loaderDanmu.danmakuFreeData(_loc3_); 251 | CModule.free(_loc3_); 252 | } 253 | 254 | public function UserLogout() : void 255 | { 256 | var _loc1_:Encode = null; 257 | var _loc2_:String = null; 258 | if(this._conn2 != null) 259 | { 260 | //$.jscall("console.log","ulo"); 261 | _loc1_ = new Encode(); 262 | _loc1_.AddItem("type","logout"); 263 | _loc2_ = _loc1_.Get_SttString(); 264 | this._conn2.sendmsg(_loc2_); 265 | if(this._checkOnlineSeed) 266 | { 267 | clearInterval(this._checkOnlineSeed); 268 | } 269 | this.clean_conn_timer(); 270 | } 271 | } 272 | 273 | public function KeepLive(param1:TimerEvent) : void 274 | { 275 | var encoder:Encode = null; 276 | var sttString:String = null; 277 | if(this._conn2 != null) 278 | { 279 | encoder = new Encode(); 280 | encoder.AddItem("type","mrkl"); 281 | sttString = encoder.Get_SttString(); 282 | this._conn2.sendmsg(sttString); 283 | //$.jscall("console.log","time1=" + getTimer()); 284 | } 285 | } 286 | 287 | public function CheckJoinGroup(param1:TimerEvent) : void 288 | { 289 | if(this._conn2 != null) 290 | { 291 | if(this.login_status == true && this.my_gid != -1) 292 | { 293 | this.joinGroupTimer.stop(); 294 | this.joinGroupTimer = null; 295 | this.UserJoinGroup(); 296 | } 297 | } 298 | } 299 | 300 | private function ParseMsg(param1:TcpEvent) : void 301 | { 302 | var sttString:String = param1._param as String; 303 | var decoder:Decode = new Decode(); 304 | decoder.Parse(sttString); 305 | var msgType:String = decoder.GetItem("type"); 306 | if(msgType != "keeplive" && msgType != "chatmessage" && msgType != "donateres" && msgType != "dgn" && msgType != "dgb" && msgType != "chatmsg" && msgType != "mrkl") 307 | { 308 | //$.jscall("console.log","弹幕 网络数据 [%s]",_loc2_); 309 | } 310 | if(msgType == "loginres") 311 | { 312 | this.ServerLoginInfo(decoder); 313 | } 314 | else if(msgType == "chatmessage") 315 | { 316 | this.ServerChatContent(decoder); 317 | } 318 | else if(msgType == "chatmsg") 319 | { 320 | this.newServerChatContent(sttString); 321 | } 322 | else if(msgType == "keeplive") 323 | { 324 | this.ServerKeepLive(decoder); 325 | } 326 | else if(msgType == "mrkl") 327 | { 328 | this.newServerKeepLive(decoder); 329 | } 330 | else if(msgType == "error") 331 | { 332 | this.ServerError(decoder); 333 | } 334 | else if(msgType == "donateres") 335 | { 336 | this.fishPresent(sttString); 337 | } 338 | else if(msgType == "setadminres") 339 | { 340 | this.ServerSetAdmin(decoder); 341 | } 342 | else if(msgType == "blackres") 343 | { 344 | this.ServerBlackUser(decoder); 345 | } 346 | else if(msgType == "rss") 347 | { 348 | this.ServerShowStatus(decoder); 349 | } 350 | else if(msgType == "rsm") 351 | { 352 | this.systemBroadcast(sttString); 353 | } 354 | else if(msgType == "userenter") 355 | { 356 | this.ServerUserEnter(sttString); 357 | } 358 | else if(msgType == "uenter") 359 | { 360 | this.newServerUserEnter(sttString); 361 | } 362 | else if(msgType == "bc_buy_deserve") 363 | { 364 | this.buyDeserve(sttString); 365 | } 366 | else if(msgType == "common_call") 367 | { 368 | this.baoxueTime(sttString); 369 | } 370 | else if(msgType == "ranklist") 371 | { 372 | this.rewardListResponse(sttString); 373 | } 374 | else if(msgType == "filterblackad") 375 | { 376 | this.maskQrCodeNotify(decoder); 377 | } 378 | else if(msgType == "hits_effect") 379 | { 380 | this.batterFxEffect(sttString); 381 | } 382 | else if(msgType == "onlinegift") 383 | { 384 | this.onGiftNotify(sttString); 385 | } 386 | else if(msgType == "spbc") 387 | { 388 | this.giftBroadcast(sttString); 389 | } 390 | else if(msgType == "dgn") 391 | { 392 | this.currentRoomGiftBroadcast(sttString); 393 | } 394 | else if(msgType == "dgb") 395 | { 396 | this.currentRoomGiftBroadcast(sttString); 397 | } 398 | else if(msgType == "ssd") 399 | { 400 | this.superDanmuBroadcast(sttString); 401 | } 402 | else if(msgType == "gbbc") 403 | { 404 | this.hbNotify(sttString); 405 | } 406 | else if(msgType == "ggbb") 407 | { 408 | this.hbGetNotify(sttString); 409 | } 410 | else if(msgType == "gbip") 411 | { 412 | this.hbForNewuserNotify(sttString); 413 | } 414 | else if(msgType == "rii") 415 | { 416 | this.illegalNotify(sttString); 417 | } 418 | else if(msgType == "rankup") 419 | { 420 | this.rankUpdate(sttString); 421 | } 422 | else if(msgType == "upgrade") 423 | { 424 | this.userUpdate(sttString); 425 | } 426 | else if(msgType == "gift_title") 427 | { 428 | this.levelIconNotify(sttString); 429 | } 430 | else if(msgType == "pet_info") 431 | { 432 | this.christmasTree(sttString); 433 | } 434 | else if(msgType == "cgn") 435 | { 436 | this.christmasGift(sttString); 437 | } 438 | else if(msgType == "bcrp") 439 | { 440 | this.petInfo(sttString); 441 | } 442 | else if(msgType == "acc") 443 | { 444 | this.deductionPoints(sttString); 445 | } 446 | else if(msgType == "bcar") 447 | { 448 | this.nianNotify(decoder); 449 | } 450 | else if(msgType == "ldn") 451 | { 452 | this.mobileChouJiangNotify(sttString); 453 | } 454 | else if(msgType == "gbroadcast") 455 | { 456 | this.gbroadcast(sttString); 457 | } 458 | else if(msgType == "ccrp") 459 | { 460 | this.chaoGuanBaoXiang(sttString); 461 | } 462 | else if(msgType == "alipayblackres") 463 | { 464 | this.alipayblackres(decoder); 465 | } 466 | else if(msgType == "newblackres") 467 | { 468 | this.room_data_sys(sttString); 469 | } 470 | else if(msgType == "ntmet") 471 | { 472 | this.room_data_sys(sttString); 473 | } 474 | else if(msgType == "ncrmc") 475 | { 476 | this.room_data_sys(sttString); 477 | } 478 | else if(msgType == "muteinfo") 479 | { 480 | this.room_data_sys(sttString); 481 | } 482 | else if(msgType == "gbmres") 483 | { 484 | this.keyTitlesRes(sttString); 485 | } 486 | else if(msgType == "al") 487 | { 488 | this.hostleave(sttString); 489 | } 490 | else if(msgType == "ab") 491 | { 492 | this.hostGoBack(sttString); 493 | } 494 | else if(msgType == "srres") 495 | { 496 | this.shareSuccess(sttString); 497 | } 498 | else if(msgType == "rbce") 499 | { 500 | this.doubleHitEffect(sttString); 501 | } 502 | else if(msgType == "ntbi") 503 | { 504 | this.ticketEnd(sttString); 505 | } 506 | } 507 | 508 | private function hostleave(param1:String) : void 509 | { 510 | EventCenter.dispatch("hostleave"); 511 | } 512 | 513 | private function hostGoBack(param1:String) : void 514 | { 515 | EventCenter.dispatch("hostGoBack"); 516 | } 517 | 518 | private function ServerLoginInfo(param1:Decode) : void 519 | { 520 | var seconds:int = 0; 521 | //$.jscall("console.log","dmlgsuccess"); 522 | this.secondTime = getTimer(); 523 | this.serverId = param1.GetItemAsInt("sid"); 524 | var _loc2_:Number = this.secondTime - this.firstTime; 525 | if(_loc2_ >= 2000) 526 | { 527 | seconds = new Date().time / 1000; 528 | UserBehaviorLog.getInstance().sendChatLog(UserBehaviorLog.POINT_ID_LOGIN_DANMU,seconds,{ 529 | "id":this.serverId + ":" + this.port, 530 | "lag":_loc2_ 531 | }); 532 | } 533 | if(this.myTimer == null) 534 | { 535 | this.myTimer = new Timer(this.per_keep_live * 1000,0); 536 | this.myTimer.addEventListener(TimerEvent.TIMER,this.KeepLive); 537 | this.myTimer.start(); 538 | } 539 | else 540 | { 541 | this.myTimer.reset(); 542 | this.myTimer.start(); 543 | } 544 | this.login_status = true; 545 | if(this.joinGroupTimer == null) 546 | { 547 | this.joinGroupTimer = new Timer(1 * 1000,0); 548 | this.joinGroupTimer.addEventListener(TimerEvent.TIMER,this.CheckJoinGroup); 549 | this.joinGroupTimer.start(); 550 | } 551 | else 552 | { 553 | this.joinGroupTimer.reset(); 554 | this.joinGroupTimer.start(); 555 | } 556 | } 557 | 558 | private function ServerChatContent(param1:Decode) : void 559 | { 560 | var sender:int = 0; 561 | var content:String = null; 562 | var snick:String = null; 563 | var go:Number = NaN; 564 | var ci:Number = NaN; 565 | var co:Number = NaN; 566 | var mi:Number = NaN; 567 | var mo:Number = NaN; 568 | if(this.OnChatMsg != null) 569 | { 570 | sender = param1.GetItemAsInt("sender"); 571 | if(sender == 4257531) 572 | { 573 | content = param1.GetItem("content"); 574 | snick = param1.GetItem("snick"); 575 | go = param1.GetItemAsNumber("go"); 576 | ci = param1.GetItemAsNumber("ci"); 577 | co = param1.GetItemAsNumber("co"); 578 | mi = param1.GetItemAsNumber("mi"); 579 | mo = param1.GetItemAsNumber("mo"); 580 | //$.jscall("console.log","*****" + " type=chatmessage" + " sender=" + _loc2_ + " snick=" + _loc4_ + " content=" + _loc3_); 581 | //$.jscall("console.log","*********" + " go=" + _loc5_ + " ci=" + _loc6_ + " co=" + _loc7_ + " mi=" + _loc8_ + " mo=" + _loc9_); 582 | //$.jscall("console.log","4257531 receivemessagetime=*********" + new Date().time / 1000); 583 | } 584 | if(GlobalData.rg > 1 || GlobalData.pg > 1) 585 | { 586 | return; 587 | } 588 | this.OnChatMsg(param1); 589 | } 590 | } 591 | 592 | private function newServerChatContent(param1:String) : void 593 | { 594 | var _loc2_:Decode = null; 595 | var _loc3_:int = 0; 596 | var _loc4_:String = null; 597 | var _loc5_:String = null; 598 | var _loc6_:Number = NaN; 599 | var _loc7_:Number = NaN; 600 | var _loc8_:Number = NaN; 601 | var _loc9_:Number = NaN; 602 | var _loc10_:Number = NaN; 603 | if(this.newOnChatMsg != null) 604 | { 605 | _loc2_ = new Decode(); 606 | _loc2_.Parse(param1); 607 | _loc3_ = _loc2_.GetItemAsInt("uid"); 608 | if(_loc3_ == 4257531) 609 | { 610 | _loc4_ = _loc2_.GetItem("txt"); 611 | _loc5_ = _loc2_.GetItem("nn"); 612 | _loc6_ = _loc2_.GetItemAsNumber("go"); 613 | _loc7_ = _loc2_.GetItemAsNumber("ci"); 614 | _loc8_ = _loc2_.GetItemAsNumber("co"); 615 | _loc9_ = _loc2_.GetItemAsNumber("mi"); 616 | _loc10_ = _loc2_.GetItemAsNumber("mo"); 617 | //$.jscall("console.log","*****" + " type=chatmessage" + " sender=" + _loc3_ + " snick=" + _loc5_ + " content=" + _loc4_); 618 | //$.jscall("console.log","*********" + " go=" + _loc6_ + " ci=" + _loc7_ + " co=" + _loc8_ + " mi=" + _loc9_ + " mo=" + _loc10_); 619 | //$.jscall("console.log","4257531 receivemessagetime=*********" + new Date().time / 1000); 620 | } 621 | if(GlobalData.rg > 1 || GlobalData.pg > 1) 622 | { 623 | return; 624 | } 625 | this.newOnChatMsg(param1); 626 | } 627 | } 628 | 629 | // 心跳包 630 | private function ServerKeepLive(decoder:Decode) : void 631 | { 632 | var tick:int = decoder.GetItemAsInt("tick"); 633 | var usernum:int = decoder.GetItemAsInt("usernum"); 634 | var encoder:Encode = new Encode(); 635 | encoder.AddItem("type","keeplive"); 636 | encoder.AddItem_int("tick",tick); 637 | encoder.AddItem_int("usernum",usernum); 638 | var sttString:String = encoder.Get_SttString(); 639 | this.keep_online = this.keep_online + this.per_keep_live; 640 | } 641 | 642 | private function newServerKeepLive(param1:Decode) : void 643 | { 644 | param1.GetItemAsInt("mrkl"); 645 | } 646 | 647 | // 服务器错误 648 | private function ServerError(param1:Decode) : void 649 | { 650 | this.clean_conn_timer(); 651 | var _loc2_:int = param1.GetItemAsInt("code"); 652 | //$.jscall("console.log","server_error1 [%d]",_loc2_); 653 | } 654 | 655 | // 礼物 656 | private function fishPresent(param1:String) : void 657 | { 658 | var _loc2_:Decode = new Decode(); 659 | _loc2_.Parse(param1); 660 | var _loc3_:int = _loc2_.GetItemAsInt("r"); 661 | var _loc4_:int = _loc2_.GetItemAsInt("mg"); 662 | var _loc5_:int = _loc2_.GetItemAsInt("ms"); 663 | var _loc6_:int = _loc2_.GetItemAsInt("gb"); 664 | var _loc7_:int = _loc2_.GetItemAsInt("sb"); 665 | var _loc8_:int = _loc2_.GetItemAsInt("hc"); 666 | var _loc9_:String = _loc2_.GetItem("sui"); 667 | var _loc10_:Number = _loc2_.GetItemAsNumber("src_strength"); 668 | var _loc11_:Number = _loc2_.GetItemAsNumber("dst_weight"); 669 | var _loc12_:Decode = new Decode(); 670 | _loc12_.Parse(_loc9_); 671 | var _loc13_:String = _loc12_.GetItem("nick"); 672 | var _loc14_:Encode = new Encode(); 673 | _loc14_.AddItem_int("r",_loc3_); 674 | _loc14_.AddItem_int("mg",_loc4_); 675 | _loc14_.AddItem_int("ms",_loc5_); 676 | _loc14_.AddItem_int("gb",_loc6_); 677 | _loc14_.AddItem_int("sb",_loc7_); 678 | _loc14_.AddItem("sui",_loc9_); 679 | _loc14_.AddItem_int("src_strength",_loc10_); 680 | _loc14_.AddItem_int("dst_weight",_loc11_); 681 | _loc14_.AddItem_int("hc",_loc8_); 682 | _loc14_.AddItem("type","donateres"); 683 | if(GlobalData.OldModel) 684 | { 685 | //$.asTojs("room_data_gift",_loc14_.Get_SttString()); 686 | } 687 | else 688 | { 689 | //$.asTojs("room_data_gift",param1); 690 | } 691 | } 692 | 693 | // 设置管理员 694 | private function ServerSetAdmin(param1:Decode) : void 695 | { 696 | var _loc2_:int = param1.GetItemAsInt("rescode"); 697 | var _loc3_:int = param1.GetItemAsInt("userid"); 698 | var _loc4_:int = param1.GetItemAsInt("opuid"); 699 | var _loc5_:int = param1.GetItemAsInt("group"); 700 | var _loc6_:String = param1.GetItem("adnick"); 701 | var _loc7_:Encode = new Encode(); 702 | _loc7_.AddItem_int("rescode",_loc2_); 703 | if(_loc2_ == 0) 704 | { 705 | _loc7_.AddItem_int("userid",_loc3_); 706 | _loc7_.AddItem_int("group",_loc5_); 707 | _loc7_.AddItem_int("opuid",_loc4_); 708 | _loc7_.AddItem("adnick",_loc6_); 709 | } 710 | var _loc8_:String = _loc7_.Get_SttString(); 711 | //$.jscall("console.log","setadm: [%s]",_loc8_); 712 | //$.asTojs("room_data_setadm",_loc8_); 713 | } 714 | 715 | // 禁言 716 | private function ServerBlackUser(param1:Decode) : void 717 | { 718 | var _loc8_:* = null; 719 | var _loc9_:* = null; 720 | var _loc10_:Encode = null; 721 | var _loc11_:String = null; 722 | var _loc2_:int = param1.GetItemAsInt("rescode"); 723 | var _loc3_:int = param1.GetItemAsInt("userid"); 724 | var _loc4_:int = param1.GetItemAsInt("blacktype"); 725 | var _loc5_:int = param1.GetItemAsInt("limittime"); 726 | var _loc6_:String = param1.GetItem("dnick"); 727 | var _loc7_:String = param1.GetItem("snick"); 728 | if(_loc2_ == 0) 729 | { 730 | if(_loc4_ == 1) 731 | { 732 | _loc9_ = _loc6_ + "被管理员" + _loc7_ + "封锁IP"; 733 | _loc8_ = "您已被管理员" + _loc7_ + "封锁IP,封锁时间:" + _loc5_ + "秒"; 734 | } 735 | else if(_loc4_ == 2 || _loc4_ == 4) 736 | { 737 | if(_loc5_ != 0) 738 | { 739 | _loc9_ = _loc6_ + "被管理员" + _loc7_ + "禁言"; 740 | _loc8_ = "您已被管理员" + _loc7_ + "禁言,禁言时间:" + _loc5_ + "秒"; 741 | } 742 | else 743 | { 744 | _loc9_ = _loc6_ + "被管理员解除禁言"; 745 | _loc8_ = "您已被管理员解禁"; 746 | } 747 | } 748 | else if(_loc4_ == 3) 749 | { 750 | _loc9_ = _loc6_ + "被管理员" + _loc7_ + "T出房间"; 751 | _loc8_ = "您已被管理员" + _loc7_ + "封锁帐号,封锁时间:" + _loc5_ + "秒"; 752 | } 753 | if(this.my_uid == _loc3_) 754 | { 755 | //$.jscall("console.log","forbidTip:",_loc8_); 756 | //$.asTojs("room_data_per",_loc8_); 757 | if(_loc4_ == 1 && _loc4_ == 3) 758 | { 759 | this.clean_conn_timer(); 760 | } 761 | } 762 | //$.asTojs("room_data_sys",_loc9_); 763 | } 764 | else 765 | { 766 | _loc10_ = new Encode(); 767 | _loc10_.AddItem_int("rescode",_loc2_); 768 | _loc11_ = _loc10_.Get_SttString(); 769 | //$.asTojs("room_data_admfail",_loc11_); 770 | } 771 | } 772 | 773 | private function ServerShowStatus(param1:Decode) : void 774 | { 775 | var randTime:int = 0; 776 | var _strdecode:Decode = param1; 777 | var rid:int = _strdecode.GetItemAsInt("rid"); 778 | var ss:int = _strdecode.GetItemAsInt("ss"); 779 | var code:int = _strdecode.GetItemAsInt("code"); 780 | var notify:int = _strdecode.GetItemAsInt("notify"); 781 | var endtime:int = _strdecode.GetItemAsInt("endtime"); 782 | var rt:int = _strdecode.GetItemAsInt("rt"); 783 | var rtv:int = _strdecode.GetItemAsInt("rtv"); 784 | var _strencode:Encode = new Encode(); 785 | _strencode.AddItem_int("rid",rid); 786 | _strencode.AddItem_int("ss",ss); 787 | _strencode.AddItem_int("code",code); 788 | _strencode.AddItem_int("notify",notify); 789 | _strencode.AddItem_int("endtime",endtime); 790 | _strencode.AddItem_int("rt",rt); 791 | _strencode.AddItem_int("rtv",rtv); 792 | this.endStr = _strencode.Get_SttString(); 793 | if(rt == 1) 794 | { 795 | Param.isTicketNeed = true; 796 | setTimeout(function():void 797 | { 798 | var _loc1_:PlayMediator = MainCoreFacade.getInstance().retrieveMediator("PlayMediator") as PlayMediator; 799 | if(!_loc1_.playView.isPause) 800 | { 801 | EventCenter.dispatch("TicketStreamNotify"); 802 | } 803 | EventCenter.dispatch("ChangeRateNotifyEvent",{"type":0}); 804 | //$.jscall("console.log","dm ticket notify!"); 805 | },int(Math.random() * 5000)); 806 | } 807 | else if(rt == 2) 808 | { 809 | EventCenter.dispatch("PwdNotifyEvent",{"type":rtv}); 810 | } 811 | else 812 | { 813 | clearTimeout(this.endTimeIndex); 814 | randTime = int(Math.random() * 30); 815 | //$.jscall("console.log","ServerShowStatus2 =" + randTime); 816 | this.endTimeIndex = setTimeout(this.recommend,randTime * 1000); 817 | } 818 | } 819 | 820 | private function recommend() : void 821 | { 822 | EventCenter.dispatch("hostGoBack"); 823 | //$.jscall("console.log","nsStatechange:",this.endStr); 824 | //$.asTojs("room_data_state",this.endStr); 825 | this.dispatcher.dispatchEvent(new Event("ServerShowStatus")); 826 | } 827 | 828 | private function systemBroadcast(param1:String) : void 829 | { 830 | var _loc2_:Decode = new Decode(); 831 | _loc2_.Parse(param1); 832 | var _loc3_:int = _loc2_.GetItemAsInt("t"); 833 | var _loc4_:int = _loc2_.GetItemAsInt("bt"); 834 | var _loc5_:int = _loc2_.GetItemAsInt("vt"); 835 | var _loc6_:String = _loc2_.GetItem("sn"); 836 | var _loc7_:String = _loc2_.GetItem("c"); 837 | var _loc8_:String = _loc2_.GetItem("url"); 838 | var _loc9_:Encode = new Encode(); 839 | _loc9_.AddItem_int("bt",_loc4_); 840 | _loc9_.AddItem_int("vt",_loc5_); 841 | _loc9_.AddItem("sn",_loc6_); 842 | _loc9_.AddItem("c",_loc7_); 843 | _loc9_.AddItem("url",_loc8_); 844 | //$.jscall("console.log","sysbroad:",_loc9_.Get_SttString()); 845 | if(GlobalData.OldModel) 846 | { 847 | //$.asTojs("room_data_brocast",_loc9_.Get_SttString()); 848 | } 849 | else 850 | { 851 | //$.asTojs("room_data_brocast",param1); 852 | } 853 | } 854 | 855 | private function ServerUserEnter(param1:String) : void 856 | { 857 | var _loc2_:Decode = new Decode(); 858 | _loc2_.Parse(param1); 859 | var _loc3_:String = _loc2_.GetItem("userinfo"); 860 | var _loc4_:Decode = new Decode(); 861 | _loc4_.Parse(_loc3_); 862 | var _loc5_:int = _loc4_.GetItemAsInt("id"); 863 | var _loc6_:String = _loc4_.GetItem("name"); 864 | var _loc7_:String = _loc4_.GetItem("nick"); 865 | var _loc8_:int = _loc4_.GetItemAsInt("rg"); 866 | var _loc9_:int = _loc4_.GetItemAsInt("bg"); 867 | var _loc10_:int = _loc4_.GetItemAsInt("pg"); 868 | var _loc11_:int = _loc4_.GetItemAsInt("rt"); 869 | var _loc12_:Number = _loc4_.GetItemAsNumber("weight"); 870 | var _loc13_:Number = _loc4_.GetItemAsNumber("strength"); 871 | var _loc14_:int = _loc4_.GetItemAsInt("cps_id"); 872 | var _loc15_:int = _loc4_.GetItemAsInt("m_deserve_lev"); 873 | var _loc16_:int = _loc4_.GetItemAsInt("cq_cnt"); 874 | var _loc17_:int = _loc4_.GetItemAsInt("best_dlev"); 875 | var _loc18_:int = _loc4_.GetItemAsInt("level"); 876 | var _loc19_:int = _loc4_.GetItemAsInt("curr_exp"); 877 | var _loc20_:int = _loc4_.GetItemAsInt("up_need"); 878 | var _loc21_:int = _loc4_.GetItemAsInt("exp"); 879 | var _loc22_:int = _loc4_.GetItemAsInt("gt"); 880 | var _loc23_:String = _loc4_.GetItem("shark"); 881 | var _loc24_:int = _loc4_.GetItemAsInt("naat"); 882 | var _loc25_:int = _loc4_.GetItemAsInt("nrt"); 883 | var _loc26_:Encode = new Encode(); 884 | _loc26_.AddItem_int("id",_loc5_); 885 | _loc26_.AddItem("name",_loc6_); 886 | _loc26_.AddItem("nick",_loc7_); 887 | _loc26_.AddItem_int("rg",_loc8_); 888 | _loc26_.AddItem_int("bg",_loc9_); 889 | _loc26_.AddItem_int("pg",_loc10_); 890 | _loc26_.AddItem_int("rt",_loc11_); 891 | _loc26_.AddItem_int("weight",_loc12_); 892 | _loc26_.AddItem_int("strength",_loc13_); 893 | _loc26_.AddItem_int("cps_id",_loc14_); 894 | _loc26_.AddItem_int("m_deserve_lev",_loc15_); 895 | _loc26_.AddItem_int("cq_cnt",_loc16_); 896 | _loc26_.AddItem_int("best_dlev",_loc17_); 897 | _loc26_.AddItem_int("level",_loc18_); 898 | _loc26_.AddItem_int("curr_exp",_loc19_); 899 | _loc26_.AddItem_int("up_need",_loc20_); 900 | _loc26_.AddItem_int("exp",_loc21_); 901 | _loc26_.AddItem_int("gt",_loc22_); 902 | _loc26_.AddItem("shark",_loc23_); 903 | _loc26_.AddItem_int("naat",_loc24_); 904 | _loc26_.AddItem_int("nrt",_loc25_); 905 | var _loc27_:String = _loc26_.Get_SttString(); 906 | //$.jscall("console.log","newuinfo: [%s]",_loc27_); 907 | if(GlobalData.OldModel) 908 | { 909 | //$.asTojs("room_data_nstip",_loc26_.Get_SttString()); 910 | } 911 | else 912 | { 913 | //$.asTojs("room_data_nstip",param1); 914 | } 915 | } 916 | 917 | private function newServerUserEnter(param1:String) : void 918 | { 919 | //$.jscall("console.log","newnewuinfo: [%s]",param1); 920 | //$.asTojs("room_data_nstip2",param1); 921 | } 922 | 923 | private function buyDeserve(param1:String) : void 924 | { 925 | //$.asTojs("room_data_buycq",param1); 926 | } 927 | 928 | private function baoxueTime(param1:String) : void 929 | { 930 | var _loc2_:Decode = new Decode(); 931 | _loc2_.Parse(param1); 932 | var _loc3_:String = _loc2_.GetItem("func"); 933 | var _loc4_:String = _loc2_.GetItem("param"); 934 | var _loc5_:Encode = new Encode(); 935 | _loc5_.AddItem("func",_loc3_); 936 | _loc5_.AddItem("param",_loc4_); 937 | if(GlobalData.OldModel) 938 | { 939 | //$.asTojs("room_bus_comcall",_loc5_.Get_SttString()); 940 | } 941 | else 942 | { 943 | //$.asTojs("room_bus_comcall",param1); 944 | } 945 | //$.jscall("console.log","common_call2:",_loc5_.Get_SttString()); 946 | } 947 | 948 | private function rewardListResponse(param1:String) : void 949 | { 950 | //$.asTojs("room_data_cqrank",param1); 951 | //$.jscall("console.log","return_rewardList:",param1); 952 | } 953 | 954 | private function maskQrCodeNotify(param1:Decode) : void 955 | { 956 | var _loc2_:Number = param1.GetItemAsNumber("x_s"); 957 | var _loc3_:Number = param1.GetItemAsNumber("y_s"); 958 | var _loc4_:Number = param1.GetItemAsNumber("w_s"); 959 | var _loc5_:Number = param1.GetItemAsNumber("h_s"); 960 | var _loc6_:int = param1.GetItemAsInt("et"); 961 | if(Param.maskObj == null) 962 | { 963 | Param.maskObj = new Object(); 964 | } 965 | Param.maskObj.x_scale = _loc2_; 966 | Param.maskObj.y_scale = _loc3_; 967 | Param.maskObj.w_scale = _loc4_; 968 | Param.maskObj.h_scale = _loc5_; 969 | Param.maskObj.endtime = _loc6_; 970 | EventCenter.dispatch("maskNotify",null); 971 | } 972 | 973 | private function batterFxEffect(param1:String) : void 974 | { 975 | //$.asTojs("room_data_giftbat2",param1); 976 | //$.jscall("console.log","roomBatterFxRender:",param1); 977 | } 978 | 979 | private function onGiftNotify(param1:String) : void 980 | { 981 | var _loc2_:Decode = new Decode(); 982 | _loc2_.Parse(param1); 983 | var _loc3_:String = _loc2_.GetItem("nn"); 984 | var _loc4_:int = _loc2_.GetItemAsInt("ct"); 985 | if(_loc4_ == 1) 986 | { 987 | EventCenter.dispatch("MobileRewardEvent",{ 988 | "nameStr":_loc3_, 989 | "type":2, 990 | "time":getTimer() 991 | }); 992 | } 993 | //$.asTojs("room_data_olyw",param1); 994 | //$.jscall("console.log","box_obj.Luck_Burst:",param1); 995 | } 996 | 997 | private function giftBroadcast(param1:String) : void 998 | { 999 | var _loc2_:Decode = new Decode(); 1000 | _loc2_.Parse(param1); 1001 | var _loc3_:String = _loc2_.GetItem("sn"); 1002 | var _loc4_:String = _loc2_.GetItem("dn"); 1003 | var _loc5_:String = _loc2_.GetItem("gn"); 1004 | var _loc6_:int = _loc2_.GetItemAsInt("gc"); 1005 | var _loc7_:int = _loc2_.GetItemAsInt("drid"); 1006 | var _loc8_:int = _loc2_.GetItemAsInt("gs"); 1007 | var _loc9_:int = _loc2_.GetItemAsInt("rid"); 1008 | var _loc10_:int = _loc2_.GetItemAsInt("gfid"); 1009 | var _loc11_:int = _loc2_.GetItemAsInt("gb"); 1010 | var _loc12_:int = _loc2_.GetItemAsInt("es"); 1011 | var _loc13_:int = _loc2_.GetItemAsInt("bgl"); 1012 | var _loc14_:Encode = new Encode(); 1013 | _loc14_.AddItem("sn",_loc3_); 1014 | _loc14_.AddItem("dn",_loc4_); 1015 | _loc14_.AddItem("gn",_loc5_); 1016 | _loc14_.AddItem_int("gc",_loc6_); 1017 | _loc14_.AddItem_int("drid",_loc7_); 1018 | _loc14_.AddItem_int("gs",_loc8_); 1019 | _loc14_.AddItem_int("es",_loc12_); 1020 | _loc14_.AddItem_int("rid",_loc9_); 1021 | _loc14_.AddItem_int("gid",_loc10_); 1022 | if(_loc12_ == 1 || _loc12_ == 2) 1023 | { 1024 | if(_loc13_ == 1 || _loc13_ == 3) 1025 | { 1026 | //$.asTojs("room_data_giftbat1",param1); 1027 | EventCenter.dispatch("GiftBroadcastEvent",{ 1028 | "giftid":_loc10_, 1029 | "send":_loc3_, 1030 | "receive":_loc4_, 1031 | "gift":_loc5_, 1032 | "num":_loc6_, 1033 | "rid":_loc7_, 1034 | "giftStyle":_loc8_, 1035 | "haslb":_loc12_, 1036 | "type":2, 1037 | "time":getTimer() 1038 | }); 1039 | } 1040 | } 1041 | else 1042 | { 1043 | //$.asTojs("room_data_giftbat1",param1); 1044 | EventCenter.dispatch("GiftBroadcastEvent",{ 1045 | "giftid":_loc10_, 1046 | "send":_loc3_, 1047 | "receive":_loc4_, 1048 | "gift":_loc5_, 1049 | "num":_loc6_, 1050 | "rid":_loc7_, 1051 | "giftStyle":_loc8_, 1052 | "haslb":_loc12_, 1053 | "type":2, 1054 | "time":getTimer() 1055 | }); 1056 | } 1057 | //$.jscall("console.log","live_gift_batter:",_loc14_.Get_SttString()); 1058 | } 1059 | 1060 | private function currentRoomGiftBroadcast(param1:String) : void 1061 | { 1062 | var _loc2_:Decode = new Decode(); 1063 | _loc2_.Parse(param1); 1064 | var _loc3_:int = _loc2_.GetItemAsInt("rid"); 1065 | var _loc4_:String = _loc2_.GetItem("vt"); 1066 | if(_loc4_ != "") 1067 | { 1068 | EventCenter.dispatch("VotesChanged",{"vt":_loc4_}); 1069 | } 1070 | if(Param.isYinghun) 1071 | { 1072 | if(_loc3_ != 0 && (!GlobalData.yinghunRooms || GlobalData.yinghunRooms.indexOf(_loc3_.toString()) == -1)) 1073 | { 1074 | return; 1075 | } 1076 | } 1077 | else if(Param.isQQApp) 1078 | { 1079 | if(_loc3_ != 0 && (!GlobalData.qqappRooms || GlobalData.qqappRooms.indexOf(_loc3_.toString()) == -1)) 1080 | { 1081 | return; 1082 | } 1083 | } 1084 | //$.asTojs("room_data_giftbat1",param1); 1085 | } 1086 | 1087 | private function hbNotify(param1:String) : void 1088 | { 1089 | //$.asTojs("room_data_giftbat1",param1); 1090 | //$.jscall("console.log","live_gift_batter3:",param1); 1091 | } 1092 | 1093 | private function hbGetNotify(param1:String) : void 1094 | { 1095 | var _loc2_:Decode = new Decode(); 1096 | _loc2_.Parse(param1); 1097 | var _loc3_:int = _loc2_.GetItemAsInt("rpt"); 1098 | switch(_loc3_) 1099 | { 1100 | case 0: 1101 | //$.asTojs("room_data_giftbat1",param1); 1102 | //$.jscall("console.log","live_gift_batter5 :",param1); 1103 | break; 1104 | case 1: 1105 | //$.jscall("treeReply",param1); 1106 | break; 1107 | case 2: 1108 | //$.asTojs("room_data_beastrep",param1); 1109 | break; 1110 | case 3: 1111 | //$.asTojs("room_data_sabonusget",param1); 1112 | //$.jscall("console.log","beastReply gateway : ",param1); 1113 | break; 1114 | default: 1115 | //$.jscall("console.log","unknown rpt type : ",_loc3_); 1116 | } 1117 | } 1118 | 1119 | private function hbForNewuserNotify(param1:String) : void 1120 | { 1121 | //$.asTojs("room_data_giftbat1",param1); 1122 | //$.jscall("console.log","live_gift_batter6:",param1); 1123 | } 1124 | 1125 | private function illegalNotify(param1:String) : void 1126 | { 1127 | var _loc2_:Decode = new Decode(); 1128 | _loc2_.Parse(param1); 1129 | var _loc3_:int = _loc2_.GetItemAsInt("ii"); 1130 | var _loc4_:Number = _loc2_.GetItemAsNumber("timestamp"); 1131 | var _loc5_:Number = _loc2_.GetItemAsNumber("now"); 1132 | //$.asTojs("room_data_illchange",param1); 1133 | //$.jscall("console.log","illegaldt :",param1); 1134 | Util.dispatchIllegal(_loc3_,_loc5_ - _loc4_); 1135 | } 1136 | 1137 | private function rankUpdate(param1:String) : void 1138 | { 1139 | var _loc2_:Decode = new Decode(); 1140 | _loc2_.Parse(param1); 1141 | var _loc3_:int = _loc2_.GetItemAsInt("drid"); 1142 | var _loc4_:int = _loc2_.GetItemAsInt("sz"); 1143 | var _loc5_:int = _loc2_.GetItemAsInt("uid"); 1144 | var _loc6_:int = _loc2_.GetItemAsInt("rkt"); 1145 | var _loc7_:int = _loc2_.GetItemAsInt("rn"); 1146 | var _loc8_:String = _loc2_.GetItem("nk"); 1147 | if((_loc4_ & 2) != 0 && _loc7_ <= 10) 1148 | { 1149 | EventCenter.dispatch("RankBroadcastEvent",{ 1150 | "nickname":_loc8_, 1151 | "rankType":_loc6_, 1152 | "rankNum":_loc7_, 1153 | "rid":_loc3_, 1154 | "type":4, 1155 | "time":getTimer() 1156 | }); 1157 | } 1158 | //$.asTojs("room_data_cqrankupdate",param1); 1159 | //$.jscall("console.log","rankupdate:",param1); 1160 | } 1161 | 1162 | private function userUpdate(param1:String) : void 1163 | { 1164 | //$.asTojs("room_data_ulgrow",param1); 1165 | //$.jscall("console.log","userupdate:",param1); 1166 | } 1167 | 1168 | private function levelIconNotify(param1:String) : void 1169 | { 1170 | //$.asTojs("room_data_ulico",param1); 1171 | //$.jscall("console.log","levelIcon:",param1); 1172 | } 1173 | 1174 | private function superDanmuBroadcast(param1:String) : void 1175 | { 1176 | var _loc2_:Decode = new Decode(); 1177 | _loc2_.Parse(param1); 1178 | var _loc3_:int = _loc2_.GetItemAsInt("sdid"); 1179 | var _loc4_:int = _loc2_.GetItemAsInt("trid"); 1180 | var _loc5_:String = _loc2_.GetItem("content"); 1181 | var _loc6_:int = _loc2_.GetItemAsInt("rid"); 1182 | var _loc7_:int = _loc2_.GetItemAsInt("gid"); 1183 | var _loc8_:Encode = new Encode(); 1184 | _loc8_.AddItem_int("sdid",_loc3_); 1185 | _loc8_.AddItem_int("trid",_loc4_); 1186 | _loc8_.AddItem("content",_loc5_); 1187 | _loc8_.AddItem_int("rid",_loc6_); 1188 | _loc8_.AddItem_int("gid",_loc7_); 1189 | EventCenter.dispatch("MobileRewardEvent",{ 1190 | "did":_loc3_, 1191 | "nrid":_loc4_, 1192 | "supercontent":_loc5_, 1193 | "crid":_loc6_, 1194 | "cgid":_loc7_, 1195 | "type":3, 1196 | "time":getTimer() 1197 | }); 1198 | //$.jscall("console.log","superdm"); 1199 | if(GlobalData.OldModel) 1200 | { 1201 | //$.asTojs("room_data_schat",_loc8_.Get_SttString()); 1202 | } 1203 | else 1204 | { 1205 | //$.asTojs("room_data_schat",param1); 1206 | } 1207 | } 1208 | 1209 | public function clean_conn_timer() : void 1210 | { 1211 | if(this.myTimer != null) 1212 | { 1213 | this.myTimer.stop(); 1214 | this.myTimer.removeEventListener(TimerEvent.TIMER,this.KeepLive); 1215 | this.myTimer = null; 1216 | } 1217 | if(this._conn2 != null) 1218 | { 1219 | this._conn2.close(); 1220 | this._conn2.removeEventListener(TcpEvent.Conneted,this.onConn); 1221 | this._conn2.removeEventListener(TcpEvent.RecvMsg,this.ParseMsg); 1222 | this._conn2.removeEventListener(TcpEvent.SecurityError,this.onConn); 1223 | this._conn2.removeEventListener(TcpEvent.Error,this.onConn); 1224 | this._conn2.removeEventListener(TcpEvent.Closed,this.onConn); 1225 | this._conn2 = null; 1226 | } 1227 | } 1228 | 1229 | private function christmasTree(param1:String) : void 1230 | { 1231 | //$.jscall("treeReceived",param1); 1232 | } 1233 | 1234 | private function christmasGift(param1:String) : void 1235 | { 1236 | var _loc2_:Decode = new Decode(); 1237 | _loc2_.Parse(param1); 1238 | var _loc3_:String = _loc2_.GetItem("nm"); 1239 | var _loc4_:String = _loc2_.GetItem("mcnn"); 1240 | var _loc5_:int = _loc2_.GetItemAsInt("rid"); 1241 | EventCenter.dispatch("GiftBroadcastEvent",{ 1242 | "send":_loc4_, 1243 | "receive":_loc3_, 1244 | "rid":_loc5_, 1245 | "haslb":1001, 1246 | "time":getTimer() 1247 | }); 1248 | } 1249 | 1250 | private function beastReceived(param1:String) : void 1251 | { 1252 | //$.asTojs("room_data_beastrec",param1); 1253 | } 1254 | 1255 | private function petInfo(param1:String) : void 1256 | { 1257 | var _loc4_:int = 0; 1258 | var _loc5_:String = null; 1259 | var _loc6_:String = null; 1260 | var _loc7_:int = 0; 1261 | var _loc2_:Decode = new Decode(); 1262 | _loc2_.Parse(param1); 1263 | var _loc3_:int = _loc2_.GetItemAsInt("pt"); 1264 | switch(_loc3_) 1265 | { 1266 | case 1: 1267 | this.christmasTree(param1); 1268 | break; 1269 | case 2: 1270 | this.beastReceived(param1); 1271 | _loc4_ = _loc2_.GetItemAsInt("rps"); 1272 | if(_loc4_ == 1) 1273 | { 1274 | _loc5_ = _loc2_.GetItem("onick"); 1275 | _loc6_ = _loc2_.GetItem("mnick"); 1276 | _loc7_ = _loc2_.GetItemAsInt("rid"); 1277 | EventCenter.dispatch("GiftBroadcastEvent",{ 1278 | "send":_loc6_, 1279 | "receive":_loc5_, 1280 | "rid":_loc7_, 1281 | "haslb":1002, 1282 | "time":getTimer() 1283 | }); 1284 | } 1285 | break; 1286 | default: 1287 | //$.jscall("console.log","unknown pt type: ",_loc3_); 1288 | } 1289 | } 1290 | 1291 | private function deductionPoints(param1:String) : void 1292 | { 1293 | //$.jscall("console.log","kfnotify"); 1294 | //$.asTojs("room_data_ancpoints",param1); 1295 | } 1296 | 1297 | private function nianNotify(param1:Decode) : void 1298 | { 1299 | var _loc2_:String = param1.GetItem("ct"); 1300 | var _loc3_:int = param1.GetItemAsInt("rid"); 1301 | var _loc4_:Decode = new Decode(); 1302 | _loc4_.Parse(_loc2_); 1303 | var _loc5_:int = _loc4_.GetItemAsInt("hour"); 1304 | EventCenter.dispatch("GiftBroadcastEvent",{ 1305 | "rid":_loc3_, 1306 | "hour":_loc5_, 1307 | "haslb":2001, 1308 | "time":getTimer() 1309 | }); 1310 | } 1311 | 1312 | private function mobileChouJiangNotify(param1:String) : void 1313 | { 1314 | //$.jscall("console.log","mobilecjnotify"); 1315 | //$.asTojs("room_data_luckdrawcd",param1); 1316 | } 1317 | 1318 | private function gbroadcast(param1:String) : void 1319 | { 1320 | var _loc4_:String = null; 1321 | var _loc5_:Object = null; 1322 | var _loc6_:int = 0; 1323 | var _loc7_:String = null; 1324 | var _loc8_:String = null; 1325 | var _loc9_:String = null; 1326 | var _loc10_:String = null; 1327 | var _loc11_:String = null; 1328 | var _loc12_:int = 0; 1329 | var _loc13_:int = 0; 1330 | var _loc14_:String = null; 1331 | var _loc2_:Decode = new Decode(); 1332 | _loc2_.Parse(param1); 1333 | var _loc3_:int = _loc2_.GetItemAsInt("gbcss"); 1334 | if(_loc3_ == 0) 1335 | { 1336 | _loc4_ = _loc2_.GetItem("gbcc"); 1337 | if(_loc4_ != "") 1338 | { 1339 | _loc5_ = CommonUtils.decode(_loc4_); 1340 | if(_loc5_) 1341 | { 1342 | EventCenter.dispatch("GbroadcastEvent",{ 1343 | "gbcss":_loc5_.gbcss, 1344 | "drid":_loc5_.drid, 1345 | "ronk":_loc5_.ronk, 1346 | "kw":_loc5_.kw, 1347 | "time":getTimer() 1348 | }); 1349 | } 1350 | } 1351 | } 1352 | else if(_loc3_ == 4 || _loc3_ == 5) 1353 | { 1354 | _loc6_ = _loc2_.GetItemAsInt("drid"); 1355 | _loc7_ = _loc2_.GetItem("sn"); 1356 | _loc8_ = _loc2_.GetItem("dn"); 1357 | _loc9_ = _loc2_.GetItem("gfid"); 1358 | _loc10_ = _loc2_.GetItem("gn"); 1359 | _loc11_ = _loc2_.GetItem("htt"); 1360 | _loc12_ = _loc2_.GetItemAsInt("gvt"); 1361 | _loc13_ = _loc2_.GetItemAsInt("hvt"); 1362 | _loc14_ = ""; 1363 | if(_loc11_ == "1") 1364 | { 1365 | _loc14_ = "6"; 1366 | } 1367 | else if(_loc11_ == "2") 1368 | { 1369 | _loc14_ = "66"; 1370 | } 1371 | else if(_loc11_ == "3") 1372 | { 1373 | _loc14_ = "666"; 1374 | } 1375 | EventCenter.dispatch("GbroadcastEvent",{ 1376 | "gbcss":_loc3_, 1377 | "drid":_loc6_, 1378 | "sn":_loc7_, 1379 | "dn":_loc8_, 1380 | "gfid":_loc9_, 1381 | "gn":_loc10_, 1382 | "num":_loc14_, 1383 | "gvt":_loc12_, 1384 | "hvt":_loc13_, 1385 | "time":getTimer() 1386 | }); 1387 | } 1388 | //$.jscall("console.log","gbroadcast"); 1389 | } 1390 | 1391 | private function chaoGuanBaoXiang(param1:String) : void 1392 | { 1393 | //$.asTojs("room_data_sabonus",param1); 1394 | //$.jscall("console.log","chaoGuanBaoXiang"); 1395 | } 1396 | 1397 | private function alipayblackres(param1:Decode) : void 1398 | { 1399 | var _loc4_:String = null; 1400 | var _loc2_:int = param1.GetItemAsInt("rescode"); 1401 | var _loc3_:int = param1.GetItemAsInt("userid"); 1402 | if(_loc2_ == 0) 1403 | { 1404 | _loc4_ = "禁言支付宝用户成功"; 1405 | } 1406 | else 1407 | { 1408 | _loc4_ = "禁言支付宝用户失败"; 1409 | } 1410 | //$.jscall("console.log","alipayblackres:",_loc4_); 1411 | } 1412 | 1413 | private function room_data_sys(param1:String) : void 1414 | { 1415 | //$.asTojs("room_data_sys",param1); 1416 | //$.jscall("console.log","barrage room_data_sys:",param1); 1417 | } 1418 | 1419 | private function keyTitlesRes(param1:String) : void 1420 | { 1421 | var _loc2_:Decode = new Decode(); 1422 | _loc2_.Parse(param1); 1423 | var _loc3_:int = _loc2_.GetItemAsInt("uid"); 1424 | var _loc4_:String = _loc2_.GetItem("uname"); 1425 | var _loc5_:int = _loc2_.GetItemAsInt("ret"); 1426 | var _loc6_:Encode = new Encode(); 1427 | _loc6_.AddItem("uname",_loc4_); 1428 | _loc6_.AddItem_int("ret",_loc5_); 1429 | _loc6_.AddItem_int("uid",_loc3_); 1430 | //$.jscall("console.log","keytitler:",_loc6_.Get_SttString()); 1431 | if(GlobalData.OldModel) 1432 | { 1433 | //$.asTojs("room_data_onekeyacc",_loc6_.Get_SttString()); 1434 | } 1435 | else 1436 | { 1437 | //$.asTojs("room_data_onekeyacc",param1); 1438 | } 1439 | } 1440 | 1441 | private function shareSuccess(param1:String) : void 1442 | { 1443 | //$.asTojs("room_data_wbsharesuc",param1); 1444 | //$.jscall("console.log","share response"); 1445 | } 1446 | 1447 | private function doubleHitEffect(param1:String) : void 1448 | { 1449 | var _loc2_:Decode = new Decode(); 1450 | _loc2_.Parse(param1); 1451 | var _loc3_:String = _loc2_.GetItem("sn"); 1452 | var _loc4_:String = _loc2_.GetItem("dn"); 1453 | var _loc5_:int = _loc2_.GetItemAsInt("gfid"); 1454 | var _loc6_:int = _loc2_.GetItemAsInt("ceid"); 1455 | var _loc7_:int = _loc2_.GetItemAsInt("drid"); 1456 | var _loc8_:int = _loc2_.GetItemAsInt("gs"); 1457 | var _loc9_:int = _loc2_.GetItemAsInt("bgl"); 1458 | if(_loc9_ == 1 || _loc9_ == 3) 1459 | { 1460 | EventCenter.dispatch("DoubleHitEffectEvent",{ 1461 | "giftid":_loc5_, 1462 | "ceid":_loc6_, 1463 | "send":_loc3_, 1464 | "receive":_loc4_, 1465 | "rid":_loc7_, 1466 | "giftStyle":_loc8_, 1467 | "haslb":100, 1468 | "time":getTimer() 1469 | }); 1470 | } 1471 | } 1472 | 1473 | private function ticketEnd(param1:String) : void 1474 | { 1475 | //$.asTojs("room_data_endchargelive",Param.eticket); 1476 | EventCenter.dispatch("TipHide",{"type":1}); 1477 | EventCenter.dispatch("TicketStreamNotify",{"reset":true}); 1478 | //$.jscall("console.log","ticket time end!"); 1479 | } 1480 | } 1481 | } 1482 | -------------------------------------------------------------------------------- /src/ClientProxy.as: -------------------------------------------------------------------------------- 1 | package cc.dy.model.net 2 | { 3 | import org.puremvc.as3.patterns.proxy.Proxy; 4 | import org.puremvc.as3.interfaces.IProxy; 5 | import util.$; 6 | import flash.external.ExternalInterface; 7 | import common.event.EventCenter; 8 | import flash.utils.setTimeout; 9 | import util.UserBehaviorLog; 10 | import flash.events.Event; 11 | import flash.utils.clearInterval; 12 | import flash.utils.setInterval; 13 | import common.event.ObjectEvent; 14 | 15 | public class ClientProxy extends Proxy implements IProxy 16 | { 17 | // javascript proxy for browser 18 | public static var NAME:String = "ClientProxy"; 19 | 20 | private var _client:cc.dy.model.net.Client; 21 | 22 | private var flashProt:int = 0; 23 | 24 | private var protArr:Array; 25 | 26 | private var firstRepeatConnect:Boolean = true; 27 | 28 | private var fristConnect:Boolean = true; 29 | 30 | private var firstTimeOut:Boolean = true; 31 | 32 | private var _checkOnlineSeed:uint; 33 | 34 | private var countNet:int = 0; 35 | 36 | public function ClientProxy() 37 | { 38 | this.protArr = [843,844]; 39 | super(NAME); 40 | this.flashProt = this.protArr[int(this.protArr.length * Math.random())]; 41 | this.addJsCallback(); 42 | } 43 | 44 | public function onSendByteCount(param1:Number) : void 45 | { 46 | if(this._client != null) 47 | { 48 | this._client.SendByteCount(param1); 49 | } 50 | else 51 | { 52 | //$.jscall("console.log","Error! [%s]","client.SendByteCount is null!"); 53 | } 54 | } 55 | 56 | public function onSendEmptyOrFullCount(param1:int, param2:int, param3:int, param4:String, param5:int, param6:String) : void 57 | { 58 | if(Param.IsIndex) 59 | { 60 | return; 61 | } 62 | if(this._client != null) 63 | { 64 | this._client.SendEmptyOrFullCount(param1,param2,param3,param4,param5,param6); 65 | } 66 | else 67 | { 68 | //$.jscall("console.log","Error! [%s]","client.SendEmptyOrFullCount is null!"); 69 | } 70 | } 71 | 72 | private function addJsCallback() : void 73 | { 74 | if(ExternalInterface.available) 75 | { 76 | ExternalInterface.addCallback("js_newuser_client",this.MyNewUser); 77 | ExternalInterface.addCallback("js_userlogin",this.MyUserLogin); 78 | ExternalInterface.addCallback("js_verReque",this.verReque); 79 | ExternalInterface.addCallback("js_anotherlogin",this.anotherMyUserLogin); 80 | ExternalInterface.addCallback("js_sendmsg",this.MySendChatContent); 81 | ExternalInterface.addCallback("js_userlogout",this.MyUserLogout); 82 | ExternalInterface.addCallback("js_blackuser",this.MyBlackUser); 83 | ExternalInterface.addCallback("js_setadmin",this.MySetAdmin); 84 | ExternalInterface.addCallback("js_sendsize",this.MySendSize); 85 | ExternalInterface.addCallback("js_barrage",this.DisplayCommentLayer); 86 | ExternalInterface.addCallback("js_myblacklist",this.MyBlackList); 87 | ExternalInterface.addCallback("adverment",this.initLoad); 88 | ExternalInterface.addCallback("js_givePresent",this.onGivePresent); 89 | ExternalInterface.addCallback("js_giveGift",this.onGiveGift); 90 | ExternalInterface.addCallback("js_queryTask",this.onQueryTask); 91 | ExternalInterface.addCallback("js_newQueryTask",this.onNewQueryTaskNum); 92 | ExternalInterface.addCallback("js_obtainTask",this.onObtainTask); 93 | ExternalInterface.addCallback("js_roomSignUp",this.onSignUp); 94 | ExternalInterface.addCallback("js_keyTitles",this.keyTitles); 95 | ExternalInterface.addCallback("js_reportBarrage",this.reportBarrage); 96 | ExternalInterface.addCallback("js_exitFullScreen",this.exitFullScreen); 97 | ExternalInterface.addCallback("js_rewardList",this.rewardListRequest); 98 | ExternalInterface.addCallback("js_pmFeedback",this.emailNotifyFeedback); 99 | ExternalInterface.addCallback("js_query_giftPkg",this.query_giftPkg); 100 | ExternalInterface.addCallback("js_switchStream",this.switchStream); 101 | ExternalInterface.addCallback("js_superDanmuClick",this.superDanmuClick); 102 | ExternalInterface.addCallback("js_GetHongbao",this.hongbaoRequest); 103 | ExternalInterface.addCallback("js_effectVisible",this.hideEffect); 104 | ExternalInterface.addCallback("js_timeLoginTip",this.timeLoginTip); 105 | ExternalInterface.addCallback("js_breakRuleTip",this.breakRuleTip); 106 | ExternalInterface.addCallback("js_qqappList",this.qqappList); 107 | ExternalInterface.addCallback("js_sendhandler",this.sendHandler); 108 | ExternalInterface.addCallback("js_yinghunList",this.yinghunList); 109 | ExternalInterface.addCallback("js_shareSuccess",this.shareSuccess); 110 | ExternalInterface.addCallback("js_UserNoHandle",this.UserNoHandle); 111 | ExternalInterface.addCallback("js_UserHaveHandle",this.UserHaveHandle); 112 | ExternalInterface.addCallback("js_turn_on_activity",this.js_turn_on_activity); 113 | ExternalInterface.addCallback("js_buytickets_success",this.buyticketsSuccess); 114 | } 115 | EventCenter.addEventListener("DModelChangeEvent",this.__dmodelChange); 116 | EventCenter.addEventListener("SuperDanmuClickEvent",this.__superDanmuClick); 117 | } 118 | 119 | private function UserNoHandle(param1:* = null) : void 120 | { 121 | EventCenter.dispatch("UserNoHandleEvent"); 122 | //$.jscall("console.log","前端来消息UserNoHandleEvent"); 123 | } 124 | 125 | private function UserHaveHandle() : void 126 | { 127 | EventCenter.dispatch("UserHaveHandleEvent"); 128 | } 129 | 130 | public function MyNewUser() : void 131 | { 132 | if(this._client != null) 133 | { 134 | this._client.UserLogout(); 135 | this._client.dispatcher.removeEventListener("ServerShowStatus",this.__ShowStatus); 136 | this._client = null; 137 | //$.jscall("console.log","Error! [%s]","MyNewUser client is not null!"); 138 | } 139 | if(this.fristConnect) 140 | { 141 | setTimeout(this.__recodeFirst,2000); 142 | } 143 | this.fristConnect = false; 144 | this._client = new cc.dy.model.net.Client(); 145 | this._client.ConnectServer(Param.ServerIp,Param.ServerPort,this.flashProt,this.OnConn); 146 | this._client.dispatcher.addEventListener("ServerShowStatus",this.__ShowStatus); 147 | //$.jscall("console.log","server [%s]:[%s]",Param.ServerIp,Param.ServerPort); 148 | //$.jscall("console.log","newUserclient[%s]",""); 149 | } 150 | 151 | private function __recodeFirst() : void 152 | { 153 | var seconds:int = 0; 154 | if(this.firstTimeOut) 155 | { 156 | seconds = new Date().time / 1000; 157 | UserBehaviorLog.getInstance().sendChatLog(UserBehaviorLog.POINT_ID_FIRST_LOGIN_,seconds,{"id":Param.ServerIp + ":" + Param.ServerPort}); 158 | } 159 | } 160 | 161 | private function __ShowStatus(param1:Event) : void 162 | { 163 | sendNotification(Order.Show_Recommend_Request); 164 | if(Param.IS_HOSTLIVE == 1 || Param.usergroupid == "5") 165 | { 166 | sendNotification(Order.Hide_Load_Request); 167 | } 168 | else 169 | { 170 | sendNotification(Order.Hide_Load_Request); 171 | sendNotification(Order.Hide_Play_Request); 172 | sendNotification(Order.Hide_Video_Request); 173 | } 174 | } 175 | 176 | private function OnConn(param1:TcpEvent) : void 177 | { 178 | var port:int = 0; 179 | this.firstTimeOut = false; 180 | //$.jscall("console.log","string is [%s]","OnConn"); 181 | if(param1._param.type == 1) 182 | { 183 | GlobalData.isSecurError1 = false; 184 | sendNotification(Order.Room_Check_Request,null); 185 | } 186 | else if(param1._param.type == 3) 187 | { 188 | GlobalData.isSecurError1 = true; 189 | port = param1._param.port; 190 | this.flashProt = port == 843?844:843; 191 | if(this.firstRepeatConnect) 192 | { 193 | this.firstRepeatConnect = false; 194 | this.MyNewUser(); 195 | } 196 | } 197 | if(this._checkOnlineSeed) 198 | { 199 | clearInterval(this._checkOnlineSeed); 200 | } 201 | this._checkOnlineSeed = setInterval(this.CheckOnline,120000); 202 | } 203 | 204 | private function CheckOnline() : void 205 | { 206 | var seconds:int = 0; 207 | if(!this._client._conn || !this._client._conn.is_connected) 208 | { 209 | //$.jscall("console.log","berakOut Connection"); 210 | this.MyNewUser(); 211 | this.countNet++; 212 | seconds = new Date().time / 1000; 213 | UserBehaviorLog.getInstance().sendChatLog(UserBehaviorLog.POINT_ID_LOGIN_SERVER_FAIL_,seconds,{ 214 | "id":Param.ServerIp + ":" + Param.ServerPort, 215 | "lag":this.countNet 216 | }); 217 | } 218 | } 219 | 220 | private function MyUserLogin(param1:String) : void 221 | { 222 | if(this._client != null) 223 | { 224 | this._client.UserLogin(param1); 225 | } 226 | else 227 | { 228 | //$.jscall("console.log","Error! [%s]","client.UserLogin is null!"); 229 | } 230 | } 231 | 232 | private function verReque(param1:String) : void 233 | { 234 | if(this._client != null) 235 | { 236 | this._client.verRequest(param1); 237 | } 238 | else 239 | { 240 | //$.jscall("console.log","Error! [%s]","client.UserLogin is null!"); 241 | } 242 | } 243 | 244 | private function anotherMyUserLogin(param1:String) : void 245 | { 246 | if(this._client != null) 247 | { 248 | this._client.anotherUserLogin(param1); 249 | } 250 | else 251 | { 252 | //$.jscall("console.log","Error! [%s]","client.UserLogin is null!"); 253 | } 254 | } 255 | 256 | private function MySendChatContent(param1:String) : void 257 | { 258 | //$.jscall("console.log","ChatMsg [%s]",param1); 259 | if(this._client != null) 260 | { 261 | this._client.SendChatContent(param1); 262 | } 263 | else 264 | { 265 | //$.jscall("console.log","Error! [%s]","client.SendChatContent is null!"); 266 | } 267 | } 268 | 269 | private function MyUserLogout() : void 270 | { 271 | if(this._client != null) 272 | { 273 | this._client.UserLogout(); 274 | this._client = null; 275 | } 276 | else 277 | { 278 | //$.jscall("console.log","Error! [%s]","client.Logout is null!"); 279 | } 280 | } 281 | 282 | private function MyBlackUser(param1:String) : void 283 | { 284 | if(this._client != null) 285 | { 286 | this._client.BlackUser(param1); 287 | } 288 | else 289 | { 290 | //$.jscall("console.log","Error! [%s]","client.BlackUser is null!"); 291 | } 292 | } 293 | 294 | private function MySetAdmin(param1:String) : void 295 | { 296 | if(this._client != null) 297 | { 298 | this._client.SetAdmin(param1); 299 | } 300 | else 301 | { 302 | //$.jscall("console.log","Error! [%s]","client.SetAdmin is null!"); 303 | } 304 | } 305 | 306 | private function MySendSize(param1:String) : void 307 | { 308 | } 309 | 310 | private function DisplayCommentLayer(param1:Boolean) : void 311 | { 312 | //$.jscall("console.log","damuState [%s]",param1); 313 | facade.sendNotification(Order.Comment_OpenHide_Request,{"status":param1}); 314 | } 315 | 316 | private function MyBlackList(param1:String) : void 317 | { 318 | if(this._client != null) 319 | { 320 | this._client.MyBlackList(param1); 321 | } 322 | else 323 | { 324 | //$.jscall("console.log","Error! [%s]","client.MyBlackList is null!"); 325 | } 326 | } 327 | 328 | private function initLoad() : void 329 | { 330 | } 331 | 332 | private function onGivePresent(param1:String) : void 333 | { 334 | if(this._client != null) 335 | { 336 | this._client.givePresent(param1); 337 | } 338 | else 339 | { 340 | //$.jscall("console.log","Error! [%s]","givePresent failed!!"); 341 | } 342 | } 343 | 344 | private function onGiveGift(param1:String) : void 345 | { 346 | if(this._client != null) 347 | { 348 | this._client.giveGift(param1); 349 | } 350 | else 351 | { 352 | //$.jscall("console.log","Error! [%s]","givePresent failed!!"); 353 | } 354 | } 355 | 356 | private function onQueryTask() : void 357 | { 358 | if(this._client != null) 359 | { 360 | this._client.queryTask(); 361 | } 362 | else 363 | { 364 | //$.jscall("console.log","Error! [%s]","queryTask failed!!"); 365 | } 366 | } 367 | 368 | private function onNewQueryTaskNum() : void 369 | { 370 | if(this._client != null) 371 | { 372 | this._client.queryTaskNum(); 373 | } 374 | else 375 | { 376 | //$.jscall("console.log","Error! [%s]","queryTask failed!!"); 377 | } 378 | } 379 | 380 | private function onObtainTask(param1:String) : void 381 | { 382 | if(this._client != null) 383 | { 384 | this._client.obtainTask(param1); 385 | } 386 | else 387 | { 388 | //$.jscall("console.log","Error! [%s]","obtainTask failed!!"); 389 | } 390 | } 391 | 392 | private function onSignUp() : void 393 | { 394 | if(this._client != null) 395 | { 396 | this._client.roomSignUp(); 397 | } 398 | else 399 | { 400 | //$.jscall("console.log","Error! [%s]","onSignUp failed!!"); 401 | } 402 | } 403 | 404 | private function keyTitles(param1:String) : void 405 | { 406 | if(this._client != null) 407 | { 408 | this._client.setKeytitles(param1); 409 | } 410 | else 411 | { 412 | //$.jscall("console.log","Error! [%s]","keyTitles failed!!"); 413 | } 414 | } 415 | 416 | private function reportBarrage(param1:String) : void 417 | { 418 | if(this._client != null) 419 | { 420 | this._client.setReportBarrage(param1); 421 | } 422 | else 423 | { 424 | //$.jscall("console.log","Error! [%s]","reportBarrage failed!!"); 425 | } 426 | } 427 | 428 | private function exitFullScreen() : void 429 | { 430 | EventCenter.dispatch("jsExitFullScreen",null); 431 | } 432 | 433 | private function rewardListRequest() : void 434 | { 435 | if(this._client != null) 436 | { 437 | this._client.requestRewardList(); 438 | } 439 | else 440 | { 441 | //$.jscall("console.log","Error! [%s]","requestRewardList failed!!"); 442 | } 443 | } 444 | 445 | private function emailNotifyFeedback(param1:String) : void 446 | { 447 | if(this._client != null) 448 | { 449 | this._client.emailNotifyResponse(param1); 450 | } 451 | else 452 | { 453 | //$.jscall("console.log","Error! [%s]","emailNotifyFeedback failed!!"); 454 | } 455 | } 456 | 457 | private function query_giftPkg(param1:String) : void 458 | { 459 | if(this._client != null) 460 | { 461 | this._client.queryGiftPkg(param1); 462 | } 463 | else 464 | { 465 | //$.jscall("console.log","Error! [%s]","emailNotifyFeedback failed!!"); 466 | } 467 | } 468 | 469 | private function switchStream() : void 470 | { 471 | } 472 | 473 | private function superDanmuClick(param1:String) : void 474 | { 475 | if(this._client != null) 476 | { 477 | this._client.jsSuperDanmuClickReq(param1); 478 | } 479 | else 480 | { 481 | //$.jscall("console.log","Error! [%s]","superDanmuClick1 failed!!"); 482 | } 483 | } 484 | 485 | private function hongbaoRequest(param1:String) : void 486 | { 487 | if(this._client != null) 488 | { 489 | this._client.hbRequest(param1); 490 | } 491 | else 492 | { 493 | //$.jscall("console.log","Error! [%s]","hongbaoRequest failed!!"); 494 | } 495 | } 496 | 497 | private function hideEffect(param1:int) : void 498 | { 499 | if(GlobalData.EFFECTLAYER) 500 | { 501 | GlobalData.EFFECTLAYER.visible = param1 == 1?false:true; 502 | } 503 | } 504 | 505 | private function timeLoginTip() : void 506 | { 507 | //$.jscall("console.log","timetip"); 508 | EventCenter.dispatch("StarttimeLoginTip"); 509 | } 510 | 511 | private function breakRuleTip(param1:int) : void 512 | { 513 | //$.jscall("console.log","quit normal=" + param1); 514 | if(param1 == 1) 515 | { 516 | EventCenter.dispatch("breakRuleTipEvent"); 517 | } 518 | } 519 | 520 | private function __dmodelChange(param1:ObjectEvent) : void 521 | { 522 | if(this._client != null) 523 | { 524 | this._client.dmodelNotify(param1.data.type); 525 | } 526 | else 527 | { 528 | //$.jscall("console.log","Error! [%s]","dmodelNotify failed!!"); 529 | } 530 | } 531 | 532 | private function __superDanmuClick(param1:ObjectEvent) : void 533 | { 534 | if(this._client != null) 535 | { 536 | this._client.superDanmuClickReq(param1.data); 537 | } 538 | else 539 | { 540 | //$.jscall("console.log","Error! [%s]","superDanmuClick failed!!"); 541 | } 542 | } 543 | 544 | private function qqappList(param1:String) : void 545 | { 546 | if(param1) 547 | { 548 | GlobalData.qqappRooms = param1.split(","); 549 | } 550 | } 551 | 552 | private function sendHandler(param1:Array) : void 553 | { 554 | //$.jscall("console.log","sendplayerres"); 555 | EventCenter.dispatch("sendPlayerEvent",{"res":param1}); 556 | } 557 | 558 | private function yinghunList(param1:String) : void 559 | { 560 | if(param1) 561 | { 562 | GlobalData.yinghunRooms = param1.split(","); 563 | } 564 | } 565 | 566 | private function shareSuccess(param1:Number) : void 567 | { 568 | if(this._client != null) 569 | { 570 | this._client.shareSuccess(param1); 571 | } 572 | else 573 | { 574 | //$.jscall("console.log","Error! [%s]","share notify failed!"); 575 | } 576 | } 577 | 578 | private function js_turn_on_activity(param1:String, param2:Boolean) : void 579 | { 580 | //$.jscall("console.log","js_turn_on_activity",param1,param2); 581 | if(param1 == "666") 582 | { 583 | if(Boolean(Param.isYinghun) || Boolean(Param.isQQApp) || Boolean(Param.IsIndex) || Boolean(GlobalData.OldModel)) 584 | { 585 | return; 586 | } 587 | if(param2) 588 | { 589 | sendNotification(Order.TURN_ON_AC666); 590 | } 591 | } 592 | } 593 | 594 | private function buyticketsSuccess() : void 595 | { 596 | EventCenter.dispatch("BuyticketsSuccess"); 597 | //$.jscall("console.log","buy tickets success callback"); 598 | } 599 | } 600 | } 601 | -------------------------------------------------------------------------------- /src/EncDec.as: -------------------------------------------------------------------------------- 1 | package cc.dy.model.net 2 | { 3 | public class Encode 4 | { 5 | // message encoder 6 | private static const SCAN_CHAR_REG:RegExp = /[\\/@]/; 7 | 8 | public var SttString:String = ""; 9 | 10 | public function Encode() 11 | { 12 | super(); 13 | } 14 | 15 | public function AddItem(key:String, value:String) : void 16 | { 17 | var keyStr:String = ""; 18 | keyStr = key != null?this.scan_str(key) + "@=":""; 19 | this.SttString = this.SttString + (keyStr + this.scan_str(value) + "/"); 20 | } 21 | 22 | public function AddItem_int(key:String, value:Number) : void 23 | { 24 | var keyStr:String = ""; 25 | keyStr = key != null?this.scan_str(key) + "@=":""; 26 | this.SttString = this.SttString + (keyStr + this.scan_str(value.toString()) + "/"); 27 | } 28 | 29 | public function Get_SttString() : String 30 | { 31 | return this.SttString; 32 | } 33 | 34 | private function scan_str(str:String) : String 35 | { 36 | var ch:String = null; 37 | if(str.search(SCAN_CHAR_REG) == -1) 38 | { 39 | return str; 40 | } 41 | var val:* = ""; 42 | var i:int = 0; 43 | while(i < str.length) 44 | { 45 | ch = str.charAt(i); 46 | if(ch == "/") 47 | { 48 | val = val + "@S"; 49 | } 50 | else if(ch == "@") 51 | { 52 | val = val + "@A"; 53 | } 54 | else 55 | { 56 | val = val + ch; 57 | } 58 | i++; 59 | } 60 | return val; 61 | } 62 | } 63 | 64 | public class Decode 65 | { 66 | // message decoder, decode server message to dictionary 67 | private var sItems:Object; 68 | 69 | private var _count:int; 70 | 71 | private var _rawString:String; 72 | 73 | public function Decode() 74 | { 75 | this.sItems = {}; 76 | super(); 77 | } 78 | 79 | public function get count() : int 80 | { 81 | return this._count; 82 | } 83 | 84 | public function get rawString() : String 85 | { 86 | return this._rawString; 87 | } 88 | 89 | public function Parse(sttString:String) : void 90 | { 91 | var ch:String = null; 92 | var chNext:String = null; 93 | if(sttString.charAt(sttString.length - 1) != "/") 94 | { 95 | sttString = sttString + "/"; 96 | } 97 | this._rawString = sttString; 98 | var val:* = ""; 99 | var key:String = ""; 100 | var len:int = sttString.length; 101 | var count:int = 0; 102 | var i:int = 0; 103 | while(i < len) 104 | { 105 | ch = sttString.charAt(i); 106 | if(ch == "/") 107 | { 108 | this.sItems[key || count] = val; 109 | key = val = ""; 110 | count++; 111 | } 112 | else if(ch == "@") 113 | { 114 | i++; 115 | chNext = sttString.charAt(i); 116 | if(chNext == "=") 117 | { 118 | key = val; 119 | val = ""; 120 | } 121 | else if(chNext == "A") 122 | { 123 | val = val + "@"; 124 | } 125 | else if(chNext == "S") 126 | { 127 | val = val + "/"; 128 | } 129 | } 130 | else 131 | { 132 | val = val + ch; 133 | } 134 | i++; 135 | } 136 | this._count = count; 137 | } 138 | 139 | public function GetItem(key:String) : String 140 | { 141 | return this.sItems[key] || ""; 142 | } 143 | 144 | public function GetItemAsInt(key:String) : int 145 | { 146 | return int(this.sItems[key]) || 0; 147 | } 148 | 149 | public function GetItemAsNumber(key:String) : Number 150 | { 151 | return Number(this.sItems[key]) || Number(0); 152 | } 153 | 154 | public function GetItemByIndex(key:int) : String 155 | { 156 | return this.sItems[key] || ""; 157 | } 158 | } 159 | } 160 | -------------------------------------------------------------------------------- /src/TcpClient.as: -------------------------------------------------------------------------------- 1 | package cc.dy.model.net 2 | { 3 | import flash.events.EventDispatcher; 4 | import flash.net.Socket; 5 | import flash.system.Security; 6 | import util.$; 7 | import flash.events.Event; 8 | import flash.events.IOErrorEvent; 9 | import flash.events.SecurityErrorEvent; 10 | import flash.events.ProgressEvent; 11 | import flash.utils.ByteArray; 12 | import flash.errors.IOError; 13 | 14 | public class TcpEvent extends Event 15 | { 16 | // custom event for tcpClient 17 | public static var Conneted:String = "STT_TcpClient_Connected"; 18 | 19 | public static var Error:String = "STT_TcpClient_Error"; 20 | 21 | public static var Closed:String = "STT_TcpClient_Closed"; 22 | 23 | public static var SecurityError:String = "STT_TcpClient_SecurityError"; 24 | 25 | public static var RecvMsg:String = "STT_TcpClient_RecvMsg"; 26 | 27 | public var _param:Object; 28 | 29 | public function TcpEvent(eventName:String, param2:Object = null, param3:Boolean = false, param4:Boolean = false) 30 | { 31 | this._param = param2; 32 | super(eventName,param3,param4); 33 | } 34 | } 35 | 36 | public class TcpClient extends EventDispatcher 37 | { 38 | // socket warpper 39 | public var is_connected:Boolean; 40 | 41 | private var _socket:Socket; 42 | 43 | private var packet_len:int; 44 | 45 | private var isSecurError:Boolean = false; 46 | 47 | private var currentProt:int = 0; 48 | 49 | private var read_bytes:ByteArray; 50 | 51 | public function TcpClient(securError:Boolean) 52 | { 53 | super(); 54 | this.isSecurError = securError; 55 | this.is_connected = false; 56 | } 57 | 58 | public function connect(ip:String = null, port:uint = 0, flashPort:int = 0) : void 59 | { 60 | this.close(); 61 | this.currentProt = flashPort; 62 | if(this.isSecurError) 63 | { 64 | Security.loadPolicyFile("xmlsocket://" + ip + ":" + 844); 65 | //$.jscall("console.log","securityChange://" + ip + ":" + 844); 66 | } 67 | this._socket = new Socket(); 68 | this._socket.endian = "littleEndian"; 69 | this._socket.addEventListener(Event.CLOSE,this.closeHandler); 70 | this._socket.addEventListener(Event.CONNECT,this.connectHandler); 71 | this._socket.addEventListener(IOErrorEvent.IO_ERROR,this.ioErrorHandler); 72 | this._socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR,this.securityErrorHandler); 73 | this._socket.addEventListener(ProgressEvent.SOCKET_DATA,this.socketDataHandler); 74 | this._socket.connect(ip,port); 75 | } 76 | 77 | public function close() : void 78 | { 79 | if(this._socket != null) 80 | { 81 | this._socket.removeEventListener(Event.CLOSE,this.closeHandler); 82 | this._socket.removeEventListener(Event.CONNECT,this.connectHandler); 83 | this._socket.removeEventListener(IOErrorEvent.IO_ERROR,this.ioErrorHandler); 84 | this._socket.removeEventListener(SecurityErrorEvent.SECURITY_ERROR,this.securityErrorHandler); 85 | this._socket.removeEventListener(ProgressEvent.SOCKET_DATA,this.socketDataHandler); 86 | this._socket.close(); 87 | this._socket = null; 88 | } 89 | this.is_connected = false; 90 | } 91 | 92 | public function sendmsg(sttStringMsg:String) : Boolean 93 | { 94 | var str_byte:ByteArray = null; 95 | var pack_len:int = 0; 96 | var head_byte:ByteArray = null; 97 | var str:String = sttStringMsg; 98 | try 99 | { 100 | str_byte = new ByteArray(); 101 | str_byte.endian = "littleEndian"; 102 | str_byte.writeUTFBytes(str); 103 | str_byte.writeByte(0); 104 | pack_len = 8 + str_byte.length; 105 | head_byte = new ByteArray(); 106 | head_byte.endian = "littleEndian"; 107 | head_byte.writeUnsignedInt(pack_len); 108 | head_byte.writeShort(689); 109 | head_byte.writeByte(0); 110 | head_byte.writeByte(0); 111 | if(this._socket != null) 112 | { 113 | this._socket.writeUnsignedInt(pack_len); 114 | this._socket.writeBytes(head_byte); 115 | this._socket.writeBytes(str_byte); 116 | this._socket.flush(); 117 | } 118 | } 119 | catch(e:IOError) 120 | { 121 | this.close(); 122 | return false; 123 | } 124 | return true; 125 | } 126 | 127 | private function parseNetData() : void 128 | { 129 | var _loc1_:int = 0; 130 | var _loc2_:int = 0; 131 | var _loc3_:String = null; 132 | while(Boolean(this._socket) && Boolean(this._socket.bytesAvailable)) 133 | { 134 | if(this.packet_len == 0) 135 | { 136 | if(this._socket.bytesAvailable < 4) 137 | { 138 | return; 139 | } 140 | this.packet_len = this._socket.readInt(); 141 | } 142 | if(this._socket.bytesAvailable < this.packet_len) 143 | { 144 | return; 145 | } 146 | _loc1_ = this._socket.readInt(); 147 | _loc2_ = this._socket.readUnsignedShort(); 148 | this._socket.readByte(); 149 | this._socket.readByte(); 150 | _loc3_ = this._socket.readUTFBytes(this.packet_len - 8); 151 | this.packet_len = 0; 152 | dispatchEvent(new TcpEvent(TcpEvent.RecvMsg,_loc3_)); 153 | } 154 | } 155 | 156 | private function closeHandler(param1:Event) : void 157 | { 158 | //$.jscall("console.log","Tcp Close [%s]",param1.toString()); 159 | this.dispatchEvent(new TcpEvent(TcpEvent.Closed,{"type":0})); 160 | this.close(); 161 | } 162 | 163 | private function connectHandler(param1:Event) : void 164 | { 165 | //$.jscall("console.log","Tcp Connected [%s]",param1.toString()); 166 | this.is_connected = true; 167 | this.dispatchEvent(new TcpEvent(TcpEvent.Conneted,{"type":1})); 168 | } 169 | 170 | private function ioErrorHandler(param1:IOErrorEvent) : void 171 | { 172 | //$.jscall("console.log","Tcp Error IO [%s]",param1.toString()); 173 | this.dispatchEvent(new TcpEvent(TcpEvent.Error,{"type":2})); 174 | this.close(); 175 | } 176 | 177 | private function securityErrorHandler(param1:SecurityErrorEvent) : void 178 | { 179 | //$.jscall("console.log","Tcp Error Security [%s]",param1.toString()); 180 | this.dispatchEvent(new TcpEvent(TcpEvent.SecurityError,{ 181 | "type":3, 182 | "port":this.currentProt 183 | })); 184 | this.close(); 185 | } 186 | 187 | private function socketDataHandler(param1:ProgressEvent) : void 188 | { 189 | this.parseNetData(); 190 | } 191 | } 192 | } 193 | --------------------------------------------------------------------------------