app.js 7.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
// app.all('*', function (req, res, next) {
B
binaryify 已提交
10 11 12 13 14 15 16 17
//   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')
//   }
B
improve  
binaryify 已提交
18 19
//   next()
// })
20
const onlyStatus200 = (req, res) => res.statusCode === 200;
21

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

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

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

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

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

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

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

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

// 获取 banner
50
app.use("/banner", require("./router/banner"));
51

52
app.use("/check/music", require("./router/check_music"));
53

54
app.use("/comment/music", require("./router/comment_music"));
55

56
app.use("/comment/mv", require("./router/comment_mv"));
57

58
app.use("/comment/album", require("./router/comment_album"));
59

60
app.use("/comment/playlist", require("./router/comment_playlist"));
61 62

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

65
app.use("/comment/dj", require("./router/comment_dj"));
66 67

//签到
68
app.use("/daily_signin", require("./router/daily_signin"));
69 70

//djradio detail
71
app.use("/dj/detail", require("./router/dj_detail"));
72 73

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

76
app.use("/dj/program/detail", require("./router/dj_program_detail"));
77

78
app.use("/dj/sub", require("./router/dj_sub"));
79

80
app.use("/dj/catelist", require("./router/dj_catelist"));
81

82
app.use("/dj/hot", require("./router/dj_hot"));
83 84

// 精选电台
85
app.use("/dj/recommend", require("./router/dj_recommend"));
86 87

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

B
binaryify 已提交
90
//获取动态
91
app.use("/event", require("./router/event"));
B
binaryify 已提交
92

93
//垃圾桶
94
app.use("/fm_trash", require("./router/fm_trash"));
95

96
app.use("/follow", require("./router/follow"));
97 98

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

101
app.use("/likelist", require("./router/likelist"));
102

103
//手机登录
104
app.use("/login/cellphone", require("./router/loginCellphone"));
105

106
//邮箱登录
107
app.use("/login", require("./router/login"));
B
binaryify 已提交
108

109
//登录刷新
110
app.use("/login/refresh", require("./router/login_refresh"));
B
binaryify 已提交
111

112
// 不明 api
113
app.use("/log/web", require("./router/logWeb"));
114

115
// 获取歌词
116
app.use("/lyric", require("./router/lyric"));
117

118
// 获取音乐 url
119
app.use("/music/url", require("./router/musicUrl"));
120

121
//最新 mv
122
app.use("/mv/first", require("./router/mv_first"));
123

124
//播放 mv
125
app.use("/mv/url", require("./router/mv_url"));
126

127
//mv
128
app.use("/mv", require("./router/mv"));
129

130
// 私人 FM
131
app.use("/personal_fm", require("./router/personal_fm"));
132 133

//推荐歌单
134
app.use("/personalized", require("./router/personalized"));
135 136

//推荐dj
137
app.use("/personalized/djprogram", require("./router/personalized_djprogram"));
138 139

//推荐新音乐
140
app.use("/personalized/newsong", require("./router/personalized_newsong"));
141 142

//独家放送
B
binaryify 已提交
143
app.use(
144 145 146
  "/personalized/privatecontent",
  require("./router/personalized_privatecontent")
);
147 148

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

151
// 获取歌单内列表
152
app.use("/playlist/detail", require("./router/playlist_detail"));
153

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

157
app.use("/playlist/hot", require("./router/playlist_hot"));
158

159
app.use("/playlist/catlist", require("./router/playlist_catlist"));
160 161

//推荐节目
162
app.use("/program/recommend", require("./router/program_recommend"));
163 164

// 获取每日推荐歌曲
165
app.use("/recommend/songs", require("./router/recommend_songs"));
166 167

// 获取每日推荐歌单
168
app.use("/recommend/resource", require("./router/recommend_resource"));
169 170

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

173
app.use("/resource/like", require("./router/resource_like"));
174

B
binaryify 已提交
175
// 搜索
176
app.use("/search", require("./router/search"));
177

178
//搜索 multimatch
179
app.use("/search/multimatch", require("./router/search_multimatch"));
180 181

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

//simi ,相似歌单
185
app.use("/simi/playlist", require("./router/simi_playlist"));
186 187

//simi ,相似歌曲
188
app.use("/simi/song", require("./router/simi_song"));
189 190

//相似 mv
191
app.use("/simi/mv", require("./router/simi_mv"));
192 193

//simi ,相似关注的用户
194
app.use("/simi/user", require("./router/simi_user"));
195 196

//相似歌手
197
app.use("/simi/artist", require("./router/simi_artists"));
198

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

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

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

208
app.use("/top/list", require("./router/top_list"));
209

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

212
//分类歌单
213
app.use("/top/playlist", require("./router/top_playlist"));
B
binaryify 已提交
214

215
//精品歌单
B
binaryify 已提交
216
app.use(
217 218 219
  "/top/playlist/highquality",
  require("./router/top_playlist_highquality")
);
B
binaryify 已提交
220

221
app.use("/top/song", require("./router/top_songs"));
222

223
app.use("/toplist", require("./router/toplist"));
224

225
app.use("/toplist/artist", require("./router/toplist_artist"));
226

227
app.use("/toplist/detail", require("./router/toplist_detail"));
228 229

// 获取用户歌单
230
app.use("/user/playlist", require("./router/user_playlist"));
231 232

// 获取用户电台
233
app.use("/user/audio", require("./router/user_audio"));
234 235

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

B
binaryify 已提交
238
//云盘数据详情? 暂时不要使用
239
app.use("/user/cloud/search", require("./router/user_cloud_search"));
240
//用户动态
241
app.use("/user/event", require("./router/user_event"));
B
binaryify 已提交
242

243
app.use("/user/detail", require("./router/user_detail"));
244

245
app.use("/user/dj", require("./router/user_dj"));
246

247
app.use("/user/followeds", require("./router/user_followeds"));
248

249
app.use("/user/follows", require("./router/user_follows"));
250

251
app.use("/user/subcount", require("./router/user_subcount"));
252

253
app.use("/user/record", require("./router/user_playrecord"));
Z
zhixuan 已提交
254

255
const port = process.env.PORT || 3000;
256 257

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

261
module.exports = app;