| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace App\Filament\Traits;
- use Illuminate\Support\Facades\Auth;
- trait HasUserRole
- {
- public bool $isTeacher = false;
- /**
- * 初始化用户角色检查
- */
- public function initializeUserRole(): void
- {
- $this->isTeacher = Auth::user()?->isTeacher() ?? false;
- }
- /**
- * 获取当前用户ID
- */
- public function getCurrentUserId(): ?int
- {
- return Auth::id();
- }
- /**
- * 获取当前老师ID
- */
- public function getCurrentTeacherId(): ?string
- {
- return Auth::user()?->teacher?->teacher_id;
- }
- /**
- * 判断当前用户是否是管理员
- */
- public function isAdmin(): bool
- {
- return !$this->isTeacher;
- }
- /**
- * 判断当前用户是否是老师
- */
- public function isCurrentUserTeacher(): bool
- {
- return $this->isTeacher;
- }
- /**
- * 获取当前用户类型描述
- */
- public function getCurrentUserType(): string
- {
- return $this->isTeacher ? 'teacher' : 'admin';
- }
- }
|