Update jswe.js

Brightcells 7 年之前
父节点
当前提交
cc2bdc34ea

+ 1 - 1
page/templates/page/lensman_oauth.html

@@ -185,7 +185,7 @@
185 185
             {% endif %}
186 186
         </script>
187 187
         <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
188
-        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
188
+        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.js' %}"></script>
189 189
         <script>
190 190
             V.initWxData({
191 191
                 imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",

+ 1 - 1
page/templates/page/login_qrcode.html

@@ -47,7 +47,7 @@
47 47
             });
48 48
         </script>
49 49
         <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
50
-        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
50
+        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.js' %}"></script>
51 51
         <script>
52 52
             V.initWxData({
53 53
                 imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",

+ 1 - 1
page/templates/page/tourguide_oauth.html

@@ -152,7 +152,7 @@
152 152
 
153 153
         <script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script>
154 154
         <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
155
-        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
155
+        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.js' %}"></script>
156 156
         <script>
157 157
             {% if modified %}
158 158
             $(function() {

+ 108 - 20
pai2/static/pai2/js/jswe-0.0.1.js

@@ -11,13 +11,17 @@
11 11
         timeLine: ''
12 12
     }, wxConfig = {
13 13
         hide: false,
14
-        close: false
14
+        baseHide: false,
15
+        close: false,
16
+        hideMenuItems: [],
17
+        showMenuItems: []
15 18
     }, jsApiList = [
16 19
         'checkJsApi',
17 20
         'onMenuShareTimeline',
18 21
         'onMenuShareAppMessage',
19 22
         'onMenuShareQQ',
20 23
         'onMenuShareWeibo',
24
+        'onMenuShareQZone',
21 25
         'hideMenuItems',
22 26
         'showMenuItems',
23 27
         'hideAllNonBaseMenuItem',
@@ -82,6 +86,26 @@
82 86
         fixedWxData()
83 87
     }
84 88
 
89
+    function hideMenuItems(items) {
90
+        wxConfig.hideMenuItems = items
91
+        fixedWxData()
92
+    }
93
+
94
+    function showMenuItems(items) {
95
+        wxConfig.showMenuItems = items
96
+        fixedWxData()
97
+    }
98
+
99
+    function hideAllNonBaseMenuItem() {
100
+        wxConfig.baseHide = true
101
+        fixedWxData()
102
+    }
103
+
104
+    function showAllNonBaseMenuItem() {
105
+        wxConfig.baseHide = false
106
+        fixedWxData()
107
+    }
108
+
85 109
     function closeWindow() {
86 110
         wxConfig.close = true
87 111
         fixedWxData()
@@ -137,11 +161,40 @@
137 161
             wx.onMenuShareQQ(shareInfo(1))
138 162
             // 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口
139 163
             wx.onMenuShareWeibo(shareInfo(1))
164
+            // 2.5 监听“分享到QQ空间”按钮点击、自定义分享内容及分享结果接口
165
+            wx.onMenuShareQZone(shareInfo(1))
140 166
         }, wxMenuApi = function () {
141 167
             // 8. 界面操作接口
142 168
             // 8.1 隐藏右上角菜单
143 169
             // 8.2 显示右上角菜单
144 170
             if (wxConfig.hide) {wx.hideOptionMenu()} else {wx.showOptionMenu()}
171
+            // 8.3 批量隐藏菜单项
172
+            if (wxConfig.hideMenuItems) {
173
+                wx.hideMenuItems({
174
+                    menuList: wxConfig.hideMenuItems,
175
+                    success: function (res) {
176
+                        if (JSWE.wxHideMenuItemsSuccess) {JSWE.wxHideMenuItemsSuccess(res)}
177
+                    },
178
+                    fail: function (res) {
179
+                        if (JSWE.wxHideMenuItemsFail) {JSWE.wxHideMenuItemsFail(res)}
180
+                    }
181
+                });
182
+            }
183
+            // 8.4 批量显示菜单项
184
+            if (wxConfig.showMenuItems) {
185
+                wx.showMenuItems({
186
+                    menuList: wxConfig.showMenuItems,
187
+                    success: function (res) {
188
+                        if (JSWE.wxShowMenuItemsSuccess) {JSWE.wxShowMenuItemsSuccess(res)}
189
+                    },
190
+                    fail: function (res) {
191
+                        if (JSWE.wxShowMenuItemsFail) {JSWE.wxShowMenuItemsFail(res)}
192
+                    }
193
+                });
194
+            }
195
+            // 8.5 隐藏所有非基本菜单项
196
+            // 8.6 显示所有被隐藏的非基本菜单项
197
+            if (wxConfig.baseHide) {wx.hideAllNonBaseMenuItem()} else {wx.showAllNonBaseMenuItem()}
145 198
             // 8.7 关闭当前窗口
146 199
             if (wxConfig.close) {wx.closeWindow()}
147 200
         }, wxApi = function () {
@@ -188,45 +241,71 @@
188 241
         localIds: [],
189 242
         serverIds: []
190 243
     };
191
-    function chooseImage(count, directUpload, isShowProgressTips) {
192
-        if ('undefined' === typeof count) {count = 9}
193
-        if ('undefined' === typeof directUpload) {directUpload = false}
194
-        if ('undefined' === typeof isShowProgressTips) {isShowProgressTips = 1}
244
+    // function chooseImage(count, directUpload, isShowProgressTips) {
245
+    function chooseImage(choose_params) {
246
+        if ('undefined' === typeof choose_params) choose_params = {}
195 247
         wx.chooseImage({
196
-            count: count, // 默认9
197
-            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
198
-            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
248
+            count: choose_params.count || 9, // 默认9
249
+            sizeType: choose_params.sizeType || ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
250
+            sourceType: choose_params.sourceType || ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
199 251
             success: function (res) {
200
-                var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
201
-                images.localIds = localIds;
252
+                images.localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
202 253
                 // 判断是否直接上传
203
-                if (directUpload) {setTimeout(uploadImages(localIds, isShowProgressTips), 100)}
254
+                if (choose_params.directUpload) {setTimeout(uploadImages({localIds: images.localIds, isShowProgressTips: choose_params.isShowProgressTips || 1}), 100)}
204 255
                 // 拍照、本地选图成功后的回调函数
205 256
                 if (JSWE.wxChooseImageSuccess) {JSWE.wxChooseImageSuccess(res)}
206 257
             }
207 258
         });
208 259
     }
209 260
 
261
+    // 5.2 图片预览
262
+    function previewImage(preview_params) {
263
+        wx.previewImage({
264
+            current: preview_params.current, // 当前显示图片的链接,不填则默认为 urls 的第一张
265
+            urls: preview_params.urls // 需要预览的图片链接列表
266
+        });
267
+    }
268
+
210 269
     // 5.3 上传图片
211
-    function uploadImage(localId, isShowProgressTips) {
270
+    // function uploadImage(localId, isShowProgressTips) {
271
+    function uploadImage(upload_params) {
212 272
         // 上传图片为异步处理,重复上传同一图片,返回的serverId也是不同的
213 273
         wx.uploadImage({
214
-            localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得
215
-            isShowProgressTips: 1, // 默认为1,显示进度提示
274
+            localId: upload_params.localId, // 需要上传的图片的本地ID,由chooseImage接口获得
275
+            isShowProgressTips: upload_params.isShowProgressTips || 1, // 默认为1,显示进度提示
216 276
             success: function (res) {
217
-                var serverId = res.serverId; // 返回图片的服务器端ID
218
-                images.serverIds.push(serverId);
277
+                images.serverIds.push(res.serverId); // 返回图片的服务器端ID
219 278
                 // 上传图片成功后的回调函数
220 279
                 if (JSWE.wxUploadImageSuccess) {JSWE.wxUploadImageSuccess(res)}
221 280
             }
222 281
         });
223 282
     }
224 283
 
225
-    function uploadImages(localIds, isShowProgressTips) {
226
-        if ('undefined' === typeof localIds) {localIds = images.localIds}
227
-        if ('undefined' === typeof isShowProgressTips) {isShowProgressTips = 1}
284
+    // function uploadImages(localIds, isShowProgressTips) {
285
+    function uploadImages(upload_params) {
286
+        var localIds = upload_params.localIds, isShowProgressTips = upload_params.isShowProgressTips || 1
228 287
         images.serverIds = [];
229
-        for (var index in localIds) {uploadImage(localIds[index], isShowProgressTips)}
288
+        for (var idx in localIds) {uploadImage({localId: localIds[idx], isShowProgressTips: isShowProgressTips})}
289
+    }
290
+
291
+    // 9 微信原生接口
292
+    // 9.1.1 扫描二维码并返回结果
293
+    // 9.1.2 扫描二维码并返回结果
294
+    function scanQRCode(scan_params) {
295
+        if ('undefined' === typeof scan_params) scan_params = {}
296
+        wx.scanQRCode({
297
+            needResult: scan_params.needResult || 0,  // 默认为0,0扫描结果由微信处理,1直接返回扫描结果
298
+            scanType: scan_params.scanType || ['qrCode', 'barCode'],  // 可以指定扫二维码还是一维码,默认二者都有
299
+            success: function (res) {  // 当 needResult 为 1 时,扫码返回的结果
300
+                if (JSWE.wxScanQRCodeSuccess) {JSWE.wxScanQRCodeSuccess(res)}
301
+            }
302
+        });
303
+    }
304
+
305
+    // QRCode & BarCode is different
306
+    function parseScanQRCodeResultStr(resultStr) {
307
+        var strs = resultStr.split(',')
308
+        return strs[strs.length - 1]
230 309
     }
231 310
 
232 311
     // 10 微信支付接口
@@ -277,6 +356,10 @@
277 356
         // Menu Function
278 357
         hideOptionMenu: hideOptionMenu,
279 358
         showOptionMenu: showOptionMenu,
359
+        hideMenuItems: hideMenuItems,
360
+        showMenuItems: showMenuItems,
361
+        hideAllNonBaseMenuItem: hideAllNonBaseMenuItem,
362
+        showAllNonBaseMenuItem: showAllNonBaseMenuItem,
280 363
         closeWindow: closeWindow,
281 364
 
282 365
         // Share Function
@@ -287,9 +370,14 @@
287 370
         // Image Function
288 371
         images: images,
289 372
         chooseImage: chooseImage,
373
+        previewImage: previewImage,
290 374
         uploadImage: uploadImage,
291 375
         uploadImages: uploadImages,
292 376
 
377
+        // Scan Function
378
+        scanQRCode: scanQRCode,
379
+        parseScanQRCodeResultStr: parseScanQRCodeResultStr,
380
+
293 381
         // Pay Function
294 382
         chooseWXPay: chooseWXPay,
295 383
 

+ 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.0.0.js"></script>
50
-        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
50
+        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.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.0.0.js"></script>
52
-        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
52
+        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.js' %}"></script>
53 53
         <script>
54 54
             V.initWxData({
55 55
                 imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",