
用Vue+H5+写app 有Demo ui很好看 超级好调试 支持es678

分享几套我收集的MUI网站模板
mui框架的服装包包手机商城模板
http://www.sucaihuo.com/templates/4490.html
mui框架的移动端app下载界面模板
http://www.sucaihuo.com/templates/4367.html
mui租房app模板
http://www.sucaihuo.com/templates/3300.html
手机app前端开发MUI框架模板
http://www.sucaihuo.com/templates/3694.html
mui框架手机报考驾校预约wap网站模板
http://www.sucaihuo.com/templates/2139.html
mui框架的服装包包手机商城模板
http://www.sucaihuo.com/templates/4490.html
mui框架的移动端app下载界面模板
http://www.sucaihuo.com/templates/4367.html
mui租房app模板
http://www.sucaihuo.com/templates/3300.html
手机app前端开发MUI框架模板
http://www.sucaihuo.com/templates/3694.html
mui框架手机报考驾校预约wap网站模板
http://www.sucaihuo.com/templates/2139.html

mui 列表项左右滑删除功能升级(仿微信左滑 点击删除后出现确认删除)
mui 列表项左右滑删除功能升级(仿微信左滑 点击删除后出现确认删除)
mui 列表项左右滑删除功能升级(仿微信左滑 点击删除后出现确认删除)

wap2app扫一扫功能兼容性问题
hbuilder版 本:HBuilder 9.0.8.201806081953
所用代码为官方DEOM案例(如下所示):
index.html页面
<div>
<button id="btn">扫一扫</button>
</div>
<br><br><br>
<div>
<button id="pay">支付宝支付</button>
</div>
<script>
document.getElementById("btn").addEventListener("click", function() {
if(navigator.userAgent.indexOf("Html5Plus") > -1) {
var w = plus.webview.create('B.html', 'carcode1', {
'titleNView': {
'backgroundColor': '#262930',
'titleText': '扫一扫',
'titleColor': '#FFFFFF',
autoBackButton: false
}
});
plus.webview.show(w, 'slide-in-right', '300ms');
} else {
alert('请在APP中扫码');
}
});
</script>
B.html代码如下
<script type="text/javascript">
var scan;
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
setTimeout(function(){
scan = new plus.barcode.Barcode('mask');
scan.start();
scan.onmarked = function(type, result) {
if(result) {
scan.close();
mui.openWindow({
url: 'http://www.baidu.com',
id: 'info',
extras:{
result:result
}
});
}
};
},1000);
//处理返回事件
plus.key.addEventListener('backbutton', function() {
plus.webview.currentWebview().close();
//mui.back();
})
}
</script>
以上代码在真机测试时非常好,正式打包后偶尔会有一次能成功,华为多种型号手机在扫码后闪退。
opp手机扫码后也闪退。
hbuilder版 本:HBuilder 9.0.8.201806081953
所用代码为官方DEOM案例(如下所示):
index.html页面
<div>
<button id="btn">扫一扫</button>
</div>
<br><br><br>
<div>
<button id="pay">支付宝支付</button>
</div>
<script>
document.getElementById("btn").addEventListener("click", function() {
if(navigator.userAgent.indexOf("Html5Plus") > -1) {
var w = plus.webview.create('B.html', 'carcode1', {
'titleNView': {
'backgroundColor': '#262930',
'titleText': '扫一扫',
'titleColor': '#FFFFFF',
autoBackButton: false
}
});
plus.webview.show(w, 'slide-in-right', '300ms');
} else {
alert('请在APP中扫码');
}
});
</script>
B.html代码如下
<script type="text/javascript">
var scan;
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
setTimeout(function(){
scan = new plus.barcode.Barcode('mask');
scan.start();
scan.onmarked = function(type, result) {
if(result) {
scan.close();
mui.openWindow({
url: 'http://www.baidu.com',
id: 'info',
extras:{
result:result
}
});
}
};
},1000);
//处理返回事件
plus.key.addEventListener('backbutton', function() {
plus.webview.currentWebview().close();
//mui.back();
})
}
</script>
以上代码在真机测试时非常好,正式打包后偶尔会有一次能成功,华为多种型号手机在扫码后闪退。
opp手机扫码后也闪退。

解决Hbuilder出现 Uncaught ReferenceError: mui is not defined 错误的解决经验分享!!!
1、Uncaught ReferenceError: mui is not defined 问题的产生:
上午完成好的项目,手机联机测试都没问题,中午吃过饭来云端打包发布,发布后,程序App的登录页面就开始出现问题了,点击按钮没反应,而且发现登录页面的样式也丢失了,好奇怪,不知道什么原因,然后连接手机进行真机调试,发现控制台输出了:Uncaught ReferenceError: mui is not defined 这个错误,真是活见鬼了,没打包发布前好好的,发布打包后,就出现这个奇怪的错误。
2、寻求问题的解决方案:
1)粘贴错误到度娘里面,发现有不少前辈也遇到这个问题,看了一下,多数提到的因为 mui.js的路径出现错误。然后就开始调整App项目里面的
mui.js的路径,从 <script src="../js/mui.min.js"></script>
调整为 <script src="js/mui.min.js"></script>
,再调整为 <script src="../../js/mui.min.js"></script>
,同时把 mui.init(); 放到页面的最底部,然并卵,发现根本不解决问题,到底什么原因呢?
2)既然有前辈提到是路径,然后经过修改调整路径,发现根本解决不了,干着急,没办法。经过回想,是不是发布的时候,出现了错误呢?
目前的在发布项目已经出现了问题,要不要新建个项目,再尝试一次发布???说干就干,重新创建了App项目,把已经完成的项目里面使用到的必须文件粘贴过来,链接手机调试,发现又ok了,真是活见鬼了,竟然又好了,基本上可以确定一定是打包的时候出现了问题。
3、终极解决方案:
前面提到新建项目,真机联机测试,发现没有问题,这次特意留心下打包发布时的选项,选中要发布的项目,云端打包发布,
注意,注意,一定要看清楚说明再勾选【加入unpackage配置清单】,需要的App资源,例如图片,js,千万是不能勾选忽略必要的资源文件的,然后正常打包,真机安装发布后的App,一切ok,问题完美解决。
附件里面附带了解释说明。
预祝各位,开发App永远没bug,工作顺利,谢谢各位捧场!!!!
1、Uncaught ReferenceError: mui is not defined 问题的产生:
上午完成好的项目,手机联机测试都没问题,中午吃过饭来云端打包发布,发布后,程序App的登录页面就开始出现问题了,点击按钮没反应,而且发现登录页面的样式也丢失了,好奇怪,不知道什么原因,然后连接手机进行真机调试,发现控制台输出了:Uncaught ReferenceError: mui is not defined 这个错误,真是活见鬼了,没打包发布前好好的,发布打包后,就出现这个奇怪的错误。
2、寻求问题的解决方案:
1)粘贴错误到度娘里面,发现有不少前辈也遇到这个问题,看了一下,多数提到的因为 mui.js的路径出现错误。然后就开始调整App项目里面的
mui.js的路径,从 <script src="../js/mui.min.js"></script>
调整为 <script src="js/mui.min.js"></script>
,再调整为 <script src="../../js/mui.min.js"></script>
,同时把 mui.init(); 放到页面的最底部,然并卵,发现根本不解决问题,到底什么原因呢?
2)既然有前辈提到是路径,然后经过修改调整路径,发现根本解决不了,干着急,没办法。经过回想,是不是发布的时候,出现了错误呢?
目前的在发布项目已经出现了问题,要不要新建个项目,再尝试一次发布???说干就干,重新创建了App项目,把已经完成的项目里面使用到的必须文件粘贴过来,链接手机调试,发现又ok了,真是活见鬼了,竟然又好了,基本上可以确定一定是打包的时候出现了问题。
3、终极解决方案:
前面提到新建项目,真机联机测试,发现没有问题,这次特意留心下打包发布时的选项,选中要发布的项目,云端打包发布,
注意,注意,一定要看清楚说明再勾选【加入unpackage配置清单】,需要的App资源,例如图片,js,千万是不能勾选忽略必要的资源文件的,然后正常打包,真机安装发布后的App,一切ok,问题完美解决。
附件里面附带了解释说明。
预祝各位,开发App永远没bug,工作顺利,谢谢各位捧场!!!!
收起阅读 »
周报(20180608):实名认证
热门话题
- DCloud 开发者实名认证流程:推行 appid 唯一化和 App 所有者实名化是 DCloud 目前需要处理的问题,这会影响到目前以及待上线的一系列云端服务,因此需要广大开发者配合完成。
- 广告误开原因汇总及解决办法:DCloud 不会强制开通广告,如果应用中出现了非预期的广告信息,请按照此文章中的说明进行确认以及后续的操作。
iOS
- iOS 11.3 对定位权限进行了合并,使用定位需要新增一个声明:详细的声明方法以及注意事项,请参考文章中的说明。
问题清单
- Android 二维码打包后闪退:近期依旧有许多小伙伴遇到此问题,解决办法就是打包时候勾选 android.permission.VIBRATE 权限。
- 二维码扫描位置偏移:需要稍加延迟,再进行二维码的初始化。
- 在线打包的app提交不了google play,因android:targetSdkVersion级别低:目前 5+ 仅在 Android21 版本上做过完整的兼容测试,还不能保证完全兼容 Androi26 版本。目前需要通过本地(离线)打包修改配置来解决。
- 什么时候Andrioid的splash可以支持.9.png文件呀?:云端打包已支持,参考最佳回复的说明进行操作。
- ios11在应用内访问url的时候闪退,每次都闪退:页面过大,可能会引发 Webview 内核异常,需按照回复中的说明处理。
分享
- uniapp实例,电影3.1版,有兴趣的拿去学习吧
- 一个vue多页面的脚手架可以使用es6,es7,可以使用vux,vant,mint
- 使用javascript获取安全区信息
- 如何正确高效地在社区提问:学会提问,才能更好地获得他人的帮助。
最后
本周的报告就是这些,希望能对大家有所帮助。同时,也希望更多的小伙伴在社区分享自己的经验心得,交流学习。
祝大家周末愉快。
热门话题
- DCloud 开发者实名认证流程:推行 appid 唯一化和 App 所有者实名化是 DCloud 目前需要处理的问题,这会影响到目前以及待上线的一系列云端服务,因此需要广大开发者配合完成。
- 广告误开原因汇总及解决办法:DCloud 不会强制开通广告,如果应用中出现了非预期的广告信息,请按照此文章中的说明进行确认以及后续的操作。
iOS
- iOS 11.3 对定位权限进行了合并,使用定位需要新增一个声明:详细的声明方法以及注意事项,请参考文章中的说明。
问题清单
- Android 二维码打包后闪退:近期依旧有许多小伙伴遇到此问题,解决办法就是打包时候勾选 android.permission.VIBRATE 权限。
- 二维码扫描位置偏移:需要稍加延迟,再进行二维码的初始化。
- 在线打包的app提交不了google play,因android:targetSdkVersion级别低:目前 5+ 仅在 Android21 版本上做过完整的兼容测试,还不能保证完全兼容 Androi26 版本。目前需要通过本地(离线)打包修改配置来解决。
- 什么时候Andrioid的splash可以支持.9.png文件呀?:云端打包已支持,参考最佳回复的说明进行操作。
- ios11在应用内访问url的时候闪退,每次都闪退:页面过大,可能会引发 Webview 内核异常,需按照回复中的说明处理。
分享
- uniapp实例,电影3.1版,有兴趣的拿去学习吧
- 一个vue多页面的脚手架可以使用es6,es7,可以使用vux,vant,mint
- 使用javascript获取安全区信息
- 如何正确高效地在社区提问:学会提问,才能更好地获得他人的帮助。
最后
本周的报告就是这些,希望能对大家有所帮助。同时,也希望更多的小伙伴在社区分享自己的经验心得,交流学习。
祝大家周末愉快。

一个vue多页面的脚手架 有demo和教程哦
刚做的脚手架,新鲜的.
APP 演示下载地址
希望大家多issue哦
使用webpack4
MogoH5+
是一个 vue 多页面脚手架工具,结合 H5+可以快速开发安卓与苹果 APP.
即使不适用 Hbuilder 打包成 APP,本脚手架同样可以作为多页面网页生成的参考项目.
特性
支持 Npm 生态
支持 vue 语法,以及 vue 生态,比如 vux,mint,vant
支持 ES6/ES7 语法
使用 VConsole 调试
VSCode 友好
局域网便捷调试
兼容部分 mui 语法
刚做的脚手架,新鲜的.
APP 演示下载地址
希望大家多issue哦
使用webpack4
MogoH5+
是一个 vue 多页面脚手架工具,结合 H5+可以快速开发安卓与苹果 APP.
即使不适用 Hbuilder 打包成 APP,本脚手架同样可以作为多页面网页生成的参考项目.
特性
支持 Npm 生态
支持 vue 语法,以及 vue 生态,比如 vux,mint,vant
支持 ES6/ES7 语法
使用 VConsole 调试
VSCode 友好
局域网便捷调试
兼容部分 mui 语法

近期https://appstoreconnect.apple.com无法访问的解决办法
6月5日一年一度的苹果 WWDC 开发者大会在美国加州圣何塞举行。所以近期苹果更新了很多东西,导致https://appstoreconnect.apple.com都无法访问了。
iTC 后台大变身
新增加的域名
本次 iTC 后台域名改了,所以导致无法访问。
新域名:https://appstoreconnect.apple.com
以前的域名:https://itunesconnect.apple.com
访问以前的域名会自动跳转到新域名。
目前只有 safari 或者开vpn才能用其他浏览器打开域名,很多人用其他浏览器无法打开,在Windows的话根本访问。
如果没有vpn或者用不了苹果电脑Safari浏览器,下面介绍配置下谷歌浏览器实现访问的方法。
苹果可能还会调整几天,暂时用这个方法配置访问https://appstoreconnect.apple.com
安装Chrome(谷歌浏览器),或者Opera,用这两个浏览器,其他浏览器配置不行。
谷歌浏览器下载地址
https://www.google.cn/chrome/
在桌面浏览器图标右键选择属性
在目标最后加入:-disable-http2 (注意先在最后加个空格再复制-disable-http2上去,然后确定,启动浏览器就能访问https://appstoreconnect.apple.com了)
我写的ios app真机调试到上架App Store完整教程,不会上架流程的可以参考下
http://www.applicationloader.net/blog/zh/1717.html
6月5日一年一度的苹果 WWDC 开发者大会在美国加州圣何塞举行。所以近期苹果更新了很多东西,导致https://appstoreconnect.apple.com都无法访问了。
iTC 后台大变身
新增加的域名
本次 iTC 后台域名改了,所以导致无法访问。
新域名:https://appstoreconnect.apple.com
以前的域名:https://itunesconnect.apple.com
访问以前的域名会自动跳转到新域名。
目前只有 safari 或者开vpn才能用其他浏览器打开域名,很多人用其他浏览器无法打开,在Windows的话根本访问。
如果没有vpn或者用不了苹果电脑Safari浏览器,下面介绍配置下谷歌浏览器实现访问的方法。
苹果可能还会调整几天,暂时用这个方法配置访问https://appstoreconnect.apple.com
安装Chrome(谷歌浏览器),或者Opera,用这两个浏览器,其他浏览器配置不行。
谷歌浏览器下载地址
https://www.google.cn/chrome/
在桌面浏览器图标右键选择属性
在目标最后加入:-disable-http2 (注意先在最后加个空格再复制-disable-http2上去,然后确定,启动浏览器就能访问https://appstoreconnect.apple.com了)
我写的ios app真机调试到上架App Store完整教程,不会上架流程的可以参考下
http://www.applicationloader.net/blog/zh/1717.html
收起阅读 »
mui集成百度语音转写成文字
(function($, doc) {
$.plusReady(function() {
var dst;
var src;
var recordCancel = false;
var recorder = null;
var audio_tips = document.getElementById("audio_tips");
var startTimestamp = null;
var stopTimestamp = null;
var stopTimer = null;
var path1 = null;
if(mui.os.android) {
var format = "amr";
} else if(mui.os.ios) {
var format = "wav";
}
var rate = "16000";
var channel = "1";
// var cuid = 'plus.device.imei'; //mac和imei码data:audio/amr;base64,
var cuid = '';
var speech = '';
var token_url = "https://aip.baidubce.com/oauth/2.0/token?";
var len = '';
var grant_type = "grant_type=自己的&";
var APIkey = "client_id=自己的&";
var SecretKey = "client_secret=自己的&";
var AppID = "自己的";
var access_token = "";
var fileArr = [];
var ui = {
boxMsgSound: doc.querySelector('#voice'),
areaMsgList: doc.querySelector('#search'),
boxSoundAlert: doc.querySelector('#sound-alert'),
mistake: doc.querySelector('#mistake'),
voice: doc.querySelector('#voice'),
};
function msgTextFocus() {
ui.boxMsgText.focus();
setTimeout(function() {
ui.boxMsgText.focus();
}, 150);
}
//点击输入框话筒
ui.boxMsgSound.addEventListener('tap', function(event) {
recordCancel = false;
if(stopTimer) clearTimeout(stopTimer);
audio_tips.innerHTML = "点击完成";
ui.boxSoundAlert.classList.remove('rprogress-sigh');
setSoundAlertVisable(true);
jQuery('.shield').show();
recorder = plus.audio.getRecorder();
if(recorder == null) {
plus.nativeUI.toast("不能获取录音对象");
return;
}
startTimestamp = (new Date()).getTime();
recorder.record({
format: 'wav',
samplerate: '16000',
filename: "_doc/audio/"
}, function(path) {
fileArr.push(path);
if(recordCancel) return;
Audio2dataURL(path);
}, function(e) {
plus.nativeUI.toast("录音时出现异常: " + e.message);
});
}, false);
ui.boxSoundAlert.addEventListener('tap', function(event) {
setSoundAlertVisable(false);
jQuery('.shield').hide();
recorder.stop();
}, false);
var setSoundAlertVisable = function(show) {
if(show) {
ui.boxSoundAlert.style.display = 'block';
ui.boxSoundAlert.style.opacity = 1;
} else {
ui.boxSoundAlert.style.opacity = 0;
//fadeOut 完成再真正隐藏
setTimeout(function() {
ui.boxSoundAlert.style.display = 'none';
}, 200);
}
};
/**
* 录音语音文件转base64字符串
* @param {Object} path
*/
function Audio2dataURL(path) {
plus.io.resolveLocalFileSystemURL(path, function(entry) {
entry.file(function(file) {
var reader = new plus.io.FileReader();
reader.onloadend = function(e) {
var strResult = e.target.result;
var index = strResult.indexOf('base64,') + 7;
var base64Str = strResult.slice(index, strResult.length);
delVoiceFile();
len = file.size;
if(!pageUtils.netWork()) {
pageUtils.netToast();
} else {
voiceToWord(base64Str);
}
};
reader.readAsDataURL(file);
}, function(e) {
pageUtils.showToast("读写出现异常: " + e.message);
})
})
}
token();
//获取token,需要取百度语音自己获取,相关操作参考百度语音api
function token() {
if(mui.os.android) {
data2 = grant_type + APIkey + SecretKey;
} else if(mui.os.ios) {
APIkey = 'client_id=自己的&';
SecretKey = 'client_secret=自己的';
AppID = '自己的';
data2 = grant_type + APIkey + SecretKey;
}
mui.ajax(token_url, {
data: data2,
type: 'post',
contentType: "application/json; charset=utf-8",
timeout: 5000,
success: function(resp) {
access_token = resp.access_token;
},
error: function(xhr, type, errorThrown) {
pageUtils.showToast("网络请求出错");
}
});
}
//将语音转成文字
function voiceToWord(speech) {
var data1 = {
"rate": rate,
"format": format,
"channel": channel,
"cuid": AppID,
"token": access_token,
"speech": speech,
"dev_pid": 1536,
"len": len
};
mui.ajax(pageUtils.VOICEURL, {
data: data1,
type: 'post',
contentType: "application/json; charset=utf-8",
timeout: 5000,
success: function(resp) {
if(resp.result == undefined || resp.result == '') {
return;
}
jQuery('#mistake').show();
jQuery('#voice').hide();
ui.areaMsgList.value = resp.result[0];
},
error: function(xhr, type, errorThrown) {
if(type == 'timeout') {
pageUtils.showToast("录音超时");
} else {
pageUtils.showToast("网络请求出错");
}
}
});
}
//这里录音发送完成就不需要了,所以没有必要存在手机里,直接删除音频
function delVoiceFile() {
for(var i = 0; i < fileArr.length; i++) {
plus.io.resolveLocalFileSystemURL(fileArr[i], function(entry) {
if(entry.isFile) {
setTimeout(function() {
entry.remove(function(entry) {
fileArr.pop();
// pageUtils.showToast('删除成功');
}, function(e) {
// pageUtils.showToast('删除失败');
});
}, 500);
}
}, function(e) {
alert("Resolve file URL failed: " + e.message);
});
}
}
});
}(mui, document));
(function($, doc) {
$.plusReady(function() {
var dst;
var src;
var recordCancel = false;
var recorder = null;
var audio_tips = document.getElementById("audio_tips");
var startTimestamp = null;
var stopTimestamp = null;
var stopTimer = null;
var path1 = null;
if(mui.os.android) {
var format = "amr";
} else if(mui.os.ios) {
var format = "wav";
}
var rate = "16000";
var channel = "1";
// var cuid = 'plus.device.imei'; //mac和imei码data:audio/amr;base64,
var cuid = '';
var speech = '';
var token_url = "https://aip.baidubce.com/oauth/2.0/token?";
var len = '';
var grant_type = "grant_type=自己的&";
var APIkey = "client_id=自己的&";
var SecretKey = "client_secret=自己的&";
var AppID = "自己的";
var access_token = "";
var fileArr = [];
var ui = {
boxMsgSound: doc.querySelector('#voice'),
areaMsgList: doc.querySelector('#search'),
boxSoundAlert: doc.querySelector('#sound-alert'),
mistake: doc.querySelector('#mistake'),
voice: doc.querySelector('#voice'),
};
function msgTextFocus() {
ui.boxMsgText.focus();
setTimeout(function() {
ui.boxMsgText.focus();
}, 150);
}
//点击输入框话筒
ui.boxMsgSound.addEventListener('tap', function(event) {
recordCancel = false;
if(stopTimer) clearTimeout(stopTimer);
audio_tips.innerHTML = "点击完成";
ui.boxSoundAlert.classList.remove('rprogress-sigh');
setSoundAlertVisable(true);
jQuery('.shield').show();
recorder = plus.audio.getRecorder();
if(recorder == null) {
plus.nativeUI.toast("不能获取录音对象");
return;
}
startTimestamp = (new Date()).getTime();
recorder.record({
format: 'wav',
samplerate: '16000',
filename: "_doc/audio/"
}, function(path) {
fileArr.push(path);
if(recordCancel) return;
Audio2dataURL(path);
}, function(e) {
plus.nativeUI.toast("录音时出现异常: " + e.message);
});
}, false);
ui.boxSoundAlert.addEventListener('tap', function(event) {
setSoundAlertVisable(false);
jQuery('.shield').hide();
recorder.stop();
}, false);
var setSoundAlertVisable = function(show) {
if(show) {
ui.boxSoundAlert.style.display = 'block';
ui.boxSoundAlert.style.opacity = 1;
} else {
ui.boxSoundAlert.style.opacity = 0;
//fadeOut 完成再真正隐藏
setTimeout(function() {
ui.boxSoundAlert.style.display = 'none';
}, 200);
}
};
/**
* 录音语音文件转base64字符串
* @param {Object} path
*/
function Audio2dataURL(path) {
plus.io.resolveLocalFileSystemURL(path, function(entry) {
entry.file(function(file) {
var reader = new plus.io.FileReader();
reader.onloadend = function(e) {
var strResult = e.target.result;
var index = strResult.indexOf('base64,') + 7;
var base64Str = strResult.slice(index, strResult.length);
delVoiceFile();
len = file.size;
if(!pageUtils.netWork()) {
pageUtils.netToast();
} else {
voiceToWord(base64Str);
}
};
reader.readAsDataURL(file);
}, function(e) {
pageUtils.showToast("读写出现异常: " + e.message);
})
})
}
token();
//获取token,需要取百度语音自己获取,相关操作参考百度语音api
function token() {
if(mui.os.android) {
data2 = grant_type + APIkey + SecretKey;
} else if(mui.os.ios) {
APIkey = 'client_id=自己的&';
SecretKey = 'client_secret=自己的';
AppID = '自己的';
data2 = grant_type + APIkey + SecretKey;
}
mui.ajax(token_url, {
data: data2,
type: 'post',
contentType: "application/json; charset=utf-8",
timeout: 5000,
success: function(resp) {
access_token = resp.access_token;
},
error: function(xhr, type, errorThrown) {
pageUtils.showToast("网络请求出错");
}
});
}
//将语音转成文字
function voiceToWord(speech) {
var data1 = {
"rate": rate,
"format": format,
"channel": channel,
"cuid": AppID,
"token": access_token,
"speech": speech,
"dev_pid": 1536,
"len": len
};
mui.ajax(pageUtils.VOICEURL, {
data: data1,
type: 'post',
contentType: "application/json; charset=utf-8",
timeout: 5000,
success: function(resp) {
if(resp.result == undefined || resp.result == '') {
return;
}
jQuery('#mistake').show();
jQuery('#voice').hide();
ui.areaMsgList.value = resp.result[0];
},
error: function(xhr, type, errorThrown) {
if(type == 'timeout') {
pageUtils.showToast("录音超时");
} else {
pageUtils.showToast("网络请求出错");
}
}
});
}
//这里录音发送完成就不需要了,所以没有必要存在手机里,直接删除音频
function delVoiceFile() {
for(var i = 0; i < fileArr.length; i++) {
plus.io.resolveLocalFileSystemURL(fileArr[i], function(entry) {
if(entry.isFile) {
setTimeout(function() {
entry.remove(function(entry) {
fileArr.pop();
// pageUtils.showToast('删除成功');
}, function(e) {
// pageUtils.showToast('删除失败');
});
}, 500);
}
}, function(e) {
alert("Resolve file URL failed: " + e.message);
});
}
}
});
}(mui, document));
收起阅读 »