app.js 8.0 KB
Newer Older
1 2 3
const express = require("express");
const apicache = require("apicache");
const path = require("path");
B
binaryify 已提交
4

5 6
const app = express();
let cache = apicache.middleware;
7

8
// 跨域设置
B
improve  
binaryify 已提交
9 10 11 12 13 14 15 16 17 18 19 20
app.all("*", function(req, res, next) {
  if (req.path !== "/" && !req.path.includes(".")) {
    res.header("Access-Control-Allow-Credentials", true);
    // 这里获取 origin 请求头 而不是用 *
    res.header("Access-Control-Allow-Origin", req.headers["origin"] || "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
    res.header("Content-Type", "application/json;charset=utf-8");
  }
  next();
});

21
const onlyStatus200 = (req, res) => res.statusCode === 200;
22

23
app.use(cache("2 minutes", onlyStatus200));
B
binaryify 已提交
24

25
app.use(express.static(path.resolve(__dirname, "public")));
26

孟政元 已提交
27 28 29 30 31 32 33 34
app.use(function(req, res, next) {
  const proxy = req.query.proxy;
  if (proxy) {
    req.headers.cookie = req.headers.cookie + `__proxy__${proxy}`;
  }
  next();
});

35
// 获取专辑内容
36
app.use("/album", require("./router/album"));
37 38

// 获取歌手单曲
39
app.use("/artists", require("./router/artists"));
40 41

// 获取歌手专辑列表
42
app.use("/artist/album", require("./router/artist_album"));
43 44

//艺术家-信息
45
app.use("/artist/desc", require("./router/artist_desc"));
46 47

//艺术家-mv
48
app.use("/artist/mv", require("./router/artist_mv"));
49

N
Nzix 已提交
50 51 52 53 54 55
// 收藏歌手
app.use("/artist/sub", require("./router/artist_sub"));

// 取消收藏歌手
app.use("/artist/unsub", require("./router/artist_unsub"));

N
Nzix 已提交
56 57 58
// 已关注歌手
app.use("/artist/sublist", require("./router/artist_sublist"));

N
Nzix 已提交
59 60 61
// 歌手分类
app.use("/artist/list", require("./router/artist_list"));

62
// 获取 banner
63
app.use("/banner", require("./router/banner"));
64

65
app.use("/check/music", require("./router/check_music"));
66

67
app.use("/comment/music", require("./router/comment_music"));
68

69
app.use("/comment/mv", require("./router/comment_mv"));
70

71
app.use("/comment/album", require("./router/comment_album"));
72

73
app.use("/comment/playlist", require("./router/comment_playlist"));
74 75

//未知 api
76
app.use("/comment/like", require("./router/comment_like"));
77

78
app.use("/comment/dj", require("./router/comment_dj"));
79 80

//签到
81
app.use("/daily_signin", require("./router/daily_signin"));
82 83

//djradio detail
84
app.use("/dj/detail", require("./router/dj_detail"));
85 86

//dj主播 radio
87
app.use("/dj/program", require("./router/dj_program"));
88

89
app.use("/dj/program/detail", require("./router/dj_program_detail"));
90

91
app.use("/dj/sub", require("./router/dj_sub"));
92

93
app.use("/dj/catelist", require("./router/dj_catelist"));
94

95
app.use("/dj/hot", require("./router/dj_hot"));
96

N
Nzix 已提交
97 98
app.use("/dj/sublist", require("./router/dj_sublist"));

99
// 精选电台
100
app.use("/dj/recommend", require("./router/dj_recommend"));
101 102

//精选电台-分类电台
103
app.use("/dj/recommend/type", require("./router/dj_recommend_type"));
104

B
binaryify 已提交
105
//获取动态
106
app.use("/event", require("./router/event"));
B
binaryify 已提交
107

108
//垃圾桶
109
app.use("/fm_trash", require("./router/fm_trash"));
110

111
app.use("/follow", require("./router/follow"));
112 113

// 喜欢歌曲
114
app.use("/like", require("./router/like"));
115

116
app.use("/likelist", require("./router/likelist"));
117

118
//手机登录
119
app.use("/login/cellphone", require("./router/loginCellphone"));
120

121
//邮箱登录
122
app.use("/login", require("./router/login"));
B
binaryify 已提交
123

124
//登录刷新
125
app.use("/login/refresh", require("./router/login_refresh"));
B
binaryify 已提交
126

127
// 不明 api
128
app.use("/log/web", require("./router/logWeb"));
129

130
// 获取歌词
131
app.use("/lyric", require("./router/lyric"));
132

133
// 获取音乐 url
134
app.use("/music/url", require("./router/musicUrl"));
135

136
//最新 mv
137
app.use("/mv/first", require("./router/mv_first"));
138

139
//播放 mv
140
app.use("/mv/url", require("./router/mv_url"));
141

142
//mv
143
app.use("/mv", require("./router/mv"));
144

145
// 私人 FM
146
app.use("/personal_fm", require("./router/personal_fm"));
147 148

//推荐歌单
149
app.use("/personalized", require("./router/personalized"));
150 151

//推荐dj
152
app.use("/personalized/djprogram", require("./router/personalized_djprogram"));
153 154

//推荐新音乐
155
app.use("/personalized/newsong", require("./router/personalized_newsong"));
156 157

//独家放送
B
binaryify 已提交
158
app.use(
159 160 161
  "/personalized/privatecontent",
  require("./router/personalized_privatecontent")
);
162 163

//推荐mv
164
app.use("/personalized/mv", require("./router/personalized_mv"));
165

166
// 获取歌单内列表
167
app.use("/playlist/detail", require("./router/playlist_detail"));
168

169
//收藏单曲到歌单,从歌单删除歌曲 op=del,add;pid=歌单id,tracks=歌曲id
170
app.use("/playlist/tracks", require("./router/playlist_tracks"));
171

B
binaryify 已提交
172
// 热门歌单分类
173
app.use("/playlist/hot", require("./router/playlist_hot"));
174

B
binaryify 已提交
175
// 全部歌单分类
176
app.use("/playlist/catlist", require("./router/playlist_catlist"));
177

178 179 180 181 182 183
// 新建歌单
app.use("/playlist/create", require("./router/playlist_create"));

// 收藏/取消收藏歌单
app.use("/playlist/subscribe", require("./router/playlist_subscribe"));

184
//推荐节目
185
app.use("/program/recommend", require("./router/program_recommend"));
186 187

// 获取每日推荐歌曲
188
app.use("/recommend/songs", require("./router/recommend_songs"));
189 190

// 获取每日推荐歌单
191
app.use("/recommend/resource", require("./router/recommend_resource"));
192 193

//取消推荐
194
app.use("/recommend/dislike", require("./router/recommend_dislike"));
195

196
app.use("/resource/like", require("./router/resource_like"));
197

B
binaryify 已提交
198
// 搜索
199
app.use("/search", require("./router/search"));
200

B
binaryify 已提交
201 202 203
// 热搜
app.use("/search/hot", require("./router/search_hot.js"));

204
//搜索 multimatch
205
app.use("/search/multimatch", require("./router/search_multimatch"));
206 207

// 搜索 suggest,搜索结果包含单曲,歌手,歌单,mv信息
208
app.use("/search/suggest", require("./router/search_suggest"));
209 210

//simi ,相似歌单
211
app.use("/simi/playlist", require("./router/simi_playlist"));
212 213

//simi ,相似歌曲
214
app.use("/simi/song", require("./router/simi_song"));
215 216

//相似 mv
217
app.use("/simi/mv", require("./router/simi_mv"));
218 219

//simi ,相似关注的用户
220
app.use("/simi/user", require("./router/simi_user"));
221 222

//相似歌手
223
app.use("/simi/artist", require("./router/simi_artist"));
224

B
binaryify 已提交
225
// 获取音乐详情
226
app.use("/song/detail", require("./router/song_detail"));
B
binaryify 已提交
227

228
// 新碟上架 http://music.163.com/#/discover/album/
229
app.use("/top/album", require("./router/top_album"));
230

231
// 热门歌手 http://music.163.com/#/discover/artist/
232
app.use("/top/artists", require("./router/top_artists"));
233

234
app.use("/top/list", require("./router/top_list"));
235

236
app.use("/top/mv", require("./router/top_mv"));
B
binaryify 已提交
237

238
//分类歌单
239
app.use("/top/playlist", require("./router/top_playlist"));
B
binaryify 已提交
240

241
//精品歌单
B
binaryify 已提交
242
app.use(
243 244 245
  "/top/playlist/highquality",
  require("./router/top_playlist_highquality")
);
B
binaryify 已提交
246

247
app.use("/top/song", require("./router/top_song"));
248

249
app.use("/toplist", require("./router/toplist"));
250

251
app.use("/toplist/artist", require("./router/toplist_artist"));
252

253
app.use("/toplist/detail", require("./router/toplist_detail"));
254 255

// 获取用户歌单
256
app.use("/user/playlist", require("./router/user_playlist"));
257 258

// 获取用户电台
259
app.use("/user/audio", require("./router/user_audio"));
260 261

//云盘数据
262
app.use("/user/cloud", require("./router/user_cloud"));
263

B
binaryify 已提交
264
//云盘数据详情? 暂时不要使用
265
app.use("/user/cloud/search", require("./router/user_cloud_search"));
266
//用户动态
267
app.use("/user/event", require("./router/user_event"));
B
binaryify 已提交
268

269
app.use("/user/detail", require("./router/user_detail"));
270

271
app.use("/user/dj", require("./router/user_dj"));
272

273
app.use("/user/followeds", require("./router/user_followeds"));
274

275
app.use("/user/follows", require("./router/user_follows"));
276

277
app.use("/user/subcount", require("./router/user_subcount"));
278

279
app.use("/user/record", require("./router/user_record"));
Z
zhixuan 已提交
280

281 282
app.use("/user/update", require("./router/user_update"));

L
LightStrawberry 已提交
283 284 285 286
app.use("/send/text", require("./router/send_text"));

app.use("/send/playlist", require("./router/send_playlist"));

287 288 289 290
app.use("/playlist/create", require("./router/playlist_create"));

app.use("/playlist/subscribe", require("./router/playlist_subscribe"));

291 292
app.use("/playlist/update", require("./router/playlist_update"));

293
const port = process.env.PORT || 3000;
294 295

app.listen(port, () => {
孟政元 已提交
296
  console.log(`server running @ http://localhost:${port}`);
297
});
298

299
module.exports = app;