import{_ as d,c as p,a as o,b as s,d as t,e as a,w as e,r,o as i}from"./app-Dgsdh8A6.js";const u={};function c(D,l){const n=r("RouteLink");return i(),p("div",null,[l[39]||(l[39]=o(`

获取最新 APP 版本

获取版本信息

https://app.bilibili.com/x/v2/version

请求方法: GET

URL参数:

参数名类型内容必要性备注
mobi_appstr目标客户端类型不必要留空为最新有更新的平台
android: Android 版
iphone: iPhone 版
ipad: iPad HD 版
win: UWP 版
android_tv_yst: TV 版
android_car: 车机版
pc_client: PC 客户端

JSON回复:

根对象:

字段类型内容备注
codeint返回值0: 成功
messagestr错误信息默认为 0
ttlint1
dataarray版本信息列表

data 数组中的对象:

字段类型内容备注
platint平台0: Android
1: iPhone
2: iPad HD
3: UWP
12: TV 版
35: 车机版
40: PC 客户端
descstr版本描述
versionstr版本号
buildint内部版本号

示例:

curl -G 'https://app.bilibili.com/x/v2/version' \\
--url-query'mobi_app=android'
查看响应示例:
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": [
    {
      "plat": 0,
      "desc": "-修复了一些bug,切了个大西瓜~",
      "version": "8.9.0",
      "build": 8090300,
      "ptime": 1723612377
    },
    // ...
    {
      "plat": 0,
      "desc": "[修正]横屏状态下,视频列表加载失败的问题\\n[修正]超过48kHz采样率的音频无法播放的问题\\n[修正]部分系统黑屏的问题\\nPS:帮下面的同学祈祷早日上架",
      "version": "2.0.4",
      "build": 0,
      "ptime": 1382630400
    }
  ]
}

版本升级

https://app.bilibili.com/x/v2/version/fawkes/upgrade

请求方式: GET

`,17)),s("p",null,[l[1]||(l[1]=t("鉴权方式(非必须):")),a(n,{to:"/docs/misc/sign/APP.html"},{default:e(()=>l[0]||(l[0]=[t("APP API 签名与鉴权")])),_:1,__:[0]})]),l[40]||(l[40]=s("p",null,[s("strong",null,"URL参数:")],-1)),s("table",null,[l[23]||(l[23]=s("thead",null,[s("tr",null,[s("th",null,"参数名"),s("th",null,"类型"),s("th",null,"内容"),s("th",null,"必要性"),s("th",null,"备注")])],-1)),s("tbody",null,[l[8]||(l[8]=s("tr",null,[s("td",null,"abi"),s("td",null,"str"),s("td",null,"设备 CPU ABI"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"arm64-v8a")])],-1)),l[9]||(l[9]=s("tr",null,[s("td",null,"appid"),s("td",null,"str"),s("td",null,"客户端类型"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"tv.danmaku.bili")])],-1)),l[10]||(l[10]=s("tr",null,[s("td",null,"brand"),s("td",null,"str"),s("td",null,"设备品牌"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"google")])],-1)),l[11]||(l[11]=s("tr",null,[s("td",null,"build"),s("td",null,"int"),s("td",null,"当前 APP 版本号"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"8000200")])],-1)),l[12]||(l[12]=s("tr",null,[s("td",null,"channel"),s("td",null,"str"),s("td",null,"APP 分发渠道"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"master")])],-1)),s("tr",null,[l[4]||(l[4]=s("td",null,"deviceid",-1)),l[5]||(l[5]=s("td",null,"str",-1)),l[6]||(l[6]=s("td",null,"设备唯一 ID",-1)),l[7]||(l[7]=s("td",null,"不必要",-1)),s("td",null,[l[3]||(l[3]=t("即 XU-Prefixed BUVID,见 ")),a(n,{to:"/docs/misc/device_identity.html"},{default:e(()=>l[2]||(l[2]=[t("device_identity")])),_:1,__:[2]})])]),l[13]||(l[13]=s("tr",null,[s("td",null,"env"),s("td",null,"str"),s("td",null,"APP 分发环境"),s("td",null,"不必要"),s("td",null,[t("默认 "),s("code",null,"prod")])],-1)),l[14]||(l[14]=s("tr",null,[s("td",null,"iv"),s("td",null,"int"),s("td",null,"当前 APP innerVer"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"8000210")])],-1)),l[15]||(l[15]=s("tr",null,[s("td",null,"mobi_app"),s("td",null,"str"),s("td",null,"APP mobi_app"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"android")])],-1)),l[16]||(l[16]=s("tr",null,[s("td",null,"model"),s("td",null,"str"),s("td",null,"设备型号"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"Pixel 2 XL")])],-1)),l[17]||(l[17]=s("tr",null,[s("td",null,"nt"),s("td",null,"str"),s("td",null,"-"),s("td",null,"必要"),s("td",null,[t("默认 "),s("code",null,"1")])],-1)),l[18]||(l[18]=s("tr",null,[s("td",null,"ov"),s("td",null,"str"),s("td",null,"设备 OS 版本"),s("td",null,"必要"),s("td",null,[t("安卓即 API Level,如 Android 11 为 "),s("code",null,"30")])],-1)),l[19]||(l[19]=s("tr",null,[s("td",null,"platform"),s("td",null,"str"),s("td",null,"设备平台"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"android")])],-1)),l[20]||(l[20]=s("tr",null,[s("td",null,"screen"),s("td",null,"str"),s("td",null,"设备屏幕参数"),s("td",null,"不必要"),s("td",null,[t("如 "),s("code",null,"2712_1440@537.882_537.882")])],-1)),l[21]||(l[21]=s("tr",null,[s("td",null,"sn"),s("td",null,"int"),s("td",null,"当前 APP SN"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"15088473")])],-1)),l[22]||(l[22]=s("tr",null,[s("td",null,"vn"),s("td",null,"str"),s("td",null,"当前 APP 版本名称"),s("td",null,"必要"),s("td",null,[t("如 "),s("code",null,"8.0.0")])],-1))])]),l[41]||(l[41]=s("p",null,[s("strong",null,"标头参数(Headers):")],-1)),s("table",null,[l[38]||(l[38]=s("thead",null,[s("tr",null,[s("th",null,"参数名"),s("th",null,"类型"),s("th",null,"内容"),s("th",null,"必要性"),s("th",null,"备注")])],-1)),s("tbody",null,[s("tr",null,[l[28]||(l[28]=s("td",null,"app-key",-1)),l[29]||(l[29]=s("td",null,"str",-1)),l[30]||(l[30]=s("td",null,"APPKey 名称",-1)),l[31]||(l[31]=s("td",null,"必要",-1)),s("td",null,[l[25]||(l[25]=t("大体等同于 ")),a(n,{to:"/docs/misc/sign/APPKey.html"},{default:e(()=>l[24]||(l[24]=[s("code",null,"mobi_app",-1)])),_:1,__:[24]}),l[26]||(l[26]=t("。特别地:64 位版本粉版客户端应为 ")),l[27]||(l[27]=s("code",null,"android64",-1))])]),s("tr",null,[l[34]||(l[34]=s("td",null,"buvid",-1)),l[35]||(l[35]=s("td",null,"str",-1)),l[36]||(l[36]=s("td",null,"BUVID",-1)),l[37]||(l[37]=s("td",null,"必要",-1)),s("td",null,[l[33]||(l[33]=t("XU-Prefixed BUVID,见 ")),a(n,{to:"/docs/misc/device_identity.html"},{default:e(()=>l[32]||(l[32]=[t("device_identity")])),_:1,__:[32]})])])])]),l[42]||(l[42]=o(`

JSON回复:

根对象:

字段类型内容备注
codeint返回值0: 成功
-304: 木有改动
-400: 请求异常
messagestr错误信息默认为 0
ttlint1
dataobj信息本体

data 对象:

字段类型内容备注
titlestr标题
contentstr内容
versionstr最新版本名称
version_codeint最新版本号build
urlstr下载地址
sizeint大小单位字节
md5strMD5 值
silentint是否静默安装?
upgrade_typeint升级类型?
cycleint升级周期?
policyint升级策略?
policy_urlstr升级策略链接?
ptimeint发布时间

示例:

curl -G 'https://app.bilibili.com/x/v2/version/fawkes/upgrade' \\
--url-query 'build=1145141' \\
--url-query 'channel=apt' \\
--url-query 'mobi_app=android' \\
--url-query 'nt=awa' \\
--url-query 'ov=qwq' \\
--url-query 'platform=archlinux' \\
--url-query 'sn=919810' \\
--url-query 'vn=!!!'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "title": "升级提醒",
        "content": "-修复了一些bug,并吃了一桶冰淇凌~\\n-记得检查暑假作业哦!",
        "version": "8.10.0",
        "version_code": 8100300,
        "url": "https://dl.hdslb.com/mobile/pack/android64/15793300/iBiliPlayer-apinkRelease-8.10.0-b15793300.apk",
        "size": 132432843,
        "md5": "f196c0ea68ff894dab0cf380cafad802",
        "silent": 0,
        "upgrade_type": 1,
        "cycle": 4,
        "policy": 0,
        "policy_url": "",
        "is_gray": 0,
        "ptime": 1724207041
    }
}

拼接最新版本下载地址

https://api.bilibili.com/x/web-frontend/getappversion

请求方法: GET

URL参数:

参数名类型内容必要性备注
targetstring目标平台目测仅 pc_electron, 错误的值会导致返回 HTTP 404
cdn_urlstringCDN URL任意字符串, 默认 https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe

JSON回复:

根对象:

字段类型内容备注
codenumber返回值0: 成功
-1: need target
messagestring错误消息成功时无此项

data 对象:

字段类型内容备注
cdn_urlstringCDN URL内容同请求参数 cdn_url
sole_cdn_urlstring带版本的 CDN URLcdn_url + "?v=" + 最新版本

示例:

curl -G 'https://api.bilibili.com/x/web-frontend/getappversion' \\
--url-query 'target=pc_electron' \\
--url-query 'cdn_url=https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe'
查看响应示例:
{
  "code": 0,
  "data": {
    "cdn_url": "https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe",
    "sole_cdn_url": "https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe?v=1.16.1-2"
  }
}
`,21))])}const b=d(u,[["render",c]]),m=JSON.parse('{"path":"/docs/APP_widget/ver.html","title":"获取最新 APP 版本","lang":"zh-CN","frontmatter":{},"git":{"updatedTime":1738915174000,"contributors":[{"name":"SessionHu","username":"SessionHu","email":"102411014+SessionHu@users.noreply.github.com","commits":4,"url":"https://github.com/SessionHu"},{"name":"cxw620","username":"cxw620","email":"70561268+cxw620@users.noreply.github.com","commits":1,"url":"https://github.com/cxw620"},{"name":"SocialSisterYi","username":"SocialSisterYi","email":"45892418+SocialSisterYi@users.noreply.github.com","commits":1,"url":"https://github.com/SocialSisterYi"}],"changelog":[{"hash":"c5f86789103bb308326683b3da56256b99a55b6a","time":1738915174000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"chore: ignore .swp file & add missing comment"},{"hash":"e7bfe392b7ba170df681186a03cd6424250f7d92","time":1738905857000,"email":"102411014+SessionHu@users.noreply.github.com","author":"SessionHu","message":"feat(APP_widget/ver.md): getappversion"},{"hash":"1e24c6b1889160c4c35c01416aa4239501accf5f","time":1726759053000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"调整部分接口描述与错误修复 (#1088)","coAuthors":[{"name":"社会易姐QwQ","email":"45892418+SocialSisterYi@users.noreply.github.com"}]},{"hash":"2dbdcd884d782891f3d8e9ece37a4c8d18c8298e","time":1726758507000,"email":"70561268+cxw620@users.noreply.github.com","author":"陈寒彤","message":"fix(APP_widget/ver.md): fix wrong desc and add details (#1090)"},{"hash":"60a0c5d1a2f44fe61335da04571305fa7727a968","time":1724238159000,"email":"102411014+SessionHu@users.noreply.github.com","author":"Session小胡","message":"feat: 各种接口补充与错误修正 (#1066)"}]},"filePathRelative":"docs/APP_widget/ver.md"}');export{b as comp,m as data};