基于 Taro 与 typescript 开发的网易云音乐小程序(持续更新) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lsqy
V2EX    开源软件

基于 Taro 与 typescript 开发的网易云音乐小程序(持续更新)

  •  1
     
  •   lsqy 2019-09-02 18:35:51 +08:00 4320 次点击
    这是一个创建于 2316 天前的主题,其中的信息可能已经有所发展或是发生改变。

    基于Taro与网易云音乐 api 开发,技术栈主要是:typescript+taro+taro-ui+redux,目前主要是着重小程序端的展示,主要也是借此项目强化下上述几个技术栈的使用,通过这个项目也可以帮助你快速使用Taro开发一个属于你自己的小程序~

    github 地址:taro-music,感兴趣的话可以star关注下,功能会进行持续完善

    快速开始

    首先需要在 src 目录下创建一个 config.ts,可以根据自己的需要将其替换成线上地址,接口服务是使用的NeteaseCloudMusicApi

    export const baseUrl: string = 'http://localhost:3000' // 这里的配置的这个 url 是后端服务的请求地址 

    在运行本项目前,请先确保已经全局安装了 Taro,安装可见官网指导

    启动后端接口服务 git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git cd NeteaseCloudMusicApi npm i npm run start 接下来启动前端项目 git clone https://github.com/lsqy/taro-music.git cd taro-music npm i npm run dev:weapp 

    功能列表

    • [x] 用户登陆
    • [x] 退出登陆
    • [x] 我的关注列表
    • [x] 我的粉丝列表
    • [ ] 我的动态列表
    • [x] 最近播放列表
    • [ ] 我的电台
    • [ ] 我的收藏
    • [x] 推荐歌单
    • [x] 推荐电台
    • [x] 推荐电台
    • [x] 我创建的歌单列表
    • [x] 我收藏的歌单列表
    • [x] 共用的歌单详情列表
    • [x] 歌曲播放页面
    • [x] 歌词滚动
    • [x] 歌曲切换播放模式(随机播放 /单曲循环 /顺序播放)
    • [x] 切换上一首 /下一首
    • [x] 喜欢 /取消喜欢某首歌曲
    • [ ] 评论列表
    • [x] 统一的播放组件,方便进行切换页面后可以随时进入到播放页面

    目录结构简要介绍

    这里主要介绍下src目录,因为开发主要是在这个目录下进行的

    - src - actions // `redux`中的相关异步操作在这里进行 - assets // 静态资源目录,这里引入了所需的图片资源,以及`fontawesome`字体图标资源 - components // 封装的项目中可复用的组件,目前只是抽象了`CLoading`(加载效果组件)、`CLyric`(歌词组件)、`CMusic`(正在播放组件)、`CSlide`(滑块组件)、`CTitle`、`CUserListItem` - constants // 项目中的常量定义,目前定义了`typescript`的公共定义、`reducers`的名称定义、状态码的定义 - pages // 项目中的业务页面都在这个目录中 - reducers // `redux`中的相关同步操作在这里进行 - services // 可复用的服务可以放在这个目录中,目前只是封装了接口请求的公共服务,可以根据自己项目的需要进行其他服务的扩充 - store // redux 的初始文件 - utils // 可以复用的工具方法可以放到这个目录当中,目前封装了格式化、歌词解析的相关方法 - decorators // 抽象的装饰器,主要为了解决在切换页面之后仍然可以继续保持播放状态,因为目前`taro`不支持全局组件 - app.scss // 全局样式 - app.tsx // 全局入口文件 - base.scss // 基础样式 - config.ts // 项目的全局配置,目前只是配置了`baseUrl`是后端服务的基准请求地址 

    todo

    • 复用的评论列表
    • 搜索功能
    • react-hooks重构部分功能

    最近更新

    • 加入搜索功能(有待进一步完善)
    • 加入了视频播放(有待进一步完善)

    效果图预览

    下面简要列出几张效果图

    有待完善部分

    还有一些功能点以及细节都还有待进一步完善,目前先把大致主要的功能进行了下实现,当然如果发现什么问题,欢迎能够提交issues,发现之后我会及时进行更正,欢迎 starfork,感谢大家支持。

    文章首发自个人博客基于 Taro 与 typescript 开发的网易云音乐小程序

    2 条回复    2019-10-14 16:51:10 +08:00
    title1
        1
    title1  
       2019-10-11 10:27:36 +08:00
    支持,最近在想学不学 typescript
    lsqy
        2
    lsqy  
    OP
       2019-10-14 16:51:10 +08:00
    @title1 开始学吧,慢慢熟悉
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5408 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 07:47 PVG 15:47 LAX 23:47 JFK 02:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86