# Niushop開源商城事件開發
---
下面以支付寶支付插件(apipay)的原理通俗的說明事件的調用原理:
* **事件的調用方式,實例 event\(‘Pay’, \['pay_type' => 'alipay'\]\);**
* **查詢可實現Pay事件的插件列表:**
* ```
通過查詢插件配置文件的event.php
return [
'bind' => [
],
'listen' => [
//支付異步回調
'PayNotify' => [
'addon\alipay\event\PayNotify'
],
//支付方式,后臺查詢
'PayType' => [
'addon\alipay\event\PayType'
],
//支付,前臺應用
'Pay' => [
'addon\alipay\event\Pay'
],
'PayClose' => [
'addon\alipay\event\PayClose'
],
'PayRefund' => [
'addon\alipay\event\PayRefund'
],
'PayTransfer' => [
'addon\alipay\event\PayTransfer'
],
'TransferType' => [
'addon\alipay\event\TransferType'
]
],
'subscribe' => [
],
];
* **通過實例化對應事件的類文件,建立對象,同時執行對應的方法**
```php
例如:事件配置文件中:'addon\alipay\event\Pay',首先創建對象:
$class = new addon\alipay\event\Pay();
其次調用對應handle($param):
$res = $class->handle(['pay_type' => 'alipay']);
```
* **循環執行插件配置文件event.php依次返回數據**
- 序言
- 安裝教程
- 運行環境
- 安裝手冊
- 基礎
- 前期準備
- 偽靜態配置
- 后臺目錄結構
- uniapp(手機端)目錄結構
- 開發命名規范
- 控制器命名規范
- model層命名規范
- 前端(管理頁面)命名規范
- 提示面板
- 表單
- uniapp(手機端)命名規范
- api接口命名規范
- 架構
- 入口文件
- config設置
- app應用目錄
- component(自定義模板組件)
- model層(數據業務層)
- 數據庫操作
- job(消息隊列)
- event(事件)
- request(請求對象)
- common(公共函數)
- log(日志處理)
- lang(語言包)
- addon插件
- 數據字典
- 系統基礎表
- 配送相關表
- 商品相關表
- 網站設置相關
- 會員相關表
- 訂單相關表
- 營銷(組合套餐)
- 營銷(砍價)
- 營銷(優惠券)
- 營銷(滿減)
- 營銷(拼團)
- 營銷(秒殺)
- 店鋪相關表
- 微信相關表
- 門店相關表
- 結算相關表
- 應用(分銷)
- 功能模塊
- 商品模塊
- 會員模塊
- 訂單模塊
- 數據統計
- 消息隊列
- 支付模塊
- 短信模塊
- 客服
- api接口
- 接口開發
- 插件開發
- 事件開發
- 常用事件
- 插件目錄與開發
- 常用插件
- 支付插件
- 拼團插件
- 新人禮