外部组件是额外插件的形式,接下去以开发一个机器人绑定账户为例,为大家演示外部接口的开发方式
下载地址:[https://addon.dismall.com/?@csu_robot_bind.plugin](https://addon.dismall.com/?@csu_robot_bind.plugin)
## 新建一个组件
![](https://img.kancloud.cn/94/90/9490ce89be78a8eefa4c7e878a05d9f1_471x163.png)
在组件->设计组件入口进入设计组件界面
## 填写组件基本信息
![](https://img.kancloud.cn/d9/63/d963613a76bb011f33e13d66d8df766a_1222x1400.png)
配置文件目录:指向外部组件插件目录下的具体位置,我这里填写的是`./source/plugin/csu_robot_bind/csu_robot/`开头需要加./结尾需要加/。
消息权限:由于绑定功能只需要接受好友消息,因此选择好友即可。
消息处理类文件路径:我这里填写的是`./source/plugin/csu_robot_bind/csu_robot/message.php`,可视情况设计。
由于插件在设计的时候本身支持设置项,因此在这里我不建议将设置项设计在组件内,而应该将设置项设计在插件内。
提交后即会在指定目录创建一个config.json文件夹。
## 设计一个新插件
默认已开启discuz的开发者模式(plugindeveloper)
设计一个新插件,名称为`机器人绑定`,并在变量添加一个`允许绑定的用户组`的变量
![](https://img.kancloud.cn/71/bf/71bfeefa8a74aa2b1ed2fa9faf92e24c_1042x335.png)
在模块中添加一个页面嵌入和个人设置模块
![](https://img.kancloud.cn/8e/dd/8edd577706ad855476b6e829abd8414e_733x370.png)
## 新建一个绑定表,用于记录绑定数据
```[sql]
CREATE TABLE `pre_csu_robot_bind` (
`bind_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`uid` int(10) unsigned NOT NULL COMMENT '用户ID',
`create_time` int(11) unsigned NOT NULL COMMENT '绑定时间',
`login_time` int(11) unsigned NOT NULL COMMENT '最后登录时间',
`robot_id` varchar(32) NOT NULL COMMENT '机器人标识',
`user_id` varchar(128) NOT NULL COMMENT '对应的账户',
PRIMARY KEY (`bind_id`),
KEY `uid` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
## 处理接受消息
插件的业务逻辑部分不多做介绍,只介绍处理接受消息部分的开发
## 安装和卸载脚本
在安装脚本中,除了需要建表的语句外,还需添加安装组件的语句;同理,在卸载脚本中还需要添加卸载组件的语句。
- 团队说明
- 通用支付接口
- 支付接口申请方式
- 微信支付
- QQ钱包
- 积分支付
- 支付宝
- 开发模式与规范
- 插件接口
- 设计接口与注册接口
- 创建订单
- 订单退款
- 插件接口类
- 支付接口
- 目录结构
- 设计接口
- 编辑设置项
- 异常类
- 日志
- 数据字典
- 1.0
- 支付接口接入
- 插件接口接入
- 数据字典
- 支付接口表payment
- 插件接口表payment_api
- 订单表payment_pay
- 支付流程
- 担保中介交易系统
- 交易流程
- 交易参与者联系资料
- 多平台机器人
- 组件设置
- 日志
- 常见问题
- 【QQ机器人】CQHTTP
- 安装流程
- 常见错误
- 开发文档
- 开发模式
- 组件
- 内部组件
- 外部组件
- 机器人
- 插件调用机器人接口
- 威客任务
- 启用版块
- 担保中介交易
- 珊瑚发帖文本内容安全云校验
- 珊瑚图片内容安全云校验
- 实名认证支付宝
- 支付宝应用申请-公钥
- 支付宝应用申请-公钥证书