docs: 移动蓝绿部署指南到 troubleshooting 目录

This commit is contained in:
Simon
2026-07-05 17:03:36 +08:00
parent ab90db3d3d
commit ca7c6d937a
91 changed files with 4841 additions and 406 deletions
+48 -3
View File
@@ -260,8 +260,9 @@ async def get_oauth_authorize_url(
encoded_redirect = quote(f"{default_origin}/itportal/", safe="")
# 构造企微OAuth2静默授权URLsnsapi_base:用户无感知)
# 企业微信 OAuth2 地址(注意是 open.work.weixin.qq.com
authorize_url = (
f"https://open.weixin.qq.com/connect/oauth2/authorize"
f"https://open.work.weixin.qq.com/connect/oauth2/authorize"
f"?appid={corp_id}"
f"&redirect_uri={encoded_redirect}"
f"&response_type=code"
@@ -328,6 +329,7 @@ async def oauth_callback(
position = ""
avatar = ""
# 2.1 获取员工详细信息(包含头像)
try:
detail = await wecom_service.get_user_info(employee_id)
employee_name = detail.get("name", "")
@@ -337,8 +339,51 @@ async def oauth_callback(
department = ",".join(str(d) for d in dept_ids) if dept_ids else ""
position = detail.get("position", "")
avatar = detail.get("avatar", "")
except Exception:
logger.warning(f"获取员工详细信息失败: employee_id={employee_id}")
# 调试日志:检查企微API返回的完整数据
logger.info(f"企微用户详情返回: employee_id={employee_id}, avatar={avatar[:50] if avatar else '(空)'}...")
except Exception as e:
logger.warning(f"获取员工详细信息失败: employee_id={employee_id}, error={e}")
# 2.2 将员工信息保存到数据库(包含头像)
try:
from app.models.employee import Employee
from sqlalchemy import select
stmt = select(Employee).where(
Employee.employee_id == employee_id,
Employee.corp_id == settings.wecom_corp_id
)
result = await db.execute(stmt)
employee = result.scalars().first()
if employee:
# 更新已有记录
employee.name = employee_name
employee.department = department
employee.position = position
# 【FE-UA-005 优化】每次登录强制更新头像URL,确保获取最新头像
if avatar:
employee.avatar = avatar
employee.avatar_updated_at = datetime.utcnow()
logger.info(f"更新员工头像: employee_id={employee_id}, avatar={avatar[:50] if avatar else '(空)'}...")
else:
# 创建新记录
employee = Employee(
corp_id=settings.wecom_corp_id,
employee_id=employee_id,
name=employee_name,
department=department,
position=position,
avatar=avatar,
)
db.add(employee)
logger.info(f"创建员工记录(含头像): employee_id={employee_id}")
await db.commit()
except Exception as e:
logger.warning(f"保存员工信息到数据库失败: employee_id={employee_id}, error={e}")
# 不阻塞登录流程,继续执行
# 3. 生成 Bearer Token(与坐席端一致:secrets.token_urlsafe(32)
token = secrets.token_urlsafe(32)