模块

SkillTree:修订间差异

来自蒙纳多研究本部

头号云​(留言 | 贡献)
创建页面,内容为“-- 模块:SkillTree —— 技能树模块 -- 当前阶段:数据源探针(验证 mw.xbdb.query 直查 SQLite 的能力边界) -- 测试完成后:p.probe 保留作数据源探测工具,p.main 改写为树渲染本体 local p = {} local xbdb = mw.xbdb local function tryDesc(label, fn) local ok, result = pcall(fn) if not ok then return "== " .. label .. " ==\n探针失败:" .. tostring(result) end local ok2, encoded = pcall(mw.text.jsonE…”
 
头号云​(留言 | 贡献)
清空全部内容
标签:清空
 
第1行: 第1行:
-- 模块:SkillTree —— 技能树模块
-- 当前阶段:数据源探针(验证 mw.xbdb.query 直查 SQLite 的能力边界)
-- 测试完成后:p.probe 保留作数据源探测工具,p.main 改写为树渲染本体
local p = {}


local xbdb = mw.xbdb
local function tryDesc(label, fn)
  local ok, result = pcall(fn)
  if not ok then
    return "== " .. label .. " ==\n探针失败:" .. tostring(result)
  end
  local ok2, encoded = pcall(mw.text.jsonEncode, result)
  if ok2 then
    return "== " .. label .. " ==\n" .. encoded
  end
  return "== " .. label .. " ==\n(返回内容无法 JSON 化)" .. tostring(result)
end
-- 数据源探测入口:沙盒里 {{#invoke:SkillTree|probe}} 调用
function p.probe(frame)
  local out = {}
  -- 1. env():扩展环境信息
  out[#out + 1] = tryDesc("1. env()", function() return xbdb.env() end)
  -- 2. query 通道可用性:sqlite_master 表清单
  out[#out + 1] = tryDesc("2. query: sqlite_master 前30表",
    function() return xbdb.query("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name LIMIT 30", "cn") end)
  -- 3. 全库表总数(对照契约测试的 9042)
  out[#out + 1] = tryDesc("3. query: 表总数",
    function() return xbdb.query("SELECT COUNT(*) AS n FROM sqlite_master WHERE type='table'", "cn") end)
  -- 4. AP 成长表直查(未注册解析器,若成功=绕过迁移限制)
  out[#out + 1] = tryDesc("4. query: grow_arts_base",
    function() return xbdb.query("SELECT * FROM bdat_common.grow_arts_base LIMIT 3", "cn") end)
  -- 5. 技能树表直查(同名探测)
  out[#out + 1] = tryDesc("5. query: pc_treelist",
    function() return xbdb.query("SELECT * FROM bdat_common.pc_treelist LIMIT 3", "cn") end)
  -- 6. schema 参数取值探测
  out[#out + 1] = tryDesc("6. query: schema='data'",
    function() return xbdb.query("SELECT COUNT(*) AS n FROM sqlite_master WHERE type='table'", "data") end)
  return table.concat(out, "\n\n")
end
-- 正式渲染入口:待数据源确认后实现
function p.main(frame)
  return "SkillTree 模块:渲染入口待实现(当前处于数据源探测阶段)"
end
return p

2026年10月13日 (二) 17:00的最新版本

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