def check_valid(self): ''' 检查配置是否有效 ''' is_valid = WechatUserInfoManager(appid=self.appid,\ secret=self.secret).check_valid() return is_valid
def post(self, request): ''' 处理微信用户扫码之后重定向页面 ''' code = request.data.get('code') appid = WechatConfig.get_current().appid secret = WechatConfig.get_current().secret if code: try: unionid = WechatUserInfoManager(appid=appid, secret=secret).get_union_id(code) except APICallError: raise ValidationError({'code': ['invalid']}) else: raise ValidationError({'code': ['required']}) context = self.get_token(unionid) return Response(context, HTTP_200_OK)
def get(self, request): ''' 处理微信用户扫码之后重定向页面 ''' code = request.GET.get('code') redirect_url = request.GET.get('redirect_url', None) appid = WechatConfig.get_current().appid secret = WechatConfig.get_current().secret if code: try: unionid = WechatUserInfoManager(appid=appid, secret=secret).get_union_id(code) except APICallError: raise ValidationError({'code': ['invalid']}) else: raise ValidationError({'code': ['required']}) context = self.get_token(unionid) if redirect_url: query_string = urlencode(context) return HttpResponseRedirect(f'{redirect_url}?{query_string}') return Response(context, HTTP_200_OK)