优雅草最新实战项目技术Discuz X3.5电子签约插件开发项目实施方案优雅草·卓伊凡
优雅草最新实战项目技术Discuz X3.5电子签约插件开发项目实施方案优雅草·卓伊凡
一、项目概述
甲方需求:为现有Discuz X3.5系统集成电子签约功能,对接e签宝API,实现用户发起/签署合同、模板管理、签约记录查询等功能。
总预算:9,300元(含UI/前端/后端/文档)
工期:35天
技术栈:
- 前端:Discuz原生模板 + HTML5/CSS3/JavaScript
- 后端:PHP 7.4 + Discuz插件机制 + e签宝SDK
- 数据库:MySQL 5.7
二、需求文档明细
1. 核心功能清单
模块 | 功能点 | 技术实现方案 |
用户端功能 | ||
1.1 签约入口 | 论坛导航栏新增”电子签”入口 | 修改 |
1.2 合同发起 | 支持上传PDF/WORD或选择模板 | 集成 |
1.3 签署流程 | 短信验证→手写签名/企业盖章→完成存档 | 调用 嵌入iframe |
1.4 记录查询 | 展示用户历史签约记录(状态/时间/合同名) | 新建数据表 |
管理端功能 | ||
2.1 模板管理 | 后台增删改查合同模板(支持变量如 ) | 开发独立管理页面 |
2.2 签约监控 | 查看全站签约数据(完成率/拒签率) | 对接 |
系统集成 | ||
3.1 账号打通 | Discuz用户注册手机号自动同步至e签宝 | 通过 实现 |
3.2 消息通知 | 签约状态变更时发送Discuz站内信 | 钩子扩展 |
2. 数据表设计
CREATE TABLE `pre_esign_records` (`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,`uid` mediumint(8) NOT NULL COMMENT '用户ID',`template_id` varchar(32) DEFAULT NULL COMMENT '模板ID',`file_url` varchar(255) NOT NULL COMMENT '合同文件URL',`sign_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0待签/1已签/2拒签',`create_time` int(10) NOT NULL COMMENT '发起时间',`sign_time` int(10) DEFAULT NULL COMMENT '签署时间',PRIMARY KEY (`id`),KEY `idx_uid` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
三、技术实施细节
1. UI设计(1500元)
- 交付物:
-
- 用户端签约页面PSD(适配Discuz风格)
- 后台管理界面简单图-discuz设计必须符合现有系统
- 关键点:
-
- 复用Discuz原生配色(#3C8DBC主色)
- 响应式布局(适配手机版
template/mobile
)
2. 前端开发(3800元)
任务 | 代码示例 |
合同上传组件 | ```html |
| e签宝签署窗口嵌入 | ```javascript
new EsignWidget({url: 'https://sdk.esign.cn?authToken=XXX'
}).render('#sign-container')
``` |
| AJAX状态轮询 | ```javascript
setInterval(() => {$.get('plugin.php?id=esign&action=checkStatus', updateUI)
}, 5000)
``` |##### **3. 插件开发(3000元)**
- **核心文件结构**:
/source/plugin/esign/
├── plugin_esign.class.php // 主逻辑
├── admincp_esign.php // 后台管理
├── template/
│ ├── user_center.htm // 用户签约页
│ └── admin_template.htm // 模板管理
└── mobile/ // 手机版适配
- **关键代码片段**: ```php// 用户发起签约public function createContract() {$esign = new EsignClient();$flowId = $esign->createByTemplate($_G['uid'], $this->template_id);C::t('pre_esign_records')->insert(['uid' => $_G['uid'],'template_id' => $this->template_id,'file_url' => $this->file_path,'create_time' => TIMESTAMP]);}
四、人员与工期规划
阶段 | 人员配置 | 工作日 | 交付物 |
需求分析 | 项目经理×1 | 3 | PRD文档定稿 |
UI设计 | UI设计师×1 | 5 | 所有界面设计稿 |
前端开发 | Web前端×1 | 10 | 用户端/管理端页面 |
插件开发 | PHP工程师×1 | 12 | 可安装的Discuz插件包 |
测试交付 | 测试工程师×1 | 5 | 测试报告+使用文档 |
五、成本控制策略
- 技术复用
-
- 直接调用e签宝现成SDK(节省签名算法开发成本)
- 复用Discuz原有用户系统(避免重复开发登录模块)
- 开发提效
-
- 使用
Discuz!X
官方插件生成器加速脚手架搭建 - 后台管理界面基于
Bootstrap 3
快速构建
- 使用
- 风险规避
-
- 提前申请e签宝测试账号(避免接口权限延迟)
- 优先开发核心签约流程(留出兼容性调试时间)
六、项目报价明细
项目 | 工作内容 | 费用(元) | 占比 |
UI设计 | 2套界面(用户端+后台) | 1,500 | 16% |
前端开发 | 响应式页面+API对接 | 3,800 | 41% |
插件开发 | PHP业务逻辑+数据库设计 | 3,000 | 32% |
文档与培训 | 编写使用手册+1小时远程培训 | 1,000 | 11% |
合计 | 9,300 | 100% |
七、致甲方说明
“本报价基于Discuz标准插件开发流程制定,已充分考虑:
- e签宝接口调用次数限制(免费版1000次/月)
- 不包含合同模板的法律审核服务
- 二次开发费用另计(如需对接OA系统等)
优雅草科技承诺在35天内交付可商用级产品,并附赠3个月基础维护期。”
——技术负责人 卓伊凡