└── 微音乐
├── app.wxss
├── vant-ui
├── common
│ ├── style
│ │ ├── var.wxss
│ │ ├── theme.wxss
│ │ ├── mixins
│ │ │ ├── clearfix.wxss
│ │ │ ├── ellipsis.wxss
│ │ │ └── hairline.wxss
│ │ ├── clearfix.wxss
│ │ ├── ellipsis.wxss
│ │ └── hairline.wxss
│ ├── color.js
│ ├── component.d.ts
│ ├── color.d.ts
│ ├── utils.d.ts
│ ├── utils.js
│ └── index.wxss
├── definitions
│ ├── index.js
│ ├── weapp.js
│ └── index.d.ts
├── area
│ ├── index.d.ts
│ ├── index.wxss
│ ├── index.json
│ └── index.wxml
├── card
│ ├── index.d.ts
│ ├── index.json
│ ├── index.js
│ └── index.wxss
├── cell
│ ├── index.d.ts
│ ├── index.json
│ ├── index.js
│ └── index.wxml
├── col
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ └── index.js
├── field
│ ├── index.d.ts
│ └── index.json
├── grid
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ └── index.wxml
├── icon
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ └── index.js
├── info
│ ├── index.d.ts
│ ├── index.json
│ ├── index.js
│ ├── index.wxml
│ └── index.wxss
├── panel
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ ├── index.js
│ └── index.wxml
├── popup
│ ├── index.d.ts
│ ├── index.json
│ └── index.wxml
├── radio
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── rate
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ └── index.wxml
├── row
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ ├── index.wxml
│ └── index.js
├── steps
│ ├── index.d.ts
│ ├── index.json
│ ├── index.js
│ └── index.wxml
├── tab
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ ├── index.wxml
│ └── index.js
├── tabs
│ ├── index.d.ts
│ └── index.json
├── tag
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ ├── index.js
│ └── index.wxss
├── toast
│ ├── index.d.ts
│ ├── index.json
│ ├── index.js
│ ├── index.wxml
│ ├── toast.d.ts
│ └── index.wxss
├── button
│ ├── index.d.ts
│ └── index.json
├── cell-group
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ ├── index.wxml
│ └── index.js
├── checkbox
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── circle
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ └── index.wxml
├── collapse
│ ├── index.d.ts
│ ├── index.wxss
│ ├── index.json
│ ├── index.wxml
│ └── index.js
├── dialog
│ ├── index.d.ts
│ ├── index.json
│ └── index.wxss
├── divider
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ ├── index.js
│ └── index.wxss
├── grid-item
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── loading
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ └── index.js
├── nav-bar
│ ├── index.d.ts
│ ├── index.json
│ ├── index.js
│ ├── index.wxss
│ └── index.wxml
├── notice-bar
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ └── index.wxml
├── notify
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ ├── notify.d.ts
│ ├── index.wxss
│ ├── notify.js
│ └── index.js
├── overlay
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ ├── index.wxml
│ └── index.js
├── picker
│ ├── index.d.ts
│ ├── index.json
│ ├── shared.js
│ ├── shared.d.ts
│ └── index.wxss
├── progress
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxs
│ ├── index.wxss
│ ├── index.wxml
│ └── index.js
├── radio-group
│ ├── index.wxml
│ ├── index.d.ts
│ ├── index.wxss
│ ├── index.json
│ └── index.js
├── search
│ ├── index.d.ts
│ ├── index.json
│ └── index.wxss
├── sidebar
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ ├── index.wxml
│ └── index.js
├── slider
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ └── index.wxml
├── stepper
│ ├── index.d.ts
│ ├── index.json
│ └── index.wxml
├── sticky
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ └── index.wxml
├── submit-bar
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ └── index.js
├── swipe-cell
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ └── index.wxml
├── switch
│ ├── index.d.ts
│ ├── index.json
│ └── index.wxml
├── tabbar
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ └── index.wxml
├── transition
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ └── index.js
├── action-sheet
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ └── index.js
├── checkbox-group
│ ├── index.d.ts
│ ├── index.wxml
│ ├── index.wxss
│ ├── index.json
│ └── index.js
├── collapse-item
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── datetime-picker
│ ├── index.d.ts
│ ├── index.wxss
│ ├── index.json
│ └── index.wxml
├── goods-action
│ ├── index.d.ts
│ ├── index.json
│ ├── index.js
│ ├── index.wxml
│ └── index.wxss
├── picker-column
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxs
│ ├── index.wxss
│ └── index.wxml
├── sidebar-item
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxml
│ ├── index.wxss
│ └── index.js
├── tabbar-item
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ ├── index.wxml
│ └── index.js
├── tree-select
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxs
│ ├── index.wxss
│ └── index.wxml
├── goods-action-button
│ ├── index.d.ts
│ ├── index.wxss
│ ├── index.json
│ ├── index.js
│ └── index.wxml
├── goods-action-icon
│ ├── index.d.ts
│ ├── index.json
│ ├── index.wxss
│ ├── index.js
│ └── index.wxml
├── mixins
│ ├── link.d.ts
│ ├── basic.d.ts
│ ├── button.d.ts
│ ├── touch.d.ts
│ ├── open-type.d.ts
│ ├── observer
│ │ ├── behavior.d.ts
│ │ ├── index.d.ts
│ │ ├── behavior.js
│ │ └── index.js
│ ├── transition.d.ts
│ ├── safe-area.d.ts
│ ├── link.js
│ ├── button.js
│ ├── basic.js
│ ├── open-type.js
│ ├── touch.js
│ └── safe-area.js
└── wxs
│ ├── array.wxs
│ ├── utils.wxs
│ ├── object.wxs
│ ├── bem.wxs
│ └── memoize.wxs
├── package.json
├── pages
├── my
│ ├── my.json
│ └── my.js
├── dish
│ ├── dish.json
│ ├── dish.js
│ └── dish.wxml
├── home
│ ├── home.json
│ ├── home.js
│ ├── home.wxml
│ └── home.wxss
├── index
│ ├── index.json
│ ├── index.wxml
│ ├── index.wxss
│ └── index.js
├── djRadio
│ ├── djRadio.json
│ ├── djRadio.wxml
│ ├── djRadio.wxss
│ └── djRadio.js
├── programs
│ ├── programs.json
│ ├── programs.wxml
│ ├── programs.js
│ └── programs.wxss
├── toplist
│ ├── toplist.json
│ ├── toplist.wxml
│ ├── toplist.js
│ └── toplist.wxss
├── dish-more
│ ├── dish-more.json
│ ├── dish-more.wxml
│ ├── dish-more.js
│ └── dish-more.wxss
├── music-list
│ ├── music-list.json
│ └── music-list.js
├── music-play
│ ├── music-play.json
│ ├── music-play.wxml
│ └── music-play.js
├── mv-detail
│ ├── mv-detail.json
│ ├── mv-detail.js
│ ├── mv-detail.wxml
│ └── mv-detail.wxss
├── search-play
│ ├── search-play.json
│ ├── search-play.wxml
│ └── search-play.js
├── singerMore
│ ├── singerMore.json
│ ├── singerMore.js
│ ├── singerMore.wxml
│ └── singerMore.wxss
├── singerSongs
│ ├── singerSongs.json
│ ├── singerSongs.js
│ └── singerSongs.wxml
├── songs-play
│ ├── songs-play.json
│ ├── songs-play.wxml
│ └── songs-play.js
├── lists
│ ├── lists.json
│ └── lists.wxss
├── search
│ ├── search.json
│ └── search.js
├── create-list
│ ├── create-list.json
│ ├── create-list.js
│ └── create-list.wxml
├── create-music
│ ├── create-music.json
│ ├── create-music.js
│ └── create-music.wxml
├── mv
│ ├── mv.wxss
│ ├── mv.json
│ ├── mv.wxml
│ └── mv.js
└── music
│ └── music.json
├── app.js
├── components
├── Cat
│ ├── Cat.json
│ ├── Cat.wxml
│ ├── Cat.wxss
│ └── Cat.js
├── List
│ ├── List.json
│ ├── List.wxml
│ └── List.js
└── Mv
│ ├── Mv.json
│ ├── Mv.wxml
│ ├── Mv.wxss
│ └── Mv.js
├── images
├── 1.jpg
├── 2.jpg
├── 3.jpg
├── 4.jpg
├── 赞.png
├── 1.1.jpg
├── 1.2.jpg
├── 1.3.jpg
├── 1.4.jpg
├── 1.5.jpg
├── bg.jpg
├── mv.png
├── p0.png
├── 三角形.png
├── 下载.png
├── 加号.png
├── 播放.png
├── 文件夹.png
├── 暂停.png
├── 短信.png
├── 转发.png
├── 音乐.png
├── 音符.png
├── list-a.png
├── list.png
├── lists.png
├── logo.jpeg
├── logo.jpg
├── music.png
├── mv-a.png
├── mv02.png
├── person.jpg
├── play.png
├── rank.png
├── stop.png
├── 五角星 .png
├── lists-a.png
├── music-a.png
├── personal.png
├── 三角形 (1).png
├── icon_play.png
├── music-list.png
├── person-icon.png
└── personal-a.png
├── jsconfig.json
├── yarn.lock
├── .vscode
└── settings.json
├── sitemap.json
├── node_modules
└── .yarn-integrity
├── package-lock.json
├── models
├── cat.js
└── my.js
└── utils
└── filter.wxs
/微音乐/app.wxss:
--------------------------------------------------------------------------------
1 | /**app.wxss**/
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/style/var.wxss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/definitions/index.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/definitions/weapp.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/style/theme.wxss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/area/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/card/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/col/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/field/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/grid/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/icon/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/info/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/panel/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/popup/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/radio/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/rate/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/row/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/steps/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tab/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabs/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tag/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/toast/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/button/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/cell-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/checkbox/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/circle/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/collapse/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/style/mixins/clearfix.wxss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/style/mixins/ellipsis.wxss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/style/mixins/hairline.wxss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/dialog/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/divider/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/grid-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/loading/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/nav-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/notice-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/notify/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/overlay/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/progress/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/radio-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/search/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/slider/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/stepper/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/sticky/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/submit-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/swipe-cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/switch/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabbar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/transition/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {}
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/action-sheet/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/checkbox-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/checkbox-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/collapse-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/datetime-picker/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker-column/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/radio-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabbar-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tree-select/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/pages/my/my.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/area/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-button/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-icon/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tab/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/tag/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/dish/dish.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/home/home.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/col/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/collapse/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/微音乐/vant-ui/grid/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/info/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/loading/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/row/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/stepper/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/djRadio/djRadio.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/programs/programs.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/toplist/toplist.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/cell-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/checkbox-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/微音乐/vant-ui/circle/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/collapse/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/link.d.ts:
--------------------------------------------------------------------------------
1 | export declare const link: string;
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker-column/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/progress/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/radio-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/slider/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/sticky/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabbar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/transition/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/dish-more/dish-more.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/music-list/music-list.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/music-play/music-play.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/mv-detail/mv-detail.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/search-play/search-play.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/singerMore/singerMore.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/singerSongs/singerSongs.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/pages/songs-play/songs-play.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/checkbox-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/datetime-picker/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/basic.d.ts:
--------------------------------------------------------------------------------
1 | export declare const basic: string;
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/button.d.ts:
--------------------------------------------------------------------------------
1 | export declare const button: string;
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/touch.d.ts:
--------------------------------------------------------------------------------
1 | export declare const touch: string;
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/radio-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/swipe-cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/open-type.d.ts:
--------------------------------------------------------------------------------
1 | export declare const openType: string;
2 |
--------------------------------------------------------------------------------
/微音乐/app.js:
--------------------------------------------------------------------------------
1 | //app.js
2 | App({
3 | onLaunch: function () {
4 | },
5 |
6 | })
--------------------------------------------------------------------------------
/微音乐/components/Cat/Cat.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/observer/behavior.d.ts:
--------------------------------------------------------------------------------
1 | export declare const behavior: string;
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-sidebar{width:85px}
--------------------------------------------------------------------------------
/微音乐/components/List/List.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/微音乐/images/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/1.jpg
--------------------------------------------------------------------------------
/微音乐/images/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/2.jpg
--------------------------------------------------------------------------------
/微音乐/images/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/3.jpg
--------------------------------------------------------------------------------
/微音乐/images/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/4.jpg
--------------------------------------------------------------------------------
/微音乐/images/赞.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/赞.png
--------------------------------------------------------------------------------
/微音乐/vant-ui/divider/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/sticky/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-sticky{position:relative}
--------------------------------------------------------------------------------
/微音乐/images/1.1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/1.1.jpg
--------------------------------------------------------------------------------
/微音乐/images/1.2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/1.2.jpg
--------------------------------------------------------------------------------
/微音乐/images/1.3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/1.3.jpg
--------------------------------------------------------------------------------
/微音乐/images/1.4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/1.4.jpg
--------------------------------------------------------------------------------
/微音乐/images/1.5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/1.5.jpg
--------------------------------------------------------------------------------
/微音乐/images/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/bg.jpg
--------------------------------------------------------------------------------
/微音乐/images/mv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/mv.png
--------------------------------------------------------------------------------
/微音乐/images/p0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/p0.png
--------------------------------------------------------------------------------
/微音乐/images/三角形.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/三角形.png
--------------------------------------------------------------------------------
/微音乐/images/下载.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/下载.png
--------------------------------------------------------------------------------
/微音乐/images/加号.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/加号.png
--------------------------------------------------------------------------------
/微音乐/images/播放.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/播放.png
--------------------------------------------------------------------------------
/微音乐/images/文件夹.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/文件夹.png
--------------------------------------------------------------------------------
/微音乐/images/暂停.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/暂停.png
--------------------------------------------------------------------------------
/微音乐/images/短信.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/短信.png
--------------------------------------------------------------------------------
/微音乐/images/转发.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/转发.png
--------------------------------------------------------------------------------
/微音乐/images/音乐.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/音乐.png
--------------------------------------------------------------------------------
/微音乐/images/音符.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/音符.png
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/style/clearfix.wxss:
--------------------------------------------------------------------------------
1 | .van-clearfix:after{display:table;clear:both;content:""}
--------------------------------------------------------------------------------
/微音乐/components/Mv/Mv.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 |
5 | }
6 | }
--------------------------------------------------------------------------------
/微音乐/images/list-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/list-a.png
--------------------------------------------------------------------------------
/微音乐/images/list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/list.png
--------------------------------------------------------------------------------
/微音乐/images/lists.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/lists.png
--------------------------------------------------------------------------------
/微音乐/images/logo.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/logo.jpeg
--------------------------------------------------------------------------------
/微音乐/images/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/logo.jpg
--------------------------------------------------------------------------------
/微音乐/images/music.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/music.png
--------------------------------------------------------------------------------
/微音乐/images/mv-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/mv-a.png
--------------------------------------------------------------------------------
/微音乐/images/mv02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/mv02.png
--------------------------------------------------------------------------------
/微音乐/images/person.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/person.jpg
--------------------------------------------------------------------------------
/微音乐/images/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/play.png
--------------------------------------------------------------------------------
/微音乐/images/rank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/rank.png
--------------------------------------------------------------------------------
/微音乐/images/stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/stop.png
--------------------------------------------------------------------------------
/微音乐/images/五角星 .png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/五角星 .png
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-button/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';:host{-webkit-flex:1;flex:1}
--------------------------------------------------------------------------------
/微音乐/images/lists-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/lists-a.png
--------------------------------------------------------------------------------
/微音乐/images/music-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/music-a.png
--------------------------------------------------------------------------------
/微音乐/images/personal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/personal.png
--------------------------------------------------------------------------------
/微音乐/images/三角形 (1).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/三角形 (1).png
--------------------------------------------------------------------------------
/微音乐/pages/lists/lists.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "v-cat":"/components/Cat/Cat"
4 | }
5 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/transition.d.ts:
--------------------------------------------------------------------------------
1 | export declare const transition: (showDefaultValue: boolean) => any;
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/row/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-row:after{display:table;clear:both;content:""}
--------------------------------------------------------------------------------
/微音乐/images/icon_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/icon_play.png
--------------------------------------------------------------------------------
/微音乐/images/music-list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/music-list.png
--------------------------------------------------------------------------------
/微音乐/images/person-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/person-icon.png
--------------------------------------------------------------------------------
/微音乐/images/personal-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangsiman0419/small-music/HEAD/微音乐/images/personal-a.png
--------------------------------------------------------------------------------
/微音乐/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2015",
4 | "module": "commonjs"
5 | }
6 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/observer/index.d.ts:
--------------------------------------------------------------------------------
1 | export declare function observe(vantOptions: any, options: any): void;
2 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/row/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/微音乐/pages/search/search.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-search": "/vant-ui/search/index"
4 | }
5 | }
--------------------------------------------------------------------------------
/微音乐/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 |
--------------------------------------------------------------------------------
/微音乐/pages/create-list/create-list.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "v-list":"/components/List/List"
4 | }
5 | }
--------------------------------------------------------------------------------
/微音乐/pages/create-music/create-music.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "v-list":"/components/List/List"
4 | }
5 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/grid/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-grid{position:relative;box-sizing:border-box;overflow:hidden}
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar/index.wxml:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/card/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-tag": "../tag/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/icon/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/nav-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/notice-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/panel/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/radio/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/rate/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/steps/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabs/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/area/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-picker": "../picker/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/checkbox/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/grid-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/search/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-field": "../field/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/switch/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-loading": "../loading/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tree-select/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/collapse-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/pages/mv/mv.wxss:
--------------------------------------------------------------------------------
1 | /* pages/mv/mv.wxss */
2 | .list{
3 | display: flex;
4 | flex-wrap: wrap;
5 | justify-content: space-around;
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/collapse/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/datetime-picker/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-picker": "../picker/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/grid/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/notify/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-transition": "../transition/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/overlay/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-transition": "../transition/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-button/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-button": "../button/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/wxs/array.wxs:
--------------------------------------------------------------------------------
1 | function isArray(array) {
2 | return array && array.constructor === 'Array';
3 | }
4 |
5 | module.exports.isArray = isArray;
6 |
--------------------------------------------------------------------------------
/微音乐/pages/music/music.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-search": "/vant-ui/search/index",
4 | "van-loading": "/vant-ui/loading/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/progress/index.wxs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | text: function(pivotText, percentage) {
3 | return pivotText || percentage + '%';
4 | }
5 | };
6 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/field/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index",
5 | "van-icon": "../icon/index"
6 | }
7 | }
--------------------------------------------------------------------------------
/微音乐/pages/mv/mv.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-tab": "/vant-ui/tab/index",
4 | "van-tabs": "/vant-ui/tabs/index",
5 | "v-mv":"/components/Mv/Mv"
6 | }
7 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/button/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/cell-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-cell-group__title{padding:15px 15px 5px;font-size:14px;line-height:16px;color:#999;color:var(--gray-dark,#999)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/dialog/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-popup": "../popup/index",
5 | "van-button": "../button/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/popup/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-overlay": "../overlay/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/submit-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-button": "../button/index",
5 | "van-icon": "../icon/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabbar-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-info": "../info/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-icon/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-button": "../button/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "picker-column": "../picker-column/index",
5 | "loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/微音乐/pages/home/home.js:
--------------------------------------------------------------------------------
1 | // pages/home/home.js
2 | Page({
3 | data: {
4 |
5 | },
6 | handleTab(){
7 | wx.switchTab({
8 | url: '/pages/music/music',
9 | })
10 | }
11 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/tab/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tab__pane{box-sizing:border-box;overflow-y:auto}.van-tab__pane--active{height:auto}.van-tab__pane--inactive{height:0;overflow:visible}
--------------------------------------------------------------------------------
/微音乐/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.associations": {
3 | "*.cjson": "jsonc",
4 | "*.wxss": "css",
5 | "*.wxs": "javascript",
6 | "*.wxml": "html"
7 | }
8 | }
--------------------------------------------------------------------------------
/微音乐/sitemap.json:
--------------------------------------------------------------------------------
1 | {
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
3 | "rules": [{
4 | "action": "allow",
5 | "page": "*"
6 | }]
7 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { safeArea } from '../mixins/safe-area';
3 | VantComponent({
4 | mixins: [safeArea()]
5 | });
6 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/wxs/utils.wxs:
--------------------------------------------------------------------------------
1 | var bem = require('./bem.wxs').bem;
2 | var memoize = require('./memoize.wxs').memoize;
3 |
4 | module.exports = {
5 | bem: memoize(bem),
6 | memoize: memoize
7 | };
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/safe-area.d.ts:
--------------------------------------------------------------------------------
1 | export declare const safeArea: ({ safeAreaInsetBottom, safeAreaInsetTop }?: {
2 | safeAreaInsetBottom?: boolean;
3 | safeAreaInsetTop?: boolean;
4 | }) => string;
5 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/panel/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-panel{background:#fff;background:var(--white,#fff)}.van-panel__header-value{color:#ee0a24;color:var(--red,#ee0a24)}.van-panel__footer{padding:10px 15px}
--------------------------------------------------------------------------------
/微音乐/vant-ui/info/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | dot: Boolean,
5 | info: null,
6 | customStyle: String
7 | }
8 | });
9 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/overlay/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);background-color:var(--overlay-background-color,rgba(0,0,0,.7))}
--------------------------------------------------------------------------------
/微音乐/vant-ui/action-sheet/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-popup": "../popup/index",
6 | "van-loading": "../loading/index"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/sticky/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/微音乐/components/Cat/Cat.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{data.name}}
5 |
6 |
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/col/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/overlay/index.wxml:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/cell-group/index.wxml:
--------------------------------------------------------------------------------
1 |
5 | {{ title }}
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/微音乐/pages/index/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{name}}
5 |
6 |
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/cell-group/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | title: String,
5 | border: {
6 | type: Boolean,
7 | value: true
8 | }
9 | }
10 | });
11 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/color.js:
--------------------------------------------------------------------------------
1 | export const RED = '#ee0a24';
2 | export const BLUE = '#1989fa';
3 | export const WHITE = '#fff';
4 | export const GREEN = '#07c160';
5 | export const ORANGE = '#ff976a';
6 | export const GRAY = '#323233';
7 | export const GRAY_DARK = '#969799';
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/info/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ dot ? '' : info }}
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/toast/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index",
6 | "van-overlay": "../overlay/index",
7 | "van-transition": "../transition/index"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/circle/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-circle{position:relative;display:inline-block;text-align:center}.van-circle__text{position:absolute;top:50%;left:0;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#333;color:var(--circle-text-color,#333)}
--------------------------------------------------------------------------------
/微音乐/pages/index/index.wxss:
--------------------------------------------------------------------------------
1 | /**index.wxss**/
2 | image{
3 | width: 120rpx;
4 | height: 120rpx;
5 | border-radius: 50%;
6 | margin-top: 300rpx;
7 | }
8 | .container{
9 | text-align: center;
10 | }
11 | button{
12 | margin-top: 250rpx;
13 | color: #333;
14 | font-size: 35rpx;
15 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-goods-action{position:fixed;right:0;bottom:0;left:0;display:-webkit-flex;display:flex;background-color:#fff;background-color:var(--white,#fff)}.van-goods-action--safe{padding-bottom:34px;padding-bottom:var(--safe-area-inset-bottom,34px)}
--------------------------------------------------------------------------------
/微音乐/pages/home/home.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | "那些听着听着就笑了的音乐"
5 | --by 微音乐
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker-column/index.wxs:
--------------------------------------------------------------------------------
1 | function isObj(x) {
2 | var type = typeof x;
3 | return x !== null && (type === 'object' || type === 'function');
4 | }
5 |
6 | module.exports = function (option, valueKey) {
7 | return isObj(option) && option[valueKey] != null ? option[valueKey] : option;
8 | }
9 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/panel/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | classes: ['header-class', 'footer-class'],
4 | props: {
5 | desc: String,
6 | title: String,
7 | status: String,
8 | useFooterSlot: Boolean
9 | }
10 | });
11 |
--------------------------------------------------------------------------------
/微音乐/node_modules/.yarn-integrity:
--------------------------------------------------------------------------------
1 | {
2 | "systemParams": "win32-x64-64",
3 | "modulesFolders": [
4 | "node_modules"
5 | ],
6 | "flags": [
7 | "production"
8 | ],
9 | "linkedModules": [],
10 | "topLevelPatterns": [],
11 | "lockfileEntries": {},
12 | "files": [],
13 | "artifacts": {}
14 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/component.d.ts:
--------------------------------------------------------------------------------
1 | import { VantComponentOptions, CombinedComponentInstance } from '../definitions/index';
2 | declare function VantComponent(vantOptions?: VantComponentOptions>): void;
3 | export { VantComponent };
4 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabbar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tabbar{display:-webkit-flex;display:flex;width:100%;height:50px;background-color:#fff;background-color:var(--white,#fff)}.van-tabbar--fixed{position:fixed;bottom:0;left:0}.van-tabbar--safe{padding-bottom:34px;padding-bottom:var(--safe-area-inset-bottom,34px)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/circle/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ text }}
7 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabbar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/color.d.ts:
--------------------------------------------------------------------------------
1 | export declare const RED = "#ee0a24";
2 | export declare const BLUE = "#1989fa";
3 | export declare const WHITE = "#fff";
4 | export declare const GREEN = "#07c160";
5 | export declare const ORANGE = "#ff976a";
6 | export declare const GRAY = "#323233";
7 | export declare const GRAY_DARK = "#969799";
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/style/ellipsis.wxss:
--------------------------------------------------------------------------------
1 | .van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}
--------------------------------------------------------------------------------
/微音乐/vant-ui/wxs/object.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var REGEXP = getRegExp('{|}|"', 'g');
3 |
4 | function keys(obj) {
5 | return JSON.stringify(obj)
6 | .replace(REGEXP, '')
7 | .split(',')
8 | .map(function(item) {
9 | return item.split(':')[0];
10 | });
11 | }
12 |
13 | module.exports.keys = keys;
14 |
--------------------------------------------------------------------------------
/微音乐/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "requires": true,
3 | "lockfileVersion": 1,
4 | "dependencies": {
5 | "vant-weapp": {
6 | "version": "0.5.23",
7 | "resolved": "https://registry.npm.taobao.org/vant-weapp/download/vant-weapp-0.5.23.tgz",
8 | "integrity": "sha1-49zxYuFfdOZjeptviOMkrPELUVU="
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker-column/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-picker-column{overflow:hidden;font-size:16px;text-align:center;color:#999;color:var(--gray-dark,#999)}.van-picker-column__item{padding:0 5px}.van-picker-column__item--selected{font-weight:500;color:#333;color:var(--text-color,#333)}.van-picker-column__item--disabled{opacity:.3}
--------------------------------------------------------------------------------
/微音乐/vant-ui/tree-select/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var array = require('../wxs/array.wxs');
3 |
4 | function isActive (activeList, itemId) {
5 | if (array.isArray(activeList)) {
6 | return activeList.indexOf(itemId) > -1;
7 | }
8 |
9 | return activeList === itemId;
10 | }
11 |
12 | module.exports.isActive = isActive;
13 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tab/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/transition/index.wxml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/微音乐/components/Cat/Cat.wxss:
--------------------------------------------------------------------------------
1 | /* components/Cat/Cat.wxss */
2 | .list{
3 | display: flex;
4 | flex-direction: column;
5 | padding-top: 20rpx;
6 | }
7 | image{
8 | width:180rpx;
9 | height: 240rpx;
10 | }
11 | text{
12 | font-size: 30rpx;
13 | width: 185rpx;
14 | overflow: hidden;
15 | text-overflow: ellipsis;
16 | white-space: nowrap;
17 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/swipe-cell/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-swipe-cell{position:relative;overflow:hidden}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/rate/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-rate{display:inline-block;-webkit-user-select:none;user-select:none}.van-rate__item{position:relative;display:inline-block;padding:0 2px;padding:0 var(--rate-horizontal-padding,2px)}.van-rate__icon{display:block;height:1em}.van-rate__icon--half{position:absolute;top:0;width:.5em;overflow:hidden;left:2px;left:var(--rate-horizontal-padding,2px)}
--------------------------------------------------------------------------------
/微音乐/pages/create-list/create-list.js:
--------------------------------------------------------------------------------
1 | // pages/create-list/create-list.js
2 | const http=require('../../models/my')
3 | Page({
4 | data: {
5 | songs:[]
6 | },
7 |
8 | /**
9 | * 生命周期函数--监听页面加载
10 | */
11 | onLoad:async function (options) {
12 | var res=await http.getCreate();
13 | var songs=res.data;
14 | this.setData({
15 | songs
16 | })
17 | },
18 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/divider/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tag/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tag/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | size: String,
5 | mark: Boolean,
6 | color: String,
7 | plain: Boolean,
8 | round: Boolean,
9 | textColor: String,
10 | type: {
11 | type: String,
12 | value: 'default'
13 | }
14 | }
15 | });
16 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/transition/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { transition } from '../mixins/transition';
3 | VantComponent({
4 | classes: [
5 | 'enter-class',
6 | 'enter-active-class',
7 | 'enter-to-class',
8 | 'leave-class',
9 | 'leave-active-class',
10 | 'leave-to-class'
11 | ],
12 | mixins: [transition(true)]
13 | });
14 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/notify/index.wxml:
--------------------------------------------------------------------------------
1 |
8 |
9 | {{ message }}
10 |
11 |
--------------------------------------------------------------------------------
/微音乐/pages/dish-more/dish-more.wxml:
--------------------------------------------------------------------------------
1 |
2 | 新碟列表
3 |
4 |
5 |
6 | {{item.artist.name}}
7 | {{tools.formats(item.name)}}
8 |
9 |
10 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-icon/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-goods-action-icon{width:50px!important;border:none!important}.van-goods-action-icon__content{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;height:100%;font-size:10px;line-height:1;color:#7d7e80;color:var(--gray-darker,#7d7e80)}.van-goods-action-icon__icon{margin-bottom:4px}
--------------------------------------------------------------------------------
/微音乐/vant-ui/loading/index.wxml:
--------------------------------------------------------------------------------
1 |
5 |
9 |
15 |
16 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/link.js:
--------------------------------------------------------------------------------
1 | export const link = Behavior({
2 | properties: {
3 | url: String,
4 | linkType: {
5 | type: String,
6 | value: 'navigateTo'
7 | }
8 | },
9 | methods: {
10 | jumpLink(urlKey = 'url') {
11 | const url = this.data[urlKey];
12 | if (url) {
13 | wx[this.data.linkType]({ url });
14 | }
15 | }
16 | }
17 | });
18 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/observer/behavior.js:
--------------------------------------------------------------------------------
1 | export const behavior = Behavior({
2 | methods: {
3 | set(data, callback) {
4 | return new Promise(resolve => {
5 | this.setData(data, () => {
6 | if (callback && typeof callback === 'function') {
7 | callback.call(this);
8 | }
9 | resolve();
10 | });
11 | });
12 | }
13 | }
14 | });
15 |
--------------------------------------------------------------------------------
/微音乐/components/Mv/Mv.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{tools.format(data.name)}}
6 | 作者:{{data.artistName}}
7 |
8 |
9 | {{tools.playcount(data.playCount)}}
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker/shared.js:
--------------------------------------------------------------------------------
1 | export const pickerProps = {
2 | title: String,
3 | loading: Boolean,
4 | showToolbar: Boolean,
5 | cancelButtonText: {
6 | type: String,
7 | value: '取消'
8 | },
9 | confirmButtonText: {
10 | type: String,
11 | value: '确认'
12 | },
13 | visibleItemCount: {
14 | type: Number,
15 | value: 5
16 | },
17 | itemHeight: {
18 | type: Number,
19 | value: 44
20 | }
21 | };
22 |
--------------------------------------------------------------------------------
/微音乐/pages/dish-more/dish-more.js:
--------------------------------------------------------------------------------
1 | // pages/dish-more/dish-more.js
2 | const http=require('../../models/http')
3 | Page({
4 |
5 | data: {
6 | album:[]
7 | },
8 | onLoad:async function (options) {
9 | var album=await http.Album();
10 | var albums=album.data.albums
11 | this.setData({
12 | albums
13 | })
14 | },
15 | handleClick(event){
16 | var {id}=event.currentTarget.dataset;
17 | wx.navigateTo({
18 | url: '/pages/dish/dish?id='+id,
19 | });
20 | },
21 | })
--------------------------------------------------------------------------------
/微音乐/components/Cat/Cat.js:
--------------------------------------------------------------------------------
1 | // components/Cat/Cat.js
2 | Component({
3 | /**
4 | * 组件的属性列表
5 | */
6 | properties: {
7 | data:{
8 | type:Object
9 | }
10 | },
11 |
12 | /**
13 | * 组件的初始数据
14 | */
15 | data: {
16 |
17 | },
18 |
19 | /**
20 | * 组件的方法列表
21 | */
22 | methods: {
23 | handleClick(){
24 | var id=this.properties.data.id;
25 | wx.navigateTo({
26 | url: '/pages/music-list/music-list?id='+id,
27 | })
28 | }
29 | }
30 | })
31 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/notify/notify.d.ts:
--------------------------------------------------------------------------------
1 | interface NotifyOptions {
2 | type?: 'primary' | 'success' | 'danger' | 'warning';
3 | color?: string;
4 | zIndex?: number;
5 | message: string;
6 | context?: any;
7 | duration?: number;
8 | selector?: string;
9 | background?: string;
10 | safeAreaInsetTop?: boolean;
11 | onClick?: () => void;
12 | onOpened?: () => void;
13 | onClose?: () => void;
14 | }
15 | export default function Notify(options: NotifyOptions | string): void;
16 | export {};
17 |
--------------------------------------------------------------------------------
/微音乐/components/Mv/Mv.wxss:
--------------------------------------------------------------------------------
1 | /* components/Mv/Mv.wxss */
2 | .list{
3 | width: 200rpx;
4 | margin-top: 10px;
5 | position: relative;
6 | }
7 | .list image{
8 | width: 200rpx;
9 | height: 200rpx;
10 | border-radius: 30rpx;
11 | }
12 | .list text,.name{
13 | width: 220rpx;
14 | font-size: 30rpx;
15 | }
16 | .playcount{
17 | position: absolute;
18 | top: 10rpx;
19 | right: 10rpx;
20 | color: #fff;
21 | font-size: 30rpx;
22 | }
23 | .playcount .icon{
24 | width: 30rpx;
25 | height: 30rpx;
26 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/button.js:
--------------------------------------------------------------------------------
1 | export const button = Behavior({
2 | externalClasses: ['hover-class'],
3 | properties: {
4 | id: String,
5 | lang: {
6 | type: String,
7 | value: 'en'
8 | },
9 | businessId: Number,
10 | sessionFrom: String,
11 | sendMessageTitle: String,
12 | sendMessagePath: String,
13 | sendMessageImg: String,
14 | showMessageCard: Boolean,
15 | appParameter: String,
16 | ariaLabel: String
17 | }
18 | });
19 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
19 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/utils.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | export declare function isDef(value: any): boolean;
3 | export declare function isObj(x: any): boolean;
4 | export declare function isNumber(value: any): boolean;
5 | export declare function range(num: number, min: number, max: number): number;
6 | export declare function nextTick(fn: Function): void;
7 | export declare function getSystemInfoSync(): WechatMiniprogram.GetSystemInfoSuccessCallbackResult;
8 | export declare function addUnit(value?: string | number): string | undefined;
9 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/overlay/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | show: Boolean,
5 | customStyle: String,
6 | duration: {
7 | type: null,
8 | value: 300
9 | },
10 | zIndex: {
11 | type: Number,
12 | value: 1
13 | }
14 | },
15 | methods: {
16 | onClick() {
17 | this.$emit('click');
18 | },
19 | // for prevent touchmove
20 | noop() { }
21 | }
22 | });
23 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/progress/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-progress{position:relative;height:4px;border-radius:4px;background:#e5e5e5;background:var(--gray-light,#e5e5e5)}.van-progress__portion{position:absolute;left:0;height:100%;border-radius:inherit}.van-progress__pivot{position:absolute;top:50%;right:0;box-sizing:border-box;min-width:2em;padding:0 5px;font-size:10px;line-height:1.6;text-align:center;word-break:keep-all;border-radius:1em;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#e5e5e5;background-color:var(--gray-light,#e5e5e5)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/switch/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/微音乐/pages/singerMore/singerMore.js:
--------------------------------------------------------------------------------
1 | const http=require('../../models/http')
2 | Page({
3 | data: {
4 | artists:[]
5 | },
6 | onLoad:async function (options) {
7 | var res=await http.HotSinger();
8 | var artists=res.data.artists
9 | this.setData({
10 | artists
11 | })
12 | },
13 | handleClick(event){
14 | var {id,name}=event.currentTarget.dataset;
15 | var pic=escape(event.currentTarget.dataset.pic)
16 | wx.navigateTo({
17 | url: `/pages/singerSongs/singerSongs?id=${id}&pic=${pic}&name=${name}`,
18 | });
19 | },
20 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/datetime-picker/index.wxml:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/微音乐/pages/music-play/music-play.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{name}}
6 | {{author}}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/微音乐/pages/songs-play/songs-play.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{name}}
6 | {{author}}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/area/index.wxml:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker/shared.d.ts:
--------------------------------------------------------------------------------
1 | export declare const pickerProps: {
2 | title: StringConstructor;
3 | loading: BooleanConstructor;
4 | showToolbar: BooleanConstructor;
5 | cancelButtonText: {
6 | type: StringConstructor;
7 | value: string;
8 | };
9 | confirmButtonText: {
10 | type: StringConstructor;
11 | value: string;
12 | };
13 | visibleItemCount: {
14 | type: NumberConstructor;
15 | value: number;
16 | };
17 | itemHeight: {
18 | type: NumberConstructor;
19 | value: number;
20 | };
21 | };
22 |
--------------------------------------------------------------------------------
/微音乐/pages/search-play/search-play.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{name}}
6 | {{author}}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/微音乐/pages/dish-more/dish-more.wxss:
--------------------------------------------------------------------------------
1 | /* pages/dish-more/dish-more.wxss */
2 | .album-box{
3 | display: flex;
4 | flex-wrap: wrap;
5 | justify-content: space-evenly;
6 | }
7 | .album{
8 | width: 220rpx;
9 | display: flex;
10 | flex-direction: column;
11 | margin-bottom: 30rpx;
12 | }
13 | .album image{
14 | width: 220rpx;
15 | height: 200rpx;
16 | border-radius: 30rpx;
17 | }
18 | .album text{
19 | font-size: 25rpx;
20 | }
21 | .top{
22 | font-size: 45rpx;
23 | color: #c20c0c;
24 | text-align: center;
25 | font-weight: bold;
26 | margin: 30rpx 0;
27 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/panel/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/icon/index.wxml:
--------------------------------------------------------------------------------
1 |
6 |
12 |
18 |
19 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/steps/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { GREEN } from '../common/color';
3 | VantComponent({
4 | props: {
5 | icon: String,
6 | steps: Array,
7 | active: Number,
8 | direction: {
9 | type: String,
10 | value: 'horizontal'
11 | },
12 | activeColor: {
13 | type: String,
14 | value: GREEN
15 | },
16 | activeIcon: {
17 | type: String,
18 | value: 'checked'
19 | },
20 | inactiveIcon: String
21 | }
22 | });
23 |
--------------------------------------------------------------------------------
/微音乐/components/List/List.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{index+1}}
5 | {{data.name}}
6 | {{data.author}}
7 | {{data.duration}}
8 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/微音乐/components/Mv/Mv.js:
--------------------------------------------------------------------------------
1 | // components/Mv/Mv.js
2 | Component({
3 | /**
4 | * 组件的属性列表
5 | */
6 | properties: {
7 | data:{
8 | type:Object
9 | },
10 | datas:{
11 | type:Object
12 | }
13 | },
14 |
15 | /**
16 | * 组件的初始数据
17 | */
18 | data: {
19 |
20 | },
21 |
22 | /**
23 | * 组件的方法列表
24 | */
25 | methods: {
26 | handleClick(){
27 | var id=this.properties.data.id;
28 | var name=this.properties.data.name;
29 | wx.navigateTo({
30 | url: `/pages/mv-detail/mv-detail?id=${id}&name=${name}`
31 | })
32 | }
33 | }
34 | })
35 |
--------------------------------------------------------------------------------
/微音乐/pages/mv/mv.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/微音乐/pages/singerMore/singerMore.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 热门歌手
4 |
5 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/progress/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
13 | {{ getters.text(pivotText, percentage) }}
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/col/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'row',
5 | type: 'ancestor'
6 | },
7 | props: {
8 | span: Number,
9 | offset: Number
10 | },
11 | data: {
12 | style: ''
13 | },
14 | methods: {
15 | setGutter(gutter) {
16 | const padding = `${gutter / 2}px`;
17 | const style = gutter ? `padding-left: ${padding}; padding-right: ${padding};` : '';
18 | if (style !== this.data.style) {
19 | this.setData({ style });
20 | }
21 | }
22 | }
23 | });
24 |
--------------------------------------------------------------------------------
/微音乐/pages/djRadio/djRadio.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 流行榜
4 |
5 |
7 |
8 |
9 | {{item.rcmdtext}}
10 | {{item.dj.nickname}}
11 |
12 |
13 |
--------------------------------------------------------------------------------
/微音乐/pages/programs/programs.wxml:
--------------------------------------------------------------------------------
1 |
2 | 推荐榜
3 |
4 |
6 |
7 |
8 | {{item.mainSong.name}}
9 | {{item.mainSong.artists[0].name}}
10 |
11 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-icon/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { link } from '../mixins/link';
3 | import { button } from '../mixins/button';
4 | import { openType } from '../mixins/open-type';
5 | VantComponent({
6 | classes: ['icon-class', 'text-class'],
7 | mixins: [link, button, openType],
8 | props: {
9 | text: String,
10 | info: String,
11 | icon: String,
12 | disabled: Boolean,
13 | loading: Boolean
14 | },
15 | methods: {
16 | onClick(event) {
17 | this.$emit('click', event.detail);
18 | this.jumpLink();
19 | }
20 | }
21 | });
22 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/swipe-cell/index.wxml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/微音乐/components/List/List.js:
--------------------------------------------------------------------------------
1 | // components/List/List.js
2 | Component({
3 | /**
4 | * 组件的属性列表
5 | */
6 | properties: {
7 | data:{
8 | type:Object
9 | },
10 | index:{
11 | type:Number
12 | }
13 | },
14 |
15 | /**
16 | * 组件的初始数据
17 | */
18 | data: {
19 |
20 | },
21 |
22 | /**
23 | * 组件的方法列表
24 | */
25 | methods: {
26 | handleClick(){
27 | var {id,name,author,img}=this.properties.data;
28 | wx.setStorageSync('poster', img);
29 | console.log(this.properties)
30 | wx.navigateTo({
31 | url: `/pages/music-play/music-play?id=${id}&name=${name}&author=${author}`
32 | })
33 | }
34 | }
35 | })
36 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-button/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { link } from '../mixins/link';
3 | import { button } from '../mixins/button';
4 | import { openType } from '../mixins/open-type';
5 | VantComponent({
6 | mixins: [link, button, openType],
7 | props: {
8 | text: String,
9 | color: String,
10 | loading: Boolean,
11 | disabled: Boolean,
12 | type: {
13 | type: String,
14 | value: 'danger'
15 | }
16 | },
17 | methods: {
18 | onClick(event) {
19 | this.$emit('click', event.detail);
20 | this.jumpLink();
21 | }
22 | }
23 | });
24 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/slider/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-slider{position:relative;border-radius:999px;background-color:#e5e5e5;background-color:var(--gray-light,#e5e5e5)}.van-slider__bar{position:relative;border-radius:inherit;background-color:#1989fa;background-color:var(--blue,#1989fa)}.van-slider__button{width:20px;height:20px;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.5);background-color:#fff;background-color:var(--white,#fff)}.van-slider__button-wrapper{position:absolute;top:50%;right:0;-webkit-transform:translate3d(50%,-50%,0);transform:translate3d(50%,-50%,0)}.van-slider__button-wrapper:after{position:absolute;top:-50%;left:-50%;width:200%;height:200%;content:""}.van-slider--disabled{opacity:.3}
--------------------------------------------------------------------------------
/微音乐/models/cat.js:
--------------------------------------------------------------------------------
1 | var baseUrl="http://localhost:3000/";
2 | function http({url,data}){
3 | return new Promise((resolve,reject)=>{
4 | wx.request({
5 | url: baseUrl+url,
6 | data,
7 | header: {'content-type':'application/json'},
8 | method: 'GET',
9 | dataType: 'json',
10 | responseType: 'text',
11 | success: (res)=>{
12 | resolve(res)
13 | },
14 | fail: (err)=>{
15 | reject(err)
16 | }
17 | });
18 | })
19 | }
20 | module.exports={
21 | getPlay:(id)=>{
22 | return http({
23 | url:'song/url?id='+id
24 | })
25 | }
26 | }
--------------------------------------------------------------------------------
/微音乐/pages/mv/mv.js:
--------------------------------------------------------------------------------
1 | // pages/mv/mv.js
2 | const http=require('../../models/http')
3 | Page({
4 | data: {
5 | data:[],
6 | datas:[],
7 | rank:[]
8 | },
9 | onLoad: function (options) {
10 | wx.showLoading({
11 | title:'玩命加载中'
12 | })
13 | http.NewMv().then(res=>{
14 | var data=res.data.data;
15 | this.setData({
16 | data
17 | })
18 | wx.hideLoading()
19 | }),
20 | http.RcmdMv().then(res=>{
21 | var datas=res.data.data;
22 | this.setData({
23 | datas
24 | })
25 | }),
26 | http.RankMv().then(res=>{
27 | var rank=res.data.data;
28 | this.setData({
29 | rank
30 | })
31 | })
32 | },
33 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/observer/index.js:
--------------------------------------------------------------------------------
1 | import { behavior } from './behavior';
2 | export function observe(vantOptions, options) {
3 | const { watch } = vantOptions;
4 | options.behaviors.push(behavior);
5 | if (watch) {
6 | const props = options.properties || {};
7 | Object.keys(watch).forEach(key => {
8 | if (key in props) {
9 | let prop = props[key];
10 | if (prop === null || !('type' in prop)) {
11 | prop = { type: prop };
12 | }
13 | prop.observer = watch[key];
14 | props[key] = prop;
15 | }
16 | });
17 | options.properties = props;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/loading/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { addUnit } from '../common/utils';
3 | VantComponent({
4 | props: {
5 | size: {
6 | type: String,
7 | observer: 'setSizeWithUnit'
8 | },
9 | type: {
10 | type: String,
11 | value: 'circular'
12 | },
13 | color: {
14 | type: String,
15 | value: '#c9c9c9'
16 | }
17 | },
18 | data: {
19 | sizeWithUnit: '30px'
20 | },
21 | methods: {
22 | setSizeWithUnit(size) {
23 | this.setData({
24 | sizeWithUnit: addUnit(size)
25 | });
26 | }
27 | }
28 | });
29 |
--------------------------------------------------------------------------------
/微音乐/pages/singerSongs/singerSongs.js:
--------------------------------------------------------------------------------
1 | // pages/singerSongs/singerSongs.js
2 | const http=require('../../models/http')
3 | Page({
4 | data: {
5 | songs:[],
6 | pic:'',
7 | name:''
8 | },
9 | onLoad:async function (options) {
10 | var {id,name}=options;
11 | var pic=unescape(options.pic);
12 | var res=await http.SingerSongs(id);
13 | var songs=res.data.songs;
14 | this.setData({
15 | songs,
16 | name,
17 | pic
18 | })
19 | },
20 | handlePlay(e){
21 | var {name,id,author,poster}=e.currentTarget.dataset;
22 | wx.setStorageSync('poster', poster);
23 | wx.navigateTo({
24 | url: `/pages/music-play/music-play?id=${id}&name=${name}&author=${author}`,
25 | })
26 | }
27 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/notify/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-notify{position:fixed;top:0;box-sizing:border-box;width:100%;text-align:center;word-wrap:break-word;padding:6px 15px;padding:var(--notify-padding,6px 15px);font-size:14px;font-size:var(--notify-font-size,14px);line-height:20px;line-height:var(--notify-line-height,20px)}.van-notify--primary{background-color:#1989fa;background-color:var(--notify-primary-background-color,#1989fa)}.van-notify--success{background-color:#07c160;background-color:var(--notify-success-background-color,#07c160)}.van-notify--danger{background-color:#ee0a24;background-color:var(--notify-danger-background-color,#ee0a24)}.van-notify--warning{background-color:#ff976a;background-color:var(--notify-warning-background-color,#ff976a)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabbar-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';:host{-webkit-flex:1;flex:1}.van-tabbar-item{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;height:100%;font-size:12px;line-height:1;color:#7d7e80;color:var(--gray-darker,#7d7e80)}.van-tabbar-item__icon{position:relative;margin-bottom:5px;font-size:18px}.van-tabbar-item__icon--dot:after{position:absolute;top:0;right:-8px;width:8px;height:8px;border-radius:100%;content:" ";background-color:#ee0a24;background-color:var(--red,#ee0a24)}.van-tabbar-item__icon image{display:block;width:30px;height:18px}.van-tabbar-item--active{color:#1989fa;color:var(--blue,#1989fa)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/toast/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | show: Boolean,
5 | mask: Boolean,
6 | message: String,
7 | forbidClick: Boolean,
8 | zIndex: {
9 | type: Number,
10 | value: 1000
11 | },
12 | type: {
13 | type: String,
14 | value: 'text'
15 | },
16 | loadingType: {
17 | type: String,
18 | value: 'circular'
19 | },
20 | position: {
21 | type: String,
22 | value: 'middle'
23 | }
24 | },
25 | methods: {
26 | // for prevent touchmove
27 | noop() { }
28 | }
29 | });
30 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/basic.js:
--------------------------------------------------------------------------------
1 | export const basic = Behavior({
2 | methods: {
3 | $emit(...args) {
4 | this.triggerEvent(...args);
5 | },
6 | getRect(selector, all) {
7 | return new Promise(resolve => {
8 | wx.createSelectorQuery()
9 | .in(this)[all ? 'selectAll' : 'select'](selector)
10 | .boundingClientRect(rect => {
11 | if (all && Array.isArray(rect) && rect.length) {
12 | resolve(rect);
13 | }
14 | if (!all && rect) {
15 | resolve(rect);
16 | }
17 | })
18 | .exec();
19 | });
20 | }
21 | }
22 | });
23 |
--------------------------------------------------------------------------------
/微音乐/pages/home/home.wxss:
--------------------------------------------------------------------------------
1 | /* pages/home/home.wxss */
2 | page{
3 | height: 100%;
4 | }
5 | .container{
6 | text-align: center;
7 | height: 100%;
8 | background: linear-gradient(70deg, rgb(51, 236, 221), rgb(214, 64, 58));
9 | }
10 | .bg{
11 | width: 200rpx;
12 | height: 200rpx;
13 | margin-top: 150rpx;
14 | border-radius: 50%;
15 | }
16 | .container view{
17 | margin-top: 100rpx;
18 | font-weight: bold;
19 | }
20 | button{
21 | width: 400rpx;
22 | line-height: 80rpx;
23 | font-size: 35rpx;
24 | margin-top: 200rpx;
25 | color: #333;
26 | border: 1px solid rgb(157, 243, 236);
27 | background-color: rgb(136, 184, 184);
28 | }
29 | .title{
30 | font-size: 40rpx;
31 | }
32 | .author{
33 | margin-left: 200rpx;
34 | font-size: 35rpx;
35 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/open-type.js:
--------------------------------------------------------------------------------
1 | export const openType = Behavior({
2 | properties: {
3 | openType: String
4 | },
5 | methods: {
6 | bindGetUserInfo(event) {
7 | this.$emit('getuserinfo', event.detail);
8 | },
9 | bindContact(event) {
10 | this.$emit('contact', event.detail);
11 | },
12 | bindGetPhoneNumber(event) {
13 | this.$emit('getphonenumber', event.detail);
14 | },
15 | bindError(event) {
16 | this.$emit('error', event.detail);
17 | },
18 | bindLaunchApp(event) {
19 | this.$emit('launchapp', event.detail);
20 | },
21 | bindOpenSetting(event) {
22 | this.$emit('opensetting', event.detail);
23 | },
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/微音乐/models/my.js:
--------------------------------------------------------------------------------
1 | var baseUrl="http://yapi.demo.qunar.com/mock/34774/"
2 | function http({url}){
3 | return new Promise((resolve,reject)=>{
4 | wx.request({
5 | url: baseUrl+url,
6 | data: {},
7 | method: 'GET',
8 | success: function(res){
9 | resolve(res)
10 | },
11 | fail: function(err) {
12 | reject(err)
13 | }
14 | })
15 | })
16 | }
17 | module.exports={
18 | getMusic:()=>{
19 | return http({
20 | url:'music'
21 | })
22 | },
23 | getCreate:()=>{
24 | return http({
25 | url:"create"
26 | })
27 | },
28 | getMusics:()=>{
29 | return http({
30 | url:"musics"
31 | })
32 | }
33 | }
--------------------------------------------------------------------------------
/微音乐/pages/singerMore/singerMore.wxss:
--------------------------------------------------------------------------------
1 | /* pages/singerMore/singerMore.wxss */
2 | .artist-box{
3 | display: flex;
4 | flex-wrap: wrap;
5 | justify-content: space-evenly;
6 | }
7 | .artist{
8 | width: 220rpx;
9 | display: flex;
10 | flex-direction: column;
11 | margin-bottom: 30rpx;
12 | }
13 | .artist image{
14 | width: 220rpx;
15 | height: 200rpx;
16 | border-radius: 30rpx;
17 | }
18 | .artist text{
19 | font-size: 25rpx;
20 | }
21 | .top{
22 | font-size: 45rpx;
23 | color: #c20c0c;
24 | text-align: center;
25 | font-weight: bold;
26 | margin: 30rpx 0;
27 | }
28 | .foot{
29 | display: flex;
30 | justify-content: space-between;
31 | }
32 | .foot text{
33 | font-size: 13px;
34 | }
35 | .foot image{
36 | width: 20px;
37 | height: 20px;
38 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/grid-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | {{ text }}
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/nav-bar/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { safeArea } from '../mixins/safe-area';
3 | VantComponent({
4 | mixins: [safeArea({ safeAreaInsetTop: true })],
5 | classes: ['title-class'],
6 | props: {
7 | title: String,
8 | fixed: Boolean,
9 | leftText: String,
10 | rightText: String,
11 | leftArrow: Boolean,
12 | border: {
13 | type: Boolean,
14 | value: true
15 | },
16 | zIndex: {
17 | type: Number,
18 | value: 1
19 | }
20 | },
21 | methods: {
22 | onClickLeft() {
23 | this.$emit('click-left');
24 | },
25 | onClickRight() {
26 | this.$emit('click-right');
27 | }
28 | }
29 | });
30 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/divider/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | dashed: {
5 | type: Boolean,
6 | value: false
7 | },
8 | hairline: {
9 | type: Boolean,
10 | value: false
11 | },
12 | contentPosition: {
13 | type: String,
14 | value: ''
15 | },
16 | fontSize: {
17 | type: Number,
18 | value: ''
19 | },
20 | borderColor: {
21 | type: String,
22 | value: ''
23 | },
24 | textColor: {
25 | type: String,
26 | value: ''
27 | },
28 | customStyle: {
29 | type: String,
30 | value: ''
31 | }
32 | }
33 | });
34 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/divider/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-divider{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;margin:16px 0;color:#999;font-size:14px;line-height:24px;border:0 solid #eee}.van-divider:after,.van-divider:before{display:block;-webkit-flex:1;flex:1;box-sizing:border-box;height:1px;border-color:inherit;border-style:inherit;border-width:1px 0 0}.van-divider:before{content:""}.van-divider--hairline:after,.van-divider--hairline:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}.van-divider--dashed{border-style:dashed}.van-divider--center:before,.van-divider--left:before,.van-divider--right:before{margin-right:16px}.van-divider--center:after,.van-divider--left:after,.van-divider--right:after{margin-left:16px;content:""}.van-divider--left:before,.van-divider--right:after{max-width:10%}
--------------------------------------------------------------------------------
/微音乐/pages/toplist/toplist.wxml:
--------------------------------------------------------------------------------
1 |
2 | 节目榜
3 |
4 |
6 |
7 |
8 | 《{{tools.format(item.program.mainSong.name)}}》
9 | {{tools.formats(item.program.radio.name)}}
10 | 播放量:{{tools.playcount(item.program.listenerCount)}}
11 |
12 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/checkbox/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/slider/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
12 |
19 |
23 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/search/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-search{-webkit-align-items:center;align-items:center;box-sizing:border-box;padding:10px 16px}.van-search,.van-search__content{display:-webkit-flex;display:flex}.van-search__content{-webkit-flex:1;flex:1;padding-left:10px;border-radius:2px;background-color:#f7f8fa;background-color:var(--search-background-color,#f7f8fa)}.van-search__content--round{border-radius:17px}.van-search__label{padding:0 5px;font-size:14px;line-height:34px;color:#333;color:var(--text-color,#333)}.van-search__field{-webkit-flex:1;flex:1}.van-search__field__left-icon{color:#999;color:var(--gray-dark,#999)}.van-search--withaction{padding-right:0}.van-search__action{padding:0 10px;font-size:14px;line-height:34px;color:#333;color:var(--text-color,#333)}.van-search__action--hover{background-color:#f2f3f5;background-color:var(--active-color,#f2f3f5)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabbar-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
14 |
15 |
19 |
20 |
21 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/notice-bar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-notice-bar{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;height:40px;padding:0 15px;font-size:14px;line-height:24px}.van-notice-bar--withicon{position:relative;padding-right:40px}.van-notice-bar--wrapable{height:auto;padding:8px 15px}.van-notice-bar--wrapable .van-notice-bar__wrap{height:auto}.van-notice-bar--wrapable .van-notice-bar__content{position:relative;white-space:normal}.van-notice-bar__left-icon{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;margin-right:4px;vertical-align:middle}.van-notice-bar__right-icon{position:absolute;top:10px;right:15px;font-size:16px}.van-notice-bar__wrap{position:relative;-webkit-flex:1;flex:1;height:24px;overflow:hidden}.van-notice-bar__content{position:absolute;white-space:nowrap}.van-notice-bar__content.van-ellipsis{max-width:100%}
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/style/hairline.wxss:
--------------------------------------------------------------------------------
1 | .van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid #eee;-webkit-transform:scale(.5);transform:scale(.5)}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-sidebar-item{display:block;box-sizing:border-box;padding:20px 12px 20px 9px;overflow:hidden;font-size:14px;line-height:1.4;word-wrap:break-word;border-left:3px solid transparent;-webkit-user-select:none;user-select:none;color:#7d7e80;color:var(--gray-darker,#7d7e80);background-color:#f8f8f8;background-color:var(--background-color,#f8f8f8)}.van-sidebar-item--hover{background-color:#f2f3f5;background-color:var(--active-color,#f2f3f5)}.van-sidebar-item:after{border-bottom-width:1px}.van-sidebar-item--active{font-weight:700;color:#333;color:var(--text-color,#333);border-color:#ee0a24;border-color:var(--red,#ee0a24)}.van-sidebar-item--active:after{border-right-width:1px}.van-sidebar-item--active,.van-sidebar-item--active.van-sidebar-item--hover{background-color:#fff;background-color:var(--white,#fff)}.van-sidebar-item__text{position:relative}
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar-item/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | type: 'ancestor',
5 | name: 'sidebar',
6 | linked(target) {
7 | this.parent = target;
8 | }
9 | },
10 | props: {
11 | dot: Boolean,
12 | info: null,
13 | title: String
14 | },
15 | methods: {
16 | onClick() {
17 | const { parent } = this;
18 | if (!parent) {
19 | return;
20 | }
21 | const index = parent.items.indexOf(this);
22 | parent.setActive(index).then(() => {
23 | this.$emit('click', index);
24 | parent.$emit('change', index);
25 | });
26 | },
27 | setActive(active) {
28 | return this.setData({ active });
29 | }
30 | }
31 | });
32 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tab/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'tabs',
5 | type: 'ancestor'
6 | },
7 | props: {
8 | dot: Boolean,
9 | info: null,
10 | title: String,
11 | disabled: Boolean,
12 | titleStyle: String
13 | },
14 | data: {
15 | width: null,
16 | inited: false,
17 | active: false,
18 | animated: false
19 | },
20 | watch: {
21 | title: 'update',
22 | disabled: 'update',
23 | dot: 'update',
24 | info: 'update',
25 | titleStyle: 'update'
26 | },
27 | methods: {
28 | update() {
29 | const parent = this.getRelationNodes('../tabs/index')[0];
30 | if (parent) {
31 | parent.updateTabs();
32 | }
33 | }
34 | }
35 | });
36 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-button/index.wxml:
--------------------------------------------------------------------------------
1 |
27 | {{ text }}
28 |
29 |
--------------------------------------------------------------------------------
/微音乐/pages/index/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | Page({
4 | data: {
5 | logo:"",
6 | name:""
7 | },
8 | onLoad(){
9 |
10 | wx.getSetting({
11 | success: (res) => { //必须要用箭头函数
12 | if (res.authSetting['scope.userInfo']) {
13 | // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
14 | wx.getUserInfo({
15 | success:(res)=>{
16 | var {nickName,avatarUrl}=res.userInfo;
17 | this.setData({
18 | logo:avatarUrl,
19 | name:nickName
20 | })
21 | }
22 | })
23 | }
24 | }
25 | })
26 | },
27 | onGetUserInfo(e){
28 | var {nickName,avatarUrl}=e.detail.userInfo;
29 | this.setData({
30 | logo:avatarUrl,
31 | name:nickName
32 | })
33 | },
34 | handleClick(){
35 | wx.navigateTo({
36 | url: '/pages/home/home',
37 | })
38 | }
39 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/utils.js:
--------------------------------------------------------------------------------
1 | export function isDef(value) {
2 | return value !== undefined && value !== null;
3 | }
4 | export function isObj(x) {
5 | const type = typeof x;
6 | return x !== null && (type === 'object' || type === 'function');
7 | }
8 | export function isNumber(value) {
9 | return /^\d+$/.test(value);
10 | }
11 | export function range(num, min, max) {
12 | return Math.min(Math.max(num, min), max);
13 | }
14 | export function nextTick(fn) {
15 | setTimeout(() => {
16 | fn();
17 | }, 1000 / 30);
18 | }
19 | let systemInfo = null;
20 | export function getSystemInfoSync() {
21 | if (systemInfo == null) {
22 | systemInfo = wx.getSystemInfoSync();
23 | }
24 | return systemInfo;
25 | }
26 | export function addUnit(value) {
27 | if (!isDef(value)) {
28 | return undefined;
29 | }
30 | value = String(value);
31 | return isNumber(value) ? `${value}px` : value;
32 | }
33 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/nav-bar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-nav-bar{position:relative;text-align:center;-webkit-user-select:none;user-select:none;height:44px;height:var(--nav-bar-height,44px);line-height:44px;line-height:var(--nav-bar-height,44px);background-color:#fff;background-color:var(--white,#fff)}.van-nav-bar__text{display:inline-block;margin:0 -15px;padding:0 15px;vertical-align:middle;color:#1989fa;color:var(--blue,#1989fa)}.van-nav-bar__text--hover{background-color:#f2f3f5;background-color:var(--active-color,#f2f3f5)}.van-nav-bar__arrow{vertical-align:middle;color:#1989fa;color:var(--blue,#1989fa)}.van-nav-bar__arrow+.van-nav-bar__text{margin-left:-20px;padding-left:25px}.van-nav-bar--fixed{position:fixed;top:0;left:0;width:100%}.van-nav-bar__title{max-width:60%;margin:0 auto;font-weight:500;font-size:16px}.van-nav-bar__left,.van-nav-bar__right{position:absolute;bottom:0;font-size:14px}.van-nav-bar__left{left:15px}.van-nav-bar__right{right:15px}
--------------------------------------------------------------------------------
/微音乐/pages/lists/lists.wxss:
--------------------------------------------------------------------------------
1 | .productNav{
2 | display: flex;
3 | flex-direction: row;
4 | font-family: "Microsoft YaHei"
5 | }
6 | .left{
7 | width: 25%;
8 | height: 470rpx;
9 | font-size: 30rpx;
10 | background-color: #f4f4f4;
11 | position: fixed;
12 | top: 0;
13 | left: 0;
14 | z-index: 101;
15 | }
16 | .left view{
17 | text-align: center;
18 | height: 90rpx;
19 | line-height: 90rpx;
20 | }
21 | .selected{
22 | background-color: #fff;
23 | border-left: 2px solid #E54847;
24 | font-weight: bold;
25 | color: #E54847;
26 | }
27 | .normal{
28 | background-color: #f4f4f4;
29 | border-bottom: 1px solid #f2f2f2;
30 | }
31 | .right{
32 | width:75%;
33 | margin: 0 0 0 200rpx;
34 | height: 2200rpx;
35 | }
36 | swiper{
37 | height: 2200px;
38 | }
39 | .box{
40 | display: flex;
41 | flex-wrap: wrap;
42 | justify-content: space-evenly;
43 | }
--------------------------------------------------------------------------------
/微音乐/pages/mv-detail/mv-detail.js:
--------------------------------------------------------------------------------
1 | // pages/mv-detail/mv-detail.js
2 | const http=require('../../models/http')
3 | Page({
4 | data: {
5 | url:"",
6 | name:'',
7 | comments:[],
8 | mvs:[],
9 | x:true
10 | },
11 | onLoad:async function (options) {
12 | var {id}=options;
13 | var {name}=options;
14 | var res=await http.MvDetail(id)
15 | this.setData({
16 | url:res.data.data.url,
17 | name
18 | })
19 | var res=await http.CommentMv(id);
20 | var {comments}=res.data;
21 | this.setData({
22 | comments
23 | })
24 | var same=await http.MvSame(id);
25 | var {mvs}=same.data;
26 | this.setData({
27 | mvs
28 | })
29 | },
30 | async handleClick(e){
31 | var {id,name}=e.currentTarget.dataset
32 | var res=await http.MvDetail(id)
33 | this.setData({
34 | url:res.data.data.url,
35 | name
36 | })
37 | }
38 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/wxs/bem.wxs:
--------------------------------------------------------------------------------
1 | var array = require('./array.wxs');
2 | var object = require('./object.wxs');
3 | var PREFIX = 'van-';
4 |
5 | function join(name, mods) {
6 | name = PREFIX + name;
7 | mods = mods.map(function(mod) {
8 | return name + '--' + mod;
9 | });
10 | mods.unshift(name);
11 | return mods.join(' ');
12 | }
13 |
14 | function traversing(mods, conf) {
15 | if (!conf) {
16 | return;
17 | }
18 |
19 | if (typeof conf === 'string' || typeof conf === 'number') {
20 | mods.push(conf);
21 | } else if (array.isArray(conf)) {
22 | conf.forEach(function(item) {
23 | traversing(mods, item);
24 | });
25 | } else if (typeof conf === 'object') {
26 | object.keys(conf).forEach(function(key) {
27 | conf[key] && mods.push(key);
28 | });
29 | }
30 | }
31 |
32 | function bem(name, conf) {
33 | var mods = [];
34 | traversing(mods, conf);
35 | return join(name, mods);
36 | }
37 |
38 | module.exports.bem = bem;
39 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/popup/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
25 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/card/index.js:
--------------------------------------------------------------------------------
1 | import { link } from '../mixins/link';
2 | import { VantComponent } from '../common/component';
3 | VantComponent({
4 | classes: [
5 | 'num-class',
6 | 'desc-class',
7 | 'thumb-class',
8 | 'title-class',
9 | 'price-class',
10 | 'origin-price-class',
11 | ],
12 | mixins: [link],
13 | props: {
14 | tag: String,
15 | num: String,
16 | desc: String,
17 | thumb: String,
18 | title: String,
19 | price: String,
20 | centered: Boolean,
21 | lazyLoad: Boolean,
22 | thumbLink: String,
23 | originPrice: String,
24 | thumbMode: {
25 | type: String,
26 | value: 'aspectFit'
27 | },
28 | currency: {
29 | type: String,
30 | value: '¥'
31 | }
32 | },
33 | methods: {
34 | onClickThumb() {
35 | this.jumpLink('thumbLink');
36 | }
37 | }
38 | });
39 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/cell/index.js:
--------------------------------------------------------------------------------
1 | import { link } from '../mixins/link';
2 | import { VantComponent } from '../common/component';
3 | VantComponent({
4 | classes: [
5 | 'title-class',
6 | 'label-class',
7 | 'value-class',
8 | 'right-icon-class',
9 | 'hover-class'
10 | ],
11 | mixins: [link],
12 | props: {
13 | title: null,
14 | value: null,
15 | icon: String,
16 | size: String,
17 | label: String,
18 | center: Boolean,
19 | isLink: Boolean,
20 | required: Boolean,
21 | clickable: Boolean,
22 | titleWidth: String,
23 | customStyle: String,
24 | arrowDirection: String,
25 | useLabelSlot: Boolean,
26 | border: {
27 | type: Boolean,
28 | value: true
29 | }
30 | },
31 | methods: {
32 | onClick(event) {
33 | this.$emit('click', event.detail);
34 | this.jumpLink();
35 | }
36 | }
37 | });
38 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/touch.js:
--------------------------------------------------------------------------------
1 | export const touch = Behavior({
2 | methods: {
3 | touchStart(event) {
4 | const touch = event.touches[0];
5 | this.direction = '';
6 | this.deltaX = 0;
7 | this.deltaY = 0;
8 | this.offsetX = 0;
9 | this.offsetY = 0;
10 | this.startX = touch.clientX;
11 | this.startY = touch.clientY;
12 | },
13 | touchMove(event) {
14 | const touch = event.touches[0];
15 | this.deltaX = touch.clientX - this.startX;
16 | this.deltaY = touch.clientY - this.startY;
17 | this.offsetX = Math.abs(this.deltaX);
18 | this.offsetY = Math.abs(this.deltaY);
19 | this.direction =
20 | this.offsetX > this.offsetY
21 | ? 'horizontal'
22 | : this.offsetX < this.offsetY
23 | ? 'vertical'
24 | : '';
25 | }
26 | }
27 | });
28 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/progress/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { BLUE } from '../common/color';
3 | import { addUnit } from '../common/utils';
4 | VantComponent({
5 | props: {
6 | inactive: Boolean,
7 | percentage: Number,
8 | pivotText: String,
9 | pivotColor: String,
10 | showPivot: {
11 | type: Boolean,
12 | value: true
13 | },
14 | color: {
15 | type: String,
16 | value: BLUE
17 | },
18 | textColor: {
19 | type: String,
20 | value: '#fff'
21 | },
22 | strokeWidth: {
23 | type: null,
24 | observer: 'setStrokeWidthUnit'
25 | }
26 | },
27 | data: {
28 | strokeWidthUnit: '4px'
29 | },
30 | methods: {
31 | setStrokeWidthUnit(val) {
32 | this.setData({
33 | strokeWidthUnit: addUnit(val)
34 | });
35 | }
36 | }
37 | });
38 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker-column/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
12 | {{ getOptionText(option, valueKey) }}
21 |
22 |
23 |
--------------------------------------------------------------------------------
/微音乐/pages/music-list/music-list.js:
--------------------------------------------------------------------------------
1 | // pages/music-list/music-list.js
2 | const http=require('../../models/http')
3 | Page({
4 | data: {
5 | playlist:{},
6 | isPlay:false,
7 | playId:""
8 | },
9 |
10 | onLoad:async function (options) {
11 | var {id}=options;
12 | var res=await http.getList(id);
13 | var playlist=res.data.playlist;
14 | this.setData({
15 | playlist
16 | })
17 | },
18 | handlePlay(event){
19 | var {id,name,poster,author}=event.currentTarget.dataset;
20 | wx.setStorageSync('poster', poster);
21 | wx.navigateTo({
22 | url: `/pages/music-play/music-play?id=${id}&name=${name}&author=${author}`,
23 | })
24 | },
25 | onShow() {
26 | var playState = wx.getStorageSync('playState');
27 | var playId = wx.getStorageSync('playId')
28 | if(playState!=null){
29 | this.setData({
30 | isPlay:playState
31 | })
32 | }
33 | this.setData({
34 | playId
35 | })
36 | },
37 |
38 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/icon/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { addUnit } from '../common/utils';
3 | VantComponent({
4 | props: {
5 | dot: Boolean,
6 | info: null,
7 | size: {
8 | type: null,
9 | observer: 'setSizeWithUnit'
10 | },
11 | color: String,
12 | customStyle: String,
13 | classPrefix: {
14 | type: String,
15 | value: 'van-icon'
16 | },
17 | name: {
18 | type: String,
19 | observer(val) {
20 | this.setData({
21 | isImageName: val.indexOf('/') !== -1
22 | });
23 | }
24 | }
25 | },
26 | data: {
27 | sizeWithUnit: null,
28 | },
29 | methods: {
30 | onClick() {
31 | this.$emit('click');
32 | },
33 | setSizeWithUnit(size) {
34 | this.setData({
35 | sizeWithUnit: addUnit(size)
36 | });
37 | }
38 | }
39 | });
40 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/toast/index.wxml:
--------------------------------------------------------------------------------
1 |
7 |
12 |
16 |
17 | {{ message }}
18 |
19 |
20 |
21 |
27 |
28 | {{ message }}
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/row/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'col',
5 | type: 'descendant',
6 | linked(target) {
7 | if (this.data.gutter) {
8 | target.setGutter(this.data.gutter);
9 | }
10 | }
11 | },
12 | props: {
13 | gutter: Number
14 | },
15 | watch: {
16 | gutter: 'setGutter'
17 | },
18 | mounted() {
19 | if (this.data.gutter) {
20 | this.setGutter();
21 | }
22 | },
23 | methods: {
24 | setGutter() {
25 | const { gutter } = this.data;
26 | const margin = `-${Number(gutter) / 2}px`;
27 | const style = gutter
28 | ? `margin-right: ${margin}; margin-left: ${margin};`
29 | : '';
30 | this.setData({ style });
31 | this.getRelationNodes('../col/index').forEach(col => {
32 | col.setGutter(this.data.gutter);
33 | });
34 | }
35 | }
36 | });
37 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/definitions/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import { Weapp } from './weapp';
3 | declare type RecordToAny = {
4 | [K in keyof T]: any;
5 | };
6 | export declare type CombinedComponentInstance = Methods & WechatMiniprogram.Component.TrivialInstance & Weapp.FormField & {
7 | data: Data & RecordToAny;
8 | };
9 | export interface VantComponentOptions {
10 | data?: Data;
11 | field?: boolean;
12 | classes?: string[];
13 | mixins?: string[];
14 | props?: Props & Weapp.PropertyOption;
15 | watch?: Weapp.WatchOption;
16 | relation?: Weapp.RelationOption & {
17 | name: string;
18 | };
19 | relations?: {
20 | [componentName: string]: Weapp.RelationOption;
21 | };
22 | methods?: Methods & Weapp.MethodOption;
23 | beforeCreate?: (this: Instance) => void;
24 | created?: (this: Instance) => void;
25 | mounted?: (this: Instance) => void;
26 | destroyed?: (this: Instance) => void;
27 | }
28 | export {};
29 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/dialog/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-dialog{top:45%!important;width:85%;overflow:hidden;font-size:16px;border-radius:4px;background-color:#fff;background-color:var(--white,#fff)}.van-dialog__header{padding-top:25px;font-weight:500;line-height:24px;text-align:center}.van-dialog__header--isolated{padding:25px 0}.van-dialog__message{max-height:60vh;padding:25px;overflow-y:auto;font-size:14px;line-height:20px;text-align:center;-webkit-overflow-scrolling:touch}.van-dialog__message-text{word-wrap:break-word}.van-dialog__message--has-title{padding-top:12px;color:#7d7e80;color:var(--gray-darker,#7d7e80)}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__footer{display:-webkit-flex;display:flex}.van-dialog__button{-webkit-flex:1;flex:1}.van-dialog__cancel,.van-dialog__confirm{border:0!important}.van-dialog-bounce-enter{-webkit-transform:translate3d(-50%,-50%,0) scale(.7);transform:translate3d(-50%,-50%,0) scale(.7);opacity:0}.van-dialog-bounce-leave-active{-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9);opacity:0}
--------------------------------------------------------------------------------
/微音乐/vant-ui/grid-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-grid-item{position:relative;float:left;box-sizing:border-box}.van-grid-item--square{height:0}.van-grid-item__content{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:100%;padding:16px 8px;padding:var(--grid-item-content-padding,16px 8px);background-color:#fff;background-color:var(--grid-item-content-background-color,#fff)}.van-grid-item__content:after{z-index:1;border-width:0 1px 1px 0}.van-grid-item__content--surround:after{border-width:1px}.van-grid-item__content--center{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.van-grid-item__content--square{position:absolute;top:0;right:0;left:0}.van-grid-item__content--clickable:active{background-color:#f2f3f5;background-color:var(--grid-item-content-active-color,#f2f3f5)}.van-grid-item__icon{font-size:26px;font-size:var(--grid-item-icon-size,26px)}.van-grid-item__text{word-wrap:break-word;color:#7d7e80;color:var(--grid-item-text-color,#7d7e80);font-size:12px;font-size:var(--grid-item-text-font-size,12px)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/notify/notify.js:
--------------------------------------------------------------------------------
1 | import { WHITE } from '../common/color';
2 | const defaultOptions = {
3 | selector: '#van-notify',
4 | type: 'danger',
5 | message: '',
6 | background: '',
7 | duration: 3000,
8 | zIndex: 110,
9 | color: WHITE,
10 | safeAreaInsetTop: false,
11 | onClick: () => { },
12 | onOpened: () => { },
13 | onClose: () => { }
14 | };
15 | function parseOptions(message) {
16 | return typeof message === 'string' ? { message } : message;
17 | }
18 | function getContext() {
19 | const pages = getCurrentPages();
20 | return pages[pages.length - 1];
21 | }
22 | export default function Notify(options) {
23 | options = Object.assign({}, defaultOptions, parseOptions(options));
24 | const context = options.context || getContext();
25 | const notify = context.selectComponent(options.selector);
26 | delete options.context;
27 | delete options.selector;
28 | if (notify) {
29 | notify.set(options);
30 | notify.show();
31 | }
32 | else {
33 | console.warn('未找到 van-notify 节点,请确认 selector 及 context 是否正确');
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/rate/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
13 |
21 |
22 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/微音乐/pages/create-music/create-music.js:
--------------------------------------------------------------------------------
1 | // pages/create-music/create-music.js
2 | const http=require('../../models/my')
3 | Page({
4 |
5 | /**
6 | * 页面的初始数据
7 | */
8 | data: {
9 | songs:[]
10 | },
11 |
12 | /**
13 | * 生命周期函数--监听页面加载
14 | */
15 | onLoad:async function (options) {
16 | var res=await http.getMusics();
17 | var songs=res.data;
18 | this.setData({
19 | songs
20 | })
21 | },
22 |
23 | /**
24 | * 生命周期函数--监听页面初次渲染完成
25 | */
26 | onReady: function () {
27 |
28 | },
29 |
30 | /**
31 | * 生命周期函数--监听页面显示
32 | */
33 | onShow: function () {
34 |
35 | },
36 |
37 | /**
38 | * 生命周期函数--监听页面隐藏
39 | */
40 | onHide: function () {
41 |
42 | },
43 |
44 | /**
45 | * 生命周期函数--监听页面卸载
46 | */
47 | onUnload: function () {
48 |
49 | },
50 |
51 | /**
52 | * 页面相关事件处理函数--监听用户下拉动作
53 | */
54 | onPullDownRefresh: function () {
55 |
56 | },
57 |
58 | /**
59 | * 页面上拉触底事件的处理函数
60 | */
61 | onReachBottom: function () {
62 |
63 | },
64 |
65 | /**
66 | * 用户点击右上角分享
67 | */
68 | onShareAppMessage: function () {
69 |
70 | }
71 | })
--------------------------------------------------------------------------------
/微音乐/pages/programs/programs.js:
--------------------------------------------------------------------------------
1 | const http=require('../../models/http')
2 | const audio= wx.getBackgroundAudioManager();
3 | Page({
4 | data: {
5 | programs:[],
6 | prevId:"",
7 | isPlay:false,
8 | },
9 |
10 | onLoad:async function (options) {
11 | var comment=await http.RecommentDj();
12 | var programs=comment.data.programs;
13 | this.setData({
14 | programs
15 | })
16 | },
17 | handlePlay(e){
18 | var {id,name}=e.currentTarget.dataset;
19 | http.DjPlay(id).then(res=>{
20 | var url=res.data.data[0].url;
21 | if(id!==this.data.prevId){
22 | audio.title=name;
23 | audio.src=url;
24 | this.setData({
25 | isPlay:true,
26 | prevId:id
27 | })
28 | }else{
29 | if(this.data.isPlay){
30 | audio.pause();
31 | this.setData({
32 | isPlay:false
33 | })
34 | }else{
35 | audio.title=name;
36 | audio.src=url;
37 | this.setData({
38 | url,
39 | })
40 | }
41 | }
42 | })
43 | }
44 |
45 | })
--------------------------------------------------------------------------------
/微音乐/pages/toplist/toplist.js:
--------------------------------------------------------------------------------
1 | // pages/dj-more/dj-more.js
2 | const http=require('../../models/http')
3 | const audio= wx.getBackgroundAudioManager();
4 | Page({
5 | data: {
6 | toplist:[],
7 | prevId:"",
8 | isPlay:false,
9 | },
10 |
11 | onLoad:async function (options) {
12 | var list=await http.ToplistDj();
13 | var toplist=list.data.toplist;
14 | this.setData({
15 | toplist
16 | })
17 | },
18 | handlePlay(e){
19 | var {id,name}=e.currentTarget.dataset;
20 | http.DjPlay(id).then(res=>{
21 | var url=res.data.data[0].url;
22 | if(id!==this.data.prevId){
23 | audio.title=name;
24 | audio.src=url;
25 | this.setData({
26 | isPlay:true,
27 | prevId:id
28 | })
29 | }else{
30 | if(this.data.isPlay){
31 | audio.pause();
32 | this.setData({
33 | isPlay:false
34 | })
35 | }else{
36 | audio.title=name;
37 | audio.src=url;
38 | this.setData({
39 | url,
40 | })
41 | }
42 | }
43 | })
44 | }
45 |
46 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/action-sheet/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-action-sheet{max-height:90%!important;color:#333;color:var(--text-color,#333)}.van-action-sheet__cancel,.van-action-sheet__item{height:50px;font-size:16px;line-height:50px;text-align:center;background-color:#fff;background-color:var(--white,#fff)}.van-action-sheet__cancel--hover,.van-action-sheet__item--hover{background-color:#f2f3f5;background-color:var(--active-color,#f2f3f5)}.van-action-sheet__cancel{height:60px}.van-action-sheet__cancel:before{display:block;height:10px;content:" ";background-color:#f8f8f8;background-color:var(--background-color,#f8f8f8)}.van-action-sheet__item--disabled{color:#c9c9c9;color:var(--gray,#c9c9c9)}.van-action-sheet__item--disabled.van-action-sheet__item--hover{background-color:#fff;background-color:var(--white,#fff)}.van-action-sheet__subname{margin-left:5px;font-size:12px;color:#7d7e80;color:var(--gray-darker,#7d7e80)}.van-action-sheet__header{font-weight:500;font-size:16px;line-height:44px;text-align:center}.van-action-sheet__close{position:absolute!important;top:0;right:0;padding:0 15px;font-size:18px!important;line-height:inherit!important;color:#999;color:var(--gray-dark,#999)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/info/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-info{position:absolute;right:0;box-sizing:border-box;white-space:nowrap;text-align:center;-webkit-transform:translateX(50%);transform:translateX(50%);-webkit-transform-origin:100%;transform-origin:100%;top:-8px;top:calc(var(--info-size, 16px)/-2);min-width:16px;min-width:var(--info-size,16px);padding:0 3px;padding:var(--info-padding,0 3px);color:#fff;color:var(--info-color,#fff);font-weight:500;font-weight:var(--info-font-weight,500);font-size:12px;font-size:var(--info-font-size,12px);font-family:PingFang SC,Helvetica Neue,Arial,sans-serif;font-family:var(--info-font-family,PingFang SC,Helvetica Neue,Arial,sans-serif);line-height:14px;line-height:calc(var(--info-size, 16px) - var(--info-border-width, 1px)*2);background-color:#ee0a24;background-color:var(--info-background-color,#ee0a24);border:1px solid #fff;border:var(--info-border-width,1px) solid var(--white,#fff);border-radius:16px;border-radius:var(--info-size,16px)}.van-info--dot{min-width:0;border-radius:100%;width:8px;width:var(--info-dot-size,8px);height:8px;height:var(--info-dot-size,8px);background-color:#ee0a24;background-color:var(--info-dot-color,#ee0a24)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/notice-bar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
15 |
16 |
17 |
18 |
19 | {{ text }}
20 |
21 |
22 |
23 |
29 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/微音乐/pages/dish/dish.js:
--------------------------------------------------------------------------------
1 | // pages/music-detail/music-detail.js
2 | const http=require('../../models/http')
3 | const audio=wx.getBackgroundAudioManager();
4 | Page({
5 | data: {
6 | music:[],
7 | songs:[],
8 | data:[],
9 | isPlay:false
10 | },
11 | onLoad:async function (options) {
12 | var {id}=options;
13 | var res=await http.AlbumSong(id);
14 | var {album,songs}=res.data;
15 | var music=[];
16 | music.push(album)
17 | this.setData({
18 | music,
19 | songs
20 | })
21 | },
22 | handlePlay:async function(){
23 | var dish=await http.DjPlay(this.data.songs[0].id);
24 | console.log(this.data.songs[0].id)
25 | var data=dish.data.data;
26 | var name=this.data.music[0].name;
27 | var url=dish.data.data[0].url;
28 | audio.title=name;
29 | audio.src=url;
30 | this.setData({
31 | data,
32 | name,
33 | })
34 | if(this.data.isPlay){
35 | this.setData({
36 | isPlay:false
37 | })
38 | audio.pause()
39 | }else{
40 | this.setData({
41 | isPlay:true
42 | })
43 | audio.play()
44 | }
45 | }
46 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/radio-group/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | field: true,
4 | relation: {
5 | name: 'radio',
6 | type: 'descendant',
7 | linked(target) {
8 | this.children = this.children || [];
9 | this.children.push(target);
10 | this.updateChild(target);
11 | },
12 | unlinked(target) {
13 | this.children = this.children.filter((child) => child !== target);
14 | }
15 | },
16 | props: {
17 | value: {
18 | type: null,
19 | observer: 'updateChildren'
20 | },
21 | disabled: {
22 | type: Boolean,
23 | observer: 'updateChildren'
24 | }
25 | },
26 | methods: {
27 | updateChildren() {
28 | (this.children || []).forEach((child) => this.updateChild(child));
29 | },
30 | updateChild(child) {
31 | const { value, disabled } = this.data;
32 | child.setData({
33 | value,
34 | disabled: disabled || child.data.disabled
35 | });
36 | }
37 | }
38 | });
39 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tree-select/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tree-select{position:relative;font-size:14px;-webkit-user-select:none;user-select:none}.van-tree-select__nav{position:absolute;top:0;bottom:0;left:0;width:35%;min-width:120px;background-color:#fafafa;background-color:var(--background-color-light,#fafafa)}.van-tree-select__nitem{position:relative;padding:0 9px 0 15px;line-height:44px}.van-tree-select__nitem--active:after{position:absolute;top:0;bottom:0;left:0;width:3.6px;content:"";background-color:#ee0a24;background-color:var(--red,#ee0a24)}.van-tree-select__nitem--active{font-weight:700;background-color:#fff;background-color:var(--white,#fff)}.van-tree-select__nitem--disabled{color:#999;color:var(--gray-dark,#999)}.van-tree-select__content{box-sizing:border-box;width:65%;margin-left:35%;padding-left:15px;background-color:#fff;background-color:var(--white,#fff)}.van-tree-select__item{position:relative;font-weight:700;line-height:44px}.van-tree-select__item--active{color:#ee0a24;color:var(--red,#ee0a24)}.van-tree-select__item--disabled{color:#999;color:var(--gray-dark,#999)}.van-tree-select__selected{position:absolute;top:0;right:15px;bottom:0;height:24px;margin:auto 0;line-height:24px}
--------------------------------------------------------------------------------
/微音乐/vant-ui/radio/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
21 |
22 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/common/index.wxss:
--------------------------------------------------------------------------------
1 | .van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}.van-clearfix:after{display:table;clear:both;content:""}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid #eee;-webkit-transform:scale(.5);transform:scale(.5)}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
--------------------------------------------------------------------------------
/微音乐/vant-ui/picker/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-picker{position:relative;overflow:hidden;-webkit-text-size-adjust:100%;-webkit-user-select:none;user-select:none;background-color:#fff;background-color:var(--white,#fff)}.van-picker__toolbar{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;height:44px;line-height:44px}.van-picker__cancel,.van-picker__confirm{padding:0 15px;font-size:14px;color:#1989fa;color:var(--blue,#1989fa)}.van-picker__cancel--hover,.van-picker__confirm--hover{background-color:#f2f3f5;background-color:var(--active-color,#f2f3f5)}.van-picker__title{max-width:50%;font-weight:500;font-size:16px;text-align:center}.van-picker__columns{position:relative;display:-webkit-flex;display:flex}.van-picker__column{-webkit-flex:1 1;flex:1 1;width:0}.van-picker__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;background-color:hsla(0,0%,100%,.9)}.van-picker__frame,.van-picker__loading .van-loading{position:absolute;top:50%;left:0;z-index:1;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none}
--------------------------------------------------------------------------------
/微音乐/vant-ui/wxs/memoize.wxs:
--------------------------------------------------------------------------------
1 | /**
2 | * Simple memoize
3 | * wxs doesn't support fn.apply, so this memoize only support up to 2 args
4 | */
5 |
6 | function isPrimitive(value) {
7 | var type = typeof value;
8 | return (
9 | type === 'boolean' ||
10 | type === 'number' ||
11 | type === 'string' ||
12 | type === 'undefined' ||
13 | value === null
14 | );
15 | }
16 |
17 | // mock simple fn.call in wxs
18 | function call(fn, args) {
19 | if (args.length === 2) {
20 | return fn(args[0], args[1]);
21 | }
22 |
23 | if (args.length === 1) {
24 | return fn(args[0]);
25 | }
26 |
27 | return fn();
28 | }
29 |
30 | function serializer(args) {
31 | if (args.length === 1 && isPrimitive(args[0])) {
32 | return args[0];
33 | }
34 | var obj = {};
35 | for (var i = 0; i < args.length; i++) {
36 | obj['key' + i] = args[i];
37 | }
38 | return JSON.stringify(obj);
39 | }
40 |
41 | function memoize(fn) {
42 | var cache = {};
43 |
44 | return function() {
45 | var key = serializer(arguments);
46 | if (cache[key] === undefined) {
47 | cache[key] = call(fn, arguments);
48 | }
49 |
50 | return cache[key];
51 | };
52 | }
53 |
54 | module.exports.memoize = memoize;
55 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/goods-action-icon/index.wxml:
--------------------------------------------------------------------------------
1 |
25 |
26 |
34 |
35 | {{ text }}
36 |
37 |
38 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/checkbox-group/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | field: true,
4 | relation: {
5 | name: 'checkbox',
6 | type: 'descendant',
7 | linked(target) {
8 | this.children = this.children || [];
9 | this.children.push(target);
10 | this.updateChild(target);
11 | },
12 | unlinked(target) {
13 | this.children = this.children.filter((child) => child !== target);
14 | }
15 | },
16 | props: {
17 | max: Number,
18 | value: {
19 | type: Array,
20 | observer: 'updateChildren'
21 | },
22 | disabled: {
23 | type: Boolean,
24 | observer: 'updateChildren'
25 | }
26 | },
27 | methods: {
28 | updateChildren() {
29 | (this.children || []).forEach((child) => this.updateChild(child));
30 | },
31 | updateChild(child) {
32 | const { value, disabled } = this.data;
33 | child.setData({
34 | value: value.indexOf(child.data.name) !== -1,
35 | disabled: disabled || child.data.disabled
36 | });
37 | }
38 | }
39 | });
40 |
--------------------------------------------------------------------------------
/微音乐/pages/djRadio/djRadio.wxss:
--------------------------------------------------------------------------------
1 | /* pages/toplist/toplist.wxss */
2 | .album-box{
3 | display: flex;
4 | flex-wrap: wrap;
5 | justify-content: space-evenly;
6 | }
7 | .album{
8 | width: 220rpx;
9 | display: flex;
10 | flex-direction: column;
11 | position: relative;
12 | margin: 20rpx 0;
13 | }
14 | .album image{
15 | width: 220rpx;
16 | height: 200rpx;
17 | /* opacity: 0.8; */
18 | }
19 | .album text{
20 | font-size: 25rpx;
21 | }
22 | .album .play{
23 | width: 80rpx;
24 | height:80rpx;
25 | position: absolute;
26 | top: 54rpx;
27 | left: 70rpx;
28 | }
29 | .album .name{
30 | position: absolute;
31 | top: 150rpx;
32 | left: 0rpx;
33 | color: #333;
34 | width: 210rpx;
35 | height: 50rpx;
36 | display: inline-block;
37 | background: rgb(221, 221, 221);
38 | opacity: 0.8;
39 | padding-left: 10rpx;
40 | font-weight: bold;
41 | font-size: 28rpx;
42 | line-height: 50rpx;
43 | }
44 | .top{
45 | font-size: 50rpx;
46 | color: #c20c0c;
47 | font-weight: bold;
48 | text-align: center;
49 | }
50 | .playcount{
51 | font-size: 28rpx;
52 | color: rgb(107, 107, 107);
53 | margin-top: 15rpx;
54 | }
55 | .title{
56 | margin-top: 10rpx;
57 | }
--------------------------------------------------------------------------------
/微音乐/pages/programs/programs.wxss:
--------------------------------------------------------------------------------
1 | /* pages/toplist/toplist.wxss */
2 | .album-box{
3 | display: flex;
4 | flex-wrap: wrap;
5 | justify-content: space-evenly;
6 | }
7 | .album{
8 | width: 220rpx;
9 | display: flex;
10 | flex-direction: column;
11 | position: relative;
12 | margin: 20rpx 0;
13 | }
14 | .album image{
15 | width: 220rpx;
16 | height: 200rpx;
17 | /* opacity: 0.8; */
18 | }
19 | .album text{
20 | font-size: 25rpx;
21 | }
22 | .album .play{
23 | width: 80rpx;
24 | height:80rpx;
25 | position: absolute;
26 | top: 54rpx;
27 | left: 70rpx;
28 | }
29 | .album .name{
30 | position: absolute;
31 | top: 150rpx;
32 | left: 0rpx;
33 | color: #333;
34 | width: 210rpx;
35 | height: 50rpx;
36 | display: inline-block;
37 | background: rgb(221, 221, 221);
38 | opacity: 0.8;
39 | padding-left: 10rpx;
40 | font-weight: bold;
41 | font-size: 28rpx;
42 | line-height: 50rpx;
43 | }
44 | .top{
45 | font-size: 50rpx;
46 | color: #c20c0c;
47 | font-weight: bold;
48 | text-align: center;
49 | }
50 | .playcount{
51 | font-size: 28rpx;
52 | color: rgb(107, 107, 107);
53 | margin-top: 15rpx;
54 | }
55 | .title{
56 | margin-top: 10rpx;
57 | }
--------------------------------------------------------------------------------
/微音乐/pages/toplist/toplist.wxss:
--------------------------------------------------------------------------------
1 | /* pages/toplist/toplist.wxss */
2 | .album-box{
3 | display: flex;
4 | flex-wrap: wrap;
5 | justify-content: space-evenly;
6 | }
7 | .album{
8 | width: 220rpx;
9 | display: flex;
10 | flex-direction: column;
11 | position: relative;
12 | margin: 20rpx 0;
13 | }
14 | .album image{
15 | width: 220rpx;
16 | height: 200rpx;
17 | /* opacity: 0.8; */
18 | }
19 | .album text{
20 | font-size: 25rpx;
21 | }
22 | .album .play{
23 | width: 80rpx;
24 | height:80rpx;
25 | position: absolute;
26 | top: 54rpx;
27 | left: 70rpx;
28 | }
29 | .album .name{
30 | position: absolute;
31 | top: 150rpx;
32 | left: 0rpx;
33 | color: #333;
34 | width: 210rpx;
35 | height: 50rpx;
36 | display: inline-block;
37 | background: rgb(221, 221, 221);
38 | opacity: 0.8;
39 | padding-left: 10rpx;
40 | font-weight: bold;
41 | font-size: 28rpx;
42 | line-height: 50rpx;
43 | }
44 | .top{
45 | font-size: 50rpx;
46 | color: #c20c0c;
47 | font-weight: bold;
48 | text-align: center;
49 | }
50 | .playcount{
51 | font-size: 28rpx;
52 | color: rgb(107, 107, 107);
53 | margin-top: 15rpx;
54 | }
55 | .title{
56 | margin-top: 10rpx;
57 | }
--------------------------------------------------------------------------------
/微音乐/vant-ui/card/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-card{position:relative;box-sizing:border-box;padding:5px 15px;font-size:12px;color:#333;color:var(--text-color,#333);background-color:#fafafa;background-color:var(--background-color-light,#fafafa)}.van-card__header{display:-webkit-flex;display:flex}.van-card__header--center{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.van-card__thumb{position:relative;-webkit-flex:none;flex:none;width:90px;height:90px;margin-right:10px}.van-card__thumb:empty{display:none}.van-card__img{width:100%;height:100%}.van-card__content{position:relative;-webkit-flex:1;flex:1;min-width:0}.van-card__desc,.van-card__title{word-wrap:break-word}.van-card__title{font-weight:700;line-height:16px}.van-card__desc{color:#7d7e80;color:var(--gray-darker,#7d7e80)}.van-card__bottom,.van-card__desc{line-height:20px}.van-card__price{display:inline-block;font-weight:700;color:#ee0a24;color:var(--red,#ee0a24)}.van-card__origin-price{display:inline-block;margin-left:5px;font-size:10px;text-decoration:line-through;color:#7d7e80;color:var(--gray-darker,#7d7e80)}.van-card__num{float:right}.van-card__tag{position:absolute;top:2px;left:0}.van-card__footer{-webkit-flex:none;flex:none;width:100%;text-align:right}
--------------------------------------------------------------------------------
/微音乐/vant-ui/collapse-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
19 |
23 |
27 |
28 |
32 |
33 |
38 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/stepper/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
26 |
37 |
38 |
--------------------------------------------------------------------------------
/微音乐/pages/create-list/create-list.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | 曼阿1801喜欢的音乐
10 |
11 |
12 |
13 | 曼阿1801
14 | 2018-01-02 创建
15 |
16 |
17 |
18 |
19 |
20 | 播放列表
21 | 30首歌
22 | 播放:
23 | 71
24 | 次
25 |
26 |
27 |
28 | 歌曲标题
29 | 歌手
30 | 时长
31 |
32 |
33 |
--------------------------------------------------------------------------------
/微音乐/pages/singerSongs/singerSongs.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{name}}
6 |
7 |
8 | 歌曲列表
9 |
10 |
11 | 热门作品
12 | 时长
13 | 专辑
14 |
15 |
18 |
19 | {{index+1}}
20 |
22 | {{tools.formats(item.name)}}
23 | {{tools.formatTime(item.dt)}}
24 | {{tools.formats(item.al.name)}}
25 |
26 |
27 |
--------------------------------------------------------------------------------
/微音乐/pages/mv-detail/mv-detail.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 | {{name}}
6 | 更多视频
7 |
8 |
9 |
10 |
11 |
12 | 上传者:{{item.name}}
13 |
14 |
15 | {{tools.playcount(item.playCount)}}
16 |
17 |
19 |
20 |
21 |
22 | 精彩评论
23 |
24 |
25 |
26 |
27 | {{item.user.nickname}}
28 | {{item.content}}
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/nav-bar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
15 | {{ leftText }}
21 |
22 |
23 |
24 |
25 | {{ title }}
26 |
27 |
28 |
29 | {{ rightText }}
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/toast/toast.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | declare type ToastMessage = string | number;
3 | interface ToastOptions {
4 | show?: boolean;
5 | type?: string;
6 | mask?: boolean;
7 | zIndex?: number;
8 | context?: WechatMiniprogram.Component.TrivialInstance | WechatMiniprogram.Page.TrivialInstance;
9 | position?: string;
10 | duration?: number;
11 | selector?: string;
12 | forbidClick?: boolean;
13 | loadingType?: string;
14 | message?: ToastMessage;
15 | onClose?: () => void;
16 | }
17 | declare function Toast(toastOptions: ToastOptions | ToastMessage): WechatMiniprogram.Component.TrivialInstance;
18 | declare namespace Toast {
19 | var loading: (options: string | number | ToastOptions) => WechatMiniprogram.Component.Instance, Record, Record>;
20 | var success: (options: string | number | ToastOptions) => WechatMiniprogram.Component.Instance, Record, Record>;
21 | var fail: (options: string | number | ToastOptions) => WechatMiniprogram.Component.Instance, Record, Record>;
22 | var clear: () => void;
23 | var setDefaultOptions: (options: ToastOptions) => void;
24 | var resetDefaultOptions: () => void;
25 | }
26 | export default Toast;
27 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/mixins/safe-area.js:
--------------------------------------------------------------------------------
1 | let cache = null;
2 | function getSafeArea() {
3 | return new Promise((resolve, reject) => {
4 | if (cache != null) {
5 | resolve(cache);
6 | }
7 | else {
8 | wx.getSystemInfo({
9 | success: ({ model, screenHeight, statusBarHeight }) => {
10 | const iphoneX = /iphone x/i.test(model);
11 | const iphoneNew = /iPhone11/i.test(model) && screenHeight === 812;
12 | cache = {
13 | isIPhoneX: iphoneX || iphoneNew,
14 | statusBarHeight
15 | };
16 | resolve(cache);
17 | },
18 | fail: reject
19 | });
20 | }
21 | });
22 | }
23 | export const safeArea = ({ safeAreaInsetBottom = true, safeAreaInsetTop = false } = {}) => Behavior({
24 | properties: {
25 | safeAreaInsetTop: {
26 | type: Boolean,
27 | value: safeAreaInsetTop
28 | },
29 | safeAreaInsetBottom: {
30 | type: Boolean,
31 | value: safeAreaInsetBottom
32 | }
33 | },
34 | created() {
35 | getSafeArea().then(({ isIPhoneX, statusBarHeight }) => {
36 | this.setData({ isIPhoneX, statusBarHeight });
37 | });
38 | }
39 | });
40 |
--------------------------------------------------------------------------------
/微音乐/pages/my/my.js:
--------------------------------------------------------------------------------
1 | // pages/my/my.js
2 | var http=require('../../models/my')
3 | Page({
4 |
5 | data: {
6 | imageURL:"/images/person.jpg",
7 | songs:[],
8 | isPlay:false,
9 | isActive:false
10 | },
11 | onLoad:async function (options) {
12 | var res=await http.getMusic();
13 | var songs=res.data;
14 | this.setData({
15 | songs
16 | })
17 | },
18 | handleImage(){
19 | wx.chooseImage({
20 | count: 9, // 最多可以选择的图片张数,默认9
21 | sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
22 | sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
23 | success: function(res){
24 | const src=res.temFilePaths[0]
25 | this.setData({
26 | imageURL:src
27 | })
28 | },
29 | })
30 | },
31 | handleClick(e){
32 | var {id,name,author,poster}=e.currentTarget.dataset;
33 | wx.setStorageSync('poster', poster);
34 | console.log(id)
35 | wx.navigateTo({
36 | url: `/pages/music-play/music-play?id=${id}&name=${name}&author=${author}`
37 | })
38 | this.isPlay=!this.isPlay
39 | },
40 | handleList(){
41 | wx.navigateTo({
42 | url: '/pages/create-list/create-list',
43 |
44 | })
45 | },
46 | handleLists(){
47 | wx.navigateTo({
48 | url: '/pages/create-music/create-music',
49 | })
50 | }
51 | })
52 |
--------------------------------------------------------------------------------
/微音乐/pages/songs-play/songs-play.js:
--------------------------------------------------------------------------------
1 | // pages/music-play/music-play.js
2 | const http=require('../../models/http')
3 | const audio=wx.getBackgroundAudioManager();
4 | Page({
5 | data: {
6 | isPlay:false,
7 | },
8 | onLoad:async function (options) {
9 | var id=options.id;
10 | var name=options.name;
11 | var author=options.author;
12 | var res=await http.getPlay(id);
13 | var url=res.data.data[0].url;
14 | audio.title=name;
15 | audio.src=url;
16 | var poster=wx.getStorageSync('poster');
17 | audio.pic=poster;
18 | this.setData({
19 | name,
20 | poster,
21 | author
22 | })
23 | //获取缓存
24 | wx.setStorageSync('playState', true)
25 | audio.onPlay(()=>{
26 | this.setData({
27 | isPlay:true
28 | })
29 | wx.setStorageSync('playState', true)
30 | })
31 | audio.onPause(()=>{
32 | this.setData({
33 | isPlay:false
34 | })
35 | wx.setStorageSync('playState', false)
36 | })
37 | },
38 | handleClick(){
39 | if(this.data.isPlay){
40 | this.setData({
41 | isPlay:false
42 | })
43 | audio.pause()
44 | wx.setStorageSync('playState',false)
45 | }else{
46 | this.setData({
47 | isPlay:true
48 | })
49 | audio.play()
50 | wx.setStorageSync('playState',true)
51 | }
52 | }
53 | })
--------------------------------------------------------------------------------
/微音乐/pages/create-music/create-music.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | 歌曲
11 |
12 |
13 |
14 | 曼阿1801
15 | 2018-01-07 创建
16 |
17 |
18 |
19 |
20 |
21 | 播放列表
22 | 19首歌
23 | 播放:
24 | 11
25 | 次
26 |
27 |
28 |
29 | 歌曲标题
30 | 歌手
31 | 时长
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/微音乐/utils/filter.wxs:
--------------------------------------------------------------------------------
1 | function format(value){
2 | if(value){
3 | if(value.length>13){
4 | value=value.slice(0,13)+"..."
5 | }
6 | return value
7 | }
8 | }
9 | function formats(value){
10 | if(value){
11 | if(value.length>6){
12 | value=value.slice(0,6)+"..."
13 | }
14 | return value
15 | }
16 | }
17 | function Format(value){
18 | if(value){
19 | if(value.length>9){
20 | value=value.slice(0,9)+"..."
21 | }
22 | return value
23 | }
24 | }
25 | function playcount(sum){
26 | if(sum){
27 | if(sum>10000){
28 | sum=Math.floor(sum/1000)/10+"万"
29 | }else{
30 | sum=sum;
31 | }
32 | return sum
33 | }
34 | }
35 | function formatTime(time,min,sec){
36 | if(time){
37 | if(time/1000/60<=10){
38 | min="0"+Math.floor(time/1000/60)
39 | }else{
40 | min=Math.floor(time/1000/60)
41 | }
42 |
43 | if(time/1000%60<=10){
44 | sec="0"+Math.round(time/1000%60)
45 | }else{
46 | sec=Math.floor(time/1000%60)
47 | }
48 | return min+":"+sec
49 | }
50 |
51 | }
52 | module.exports={
53 | format:format,
54 | Format:Format,
55 | formats:formats,
56 | playcount:playcount,
57 | formatTime:formatTime
58 | }
59 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/sidebar/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'sidebar-item',
5 | type: 'descendant',
6 | linked(target) {
7 | this.items.push(target);
8 | this.setActive(this.data.active);
9 | },
10 | unlinked(target) {
11 | this.items = this.items.filter(item => item !== target);
12 | this.setActive(this.data.active);
13 | }
14 | },
15 | props: {
16 | active: {
17 | type: Number,
18 | value: 0,
19 | observer: 'setActive'
20 | }
21 | },
22 | beforeCreate() {
23 | this.items = [];
24 | this.currentActive = -1;
25 | },
26 | methods: {
27 | setActive(active) {
28 | const { items, currentActive } = this;
29 | if (!items.length) {
30 | return Promise.resolve();
31 | }
32 | this.currentActive = active;
33 | const stack = [];
34 | if (currentActive !== active && items[currentActive]) {
35 | stack.push(items[currentActive].setActive(false));
36 | }
37 | if (items[active]) {
38 | stack.push(items[active].setActive(true));
39 | }
40 | return Promise.all(stack);
41 | }
42 | }
43 | });
44 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/submit-bar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
13 |
14 | {{ tip }}
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | {{ label || '合计:' }}
23 |
24 | {{ currency }}
25 | {{ priceStr }}
26 |
27 | {{ suffixLabel }}
28 |
29 |
39 | {{ loading ? '' : buttonText }}
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tag/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tag{display:inline-block;padding:.2em .5em;font-size:10px;line-height:normal;border-radius:.2em;color:#fff;color:var(--white,#fff)}.van-tag:after{border-color:currentColor;border-radius:.4em}.van-tag--default{background-color:#999;background-color:var(--tag-default-color,#999)}.van-tag--default.van-tag--plain{color:#999;color:var(--tag-default-color,#999)}.van-tag--danger{background-color:#ee0a24;background-color:var(--tag-dander-color,#ee0a24)}.van-tag--danger.van-tag--plain{color:#ee0a24;color:var(--tag-dander-color,#ee0a24)}.van-tag--primary{background-color:#1989fa;background-color:var(--tag-primary-color,#1989fa)}.van-tag--primary.van-tag--plain{color:#1989fa;color:var(--tag-primary-color,#1989fa)}.van-tag--success{background-color:#07c160;background-color:var(--tag-success-color,#07c160)}.van-tag--success.van-tag--plain{color:#07c160;color:var(--tag-success-color,#07c160)}.van-tag--warning{background-color:#ff976a;background-color:var(--tag-warning-color,#ff976a)}.van-tag--warning.van-tag--plain{color:#ff976a;color:var(--tag-warning-color,#ff976a)}.van-tag--plain{background-color:#fff;background-color:var(--tag-plain-background-color,#fff)}.van-tag--mark{padding-right:.6em;border-radius:0 .8em .8em 0}.van-tag--mark:after{border-radius:0 1.6em 1.6em 0}.van-tag--round{border-radius:.8em}.van-tag--round:after{border-radius:1.6em}.van-tag--medium{font-size:12px}.van-tag--large{font-size:14px}
--------------------------------------------------------------------------------
/微音乐/vant-ui/collapse-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-collapse-item__title .van-cell__right-icon{-webkit-transform:rotate(90deg);transform:rotate(90deg);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;transition:-webkit-transform var(--collapse-item-transition-duration,.3s);transition:transform var(--collapse-item-transition-duration,.3s);transition:transform var(--collapse-item-transition-duration,.3s),-webkit-transform var(--collapse-item-transition-duration,.3s)}.van-collapse-item__title--expanded .van-cell__right-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.van-collapse-item__title--disabled .van-cell,.van-collapse-item__title--disabled .van-cell__right-icon{color:#c9c9c9!important;color:var(--collapse-item-title-disabled-color,#c9c9c9)!important}.van-collapse-item__title--disabled .van-cell--hover{background-color:#fff!important;background-color:var(--white,#fff)!important}.van-collapse-item__wrapper{overflow:hidden}.van-collapse-item__wrapper--transition{transition:height .3s ease-in-out}.van-collapse-item__content{padding:15px;padding:var(--collapse-item-content-padding,15px);color:#999;color:var(--collapse-item-content-text-color,#999);font-size:13px;font-size:var(--collapse-item-content-font-size,13px);line-height:1.5;line-height:var(--collapse-item-content-line-height,1.5);background-color:#fff;background-color:var(--collapse-item-content-background-color,#fff)}
--------------------------------------------------------------------------------
/微音乐/vant-ui/radio/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-radio{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;overflow:hidden;-webkit-user-select:none;user-select:none}.van-radio__icon-wrap{-webkit-flex:none;flex:none}.van-radio__icon{display:block;box-sizing:border-box;width:1em;height:1em;color:transparent;text-align:center;transition-property:color,border-color,background-color;border:1px solid #e5e5e5;border:1px solid var(--radio-border-color,#e5e5e5);transition-duration:.2s;transition-duration:var(--radio-transition-duration,.2s)}.van-radio__icon--round{border-radius:100%}.van-radio__icon--checked{color:#fff;color:var(--white,#fff);background-color:#1989fa;background-color:var(--radio-checked-icon-color,#1989fa);border-color:#1989fa;border-color:var(--radio-checked-icon-color,#1989fa)}.van-radio__icon--disabled{background-color:#eee;background-color:var(--radio-disabled-background-color,#eee);border-color:#c9c9c9;border-color:var(--radio-disabled-icon-color,#c9c9c9)}.van-radio__icon--disabled.van-radio__icon--checked{color:#c9c9c9;color:var(--radio-disabled-icon-color,#c9c9c9)}.van-radio__label{word-wrap:break-word;margin-left:10px;margin-left:var(--radio-label-margin,10px);color:#333;color:var(--radio-label-color,#333)}.van-radio__label--left{float:left;margin:0 10px 0 0;margin:0 var(--radio-label-margin,10px) 0 0}.van-radio__label--disabled{color:#c9c9c9;color:var(--radio-disabled-label-color,#c9c9c9)}.van-radio__label:empty{margin:0}
--------------------------------------------------------------------------------
/微音乐/vant-ui/toast/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-toast{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;box-sizing:initial;color:#fff;color:var(--toast-text-color,#fff);font-size:14px;font-size:var(--toast-font-size,14px);line-height:20px;line-height:var(--toast-line-height,20px);white-space:pre-wrap;word-wrap:break-word;background-color:rgba(51,51,51,.88);background-color:var(--toast-background-color,rgba(51,51,51,.88));border-radius:4px;border-radius:var(--toast-border-radius,4px)}.van-toast__container{position:fixed;top:50%;left:50%;width:-webkit-fit-content;width:fit-content;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);max-width:70%;max-width:var(--toast-max-width,70%)}.van-toast--text{min-width:96px;min-width:var(--toast-text-min-width,96px);padding:8px 12px;padding:var(--toast-text-padding,8px 12px)}.van-toast--icon{width:90px;width:var(--toast-default-width,90px);min-height:90px;min-height:var(--toast-default-min-height,90px);padding:15px;padding:var(--toast-default-padding,15px)}.van-toast--icon .van-toast__icon{font-size:48px;font-size:var(--toast-icon-size,48px)}.van-toast--icon .van-toast__text{padding-top:5px}.van-toast__loading{margin:10px 0}.van-toast--top{-webkit-transform:translateY(-30vh);transform:translateY(-30vh)}.van-toast--bottom{-webkit-transform:translateY(30vh);transform:translateY(30vh)}
--------------------------------------------------------------------------------
/微音乐/pages/djRadio/djRadio.js:
--------------------------------------------------------------------------------
1 | // pages/dj-more/dj-more.js
2 | const http=require('../../models/http')
3 | const audio= wx.getBackgroundAudioManager();
4 | Page({
5 | data: {
6 | djRadios:[],
7 | toplist:[],
8 | programs:[],
9 | prevId:"",
10 | isPlay:false,
11 | },
12 |
13 | onLoad:async function (options) {
14 | var hotdj=await http.HotDj();
15 | var djRadios=hotdj.data.djRadios;
16 | this.setData({
17 | djRadios
18 | })
19 | var list=await http.ToplistDj();
20 | var toplist=list.data.toplist;
21 | this.setData({
22 | toplist
23 | })
24 | var comment=await http.RecommentDj();
25 | var programs=comment.data.programs;
26 | this.setData({
27 | programs
28 | })
29 | },
30 | handlePlay(e){
31 | var {id,name}=e.currentTarget.dataset;
32 | http.DjPlay(id).then(res=>{
33 | var url=res.data.data[0].url;
34 | if(id!==this.data.prevId){
35 | audio.title=name;
36 | audio.src=url;
37 | this.setData({
38 | isPlay:true,
39 | prevId:id
40 | })
41 | }else{
42 | if(this.data.isPlay){
43 | audio.pause();
44 | this.setData({
45 | isPlay:false
46 | })
47 | }else{
48 | audio.title=name;
49 | audio.src=url;
50 | this.setData({
51 | url,
52 | })
53 | }
54 | }
55 | })
56 | }
57 |
58 | })
--------------------------------------------------------------------------------
/微音乐/pages/search-play/search-play.js:
--------------------------------------------------------------------------------
1 | // pages/music-play/music-play.js
2 | const http=require('../../models/cat')
3 | const https=require('../../models/http')
4 | const audio=wx.getBackgroundAudioManager();
5 | Page({
6 | data: {
7 | lyric:"",
8 | isPlay:true,
9 | },
10 | onLoad:async function (options) {
11 | var id=options.id;
12 | var name=options.name;
13 | var author=options.author;
14 | var res=await http.getPlay(id);
15 | var url=res.data.data[0].url;
16 | audio.title=name;
17 | audio.src=url;
18 | this.setData({
19 | name,
20 | author
21 | })
22 | //歌词
23 | var play=await https.MusicPlay(id);
24 | var lyric=play.data.lyric;
25 | this.setData({
26 | lyric,
27 | })
28 | //获取缓存
29 | wx.setStorageSync('playState', true)
30 | audio.onPlay(()=>{
31 | this.setData({
32 | isPlay:true
33 | })
34 | wx.setStorageSync('playState', true)
35 | })
36 | audio.onPause(()=>{
37 | this.setData({
38 | isPlay:false
39 | })
40 | wx.setStorageSync('playState', false)
41 | })
42 | },
43 | handleClick(){
44 | if(this.data.isPlay){
45 | this.setData({
46 | isPlay:false
47 | })
48 | audio.pause()
49 | wx.setStorageSync('playState',false)
50 | }else{
51 | this.setData({
52 | isPlay:true
53 | })
54 | audio.play()
55 | wx.setStorageSync('playState',true)
56 | }
57 | }
58 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/steps/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 | {{ item.text }}
12 | {{ item.desc }}
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | function get(index, active) {
29 | if (index < active) {
30 | return 'finish';
31 | } else if (index === active) {
32 | return 'process';
33 | }
34 |
35 | return '';
36 | }
37 |
38 | module.exports = get;
39 |
40 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/action-sheet/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { safeArea } from '../mixins/safe-area';
3 | VantComponent({
4 | mixins: [safeArea()],
5 | props: {
6 | show: Boolean,
7 | title: String,
8 | cancelText: String,
9 | zIndex: {
10 | type: Number,
11 | value: 100
12 | },
13 | actions: {
14 | type: Array,
15 | value: []
16 | },
17 | overlay: {
18 | type: Boolean,
19 | value: true
20 | },
21 | closeOnClickOverlay: {
22 | type: Boolean,
23 | value: true
24 | },
25 | closeOnClickAction: {
26 | type: Boolean,
27 | value: true
28 | }
29 | },
30 | methods: {
31 | onSelect(event) {
32 | const { index } = event.currentTarget.dataset;
33 | const item = this.data.actions[index];
34 | if (item && !item.disabled && !item.loading) {
35 | this.$emit('select', item);
36 | if (this.data.closeOnClickAction) {
37 | this.onClose();
38 | }
39 | }
40 | },
41 | onCancel() {
42 | this.$emit('cancel');
43 | },
44 | onClose() {
45 | this.$emit('close');
46 | },
47 | onClickOverlay() {
48 | this.$emit('click-overlay');
49 | this.onClose();
50 | }
51 | }
52 | });
53 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/collapse/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'collapse-item',
5 | type: 'descendant',
6 | linked(child) {
7 | this.children.push(child);
8 | },
9 | unlinked(child) {
10 | this.children = this.children.filter((item) => item !== child);
11 | }
12 | },
13 | props: {
14 | value: {
15 | type: null,
16 | observer: 'updateExpanded'
17 | },
18 | accordion: {
19 | type: Boolean,
20 | observer: 'updateExpanded'
21 | },
22 | border: {
23 | type: Boolean,
24 | value: true
25 | }
26 | },
27 | beforeCreate() {
28 | this.children = [];
29 | },
30 | methods: {
31 | updateExpanded() {
32 | this.children.forEach((child) => {
33 | child.updateExpanded();
34 | });
35 | },
36 | switch(name, expanded) {
37 | const { accordion, value } = this.data;
38 | if (!accordion) {
39 | name = expanded
40 | ? (value || []).concat(name)
41 | : (value || []).filter((activeName) => activeName !== name);
42 | }
43 | else {
44 | name = expanded ? name : '';
45 | }
46 | this.$emit('change', name);
47 | this.$emit('input', name);
48 | }
49 | }
50 | });
51 |
--------------------------------------------------------------------------------
/微音乐/pages/search/search.js:
--------------------------------------------------------------------------------
1 | // pages/search/search.js
2 | const http=require('../../models/http')
3 | const app=getApp();
4 | Page({
5 | data: {
6 | songs:[],
7 | keywords:'',
8 | hots:[],
9 | isFocus:true,
10 | id:"",
11 | isPlay:false,
12 | music:[],
13 | },
14 | onLoad:async function (options) {
15 | var result=await http.HotSearch();
16 | var hots=result.data.result.slice(0,6);
17 | this.setData({
18 | hots,
19 | })
20 | },
21 | onSearch:async function(e){
22 | var keywords=e.detail;
23 | this.setData({
24 | keywords,
25 | })
26 | var res=await http.Search(keywords);
27 | var songs=res.data.result.songs;
28 | var id=res.data.result.songs[0].id;
29 | var name=res.data.result.songs[0].name;
30 | this.setData({
31 | songs,
32 | id,
33 | name,
34 | isFocus:false
35 | })
36 | },
37 | handlePlay: function(e){
38 | console.log(e)
39 | var {id,name,author}=e.currentTarget.dataset;
40 | wx.navigateTo({
41 | url: '/pages/search-play/search-play?id='+id+'&name='+name+'&author='+author,
42 | })
43 | },
44 | onFocus(){
45 | this.setData({
46 | isFocus:false
47 | })
48 | },
49 | leaveFocus(){
50 | this.setData({
51 | isFocus:true
52 | })
53 | },
54 | handleClick(e){
55 | var {id,name,author}=e.currentTarget.dataset;
56 | wx.navigateTo({
57 | url: '/pages/search-play/search-play?id='+id+'&name='+name+'&author='+author,
58 | })
59 | }
60 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/cell/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
16 |
17 |
18 |
22 | {{ title }}
23 |
24 |
25 |
26 |
27 | {{ label }}
28 |
29 |
30 |
31 |
32 | {{ value }}
33 |
34 |
35 |
36 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/tabbar-item/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | info: null,
5 | name: null,
6 | icon: String,
7 | dot: Boolean
8 | },
9 | relation: {
10 | name: 'tabbar',
11 | type: 'ancestor'
12 | },
13 | data: {
14 | active: false
15 | },
16 | methods: {
17 | onClick() {
18 | if (this.parent) {
19 | this.parent.onChange(this);
20 | }
21 | this.$emit('click');
22 | },
23 | updateFromParent() {
24 | const { parent } = this;
25 | if (!parent) {
26 | return;
27 | }
28 | const index = parent.children.indexOf(this);
29 | const parentData = parent.data;
30 | const { data } = this;
31 | const active = (data.name || index) === parentData.active;
32 | const patch = {};
33 | if (active !== data.active) {
34 | patch.active = active;
35 | }
36 | if (parentData.activeColor !== data.activeColor) {
37 | patch.activeColor = parentData.activeColor;
38 | }
39 | if (parentData.inactiveColor !== data.inactiveColor) {
40 | patch.inactiveColor = parentData.inactiveColor;
41 | }
42 | return Object.keys(patch).length > 0
43 | ? this.set(patch)
44 | : Promise.resolve();
45 | }
46 | }
47 | });
48 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/notify/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { WHITE } from '../common/color';
3 | import { safeArea } from '../mixins/safe-area';
4 | VantComponent({
5 | mixins: [safeArea()],
6 | props: {
7 | message: String,
8 | background: String,
9 | type: {
10 | type: String,
11 | value: 'danger'
12 | },
13 | color: {
14 | type: String,
15 | value: WHITE
16 | },
17 | duration: {
18 | type: Number,
19 | value: 3000
20 | },
21 | zIndex: {
22 | type: Number,
23 | value: 110
24 | }
25 | },
26 | methods: {
27 | show() {
28 | const { duration, onOpened } = this.data;
29 | clearTimeout(this.timer);
30 | this.setData({
31 | show: true
32 | }, onOpened);
33 | if (duration > 0 && duration !== Infinity) {
34 | this.timer = setTimeout(() => {
35 | this.hide();
36 | }, duration);
37 | }
38 | },
39 | hide() {
40 | const { onClose } = this.data;
41 | clearTimeout(this.timer);
42 | this.setData({
43 | show: false
44 | }, onClose);
45 | },
46 | onTap(event) {
47 | const { onClick } = this.data;
48 | if (onClick) {
49 | onClick(event.detail);
50 | }
51 | }
52 | }
53 | });
54 |
--------------------------------------------------------------------------------
/微音乐/pages/dish/dish.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | 专辑
11 |
12 | {{item.name}}
13 |
14 | 歌手:{{item.artist.name}}
15 | 发行时间:2019-09-20
16 | 发行公司: {{item.company}}
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/微音乐/pages/music-play/music-play.js:
--------------------------------------------------------------------------------
1 | // pages/music-play/music-play.js
2 | const http=require('../../models/http')
3 | const https=require('../../models/http')
4 | const audio=wx.getBackgroundAudioManager();
5 | Page({
6 | data: {
7 | lyric:"",
8 | isPlay:true,
9 | },
10 | onLoad:async function (options) {
11 | var id=options.id;
12 | var name=options.name;
13 | var author=options.author;
14 | var res=await http.getPlay(id);
15 | var url=res.data.data[0].url;
16 | audio.title=name;
17 | audio.src=url;
18 | var poster=wx.getStorageSync('poster');
19 | audio.picUrl=poster;
20 | this.setData({
21 | name,
22 | poster,
23 | author
24 | })
25 | //歌词
26 | var play=await https.MusicPlay(id);
27 | var lyric=play.data.lyric;
28 | this.setData({
29 | lyric,
30 | })
31 | //获取缓存
32 | wx.setStorageSync('playState', true)
33 | audio.onPlay(()=>{
34 | this.setData({
35 | isPlay:true
36 | })
37 | wx.setStorageSync('playState', true)
38 | })
39 | audio.onPause(()=>{
40 | this.setData({
41 | isPlay:false
42 | })
43 | wx.setStorageSync('playState', false)
44 | })
45 | },
46 | handleClick(){
47 | if(this.data.isPlay){
48 | this.setData({
49 | isPlay:false
50 | })
51 | audio.pause()
52 | wx.setStorageSync('playState',false)
53 | }else{
54 | this.setData({
55 | isPlay:true
56 | })
57 | audio.play()
58 | wx.setStorageSync('playState',true)
59 | }
60 | }
61 | })
--------------------------------------------------------------------------------
/微音乐/vant-ui/tree-select/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
16 | {{ item.text }}
17 |
18 |
19 |
24 |
25 |
32 | {{ item.text }}
33 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/submit-bar/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { safeArea } from '../mixins/safe-area';
3 | VantComponent({
4 | mixins: [safeArea()],
5 | classes: [
6 | 'bar-class',
7 | 'price-class',
8 | 'button-class'
9 | ],
10 | props: {
11 | tip: {
12 | type: null,
13 | observer: 'updateTip'
14 | },
15 | tipIcon: String,
16 | type: Number,
17 | price: {
18 | type: null,
19 | observer: 'updatePrice'
20 | },
21 | label: String,
22 | loading: Boolean,
23 | disabled: Boolean,
24 | buttonText: String,
25 | currency: {
26 | type: String,
27 | value: '¥'
28 | },
29 | buttonType: {
30 | type: String,
31 | value: 'danger'
32 | },
33 | decimalLength: {
34 | type: Number,
35 | value: 2,
36 | observer: 'updatePrice'
37 | },
38 | suffixLabel: String
39 | },
40 | methods: {
41 | updatePrice() {
42 | const { price, decimalLength } = this.data;
43 | this.setData({
44 | hasPrice: typeof price === 'number',
45 | priceStr: (price / 100).toFixed(decimalLength)
46 | });
47 | },
48 | updateTip() {
49 | this.setData({ hasTip: typeof this.data.tip === 'string' });
50 | },
51 | onSubmit(event) {
52 | this.$emit('submit', event.detail);
53 | }
54 | }
55 | });
56 |
--------------------------------------------------------------------------------
/微音乐/vant-ui/checkbox/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-checkbox{display:-webkit-flex;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox__icon-wrap,.van-checkbox__label{line-height:20px;line-height:var(--checkbox-size,20px)}.van-checkbox__icon-wrap{-webkit-flex:none;flex:none}.van-checkbox__icon{display:block;box-sizing:border-box;width:1em;height:1em;color:transparent;text-align:center;transition-property:color,border-color,background-color;font-size:20px;font-size:var(--checkbox-size,20px);border:1px solid #e5e5e5;border:1px solid var(--checkbox-border-color,#e5e5e5);transition-duration:.2s;transition-duration:var(--checkbox-transition-duration,.2s)}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{color:#fff;color:var(--white,#fff);background-color:#1989fa;background-color:var(--checkbox-checked-icon-color,#1989fa);border-color:#1989fa;border-color:var(--checkbox-checked-icon-color,#1989fa)}.van-checkbox__icon--disabled{background-color:#eee;background-color:var(--checkbox-disabled-background-color,#eee);border-color:#c9c9c9;border-color:var(--checkbox-disabled-icon-color,#c9c9c9)}.van-checkbox__icon--disabled.van-checkbox__icon--checked{color:#c9c9c9;color:var(--checkbox-disabled-icon-color,#c9c9c9)}.van-checkbox__label{word-wrap:break-word;margin-left:10px;margin-left:var(--checkbox-label-margin,10px);color:#333;color:var(--checkbox-label-color,#333)}.van-checkbox__label--left{float:left;margin:0 10px 0 0;margin:0 var(--checkbox-label-margin,10px) 0 0}.van-checkbox__label--disabled{color:#c9c9c9;color:var(--checkbox-disabled-label-color,#c9c9c9)}.van-checkbox__label:empty{margin:0}
--------------------------------------------------------------------------------
/微音乐/pages/mv-detail/mv-detail.wxss:
--------------------------------------------------------------------------------
1 | /* pages/mv-detail/mv-detail.wxss */
2 | video{
3 | width: 100%;
4 | }
5 | .more-list{
6 | display: flex;
7 | border: 1px solid rgb(235, 233, 233);
8 | margin: 20rpx 0;
9 | padding: 20rpx 10rpx;
10 | }
11 | .more-list image{
12 | width: 120rpx;
13 | height:120rpx;
14 | border-radius: 50%;
15 | }
16 | .more-list .content{
17 | width: 500rpx;
18 | font-size: 35rpx;
19 | margin-left: 30rpx;
20 | }
21 | .title{
22 | font-size:45rpx;
23 | font-weight: bold;
24 | margin: 30rpx 0;
25 | }
26 | .name{
27 | font-size: 50rpx;
28 | text-align: center;
29 | margin-bottom: 20rpx;
30 | color: rgb(54, 95, 206);
31 | }
32 | .num{
33 | text-align: center;
34 | }
35 | .detail{
36 | display: flex;
37 | flex-direction: column;
38 | margin-left: 20rpx;
39 | }
40 | .nickname{
41 | color: #999;
42 | margin-bottom: 10rpx;
43 | }
44 | .scroll{
45 | white-space: nowrap;
46 | margin-bottom:30rpx;
47 | color: #333;
48 | font-size: 35rpx;
49 | }
50 | .scroll .mv-list{
51 | display: inline-block;
52 | margin-right: 20rpx;
53 | position: relative;
54 | }
55 | .pic{
56 | width:250rpx;
57 | height: 270rpx;
58 | }
59 | .mv-icon{
60 | width: 65rpx;
61 | height: 45rpx;
62 | }
63 | .playcount{
64 | color: #999;
65 | font-size: 25rpx;
66 | }
67 | .play{
68 | position: absolute;
69 | width: 100rpx;
70 | height: 100rpx;
71 | top: 105rpx;
72 | left: 85rpx;
73 | }
74 | .author-up{
75 | width: 250rpx;
76 | white-space: wrap;
77 | text-overflow: ellipsis;
78 | overflow: hidden;
79 | }
--------------------------------------------------------------------------------