外部組件是額外插件的形式,接下去以開發一個機器人綁定賬戶為例,為大家演示外部接口的開發方式
下載地址:[https://addon.dismall.com/?@csu_robot_bind.plugin](https://addon.dismall.com/?@csu_robot_bind.plugin)
## 新建一個組件

在組件->設計組件入口進入設計組件界面
## 填寫組件基本信息

配置文件目錄:指向外部組件插件目錄下的具體位置,我這里填寫的是`./source/plugin/csu_robot_bind/csu_robot/`開頭需要加./結尾需要加/。
消息權限:由于綁定功能只需要接受好友消息,因此選擇好友即可。
消息處理類文件路徑:我這里填寫的是`./source/plugin/csu_robot_bind/csu_robot/message.php`,可視情況設計。
由于插件在設計的時候本身支持設置項,因此在這里我不建議將設置項設計在組件內,而應該將設置項設計在插件內。
提交后即會在指定目錄創建一個config.json文件夾。
## 設計一個新插件
默認已開啟discuz的開發者模式(plugindeveloper)
設計一個新插件,名稱為`機器人綁定`,并在變量添加一個`允許綁定的用戶組`的變量

在模塊中添加一個頁面嵌入和個人設置模塊

## 新建一個綁定表,用于記錄綁定數據
```[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
- 安裝流程
- 常見錯誤
- 開發文檔
- 開發模式
- 組件
- 內部組件
- 外部組件
- 機器人
- 插件調用機器人接口
- 威客任務
- 啟用版塊
- 擔保中介交易
- 珊瑚發帖文本內容安全云校驗
- 珊瑚圖片內容安全云校驗
- 實名認證支付寶
- 支付寶應用申請-公鑰
- 支付寶應用申請-公鑰證書