微信小程序 - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(2评价)
价格: 1999.00元

课时68,跟着老师敲的代码,检查无误,但是,结果,当拖动过后,左边的开始时间,停在了拖动开始的时候,之后,就没有变化,

用console.log()去输出检查,发现是当change(e)执行之后,手放开的一瞬间,onTimeUpdate()事件就停止了,

然后,发现如果去点一下图片,暂停一下,然后再点一下,播放,onTimeUpdate()会恢复执行,即是先调用一下,pause方法,然后再调用一下,play()方法

因此,尝试在拖动条的触发方法中,seek()方法的后面直接调用两次这个开关方法,结果没有用,

考虑是否调用过快导致,因此,在这个两次调用的外面包裹一个setTimeout()延时,设定延时10毫秒.

然后,问题就解决了.

之后,有在百度搜资料,得到另一个解决方法

在seek()方法后面,来一个setTimeout(),延时设定为10毫秒,然后里面console.log(audio.paused)打印输出这个值就可以了,

根据百度查出来的说法是,wx开发本身的bug所至

[展开全文]
buzz · 2020-12-08 · 1

重置按钮功能也可以直接在标签中添加原生 type 属性 native-type="reset"

<el-button type="danger" icon="el-icon-delete" native-type="reset">重置</el-button>

 

 

[展开全文]
flashhhh · 2022-10-05 · 0
// 异步读取
    fs.readFile('index.html',"utf-8", function (err, data) {
        if (err) {
            return console.error(err);
        }
        response.setHeader("Content-Type","text/html");
        response.end(data);
    });

 

[展开全文]
flashhhh · 2022-10-06 · 0

热部署工具Nodemon

npm install -g nodemon

 

[展开全文]
flashhhh · 2022-10-06 · 0

exports方法可以直接调用

module.exports需要new对象后才可以使用

[展开全文]
flashhhh · 2022-10-06 · 0
app.use(express.static('public'))
[展开全文]
flashhhh · 2022-10-07 · 0

现在官方推荐使用 deleteOne() 和 deleteMany() 方法。

 

db.inventory.deleteMany({})
db.inventory.deleteMany({ status : "A" })
db.inventory.deleteOne( { status: "D" } )
[展开全文]
flashhhh · 2022-10-08 · 0

课时131,这里获取歌词的时候,应该先判断,歌词是否存在,然后再去设置data里面的歌词json,因为有些歌曲是没有歌词的,

如果没有歌词,加入if判断,让程序走向没有歌词的分支,如果不加入if判断,那么,最终结果是,歌词部分一片空白,要求不高的话,其实也没有影响,也没有影响到程序的执行.

[展开全文]
buzz · 2020-12-21 · 0

课时133,尝试添加一个歌曲重复播放的功能,

添加语句audio.loop = true;

该语句可以实现歌曲的重复播放,但是onTimeUpdate没有随之而重新执行.

 

根据百度查得,是因为触发onWaiting导致,尝试在audio.loop = true;语句后面加上之前的解决方法

setTimeout(() => { console.log(audio.paused) }, 100)

没有效果,其原因是,应该没有找准执行该语句的时机

setTimeout(() => { console.log(audio.paused) }, audio.duration*1000+100)

这样,效果就达到了,onTimeUpdate随之执行了,

但是,如果播放的时候,有暂停,或拖动,时间就不吻合类了,因此,必须是在触发重新播放歌曲的时候,调用这个语句.

未能查得audio.loop = true;的时候,具体的时机,

因此,转变思路,改为人为循环播放,

直接在onTimeUpdate中执行一次拖动事件,并随之执行一次setTimeout函数,即可

        if (duration-currentTime < 0.3) {

          audio.seek(0)

          setTimeout(() => {

            console.log(audio.paused)

          }, 100)

        }

效果达成

至于这个0.3的来源,监听onTimeUpdate得来,onTimeUpdate在模拟器中每秒执行了4次

即0.25秒执行一次,所以这个用于判断的值一定要大于0.25即可

[展开全文]
buzz · 2020-12-21 · 0

课时135,网易云音乐api的获取榜单的接口已经更新了,老师的方式已经失效,不能使用idx得到

 

新接口是

/toplist     这个接口没有赞赏榜,且没有摘要

/toplist/detail ,这个接口含有赞赏榜,有部分榜单的摘要

与推荐歌单的获取方式一致

但是得到的数据里面包含,

歌手榜(artistToplist),

排行榜(list),

赞赏榜(rewardToplist),

三个json,

且这3个json,里面的内容有的键值为空字符串,以及含有不同的数组

因此,在一个页面去遍历这3个json,以及json下的数组,就会显得非常臃肿,所以我暂时只遍历了排行榜,

歌手榜有其他的接口获取更为详细的内容,

歌手榜接口  /toplist/artist

 

[展开全文]
buzz · 2020-12-21 · 0

课时136,由于前面网易云的更新,这一步可以省略,直接用排行榜的榜单id去调用歌单详情接口,即专享list面就可以了

[展开全文]
buzz · 2020-12-21 · 0

  在构建react-app的时候,一直卡在加载资源包的地方

npm config set registry https://registry.npm.taobao.org

-- 配置后可通过下面方式来验证是否成功

npm config get registry

-- 显示出上述地址的话就是更换成功

 

npm cache clean --force

npm install create-react-app

npx create-react-app my-app

[展开全文]
flashhhh · 2022-10-26 · 0

课时140,学习,完毕,

各方面问题基本能成功解决,或者baidu查询解决,唯有slider与onTimeUpdate的bug难以解决

[展开全文]
buzz · 2020-12-22 · 0

在拖动过程中同时改变进度时间以及拖动后无法更新的解决代码

//slider拖动
  change(e) {
    var that = this
    console.log(e)
    var val = e.detail.value
    audioContext.seek(val)
    var current = audioContext.currentTime;//当前时长
    var startTime = this.turnTime(current)
    this.setData({
      val: val,
      start:startTime,
      isControl: true
    })
    setTimeout(() => {
      audioContext.pause()
      audioContext.play()
    }, 10);
  },
  changing(e) {
    var val = e.detail.value
    var startTime = this.turnTime(val)
    this.setData({
      isControl: false,
      start:startTime
    })
  }

 

[展开全文]
flashhhh · 2023-03-25 · 0

课时12,让一个图片居中,可以将图片元素image放在view里面,然后,写view的样式,添加一句

text-align:center;

也可以将图片居中显示

[展开全文]
buzz · 2020-12-24 · 0

Toast提示的引入,分3步

1.在wxml页面

添加一个Toast组件,并设置 id,其余配置在 .js 里完成。如果只有一个 Toast 组件,建议将 id 设置为 #toast,否则需要额外配置 selector 属性来指定。

 

2.在js页面,引入const { $Toast } = require('../../dist/base/index');

 

3.把提示语句写在需要函数中

$Toast({ content: '这是文本提示' });

 

另外,

const关键字用于定义常量,必须初始化,定义之后,该常量不可修改

 

var 定义变量,可以被修改,作用域window下全局的

 

let 定义变量,但是作用域只在本语句块中

 

[展开全文]
buzz · 2020-12-24 · 0

课时59中8分43秒,这里判断性别,可以使用三目,

user.gender==1?"男":(user.gender==2?"女":"未知")

[展开全文]
buzz · 2020-12-04 · 0

课时39,发现一点,就是,在JS文件中,data里面如果有变量没有被定义,可以使用

this.setdata({

index:null

})

这样的语句,动态添加,变量,因此,data如果一些变量不需要初始值的话,那么可以不用在data里面预先定义

[展开全文]
buzz · 2020-12-25 · 0

跳转页面的时候,

wx.navigateTo
保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。

 

wx.navigateBack
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

 

wx.redirectTo

关闭当前页面,跳转到应用内的某个页面。

 

wx.switchTab
跳转到tabBar页面(在app.json中注册过的tabBar页面),同时关闭其他非tabBar页面。

 
wx.reLanch
关闭所有页面,打开到应用内的某个页面。

 

[展开全文]
buzz · 2020-12-25 · 0