模块

RequestHelper:修订间差异

来自蒙纳多研究本部

Monado​(留言 | 贡献)
MWBot
Monado​(留言 | 贡献)
MWBot
第30行: 第30行:
   end
   end
   return cache[cacheKey]
   return cache[cacheKey]
end
function p.output(frame)
  local tablename = mw.text.trim(frame.args[1])
  local row_id = frame.args[2] and mw.text.trim(frame.args[2]) or nil
  return mw.text.jsonEncode(p.post(tablename, row_id))
end
end


return p
return p

2020年7月30日 (四) 21:39的版本

此模块的文档可以在模块:RequestHelper/doc创建

local p = {}

p.language = "cn"

if mw.xbdb.env() == "development" then
  p.entrypoint = "http://dev.xenoblade.cn:3000"
else
  p.entrypoint = "http://172.19.82.27:3000"
end

local cache = {}

function p.post(tablename, row_id, language)
  if language == nil then
    language = p.language
  end

  local cacheKey = tablename .. ":" .. (row_id or "") .. ":" .. language
  if cache[cacheKey] == nil then
    cache[cacheKey] =
      mw.xbdb.post(
      p.entrypoint,
      {
        game = "xb1",
        table = tablename,
        row_id = row_id,
        language = language
      }
    )
  end
  return cache[cacheKey]
end

function p.output(frame)
  local tablename = mw.text.trim(frame.args[1])
  local row_id = frame.args[2] and mw.text.trim(frame.args[2]) or nil
  return mw.text.jsonEncode(p.post(tablename, row_id))
end

return p