Skip to content

Commit d259e05

Browse files
committed
【不能用】继续改联网,更新ws相关,完善断开后的行为与提示
框架跟进
1 parent 2491a43 commit d259e05

12 files changed

+32
-54
lines changed

main.lua

+5
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,11 @@ Z.setOnFnKeys({
177177
function()for k,v in next,_G do print(k,v)end end,
178178
function()if love['_openConsole']then love['_openConsole']()end end,
179179
})
180+
Z.setOnGlobalKey('f11',function()
181+
SETTING.fullscreen=not SETTING.fullscreen
182+
applySettings()
183+
saveSettings()
184+
end)
180185
Z.setVersionText(VERSION.string)
181186
Z.setDebugInfo{
182187
{"Cache",gcinfo},

parts/language/lang_en.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@ return{
121121
loginOK="You are now logged in!",
122122
accessOK="Access granted",
123123

124-
wsConnecting="Websocket connecting…",
125124
wsFailed="WebSocket connection failed",
126125
wsClose="WebSocket closed:",
127126
netTimeout="Connection timed out",
127+
serverDown="Oops! Server is down",
128128

129129
onlinePlayerCount="Online",
130130
createRoomSuccessed="Room created",

parts/language/lang_es.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,10 @@ return{
120120
loginOK="¡Ingreso con éxito!",
121121
accessOK="¡Autorizado exitoso!",
122122

123-
wsConnecting="Websocket Conectando",
124123
wsFailed="WebSocket conexión fallida",
125124
wsClose="WebSocket cerrado:",
126125
netTimeout="Tiempo de conexión agotado",
126+
-- serverDown="Oops! Server is down",
127127

128128
onlinePlayerCount="En línea",
129129
createRoomSuccessed="¡Sala creada con éxito!",

parts/language/lang_fr.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ return{
111111
loginOK="Connecté avec succès !",
112112
accessOK="Autorisé avec succès !",
113113

114-
-- wsConnecting="Websocket Connecting",
115114
wsFailed="WebSocket connection échouée",
116115
-- wsClose="WebSocket Closed:",
117116
-- netTimeout="Network connection timeout",
117+
-- serverDown="Oops! Server is down",
118118

119119
-- onlinePlayerCount="Online",
120120
createRoomSuccessed="Salon créé avec succès !",

parts/language/lang_id.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,10 @@ return{
122122
loginOK="Anda telah gabung!",
123123
accessOK="Akses diberikan",
124124

125-
wsConnecting="Menghubungkan websocket…",
126125
wsFailed="Koneksi websocket gagal",
127126
wsClose="Websocket tertutup:",
128127
netTimeout="Koneksi waktu habis",
128+
-- serverDown="Oops! Server is down",
129129

130130
onlinePlayerCount="Online",
131131
createRoomSuccessed="Ruang terbuat",

parts/language/lang_ja.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,10 @@ return{
122122
loginOK="ログインしています!",
123123
accessOK="アクセス権限を取得しました!",
124124

125-
wsConnecting="ウェブソケットに接続中…",
126125
wsFailed="ウェブソケットとの通信に失敗しました",
127126
wsClose="ウェブソケットとの通信を終了:",
128127
netTimeout="接続がタイムアウトしました",
128+
-- serverDown="Oops! Server is down",
129129

130130
onlinePlayerCount="オンライン人数",
131131
createRoomSuccessed="部屋を建てました",

parts/language/lang_pt.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,10 @@ return{
109109
loginOK="Logado com sucesso!",
110110
accessOK="Autorizado com sucesso!",
111111

112-
-- wsConnecting="Websocket Connecting",
113112
wsFailed="WebSocket falha na conexão",
114113
wsClose="WebSocket closed:",
115114
-- netTimeout="Network connection timeout",
115+
-- serverDown="Oops! Server is down",
116116

117117
-- onlinePlayerCount="Online",
118118
-- createRoomSuccessed="Room successfully created!",

parts/language/lang_zh.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@ return{
121121
loginOK="登录成功",
122122
accessOK="身份验证成功",
123123

124-
wsConnecting="正在连接",
125124
wsFailed="连接失败",
126125
wsClose="连接被断开:",
127126
netTimeout="连接超时",
127+
serverDown="唉哟!服务器不在线",
128128

129129
onlinePlayerCount="在线人数",
130130
createRoomSuccessed="创建房间成功!",

parts/language/lang_zh_code.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@ return{
121121
loginOK="login.Success=true",
122122
accessOK="Access.Granted=true",
123123

124-
wsConnecting="Websocket.Connect();",
125124
wsFailed="Error.Websocket.Failed();",
126125
wsClose="Error.Websocket.Close=",
127126
netTimeout="Error.ConnectTimeOut();",
127+
serverDown="Error.ServerDown();",
128128

129129
onlinePlayerCount="OnlinePlayerCount",
130130
createRoomSuccessed="CreateRoom.Successs=true",

parts/language/lang_zh_trad.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@ return{
121121
loginOK="登錄成功",
122122
accessOK="身份認證成功",
123123

124-
wsConnecting="正在連接……",
125124
wsFailed="連接失敗",
126125
wsClose="連接斷開:",
127126
netTimeout="連接超時",
127+
serverDown="哎唷!服務器不在线",
128128

129129
onlinePlayerCount="在線用戶數",
130130
createRoomSuccessed="房間已創建!",

parts/net.lua

+17-44
Original file line numberDiff line numberDiff line change
@@ -27,36 +27,6 @@ local NET={
2727
onlineCount="_",
2828
}
2929

30-
local mesType={
31-
Connect=true,
32-
Self=true,
33-
Broadcast=true,
34-
Private=true,
35-
Server=true,
36-
}
37-
38-
--Parse json message
39-
local function _parse(res)
40-
res=JSON.decode(res)
41-
if res then
42-
if mesType[res.type]then
43-
return res
44-
else
45-
MES.new('warn',("[%s] %s"):format(res.type or"?",res.reason or"[NO Message]"))
46-
end
47-
end
48-
end
49-
50-
--WS close message
51-
local function _closeMessage(message)
52-
local mes=JSON.decode(message)
53-
if mes then
54-
MES.new('info',("%s %s|%s"):format(text.wsClose,mes.type or"",mes.reason or""))
55-
else
56-
MES.new('info',("%s %s"):format(text.wsClose,message))
57-
end
58-
end
59-
6030

6131

6232
--------------------------<NEW HTTP API>
@@ -69,7 +39,7 @@ local function getMsg(request,timeout)
6939
if type(mes.body)=='string' and #mes.body>0 then
7040
return JSON.decode(mes.body)
7141
else
72-
MES.new('info',"Oops! Server is down")
42+
MES.new('info',text.serverDown)
7343
return
7444
end
7545
else
@@ -98,7 +68,7 @@ function NET.getCode(email)
9868
MES.new('error',res.message,5)
9969
end
10070
else
101-
MES.new('warn',"Request failed",5)
71+
MES.new('warn',text.requestFailed,5)
10272
end
10373

10474
WAIT.interrupt()
@@ -138,7 +108,7 @@ function NET.codeLogin(code)
138108
MES.new('error',res.message,5)
139109
end
140110
else
141-
MES.new('warn',"Request failed",5)
111+
MES.new('warn',text.requestFailed,5)
142112
end
143113

144114
WAIT.interrupt()
@@ -176,7 +146,7 @@ function NET.setPW(code,pw)
176146
MES.new('error',res.message,5)
177147
end
178148
else
179-
MES.new('warn',"Request failed",5)
149+
MES.new('warn',text.requestFailed,5)
180150
end
181151

182152
WAIT.interrupt()
@@ -229,7 +199,6 @@ function NET.autoLogin()
229199
USER.rToken=res.data.refreshToken
230200
USER.aToken=res.data.accessToken
231201
NET.connectWS()
232-
MES.new('info',"Login successed",5)
233202
SCN.go('net_menu')
234203
WAIT.interrupt()
235204
return
@@ -251,7 +220,6 @@ function NET.autoLogin()
251220
},
252221
},6.26)
253222
if res then
254-
print(TABLE.dump(res))
255223
if res.code==200 then
256224
USER.rToken=res.data.refreshToken
257225
USER.aToken=res.data.accessToken
@@ -305,7 +273,7 @@ function NET.pwLogin(email,pw)
305273
MES.new('error',res.message,5)
306274
end
307275
else
308-
MES.new('warn',"Request failed",5)
276+
MES.new('warn',text.requestFailed,5)
309277
end
310278

311279
WAIT.interrupt()
@@ -321,6 +289,7 @@ end
321289

322290
--------------------------<NEW WS API>
323291
local function wsSend(act,data)
292+
-- print("SEND ACT: "..act)
324293
WS.send('game',JSON.encode{
325294
action=act,
326295
data=data,
@@ -454,9 +423,7 @@ end
454423
--WS
455424
function NET.connectWS()
456425
if WS.status('game')=='dead'then
457-
WS.connect('game','',{
458-
['x-access-token']=USER.aToken,
459-
},6)
426+
WS.connect('game','',{['x-access-token']=USER.aToken},6)
460427
TASK.new(NET.updateWS)
461428
end
462429
end
@@ -471,13 +438,19 @@ function NET.updateWS()
471438
if op=='ping'then
472439
elseif op=='pong'then
473440
elseif op=='close'then
474-
_closeMessage(message)
441+
local res=JSON.decode(message)
442+
MES.new('info',("$1 $2"):repD(text.wsClose,res and res.message or message))
443+
if res and res.message then LOG(res.message) end
444+
TEST.yieldUntilNextScene()
445+
while SCN.stack[#SCN.stack-1]~='main' do SCN.pop() end
446+
SCN.back()
475447
return
476448
else
477-
local res=_parse(message)
449+
local res=JSON.decode(message)
478450
if res then
479-
if res.type=='Connect'then
480-
MES.new('info','Connected!')
451+
-- print(("RECV ACT: $1 ($2)"):repD(res.action,res.type))
452+
if res.type=='Failed' then
453+
MES.new('warn',"Request failed: "..(res.reason or "/"))
481454
elseif res.action==1100 then-- TODO
482455
elseif res.action==1101 then-- TODO
483456
elseif res.action==1102 then-- TODO

0 commit comments

Comments
 (0)