375
+                if (JSWE.wxDownloadVoiceSuccess) {JSWE.wxDownloadVoiceSuccess(res, serverId)}
376
+            }
377
+        })
378
+    }
379
+
257 380
     // 5 图片接口
258
-    // 5.1 拍照、本地选图
259 381
     var images = {
260 382
         localIds: [],
261 383
         serverIds: []
262
-    };
263
-    // function chooseImage(count, directUpload, isShowProgressTips) {
384
+    }
385
+    // 5.1 拍照、本地选图
264 386
     function chooseImage(choose_params) {
265 387
         if ('undefined' === typeof choose_params) choose_params = {}
266 388
         wx.chooseImage({
@@ -268,13 +390,13 @@
268 390
             sizeType: choose_params.sizeType || ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
269 391
             sourceType: choose_params.sourceType || ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
270 392
             success: function (res) {
271
-                images.localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
393
+                images.localIds = res.localIds // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
272 394
                 // 判断是否直接上传
273 395
                 if (choose_params.directUpload) {setTimeout(uploadImages({localIds: images.localIds, isShowProgressTips: choose_params.isShowProgressTips || 1}), 100)}
274 396
                 // 拍照、本地选图成功后的回调函数
275
-                if (JSWE.wxChooseImageSuccess) {JSWE.wxChooseImageSuccess(res)}
397
+                if (JSWE.wxChooseImageSuccess) {JSWE.wxChooseImageSuccess(res, choose_params.extras || {})}
276 398
             }
277
-        });
399
+        })
278 400
     }
279 401
 
280 402
     // 5.2 图片预览
@@ -282,31 +404,59 @@
282 404
         wx.previewImage({
283 405
             current: preview_params.current, // 当前显示图片的链接,不填则默认为 urls 的第一张
284 406
             urls: preview_params.urls // 需要预览的图片链接列表
285
-        });
407
+        })
286 408
     }
287 409
 
288 410
     // 5.3 上传图片
289
-    // function uploadImage(localId, isShowProgressTips) {
290 411
     function uploadImage(upload_params) {
291 412
         // 上传图片为异步处理,重复上传同一图片,返回的serverId也是不同的
413
+        var localId = upload_params.localId
292 414
         wx.uploadImage({
293
-            localId: upload_params.localId, // 需要上传的图片的本地ID,由chooseImage接口获得
415
+            localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得
294 416
             isShowProgressTips: upload_params.isShowProgressTips || 1, // 默认为1,显示进度提示
295 417
             success: function (res) {
296
-                images.serverIds.push(res.serverId); // 返回图片的服务器端ID
418
+                images.serverIds.push(res.serverId) // 返回图片的服务器端ID
297 419
                 // 上传图片成功后的回调函数
298
-                if (JSWE.wxUploadImageSuccess) {JSWE.wxUploadImageSuccess(res)}
420
+                if (JSWE.wxUploadImageSuccess) {JSWE.wxUploadImageSuccess(res, localId)}
299 421
             }
300
-        });
422
+        })
301 423
     }
302 424
 
303
-    // function uploadImages(localIds, isShowProgressTips) {
304 425
     function uploadImages(upload_params) {
305 426
         var localIds = upload_params.localIds, isShowProgressTips = upload_params.isShowProgressTips || 1
306
-        images.serverIds = [];
427
+        images.serverIds = []
307 428
         for (var idx in localIds) {uploadImage({localId: localIds[idx], isShowProgressTips: isShowProgressTips})}
308 429
     }
309 430
 
431
+    // 5.4 下载图片
432
+    function downloadImage(download_params) {
433
+        var serverId = download_params.serverId
434
+        wx.downloadImage({
435
+            serverId: serverId, // 需要下载的图片的服务器端ID,由uploadImage接口获得
436
+            isShowProgressTips: download_params.isShowProgressTips || 1, // 默认为1,显示进度提示
437
+            success: function (res) {
438
+                images.localId.push(res.localId)
439
+                if (JSWE.wxDownloadImageSuccess) {JSWE.wxDownloadImageSuccess(res, serverId)}
440
+            }
441
+        })
442
+    }
443
+
444
+    function downloadImages(download_params) {
445
+        var serverIds = download_params.serverIds, isShowProgressTips = download_params.isShowProgressTips || 1
446
+        images.localIds = []
447
+        for (var idx in serverIds) {downloadImage({serverId: serverIds[idx], isShowProgressTips: isShowProgressTips})}
448
+    }
449
+
450
+    function getLocalImgData(localId) {
451
+        wx.getLocalImgData({
452
+            localId: localId, // 图片的localID
453
+            success: function (res) {
454
+                // var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
455
+                if (JSWE.wxGetLocalImgDataSuccess) {JSWE.wxGetLocalImgDataSuccess(res)}
456
+            }
457
+        })
458
+    }
459
+
310 460
     // 9 微信原生接口
311 461
     // 9.1.1 扫描二维码并返回结果
312 462
     // 9.1.2 扫描二维码并返回结果
@@ -318,7 +468,7 @@
318 468
             success: function (res) {  // 当 needResult 为 1 时,扫码返回的结果
319 469
                 if (JSWE.wxScanQRCodeSuccess) {JSWE.wxScanQRCodeSuccess(res)}
320 470
             }
321
-        });
471
+        })
322 472
     }
323 473
 
324 474
     // QRCode & BarCode is different
@@ -389,12 +539,26 @@
389 539
         changeWxData: changeWxData,
390 540
         fixedWxData: fixedWxData,
391 541
 
542
+        // Voice Function
543
+        voice: voice,
544
+        translateVoice: translateVoice,
545
+        startRecord: startRecord,
546
+        stopRecord: stopRecord,
547
+        playVoice: playVoice,
548
+        pauseVoice: pauseVoice,
549
+        stopVoice: stopVoice,
550
+        uploadVoice: uploadVoice,
551
+        downloadVoice: downloadVoice,
552
+
392 553
         // Image Function
393 554
         images: images,
394 555
         chooseImage: chooseImage,
395 556
         previewImage: previewImage,
396 557
         uploadImage: uploadImage,
397 558
         uploadImages: uploadImages,
559
+        downloadImage: downloadImage,
560
+        downloadImages: downloadImages,
561
+        getLocalImgData: getLocalImgData,
398 562
 
399 563
         // Scan Function
400 564
         scanQRCode: scanQRCode,

+ 1 - 1
photo/templates/photo/photo_detail.html

@@ -47,7 +47,7 @@
47 47
 
48 48
         <script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script>
49 49
         <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
50
-        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.3.js' %}"></script>
50
+        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
51 51
         <script>
52 52
             V.initWxData({
53 53
                 imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",

+ 1 - 1
photo/templates/photo/session_detail.html

@@ -49,7 +49,7 @@
49 49
 
50 50
         <script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script>
51 51
         <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
52
-        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.3.js' %}"></script>
52
+        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
53 53
         <script>
54 54
             V.initWxData({
55 55
                 imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",

pai2 - Gogs: Go Git Service

拍爱

admin.py 1.9KB

    # -*- coding: utf-8 -*- from django.contrib import admin from group.models import (GroupInfo, GroupPhotoInfo, GroupPhotoOrderInfo, GroupUserInfo, PhotoCommentInfo, PhotoThumbUpInfo) class GroupInfoAdmin(admin.ModelAdmin): list_display = ('group_id', 'admin_id', 'group_name', 'group_desc', 'group_from', 'session_id', 'group_lock', 'status', 'created_at', 'updated_at') list_filter = ('group_from', 'group_lock', 'status') class GroupUserInfoAdmin(admin.ModelAdmin): list_display = ('group_id', 'user_id', 'current_id', 'nickname', 'admin', 'subadmin', 'admin_status', 'user_status', 'passed_at', 'refused_at', 'status', 'created_at', 'updated_at') list_filter = ('admin', 'subadmin', 'user_status', 'admin_status', 'status') class GroupPhotoInfoAdmin(admin.ModelAdmin): list_display = ('photo_id', 'group_id', 'user_id', 'nickname', 'photo_path', 'has_watermark', 'photo_thumbnail_path', 'photo_thumbnail2_path', 'status', 'created_at', 'updated_at') list_filter = ('has_watermark', 'photo_from', 'status') class GroupPhotoOrderInfoAdmin(admin.ModelAdmin): list_display = ('group_id', 'user_id', 'photo_id', 'm_photo_path', 'l_photo_path', 'r_photo_path', 'status', 'created_at', 'updated_at') class PhotoCommentInfoAdmin(admin.ModelAdmin): list_display = ('photo_id', 'user_id', 'nickname', 'to_uid', 'comment', 'status', 'created_at', 'updated_at') list_filter = ('status', ) class PhotoThumbUpInfoAdmin(admin.ModelAdmin): list_display = ('photo_id', 'user_id', 'nickname', 'thumbup', 'status', 'created_at', 'updated_at') list_filter = ('thumbup', 'status') admin.site.register(GroupInfo, GroupInfoAdmin) admin.site.register(GroupUserInfo, GroupUserInfoAdmin) admin.site.register(GroupPhotoInfo, GroupPhotoInfoAdmin) admin.site.register(GroupPhotoOrderInfo, GroupPhotoOrderInfoAdmin) admin.site.register(PhotoCommentInfo, PhotoCommentInfoAdmin) admin.site.register(PhotoThumbUpInfo, PhotoThumbUpInfoAdmin)