def send_tpl_msg(cls, openid, tpl_id, data, url, msg_type=1): ret = WeixinService.send_template_message(openid=openid, template_id=tpl_id, data=data, url=url) weixin_user = WeixinService.get_weixin_user(openid=openid) msg_log = MsgSendLog(weixin_user=weixin_user, msg_type=msg_type, title=data['keyword1']['value'], reco_num=data['keyword2']['value'], display_time=data['keyword3']['value'], url=url, errcode=ret.get('errcode'), errmsg=ret.get('errmsg')) msg_log.save() return ret
def get(self, request): # if not self.validate(): # return HttpResponseBadRequest('Verify Failed') self.request = request code = self.request.REQUEST.get('code') next_url = self.request.REQUEST.get('next_url') if not error_weixin_code(code): return HttpResponseBadRequest('Verify Failed') user_base = WeixinService.get_openid( code=code ) if not user_base: return HttpResponseBadRequest('Verify Failed') openid = user_base.get('openid') access_token = user_base.get('access_token') # save session self.save_token_to_session( openid=openid, access_token=access_token ) # get weixin user sns info readlly_weixin_user = WeixinService.get_weixin_user( openid=openid ) redirect_next_url = self.NEXT_URL_META.get(next_url, REDIRECT_LOGIN_URL) redirect_next_url = redirect_next_url[:redirect_next_url.find('?from=weixin')] if readlly_weixin_user: pinbot_user = readlly_weixin_user.user if pinbot_user.is_active: return redirect('{0}?is_bind=1&weixin_auth=1'.format(redirect_next_url)) return redirect(redirect_next_url)
def send_tpl_msg(cls, openid, tpl_id, data, url, msg_type=1): ret = WeixinService.send_template_message( openid=openid, template_id=tpl_id, data=data, url=url ) weixin_user = WeixinService.get_weixin_user(openid=openid) msg_log = MsgSendLog( weixin_user=weixin_user, msg_type=msg_type, title=data['keyword1']['value'], reco_num=data['keyword2']['value'], display_time=data['keyword3']['value'], url=url, errcode=ret.get('errcode'), errmsg=ret.get('errmsg') ) msg_log.save() return ret