多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
外部组件是额外插件的形式,接下去以开发一个机器人绑定账户为例,为大家演示外部接口的开发方式 下载地址:[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; ``` ## 处理接受消息 插件的业务逻辑部分不多做介绍,只介绍处理接受消息部分的开发 ## 安装和卸载脚本 在安装脚本中,除了需要建表的语句外,还需添加安装组件的语句;同理,在卸载脚本中还需要添加卸载组件的语句。