配合后端把 5 个模块「新建/发布」页的字段完整搬进助手表单:
- FormCard 新增审批流控件(widget=flow):勾「走审批流程」后按步配置,
每步可选或签/会签并多选审批人(来自教师组织树),提交时拼
flow:[{name,vote,approverTeaIds}];发布方式选了「提交审批」却没配审批人则当场拦下
- 镜像字段(deptName)不渲染控件,提交时按源字段选中项反查显示名一起带上,
与模块页「字典 id + 反查名称」的提交口径一致
- 附件支持对象数组形态(作业 attachments:[{fileId,fileUrl,fileType,fileName,sort}]);
数组类字段在为空时也照常提交(模块页就是恒带 fileIds:"" / attachments:[])
- module-session:callModuleApi 支持 followUp —— 首步业务成功后用返回的资源 id 续跑第二步,
并带上「第一步成功但没拿回编号」的如实报错
- types:BrowserToolCall 增加 followUp;widget 联合类型补 scopes / flow
验证:npm run build 通过;headless Chrome 真机跑「表单 → 浏览器代执行 → 模块接口」,
公告(镜像 + 审批流 + pushScopes)/ 作业(Create→Publish、Create→Schedule)/
宿舍(镜像 + 全部宿舍哨兵)/ 活动(分类存名称)共 50 项断言全绿
This commit is contained in:
+3
-1
@@ -197,7 +197,9 @@ async function runBrowserTool(placeholder: ChatItem, pending: any) {
|
||||
placeholder.text = pending?.reply || pending?.browserTool?.notice || "正在用你的登录态查询业务模块…";
|
||||
const results: ToolResultItem[] = [];
|
||||
for (const call of calls) {
|
||||
placeholder.stage = `正在用你的登录态${call.write ? "提交" : "查询"}「${call.title}」…`;
|
||||
placeholder.stage = call.followUp
|
||||
? `正在用你的登录态提交并完成「${call.title}」…`
|
||||
: `正在用你的登录态${call.write ? "提交" : "查询"}「${call.title}」…`;
|
||||
results.push(await execBrowserCall(call, () => {
|
||||
const ctx = call.pathAndQuery.split("/").filter(Boolean)[0] || "该模块";
|
||||
placeholder.stage = `「${ctx}」模块还没建立登录会话,正在为你自动登录…`;
|
||||
|
||||
Reference in New Issue
Block a user