「于世界交点之处,逢似曾相识之人」
本wiki目前不支持自由编辑,如果有兴趣参与wiki内容编辑,请加入WIKI建设群904200987(游戏交流勿加会被踢)
使用wiki的数据、图片、音频资源,或者搬运页面内容时,请注明出处。具体参照CC BY-NC-SA 4.0协议
感谢Hyacinth对本wiki提供的数据支持
编辑帮助 • BWIKI反馈
全站通知:
模块:Vein数据库
刷
历
编
跳到导航
跳到搜索
此模块的文档可以在模块:Vein数据库/doc创建
local p={}
local db = require('模块:Vein数据库数据')
local vein_list = db.data_list
p["Vein数据库"]=function(frame)
local category = frame.args['category']
if category == nil then
category = "root"
end
local output_list = p.get_son_tree(category)
if output_list == nil or #output_list == 0 then
return ''
end
local output_html = mw.html.create()
for _i,v in ipairs(output_list) do
output_html = output_html:node(p.get_tree_out(v,0))
end
-- local res = ""
-- for _i,v in ipairs(output_list) do
-- res = res .. mw.dumpObject(v) ----- dump出循环中的所有内容
-- end
-- return res
return tostring(output_html)
end
function p.get_son_tree(id)
local output_tree = {}
for _i,v in ipairs(vein_list) do
if v['parent_id'] == id then
local temp = {
id = v['id'],
title = v['title'],
content = v['content'],
unlock = v['unlock'],
has_pic = v['has_pic'],
childrens = {}
}
temp['childrens'] = p.get_son_tree(v['id'])
table.insert(output_tree,v['sort'],temp)
end
end
if #output_tree == 0 then
output_tree = nil
end
return output_tree
end
function p.get_tree_out(item,level)
local output_html = mw.html.create()
local title_color = '#525C66'
if level == 1 then
title_color = '#7B869C'
end
if level == 2 or level == 3 then
title_color = '#BBC7CF'
end
output_html = output_html:tag('div'):addClass('drop-down-wrap')
:tag('div'):addClass('wrap-title')
:tag('div'):addClass('title'):cssText('background:'..title_color):wikitext(item['title']):done()
:tag('div'):addClass('glyphicon icon-arrow-plus'):done()
:done()
:tag('div'):addClass('wrap-content'):cssText('display:none;border-color:'..title_color)
if item['has_pic'] == '是' then
output_html = output_html:tag('div'):addClass('wrap-text'):cssText('text-align:center;'):wikitext('[[文件:词条百科_'..item['id']..'.png|link=]]'):done()
end
if item['content'] and item['content'] ~= '-' then
output_html = output_html:tag('div'):addClass('wrap-text'):wikitext(item['content']):done()
end
if item['content'] and item['content'] ~= '-' and item['unlock'] then
output_html = output_html:tag('hr'):done()
:tag('div'):addClass('wrap-text'):wikitext('解锁条件:' .. item['unlock']):done()
end
if item['childrens'] ~=nil and #item['childrens'] > 0 then
for _i,v in ipairs(item['childrens']) do
output_html = output_html:node(p.get_tree_out(v,level+1))
end
end
output_html = output_html:done():done()
return output_html
end
p["角色vein词条"]=function(frame)
local character_name = frame.args['姓名']
local world = frame.args['世界']
local content = "-"
for _i,v in ipairs(vein_list) do
if v['title'] == character_name then
content = v['content']
end
end
return content
end
return p