feat: 提交校园智能助手后端工程源码(Spring Boot 2.7.18 + 平台 starter + JPA + Nacos)
build / build-push (push) Successful in 40s
build / build-push (push) Successful in 40s
- com.yunhai.agent,端口 8093,context-path /agent,制品 target/agent.jar;与 NoticeService 同构 - CAS 单点登录 + 三层角色权限(学生/教师/管理员/访客)+ 会话与工具调用审计落库 - DeepSeek 大模型编排 + 7 个业务模块工具(请假/公告/宿舍/活动/作业/资源库/教师发展) - 浏览器代执行协议(服务端挂起 → 前端用登录态代调 → toolResult 续跑)+ 调用失败深链兜底 - 登出修复:服务端真正 session.invalidate() + 前端两步登出 + logout-guard - 保留 projman 注入的 .gitea/workflows/build.yml 与 docker/Dockerfile;docker/application-prod.yml、run-app.sh 随工程入库
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package com.yunhai.agent.tool;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 表单里的一个字段:由 {@link ToolParam} 生成,前端据此选择控件(下拉 / 日期时间 / 多行文本…)。
|
||||
*/
|
||||
@Data
|
||||
public class FormField {
|
||||
|
||||
/** 提交时的参数名(与业务接口一致) */
|
||||
private String name;
|
||||
|
||||
/** 中文标签,如「开始时间」 */
|
||||
private String label;
|
||||
|
||||
/** 控件类型:text / textarea / number / date / datetime / select */
|
||||
private String widget;
|
||||
|
||||
/** 数据类型:string / integer / number / boolean */
|
||||
private String type;
|
||||
|
||||
private boolean required;
|
||||
|
||||
/** 说明(来自工具定义,写清格式与含义) */
|
||||
private String description;
|
||||
|
||||
/** 格式示例,前端用作 placeholder,如 2026-10-11 08:00:00 */
|
||||
private String example;
|
||||
|
||||
private String defaultValue;
|
||||
|
||||
/**
|
||||
* 下拉选项的动态来源(字典工具名,如 leave.types)。
|
||||
* <p>有值但 {@link #options} 为空 ⇒ 字典接口没取到(多半是下游 302/超时),
|
||||
* 前端据此提示用户「可先手填编号」,而不是干瞪眼。
|
||||
*/
|
||||
private String optionsFrom;
|
||||
|
||||
/**
|
||||
* 当前 {@link #options} 是否来自内置兜底(而非学校实时字典)。
|
||||
* <p>为 true 时前端提示「用的是标准类型,自定义类型暂时没取到」,而不是静默当成权威值。
|
||||
*/
|
||||
private boolean optionsFallback;
|
||||
|
||||
/** 下拉选项 [{value,label}] */
|
||||
private List<Map<String, String>> options = new ArrayList<>();
|
||||
}
|
||||
Reference in New Issue
Block a user