「Module:Arcaea Data」:修訂間差異

增加 8 位元組 、​ 2022年7月29日 (星期五)
// Edit via Wikiplus
無編輯摘要
(// Edit via Wikiplus)
行 1: 行 1:
local getArgs = require('Module:Arguments').getArgs
local loadJson = require("Module:LoadJson")
local p = {}
local p = {}
function makeInvokeFunc(funcName)
   return function(frame)
     local args = getArgs(frame)
     return p[funcName](args)
   end
end


function p.packName(id)
function p.packName(id)
    -- 将曲包ID转换为曲包名称。
    -- 将曲包ID转换为曲包名称。
    -- 传入Songlist中定义的曲包ID,返回Packlist中的曲 包ID 。如果Template:Transition.json中存在转换,则使用转换后的名称。
    -- 传入Songlist中定义的曲包ID,返回Packlist中的曲 包名称 。如果Template:Transition.json中存在转换,则使用转换后的名称。


    -- 检查曲包ID→曲包名称转换表是否存在转换规则。
    -- 检查曲包ID→曲包名称转换表是否存在转换规则。
    local covList = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Packlist' })["packName"]
    local covList = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Transition.json' })["packName"]
    if covList[id] then return covList[id] end
    if covList[id] then return covList[id] end


行 22: 行 12:
    -- 变量为全局变量
    -- 变量为全局变量
    if packlist == nil then
    if packlist == nil then
      packlist = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Packlist' })
      packlist = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Packlist.json' })
    end
    end


行 36: 行 26:
    if unlock == nil
    if unlock == nil
    then
    then
      unlock = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Packlist' })
      unlock = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Packlist.json' })
    end
    end
    
    
行 198: 行 188:
    -- 传入曲名或ID,获得一个查阅信息的函数。直接在下一个模块使用。
    -- 传入曲名或ID,获得一个查阅信息的函数。直接在下一个模块使用。
    -- index:曲目的索引字符串,和typed一致  indexTyped:id或name,查找曲目的索引值类型  platform:mobile或ns
    -- index:曲目的索引字符串,和typed一致  indexTyped:id或name,查找曲目的索引值类型  platform:mobile或ns
    if platfrom == "mobile"
    if platform == "mobile"
    then
    then
      if indexTyped == "id"  then
      if indexTyped == "id"  then
行 360: 行 350:
end
end


function p.allSongInformation(index, platform)
function p.allSongInformation(indexTyped, platform)
    --  传入曲名或ID, 获得一个查阅信息的函数。直接在下一个模块使用。
    -- 获得一个查阅信息的函数 ,可查阅任何曲目 。直接在下一个模块使用。
    -- index:曲目的索引字符串,和typed一致  typed:id或name,查找曲目的索引值类型  platform:mobile或ns
    -- indexTyped:id或name,查找曲目的索引值类型  platform:mobile或ns
    if platfrom == "mobile"
    if platform == "mobile"
    then
    then
      if typed == "id"  then
      if indexTyped == "id"  then
        return jsonAssayForSingleSong(mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Songlist.json' } ), 'id')
        return jsonAssayForAllSong(mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Songlist.json' } ), 'id')
      else
      else
        return jsonAssayForSingleSong(mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Songlist.json' } ), 'name')
        return jsonAssayForAllSong(mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Songlist.json' } ), 'name')
      end
      end
    else
    else
      if typed == "id"  then
      if indexTyped == "id"  then
        return jsonAssayForSingleSong(mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Songlist NS.json' } ), 'id')
        return jsonAssayForAllSong(mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Songlist NS.json' } ), 'id')
      else
      else
        return jsonAssayForSingleSong(mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Songlist NS.json' } ), 'name')
        return jsonAssayForAllSong(mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Songlist NS.json' } ), 'name')
      end
      end
   end
end
local getArgs = require('Module:Arguments').getArgs
function makeInvokeFunc(funcName)
   return function(frame)
     local args = getArgs(frame)
     return p[funcName](args)
    end
    end
end
end
行 382: 行 381:


function p._Song_Query(songIndexType, songIndex, attributeName, platform)
function p._Song_Query(songIndexType, songIndex, attributeName, platform)
   -- 面向wikitext直接查询
    return p.singleSongInformation(songIndex, songIndexType, platform)(attributeName)
    return p.singleSongInformation(songIndex, songIndexType, platform)(attributeName)
end
end
行 388: 行 388:


function p._Pack_Query(id)
function p._Pack_Query(id)
   -- 面向wikitext直接查询
    return p.packName(id)
    return p.packName(id)
end
end


return p
return p