46 lines
1.4 KiB
PHP
46 lines
1.4 KiB
PHP
|
<?php
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Niucloud-admin 企业快速开发的saas管理平台
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | 官方网址:https://www.niucloud-admin.com
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | niucloud团队 版权所有 开源版本可自由商用
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Author: Niucloud Team
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
|
|||
|
namespace app\api\middleware;
|
|||
|
|
|||
|
use app\Request;
|
|||
|
use Closure;
|
|||
|
use Exception;
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* api渠道处理, 各种渠道的请求, 会在这儿将渠道的公共数据处理好
|
|||
|
*/
|
|||
|
class ApiChannel
|
|||
|
{
|
|||
|
/**
|
|||
|
* @param Request $request
|
|||
|
* @param Closure $next
|
|||
|
* @return mixed
|
|||
|
* @throws Exception
|
|||
|
*/
|
|||
|
public function handle(Request $request, Closure $next)
|
|||
|
{
|
|||
|
//微信或支付宝
|
|||
|
$channel_rules = [
|
|||
|
'wechat/serve/<site_id>',
|
|||
|
'pay/notify/<site_id>/<channel>/<type>/<action>'
|
|||
|
];
|
|||
|
if (in_array($request->rule()->getRule(), $channel_rules)) {
|
|||
|
$site_id = $request->param('site_id', -1);
|
|||
|
if ($site_id != -1) {
|
|||
|
$request->pushHeader([system_name('api_site_id_name') => $site_id]);
|
|||
|
}
|
|||
|
}
|
|||
|
return $next($request);
|
|||
|
}
|
|||
|
}
|