diff --git a/package.json b/package.json index 1dc199b..48ea858 100644 --- a/package.json +++ b/package.json @@ -9,26 +9,27 @@ "index": "./index.jsx" }, "dependencies": { - "antd": "^2.7.1", - "axios": "^0.15.3", - "react": "^15.1.0", - "react-dom": "^15.1.0" + "@ant-design/icons": "^4.6.2", + "antd": "^4.15.5", + "axios": "^0.21.1", + "react": "^17.0.2", + "react-dom": "^17.0.2" }, "devDependencies": { - "atool-build": "^0.9.0", - "atool-test-mocha": "^0.1.4", - "babel-eslint": "^7.0.0", + "atool-build": "^1.0.8", + "atool-test-mocha": "^0.2.1", + "babel-eslint": "^10.1.0", "babel-plugin-import": "^1.0.1", "babel-plugin-transform-runtime": "^6.8.0", "babel-runtime": "^6.9.2", - "dora": "0.4.x", - "dora-plugin-webpack": "^0.8.1", - "eslint": "^3.15.0", - "eslint-config-airbnb": "^12.0.0", + "dora": "^0.6.1", + "dora-plugin-webpack": "^1.0.0", + "eslint": "^7.26.0", + "eslint-config-airbnb": "^18.2.1", "eslint-plugin-import": "^2.2.0", - "eslint-plugin-jsx-a11y": "^2.2.3", - "eslint-plugin-react": "^6.9.0", - "expect": "^1.20.1", + "eslint-plugin-jsx-a11y": "^6.4.1", + "eslint-plugin-react": "^7.23.2", + "expect": "^26.6.2", "pre-commit": "1.x", "redbox-react": "^1.2.6" }, diff --git a/player.jsx b/player.jsx index a02e3d2..42ef4e8 100644 --- a/player.jsx +++ b/player.jsx @@ -1,6 +1,6 @@ import React from "react"; -import ReactDOM from 'react-dom'; import { Row,Col,Button,Checkbox,Layout, Menu, Icon, Table, Slider, Modal, Input } from 'antd'; +import { StepBackwardOutlined,StepForwardOutlined,CaretRightOutlined,PauseOutlined } from '@ant-design/icons'; import axios from 'axios'; const { Header, Content, Footer, Sider } = Layout; @@ -39,7 +39,7 @@ class Player extends React.Component { playing:'', loop: false, order: false, - playIcon: 'caret-right', + playIcon: , curTime: 0, totTime: 0, data: [], @@ -59,20 +59,20 @@ class Player extends React.Component { this.setState({curTime: this.audio.currentTime, totTime: this.audio.duration}); }; this.audio.onpause = () => { - this.setState({playIcon: 'caret-right'}); + this.setState({playIcon: }); } this.audio.onplay = () => { - this.setState({playIcon: 'pause'}); + this.setState({playIcon: }); } }; fetchPlaylist = () => { - axios({method: 'POST', url: this.state.source + '/api.php',data:'do=getplaylist&folder=/', headers:{'Content-Type':'application/x-www-form-urlencoded'}}) + axios({method: 'POST', url: this.state.source + '/api.php',data:'do=getfilelist&folder=/', headers:{'Content-Type':'application/x-www-form-urlencoded'}}) .then((response) => { this.setState({fdlist: response.data.result.data.subFolderList.map(x => decodeURIComponent(x))}); }).catch(() => {}); }; fetchMusic = (folder) => { - axios({method: 'POST', url: this.state.source + '/api.php',data:'do=getplaylist&folder=' + folder, headers:{'Content-Type':'application/x-www-form-urlencoded'}}) + axios({method: 'POST', url: this.state.source + '/api.php',data:'do=getfilelist&folder=' + folder, headers:{'Content-Type':'application/x-www-form-urlencoded'}}) .then((response) => { this.pagination = { total: response.data.result.data.musicList.length, @@ -106,13 +106,15 @@ class Player extends React.Component { this.setState({playing: filename}); } }; - onRowClick = (record,index) => { - this.audio.pause(); - this.audio.src = this.state.source + this.currentFolder + '/' + record.fileName; - this.audio.load(); - this.audio.play(); - this.setState({playing: record.fileName}); - }; + onRow = (record,index) => ({ + onClick: () => { + this.audio.pause(); + this.audio.src = this.state.source + this.currentFolder + '/' + record.fileName; + this.audio.load(); + this.audio.play(); + this.setState({playing: record.fileName}); + } + }); onPlayClick = () => { if(this.state.playIcon === 'pause') { this.audio.pause(); @@ -201,7 +203,7 @@ class Player extends React.Component { - +
@@ -223,9 +225,9 @@ class Player extends React.Component { {formatTime(this.state.totTime)} -