sml

SML { ❄ }

下载页 问题反馈、使用疑问,或随便聊聊: QQ 群 · 点击加入 sal@mail.swebase.cn 中文 EN

SML × 政务数据交换 { ❄ }

政务数据有三个老大难,SML 逐一化解:

痛点 后果 SML 解法
18 位证件号 / 信用代码被当数字 JSON 浮点吞精度:330106201503071234 → ...071200 标识符一律字符串,原样保真
字段拼错静默通过 prot 与 port 混进同一份配置 strict 契约当场拦截
多部门配置复制粘贴 改一处漏五处 @base 片段一处定义、处处展开

下面是一份区级「政务服务事项」交换文件——两个窗口块共用一份 strict 契约与属地片段。直接运行,或照任务把它改坏,看契约如何拦截:

✍ 动手练习 补第三个窗口:城管窗口(名称=门头招牌备案, 承诺时限=10, 电话="0571-87654323",&base 复用属地信息),并把 公安窗口 的 密级 改成 内部。
💡 提示:把 密级 改成 内部涉密(不在 enum 白名单)或把 承诺时限 改成 91(超过 max 90),看契约如何当场拦截。

右侧「验证」与底部引擎切换均可使用:JS 与 Rust(wasm,保真)两个引擎执行同一份契约校验,判定一致。