★ 宪法总纲:编辑任何资源的唯一正确姿势

★ 建站顺序另见《云酷德建站流程法》(tempx buildlaw.index,打开章程,2026-10-05 定稿):先名后形 → 计划六表 → 补正 → 开工 → newresname 建名 → 照 funtxt 施工 → samekdatatotab 回填 → 验收。

以前文档里写的是「直接调 API 接口」——那是旧约,作废。所有资源的增删改,一律按下述六步走。

  1. 先登录,拿三件套
    GET 本站域名/localxres/funx/commonlogin/?uid=<账号>&pass=<makepass密文>&sysid=<系统id>
    返回 JSON 的 msg 就是 stoken。随后 Cookie 必须带 三个值:uid、stoken、deadline=time()+3600*72。
    坑:只带 uid+stoken、不带 deadline,会被 heartbeat 的 $leftt>0 拦掉,现象是 302 静默跳转,接口返回空。
  2. 建资源名
    funx.newresname?restype=<类型>&rescode=<域.名>&sysid=<系统>&restitle=<标题>
    Cookie 里的 uid 在 coode_userlist 中必须 PRIME=1。tempx 的 rescode 若含点号,点前是域、点后是单元名;不含点号则自动补 .index。
  3. 查编辑器地址
    到 coode_sysrestypedefine 按 restypecode 查 cloudpath 字段——它就是该类型资源的编辑器地址。
    分水岭:cloudpath 值为 mysql 的,说明这类资源基本不落盘,可以直接改数据;值是一条 URL 的,说明会落盘,必须进编辑器改,直接改库会造成库盘不一致。
  4. 打开编辑器
    编辑器地址不用猜、不用记——去 coode_sysrestypedefine 找到该 restypecode 那一行,读它的 cloudpath 字段,那就是现成的完整编辑器地址,? 后面已经把参数位留好了;你要做的只是把占位符换成资源名或该数据的 SNO 序号。
    三个完整地址示例:
    https://qianjilian.com/localxres/tempx/tempeditor/index.html?unitid=xianfa.index
    https://qianjilian.com/localxres/pagex/htmleditor/WrvLoe/index.html?funid=savefunc
    https://qianjilian.com/localxres/pagex/htmleditor/WrvLoe/index.html?funid=coode_funsetfile@SNO:12345.funfull
  5. 编辑器里能调哪些后端方法
    由 coode_funlist 的 usearea 字段声明:它写明该方法允许被哪个页面调用,形如 tempx.tempeditor.index。
    heartbeat 会把 HTTP Referer 解析成 pgmark(资源类型.目录.单元),拿它和 usearea 比对,不匹配直接判无权。所以「在哪个页面里调」不是形式,是权限本身。
    usearea 为空 = 不限制来源,可从外部调用(如 newresname、savetoseed、makelayfolder)。
  6. 鉴权在哪
    数据集 heartbeat 的 refreshtoken 方法:校验 stoken 是否有效、刷新 coode_loginstoken 有效期、并下发 deadline。所有「为什么明明登录了还是没权限」的答案都在这里。

26 类资源:编辑器完整地址 / 能不能直接改库

下表「编辑器 / 落点」列即 coode_sysrestypedefine.cloudpath 的值(已补全域名前缀),可直接复制使用。

类型主表编辑器 / 落点(完整地址)
funx 函数coode_funlisthttps://qianjilian.com/localxres/pagex/htmleditor/WrvLoe/index.html?funid=<函数名>
clsx 类coode_phpclshttps://qianjilian.com/localxres/pagex/htmleditor/WrvLoe/index.html?funid=<类名>
sfunx 函数集coode_funsetfilehttps://qianjilian.com/localxres/pagex/htmleditor/WrvLoe/index.html?funid=coode_funsetfile@SNO:<该数据序号>.funfull
dfunx 数据函数coode_datafunhttps://qianjilian.com/localxres/pagex/htmleditor/WrvLoe/index.html?funid=coode_funsetfile@SNO:<该数据序号>.funfull
constx 静态量coode_sysconstanthttps://qianjilian.com/localxres/pagex/htmleditor/WrvLoe/index.html?funid=coode_funsetfile@SNO:<该数据序号>.funfull
configx 系统参数coode_sysconfighttps://qianjilian.com/localxres/pagex/htmleditor/WrvLoe/index.html?funid=coode_funsetfile@SNO:<该数据序号>.funfull
tempx 模板coode_domainunithttps://qianjilian.com/localxres/tempx/tempeditor/index.html?unitid=<域.单元>
pagex 页面coode_tinyhttps://qianjilian.com/localxres/tempx/tinylayeditor/index.html?unitid=<域.单元>&tinyid=<tinymark>
mfunx 分布函数coode_multifunlisthttps://qianjilian.com/localxres/tempx/tinylayeditor/index.html?unitid=resuptool.index&tinyid=o16CUI
tabx 表coode_tablisthttps://qianjilian.com/localxres/funx/anyjsshort/?stid=2qPIqS-sfile:anyjsshort.php-&pnum=150:<表名>&page=1:TABLE_NAME&
formx 表单coode_shortdatahttps://qianjilian.com/localxres/funx/anyjsshort/?datatype=html&stid=keydtly-&pnum=100:<shortid>&page=1:shortid&
dataspacex 数据空间coode_dataspacehttps://qianjilian.com/localxres/tempx/dspcmgr/index.html
sysx 系统容器coode_sysinformationmysql:不落盘,可直接改库
appx 应用容器coode_appdefaultmysql:不落盘,可直接改库
layx 输出容器coode_applaymysql:不落盘,可直接改库
cdtrdrx 条件跳转coode_cdtrdrmysql:不落盘,可直接改库
parardrx 参数跳转coode_parardrmysql:不落盘,可直接改库
groupx 一级分类coode_grouplistmysql:不落盘,可直接改库
plotx 节点coode_plotlistmysql:不落盘,可直接改库
csspagex 样式页面coode_facelistmysql:不落盘,可直接改库
iconsetx 图标库coode_iconsetmysql:不落盘,可直接改库
databasex 数据库coode_dblistmysql:不落盘,可直接改库
afunx 事务函数coode_affairfunlistmysql:不落盘,可直接改库
parax 外部框架coode_paramysql:不落盘,可直接改库
apix 接口密钥coode_apipoolmysql:不落盘,可直接改库
smallcssx 小CSScoode_codedemomysql:不落盘,可直接改库
云酷德宪法/界面与样式

ui

界面与样式5 种

最终呈现出来的样子,模板实例化后交给浏览器。下面每一种都给出操作接口、关键参数和一个可直接跑的示例;要看图解和完整步骤,点「完整操作页」。

界面类:模板经实例化变成页面,最后交给浏览器模板定义coode_domainunit实例化savetempdata 落盘页面 HTML/localxres/tempx/浏览器渲染公共 CSS / JS(做成输出型 funx 供引用)⛔ 站点上不许直接传文件,要用系统方法生成

图:这一类资源在云酷德体系里所处的位置

资源与 API

5 种

编号说明:本页所有 SNO:8848 都是数据编号示例,仅供参考,非真实数据。真用的时候,先 select SNO from <表> where <定位键>='<资源码>' 查出真实主键再替换。

前端页面模板。主表 coode_domainunit:domainmark=区块、unitmark=样式(=落盘文件名)、dumark=domainmark.unitmark;templatecode / stylex / scriptx 均 HEX。落盘 /localxres/tempx//.html…

主表 coode_domainunit键 dumark盘 /localxres/tempx/库内 846 条
操作接口关键参数
创建anahtmlcoderesid=域.名, htmlcode=dTYPE:HEX:<hex>, hex=1, wb=1, unittitle, sysid=0
补充savefuncGET fn=SNO:8848.<字段名>@coode_domainunit ;POST dt=<新值>
详情SQL / gettempdataselect * from coode_domainunit where dumark=<资源码>
卸载unstallresrestype=tempx&rescode=<资源码>&sysid=0

★ 四件套:anahtmlcode(新建)→ savetempdata(保存)→ gettempdata(读取)。编辑器在 /localxres/tempx/tempeditor/index.html?unitid=域.名,⛔ 不是 csspagex。自绘页 unitclass 一律填 content。

改一条记录(万能通道 · 编号 8848 为示例,非真实数据)复制
POST 本站域名/localxres/funx/savefunc/?fn=SNO:8848.unittitle@coode_domainunit
Cookie: uid=divlovecss; stoken=; deadline=
Content-Type: application/x-www-form-urlencoded
dt=<这一列的新值>
# fn 三种写法:
#   fn=<函数名>                 普通 funx
#   fn=<键>@<表>.<列>            按业务键写某表某列
#   fn=SNO:<主键>.<列>@<表>      按主键写任意表(就是这条)

csspagex

样式页面完整操作页 →

样式页面(共享外观)。主表 coode_facelist(faceid)。落盘 /localxres/csspagex/<名>/index.html。

主表 coode_facelist键 faceid盘 /localxres/csspagex/库内 65 条
操作接口关键参数
创建写主表 coode_facelistinsert 一条记录,定位键 faceid;库 + 盘 + 索引要一起对上
补充savefuncGET fn=SNO:8848.<字段名>@coode_facelist ;POST dt=<新值>
详情SQLselect * from coode_facelist where faceid=<资源码>
卸载unstallresrestype=csspagex&rescode=<资源码>&sysid=0

样式页面,主表 coode_facelist,定位键 faceid。⛔ 它只是 CSS 样式模板库,不是可视化编辑器。

改一条记录(万能通道 · 编号 8848 为示例,非真实数据)复制
POST 本站域名/localxres/funx/savefunc/?fn=SNO:8848.unittitle@coode_facelist
Cookie: uid=divlovecss; stoken=; deadline=
Content-Type: application/x-www-form-urlencoded
dt=<这一列的新值>
# fn 三种写法:
#   fn=<函数名>                 普通 funx
#   fn=<键>@<表>.<列>            按业务键写某表某列
#   fn=SNO:<主键>.<列>@<表>      按主键写任意表(就是这条)

smallcssx

小CSS样式完整操作页 →

小 CSS 样式(代码片段库)。主表 coode_codedemo(dumark)。落盘 /localxres/smallcssx/<名>/。

主表 coode_codedemo键 dumark.keymark盘 /localxres/smallcssx/库内 4603 条
操作接口关键参数
创建写 coode_codedemodumark.keymark 定位,keydemo 存渲染模板(常是 HEX)
补充savefuncGET fn=SNO:8848.<字段名>@coode_codedemo ;POST dt=<新值>
详情SQLselect * from coode_codedemo where dumark.keymark=<资源码>
卸载unstallresrestype=smallcssx&rescode=<资源码>&sysid=0

★ 小 CSS 样式库,主表 coode_codedemo(库内 4600+ 条)。它是按「tempx 模板 × 字段类型」索引的渲染模板库:coode_keydetailx.sysshowfun 为空时,就靠它兜底渲染该字段。
⚠ 复合键 dumark.keymark。

改一条记录(万能通道 · 编号 8848 为示例,非真实数据)复制
POST 本站域名/localxres/funx/savefunc/?fn=SNO:8848.unittitle@coode_codedemo
Cookie: uid=divlovecss; stoken=; deadline=
Content-Type: application/x-www-form-urlencoded
dt=<这一列的新值>
# fn 三种写法:
#   fn=<函数名>                 普通 funx
#   fn=<键>@<表>.<列>            按业务键写某表某列
#   fn=SNO:<主键>.<列>@<表>      按主键写任意表(就是这条)

iconsetx

资源图标库完整操作页 →

资源图标库 —— 专为系统 26 种资源本身存头像 / 海报 / 图标。主表 coode_iconset(setmark=资源类型码),落盘 /localxres/iconsetx/<类型码>/。

主表 coode_iconset键 setmark盘 /localxres/iconsetx/<类型码>/库内 80 条
操作接口关键参数
创建写 coode_iconset(收录地址)setmark=<资源类型码>;outurl=图访问地址;grppath=/localxres/iconsetx/<类型码>/
补充savefuncGET fn=SNO:8848.<字段名>@coode_iconset ;POST dt=<新值>
详情SQLselect * from coode_iconset where setmark=<资源码>
卸载unstallresrestype=iconsetx&rescode=<资源码>&sysid=0

★ 定位(2026-09-29 铁哥重定义):iconsetx 不再是一个"通用图标素材库",而是专门为系统这 26 种资源本身存图像的地方——每个资源类型的头像、海报、示意图、封面图都归它管。
目录按资源类型码分:/localxres/iconsetx/sysx/、/localxres/iconsetx/funx/、/localxres/iconsetx/tempx/……一个类型一个目录。
主表 coode_iconset 里不存图片二进制,只存每一张图的访问地址链接(outurl)加元信息;SVG 源码可另存 imgcode 字段供内联。
为什么要单独拎出来:26 种资源各有各的"脸",图散在各处就找不回来;统一进 iconsetx 后,给某个资源配图 = 往它的类型目录里放图 + 在表里收录一条地址,别处引用时按 setmark 一查就有。

改一条记录(万能通道 · 编号 8848 为示例,非真实数据)复制
POST 本站域名/localxres/funx/savefunc/?fn=SNO:8848.unittitle@coode_iconset
Cookie: uid=divlovecss; stoken=; deadline=
Content-Type: application/x-www-form-urlencoded
dt=<这一列的新值>
# fn 三种写法:
#   fn=<函数名>                 普通 funx
#   fn=<键>@<表>.<列>            按业务键写某表某列
#   fn=SNO:<主键>.<列>@<表>      按主键写任意表(就是这条)

parax

外部框架完整操作页 →

外部框架(接入的第三方前端框架/组件)。主表 coode_para(paramark)。落盘 /localxres/parax/<名>/。

主表 coode_para键 paramark盘 /localxres/parax/库内 7 条
操作接口关键参数
创建写主表 coode_parainsert 一条记录,定位键 paramark;库 + 盘 + 索引要一起对上
补充savefuncGET fn=SNO:8848.<字段名>@coode_para ;POST dt=<新值>
详情SQLselect * from coode_para where paramark=<资源码>
卸载unstallresrestype=parax&rescode=<资源码>&sysid=0

外部框架,主表 coode_para,定位键 paramark,用来挂第三方框架页面。

改一条记录(万能通道 · 编号 8848 为示例,非真实数据)复制
POST 本站域名/localxres/funx/savefunc/?fn=SNO:8848.unittitle@coode_para
Cookie: uid=divlovecss; stoken=; deadline=
Content-Type: application/x-www-form-urlencoded
dt=<这一列的新值>
# fn 三种写法:
#   fn=<函数名>                 普通 funx
#   fn=<键>@<表>.<列>            按业务键写某表某列
#   fn=SNO:<主键>.<列>@<表>      按主键写任意表(就是这条)
云酷德宪法 · 分类页 ui · 本页也是 tempx 资源 xianfa.ui
操作方法随造系统过程持续补充——每实操一次就回来补一段