作者 赵彬吉

update

<?php
namespace App\Http\Controllers\Bside;
use App\Http\Logic\Bside\VisitLogic;
use Illuminate\Http\Request;
/**
* 访问明细
* Class VisitController
* @package App\Http\Controllers\Bside
* @author zbj
* @date 2023/5/22
*/
class VisitController extends BaseController
{
public function index(VisitLogic $logic)
{
$data = $logic->getList();
return $this->success($data);
}
public function item(Request $request, VisitLogic $logic){
$request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$map = [
['customer_visit_id' => $this->param['id']]
];
$data = $logic->getItemList($map);
return $this->success($data);
}
}
... ...
<?php
namespace App\Http\Logic\Bside;
use App\Http\Logic\Logic;
use App\Models\Visit\Visit;
use App\Models\Visit\VisitItem;
/**
* Class VisitLogic
* @package App\Http\Logic\Bside
* @author zbj
* @date 2023/5/22
*/
class VisitLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new Visit();
}
public function getList(array $map = [], array $sort = ['id' => 'desc'], array $columns = ['*'], int $limit = 20)
{
return Logic::getList($map, $sort, ['id', 'url', 'referrer_url', 'device_port', 'country', 'ip', 'depth', 'created_at'], $limit);
}
public function getItemList(array $map = [], array $sort = ['id' => 'desc'], array $columns = ['*'], int $limit = 20){
$this->model = new VisitItem();
return Logic::getList($map, $sort, ['url', 'created_at'], 0);
}
}
... ...
<?php
namespace App\Models\Visit;
use App\Models\Base;
/**
* Class Visit
* @package App\Models
* @author zbj
* @date 2023/5/22
*/
class Visit extends Base
{
//设置关联表名
protected $table = 'gl_customer_visit';
protected $appends = ['device_text'];
public static function deviceMap(){
return [
1 => 'PC',
2 => '移动端'
];
}
/**
* @return string
* @author zbj
* @date 2023/5/22
*/
public function getDeviceTextAttribute(){
return self::deviceMap()[$this->device_port] ?? '';
}
}
... ...
<?php
namespace App\Models\Visit;
use App\Models\Base;
/**
* Class VisitItem
* @package App\Models
* @author zbj
* @date 2023/5/22
*/
class VisitItem extends Base
{
//设置关联表名
protected $table = 'gl_customer_visit_item';
}
... ...
... ... @@ -262,6 +262,11 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/get_google_rank', [\App\Http\Controllers\Bside\RankDataController::class, 'get_google_rank'])->name('rank_data_get_google_rank');
});
//访问数据
Route::prefix('visit')->group(function () {
Route::any('/', [\App\Http\Controllers\Bside\VisitController::class, 'index'])->name('visit_list');
Route::any('/item', [\App\Http\Controllers\Bside\VisitController::class, 'item'])->name('visit_item');
});
});
//无需登录验证的路由组
... ...