es-num-old">
207
208
|
fail: function (res) {
|
208
|
209
|
if (JSWE.wxShowMenuItemsFail) {JSWE.wxShowMenuItemsFail(res)}
|
209
|
210
|
}
|
210
|
|
- });
|
|
211
|
+ })
|
211
|
212
|
}
|
212
|
213
|
// 8.5 隐藏所有非基本菜单项
|
213
|
214
|
// 8.6 显示所有被隐藏的非基本菜单项
|
|
|
@@ -216,9 +217,24 @@
|
216
|
217
|
}
|
217
|
218
|
// 8.7 关闭当前窗口
|
218
|
219
|
if (wxConfig.close) {wx.closeWindow()}
|
|
220
|
+ }, wxVoiceApi = function() {
|
|
221
|
+ // 4.3 监听录音自动停止
|
|
222
|
+ wx.onVoiceRecordEnd({
|
|
223
|
+ complete: function (res) {
|
|
224
|
+ voice.localId = res.localId
|
|
225
|
+ if (JSWE.wxVoiceRecordEnd) {JSWE.wxVoiceRecordEnd(res)}
|
|
226
|
+ }
|
|
227
|
+ })
|
|
228
|
+ // 4.7 监听录音播放停止
|
|
229
|
+ wx.onVoicePlayEnd({
|
|
230
|
+ complete: function (res) {
|
|
231
|
+ if (JSWE.wxVoicePlayEnd) {JSWE.wxVoicePlayEnd(res)}
|
|
232
|
+ }
|
|
233
|
+ })
|
219
|
234
|
}, wxApi = function () {
|
220
|
235
|
wxShareApi()
|
221
|
236
|
wxMenuApi()
|
|
237
|
+ wxVoiceApi()
|
222
|
238
|
}
|
223
|
239
|
|
224
|
240
|
wx.ready(wxApi)
|
|
|
@@ -254,13 +270,119 @@
|
254
|
270
|
if ('undefined' !== typeof wxApiFun) wxApiFun()
|
255
|
271
|
}
|
256
|
272
|
|
|
273
|
+ // 3 智能接口
|
|
274
|
+ var voice = {
|
|
275
|
+ localId: '',
|
|
276
|
+ serverId: ''
|
|
277
|
+ }
|
|
278
|
+ // 3.1 识别音频并返回识别结果
|
|
279
|
+ function translateVoice() {
|
|
280
|
+ if (voice.localId == '') {
|
|
281
|
+ if (JSWE.wxTranslateVoiceEmpty) {JSWE.wxTranslateVoiceEmpty()}
|
|
282
|
+ return
|
|
283
|
+ }
|
|
284
|
+ wx.translateVoice({
|
|
285
|
+ localId: voice.localId,
|
|
286
|
+ complete: function (res) {
|
|
287
|
+ if (JSWE.wxTranslateVoiceComplete) {JSWE.wxTranslateVoiceComplete(res)}
|
|
288
|
+ }
|
|
289
|
+ })
|
|
290
|
+ }
|
|
291
|
+
|
|
292
|
+ // 4 音频接口
|
|
293
|
+ // 4.1 开始录音
|
|
294
|
+ function startRecord() {
|
|
295
|
+ wx.startRecord({
|
|
296
|
+ cancel: function () {
|
|
297
|
+ if (JSWE.wxStartRecordCancel) {JSWE.wxStartRecordCancel(res)}
|
|
298
|
+ }
|
|
299
|
+ })
|
|
300
|
+ }
|
|
301
|
+
|
|
302
|
+ // 4.2 停止录音
|
|
303
|
+ function stopRecord() {
|
|
304
|
+ wx.stopRecord({
|
|
305
|
+ success: function (res) {
|
|
306
|
+ voice.localId = res.localId
|
|
307
|
+ if (JSWE.wxStopRecordSuccess) {JSWE.wxStopRecordSuccess(res)}
|
|
308
|
+ },
|
|
309
|
+ fail: function (res) {
|
|
310
|
+ if (JSWE.wxStopRecordFail) {JSWE.wxStopRecordFail(res)}
|
|
311
|
+ }
|
|
312
|
+ })
|
|
313
|
+ }
|
|
314
|
+
|
|
315
|
+ // 4.4 播放音频
|
|
316
|
+ function playVoice() {
|
|
317
|
+ if (voice.localId == '') {
|
|
318
|
+ if (JSWE.wxPlayVoiceEmpty) {JSWE.wxPlayVoiceEmpty()}
|
|
319
|
+ return
|
|
320
|
+ }
|
|
321
|
+ wx.playVoice({
|
|
322
|
+ localId: voice.localId
|
|
323
|
+ })
|
|
324
|
+ }
|
|
325
|
+
|
|
326
|
+ // 4.5 暂停播放音频
|
|
327
|
+ function pauseVoice() {
|
|
328
|
+ if (voice.localId == '') {
|
|
329
|
+ if (JSWE.wxPauseVoiceEmpty) {JSWE.wxPauseVoiceEmpty()}
|
|
330
|
+ return
|
|
331
|
+ }
|
|
332
|
+ wx.pauseVoice({
|
|
333
|
+ localId: voice.localId
|
|
334
|
+ })
|
|
335
|
+ }
|
|
336
|
+
|
|
337
|
+ // 4.6 停止播放音频
|
|
338
|
+ function stopVoice() {
|
|
339
|
+ if (voice.localId == '') {
|
|
340
|
+ if (JSWE.wxStopVoiceEmpty) {JSWE.wxStopVoiceEmpty()}
|
|
341
|
+ return
|
|
342
|
+ }
|
|
343
|
+ wx.stopVoice({
|
|
344
|
+ localId: voice.localId
|
|
345
|
+ })
|
|
346
|
+ }
|
|
347
|
+
|
|
348
|
+ // 4.8 上传语音
|
|
349
|
+ function uploadVoice() {
|
|
350
|
+ var localId = voice.localId
|
|
351
|
+ if (localId == '') {
|
|
352
|
+ if (JSWE.wxUploadVoiceEmpty) {JSWE.wxUploadVoiceEmpty()}
|
|
353
|
+ return
|
|
354
|
+ }
|
|
355
|
+ wx.uploadVoice({
|
|
356
|
+ localId: localId,
|
|
357
|
+ success: function (res) {
|
|
358
|
+ voice.serverId = res.serverId
|
|
359
|
+ if (JSWE.wxUploadVoiceSuccess) {JSWE.wxUploadVoiceSuccess(res, localId)}
|
|
360
|
+ }
|
|
361
|
+ })
|
|
362
|
+ }
|
|
363
|
+
|
|
364
|
+ // 4.9 下载语音
|
|
365
|
+ function downloadVoice() {
|
|
366
|
+ var serverId = voice.serverId
|
|
367
|
+ if (serverId == '') {
|
|
368
|
+ if (JSWE.wxDownloadVoiceEmpty) {JSWE.wxDownloadVoiceEmpty()}
|
|
369
|
+ return
|
|
370
|
+ }
|
|
371
|
+ wx.downloadVoice({
|
|
372
|
+ serverId: serverId,
|
|
373
|
+ success: function (res) {
|
|
374
|
+ voice.localId = res.localId
|
|
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,
|
|
|
@@ -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",
|
|
|
@@ -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",
|