Discuz 在线业务办理插件开发模板¶
1. 需求分析与规划¶
1.1 用户角色定义¶
- 商户用户 / 管理员 / 普通用户
- 登录限制与操作权限
1.2 功能边界与数据安全¶
- 数据隔离(按商户、按业务类型)
- 是否需要文件上传、附件、证件校验等
2. 功能设计¶
2.1 插件使用流程说明(用户视角)¶
- 用户访问路径 / 插件页面入口说明
- 表单填写 → 提交 → 查看进度 / 管理订单
2.2 功能模块分解(技术视角)¶
2.2.1 前端模块¶
- 表单页面、结果页、成功提示页
- 响应式设计与移动端优化
2.2.2 后端服务处理¶
- 表单提交处理、数据验证、入库逻辑
- 操作日志、状态标记、错误提示机制
2.3 后台管理功能(管理员视角)¶
- 插件后台是否需要
- 参数配置、操作记录查看、数据导出等
2.4 可扩展方向(预留)¶
- 业务类型支持拓展
- 高级权限 / 进度流转 / 审核功能
3. 插件开发¶
3.1 文件结构规划¶
source/plugin/插件名/
├── plugin.xml
├── install.php / uninstall.php
├── 插件主控制器.inc.php
├── table/
│ └── table_*.php
├── template/
│ └── touch/*.htm
│ └── static/*.css
├── 插件名.lang.php
3.2 数据表设计¶
- 使用
hw_作为业务表前缀 - 需考虑索引、唯一约束、状态字段
3.3 plugin.xml 配置¶
<identifier>、<modules>、<menu>配置<setting>支持后台参数项
3.4 页面模板开发¶
- 使用 touch/front 模式分类
- 模板变量、表单元素绑定规范
3.5 主控制器开发¶
- 判断是否提交、数据校验、结果跳转
3.6 数据封装类设计¶
- 统一使用 table_xxx.php
- 实现 get_by_uid, insert, update_by 等封装
3.7 多语言包支持¶
- lang.php 文件中采用
plugin/pluginid:key格式
3.8 安装脚本 install.php¶
- 建表逻辑、安全检查
3.9 卸载脚本 uninstall.php¶
- 删除数据表或保留数据
3.10 后台变量定义¶
- 插件后台设置项
<setting> - 支持后台用户自定义配置项
3.11 后台插件管理页子插件¶
- 如需独立页签,定义
<subplugin>
4. 商户管理中心扩展(xigua_partnercenter)¶
4.1 插件订单模板模板¶
- 建议命名:pluginname_order_manager.htm
4.2 子控制器接口¶
- 建议命名:pluginname_order.inc.php
- 控制器统一参数入口:plugin.php?id=xigua_partnercenter&biz=pluginname
5. 插件安装与部署¶
5.1 上传插件代码¶
- 上传至
/home/ecs-user/ProjectDev/.../插件名/ - 同步部署至
/var/www/html/58haiwaiweb/source/plugin/插件名/
5.2 安装插件¶
- 启用
plugindeveloper模式 - 后台点击"“设计新插件”" → 安装成功后复制语言包至指定目录
复制语言文件至指定目录
sudo cp /var/www/html/58haiwaiweb/source/plugin/插件名/xxx.lang.php /var/www/html/58haiwaiweb/data/plugindata/
5.3 创建插件数据表¶
- 登录数据库,创建表结构并验证
5.4 调试与验证¶
- 登录用户授权、表单填写测试、模板渲染、提交跳转
- 常见问题如模板路径、未exit输出残留
5.5 收尾与总结¶
- 关闭设计模式
- 编写部署笔记与问题记录