├── .gitignore
├── .tslint.json
├── ExpressServe
├── app.js
├── bin
│ └── www
├── package.json
├── public
│ ├── Lrc
│ │ ├── 学猫叫.json
│ │ └── 生日快乐.json
│ ├── Music
│ │ ├── 学猫叫.mp3
│ │ └── 生日快乐.mp3
│ ├── images
│ │ ├── 学猫叫.jpg
│ │ └── 生日快乐.jpg
│ └── stylesheets
│ │ └── style.css
├── readMe.md
└── routes
│ ├── index.js
│ └── users.js
├── README.md
├── babel.config.js
├── package-lock.json
├── package.json
├── public
├── favicon.ico
└── index.html
└── src
├── App.vue
├── Pages
├── Home
│ └── Home.vue
└── Login
│ └── Login.vue
├── assets
├── 1.jpg
├── 2.jpg
├── 3.jpg
├── 4.jpg
├── 5.jpg
├── citou2.png
├── icon
│ ├── iconfont.css
│ ├── iconfont.eot
│ ├── iconfont.js
│ ├── iconfont.svg
│ ├── iconfont.ttf
│ ├── iconfont.woff
│ └── iconfont.woff2
├── logo.png
├── timg2.png
├── wmc.jpg
├── zxy.jpg
└── 黑胶唱片.psd
├── components
├── BaseAudio.vue
├── MusicBlock.vue
├── MusicList.vue
├── Phonevideo.vue
├── PlayUI.vue
├── SearchComponents.vue
├── cd.vue
├── head.vue
├── login.vue
├── lrc.vue
└── lunbo.vue
├── img
├── disc-plus.png
├── disc.png
├── needle.png
└── play_btn.png
├── main.js
├── router
└── index.js
├── store
└── index.js
└── views
├── Home.vue
├── Main.vue
├── MusicPlay.vue
├── Search.vue
├── TuiJianMusic.vue
├── User.vue
└── login.vue
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 | ExpressServe/node_modules
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 |
15 | # Editor directories and files
16 | .idea
17 | .vscode
18 | *.suo
19 | *.ntvs*
20 | *.njsproj
21 | *.sln
22 | *.sw?
23 |
--------------------------------------------------------------------------------
/.tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "defaultSeverity": "warning",
3 | "extends": [
4 | "tslint:recommended"
5 | ],
6 | "rules": {
7 | "quotemark": [
8 | true,
9 | "single"
10 | ],
11 | "indent": [
12 | true,
13 | "spaces",
14 | 2
15 | ],
16 | "interface-name": false,
17 | "ordered-imports": false,
18 | "object-literal-sort-keys": false,
19 | "no-consecutive-blank-lines": false,
20 | "no-shadowed-variable": false,
21 | "no-var-requires": false,
22 | "semicolon": false,
23 | "whitespace": false,
24 | "trailing-comma": false,
25 | "no-trailing-whitespace": false,
26 | "variable-name": [
27 | true,
28 | "ban-keywords",
29 | "check-format",
30 | "allow-leading-underscore"
31 | ],
32 | "no-console": [
33 | true,
34 | "log",
35 | "error"
36 | ],
37 | "max-classes-per-file": false
38 | }
39 | }
--------------------------------------------------------------------------------
/ExpressServe/app.js:
--------------------------------------------------------------------------------
1 | var createError = require('http-errors');
2 | var express = require('express');
3 | var path = require('path');
4 | var cookieParser = require('cookie-parser');
5 | var logger = require('morgan');
6 |
7 | var indexRouter = require('./routes/index');
8 | var usersRouter = require('./routes/users');
9 |
10 | var app = express();
11 |
12 | // view engine setup
13 | app.set('views', path.join(__dirname, 'views'));
14 | app.set('view engine', 'jade');
15 |
16 | app.use(logger('dev'));
17 | app.use(express.json());
18 | app.use(express.urlencoded({
19 | extended: false
20 | }));
21 | app.use(cookieParser());
22 | app.use(express.static(path.join(__dirname, 'public')));
23 |
24 | app.use('/', indexRouter);
25 | app.use('/users', usersRouter);
26 |
27 | // catch 404 and forward to error handler
28 | app.use(function (req, res, next) {
29 | next(createError(404));
30 | });
31 |
32 | // error handler
33 | app.use(function (err, req, res, next) {
34 | // set locals, only providing error in development
35 | res.locals.message = err.message;
36 | res.locals.error = req.app.get('env') === 'development' ? err : {};
37 |
38 | // render the error page
39 | res.status(err.status || 500);
40 | res.render('error');
41 | });
42 |
43 | module.exports = app;
--------------------------------------------------------------------------------
/ExpressServe/bin/www:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | /**
4 | * Module dependencies.
5 | */
6 |
7 | var app = require('../app');
8 | var debug = require('debug')('expressserve:server');
9 | var http = require('http');
10 |
11 | /**
12 | * Get port from environment and store in Express.
13 | */
14 |
15 | var port = normalizePort(process.env.PORT || '3000');
16 | app.set('port', port);
17 |
18 | /**
19 | * Create HTTP server.
20 | */
21 |
22 | var server = http.createServer(app);
23 |
24 | /**
25 | * Listen on provided port, on all network interfaces.
26 | */
27 |
28 | server.listen(port);
29 | server.on('error', onError);
30 | server.on('listening', onListening);
31 |
32 | /**
33 | * Normalize a port into a number, string, or false.
34 | */
35 |
36 | function normalizePort(val) {
37 | var port = parseInt(val, 10);
38 |
39 | if (isNaN(port)) {
40 | // named pipe
41 | return val;
42 | }
43 |
44 | if (port >= 0) {
45 | // port number
46 | return port;
47 | }
48 |
49 | return false;
50 | }
51 |
52 | /**
53 | * Event listener for HTTP server "error" event.
54 | */
55 |
56 | function onError(error) {
57 | if (error.syscall !== 'listen') {
58 | throw error;
59 | }
60 |
61 | var bind = typeof port === 'string'
62 | ? 'Pipe ' + port
63 | : 'Port ' + port;
64 |
65 | // handle specific listen errors with friendly messages
66 | switch (error.code) {
67 | case 'EACCES':
68 | console.error(bind + ' requires elevated privileges');
69 | process.exit(1);
70 | break;
71 | case 'EADDRINUSE':
72 | console.error(bind + ' is already in use');
73 | process.exit(1);
74 | break;
75 | default:
76 | throw error;
77 | }
78 | }
79 |
80 | /**
81 | * Event listener for HTTP server "listening" event.
82 | */
83 |
84 | function onListening() {
85 | var addr = server.address();
86 | var bind = typeof addr === 'string'
87 | ? 'pipe ' + addr
88 | : 'port ' + addr.port;
89 | debug('Listening on ' + bind);
90 | }
91 |
--------------------------------------------------------------------------------
/ExpressServe/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "expressserve",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "node ./bin/www"
7 | },
8 | "dependencies": {
9 | "cookie-parser": "~1.4.4",
10 | "debug": "~2.6.9",
11 | "express": "~4.16.1",
12 | "http-errors": "~1.6.3",
13 | "jade": "~1.11.0",
14 | "morgan": "~1.9.1"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/ExpressServe/public/Lrc/学猫叫.json:
--------------------------------------------------------------------------------
1 | {
2 | "sgc": false,
3 | "sfy": false,
4 | "qfy": false,
5 | "lyricUser": {
6 | "id": 554191055,
7 | "status": 99,
8 | "demand": 0,
9 | "userid": 453011212,
10 | "nickname": "摘星星送你",
11 | "uptime": 1525769374445
12 | },
13 | "lrc": {
14 | "version": 7,
15 | "lyric": "[00:00.000] 作曲 : 小峰峰\n[00:01.000] 作词 : 小峰峰\n[00:05.03]编曲:吕宏斌&塞米七\n[00:05.28]和声:小峰峰\n[00:05.45]混音:陈秋洁\n[00:05.63]制作人:小峰峰\n[00:05.85]唱片:麦袭时代\n[00:06.40]OP:百纳娱乐\n[00:06.93]\n[00:07.96]小潘潘:\n[00:08.31]我们一起学猫叫\n[00:10.58]一起喵喵喵喵喵\n[00:12.60]在你面前撒个娇\n[00:14.71]哎呦喵喵喵喵喵\n[00:16.77]我的心脏砰砰跳\n[00:18.85]迷恋上你的坏笑\n[00:21.31]你不说爱我我就喵喵喵\n[00:24.10]\n[00:24.75]小峰峰:\n[00:26.17]每天都需要你的拥抱\n[00:29.08]珍惜在一起的每分每秒\n[00:33.35]你对我多重要\n[00:35.21]我想你比我更知道\n[00:38.00]你就是我的女主角\n[00:41.34]\n[00:41.80]小潘潘:\n[00:42.80]有时候我懒的像只猫\n[00:45.69]脾气不好时又张牙舞爪\n[00:50.10]你总是温柔的\n[00:51.96]能把我的心融化掉\n[00:54.65]我想要当你的小猫猫\n[00:59.93]\n[01:00.38]合:\n[01:00.70]我们一起学猫叫\n[01:02.69]一起喵喵喵喵喵\n[01:04.72]在你面前撒个娇\n[01:06.81]哎呦喵喵喵喵喵\n[01:08.82]我的心脏砰砰跳\n[01:10.79]迷恋上你的坏笑\n[01:13.42]你不说爱我我就喵喵喵\n[01:16.86]\n[01:17.23]我们一起学猫叫\n[01:19.30]一起喵喵喵喵喵\n[01:21.45]我要穿你的外套\n[01:23.55]闻你身上的味道\n[01:25.62]想要变成你的猫\n[01:27.68]赖在你怀里睡着\n[01:30.17]每天都贪恋着你的好\n[01:33.85]\n[01:50.67]小潘潘:\n[01:51.73]有时候我懒的像只猫\n[01:54.62]脾气不好时又张牙舞爪\n[01:58.95]你总是温柔的\n[02:01.07]能把我的心融化掉\n[02:03.62]我想要当你的小猫猫\n[02:07.97]\n[02:09.19]合:\n[02:09.49]我们一起学猫叫\n[02:11.49]一起喵喵喵喵喵\n[02:13.55]在你面前撒个娇\n[02:15.55]哎呦喵喵喵喵喵\n[02:17.72]我的心脏砰砰跳\n[02:19.77]迷恋上你的坏笑\n[02:22.28]你不说爱我我就喵喵喵\n[02:26.01]\n[02:26.21]我们一起学猫叫\n[02:28.30]一起喵喵喵喵喵\n[02:30.30]我要穿你的外套\n[02:32.38]闻你身上的味道\n[02:34.58]想要变成你的猫\n[02:36.56]赖在你怀里睡着\n[02:39.02]每天都贪恋着你的好\n[02:42.40]\n[02:42.85]我们一起学猫叫\n[02:44.84]一起喵喵喵喵喵\n[02:46.89]在你面前撒个娇\n[02:49.02]哎呦喵喵喵喵喵\n[02:51.14]我的心脏砰砰跳\n[02:53.32]迷恋上你的坏笑\n[02:55.75]你不说爱我我就喵喵喵\n[02:59.12]\n[02:59.47]我们一起学猫叫\n[03:01.59]一起喵喵喵喵喵\n[03:03.66]我要穿你的外套\n[03:05.82]闻你身上的味道\n[03:07.88]想要变成你的猫\n[03:09.98]赖在你怀里睡着\n[03:12.37]每天都贪恋着你的好\n"
16 | },
17 | "klyric": {
18 | "version": 0,
19 | "lyric": null
20 | },
21 | "tlyric": {
22 | "version": 0,
23 | "lyric": null
24 | },
25 | "code": 200
26 | }
--------------------------------------------------------------------------------
/ExpressServe/public/Lrc/生日快乐.json:
--------------------------------------------------------------------------------
1 | {
2 | "sgc": false,
3 | "sfy": false,
4 | "qfy": false,
5 | "lyricUser": {
6 | "id": 554191055,
7 | "status": 99,
8 | "demand": 0,
9 | "userid": 453011212,
10 | "nickname": "摘星星送你",
11 | "uptime": 1525769374445
12 | },
13 | "lrc": {
14 | "version": 7,
15 | "lyric": "[00:00.000] 作曲 : 小峰峰\n[00:01.000] 作词 : 小峰峰\n[00:05.03]编曲:吕宏斌&塞米七\n[00:05.28]和声:小峰峰\n[00:05.45]混音:陈秋洁\n[00:05.63]制作人:小峰峰\n[00:05.85]唱片:麦袭时代\n[00:06.40]OP:百纳娱乐\n[00:06.93]\n[00:07.96]小潘潘:\n[00:08.31]我们一起学猫叫\n[00:10.58]一起喵喵喵喵喵\n[00:12.60]在你面前撒个娇\n[00:14.71]哎呦喵喵喵喵喵\n[00:16.77]我的心脏砰砰跳\n[00:18.85]迷恋上你的坏笑\n[00:21.31]你不说爱我我就喵喵喵\n[00:24.10]\n[00:24.75]小峰峰:\n[00:26.17]每天都需要你的拥抱\n[00:29.08]珍惜在一起的每分每秒\n[00:33.35]你对我多重要\n[00:35.21]我想你比我更知道\n[00:38.00]你就是我的女主角\n[00:41.34]\n[00:41.80]小潘潘:\n[00:42.80]有时候我懒的像只猫\n[00:45.69]脾气不好时又张牙舞爪\n[00:50.10]你总是温柔的\n[00:51.96]能把我的心融化掉\n[00:54.65]我想要当你的小猫猫\n[00:59.93]\n[01:00.38]合:\n[01:00.70]我们一起学猫叫\n[01:02.69]一起喵喵喵喵喵\n[01:04.72]在你面前撒个娇\n[01:06.81]哎呦喵喵喵喵喵\n[01:08.82]我的心脏砰砰跳\n[01:10.79]迷恋上你的坏笑\n[01:13.42]你不说爱我我就喵喵喵\n[01:16.86]\n[01:17.23]我们一起学猫叫\n[01:19.30]一起喵喵喵喵喵\n[01:21.45]我要穿你的外套\n[01:23.55]闻你身上的味道\n[01:25.62]想要变成你的猫\n[01:27.68]赖在你怀里睡着\n[01:30.17]每天都贪恋着你的好\n[01:33.85]\n[01:50.67]小潘潘:\n[01:51.73]有时候我懒的像只猫\n[01:54.62]脾气不好时又张牙舞爪\n[01:58.95]你总是温柔的\n[02:01.07]能把我的心融化掉\n[02:03.62]我想要当你的小猫猫\n[02:07.97]\n[02:09.19]合:\n[02:09.49]我们一起学猫叫\n[02:11.49]一起喵喵喵喵喵\n[02:13.55]在你面前撒个娇\n[02:15.55]哎呦喵喵喵喵喵\n[02:17.72]我的心脏砰砰跳\n[02:19.77]迷恋上你的坏笑\n[02:22.28]你不说爱我我就喵喵喵\n[02:26.01]\n[02:26.21]我们一起学猫叫\n[02:28.30]一起喵喵喵喵喵\n[02:30.30]我要穿你的外套\n[02:32.38]闻你身上的味道\n[02:34.58]想要变成你的猫\n[02:36.56]赖在你怀里睡着\n[02:39.02]每天都贪恋着你的好\n[02:42.40]\n[02:42.85]我们一起学猫叫\n[02:44.84]一起喵喵喵喵喵\n[02:46.89]在你面前撒个娇\n[02:49.02]哎呦喵喵喵喵喵\n[02:51.14]我的心脏砰砰跳\n[02:53.32]迷恋上你的坏笑\n[02:55.75]你不说爱我我就喵喵喵\n[02:59.12]\n[02:59.47]我们一起学猫叫\n[03:01.59]一起喵喵喵喵喵\n[03:03.66]我要穿你的外套\n[03:05.82]闻你身上的味道\n[03:07.88]想要变成你的猫\n[03:09.98]赖在你怀里睡着\n[03:12.37]每天都贪恋着你的好\n"
16 | },
17 | "klyric": {
18 | "version": 0,
19 | "lyric": null
20 | },
21 | "tlyric": {
22 | "version": 0,
23 | "lyric": null
24 | },
25 | "code": 200
26 | }
--------------------------------------------------------------------------------
/ExpressServe/public/Music/学猫叫.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/ExpressServe/public/Music/学猫叫.mp3
--------------------------------------------------------------------------------
/ExpressServe/public/Music/生日快乐.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/ExpressServe/public/Music/生日快乐.mp3
--------------------------------------------------------------------------------
/ExpressServe/public/images/学猫叫.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/ExpressServe/public/images/学猫叫.jpg
--------------------------------------------------------------------------------
/ExpressServe/public/images/生日快乐.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/ExpressServe/public/images/生日快乐.jpg
--------------------------------------------------------------------------------
/ExpressServe/public/stylesheets/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding: 50px;
3 | font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
4 | }
5 |
6 | a {
7 | color: #00B7FF;
8 | }
9 |
--------------------------------------------------------------------------------
/ExpressServe/readMe.md:
--------------------------------------------------------------------------------
1 | # musicplayer 实战项目 音乐播放器后端代码
2 |
--------------------------------------------------------------------------------
/ExpressServe/routes/index.js:
--------------------------------------------------------------------------------
1 | var express = require('express');
2 | var router = express.Router();
3 |
4 | /* GET home page. */
5 | router.get('/', function(req, res, next) {
6 | res.render('index', { title: 'Express' });
7 | });
8 |
9 | module.exports = router;
10 |
--------------------------------------------------------------------------------
/ExpressServe/routes/users.js:
--------------------------------------------------------------------------------
1 | var express = require('express');
2 | var router = express.Router();
3 |
4 | /* GET users listing. */
5 | router.get('/', function(req, res, next) {
6 | res.send('respond with a resource');
7 | });
8 |
9 | module.exports = router;
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # musicplayer 实战项目 音乐播放器
2 |
3 | # 制作步骤和心得
4 |
5 | ## 2019/6/27
6 |
7 | - 今天整理了项目
8 | - 项目当前功能,播放音乐,根据歌词文件加载歌词
9 | - 歌曲播放完毕后,暂停播放
10 | - 播放的黑胶唱片中间加上了专辑的图片,并且能跟随唱片旋转
11 |
12 | ## 2019/7/1
13 |
14 | - 重新构思了下播放器,决定从新写,只保留控件部分,界面重新开始做
15 |
16 | ## 2019/7/3
17 |
18 | - 重新开始做首页
19 |
20 | ## 2019/10/25
21 |
22 | - 开始重新写
23 | - 前后台都在这个项目里
24 | - 重新整理的项目目录
25 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/app'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "musicplayer",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "axios": "^0.19.0",
12 | "core-js": "^2.6.5",
13 | "qs.js": "^0.1.12",
14 | "vue": "^2.6.10",
15 | "vue-axios": "^2.1.4",
16 | "vue-router": "^3.0.6",
17 | "vuex": "^3.1.1"
18 | },
19 | "devDependencies": {
20 | "@vue/cli-plugin-babel": "^3.8.0",
21 | "@vue/cli-plugin-eslint": "^3.8.0",
22 | "@vue/cli-service": "^3.8.0",
23 | "babel-eslint": "^10.0.1",
24 | "eslint": "^5.16.0",
25 | "eslint-plugin-vue": "^5.0.0",
26 | "less": "^3.9.0",
27 | "less-loader": "^5.0.0",
28 | "vue-template-compiler": "^2.6.10"
29 | },
30 | "eslintConfig": {
31 | "root": true,
32 | "env": {
33 | "node": true
34 | },
35 | "extends": [
36 | "plugin:vue/essential",
37 | "eslint:recommended"
38 | ],
39 | "rules": {},
40 | "parserOptions": {
41 | "parser": "babel-eslint"
42 | }
43 | },
44 | "postcss": {
45 | "plugins": {
46 | "autoprefixer": {}
47 | }
48 | },
49 | "browserslist": [
50 | "> 1%",
51 | "last 2 versions"
52 | ]
53 | }
54 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | musicplayer
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
15 |
--------------------------------------------------------------------------------
/src/Pages/Home/Home.vue:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/Pages/Home/Home.vue
--------------------------------------------------------------------------------
/src/Pages/Login/Login.vue:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/Pages/Login/Login.vue
--------------------------------------------------------------------------------
/src/assets/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/1.jpg
--------------------------------------------------------------------------------
/src/assets/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/2.jpg
--------------------------------------------------------------------------------
/src/assets/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/3.jpg
--------------------------------------------------------------------------------
/src/assets/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/4.jpg
--------------------------------------------------------------------------------
/src/assets/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/5.jpg
--------------------------------------------------------------------------------
/src/assets/citou2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/citou2.png
--------------------------------------------------------------------------------
/src/assets/icon/iconfont.css:
--------------------------------------------------------------------------------
1 | @font-face {font-family: "iconfont";
2 | src: url('iconfont.eot?t=1560922094566'); /* IE9 */
3 | src: url('iconfont.eot?t=1560922094566#iefix') format('embedded-opentype'), /* IE6-IE8 */
4 | url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
5 | url('iconfont.woff?t=1560922094566') format('woff'),
6 | url('iconfont.ttf?t=1560922094566') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
7 | url('iconfont.svg?t=1560922094566#iconfont') format('svg'); /* iOS 4.1- */
8 | }
9 |
10 | .iconfont {
11 | font-family: "iconfont" !important;
12 | font-size: 16px;
13 | font-style: normal;
14 | -webkit-font-smoothing: antialiased;
15 | -moz-osx-font-smoothing: grayscale;
16 | }
17 |
18 | .icon-bofang:before {
19 | content: "\e66a";
20 | }
21 |
22 | .icon-shangyigeshangyiqu:before {
23 | content: "\e670";
24 | }
25 |
26 | .icon-shunxubofang:before {
27 | content: "\e671";
28 | }
29 |
30 | .icon-suijibofang:before {
31 | content: "\e672";
32 | }
33 |
34 | .icon-xiayigexiayiqu:before {
35 | content: "\e674";
36 | }
37 |
38 | .icon-zanting:before {
39 | content: "\e677";
40 | }
41 |
42 |
--------------------------------------------------------------------------------
/src/assets/icon/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/icon/iconfont.eot
--------------------------------------------------------------------------------
/src/assets/icon/iconfont.js:
--------------------------------------------------------------------------------
1 | !function(i){var t,e='',c=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss");if(c&&!i.__iconfont__svg__cssinject__){i.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}!function(t){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(t,0);else{var c=function(){document.removeEventListener("DOMContentLoaded",c,!1),t()};document.addEventListener("DOMContentLoaded",c,!1)}else document.attachEvent&&(l=t,a=i.document,n=!1,(o=function(){try{a.documentElement.doScroll("left")}catch(t){return void setTimeout(o,50)}e()})(),a.onreadystatechange=function(){"complete"==a.readyState&&(a.onreadystatechange=null,e())});function e(){n||(n=!0,l())}var l,a,n,o}(function(){var t,c;(t=document.createElement("div")).innerHTML=e,e=null,(c=t.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",function(t,c){c.firstChild?function(t,c){c.parentNode.insertBefore(t,c)}(t,c.firstChild):c.appendChild(t)}(c,document.body))})}(window);
--------------------------------------------------------------------------------
/src/assets/icon/iconfont.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
45 |
--------------------------------------------------------------------------------
/src/assets/icon/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/icon/iconfont.ttf
--------------------------------------------------------------------------------
/src/assets/icon/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/icon/iconfont.woff
--------------------------------------------------------------------------------
/src/assets/icon/iconfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/icon/iconfont.woff2
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/logo.png
--------------------------------------------------------------------------------
/src/assets/timg2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/timg2.png
--------------------------------------------------------------------------------
/src/assets/wmc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/wmc.jpg
--------------------------------------------------------------------------------
/src/assets/zxy.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/zxy.jpg
--------------------------------------------------------------------------------
/src/assets/黑胶唱片.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/assets/黑胶唱片.psd
--------------------------------------------------------------------------------
/src/components/BaseAudio.vue:
--------------------------------------------------------------------------------
1 |
2 |
5 |
10 |
11 |
12 |
63 |
64 |
69 |
--------------------------------------------------------------------------------
/src/components/MusicBlock.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
![]()
6 |
{{item.t}}
7 |
8 |
9 |
10 |
11 |
24 |
25 |
46 |
--------------------------------------------------------------------------------
/src/components/MusicList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
{{item.musicName}}--{{item.Album}}
7 |
歌手:{{item.singer}}
8 |
9 |
10 |
11 |
12 |
13 |
14 |
58 |
59 |
75 |
--------------------------------------------------------------------------------
/src/components/Phonevideo.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
36 |
37 |
39 |
--------------------------------------------------------------------------------
/src/components/PlayUI.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ismove?time2:time}}
7 |
8 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | 返
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
150 |
151 |
--------------------------------------------------------------------------------
/src/components/SearchComponents.vue:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
18 |
19 |
54 |
--------------------------------------------------------------------------------
/src/components/cd.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |
5 |

10 |

16 |
17 |
18 |
19 |
20 |
28 |
29 |
30 |
110 |
--------------------------------------------------------------------------------
/src/components/head.vue:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
16 |
17 |
27 |
28 | q
--------------------------------------------------------------------------------
/src/components/login.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 账号
5 |
6 |
7 |
8 |
9 | 密码
10 |
11 |
12 |
登录
13 |
14 |
15 |
16 |
17 |
34 |
35 |
37 |
--------------------------------------------------------------------------------
/src/components/lrc.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{item.str}}
10 |
11 |
12 |
13 |
14 |
94 |
95 |
145 |
--------------------------------------------------------------------------------
/src/components/lunbo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |

6 |
7 |
8 |
9 |
10 |
23 |
24 |
42 |
--------------------------------------------------------------------------------
/src/img/disc-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/img/disc-plus.png
--------------------------------------------------------------------------------
/src/img/disc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/img/disc.png
--------------------------------------------------------------------------------
/src/img/needle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/img/needle.png
--------------------------------------------------------------------------------
/src/img/play_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/img/play_btn.png
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | // The Vue build version to load with the `import` command
2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
3 | import Vue from 'vue'
4 | import App from './App'
5 | import router from './router/index'
6 | import store from './store/index'
7 |
8 | import axios from 'axios'
9 | import VueAxios from 'vue-axios'
10 |
11 | Vue.use(VueAxios, axios);
12 |
13 | Vue.config.productionTip = false
14 |
15 | /* eslint-disable no-new */
16 | new Vue({
17 | el: '#app',
18 | router,
19 | store,
20 | render: h => h(App)
21 | })
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Router from 'vue-router'
3 | import home from '../views/Home.vue'
4 | import login from '../views/login.vue'
5 | import Main from '../views/Main.vue'
6 | import Search from '../views/Search.vue'
7 | import TuiJian from '../views/TuiJianMusic.vue'
8 | import PlayUI from '../components/Phonevideo.vue'
9 |
10 | Vue.use(Router)
11 |
12 | export default new Router({
13 | routes: [{
14 | path: '/',
15 | redirect: '/Main'
16 | },
17 |
18 | {
19 | path: '/login',
20 | component: login
21 | },
22 | {
23 | path: '/Main',
24 | component: Main,
25 | redirect: '/Main/home',
26 | children: [{
27 | path: '/Main/home',
28 | component: home
29 | }, {
30 | path: '/Main/Liest',
31 | component: TuiJian
32 | }, {
33 | path: '/Main/Search',
34 | component: Search
35 | }]
36 | },
37 | {
38 | path: '/player',
39 | component: PlayUI
40 | }
41 | ]
42 | })
--------------------------------------------------------------------------------
/src/store/index.js:
--------------------------------------------------------------------------------
1 | import vue from 'vue'
2 | import vuex from 'vuex'
3 |
4 | vue.use(vuex);
5 |
6 | const store = new vuex.Store({
7 | state: {
8 | isplay: false,
9 | jindu: 0,
10 | shijian: 0,
11 | playstate: 1,
12 | playtime: 0,
13 | jinduLock: 0,
14 | alltime: 0
15 | },
16 | mutations: {
17 | setplay(state, value) {
18 | state.isplay = value;
19 | },
20 | setjindu(state, value) {
21 | state.jindu = value;
22 | if (value == 100)
23 | state.isplay = false;
24 | },
25 | setshijian(state, value) {
26 | state.shijian = value;
27 | },
28 | settime(state, value) {
29 | state.playtime = value;
30 | },
31 | setjindulock(state, value) {
32 | state.jinduLock = value;
33 | },
34 | setalltime(state, value) {
35 | state.alltime = value;
36 | },
37 | },
38 | actions: {
39 | setPlayFun(context, value) {
40 | context.commit("setplay", value);
41 | },
42 | setjinduFun(context, value) {
43 | context.commit("setjindu", value);
44 | },
45 | setshijianFun(context, value) {
46 | context.commit("setshijian", value);
47 | },
48 | settimeFun(context, value) {
49 | context.commit("settime", value);
50 | },
51 | setjindulockFun(context, value) {
52 | context.commit("setjindulock", value);
53 | },
54 | setalltimeFun(context, value) {
55 | context.commit("setalltime", value);
56 | },
57 | initPlay(context) {
58 | context.commit("setjindu", 0);
59 | context.commit("setshijian", 0);
60 | context.commit("settime", 0);
61 | context.commit("setjindulock", 0);
62 | context.commit("setalltime", 0);
63 | context.commit("setplay", true);
64 | }
65 | }
66 | });
67 |
68 | export default store;
--------------------------------------------------------------------------------
/src/views/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
29 |
30 |
32 |
33 |
--------------------------------------------------------------------------------
/src/views/Main.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 首页
9 |
10 |
11 | 推荐歌曲
12 |
13 |
14 | 搜索
15 |
16 |
17 |
18 |
19 |
20 |
21 |
50 |
51 |
70 |
--------------------------------------------------------------------------------
/src/views/MusicPlay.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
35 |
36 |
38 |
--------------------------------------------------------------------------------
/src/views/Search.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
18 |
19 |
24 |
--------------------------------------------------------------------------------
/src/views/TuiJianMusic.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
17 |
18 |
20 |
--------------------------------------------------------------------------------
/src/views/User.vue:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CallZero/MusicPlayer/051dbe38017656308bef458087e507cdb428fbaa/src/views/User.vue
--------------------------------------------------------------------------------
/src/views/login.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
18 |
19 |
21 |
--------------------------------------------------------------------------------