Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

conn.native.js 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773
  1. // const host = "jinnace.com"
  2. const rname = "j1"
  3. const rname6 = "j1"
  4. // console.warn("...z")
  5. function nop(){}
  6. window.nop = nop
  7. window.oclog = console.log
  8. /*
  9. console.log = nop
  10. window.nop_xlog = 1
  11. */
  12. // var clog = nop
  13. window.clog = console.log
  14. window.rlog = console.log
  15. import './utils';
  16. // import './m/nt';
  17. import './m/imp';
  18. import './jc2';
  19. // StyleSheet
  20. import { Platform } from 'react-native';
  21. var lstyle = {
  22. // backgroundColor:"#0ff",zIndex:100,
  23. backgroundColor:"#444",zIndex:100,
  24. backgroundColor:"#444",zIndex:100,
  25. // backgroundColor:"#440",zIndex:100,
  26. top:0,
  27. bottom:0,
  28. left:0,
  29. right:0,
  30. position:"absolute",
  31. }
  32. {
  33. // var host_tmp="jinnace.com"
  34. var host_tmp="specplot.com"
  35. var host=host_tmp
  36. window.glob_const = {
  37. host:host_tmp,
  38. full:`https://${host_tmp}`,
  39. origin:`https://${host_tmp}`,
  40. }
  41. }
  42. window.glob = {
  43. sto:{
  44. pinned:"",
  45. width:0,
  46. mbar:0,
  47. height:0,
  48. ch:0,
  49. cw:0,
  50. force_refresh:"",
  51. ws7:{
  52. onclose7:0,
  53. onmessage7:0,
  54. onopen7:0,
  55. },
  56. // wview:{toggle:1},
  57. // wview:{toggle:0,uri: "https://jinnace.com/ix6/"},
  58. wview:{
  59. toggle:1,
  60. flag:1,
  61. // flag:0,
  62. toggle:0,
  63. lstyle,
  64. cstyle:jx(lstyle),
  65. cstyle0:jx(lstyle),
  66. cstyle1:jx(lstyle),
  67. style:jx(lstyle),
  68. aspect:2,
  69. // uri: "https://jinnace.com/",
  70. // uri: "https://jinnace.com/ix6/?",
  71. uri: `${glob_const.full}/ix6/?`,
  72. toolbar:{
  73. width:100,
  74. height:50,
  75. height_adj:50,
  76. ios_height:0,
  77. // glob.sto.wview
  78. },
  79. },
  80. lv_sto:{},
  81. },
  82. elements:{},
  83. Platform,
  84. isNative:1,
  85. }
  86. if (glob.Platform.OS == "ios"){
  87. glob.sto.wview.style.top = 0
  88. glob.sto.wview.cstyle.top = 0
  89. glob.sto.wview.cstyle1.top = 0
  90. glob.sto.wview.cstyle0.top = 0
  91. glob.sto.wview.toolbar.height_adj = 0
  92. }
  93. if (Platform.OS == "ios"){
  94. glob.sto.wview.toolbar.ios_height = 20
  95. glob.sto.wview.toolbar.ios_height = 120
  96. glob.sto.wview.toolbar.ios_height = 0
  97. } else {
  98. glob.sto.wview.toolbar.ios_height = 0
  99. // glob.sto.wview.toolbar.ios_height = 20
  100. }
  101. glob.clog = console.log
  102. function alog0(a){
  103. clog(...a)
  104. }
  105. function alog1(){
  106. clog(...arguments)
  107. }
  108. function alogx(a,d=1){
  109. var a2
  110. clog("A~0")
  111. // a2 = a.flat
  112. clog("+",a.flat)
  113. clog("A~1")
  114. clog("[]",Array.isArray(a),typeof(a))
  115. clog("A~2")
  116. clog("A~3")
  117. a2 = a.flat(d)
  118. clog("A~4")
  119. clog(a2)
  120. clog("A~5")
  121. // clog(a.flat(d))
  122. }
  123. window.alogx = alogx
  124. window.alog0 = alog0
  125. window.alog1 = alog1
  126. function connect_ws_arg(o){
  127. // console.trace("lxw")
  128. var vchatSocket
  129. var gws = tglob.gws
  130. // vchatSocket = gws[o.name]
  131. vchatSocket = gws.sockets[o.name]
  132. if (vchatSocket && vchatSocket.readyState < 2) {
  133. clog("VFB2 WSS ALLREADY CONNECTED!")
  134. return
  135. }
  136. clog("VFB2 WSS CONTECTING")
  137. vchatSocket = new WebSocket(o.url);
  138. // '/ws/chat/' + window.roomName + '/?qqAAAAAAAAAAAAAAAAA');
  139. // window.vchatSocket =vchatSocket
  140. gws.sockets[o.name] = vchatSocket
  141. gws.sockets[o.name].o = o
  142. // var wsfn = gws[o.wsfn]
  143. var wsfn = o.wsfn
  144. vchatSocket.onmessage = wsfn.onmessage
  145. vchatSocket.onclose = wsfn.onclose
  146. vchatSocket.onopen = wsfn.onopen
  147. }
  148. function connect_helper(){
  149. var o = {
  150. // url:'wss://' + window.location.host + '/ws/vts/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
  151. // url:'wss://' + window.location.host + '/chat/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
  152. // url:'ws://' + window.location.host + '/ws/vts/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
  153. url:'wss://' + host + ':8943/ws/vts/' + rname + '/?qqAAAAAAAAAAAAAAAAA',
  154. // url:'wss://' + window.location.host + ':8943/ws/vts/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
  155. wsfn:tglob.twsfn,
  156. name:"ws_n1",
  157. }
  158. clog("o",o)
  159. connect_ws_arg(o)
  160. }
  161. function connect_helper5(){
  162. var o = {
  163. // ':8943/ws/vts/'
  164. // url:'wss://' + window.location.host + '/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  165. url:'wss://' + host + ':8943/ws/vts2/' + rname + '/?CONN',
  166. // url:'wss://' + window.location.host + ':8943/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  167. wsfn:tglob.twsfn5,
  168. name:"ws_n15",
  169. }
  170. clog("o",o)
  171. connect_ws_arg(o)
  172. }
  173. // vts3
  174. function close_h7(){
  175. setTimeout(connect_helper7,1000)
  176. }
  177. function connect_helper7(){
  178. var rnd = (Math.random() + "").split(".")[1]
  179. var rnd_qs = ";rnd="+rnd + ";os="+Platform.OS + ";"
  180. // Platform.OS
  181. var o = {
  182. // ':8943/ws/vts/'
  183. // url:'wss://' + window.location.host + '/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  184. rnd,
  185. rnd_qs,
  186. url:'wss://' + host + ':8943/ws/vts3/' + rname6 + '/?CONN'+rnd_qs,
  187. // url:'wss://' + window.location.host + ':8943/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  188. wsfn:tglob.twsfn7,
  189. // onclose:close_h7,
  190. name:"ws_n17",
  191. }
  192. clog("o",o)
  193. window.ws7 = o
  194. connect_ws_arg(o)
  195. }
  196. function connect_helper6(){
  197. var o = {
  198. // ':8943/ws/vts/'
  199. // url:'wss://' + window.location.host + '/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  200. url:'wss://' + host + ':8943/ws/vts2/' + rname6 + '/?CONN',
  201. // url:'wss://' + window.location.host + ':8943/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  202. wsfn:tglob.twsfn5,
  203. name:"ws_n16",
  204. }
  205. clog("o",o)
  206. connect_ws_arg(o)
  207. }
  208. function send_e2(){
  209. send_ws_event("mobile_E2",{})
  210. }
  211. function send_e1(){
  212. send_ws_event("mobile_E1",{})
  213. }
  214. function open_event(){
  215. send_e1()
  216. loadDoc(`${glob_const.full}/ign/rf/ts/ajt.js`)
  217. setTimeout(send_e2,3000)
  218. send_ws_event("mlog",{x:"aa"})
  219. send_ws_event("mlog",["x","aa"])
  220. send_ws_event("mlog",["g",Object.keys(globalThis)])
  221. // ({url:"https://jinnace.com/ign/mob/u2/mrld.js"})
  222. // C:\bspace\repos\jc4\ign4\rf\u\u1.js
  223. rexe(`${glob_const.full}/ign/mob/u2/mrld.js`)
  224. rexe(`${glob_const.full}/ign/rf/u/u1.js`)
  225. }
  226. function mlog(){
  227. send_ws_event("mlog",[...arguments])
  228. }
  229. window.mlog= mlog
  230. const skip_type = ["pingpong","pub_compat3"]
  231. function twsfn5_onmessage(e) {
  232. // var recv_ts_u0 = window.performance.now()
  233. // var recv_ts = Date.now()
  234. // var recv_ts_u1 = window.performance.now()
  235. // clog("VFB MSG",e)
  236. // clog()
  237. // return
  238. var twsfn5 =tglob.twsfn5
  239. var data = JSON.parse(e.data);
  240. // data.recv_ts = recv_ts
  241. // data.recv_ts_u0 = recv_ts_u0
  242. // data.recv_ts_u1 = recv_ts_u1
  243. if (data.type != "pingpong"){
  244. // clog("ixq twsfn5.onmessage")
  245. }
  246. if (skip_type.includes(data.type)){
  247. }
  248. // clog("VFB data",data)
  249. // clog("WS ONMSG",data)
  250. if (data.message != undefined){
  251. // twsfn5.on_chat_message(data)
  252. }
  253. if (data.type != undefined && twsfn5[data.type]){
  254. twsfn5[data.type](data,e)
  255. } else {
  256. // clog("VFB data",data)
  257. }
  258. };
  259. function evl(data,e){
  260. // mlog([data,e])
  261. }
  262. function uevl(data,e){
  263. // if (data.parsed.payload.url)
  264. rexe(data.parsed.payload.url)
  265. // mlog([data,e])
  266. }
  267. var twsfn5 = {
  268. onmessage:twsfn5_onmessage,
  269. onclose:nop,
  270. evl:evl,
  271. uevl,
  272. // onopen:nop,
  273. onopen:open_event,
  274. }
  275. function connect_helper7x(){
  276. var rnd = (Math.random() + "").split(".")[1]
  277. var rnd_qs = ";rnd="+rnd + ";os="+Platform.OS + ";"
  278. // Platform.OS
  279. var o = {
  280. // ':8943/ws/vts/'
  281. // url:'wss://' + window.location.host + '/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  282. rnd,
  283. rnd_qs,
  284. url:'wss://' + host + ':8943/ws/vts3/' + rname6 + '/?CONN'+rnd_qs,
  285. // url:'wss://' + window.location.host + ':8943/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  286. wsfn:tglob.twsfn7,
  287. // onclose:close_h7,
  288. name:"ws_n17",
  289. }
  290. clog("o",o)
  291. window.ws7 = o
  292. connect_ws_arg(o)
  293. }
  294. function onclose7(){
  295. glob.sto.ws7.cls_args = arguments
  296. glob.sto.ws7.onclose7 += 1
  297. // tglob.gws.sockets.o
  298. setTimeout(reconn7,250)
  299. // window.ws7()
  300. // tglob.gws.sockets["ws_n17"].o
  301. }
  302. function reconn7(){
  303. connect_ws_arg(window.ws7)
  304. }
  305. function onmessage7(e){
  306. glob.sto.ws7.onmessage7 += 1
  307. // function twsfn5_onmessage(e) {
  308. // var recv_ts_u0 = window.performance.now()
  309. // var recv_ts = Date.now()
  310. // var recv_ts_u1 = window.performance.now()
  311. // clog("VFB MSG",e)
  312. // clog()
  313. // return
  314. // clog("onmessage7",e)
  315. var twsfn5 =tglob.twsfn7
  316. var data = JSON.parse(e.data);
  317. clog("onmessage7",data.type,"\n",data)
  318. // data.recv_ts = recv_ts
  319. // data.recv_ts_u0 = recv_ts_u0
  320. // data.recv_ts_u1 = recv_ts_u1
  321. if (data.type != "pingpong"){
  322. // clog("ixq twsfn5.onmessage")
  323. }
  324. if (skip_type.includes(data.type)){
  325. }
  326. // clog("VFB data",data)
  327. // clog("WS ONMSG",data)
  328. if (data.message != undefined){
  329. // twsfn5.on_chat_message(data)
  330. }
  331. // if (data.type != undefined && twsfn5[data.type]){
  332. if (data.type != undefined && twsfn5?.evl_fns?.[data.type]){
  333. twsfn5.evl_fns[data.type](data,{that:this,wsfn:twsfn5,e})
  334. // twsfn5.evl_fns[data.type](data,e)
  335. } else if (data.type != undefined && twsfn5[data.type]){
  336. twsfn5[data.type](data,{that:this,wsfn:twsfn5,e})
  337. // clog("VFB data",data)
  338. }
  339. };
  340. function onopen7(){
  341. glob.sto.ws7.onopen7 += 1
  342. }
  343. var twsfn7 = {
  344. // onmessage:twsfn5_onmessage,
  345. onmessage:onmessage7,
  346. onclose:onclose7,
  347. evl:evl,
  348. uevl,
  349. onopen:onopen7,
  350. // onopen:open_event,
  351. }
  352. var tglob = {
  353. gws:{sockets:{},},
  354. twsfn:{
  355. onmessage:nop,
  356. onclose:nop,
  357. onopen:nop,
  358. },
  359. twsfn5,
  360. twsfn7,
  361. }
  362. twsfn5.pub_msg2 = function(data,e) {
  363. // clog("pub_msg2",data,e)
  364. try {
  365. // if (twsfn5[data.parsed.etype] ){
  366. if (twsfn5[data.parsed.etype] ){
  367. twsfn5[data.parsed.etype](data,e)
  368. }
  369. } catch (err) {
  370. mlog("pub_msg2 ERR:")
  371. }
  372. // window.dispatch_ws_events ? dispatch_ws_events(data,{that:this,data,e}) : 0
  373. // qdb.send({key:"pub",a:"zz"})
  374. // glob_dbg.ts2.data = data
  375. // var msg = {}
  376. // msg[vc2.key] = "pong"
  377. // twsfn5.s(msg)
  378. }
  379. function rexe(file) {
  380. if (typeof(file) == "string"){
  381. file = {
  382. // url:file||"https://jinnace.com/ign/rf/av_shared/xf.js",
  383. url:file,
  384. }
  385. }
  386. var url = file.url
  387. var xhttp = new XMLHttpRequest();
  388. xhttp.onreadystatechange = function() {
  389. if (this.readyState == 4 && this.status == 200) {
  390. try {
  391. var mlog0 = mlog
  392. var mx = eval(this.responseText)
  393. mlog(mx)
  394. } catch (err){
  395. mlog("EVL ERR")
  396. mlog(err +"")
  397. }
  398. // global
  399. // fn1()
  400. // send_ws_event("ajx",{responseText:this.responseText})
  401. // document.getElementById("demo").innerHTML = this.responseText;
  402. }
  403. };
  404. xhttp.open("GET", url, true);
  405. xhttp.send();
  406. }
  407. function loadDoc(url) {
  408. var xhttp = new XMLHttpRequest();
  409. xhttp.onreadystatechange = function() {
  410. if (this.readyState == 4 && this.status == 200) {
  411. send_ws_event("ajx",{responseText:this.responseText})
  412. // document.getElementById("demo").innerHTML = this.responseText;
  413. }
  414. };
  415. xhttp.open("GET", url, true);
  416. xhttp.send();
  417. }
  418. function xlog(key,arr=[]){
  419. try {
  420. if (key === undefined){
  421. key = "?"
  422. }
  423. if (arguments.length < 3 &&typeof(arr)=="object" && arr[Symbol.iterator]){
  424. send_ws_event2("xlog",jx_fn({k:key,arr:[...arr]}))
  425. } else {
  426. // send_ws_event2("xlog",{,[arr]})
  427. send_ws_event2("xlog",jx_fn({k:key,arr:[...arguments].slice(1)}))
  428. }
  429. } catch (xerr){
  430. clog("XLOG ERR!")
  431. }
  432. }
  433. window.oxlog = xlog
  434. window.xlog = xlog
  435. function send_ws_event2(key,o){
  436. tglob.twsfn5.s({key:"pub_compat3",etype:key,"payload":o,"type":"event"})
  437. }
  438. function send_ws_event(key,o){
  439. tglob.twsfn5.s({key:"pub_compat3",etype:key,"payload":o,"type":"event"})
  440. }
  441. tglob.twsfn5.s= function(o){
  442. var gws = tglob.gws
  443. if (o.key != "pong"){
  444. // clog("ixq twsfn5.send")
  445. }
  446. var vchatSocket = gws.sockets["ws_n15"]
  447. // .send(JSON.stringify(o));
  448. // twsfn5.s0 =
  449. vchatSocket.send(JSON.stringify(o));
  450. }
  451. tglob.twsfn7.s= function(o){
  452. var gws = tglob.gws
  453. if (o.key != "pong"){
  454. // clog("ixq twsfn5.send")
  455. }
  456. var vchatSocket = gws.sockets["ws_n17"]
  457. // .send(JSON.stringify(o));
  458. // twsfn5.s0 =
  459. vchatSocket.send(JSON.stringify(o));
  460. }
  461. function send_ws_event7(key="ET",o={}){
  462. tglob.twsfn7.s({key:"pub_compat3",etype:key,"payload":o,"type":"event"})
  463. }
  464. window.send_ws_event7 = send_ws_event7
  465. function load_cache(){
  466. var cache_js = rglob.fns.cache_js
  467. clog(cache_js)
  468. pexe({key:"a0",url:`${glob_const.full}/ign/mob/r/a0.js`},cache_js)
  469. pexe({key:"a1",url:`${glob_const.full}/ign/mob/r/a1.js`},cache_js)
  470. pexe({key:"a2",url:`${glob_const.full}/ign/mob/r/a2.js`},cache_js)
  471. pexe({key:"a3",url:`${glob_const.full}/ign/mob/r/a3.js`},cache_js)
  472. pexe({key:"a4",url:`${glob_const.full}/ign/mob/r/a4.js`},cache_js)
  473. clog("LC123")
  474. // pexe({key:"a1",url:"https://jinnace.com/ign/rf/av_shared/xf.js"},cache_js)
  475. }
  476. window.load_cache = load_cache
  477. window.rexe = rexe
  478. connect_helper()
  479. connect_helper5()
  480. connect_helper7()
  481. // connect_helper6()
  482. function fntxm(a){
  483. var clog = console.log
  484. clog("fntxm0",a)
  485. clog("fntxm0t",[...arguments])
  486. // clog("fnt",a,[...arguments])
  487. // mlog("fntxm",a)
  488. }
  489. // window.fntxm =
  490. clog("CON FNTXM~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  491. fntxm("~1")
  492. {
  493. class BoundObj{
  494. constructor(){
  495. this.init()
  496. }
  497. init(){
  498. let k,v,i,j
  499. // for ([k,v] of Object.entries(Object.getOwnPropertyDescriptors(this.__proto__))){
  500. // Object
  501. for (k of Object.getOwnPropertyNames(this.__proto__)){
  502. v = this[k]
  503. if (k.endsWith("_ub") && typeof(v.value) == "function"){
  504. // clog("UB",k,k.slice(1,-3))
  505. j = v.value.bind(this)
  506. j.meta_str = "bound_fn"
  507. this[k.slice(1,-3)] = j
  508. }
  509. }
  510. }
  511. }
  512. window.BoundObj = BoundObj
  513. }
  514. function fnc3(argument) {
  515. // body...
  516. clog("FNC3")
  517. }
  518. function fnc4(argument) {
  519. // body...
  520. clog("FNC4")
  521. clog("FNC4~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  522. }
  523. function fnc5(argument) {
  524. // body...
  525. clog("FNC5")
  526. clog("FNC5~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  527. }
  528. window.tglobx = tglob
  529. /*
  530. setTimeout(fnc4,2000,"~2","a2")
  531. fnc3()
  532. setTimeout(fntxm,2000,"~2","a2")
  533. setTimeout(fntxm,6000,"~3","a3")
  534. setTimeout(fntxm.bind({},"~4","a4"),6000,"z")
  535. clog("CONN.........2")
  536. try {
  537. mlog("CONN.........2")
  538. } catch (err){
  539. clog("Terr",err+"")
  540. }
  541. */
  542. function spread(itr) {
  543. return [...itr]
  544. }
  545. function flat_t(itr) {
  546. var a = []
  547. clog("FLAT",itr.flat,a.flat)
  548. // return itr.
  549. }
  550. window.spread = spread
  551. window.flat_t = flat_t
  552. if (window.nop_xlog){
  553. window.xlog = nop
  554. // nop_xlog
  555. }
  556. /*
  557. function fnsx(argument) {
  558. // body...
  559. var arr = ["abc","def"]
  560. clog("fnsx...",[...arr])
  561. }
  562. */
  563. // clog("RLDX")
  564. // clog("RLDX\n\n\n ~~~~~~")
  565. // setTimeout(fnc5,2000,"~2","a2")
  566. // fnc5()
  567. // console.log("#########################################################################")
  568. import './ws_conn';