- 基础环境:Docker 部署配置,源码挂载实时同步 - 修复:super_admin 权限补全、登录重定向循环 - 开发:店铺营销账户账单 - 抖音账户(15字段汇总账单) - 开发:店铺营销账户账单 - 淘系支付宝账户(8字段流水账单) - 开发:店铺营销账户账单 - 拼多多账户(7字段流水账单) - 业务页面导航集成:config/business_navigation.php + Business\Pages 控制器 - 各平台独立表结构和视图,互不影响
56 lines
1.2 KiB
PHP
56 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Abstracts\Http;
|
|
|
|
use Illuminate\Contracts\Support\Responsable;
|
|
use Illuminate\Support\Arr;
|
|
use Illuminate\Support\Str;
|
|
|
|
abstract class Response implements Responsable
|
|
{
|
|
protected $accepts = ['json', 'rss'];
|
|
|
|
protected $view;
|
|
|
|
protected $data;
|
|
|
|
public function __construct($view, $data)
|
|
{
|
|
$this->view = $view;
|
|
$this->data = $data;
|
|
}
|
|
|
|
public function toJson()
|
|
{
|
|
return response()->json([
|
|
'success' => true,
|
|
'error' => false,
|
|
'data' => Arr::first($this->data),
|
|
'message' => '',
|
|
]);
|
|
}
|
|
|
|
public function toHtml()
|
|
{
|
|
return view($this->view, $this->data);
|
|
}
|
|
|
|
public function toResponse($request)
|
|
{
|
|
foreach ($this->accepts as $accept) {
|
|
$request_method = 'expects' . Str::studly($accept);
|
|
$response_method = 'to' . Str::studly($accept);
|
|
|
|
if (!method_exists($request, $request_method) || !method_exists($this, $response_method)) {
|
|
continue;
|
|
}
|
|
|
|
if ($request->{$request_method}()) {
|
|
return $this->{$response_method}();
|
|
}
|
|
}
|
|
|
|
return $this->toHtml();
|
|
}
|
|
}
|