修复了商家客服登录身份标识问题
This commit is contained in:
@@ -53,6 +53,15 @@ def assert_staff_perm(member, perm_code):
|
||||
raise StaffAuthError(403, f'无权限: {perm_code}')
|
||||
|
||||
|
||||
def staff_fields_for_login(user):
|
||||
"""登录/注册响应附带子客服身份(与 shangjiastatus 并列,互斥)。"""
|
||||
ctx = resolve_staff_context(user)
|
||||
return {
|
||||
'staffstatus': 1 if ctx else 0,
|
||||
'staff_context': ctx,
|
||||
}
|
||||
|
||||
|
||||
def resolve_staff_context(user):
|
||||
"""子客服上下文;非客服返回 None。"""
|
||||
member = get_active_staff_member(user)
|
||||
|
||||
@@ -284,6 +284,9 @@ class WechatMiniProgramLoginView(APIView):
|
||||
# 获取群配置
|
||||
group_info = self.huoquQunPeizhi()
|
||||
|
||||
from merchant_ops.services.authz import staff_fields_for_login
|
||||
staff_fields = staff_fields_for_login(user_main)
|
||||
|
||||
# 返回数据
|
||||
response_data = {
|
||||
'token': token,
|
||||
@@ -299,7 +302,8 @@ class WechatMiniProgramLoginView(APIView):
|
||||
'dashouqun': group_info.get('dashouqun', ''),
|
||||
'dashouqunid': group_info.get('dashouqunid', ''),
|
||||
'guanshiqun': group_info.get('guanshiqun', ''),
|
||||
'guanshiqunid': group_info.get('guanshiqunid', '')
|
||||
'guanshiqunid': group_info.get('guanshiqunid', ''),
|
||||
**staff_fields,
|
||||
}
|
||||
|
||||
return Response({'code': 0, 'msg': '登录成功', 'data': response_data})
|
||||
|
||||
Reference in New Issue
Block a user