\App\Http\Controllers\ApiProfileController

我的账户控制器

职责:个人中心账户操作四接口——改密(旧+新,改后强制全部下线)、 编辑资料(四个白名单字段)、会话列表与指定会话下线; 全部恒为当前登录用户本人数据,异常经基类 callService 统一映射。

Summary

Methods
Properties
Constants
__construct()
changePassword()
updateProfile()
sessions()
revokeSession()
revokeOthers()
preferences()
updatePreferences()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$authService
N/A

Properties

$authService

$authService : \App\Services\Api\AuthService

Type

AuthService

Methods

__construct()

__construct(\App\Services\Api\AuthService  $authService) : mixed

Parameters

\App\Services\Api\AuthService $authService

Returns

mixed —

changePassword()

changePassword(\App\Http\Requests\Api\MyPasswordRequest  $request) : \Illuminate\Http\JsonResponse

修改密码

校验当前密码后更新,并强制全部会话下线(与找回密码同规), 前端收到成功响应后跳转登录页重新登录。

Parameters

\App\Http\Requests\Api\MyPasswordRequest $request

Returns

\Illuminate\Http\JsonResponse —

updateProfile()

updateProfile(\App\Http\Requests\Api\MyProfileRequest  $request) : \Illuminate\Http\JsonResponse

编辑资料

仅可修改昵称/邮箱/手机号/头像四项(白名单收敛),邮箱与手机号 非空时全表唯一(忽略自身);头像必须是本人可见的图片文件。

Parameters

\App\Http\Requests\Api\MyProfileRequest $request

Returns

\Illuminate\Http\JsonResponse —

sessions()

sessions() : \Illuminate\Http\JsonResponse

活跃会话列表

当前用户的 Redis 活跃会话(单会话模型下通常 1 条), 会话标识脱敏(尾 8 位),当前会话置顶标记。

Returns

\Illuminate\Http\JsonResponse —

revokeSession()

revokeSession(string  $md5Key) : \Illuminate\Http\JsonResponse

下线指定会话

当前会话拒绝(请使用退出登录);下线后该会话 JWT 拉黑、 Redis 会话键删除,登录日志记登出闭环。

Parameters

string $md5Key

Returns

\Illuminate\Http\JsonResponse —

revokeOthers()

revokeOthers() : \Illuminate\Http\JsonResponse

下线全部其他会话

批量吊销当前用户全部非当前会话(当前会话走退出登录), 返回实际下线数量;无其他会话时提示。

Returns

\Illuminate\Http\JsonResponse —

preferences()

preferences() : \Illuminate\Http\JsonResponse

我的偏好

账号维度偏好(主题等),随 userinfo 一并下发、此接口按需读写。

Returns

\Illuminate\Http\JsonResponse —

updatePreferences()

updatePreferences(\App\Http\Requests\Api\MyPreferencesRequest  $request) : \Illuminate\Http\JsonResponse

保存我的偏好

白名单合并更新(当前仅 theme:light/dark)。

Parameters

\App\Http\Requests\Api\MyPreferencesRequest $request

Returns

\Illuminate\Http\JsonResponse —