Skip to content

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 收尾与总结

  • 关闭设计模式
  • 编写部署笔记与问题记录