[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"app-detail-18":3},{"code":4,"message":5,"data":6},200,"success",{"id":7,"appname":8,"version":9,"title":10,"logo":11,"about":12,"screenshots":13,"sales_num":18,"download_num":18,"view_num":19,"price":20,"total_price":20,"content":21,"demo":22,"status":18,"app_status":23,"type":18,"support":22,"sort":24,"tenant_id":25,"approval_desc":26,"is_official":23,"publish_time":27,"create_time":28,"update_time":29,"username":30,"avatar":22,"versionList":31},18,"addondev","1.0.0","插件开发代码生成工具","https://image.saithink.top/storage/20260120/4e964612ea614f265798a9a336d2a8fae872299e.png","一个功能强大的插件开发代码生成工具，支持基于数据库表结构自动生成完整的 CRUD 代码 支持枚举类型，无需依赖字典功能，无需",[14,15,16,17],"https://image.saithink.top/storage/20260120/741bcad945b7882d09ecab366efe29f9718a49db.png","https://image.saithink.top/storage/20260120/5f6f991671b6db713ef7aed38244100039e938c8.png","https://image.saithink.top/storage/20260120/5d722f3f15452ab2ad011d4cec404d66ac8ec413.png","https://image.saithink.top/storage/20260120/85de59b8ca330182e53f5409db72c97ec02f6768.png",1,948,"100.00","# 插件开发代码生成工具\n\n---\n\n## 功能特点\n\n- **代码更改差异化对比**：生成代码前可预览差异，对比本地文件与生成代码的差异\n- **CRUD 日志**：记录所有代码生成操作，便于追踪历史记录\n- **支持还原历史记录**：可还原到之前的生成记录，避免误操作\n- **回收站**：支持软删除，可恢复误删除的记录\n- **选项卡**：支持选项卡筛选功能，便于数据分类管理\n- **SQL 预览**：支持预览安装、卸载、升级 SQL，确认无误后再执行\n- **菜单自动生成**：通过扫描控制器中的权限注解自动生成菜单，支持多级目录结构\n- **菜单更新**：菜单中的图标、标题、排序不会覆盖原有设置，除非删除菜单\n- **表格配置**：支持操作栏固定、操作栏宽度（默认或根据按钮样式自动计算）、表格高度（自适应/屏幕可见/固定）\n- **表单配置**：支持弹出方式（对话框/抽屉）、表单宽度、表单高度（自动撑开/屏幕高度/自定义）、显示全屏图标\n- **字段配置**：支持表单宽度类型（固定/默认）、编辑时是否禁止、列表宽度类型（固定/最小/默认）\n\n---\n\n## 插件创建功能说明\n\n### 1) 创建插件后会生成哪些文件\n\n从**插件项目**中创建插件后，后端会在 `server/plugin/{namespace}/` 生成/维护以下文件：\n\n- `info.ini`：插件基础信息（从插件项目中创建）\n- `local.sql`：业务表结构源文件（用于生成 install/update/uninstall）\n- `install.sql`：安装 SQL（可自动生成/写入）\n- `uninstall.sql`：卸载 SQL（可自动生成/写入）\n- `update.sql`：升级 SQL（按需维护）\n- `test.sql`：测试数据（可选）\n\n### 2) info.ini 字段约定\n\n可通过可视化界面创建/编辑。\n\n---\n\n## 插件生成功能说明（代码生成）\n\n> **待测兼容提示**：以下功能目前处于待测试状态，使用时请注意：\n> - EloquentORM\n> - 模型关联\n> - 树形CURD\n\n典型流程（推荐）：\n\n1. **准备表结构**：在数据库创建业务表（或维护 `local.sql`）。  \n   表名规范：`sa_插件标识符_分组名称_业务名称`  \n   示例：`sa_addondev_test_category`、`sa_addondev_user_login`\n2. **装载数据表**：在**插件项目** → **生成代码**中装载表结构到生成器配置。\n3. **字段配置**：检查每个字段的 `view_type` 与 `options` 是否符合预期（见下文“生成规范”）。\n4. **预览**：先预览确认生成文件内容，也可以选择性选择覆盖的文件。\n5. **SQL 预览与更新菜单**：在插件项目中，可通过 SQL 预览功能更新菜单。菜单生成通过扫描插件目录下控制器中的权限注解自动生成。菜单中的图标、标题、排序不会覆盖原有的，除非删除菜单。\n6. **生成到项目 / 下载**：生成到项目或下载 zip，再根据实际业务微调。\n\n---\n\n## SQL 注意事项（生成 SQL / 应用 SQL / 更新菜单）\n\n### 1) 插件 SQL 文件职责\n\n- `local.sql`：业务表结构源文件。  \n  生成时按类型过滤：\n  - **install**：仅保留 `CREATE TABLE IF NOT EXISTS ...`\n  - **update**：排除建表语句，保留其他变更 SQL\n  - **uninstall**：解析表名生成 `DROP TABLE IF EXISTS ...`\n- `install.sql`：安装 SQL（表结构 + 菜单 + 追加 SQL）\n- `uninstall.sql`：卸载/回滚 SQL\n- `update.sql`：升级增量 SQL（建议配合版本管理）\n- `test.sql`：测试数据（可选）\n\n### 2) test.sql 追加规则\n\n- 生成 **install** 类型 SQL 时，若 `test.sql` 存在且非空，会被追加到末尾。\n- 默认不保证幂等（多次执行可能主键冲突）。如需幂等，请使用 `INSERT ... ON DUPLICATE KEY UPDATE` 或先清理再插入。\n\n---\n## 字段 → 组件映射（核心对照表）\n\n| 字段 | 字段名称 | 字段类型 | 字段说明 | 组件 | 关键参数/说明 |\n|------|---------|---------|---------|------|---------------|\n| 任意 | 任意 | int/integer/tinyint/smallint/mediumint/bigint | - | 数字输入框 | `step` 默认 1 |\n| 任意 | 任意 | float/double/decimal | - | 数字输入框 | `step` 按小数位自动计算 |\n| 任意 | 任意 | text/mediumtext/longtext | - | 文本域 | `rows` 可选；`query_type: like` |\n| 任意 | 任意 | datetime/timestamp | - | 日期选择器 | `mode: datetime`；`query_type: between` |\n| 任意 | 任意 | date | - | 日期选择器 | `mode: date`；`query_type: between` |\n| 任意 | 任意 | enum / varchar | 值1=标签1,值2=标签2 | 动态单选框 / 动态下拉框 | 需 `dataSource`（枚举值），`dataField`/`dataPrimaryKey`\u003Cbr>注释格式：`字段注释:值1=标签1,值2=标签2`\u003Cbr>示例：`状态:0=隐藏,1=正常,2=推荐` |\n| 任意 | 任意 | set / varchar | 值1=标签1,值2=标签2 | 动态复选框 / 动态下拉多选框 | `dataSource` 必填；`query_type: find_in_set`\u003Cbr>注释格式：`字段注释:值1=标签1,值2=标签2`\u003Cbr>示例：`静态复选框:a=选项A,b=选项B,c=选项C` |\n| *_id | user_id / admin_id / category_id | int/bigint | - | 动态下拉框 | 关联单选；`dataSource` 指向接口 |\n| *_ids | user_ids / admin_ids / category_ids | varchar/text | - | 动态下拉多选框 | 关联多选；`dataMaxSelectLimit` 可控 |\n| weigh / sort | weigh / sort | int | - | 数字输入框 | 排序字段 |\n| *time | create_time / update_time | datetime/timestamp | - | 日期选择器 | `mode: datetime` |\n| *image | avatar / cover_image | varchar/text | - | 动态图片上传 | 单图；`multiple: false` |\n| *images | images / gallery | varchar/text | - | 动态图片上传 | 多图；`multiple: true`，`limit` 默认 10 |\n| *file | file / attachment | varchar/text | - | 动态文件上传 | 单文件 |\n| *files | files / attachments | varchar/text | - | 动态文件上传 | 多文件；`multiple: true` |\n| *content | content / description | text/mediumtext/longtext | - | 富文本编辑器 | 富文本 |\n| *switch | status / is_enabled | tinyint | - | 开关 | 开关 |\n| *range | date_range / time_range | datetime/timestamp | - | 日期选择器 | `isRange: true` |\n| *tag / *tags | tag / tags | varchar/text | - | 标签输入框 | 标签输入 |\n| *table / *tables | table_id / table_ids | varchar/text | - | 动态表格选择器 | 表格选择；`dataSource` 指向接口 |\n\n> 请参考 `local.sql` 的示例\n\n---\n\n## 组件参数规范\n\n各组件参数可通过**控件配置**进行设置，包括数据源、字段映射、上传限制、日期格式等。详细参数说明可在代码生成页面的字段配置中查看。\n\n---\n\n## 插件 SQL 规范总结\n\n| 文件 | 用途 | 生成逻辑 |\n|------|------|----------|\n| `local.sql` | 业务表结构源文件 | 后台预览/生成时写入，不覆盖已有内容 |\n| `install.sql` | 安装脚本 | 从 `local.sql` 提取建表语句 + 菜单 + 追加 `test.sql` |\n| `uninstall.sql` | 卸载脚本 | 自动解析 `local.sql` 中的表名生成 DROP |\n| `update.sql` | 升级脚本 | 手动维护，生成时不覆盖 |\n| `test.sql` | 测试数据 | 生成 install 时自动追加到末尾 |\n\n---\n\n## 演示站信息\n\n- **地址**：http://43.142.105.109:8787/index.html  \n- **账号**：`admin`  \n- **密码**：`123456`",null,2,130,625,"","2026-01-21 22:04:37","2026-01-20 21:30:43","2026-05-01 03:30:19","chaodada",[32],{"id":33,"version":9,"type":18,"remark":34,"create_time":35},31,"第一个版本","2026-01-20 21:39:45"]