|
|
@@ -3,15 +3,29 @@ declare(strict_types=1);
|
|
|
|
|
|
namespace SixShop\Core;
|
|
|
|
|
|
+use think\Exception;
|
|
|
use think\helper\Macroable;
|
|
|
|
|
|
/**
|
|
|
* @property string $adminID 管理员ID
|
|
|
* @property string $userID 用户ID
|
|
|
* @property string $token 令牌
|
|
|
- * @method array pageAndLimit() 分页和每页数量[page, limit]
|
|
|
*/
|
|
|
class Request extends \think\Request
|
|
|
{
|
|
|
use Macroable;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取分页参数
|
|
|
+ *
|
|
|
+ * @return array{page: int, list_rows: int} 分页参数
|
|
|
+ */
|
|
|
+ public function pageAndLimit(): array
|
|
|
+ {
|
|
|
+ $page = $this->get('page/d', 1);
|
|
|
+ $limit = $this->get('limit/d', $this->get('per_page/d', 10));
|
|
|
+ throw_if($page < 1, Exception::class, '页码不能小于1');
|
|
|
+ throw_if($limit < 1 || $limit > 200, Exception::class, '每页数量必须在1-200之间');
|
|
|
+ return ['page' => $page, 'list_rows' => $limit];
|
|
|
+ }
|
|
|
}
|