coode_ 正式层建出的资源名称,必须在 cdai_ 计划层里能反查到。
先计划,后实施;实施严格按各资源既定的操作方法执行。
库表必有资源登记,盘上应有该有的资源文件。
cdai_ 读作 C(ood)D(e)+AI,是 coode 体系中专供 AI 使用的影子计划层;
coode_ 为正式层(真实表、真实磁盘资源)。
cdai_ 只是「打算建什么」,不等于已经有了;查资源是否存在,一律查 coode_ 正式表 + 磁盘。
| 层 | cdai_ 计划表 | coode_ 正式落点 | 一句话 |
|---|---|---|---|
| ① | cdai_sysindex | coode_sysinformation | 要建什么系统 |
| ② | cdai_appmylist | coode_appdefault / coode_appmylist | 系统下有哪些应用 |
| ③ | cdai_subapp | coode_applay | 每个应用的输出节点 layid |
| ④ | cdai_mytiny | coode_tiny | 落地页微件清单 |
| ⑤ | cdai_subtiny | coode_unittiny | 页面 HTML/CSS/JS 成品 |
| ⑥ | cdai_sysresname | coode_sysregres | 页面用到哪些资源 |
aidescrib 与 vermd5,字段与正式表几乎逐字段对应。
| 层 | 规则 | 实例 |
|---|---|---|
| sysid | 短英文 | tjx · cloudbook · qjlliq |
| appid | 用途单词 | home(展示)· find(检索)· arc(归档) |
| layid | sysid + app缩写 + 两位序号 | tjxhm01 · tjxfd01 · qjlhm01 |
| shortid / tinyid | 与 layid 同名 | tjxhm01 |
| tinymark = dumark | 域.单元(两段) | tjxhome.index · tjxarc.upload |
| pageurl | /localxres/pagex/<域>/index.html | /localxres/pagex/tjxhome/index.html |
| tabx(表资源名) | 系统英文名 + 下划线 _ 开头 | tjx_photo · tjx_album · cloudbook_album |
_,
不得以裸名、不得冠以他系统之名、不得用中文或驼峰。
「系统英文名_业务名」——如此表名归属一眼可辨,不会与他系统撞车,亦便于按系统前缀批量检索。
tjx_photo、tjx_album;cloudbook 系统的表 → cloudbook_album。
aidescrib 须写:【大莲备注】一句话定位。前序:xxx。后继:xxx。
coode_sysrestypedefine.restypecode,不得自造:
cdaiplan.index + funx cdaiplan)逐条审核与修正:myaudit 存人工补正建议,aiaudit(资源侧为 wkresult)留空,待 AI 看过 myaudit 后再填。STATUS=1)。系统与资源两套状态各自独立。
cdai_sysresname 三字段判定:
| 字段 | 含义 | 谁写 |
|---|---|---|
| STCODE | 空 = 未建;有内容 = 已建(「创建时刻:…」) | funx.newresname |
| STATUS | 必填字段数量 | funx.samekdatatotab |
| PRIME | 已填字段数量 | funx.samekdatatotab |
已建 8/8 = PRIME/STATUS(已填/必填)。
funx.cdaiplan?optype=startsys),开工即办三事:cdai_sysindex.STATUS=1(系统已开工);② 名下资源 iswell=2(已提交);
③ 把 sys/app/lay/page 四级路由名补齐进 cdai_sysresname。
grpid + restype + resmark + subid,subid 存父级(layx→appid,pagex→layid;sysx/appx 留空以兼容老数据)。
「appx 里有几个名称,就要有几条 appx 资源」——数量必须一致。撤销开工走 unstartsys。funx.newresname,不得手工插表、不得手写文件顶替。
coode_userlist 中 PRIME=1(超管),否则回「无权开发」而不执行。
coode_sysrestypedefine:
| restype | 主表 | restype | 主表 |
|---|---|---|---|
| funx | coode_funlist | pagex | coode_tiny |
| tabx | coode_tablist | dataspacex | coode_dataspace |
| tempx | coode_domainunit | clsx | coode_phpcls |
| plotx | coode_plotlist | formx | coode_shortdata |
| sysx | coode_sysinformation | appx | coode_appdefault |
| sfunx | coode_funsetfile | constx / configx | coode_sysconstant / coode_sysconfig |
| 字段 | 写入内容 | 用途 |
|---|---|---|
| STCODE | 创建时刻:YYYY-mm-dd HH:ii:ss | 已建标记(空即未建) |
| PRIME | 1 | 已建即置 1 |
| txturl | cloudpath 编辑器地址 | 直接进编辑器改这个资源 |
| funtxt | rpath 操作说明 | 如何创建、用哪个编辑器保存 |
| relycore | 主表名 | 真实数据在哪张表 |
| copyrightmark | 资源 SNO | 真实数据是哪一行 |
tabsno,并生成
superediturl = /localxres/pagex/htmleditor/WrvLoe/index.html?funid=<主表>@SNO:<tabsno>.<keyname>
funtxt(rpath)里写明
(其占位符 [rescode] [restype] [sysid] [restitle] [maintab] [mainkey] [mainval] [editurl] 已被替换成真实值)。
coode_asktkey 生成字段行:datamark=主表名,datasno=0(未建时),
keyval 空,superediturl 空。此后即可在补正台点「查看结构」逐字段查看。
coode_asktkey.keyval → 执行 samekdatatotab,由它灌进真实主表。superediturl(超级编辑页),按该页面上的方法点击提交,
即可修改那张表的那个字段。
restype+rescode;按 CRTOR=Cookie uid 过滤,须登录态)
datamark 的 keyname 字段(where SNO=datasno);coode_asktkey.PRIME=1/0,收尾
update cdai_sysresname set STATUS=<字段总数>, PRIME=<PRIME=1的条数>。
CRTOR=Cookie uid 条件,
非本人所建者删不掉,须登录态。
<rescode>_<restype>-resdata.json;
③ 入口文件(index.php / index.html);④ 库侧登记(coode_sysregres,建表另需 coode_tablist + coode_keydetailx)。
| 该补 | 在哪 | 不补会怎样 |
|---|---|---|
| STATUS=1 | coode_applay / coode_unittiny / coode_domainunit | 默认全 0,导出迁移会漏 |
| appid | coode_applay | 四层树 sysid→appid→layid 中间断一环 |
| sysid | coode_domainunit | 传了也不落库,要 UPDATE |
| 编辑器 | 入口 | 提交方式 |
|---|---|---|
| tempx | /localxres/tempx/tempeditor/index.html?unitid=域.单元 | POST funx/savetempdata/,7 个正文列过 mkstr() |
| funx | /localxres/pagex/htmleditor/WrvLoe/index.html?funid=<名> | POST funx/savefunc/?fn=<funid>,体 dt=mkstr(正文) |
,提交前须还原成真实换行。' 变 '' 直接语法崩。业务 JS 写进 main.js,模板里只留 <script src> + init()。/localxres/ 为根目录。请求之起点有三:/localxres/funx/<方法名>/?参数,得 JSON 回。anysys 逐级渲染而下,终至盘上 HTML。| 文件 | 绝对路径 | 体量 | 一句话 |
|---|---|---|---|
| EARTH.php | /www/wwwroot/io.halo123.cn/localxres/EARTH.php | 248,220 字节 | 后端内核函数集 —— 全局地基 |
| USERDEFINE.php | /www/wwwroot/io.halo123.cn/localxres/USERDEFINE.php | 18,088 字节 | 本站点配置 —— 连哪个库、叫什么名 |
include '../../EARTH.php'。
它是最源头,改它即改全局,无「走编辑器建资源」之说 —— 备份后直接改盘上文件,并同步各站。| 组 | 代表函数 | 管什么 |
|---|---|---|
| 数据库 | SX() 查 · UX() 写 · UZ() · countresult() · anyvalue() · existdata() | 读写与取行取值 |
| 文件 | overfile() 落盘 · appendfile · copy_dir · deldirallfiles · getFile · get_file_list · make_zip_file_for_folder · unzip | 盘上生成与搬运 |
| 编转码 | tohex/gohex/String2Hex · unstrs/enstrs · turnlab/labturn · dyh() · tostring() | hex 存取、换行还原、括号与引号 |
| 资源装配 | RESFUNSET() 读函数集源码 · anyfunrun()/recfunrun() 跑方法 · makepass() · refreshstoken() | 把 sfunx 装进来、把身份续上 |
| 返回 | makereturnjson() · makereturndata() · succurl/failurl | 回 JSON、跳转成败页 |
| 函数 | 返回 | 含义 |
|---|---|---|
| gl() / glu() / glp() / glb() | localhost / io_halo123_cn / **** / io_halo123_cn | 本站主库:地址·用户·密码·库名 |
| bl() / blu() / blp() / blb() | localhost / coodewrd / **** / coodewrd | 业务副库(与主库分离的业务数据) |
| gln() / glt() | 1 / 薇操擎 | 当前系统名 / 实例名称 |
| gla() / glv() | akivwsguevara / hellowocaox | apikey / 接口校验版本号 |
| glm() / glr() / hostcode() | motherhost / 000000 / coode | 母系统域名(localhost 即本地不联网)/ 站点数字码 / 站点英文码 |
| garea() / runblog() / runprocess() / remoteway() | qnywxh / 1 / 1 / 1 | 七牛 API 编码 / 日志开关 / 流程日志开关 / 可否上传资源到母机 |
| error_logs() / verifyscv() / anyshort() / kvexc() / addprc() | — | 写日志 / 校验 / 短址 / 键值交换 / 加流程 |
index.php / index.html 为入口,
另有 <名>_<类型>-resdata.json 随行(第十八条四处一致之其二)。
| 目录 | 类型 | 现有 | 目录 | 类型 | 现有 |
|---|---|---|---|---|---|
| funx/ | funx 方法 | 1006 | sysx/ | sysx 系统 | 13 |
| sfunx/ | sfunx 函数集 | 44 | appx/ | appx 应用 | 46 |
| tempx/ | tempx 模板域 | 732 | layx/ | layx 层 | 464 |
| pagex/ | pagex 页面域 | 530 | clsx/ | clsx PHP 类 | 69 |
| tabx/ | tabx 表资源 | 760 | mfunx/ | mfunx 分布函数 | 49 |
| formx/ | formx 表单 | 1078 | plotx/ | plotx 图表 | 24 |
| dataspacex/ | 数据空间 | 7 | apix/ | apix 接口 | 5 |
www,删改须 sudo 并逐个列路径。coode_ 表,常用者如下(行数为该站实测):
| 表 | 行 | 实现什么功能 |
|---|---|---|
| coode_sysinformation | 10 | 系统总表:sysid / sysname / indexurl —— 入口第一站 |
| coode_appdefault | 35 | 应用定义(appid 之母本) |
| coode_appmylist | 1476 | 应用实例(某系统装了哪些应用) |
| coode_applay | 455 | lay 层:sysid→appid→layid 中间一环 |
| coode_tiny | 534 | pagex 微件清单(tinymark = 域.单元) |
| coode_unittiny | 191 | 页面 HTML/CSS/JS 成品 |
| coode_domainunit | 811 | tempx 模板单元(dumark),正文以 dTYPE_HEX 存 |
| coode_sysregres | 5429 | 资源总登记(restype + resmark)—— 查「有没有」查它 |
| coode_sysresname | 6214 | 资源名录(restype + rescode + 访问量),cdai_sysresname 之正式对应 |
| coode_funlist | 944 | funx 方法表,含 usearea = 该方法必须在哪个编辑器里执行 |
| coode_funsetfile | 41 | sfunx 函数集登记 |
| coode_tablist | 678 | 表资源登记(TABLE_NAME)—— 建表须在此有行 |
| coode_keydetailx | 17438 | 字段定义(每列一行),表单与渲染皆读它 |
| coode_asktkey | 13 | 资源字段结构与取值(keyval)—— 补正台「查看结构」即读它 |
| coode_sysrestypedefine | 26 | 26 种资源类型定义,含 maintab / cloudpath(编辑器地址) |
| coode_userlist | 30 | 用户,PRIME=1 者方可执行 newresname |
| coode_usersys | 4 | 用户—系统授权(「会员过期」实为卡在此表) |
| coode_loginstoken | 4388 | 登录 stoken 与有效期 |
| coode_dataspace | 4 | 数据空间(jsondata / filetext) |
cdai_ 八表(sysindex / appmylist / subapp / mytiny / subtiny / sysresname / sysaudit / sysresblog)只是影子;
查资源是否存在,一律查 coode_ 正式表 + 磁盘。/localxres/funx/ 共 1006 个方法,建站全程所用者:
| 方法 | 实现什么功能 | 本法出处 |
|---|---|---|
| newresname | 建资源:登记 + 按类型插主表 + 回写 STCODE/txturl/funtxt | 第九~十二条 |
| savetoseed | 把资源登记落进 seed(建完补跑,防 sysregres 漏登记) | 第十一条 |
| dataneedkey | 为该资源生成字段结构(写进 coode_asktkey) | 第十三条 |
| samekdatatotab | 结构 ↔ 真实主表双向同步,并回写 STATUS/PRIME 进度 | 第十五条 |
| killplanitem | 删除计划资源,连带清其字段结构 | 第十六条 |
| savetempdata / gettempdata | tempx 保存落盘(两部曲)/ 取回给编辑器 | 附二、坑 1 |
| savefunc | 保存 funx 源码(正文须纯业务,禁双套壳) | 附二、坑 2 |
| makelayfolder | 渲染 pagex 落地目录(SNO 传 coode_tiny 的 SNO) | 第十八条 |
| anysys / anylay / anytiny | 三级入口渲染:系统 → 层 → 微件 | 第十七条 |
| commonlogin | 登录取 stoken(返回 JSON 的 msg 即 stoken) | 附四③ |
| cdaiplan | 建站补正台后端(syslist/reslist/tree/rename/sysfix/startsys/askkey…) | 第二章 |
| keysync | 跨站字段同步 | — |
/localxres/sfunx/ 共 44 个函数集。funx 启动时以 eval(RESFUNSET("<集名>")) 把源码装进来,
缺哪个集,就用不了哪个函数(newresname 曾因未载 tabdataoprt 而报 undefined function)。常用者:
| 函数集 | 提供什么 |
|---|---|
| heartbeat | 心跳与访问鉴权:refreshstoken() 续期、visitresacc() 校验 usearea 与 Referer(坑:外部 curl 常被此拒) |
| permision | 权限:vfresedit() 返回该资源的编辑器地址 |
| quickvalue | 快速取值 |
| tabdataoprt | 建表与资源登记:newsysres() —— newresname 之根 |
| tabbaseinfo | 表基础信息 |
| keyinfo / keyinfox | 字段信息 |
| dspbasecoprt | 数据空间基础操作 |
| coremaking | 核心生成 |
coode_funlist.usearea 形如 tempx.tempeditor.index,标明该方法必须在哪个编辑器页面内执行;
为空者方可外部直调。校验点就在 heartbeat 的 visitresacc()。buildlaw.index,与补正台(tempx cdaiplan.index)、API SDK 建站板块互为表里。