diff --git a/parts/gametoolfunc.lua b/parts/gametoolfunc.lua index ab2a4808..72f04463 100644 --- a/parts/gametoolfunc.lua +++ b/parts/gametoolfunc.lua @@ -1066,19 +1066,6 @@ end --Network funcs do --[[ - launch: - local res=JSON.decode(res.body) - if res.message=="OK"then - LOG.print(res.notice,360,COLOR.sky) - if VERSION_CODE>=res.version_code then - LATEST_VERSION=true - else - LOG.print(string.gsub(text.oldVersion,"$1",res.version_name),"warn") - end - else - LOG.print(text.httpCode..res.code..": "..res.message,"warn") - end - register: if response.message=="OK"then LOGIN=true @@ -1092,95 +1079,6 @@ do LOG.print(text.httpCode..response.code..": "..res.message,"warn") end - autoLogin: - if res.message=="OK"then - LOGIN=true - LOG.print(text.loginSuccessed) - httpRequest( - TICK_httpREQ_getUserInfo, - PATH.http..PATH.user, - "GET", - {["Content-Type"]="application/json"}, - JSON.encode{ - email=USER.email, - authToken=USER.authToken, - } - ) - else - LOGIN=false - LOG.print(text.loginFailed..": "..text.httpCode..res.code.."-"..res.message,"warn") - end - return - - newLogin: - if res.message=="OK"then - LOGIN=true - USER.email=res.email - USER.authToken=res.authToken - USER.id=res.id - FILE.save(USER,"conf/user","q") - LOG.print(text.loginSuccessed) - - --TODO:getUserInfo - JSON.encode{ - email=USER.email, - authToken=USER.authToken, - } - - --TODO:getAccessToken - JSON.encode{ - email=USER.email, - authToken=USER.authToken, - } - else - LOG.print(text.httpCode..res.code..": "..res.message,"warn") - end - - manualAutoLogin: - if res.message=="OK"then - LOG.print(text.accessSuccessed) - SCN.go("net_menu") - elseif res.code==403 or res.code==401 then - httpRequest( - TICK_httpREQ_getAccessToken, - PATH.http..PATH.access, - "POST", - {["Content-Type"]="application/json"}, - JSON.encode{ - email=USER.email, - authToken=USER.authToken, - } - ) - else - local err=JSON.decode(res.body) - if err then - LOG.print(text.httpCode..res.code..": "..err.message,"warn") - end - end - - getAccessToken: - if res.message=="OK"then - LOG.print(text.accessSuccessed) - USER.accessToken=res.accessToken - FILE.save(USER,"conf/user") - SCN.swapTo("net_menu") - else - LOGIN=false - USER.accessToken=false - USER.authToken=false - LOG.print(text.loginFailed..": "..text.httpCode..response.code.."-"..res.message,"warn") - end - - getUserInfo: - if res.message=="OK"then - USER.name=res.username - USER.motto=res.motto - USER.avatar=res.avatar - FILE.save(USER,"conf/user") - else - LOG.print("Get user info failed: "..text.httpCode..response.code.."-"..res.message,"warn") - end - goChatRoom: if res.message=="OK"then SCN.go("net_chat") @@ -1204,7 +1102,6 @@ do LOG.print(text.httpCode..res.code..": "..res.message,"warn") end - enterRoom: if res.message=="OK"then loadGame("netBattle",true,true) @@ -1215,6 +1112,8 @@ do ]] function TICK_WS_app() + local initial=true + local retryTime=5 while true do YIELD() local status=WS.status("app") @@ -1224,25 +1123,79 @@ do if op=="ping"then WS.send("app",message,"pong") elseif op=="close"then - LOG.print(text.wsClose..message,"warn") + message=JSON.decode(message) + if message then + LOG.print(text.wsClose..message.message,"warn") + end return else - message=JSON.decode(message) - if VERSION_CODE>=message.lowest then + local res=JSON.decode(message) + if VERSION_CODE>=res.lowest then ALLOW_ONLINE=true end - if VERSION_CODE