fix: 扫码注册按俱乐部微信配置换openid,Referer识别小程序
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -113,8 +113,9 @@ class WechatMiniProgramLoginView(APIView):
|
||||
return Response({'code': 1, 'msg': '微信授权码不能为空', 'data': None},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 获取微信openid和unionid
|
||||
wechat_data = self.get_wechat_openid(code)
|
||||
# 获取微信openid和unionid(按俱乐部小程序配置)
|
||||
from jituan.services.club_resolver import wechat_jscode2session_for_request
|
||||
wechat_data = wechat_jscode2session_for_request(request, code)
|
||||
if not wechat_data or 'openid' not in wechat_data:
|
||||
error_msg = wechat_data.get('errmsg', '微信授权失败')
|
||||
return Response({'code': 2, 'msg': f'微信登录失败: {error_msg}', 'data': None},
|
||||
@@ -833,10 +834,16 @@ class WechatLoginAndDashouRegisterView(APIView):
|
||||
'data': None
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 2. 获取微信openid
|
||||
wechat_data = self.get_wechat_openid(code)
|
||||
# 2. 获取微信openid(按俱乐部小程序 appid,勿用全局星阙配置)
|
||||
from jituan.services.club_resolver import (
|
||||
resolve_club_id_for_wechat_request,
|
||||
wechat_jscode2session_for_request,
|
||||
)
|
||||
club_id = resolve_club_id_for_wechat_request(request)
|
||||
wechat_data = wechat_jscode2session_for_request(request, code)
|
||||
if not wechat_data or 'openid' not in wechat_data:
|
||||
error_msg = wechat_data.get('errmsg', '微信授权失败')
|
||||
logger.warning('wdlyhdl 微信登录失败 club=%s err=%s', club_id, error_msg)
|
||||
return Response({
|
||||
'code': 4,
|
||||
'msg': f'微信登录失败: {error_msg}',
|
||||
@@ -880,7 +887,7 @@ class WechatLoginAndDashouRegisterView(APIView):
|
||||
|
||||
from jituan.services.invite_guard import assert_invite_same_club
|
||||
from jituan.services.club_user import ensure_user_club_id
|
||||
from jituan.services.club_context import resolve_club_id_from_request
|
||||
from jituan.services.club_resolver import resolve_club_id_for_wechat_request
|
||||
|
||||
ok, invite_msg = assert_invite_same_club(
|
||||
request, guanshi_profile.user, user_main,
|
||||
@@ -892,7 +899,7 @@ class WechatLoginAndDashouRegisterView(APIView):
|
||||
'data': None
|
||||
}, status=status.HTTP_403_FORBIDDEN)
|
||||
|
||||
ensure_user_club_id(user_main, resolve_club_id_from_request(request))
|
||||
ensure_user_club_id(user_main, resolve_club_id_for_wechat_request(request))
|
||||
|
||||
# 验证管事状态
|
||||
|
||||
@@ -1261,7 +1268,8 @@ class WechatLoginAndGuanshiRegisterView(APIView):
|
||||
return Response({'code': 400, 'msg': '邀请码长度超过限制', 'data': None},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
wechat_data = self._get_wechat_openid(code)
|
||||
from jituan.services.club_resolver import wechat_jscode2session_for_request
|
||||
wechat_data = wechat_jscode2session_for_request(request, code)
|
||||
if not wechat_data or 'openid' not in wechat_data:
|
||||
error_msg = wechat_data.get('errmsg', '微信授权失败')
|
||||
return Response({'code': 400, 'msg': f'微信登录失败: {error_msg}', 'data': None},
|
||||
|
||||
Reference in New Issue
Block a user