feat: 添加钉钉扫码登录功能
Some checks failed
continuous-integration/drone/push Build is failing

- 后端:钉钉 OAuth 认证服务
- 后端:系统设置 API(钉钉配置)
- 前端:登录页钉钉扫码入口
- 前端:系统设置页面
- 数据库迁移脚本
This commit is contained in:
yuliang_guo
2026-01-29 14:40:00 +08:00
parent c5d460b413
commit 662947cd06
16 changed files with 1417 additions and 9 deletions

View File

@@ -62,6 +62,16 @@ class UserService(BaseService[User]):
)
return result.scalar_one_or_none()
async def get_by_dingtalk_id(self, dingtalk_id: str) -> Optional[User]:
"""根据钉钉用户ID获取用户"""
result = await self.db.execute(
select(User).where(
User.dingtalk_id == dingtalk_id,
User.is_deleted == False,
)
)
return result.scalar_one_or_none()
async def _check_username_exists_all(self, username: str) -> Optional[User]:
"""
检查用户名是否已存在(包括已删除的用户)