获得徽章 9
- 今日复盘10-14
今天主要是让微信小程序播放视频;改其他项目的bug;讨论新项目需求。
工作中遇到的技术问题:
1、微信小程序如何播放视频?
解决:<video src="{{video}}"></video>developers.weixin.qq.com
解决思路:
步骤一:先在微信开放文档里搜了【视频】developers.weixin.qq.com
步骤二:出来好几个api>媒体>视频,直接点进【视频】
步骤三:我一般会直接看创建实例对象
步骤四:发现是用<video></video>展示视频
情绪问题:
平常心
学到了什么:
做项目前最好先了解客户是干什么的,给谁用,用在哪儿。罗列复杂、与众不同的功能展开赞过评论2 - 今日复盘10-13
今天主要是录屏并在app和小程序里展示关于蓝牙项目的操作步骤。
工作中遇到的技术问题:
1、小程序如何跳转app?
解决:复制app的下载地址,到浏览器打开developers.weixin.qq.com
wx.setClipboardData({
data: 'https://xxxxxxxxx/download.html',// app下载地址
success (res) {
wx.getClipboardData({
success (res) {
console.log(res.data) // data
}
})
}
})
解决思路:
(1)参照海尔智家小程序,看它是如何从小程序跳转到app的
(2)复制下载地址,前往手机浏览器打开
情绪问题:
平常心
学到了什么:
参考客户发的小程序或app展开评论点赞 - 今日复盘10-12
今天主要是写app跳转小程序功能;录蓝牙项目的操作步骤,用<video></video>把视频展示在页面上。
工作中遇到的技术问题:
1、app如何跳转小程序?
解决:window.location.href = '小程序URL Scheme'(小程序管理后台-右上角工具-生成 URL Scheme)
解决思路:
步骤一:拿到这个需求,首先百度"app跳转小程序",如下图,第一个搜索结果直接点进去
步骤二:如下图步骤二,通读一遍后发现具体操作要点开开放文档,直接点开
步骤三:如下图步骤三,发现需要下载SDK,这就麻烦了,我们是webapp,不是原生app,只能抛弃这个
步骤四:跟同事交流
步骤五:通过h5plus的分享plus.share.getServices,可以调起微信小程序,但是提交到线上发现app没有打包share分享模块
步骤六:在尽可能不重新打包的前提下,思考如何在浏览器下唤起小程序,如下图步骤六
步骤七:通过获取 URL Scheme的方式developers.weixin.qq.com
2、图片如何转换成base64?
解决:网页工具oktools.net
情绪问题:
平常心
学到了什么:
多交流展开等人赞过17 - 今日复盘10-11
今天主要是app添加隐私政策、服务协议页;更新小程序音频播放功能
工作中遇到的技术问题:
1、webapp如何跳转微信小程序?
解决:未解决
2、微信小程序音频总时长duration我是在onplay里获取,但是我再次进入同一个播放中的音频就不走onplay,也就获取不到音频总时长duration,如何每次进入音频页都能获取到音频总时长duration?
解决:第一次进入页面把获取到的duration存入缓存,再次进入同一个音频从缓存里获取duration
解决思路:
1、如何在onShow里能获取到duration?我先把onPlay写在onShow里,发现onPlay并不执行
2、那我在onLoad获取到音频之后,存在缓存里,等到onShow的时候去读取缓存里的duration
3、这样每次进入不同的音频就走onLoad,就能正常获取到duration;如果进入同一个音频就获取缓存里的duration
onShow() {
const that = this;
wx.getStorage({
key: 'duration',
success (res) {
// console.log(res.data)
that.setData({
duration: res.data,
})
}
})
},
onLoad(options) {
const that = this;
// 监听播放事件
backgroundAudioManager.onPlay(() => {
// 获取播放时长
that.setData({
duration: backgroundAudioManager.duration,
})
// 存入缓存
wx.setStorage({
key:"duration",
data:backgroundAudioManager.duration
})
}
情绪问题:
平常心
学到了什么:
微信小程序好用的组件借用,不好用的自定义展开赞过31 - 今日复盘10-9
今天主要是修改微信小程序背景音频播放器。看了一下vant组件库。
工作中遇到的技术问题:
1、微信小程序如何获取背景音频总时长?
解决:在onplay里获取。不用定时器延迟获取,防止网络不好或音频过大加载不完导致获取不到音频时长。
解决思路:必须得等音频加载完成才能获取
2、微信小程序如何封装Toast 轻提示?
解决:
(1)定义一个公共的Toast模板wxml,在需要展示Toast 的页面引入
(2)app.js定义Toast 方法
(3)其他页面调用这个Toast 方法
3、vscode终端如何返回上一级目录
解决:cd ..
PS C:\Users\Administrator\Desktop\vant-weapp-dev\build> cd ..
PS C:\Users\Administrator\Desktop\vant-weapp-dev>
解决思路:百度搜索
4、css虚化背景
解决:
(1)背景要absolute绝对定位
(2)filter: blur(10px);}
<view class="bg" style="background-image: url({{coverImgUrl}});"></view>
<view class="bg_modal"></view>
.bg{z-index:-2;background-size:auto 100%;position:absolute;top:0;left:0;width:100%;height:100%;background-repeat: no-repeat;background-position: bottom;filter: blur(10px);}
.bg_modal{z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5)}
情绪问题:
平常心
学到了什么:
布置下来的任务或者bug解决完了要反馈给布置的人或者提出bug的客户;展开赞过评论2 - 今日复盘10-8
今天主要是写微信小程序原生播放器、引导页。
工作中遇到的技术问题:
1、微信小程序获取不到音频的总时长
原因:音频初次播放需要一点时间加载,所以,立即响应可能获取不到对应的时长。
解决:延迟1.2秒获取。苹果手机延迟1秒能获取到,但是安卓手机获取不到,所以延迟1.2秒
let backgroundAudioManager = wx.getBackgroundAudioManager();
setTimeout(() => {
this.setData({
duration: backgroundAudioManager.duration,
})
}, 1200)
2、微信小程序如何展示富文本?
解决:用rich-text
<rich-text nodes="{{content}}"></rich-text>
3、vscode每次打开显示“Code安装似乎损坏,请重新安装”
原因:background 插件是通过修改vscode 的 css 文件的方式运行的,所以会在初次安装,或者 vscode 升级的时候,出现以下提示,请选择 【不再提示】
解决:点击设置图标-不再显示
遇到这个问题的解决思路:
1、步骤一:点击更多信息,可以初步判断是安装的插件或环境问题,但我是windows环境,应该是插件问题
2、步骤二:直接百度"vscode显示安装更新已损坏'
3、步骤三:可能是background 插件的问题
4、步骤四:vscode搜索background 插件,发现插件页进行了说明并给出了解决方案
5、步骤五:点击设置图标-不再显示
情绪问题:
平常心
学到了什么:
遇到问题要有耐心展开等人赞过25 - 今日复盘9-26
今天主要是新增关于蓝牙项目功能。
工作中遇到的技术问题:
1、webApp退回后台,断开连接中的设备,返回列表页
解决:
// 运行环境从前台切换到后台事件
document.addEventListener("pause", function(){
// 断开设备连接
plus.bluetooth.closeBLEConnection({
deviceId:deviceId,
success:function(e){
console.log('close success: '+JSON.stringify(e));
},
fail:function(e){
console.log('close failed: '+JSON.stringify(e));
}
});
}, false);
2、setInterval第一次并不是立即触发,如何立即触发?
解决:
function fn() {
console.log('abc')
return fn // 函数中返回自身
}
setInterval(fn(), 1000)
情绪问题:
平常心
学到了什么:
如何开启项目?
1、下发原型图
2、开会讨论
(1)项目背景:谁发起的,谁用
(2)讨论重要模块
(3)参照的app或小程序
(4)项目参与人员
(5)项目截至日期展开评论点赞