正在显示
1 个修改的文件
包含
13 行增加
和
5 行删除
| @@ -32,10 +32,10 @@ class WxPushHelper: | @@ -32,10 +32,10 @@ class WxPushHelper: | ||
| 32 | self.api = CorpApi(Conf['CORP_ID'], Conf['APP_SECRET']) | 32 | self.api = CorpApi(Conf['CORP_ID'], Conf['APP_SECRET']) |
| 33 | 33 | ||
| 34 | def get_corp_user_id_by_code(self, code): | 34 | def get_corp_user_id_by_code(self, code): |
| 35 | - return self.api.httpCall(CORP_API_TYPE['GET_USER_INFO_BY_CODE'], code) | 35 | + return self.api.httpCall(CORP_API_TYPE['GET_USER_INFO_BY_CODE'], {"CODE": code}) |
| 36 | 36 | ||
| 37 | def get_user_info_by_corp_user_id(self, corp_user_id): | 37 | def get_user_info_by_corp_user_id(self, corp_user_id): |
| 38 | - return self.api.httpCall(CORP_API_TYPE['USER_GET'], corp_user_id) | 38 | + return self.api.httpCall(CORP_API_TYPE['USER_GET'], {'userid': corp_user_id}) |
| 39 | 39 | ||
| 40 | def push_text(self, user_wx_id, content): | 40 | def push_text(self, user_wx_id, content): |
| 41 | data = { | 41 | data = { |
| @@ -75,7 +75,7 @@ class WxUserlogin(APIView): | @@ -75,7 +75,7 @@ class WxUserlogin(APIView): | ||
| 75 | def _get_user_info(code): | 75 | def _get_user_info(code): |
| 76 | client = WxPushHelper() | 76 | client = WxPushHelper() |
| 77 | corp_user = client.get_corp_user_id_by_code(code) | 77 | corp_user = client.get_corp_user_id_by_code(code) |
| 78 | - if "errcode" not in corp_user and "UserId" in corp_user: | 78 | + if "errcode" in corp_user and corp_user['errcode'] == 0 and "UserId" in corp_user: |
| 79 | return client.get_user_info_by_corp_user_id(corp_user['UserId']) | 79 | return client.get_user_info_by_corp_user_id(corp_user['UserId']) |
| 80 | else: | 80 | else: |
| 81 | raise RuntimeError(u"获取企业微信用户信息错误") | 81 | raise RuntimeError(u"获取企业微信用户信息错误") |
| @@ -85,11 +85,19 @@ class WxUserlogin(APIView): | @@ -85,11 +85,19 @@ class WxUserlogin(APIView): | ||
| 85 | if not code: | 85 | if not code: |
| 86 | raise PermissionDenied | 86 | raise PermissionDenied |
| 87 | else: | 87 | else: |
| 88 | + # um = UserManager() | ||
| 88 | user = User.objects.filter(wx_token=code).first() | 89 | user = User.objects.filter(wx_token=code).first() |
| 89 | if not user: | 90 | if not user: |
| 90 | info = self._get_user_info(code) | 91 | info = self._get_user_info(code) |
| 91 | - user = UserManager.create_user( | ||
| 92 | - info['name'], "123456", info['email'], {"wx_token": info['userid']}) | 92 | + print(info) |
| 93 | + user = User.objects.create( | ||
| 94 | + username=info['name'], | ||
| 95 | + email=info['email'], | ||
| 96 | + wx_token=info['userid'], | ||
| 97 | + is_active=True | ||
| 98 | + ) | ||
| 99 | + user.set_password("123456") | ||
| 100 | + user.save() | ||
| 93 | # 获取token | 101 | # 获取token |
| 94 | token_obj = TokenObtainPairSerializer.get_token(user) | 102 | token_obj = TokenObtainPairSerializer.get_token(user) |
| 95 | return response({"access_token": str(token_obj.access_token)}) | 103 | return response({"access_token": str(token_obj.access_token)}) |
-
请 注册 或 登录 后发表评论