mirror of
				https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
				synced 2025-10-25 09:23:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // 相关歌单
 | |
| 
 | |
| module.exports = (query, request) => {
 | |
|   return request(
 | |
|     'GET',
 | |
|     `https://music.163.com/playlist?id=${query.id}`,
 | |
|     {},
 | |
|     {
 | |
|       ua: 'pc',
 | |
|       cookie: query.cookie,
 | |
|       proxy: query.proxy,
 | |
|       realIP: query.realIP,
 | |
|     },
 | |
|   ).then((response) => {
 | |
|     try {
 | |
|       const pattern =
 | |
|         /<div class="cver u-cover u-cover-3">[\s\S]*?<img src="([^"]+)">[\s\S]*?<a class="sname f-fs1 s-fc0" href="([^"]+)"[^>]*>([^<]+?)<\/a>[\s\S]*?<a class="nm nm f-thide s-fc3" href="([^"]+)"[^>]*>([^<]+?)<\/a>/g
 | |
|       let result,
 | |
|         playlists = []
 | |
|       while ((result = pattern.exec(response.body)) != null) {
 | |
|         playlists.push({
 | |
|           creator: {
 | |
|             userId: result[4].slice('/user/home?id='.length),
 | |
|             nickname: result[5],
 | |
|           },
 | |
|           coverImgUrl: result[1].slice(0, -'?param=50y50'.length),
 | |
|           name: result[3],
 | |
|           id: result[2].slice('/playlist?id='.length),
 | |
|         })
 | |
|       }
 | |
|       response.body = { code: 200, playlists: playlists }
 | |
|       return response
 | |
|     } catch (err) {
 | |
|       response.status = 500
 | |
|       response.body = { code: 500, msg: err.stack }
 | |
|       return Promise.reject(response)
 | |
|     }
 | |
|   })
 | |
| }
 | 
