前端商品列表

This commit is contained in:
liu
2026-08-14 15:22:19 +08:00
parent 8b3cef5af0
commit 629d28a369
2 changed files with 49 additions and 22 deletions
@@ -7,6 +7,7 @@ use App\Models\StoreModel;
use App\Models\UserModel;
use Illuminate\Http\Request;
use Modules\Common\Http\Controllers\BaseController;
use Modules\SystemUser\Models\SysAccessToken;
/**
* 小程序端控制器基类
@@ -29,7 +30,30 @@ abstract class BaseMiniController extends BaseController
}
/**
* 门店端前置校验:type=门店 且 store_id>0 且门店正常
* 可选登录场景手动识别当前用户(路由关闭 authorize 时使用)
*
* 手动解析 Bearer token;未携带 token、token 无效或非小程序用户时返回 null(不抛错)。
*/
protected function optionalUser(Request $request): ?UserModel
{
$token = $request->bearerToken();
if (empty($token)) {
return null;
}
$accessToken = SysAccessToken::findToken($token);
if ($accessToken === null || $accessToken->tokenable_type !== UserModel::class) {
return null;
}
$user = UserModel::find($accessToken->tokenable_id);
if ($user === null || $user->status === UserModel::STATUS_DISABLED) {
return null;
}
return $user;
}
/**
* 门店端前置校验
*/
protected function ensureStoreBound(UserModel $user): StoreModel
{
@@ -46,8 +70,6 @@ abstract class BaseMiniController extends BaseController
/**
* 用户当前绑定的正常门店(未绑定/已停用返回 null,不抛错)
*
* 供商品浏览等「弱前置」场景使用:未绑定门店仍可浏览商品,仅价格不可见。
*/
protected function boundStore(UserModel $user): ?StoreModel
{