@@ -5,7 +5,7 @@ from django_file_upload import views as file_views  | 
            ||
| 5 | 5 | 
                 | 
            
| 6 | 6 | 
                from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, express_views, log_views,  | 
            
| 7 | 7 | 
                maintenance_point_views, maintenance_views, mch_views, member_views, model_views, operator_views,  | 
            
| 8 | 
                - refresh_views, sr_views, staff_views, wx_views)  | 
            |
| 8 | 
                + refresh_views, sr_views, staff_views, wx_views, wxa_views)  | 
            |
| 9 | 9 | 
                from miniapp import qy_views  | 
            
| 10 | 10 | 
                from miniapp import views as mini_views  | 
            
| 11 | 11 | 
                from page import oauth_views, sale_views, screen_views  | 
            
                @@ -274,6 +274,7 @@ urlpatterns += [  | 
            ||
| 274 | 274 | 
                 | 
            
| 275 | 275 | 
                urlpatterns += [  | 
            
| 276 | 276 | 
                url(r'^get_limit_scene_qrcode_url$', wx_views.get_limit_scene_qrcode_url, name='get_limit_scene_qrcode_url'),  | 
            
| 277 | 
                + url(r'^get_wxa_code$', wxa_views.get_wxa_code, name='get_wxa_code'),  | 
            |
| 277 | 278 | 
                ]  | 
            
| 278 | 279 | 
                 | 
            
| 279 | 280 | 
                urlpatterns += [  | 
            
                @@ -0,0 +1,33 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.conf import settings  | 
            |
| 4 | 
                +from django_response import response  | 
            |
| 5 | 
                +from pywe_storage import RedisStorage  | 
            |
| 6 | 
                +from pywe_wxa_qrcode import get_wxa_code_unlimit  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +from utils.qiniucdn import qiniu_file_url, upload  | 
            |
| 9 | 
                +from utils.redis.connect import r  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +WECHAT = settings.WECHAT  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +def get_wxa_code(request):  | 
            |
| 16 | 
                +    scene = request.POST.get('scene', '')
               | 
            |
| 17 | 
                +    page = request.POST.get('page', '')
               | 
            |
| 18 | 
                +  | 
            |
| 19 | 
                +    wxcfg = WECHAT.get('MINIAPP', {})
               | 
            |
| 20 | 
                +  | 
            |
| 21 | 
                +    appid = wxcfg.get('appID')
               | 
            |
| 22 | 
                +    secret = wxcfg.get('appsecret')
               | 
            |
| 23 | 
                +  | 
            |
| 24 | 
                + res = get_wxa_code_unlimit(scene, page, res_to_base64=False, appid=appid, secret=secret, storage=RedisStorage(r))  | 
            |
| 25 | 
                +  | 
            |
| 26 | 
                +    if res.headers and res.headers.get('Content-disposition'):
               | 
            |
| 27 | 
                + qiniu_url = qiniu_file_url(upload(res.content))  | 
            |
| 28 | 
                + else:  | 
            |
| 29 | 
                + qiniu_url = ''  | 
            |
| 30 | 
                +  | 
            |
| 31 | 
                +    return response(data={
               | 
            |
| 32 | 
                + 'qiniu_url': qiniu_url,  | 
            |
| 33 | 
                + })  | 
            
                @@ -20,4 +20,5 @@ pywe-sign==1.1.0  | 
            ||
| 20 | 20 | 
                pywe-storage==1.0.1  | 
            
| 21 | 21 | 
                pywe-user==1.0.4  | 
            
| 22 | 22 | 
                pywe-wxa-cv==1.0.0  | 
            
| 23 | 
                +pywe-wxa-qrcode==1.0.3  | 
            |
| 23 | 24 | 
                pywe-xml==1.0.6  |