Administrator
2025-08-11 6bfc02175fdd61dea7ff26a23df4e80ba7d68210
feat(ai): 添加 AI 产品角色的 JSON 格式字段

- 在 AiProductRole 模型中添加 jsonTemplate 字段
- 在添加和编辑页面中添加 JSON格式输入框
- 在服务实现类中处理 JSON 格式数据
- 在信息页面中显示 JSON 格式字段
4 files modified
28 ■■■■■ changed files
src/main/java/cc/mrbird/febs/ai/entity/AiProductRole.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductRoleServiceImpl.java 2 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/ai/productRole/add.html 10 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/ai/productRole/info.html 11 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/entity/AiProductRole.java
@@ -34,6 +34,11 @@
    private String promptTemplate;
    /**
     * 返回数据格式要求
     */
    private String jsonTemplate;
    /**
     * 小图标
     */
    private String iconImg;
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductRoleServiceImpl.java
@@ -56,6 +56,7 @@
        entity.setName(dto.getName());
        entity.setDescription(dto.getDescription());
        entity.setPromptTemplate(dto.getPromptTemplate());
        entity.setJsonTemplate(dto.getJsonTemplate());
        entity.setIconImg(dto.getIconImg());
        entity.setModelId(dto.getModelId());
        entity.setLinkId(dto.getLinkId());
@@ -75,6 +76,7 @@
                            .set(AiProductRole::getName, dto.getName())
                            .set(AiProductRole::getDescription, dto.getDescription())
                            .set(AiProductRole::getPromptTemplate, dto.getPromptTemplate())
                            .set(AiProductRole::getJsonTemplate, dto.getJsonTemplate())
                            .set(AiProductRole::getIconImg, dto.getIconImg())
                            .set(AiProductRole::getModelId, dto.getModelId())
                            .set(AiProductRole::getLinkId, dto.getLinkId())
src/main/resources/templates/febs/views/modules/ai/productRole/add.html
@@ -42,6 +42,16 @@
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row layui-col-space10 layui-form-item">
                                    <div class="layui-col-lg6">
                                        <label class="layui-form-label febs-form-item-require">JSON格式:</label>
                                        <div class="layui-input-block">
                                            <input type="text" name="jsonTemplate" lay-verify="required"
                                                   placeholder="" autocomplete="off" class="layui-input">
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row layui-col-space10 layui-form-item">
                                    <div class="layui-col-lg6">
                                        <label class="layui-form-label febs-form-item-require">模型ID:</label>
src/main/resources/templates/febs/views/modules/ai/productRole/info.html
@@ -45,6 +45,16 @@
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row layui-col-space10 layui-form-item">
                                    <div class="layui-col-lg6">
                                        <label class="layui-form-label febs-form-item-require">JSON格式:</label>
                                        <div class="layui-input-block">
                                            <input type="text" name="jsonTemplate" lay-verify="required"
                                                   placeholder="" autocomplete="off" class="layui-input">
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row layui-col-space10 layui-form-item">
                                    <div class="layui-col-lg6">
                                        <label class="layui-form-label febs-form-item-require">模型ID:</label>
@@ -176,6 +186,7 @@
                "id": aiProductRole.id,
                "name": aiProductRole.name,
                "promptTemplate": aiProductRole.promptTemplate,
                "jsonTemplate": aiProductRole.jsonTemplate,
                "modelId": aiProductRole.modelId,
                "linkId": aiProductRole.linkId,
            });