No Description

oauth_settings.py 4.4KB

    # -*- coding: utf-8 -*- import logging from django.conf import settings logger = logging.getLogger('logit') def DJANGO_WE_CFG_FUNC(request, state=None): """ WeChat CFG Callback Func """ if state in ['component_auth', 'component_callback', 'component_preauth_callback']: return settings.WECHAT.get('COMPONENT') def DJANGO_WE_QUOTE_STATE_FUNC(request, state): """ WeChat Quote Callback Func """ from utils.redis.connect import r return r.quote(state, short_uuid=True) def DJANGO_WE_UNQUOTE_STATE_FUNC(request, state): """ WeChat UnQuote Callback Func """ from utils.redis.connect import r return r.unquote(state, buf=True) def DJANGO_WE_BASE_FUNC(code, state, access_info=None): """ WeChat Base Redirect Callback Func """ def DJANGO_WE_USERINFO_FUNC(code, state, access_info=None, userinfo=None): """ WeChat Userinfo Redirect Callback Func """ def DJANGO_WE_SHARE_FUNC(request, state=None): """ WeChat Share Callback Func """ def DJANGO_WE_MESSAGE_CALLBACK_FUNC(request, data, decrypted=None): """ WeChat Message Callback Func """ def DJANGO_WE_COMPONENT_CALLBACK_FUNC(request, appid, data, decrypted=None): """ WeChat Component Message Callback Func """ from account.models import UserInfo from utils.redis.connect import r from utils.redis.rkeys import SUBSCRIBE_USERINFO_LIST logger.info(appid) logger.info(data) logger.info(decrypted) event = decrypted.get('Event', '') tousername = decrypted.get('ToUserName', '') openid = fromusername = decrypted.get('FromUserName', '') unionid = decrypted.get('UnionId', '') membercardid = decrypted.get('CardId', '') memberusercardcode = decrypted.get('UserCardCode', '') # 富士 if tousername == 'gh_0cbd39fdde28': if event == 'user_get_card': UserInfo.objects.using('fujifilm').filter(unionid=unionid).update(openid=openid, has_membercard=True, membercardid=membercardid, memberusercardcode=memberusercardcode) elif event == 'user_del_card': UserInfo.objects.using('fujifilm').filter(memberusercardcode=memberusercardcode).update(has_membercard=False) elif event == 'subscribe' or event == 'unsubscribe': brand_id = settings.COMPONENT_CALLBACK_CONFIG[tousername] r.rpushjson(SUBSCRIBE_USERINFO_LIST % brand_id, { 'brand_id': brand_id, 'openid': openid, }) # WINE if tousername == 'gh_2e5f21d2a57d': if event == 'user_get_card': UserInfo.objects.using('wine').filter(unionid=unionid).update(openid=openid, has_membercard=True, membercardid=membercardid, memberusercardcode=memberusercardcode) elif event == 'user_del_card': UserInfo.objects.using('wine').filter(memberusercardcode=memberusercardcode).update(has_membercard=False) elif event == 'subscribe' or event == 'unsubscribe': brand_id = settings.COMPONENT_CALLBACK_CONFIG[tousername] r.rpushjson(SUBSCRIBE_USERINFO_LIST % brand_id, { 'brand_id': brand_id, 'openid': openid, }) # 腾龙 if event == 'user_get_card': UserInfo.objects.filter(unionid=unionid).update(openid=openid, has_membercard=True, membercardid=membercardid, memberusercardcode=memberusercardcode) elif event == 'user_del_card': UserInfo.objects.filter(memberusercardcode=memberusercardcode).update(has_membercard=False) def DJANGO_WE_REDIS_OBJ_FUNC(request): """ WeChat Redis Object Callback Func """ from utils.redis.connect import r return r def DJANGO_FILE_UPLOAD_CALLBACK_FUNC(request, file_path=None, file_url=None): """ DJANGO FILE UPLOAD Callback Func """ from logs.models import MchLogInfo file_type = request.POST.get('file_type', '') if file_type == 'logfile': optor_id = request.POST.get('optor_id', '') version = request.POST.get('version', 0) MchLogInfo.objects.create( log_file=file_path, operator_id=optor_id, app_version=version, ) zbar = int(request.POST.get('zbar', 0)) if zbar: import os from utils.zbar.zbar import zbar file_path = os.path.join(settings.MEDIA_ROOT, file_path) zbars = zbar(file_path) for i in range(len(zbars)): zbars[i] = zbars[i].strip() return { 'zbars': zbars, }