关于前端这个设计的问题。。。
由于原生组件脱离在 WebView 渲染流程外,因此在使用时有以下限制:
- 原生组件的层级是最高的,所以页面中的其他组件无论设置
z-index
为多少,都无法盖在原生组件上。- 后插入的原生组件可以覆盖之前的原生组件。
- 部分CSS样式无法应用于原生组件,例如:
- 无法对原生组件设置 CSS 动画
- 无法定义原生组件为
position: fixed
- 不能在父级节点使用
overflow: hidden
来裁剪原生组件的显示区域
- 原生组件的事件监听不能使用
bind:eventname
的写法,只支持bindeventname
。原生组件也不支持 catch 和 capture 的事件绑定方式。 - 原生组件会遮挡 vConsole 弹出的调试面板。 在工具上,原生组件是用web组件模拟的,因此很多情况并不能很好的还原真机的表现,建议开发者在使用到原生组件时尽量在真机上进行调试。
但是好在之前学过这个东西,只不过文件包找不到了
关于上传文件。。。还不错,我知道是怎么回事。
关于页面设计,emmmm,明白啥意思,例如朗读古诗,emmm,切换音色。还行吧,按理说不难,但是我应该做不来。。。但怎么说呢,我应该全做完,毕竟现在的话也没法做别的。
现在实现,上传文件?实际上挺简单的。。。而且需要服务器配合啊。。。不是很想做,但是,先进行简单的,沟通,成功,发送文字成功,然后从服务器传回声音呢?
实际上是返回网址后直接播放这个,嗯,甚至地址都是固定的。ok,成功,现在是声音文件上传?
上传文件真的是没什么好办法啊,你需要弄懂它的原理,而且还要做出来,并且它这个录制的东西好像还是网络上的。。。
tempfilePath:要上传的文件的小程序临时文件路径,这些临时文件不定时清理,在小程序退出一次后随时有可能被清除。
这个路径只能在小程序里有效,在浏览器打开是显示不了图片的
只要录制了声音文件,直接上传就可以了,它有uploadfile,很好。比ajax更方便。上传吧。
var uploadTask = wx.uploadFile({
//没有method,自动为POST请求
filePath: res.tempFilePath,
name: 'recordFile', //这个随便填
url: 'http://localhost:3000/record', //填写自己服务器的地址。
header: {
"Content-Type": "multipart/form-data" //必须是这个格式
},
success:(e) => {
console.log('succeed!');
console.log(e);
},
fail: (e) => {
console.log('failed!');
console.log(e);
}
});
uploadTask.onProgressUpdate((e) => {
console.log(e);
console.log('期望上传的总字节数:' + e.totalBytesExpectedToSend);
console.log('已经上传的字节数' + e.totalBytesSent);
})
上传就是如此哈
微信小程序恐怕不支持wav吧。。。很难搞唉。。。换一个新的吧。。。这种无聊的事情,如果做完了,还没别的了。。。
wx.startrecord
1.6.0 版本开始,本接口不再维护。建议使用能力更强的 wx.getRecorderManager 接口
开始录音。当主动调用wx.stopRecord
,或者录音超过1分钟时自动结束录音,返回录音文件的临时文件路径。当用户离开小程序时,此接口无法调用。
算了压不压缩的吧,不管了。
成功了,现在就是普通解决就可以了。
使用wx.getRecorderManager()录制的音频,在小程序中不能用wx.getBackgroundAudioManager()来播放,是不是仅仅是http与wxfile的关系呢?而文件格式是没有什么关系的?
忽悠呢,不是格式不同,是映射路径不同。
网页,emmmm
设计一下,首先是居中,上面一个系统名字,然后中间一个切换页,最后下面的页面就是时隐时现,这样
卧槽它重新。。。无语了。而且也不像vue那样实时的啊。。。
挺好做的。。。问题其实有很多,比如换图标。完成,那么播放声音。
接下来是,优化了,设计的问题了。现在就是要变漂亮。首先拆分这几个页面。
改一下前端的总路径,完成。
现在就是最重要的另一个了。做完这个网页,就开始写论文了。
原生ajax好难做啊,用jquery吧。