个人案例
- 挑战赛作品全收录
2020小程序云开发挑战赛作品全收录
2020小程序云开发挑战赛作品全收录扫码体验
- 自定义插件bug?
你想反馈一个 Bug 还是 提一个需求? bug 如果是 Bug: * Bug 表现是什么?预期表现是什么? 小程序自定义插件组成结构如下 暴露的public-components中有一个组件,例如 ComA comA中使用了另两个组件,comB和comC 在小程序中引入插件使用comA 发现comA中的comB和comC的样式丢失 如果插件中直接暴露comB或者comC 在小程序中引入插件使用comB或者comC comB的样式正常 预期无论comA还是comB或者comC都应该样式正常
2018-03-14 - live-player在自定义组件内部使用的bug
live-player封装至某一个自定义组件中以后, bindstagechange定义的事件,在自定义组件中无法触发, console中不断的提示“do not find stagechange handler in current page” 如果把bindstagechange事件定义在引用该自定义组件的page中,则无此提示, 能成功触发引用该自定义组件的Page js中定义的函数 自定义组件中其他bind函数无此问题 自定义组件的wxml [代码]<[代码][代码]live-player[代码][代码] [代码][代码]id[代码][代码]=[代码][代码]"livePlayer"[代码][代码] [代码][代码]src[代码][代码]=[代码][代码]"rtmp://live.hkstv.hk.lxdns.com/live/hks"[代码][代码] [代码][代码]mode[代码][代码]=[代码][代码]"live"[代码][代码] [代码][代码]background-mute[代码][代码] [代码][代码]autoplay[代码][代码]=[代码][代码]"false"[代码][代码] [代码][代码]bindstatechange[代码][代码]=[代码][代码]"statechange"[代码][代码] [代码][代码]binderror[代码][代码]=[代码][代码]"error"[代码][代码] [代码][代码]class[代码][代码]=[代码][代码]"player {{fullScreen ? 'player-fullscreen': ''}};"[代码] [代码]/>[代码] 自定义组件js [代码]Component({[代码][代码] [代码][代码]properties: {[代码][代码] [代码][代码]src: String, [代码][代码]// 简化的定义方式[代码][代码] [代码][代码]},[代码] [代码] [代码][代码]data: {[代码][代码] [代码][代码]status: undefined,[代码][代码] [代码][代码]showControls: [代码][代码]false[代码][代码],[代码][代码] [代码][代码]fullScreen: [代码][代码]false[代码][代码],[代码][代码] [代码][代码]},[代码] [代码] [代码][代码]ready: [代码][代码]function[代码][代码](e) {[代码][代码] [代码][代码]const animation = wx.createAnimation({[代码][代码] [代码][代码]duration: 1000,[代码][代码] [代码][代码]timingFunction: [代码][代码]'ease'[代码][代码],[代码][代码] [代码][代码]})[代码][代码] [代码][代码]this[代码][代码].animation = animation[代码] [代码] [代码][代码]// 使用 wx.createMapContext 获取 map 上下文[代码][代码] [代码][代码]this[代码][代码].liveCtx = wx.createLivePlayerContext([代码][代码]'livePlayer'[代码][代码], [代码][代码]this[代码][代码])[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]this[代码][代码].data.url) {[代码][代码] [代码][代码]this[代码][代码].liveCtx.play()[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码] [代码] [代码][代码]methods: {[代码][代码] [代码][代码]statechange(e) {[代码][代码] [代码][代码]const { code } = e.detail[代码][代码] [代码][代码]console.log(code)[代码][代码] [代码][代码]switch[代码] [代码](code) {[代码][代码] [代码][代码]case[代码] [代码]2004: [代码][代码]//开始[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]status: [代码][代码]'playing'[代码][代码],[代码][代码] [代码][代码]})[代码][代码] [代码][代码]break[代码][代码] [代码][代码]case[代码] [代码]2006: [代码][代码]//结束[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]status: [代码][代码]'pause'[代码][代码],[代码][代码] [代码][代码]})[代码][代码] [代码][代码]break[代码] [代码] [代码][代码]default[代码][代码]:[代码][代码] [代码][代码]break[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码] [代码] [代码] [代码] [代码][代码]},[代码][代码]})[代码] 此种方式,console会提示在page中找不到statechange handler 如果在引用此自定义组件的page中定义: [代码]// packages/live/pages/details/index.js[代码][代码]Page({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]url: [代码][代码]'rtmp://live.hkstv.hk.lxdns.com/live/hks'[代码][代码],[代码][代码] [代码][代码]},[代码] [代码] [代码][代码]statechange(e) {[代码][代码] [代码][代码]const { code } = e.detail[代码][代码] [代码][代码]console.log(code)[代码][代码] [代码][代码]},[代码][代码]})[代码] 则可以触发page中的stagechange函数 按理说,要想触发page中的函数,需要在自定义组件中triggerEvent才对 bug?
2018-01-24 - live-player全屏时候的bug
自己用cover-view在在live-player上加入了“开始“,停止,全屏等操作 正常模式下一切ok 在全屏下,停止失效,而且切换到全屏后直播会自动开始 而且调用stop()函数无效,会停一下然后继续开始。。。 这是bug么。。。
2018-01-24 - 直播 livePlayer的问题
livePlayer没有controls,这个很纠结,只好自己写了一个,但是也只能做播放,暂停,静音切换,全屏。希望能尽早出官方controls,避免我们再造轮子了 livePlayer在requestFullScreen以后,发现自己写的controls的cover-view都消失了?而且全屏下没有任何默认的退出全屏按钮。。。这怎么处理,都只能杀掉进程了 如图: 非全屏状态:(忽略掉那几个不知所以的按钮,其实就是暂停,静音,全屏,相应图标没加上) [图片] 全屏状态:(如图,而且很奇怪,中间的暂停按钮有时候能显示,但是停止、播放在非全屏下正常,在全屏下stop后会自动开始) [图片]
2018-01-24 - 小程序啥时间能支持decorator呢?
有计划么?。。。。
2017-12-29 - 自定义组件中的input
自定义组件中如果有input 貌似input上的 placeholder-class指定后无效,即使你在组件wxss中设置了该class 目前只能通过placeholder-style来处理
2017-11-22 - behaviors
这是好东西,意味着组件能mixin了, 那为啥不赶紧提供一个面向page的behaviors啊!!!!
2017-11-16 - 小程序自定义组件问题
小程序自定义组件里面: [代码]const dateStr = formatTime([代码][代码]new[代码] [代码]Date(date), enableTime ? [代码][代码]'yyyy-MM-dd hh:mm'[代码] [代码]: [代码][代码]'yyyy-MM-dd'[代码][代码]);[代码] [代码] [代码] [代码]const dateStr1 = [代码][代码]'2017-12-12'[代码] [代码] [代码] [代码]console.log(dateStr)[代码] [代码] [代码] [代码]console.log(dateStr1)[代码] [代码] [代码] [代码]this[代码][代码].triggerEvent([代码][代码]'onselectdate'[代码][代码], { date: dateStr });[代码] formatTime是自己写的时间格式化 这里两个log打印出来的都是合法日期字符串, --> 2017-11-16 --> 2017-12-12 诡异的事情来了,triggerEvent,在模拟器上,无论使用dateStr,还是dateStr1作为事件参数,在引用组件的页面上,e.detail都是正常的: { date: '2017-11-16' } 或者 { date: '2017-12-12' } 但是在真机上, 使用dateStr1,正常,e.detail是 { date: '2017-12-12' }, 使用dateStr有问题,e.detail是 { date: 'NaN-aN-aN' }, 什么情况????
2017-11-16 - 自定义组件的自定义事件
api文档有误啊 文档上是这么写的: [图片] 照着这么写 bind:myevent 怎么都不行,后来发现下面的例子: [图片] 这么写才对啊。。。 太不细致了,,特么的找原因找到怀疑人生
2017-11-15 - wxs问题
wxs什么时候能支持绝对路径引用啊?? 这个很蛋疼啊
2017-11-02