Bilibili-Evolved/min/video-story.min.js
2020-10-30 17:42:34 +08:00

1 line
1.7 KiB
JavaScript

(()=>(i,t)=>{function e(i,t,e){if(t in i){Object.defineProperty(i,t,{value:e,enumerable:true,configurable:true,writable:true})}else{i[t]=e}return i}class s{constructor(i){e(this,"title",void 0);e(this,"nodeID",void 0);e(this,"cid",void 0);e(this,"default",void 0);this.title=i.option;this.nodeID=i.node_id;this.cid=i.cid;this.default=i.is_default===1}}class o{constructor(i,t,s){e(this,"title",void 0);e(this,"nodeID",void 0);e(this,"aid",void 0);e(this,"cid",void 0);e(this,"graphVersion",void 0);e(this,"choices",void 0);e(this,"choiceTime",void 0);this.title=i.title;this.nodeID=i.node_id;this.aid=t;this.cid=i.cid;this.graphVersion=s;this.choices=[];this.choiceTime=-1}async getChoices(){if(this.choices.length>0){return}const i=`https://api.bilibili.com/x/stein/nodeinfo?aid=${this.aid}&node_id=${this.nodeID}&graph_version=504`;const t=await Ajax.getJsonWithCredentials(i);if(t.code!==0){console.error(`获取选项失败: ${t.message}`);return}this.choices=t.data.edges.choices.map((i=>new s(i)))}}class n{constructor(i,t){e(this,"startingNode",void 0);e(this,"nodeList",void 0);this.nodeList=i;if(t){this.startingNode=t}else{[this.startingNode]=i}}async getAllChoices(){return await Promise.all(this.nodeList.map((i=>i.getChoices())))}}const d=async(i,t)=>{const e=`https://api.bilibili.com/x/stein/nodeinfo?aid=${i}&graph_version=${t}`;const d=await Ajax.getJsonWithCredentials(e);if(d.code!==0){return d.message}const c=d.data.story_list.map((e=>new o(e,i,t)));const h=c.find((i=>i.nodeID===d.data.node_id));if(!h){return"获取起始结点失败"}h.choiceTime=d.data.edges.show_time;const a=d.data.edges.choices.map((i=>new s(i)));h.choices=a;return new n(c,h)};return{export:{StoryChoice:s,StoryNode:o,Story:n,getStoryNodes:d}}})();