MCPcopy Create free account
hub / github.com/develop202/migu_video / getAndroidURL

Function getAndroidURL

utils/androidURL.js:36–136  ·  view source on GitHub ↗

* @param {string} userId - 用户ID * @param {string} token - 用户token * @param {string} pid - 节目ID * @param {number} rateType - 清晰度 * @returns {} -

(userId, token, pid, rateType)

Source from the content-addressed store, hash-verified

34 * @returns {} -
35 */
36async function getAndroidURL(userId, token, pid, rateType) {
37
38 if (rateType <= 1) {
39 return {
40 url: "",
41 rateType: 0,
42 content: null
43 }
44 }
45 // 获取url
46 const timestramp = Date.now()
47 const appVersion = "26000370"
48 let headers = {
49 AppVersion: 2600037000,
50 TerminalId: "android",
51 "X-UP-CLIENT-CHANNEL-ID": "2600037000-99000-200300220100002",
52 }
53 // cctv5和5+开启flv后不能回放
54 if (pid != "641886683" && pid != "641886773") {
55 headers["appCode"] = "miguvideo_default_android"
56 }
57
58 if (rateType != 2 && userId && token) {
59 headers.UserId = userId
60 headers.UserToken = token
61 }
62 // console.log(headers)
63 const str = timestramp + pid + appVersion
64 const md5 = getStringMD5(str)
65 const result = getSaltAndSign(md5)
66
67 let enableHDRStr = ""
68 if (enableHDR != "false") {
69 enableHDRStr = "&4kvivid=true&2Kvivid=true&vivid=2"
70 }
71 let enableH265Str = ""
72 if (enableH265 != "false") {
73 enableH265Str = "&h265N=true"
74 }
75 // 请求
76 const baseURL = "https://play.miguvideo.com/playurl/v1/play/playurl"
77 let params = "?sign=" + result.sign + "&rateType=" + rateType
78 + "&contId=" + pid + "&timestamp=" + timestramp + "&salt=" + result.salt
79 + "&flvEnable=true&super4k=true" + (rateType == 9 ? "&ott=true" : "") + enableH265Str + enableHDRStr
80 printDebug(`请求链接: ${baseURL + params}`)
81 let respData = await fetchUrl(baseURL + params, {
82 headers: headers
83 })
84
85 printDebug(respData)
86
87 if (respData.rid == 'TIPS_NEED_MEMBER') {
88 printYellow("该账号没有会员 正在降低画质")
89 let respRateType = parseInt(respData.body.urlInfo?.rateType) > 4 ? 4 : 3
90 params = "?sign=" + result.sign + "&rateType=" + respRateType
91 + "&contId=" + pid + "&timestamp=" + timestramp + "&salt=" + result.salt
92 + "&flvEnable=true&super4k=true" + enableH265Str + enableHDRStr
93 printDebug(`请求链接: ${baseURL + params}`)

Callers 1

channelFunction · 0.90

Calls 6

getStringMD5Function · 0.90
printDebugFunction · 0.90
fetchUrlFunction · 0.90
printYellowFunction · 0.90
getddCalcuURLFunction · 0.90
getSaltAndSignFunction · 0.85

Tested by

no test coverage detected