正在显示
5 个修改的文件
包含
138 行增加
和
0 行删除
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Http\Controllers\Bside; | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +use App\Http\Logic\Bside\VisitLogic; | ||
| 7 | +use Illuminate\Http\Request; | ||
| 8 | + | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 访问明细 | ||
| 12 | + * Class VisitController | ||
| 13 | + * @package App\Http\Controllers\Bside | ||
| 14 | + * @author zbj | ||
| 15 | + * @date 2023/5/22 | ||
| 16 | + */ | ||
| 17 | +class VisitController extends BaseController | ||
| 18 | +{ | ||
| 19 | + | ||
| 20 | + public function index(VisitLogic $logic) | ||
| 21 | + { | ||
| 22 | + $data = $logic->getList(); | ||
| 23 | + return $this->success($data); | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + public function item(Request $request, VisitLogic $logic){ | ||
| 27 | + $request->validate([ | ||
| 28 | + 'id'=>'required' | ||
| 29 | + ],[ | ||
| 30 | + 'id.required' => 'ID不能为空' | ||
| 31 | + ]); | ||
| 32 | + $map = [ | ||
| 33 | + ['customer_visit_id' => $this->param['id']] | ||
| 34 | + ]; | ||
| 35 | + $data = $logic->getItemList($map); | ||
| 36 | + return $this->success($data); | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | +} |
app/Http/Logic/Bside/VisitLogic.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Http\Logic\Bside; | ||
| 4 | + | ||
| 5 | +use App\Http\Logic\Logic; | ||
| 6 | +use App\Models\Visit\Visit; | ||
| 7 | +use App\Models\Visit\VisitItem; | ||
| 8 | + | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * Class VisitLogic | ||
| 12 | + * @package App\Http\Logic\Bside | ||
| 13 | + * @author zbj | ||
| 14 | + * @date 2023/5/22 | ||
| 15 | + */ | ||
| 16 | +class VisitLogic extends BaseLogic | ||
| 17 | +{ | ||
| 18 | + public function __construct() | ||
| 19 | + { | ||
| 20 | + parent::__construct(); | ||
| 21 | + | ||
| 22 | + $this->model = new Visit(); | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + public function getList(array $map = [], array $sort = ['id' => 'desc'], array $columns = ['*'], int $limit = 20) | ||
| 26 | + { | ||
| 27 | + return Logic::getList($map, $sort, ['id', 'url', 'referrer_url', 'device_port', 'country', 'ip', 'depth', 'created_at'], $limit); | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public function getItemList(array $map = [], array $sort = ['id' => 'desc'], array $columns = ['*'], int $limit = 20){ | ||
| 31 | + $this->model = new VisitItem(); | ||
| 32 | + return Logic::getList($map, $sort, ['url', 'created_at'], 0); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | +} |
app/Models/Visit/Visit.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Models\Visit; | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +use App\Models\Base; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * Class Visit | ||
| 10 | + * @package App\Models | ||
| 11 | + * @author zbj | ||
| 12 | + * @date 2023/5/22 | ||
| 13 | + */ | ||
| 14 | +class Visit extends Base | ||
| 15 | +{ | ||
| 16 | + | ||
| 17 | + //设置关联表名 | ||
| 18 | + protected $table = 'gl_customer_visit'; | ||
| 19 | + | ||
| 20 | + protected $appends = ['device_text']; | ||
| 21 | + | ||
| 22 | + public static function deviceMap(){ | ||
| 23 | + return [ | ||
| 24 | + 1 => 'PC', | ||
| 25 | + 2 => '移动端' | ||
| 26 | + ]; | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * @return string | ||
| 31 | + * @author zbj | ||
| 32 | + * @date 2023/5/22 | ||
| 33 | + */ | ||
| 34 | + public function getDeviceTextAttribute(){ | ||
| 35 | + return self::deviceMap()[$this->device_port] ?? ''; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + | ||
| 39 | +} |
app/Models/Visit/VisitItem.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Models\Visit; | ||
| 4 | + | ||
| 5 | +use App\Models\Base; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Class VisitItem | ||
| 9 | + * @package App\Models | ||
| 10 | + * @author zbj | ||
| 11 | + * @date 2023/5/22 | ||
| 12 | + */ | ||
| 13 | +class VisitItem extends Base | ||
| 14 | +{ | ||
| 15 | + | ||
| 16 | + //设置关联表名 | ||
| 17 | + protected $table = 'gl_customer_visit_item'; | ||
| 18 | + | ||
| 19 | + | ||
| 20 | +} |
| @@ -262,6 +262,11 @@ Route::middleware(['bloginauth'])->group(function () { | @@ -262,6 +262,11 @@ Route::middleware(['bloginauth'])->group(function () { | ||
| 262 | Route::any('/get_google_rank', [\App\Http\Controllers\Bside\RankDataController::class, 'get_google_rank'])->name('rank_data_get_google_rank'); | 262 | Route::any('/get_google_rank', [\App\Http\Controllers\Bside\RankDataController::class, 'get_google_rank'])->name('rank_data_get_google_rank'); |
| 263 | }); | 263 | }); |
| 264 | 264 | ||
| 265 | + //访问数据 | ||
| 266 | + Route::prefix('visit')->group(function () { | ||
| 267 | + Route::any('/', [\App\Http\Controllers\Bside\VisitController::class, 'index'])->name('visit_list'); | ||
| 268 | + Route::any('/item', [\App\Http\Controllers\Bside\VisitController::class, 'item'])->name('visit_item'); | ||
| 269 | + }); | ||
| 265 | 270 | ||
| 266 | }); | 271 | }); |
| 267 | //无需登录验证的路由组 | 272 | //无需登录验证的路由组 |
-
请 注册 或 登录 后发表评论