diff --git a/index.js b/index.js
index 73fda9401c..a539f17957 100644
--- a/index.js
+++ b/index.js
@@ -15,7 +15,10 @@ app.get('/bilibili/user/dynamic/:uid', require('./routes/bilibili/dynamic'));
app.get('/bilibili/partion/:tid', require('./routes/bilibili/partion'));
app.get('/bilibili/bangumi/:seasonid', require('./routes/bilibili/bangumi'));
-// weibo
+// Weibo
app.get('/weibo/user/:uid', require('./routes/weibo/user'));
+// NetEaseCloudMusic
+app.get('/ncm/playlist/:id', require('./routes/ncm/playlist'));
+
app.listen(1200);
\ No newline at end of file
diff --git a/routes/ncm/playlist.js b/routes/ncm/playlist.js
new file mode 100644
index 0000000000..5094c027db
--- /dev/null
+++ b/routes/ncm/playlist.js
@@ -0,0 +1,51 @@
+const request = require('request');
+const art = require('art-template');
+const path = require('path');
+const base = require('../base');
+const mix = require('../../utils/mix');
+
+module.exports = (req, res) => {
+ const id = req.params.id;
+
+ base({
+ req: req,
+ res: res,
+ getHTML: (callback) => {
+ request.post({
+ url: 'https://music.163.com/api/v3/playlist/detail',
+ headers: {
+ 'User-Agent': mix.ua,
+ 'Referer': 'https://music.163.com/'
+ },
+ form: {
+ id: id
+ }
+ }, (err, httpResponse, body) => {
+ let data;
+ try {
+ data = JSON.parse(body);
+ }
+ catch (e) {
+ data = {};
+ }
+ const result = data.playlist || {};
+
+ const html = art(path.resolve(__dirname, '../../views/rss.art'), {
+ title: result.name,
+ link: `https://music.163.com/#/playlist?id=${id}`,
+ description: `网易云音乐歌单 - ${result.name}`,
+ lastBuildDate: new Date().toUTCString(),
+ item: result.tracks && result.tracks.map((item) => {
+ const singer = item.ar.length === 1 ? item.ar[0].name : item.ar.reduce((prev, cur) => (prev.name || prev) + '/' + cur.name);
+ return {
+ title: `${item.name} - ${singer}`,
+ description: `歌手:${singer}
专辑:${item.al.name}
日期:${new Date(item.publishTime).toLocaleDateString()}
`,
+ link: `https://music.163.com/#/song?id=${item.id}`
+ };
+ }),
+ });
+ callback(html);
+ });
+ }
+ });
+};
\ No newline at end of file