用途:面向 ServiceNow Service Portal 的 sp_widget 开发,确保 Server Script(服务端脚本)、Client Controller(客户端控制器)与 HTML 模板三方通信一致。资料将其描述为“三方契约”:服务端需初始化 HTML 会引用的全部 data.* 属性,并处理客户端通过 c.server.get() 发来的每个 input.action;客户端需实现 HTML 中 ng-click 调用的每个方法,用 c.server.get({action: 'name'}) 与服务器通信,并在响应后更新 c.data;HTML 只能引用服务端提供的 data.* 属性、只调用客户端已定义的方法。
主要能力:给出 Server→Client→HTML 与 Client→Server 两种数据流范式(如服务端用 GlideRecord 查询后填充 data.incidents、data.loading;客户端 c.server.get({ action: "save_incident", incident_data: c.formData }) 后判断 response.data.success);提供部署前校验清单,包括 data 属性是否被使用或初始化、ng-click 方法是否有对应实现、action 名是否与 if(input.action === ...) 匹配、有无孤立方法或未用属性;列出常见失败案例(action 名 saveIncident 与 save_incident 不匹配、HTML 调 saveData 而客户端只定义 save、HTML 引用 data.user.email 但服务端只设 user.name);并附 Angular 指令参考(ng-if、ng-show/ng-hide、ng-repeat、ng-click、ng-model、ng-class、ng-disabled)。
使用方式与限制:资料未提供安装命令或独立接入步骤,内容以编写规范与自查为主,需在 ServiceNow Service Portal widget 编辑环境中应用。是否收费、支持版本、平台依赖等暂未提供。