From e089df99f7d0a361e6285646c5055595ca2911c9 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Mon, 11 May 2026 15:41:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=86=E9=85=8D=E8=A7=92=E8=89=B2=E4=B8=BA?= =?UTF-8?q?downapp/logined?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 机构类型从'*'改为'downapp' - 角色名从'downappuser'改为'logined' - 角色id改为独立生成不再使用dappid --- dapi/dapi.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/dapi/dapi.py b/dapi/dapi.py index 1e49aec..c4a1452 100644 --- a/dapi/dapi.py +++ b/dapi/dapi.py @@ -84,28 +84,30 @@ async def apikey_user(sor, apikey, client_ip, request): return user.id async def ensure_downappuser_role_and_assign(sor, userid, dappid): - """确保downappuser角色存在(id=dappid),并分配给用户""" + """确保downapp/logined角色存在,并分配给用户""" try: # 检查角色是否存在,不存在则创建 - roles = await sor.R('role', {'id': dappid}) + roles = await sor.R('role', {'orgtypeid': 'downapp', 'name': 'logined'}) if not roles: + roleid = getID() await sor.C('role', { - 'id': dappid, - 'name': 'downappuser', - 'orgtypeid': '*' + 'id': roleid, + 'name': 'logined', + 'orgtypeid': 'downapp' }) - debug(f'created downappuser role: {dappid}') + debug(f'created logined role (downapp): {roleid}') + else: + roleid = roles[0].id # 检查用户是否已有该角色 - existing = await sor.R('userrole', {'userid': userid, 'roleid': dappid}) + existing = await sor.R('userrole', {'userid': userid, 'roleid': roleid}) if not existing: - from appPublic.uniqueID import getID await sor.C('userrole', { 'id': getID(), 'userid': userid, - 'roleid': dappid + 'roleid': roleid }) - debug(f'assigned downappuser role {dappid} to user {userid}') + debug(f'assigned logined role {roleid} (downapp) to user {userid}') except Exception as e: exception(f'ensure_downappuser_role_and_assign error: {e}')