MODULE 05 · 路由 / 交互 / 网络 / 实战

路由·交互·网络与音乐播放器实战(第 42-60 集)

五种页面跳转与页面栈差异、四类原生交互反馈、wx.request 与 Promise 封装、下拉刷新与上拉加载分页,最终完成"搜索→列表→播放"的简易音乐播放器。

五种路由 API 对比(页面栈差异)
API
页面栈变化
能跳 tabBar
典型场景
navigateTo
保留当前页,栈 +1
不能
列表 → 详情,可返回
redirectTo
关闭当前页,替换
不能
登录后离开,不可返回
reLaunch
清空全部栈
能
退出登录、重置流程
switchTab
切 tabBar 页,关其他页
只能跳 tabBar
切换底部导航(不带参)
navigateBack
出栈返回 delta 层
—
返回上一页/上 N 页
四类原生交互反馈
Toast

showToast

轻提示,自动消失。icon: success / error / none;用于"成功""已复制"。

Loading

showLoading

加载遮罩,必须配 hideLoading 手动关闭;网络请求前后成对使用。

Modal

showModal

模态确认框,confirm/cancel 回调;"确认删除吗"等需决策场景。

ActionSheet

showActionSheet

底部操作菜单,itemList 选项;success 回调 tapIndex 取所选。

动态导航栏
setNavigationBarTitle 改标题 setNavigationBarColor 改颜色 frontColor 仅 #fff / #000 show/hideNavigationBarLoading
wx.request → Promise 封装流程
1
业务调用await get('/search')
async/await
2
统一 request拼 baseURL
注入 token / header
3
wx.requestshowLoading
发 HTTPS 请求
4
resolve / reject200 取 data
错误 toast + hideLoading
网络请求关键约束
request 常用参数
  • url:仅 HTTPS,需后台配置合法域名
  • method:GET 查询 / POST 提交
  • data:GET 拼 query,POST 放请求体
  • header:content-type、Authorization token
  • success 取 res.data;complete 关 loading
开发期绕过校验
  • 开发者工具 → 详情 → 本地设置
  • 勾选"不校验合法域名 / TLS"
  • 真机与上线前必须配置白名单
  • 不能用 IP、不支持 HTTP
分页加载:下拉刷新 + 上拉加载
下拉刷新重置第 1 页
  • 页面 json:enablePullDownRefresh: true
  • 生命周期 onPullDownRefresh 触发
  • 重置 page=1、覆盖列表
  • 完成后 wx.stopPullDownRefresh()
上拉加载追加下一页
  • 生命周期 onReachBottom 触底触发
  • onReachBottomDistance 提前触发
  • page+1,concat 追加列表
  • hasMore + loading 防止重复请求
音乐播放器实战闭环
1
搜索音乐input 关键词
wx.request 取数据
2
音乐列表wx:for 渲染
data-id 传参跳转
3
播放控制InnerAudioContext
play/pause/stop
4
后台播放BackgroundAudioManager
锁屏/通知栏
音频 API 速记
createInnerAudioContext 实例 src 设地址自动/手动播放 onPlay/onPause/onEnded/onError onUnload 必须 destroy 释放 getBackgroundAudioManager 需 title
📝 素材说明:本模块 19 集(第 42-60 集)均无视频内嵌字幕与 AI 总结,依据课程大纲与微信官方标准 API 补全;音乐实战所用接口域名需在小程序后台配置为 request/downloadFile 合法域名,实际以官方文档为准。
模块五 · 路由·交互·网络与音乐播放器实战 | 配套飞书分册文档