再次整理/简化网络请求相关代码

This commit is contained in:
MrZ626
2021-01-31 00:36:07 +08:00
parent 7c4b69753a
commit e170c16d02
11 changed files with 71 additions and 90 deletions

View File

@@ -816,26 +816,17 @@ function TICK_httpREQ_getAccessToken(task)
coroutine.yield()
local response,request_error=client.poll(task)
if response then
if response.code==200 then
local res=json.decode(response.body)
if res.message=="OK"then
LOG.print(text.accessSuccessed)
USER.access_token=res.access_token
FILE.save(USER,"conf/user")
SCN.swapTo("net_menu")
else
LOG.print(text.netErrorCode..response.code..": "..res.message,"warn")
end
local res=json.decode(response.body)
if response.code==200 and res.message=="OK"then
LOG.print(text.accessSuccessed)
USER.access_token=res.access_token
FILE.save(USER,"conf/user")
SCN.swapTo("net_menu")
else
LOGIN=false
USER.access_token=false
USER.auth_token=false
local err=json.decode(response.body)
if err then
LOG.print(text.loginFailed..": "..text.netErrorCode..response.code.."-"..err.message,"warn")
else
LOG.print(text.loginFailed..": "..text.netErrorCode,"warn")
end
LOG.print(text.loginFailed..": "..text.httpCode..response.code.."-"..res.message,"warn")
end
return
elseif request_error then

View File

@@ -74,7 +74,7 @@ return{
versionIsNew="You are now on the latest version.",
versionIsOld="Version $1 is available now!",
netErrorCode="Network error code",
httpCode="Http status code",
jsonError="Json error",
noUsername="Please enter your username",
@@ -101,6 +101,7 @@ return{
chatHistory="------New messages below------",
noRooms="No Rooms Now",
roomsCreateFailed="Failed to create room",
roomsFetchFailed="Failed to fetch rooms",
errorMsg="An error has occurred and Techmino needs to restart.\nError info has been created, and you can send it to the author.",

View File

@@ -76,7 +76,7 @@ return{
versionIsNew="Vous êtes sur la dernière version",
versionIsOld="La version $1 est disponible !",
netErrorCode="Code d'erreur réseau",
-- httpCode="Http status code",
jsonError="Erreur json",
noUsername="Entrez votre nom d'utilisateur",
@@ -103,6 +103,7 @@ return{
-- chatHistory="------New messages below------",
-- noRooms="No Rooms Now",
-- roomsCreateFailed="Failed to create room",
-- roomsFetchFailed="Failed to fetch rooms",
errorMsg="Une erreur est survenue et Techmino doit redémarrer.\nDes informations concernant l'erreur ont été créées, et vous pouvez les envoyer au créateur.",

View File

@@ -74,7 +74,7 @@ return{
versionIsNew="Você esta na versão mais nova.",
versionIsOld="Versão $1 esta disponível agora!",
netErrorCode="Network error code",
-- httpCode="Http status code",
jsonError="Json error",
noUsername="Insira seu nome de usuário",
@@ -101,6 +101,7 @@ return{
chatHistory="------Novas mensagens abaixo------",
noRooms="Nenhuma sala agora",
-- roomsCreateFailed="Failed to create room",
roomsFetchFailed="Falha ao buscar salas",
errorMsg="Um erro ocorreu e Techmino precisa reiniciar.\nInformação do erro foi criada, e você pode mandar ao autor.",

View File

@@ -76,7 +76,7 @@ return{
versionIsNew="Esta es la versión más reciente disponible.",
versionIsOld="¡Está disponible la nueva versión $1!",
netErrorCode="Código de error de conexión",
-- httpCode="Http status code",
-- jsonError="Json error",
noUsername="Por favor ingresa un nombre de usuario",
@@ -104,6 +104,7 @@ return{
-- chatHistory="------New messages below------",
-- noRooms="No Rooms Now",
-- roomsCreateFailed="Failed to create room",
-- roomsFetchFailed="Failed to fetch rooms",
errorMsg="Ha ocurrido un error y Techmino necesita reiniciarse.\nSe creó un registro de error, puedes enviarlo al autor.",

View File

@@ -75,7 +75,7 @@ return{
versionIsNew="游戏已是最新版本",
versionIsOld="最新版本$1可以下载了!",
netErrorCode="网络错误",
httpCode="Http",
jsonError="json错误",
noUsername="请填写用户名",
@@ -102,6 +102,7 @@ return{
chatHistory="------以上是历史消息------",
noRooms="一个房间都没有哎...",
roomsCreateFailed="创建房间失败",
roomsFetchFailed="拉取房间列表失败",
errorMsg="Techmino遭受了雷击,需要重新启动.\n我们已收集了一些错误信息,你可以向作者进行反馈.",

View File

@@ -10,17 +10,15 @@ local function tick_httpREQ_launch(task)
local response,request_error=client.poll(task)
if response then
local res=json.decode(response.body)
if res.message=="OK"then
if response.code==200 then
LOG.print(res.notice,360,COLOR.sky)
if VERSION_CODE>=res.version_code then
LOG.print(text.versionIsNew,360,COLOR.sky)
else
LOG.print(string.gsub(text.versionIsOld,"$1",res.version_name),"warn")
end
if res.message=="OK"and response.code==200 then
LOG.print(res.notice,360,COLOR.sky)
if VERSION_CODE>=res.version_code then
LOG.print(text.versionIsNew,360,COLOR.sky)
else
LOG.print(text.netErrorCode..response.code..": "..res.message,"warn")
LOG.print(string.gsub(text.versionIsOld,"$1",res.version_name),"warn")
end
else
LOG.print(text.httpCode..response.code..": "..res.message,"warn")
end
return
elseif request_error then
@@ -40,20 +38,13 @@ local function tick_httpREQ_autoLogin(task)
coroutine.yield()
local response,request_error=client.poll(task)
if response then
if response.code==200 then
local res=json.decode(response.body)
if res.message=="OK"then
LOGIN=true
LOG.print(text.loginSuccessed)
else
LOG.print(text.netErrorCode..response.code..": "..res.message,"warn")
end
local res=json.decode(response.body)
if response.code==200 and res.message=="OK"then
LOGIN=true
LOG.print(text.loginSuccessed)
else
LOGIN=false
local err=json.decode(response.body)
if err then
LOG.print(text.loginFailed..": "..text.netErrorCode..response.code.."-"..err.message,"warn")
end
LOG.print(text.loginFailed..": "..text.httpCode..response.code.."-"..res.message,"warn")
end
return
elseif request_error then

View File

@@ -4,32 +4,30 @@ local function tick_httpREQ_newLogin(task)
coroutine.yield()
local response,request_error=client.poll(task)
if response then
if response.code==200 then
local res=json.decode(response.body)
if res.message=="OK"then
LOGIN=true
USER.email=res.email
USER.auth_token=res.auth_token
USER.name=res.name
USER.id=res.id
USER.motto=res.motto
USER.avatar=res.avatar
FILE.save(USER,"conf/user","q")
LOG.print(text.loginSuccessed)
local res=json.decode(response.body)
if response.code==200 and res.message=="OK"then
LOGIN=true
USER.email=res.email
USER.auth_token=res.auth_token
USER.name=res.name
USER.id=res.id
USER.motto=res.motto
USER.avatar=res.avatar
FILE.save(USER,"conf/user","q")
LOG.print(text.loginSuccessed)
httpRequest(
TICK_httpREQ_getAccessToken,
PATH.api..PATH.access,
"POST",
{["Content-Type"]="application/json"},
json.encode{
email=USER.email,
auth_token=USER.auth_token,
}
)
else
LOG.print(text.netErrorCode..response.code..": "..res.message,"warn")
end
httpRequest(
TICK_httpREQ_getAccessToken,
PATH.api..PATH.access,
"POST",
{["Content-Type"]="application/json"},
json.encode{
email=USER.email,
auth_token=USER.auth_token,
}
)
else
LOG.print(text.httpCode..response.code..": "..res.message,"warn")
end
return
elseif request_error then

View File

@@ -1,6 +1,6 @@
local gc=love.graphics
local function tick_httpREQ_checkAccessToken(task)
local function tick_httpREQ_manualAutoLogin(task)
local time=0
while true do
coroutine.yield()
@@ -23,7 +23,7 @@ local function tick_httpREQ_checkAccessToken(task)
else
local err=json.decode(response.body)
if err then
LOG.print(text.netErrorCode..response.code..": "..err.message,"warn")
LOG.print(text.httpCode..response.code..": "..err.message,"warn")
end
end
return
@@ -111,7 +111,7 @@ scene.widgetList={
if LOGIN then
if USER.access_token then
httpRequest(
tick_httpREQ_checkAccessToken,
tick_httpREQ_manualAutoLogin,
PATH.api..PATH.access,
"GET",
{["Content-Type"]="application/json"},

View File

@@ -11,13 +11,11 @@ local function task_fetchRooms(task)
coroutine.yield()
local response,request_error=client.poll(task)
if response then
if response.code==200 then
local res=json.decode(response.body)
if res.message=="OK"then
rooms=res.room_list
else
LOG.print(text.netErrorCode..response.code..": "..res.message,"warn")
end
local res=json.decode(response.body)
if response.code==200 and res.message=="OK"then
rooms=res.room_list
else
LOG.print(text.httpCode..response.code..": "..res.message,"warn")
end
return
elseif request_error then

View File

@@ -4,19 +4,17 @@ local function tick_httpREQ_register(task)
coroutine.yield()
local response,request_error=client.poll(task)
if response then
if response.code==200 then
local res=json.decode(response.body)
if res.message=="OK"then
LOGIN=true
USER.name=res.name
USER.id=res.id
USER.motto=res.motto
USER.avatar=res.avatar
FILE.save(USER,"conf/user","q")
LOG.print(text.registerSuccessed..": "..res.message)
else
LOG.print(text.netErrorCode..response.code..": "..res.message,"warn")
end
local res=json.decode(response.body)
if response.code==200 and res.message=="OK"then
LOGIN=true
USER.name=res.name
USER.id=res.id
USER.motto=res.motto
USER.avatar=res.avatar
FILE.save(USER,"conf/user","q")
LOG.print(text.registerSuccessed..": "..res.message)
else
LOG.print(text.httpCode..response.code..": "..res.message,"warn")
end
return
elseif request_error then