实现公告场景的功能
This commit is contained in:
@@ -188,12 +188,24 @@ function NET.getAvatar(uid)
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local noticeLang={
|
||||||
|
en='en_us',
|
||||||
|
fr='en_us', -- fr_fr
|
||||||
|
es='en_us', -- es_es
|
||||||
|
id='en_us', -- id_id
|
||||||
|
pt='en_us', -- pt_pt
|
||||||
|
symbol='en_us', -- ga_os
|
||||||
|
ja='en_us', -- ja_jp
|
||||||
|
vi='en_us', -- vi_vn
|
||||||
|
zh='zh_cn',
|
||||||
|
zh_trad='zh_tw',
|
||||||
|
zh_code='zh_cn',
|
||||||
|
}
|
||||||
function NET.launchNotice()
|
function NET.launchNotice()
|
||||||
local lang=SETTING.locale:find('zh') and 'zh_cn' or 'en_us'
|
|
||||||
TASK.new(function()
|
TASK.new(function()
|
||||||
local res=getMsg({
|
local res=getMsg({
|
||||||
pool='getNotice',
|
pool='getNotice',
|
||||||
path='/techmino/api/v1/notice?language='..lang..'&lastCount=1',
|
path='/techmino/api/v1/notice?language='..noticeLang[SETTING.locale]..'&lastCount=1',
|
||||||
},6.26)
|
},6.26)
|
||||||
|
|
||||||
if res and res.code==200 then
|
if res and res.code==200 then
|
||||||
@@ -207,17 +219,16 @@ function NET.launchNotice()
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
function NET.getNotice(count)
|
function NET.getNotice(count)
|
||||||
local lang=SETTING.locale:find('zh') and 'zh_cn' or 'en_us'
|
|
||||||
WAIT{timeout=6.26}
|
WAIT{timeout=6.26}
|
||||||
TASK.new(function()
|
TASK.new(function()
|
||||||
local res=getMsg({
|
local res=getMsg({
|
||||||
pool='getNotice',
|
pool='getNotice',
|
||||||
path='/techmino/api/v1/notice?language='..lang..'&lastCount='..(count or 5),
|
path='/techmino/api/v1/notice?language='..noticeLang[SETTING.locale]..'&lastCount='..(count or 5),
|
||||||
},6.26)
|
},6.26)
|
||||||
|
|
||||||
if res and res.code==200 then
|
if res and res.code==200 then
|
||||||
local dataStr=TABLE.dump(res.data)
|
WAIT.interrupt()
|
||||||
SCN.go('notice',nil,dataStr)
|
SCN.go('notice',nil,res.data.contents)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,8 +2,16 @@ local scene={}
|
|||||||
|
|
||||||
function scene.enter()
|
function scene.enter()
|
||||||
BG.set('cubes')
|
BG.set('cubes')
|
||||||
if type(SCN.args[1])=='string' then
|
local data=SCN.args[1]
|
||||||
scene.widgetList.texts:setTexts(SCN.args[1])
|
if data then
|
||||||
|
local texts={}
|
||||||
|
for i=1,#data do
|
||||||
|
table.insert(texts,data[i].timestamp or "20??/??/??")
|
||||||
|
table.insert(texts,data[i].content)
|
||||||
|
table.insert(texts,"")
|
||||||
|
table.insert(texts,"——————————————————————————")
|
||||||
|
end
|
||||||
|
scene.widgetList.texts:setTexts(texts)
|
||||||
else
|
else
|
||||||
scene.widgetList.texts:setTexts({"No data"})
|
scene.widgetList.texts:setTexts({"No data"})
|
||||||
end
|
end
|
||||||
@@ -27,7 +35,7 @@ function scene.keyDown(key)
|
|||||||
end
|
end
|
||||||
|
|
||||||
scene.widgetList={
|
scene.widgetList={
|
||||||
WIDGET.newTextBox{name='texts',x=30,y=45,w=1000,h=640,font=20,fix=true},
|
WIDGET.newTextBox{name='texts',x=30,y=45,w=1000,h=640,font=25,fix=true,lineH=45},
|
||||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user