提交 10957d14 编写于 作者: 5 592767809

二进制下载解析proto案例

上级 b030822f
!function(e){function c(data){for(var c,d,f=data[0],t=data[1],r=data[2],i=0,m=[];i<f.length;i++)d=f[i],Object.prototype.hasOwnProperty.call(o,d)&&o[d]&&m.push(o[d][0]),o[d]=0;for(c in t)Object.prototype.hasOwnProperty.call(t,c)&&(e[c]=t[c]);for(h&&h(data);m.length;)m.shift()();return n.push.apply(n,r||[]),l()}function l(){for(var e,i=0;i<n.length;i++){for(var c=n[i],l=!0,d=1;d<c.length;d++){var f=c[d];0!==o[f]&&(l=!1)}l&&(n.splice(i--,1),e=t(t.s=c[0]))}return e}var d={},f={114:0},o={114:0},n=[];function t(c){if(d[c])return d[c].exports;var l=d[c]={i:c,l:!1,exports:{}};return e[c].call(l.exports,l,l.exports,t),l.l=!0,l.exports}t.e=function(e){var c=[],l=function(){try{return document.createElement("link").relList.supports("preload")}catch(e){return!1}}();f[e]?c.push(f[e]):0!==f[e]&&{66:1}[e]&&c.push(f[e]=new Promise((function(c,d){for(var o=({1:"tdk-basketball",2:"tdk-amfootball",3:"tdk-badminton",4:"tdk-baseball",5:"tdk-cricket",6:"tdk-esports",7:"tdk-handball",8:"tdk-icehockey",9:"tdk-snooker",10:"tdk-tabletennis",11:"tdk-tennis",12:"tdk-volleyball",13:"tdk-waterpolo",14:"locales-aa",15:"locales-aze",16:"locales-bg",17:"locales-br",18:"locales-bs",19:"locales-cs",20:"locales-da",21:"locales-de",22:"locales-el",23:"locales-en",24:"locales-es",25:"locales-et",26:"locales-fi",27:"locales-fr",28:"locales-hr",29:"locales-hu",30:"locales-id",31:"locales-it",32:"locales-ja",33:"locales-ka",34:"locales-km",35:"locales-ko",36:"locales-lt",37:"locales-lv",38:"locales-mk",39:"locales-mm",40:"locales-nl",41:"locales-nn",42:"locales-pl",43:"locales-pt",44:"locales-ro",45:"locales-ru",46:"locales-sk",47:"locales-sl",48:"locales-sqi",49:"locales-sr",50:"locales-sv",51:"locales-th",52:"locales-tr",53:"locales-ukr",54:"locales-vi",55:"locales-zht",56:"tdk-football",57:"echarts",58:"zrender",61:"football_description_player",63:"football_description_match",64:"locales-zh",65:"vendors/videojs-nv-packaging",66:"videojs-nv-packaging",81:"football_description_team",83:"lang-map_amfootball-ch-json",84:"lang-map_amfootball-srl-json",85:"lang-map_badminton-ch-json",86:"lang-map_badminton-srl-json",87:"lang-map_baseball-ch-json",88:"lang-map_baseball-srl-json",89:"lang-map_basketball-ch-json",90:"lang-map_basketball-srl-json",91:"lang-map_common-ch-json",92:"lang-map_common-srl-json",93:"lang-map_cricket-ch-json",94:"lang-map_cricket-srl-json",95:"lang-map_football-ch-json",96:"lang-map_football-srl-json",97:"lang-map_handball-ch-json",98:"lang-map_handball-srl-json",99:"lang-map_icehockey-ch-json",100:"lang-map_icehockey-srl-json",101:"lang-map_newseo-ch-json",102:"lang-map_newseo-srl-json",103:"lang-map_snooker-ch-json",104:"lang-map_snooker-srl-json",105:"lang-map_tabletennis-ch-json",106:"lang-map_tabletennis-srl-json",107:"lang-map_tennis-ch-json",108:"lang-map_tennis-srl-json",109:"lang-map_volleyball-ch-json",110:"lang-map_volleyball-srl-json",111:"lang-map_waterpolo-ch-json",112:"lang-map_waterpolo-srl-json"}[e]||e)+"."+{1:"31d6cfe",2:"31d6cfe",3:"31d6cfe",4:"31d6cfe",5:"31d6cfe",6:"31d6cfe",7:"31d6cfe",8:"31d6cfe",9:"31d6cfe",10:"31d6cfe",11:"31d6cfe",12:"31d6cfe",13:"31d6cfe",14:"31d6cfe",15:"31d6cfe",16:"31d6cfe",17:"31d6cfe",18:"31d6cfe",19:"31d6cfe",20:"31d6cfe",21:"31d6cfe",22:"31d6cfe",23:"31d6cfe",24:"31d6cfe",25:"31d6cfe",26:"31d6cfe",27:"31d6cfe",28:"31d6cfe",29:"31d6cfe",30:"31d6cfe",31:"31d6cfe",32:"31d6cfe",33:"31d6cfe",34:"31d6cfe",35:"31d6cfe",36:"31d6cfe",37:"31d6cfe",38:"31d6cfe",39:"31d6cfe",40:"31d6cfe",41:"31d6cfe",42:"31d6cfe",43:"31d6cfe",44:"31d6cfe",45:"31d6cfe",46:"31d6cfe",47:"31d6cfe",48:"31d6cfe",49:"31d6cfe",50:"31d6cfe",51:"31d6cfe",52:"31d6cfe",53:"31d6cfe",54:"31d6cfe",55:"31d6cfe",56:"31d6cfe",57:"31d6cfe",58:"31d6cfe",60:"31d6cfe",61:"31d6cfe",62:"31d6cfe",63:"31d6cfe",64:"31d6cfe",65:"31d6cfe",66:"d1cf89c",67:"31d6cfe",68:"31d6cfe",69:"31d6cfe",70:"31d6cfe",71:"31d6cfe",72:"31d6cfe",73:"31d6cfe",74:"31d6cfe",75:"31d6cfe",76:"31d6cfe",77:"31d6cfe",78:"31d6cfe",81:"31d6cfe",83:"31d6cfe",84:"31d6cfe",85:"31d6cfe",86:"31d6cfe",87:"31d6cfe",88:"31d6cfe",89:"31d6cfe",90:"31d6cfe",91:"31d6cfe",92:"31d6cfe",93:"31d6cfe",94:"31d6cfe",95:"31d6cfe",96:"31d6cfe",97:"31d6cfe",98:"31d6cfe",99:"31d6cfe",100:"31d6cfe",101:"31d6cfe",102:"31d6cfe",103:"31d6cfe",104:"31d6cfe",105:"31d6cfe",106:"31d6cfe",107:"31d6cfe",108:"31d6cfe",109:"31d6cfe",110:"31d6cfe",111:"31d6cfe",112:"31d6cfe",116:"31d6cfe",117:"31d6cfe",118:"31d6cfe",119:"31d6cfe",120:"31d6cfe",121:"31d6cfe",122:"31d6cfe",123:"31d6cfe",124:"31d6cfe",125:"31d6cfe",126:"31d6cfe",127:"31d6cfe",128:"31d6cfe",129:"31d6cfe",130:"31d6cfe",131:"31d6cfe",132:"31d6cfe",133:"31d6cfe",134:"31d6cfe",135:"31d6cfe",136:"31d6cfe",137:"31d6cfe",138:"31d6cfe",139:"31d6cfe",140:"31d6cfe",141:"31d6cfe",142:"31d6cfe",143:"31d6cfe",144:"31d6cfe",145:"31d6cfe",146:"31d6cfe",147:"31d6cfe",148:"31d6cfe"}[e]+".css",n=t.p+o,r=document.getElementsByTagName("link"),i=0;i<r.length;i++){var m=(_=r[i]).getAttribute("data-href")||_.getAttribute("href");if(!("stylesheet"!==_.rel&&"preload"!==_.rel||m!==o&&m!==n))return c()}var h=document.getElementsByTagName("style");for(i=0;i<h.length;i++){var _;if((m=(_=h[i]).getAttribute("data-href"))===o||m===n)return c()}var k=document.createElement("link");k.rel=l?"preload":"stylesheet",l?k.as="style":k.type="text/css",k.onload=c,k.onerror=function(c){var l=c&&c.target&&c.target.src||n,o=new Error("Loading CSS chunk "+e+" failed.\n("+l+")");o.code="CSS_CHUNK_LOAD_FAILED",o.request=l,delete f[e],k.parentNode.removeChild(k),d(o)},k.href=n,document.getElementsByTagName("head")[0].appendChild(k)})).then((function(){if(f[e]=0,l){var c=document.createElement("link");c.href=t.p+""+({1:"tdk-basketball",2:"tdk-amfootball",3:"tdk-badminton",4:"tdk-baseball",5:"tdk-cricket",6:"tdk-esports",7:"tdk-handball",8:"tdk-icehockey",9:"tdk-snooker",10:"tdk-tabletennis",11:"tdk-tennis",12:"tdk-volleyball",13:"tdk-waterpolo",14:"locales-aa",15:"locales-aze",16:"locales-bg",17:"locales-br",18:"locales-bs",19:"locales-cs",20:"locales-da",21:"locales-de",22:"locales-el",23:"locales-en",24:"locales-es",25:"locales-et",26:"locales-fi",27:"locales-fr",28:"locales-hr",29:"locales-hu",30:"locales-id",31:"locales-it",32:"locales-ja",33:"locales-ka",34:"locales-km",35:"locales-ko",36:"locales-lt",37:"locales-lv",38:"locales-mk",39:"locales-mm",40:"locales-nl",41:"locales-nn",42:"locales-pl",43:"locales-pt",44:"locales-ro",45:"locales-ru",46:"locales-sk",47:"locales-sl",48:"locales-sqi",49:"locales-sr",50:"locales-sv",51:"locales-th",52:"locales-tr",53:"locales-ukr",54:"locales-vi",55:"locales-zht",56:"tdk-football",57:"echarts",58:"zrender",61:"football_description_player",63:"football_description_match",64:"locales-zh",65:"vendors/videojs-nv-packaging",66:"videojs-nv-packaging",81:"football_description_team",83:"lang-map_amfootball-ch-json",84:"lang-map_amfootball-srl-json",85:"lang-map_badminton-ch-json",86:"lang-map_badminton-srl-json",87:"lang-map_baseball-ch-json",88:"lang-map_baseball-srl-json",89:"lang-map_basketball-ch-json",90:"lang-map_basketball-srl-json",91:"lang-map_common-ch-json",92:"lang-map_common-srl-json",93:"lang-map_cricket-ch-json",94:"lang-map_cricket-srl-json",95:"lang-map_football-ch-json",96:"lang-map_football-srl-json",97:"lang-map_handball-ch-json",98:"lang-map_handball-srl-json",99:"lang-map_icehockey-ch-json",100:"lang-map_icehockey-srl-json",101:"lang-map_newseo-ch-json",102:"lang-map_newseo-srl-json",103:"lang-map_snooker-ch-json",104:"lang-map_snooker-srl-json",105:"lang-map_tabletennis-ch-json",106:"lang-map_tabletennis-srl-json",107:"lang-map_tennis-ch-json",108:"lang-map_tennis-srl-json",109:"lang-map_volleyball-ch-json",110:"lang-map_volleyball-srl-json",111:"lang-map_waterpolo-ch-json",112:"lang-map_waterpolo-srl-json"}[e]||e)+"."+{1:"31d6cfe",2:"31d6cfe",3:"31d6cfe",4:"31d6cfe",5:"31d6cfe",6:"31d6cfe",7:"31d6cfe",8:"31d6cfe",9:"31d6cfe",10:"31d6cfe",11:"31d6cfe",12:"31d6cfe",13:"31d6cfe",14:"31d6cfe",15:"31d6cfe",16:"31d6cfe",17:"31d6cfe",18:"31d6cfe",19:"31d6cfe",20:"31d6cfe",21:"31d6cfe",22:"31d6cfe",23:"31d6cfe",24:"31d6cfe",25:"31d6cfe",26:"31d6cfe",27:"31d6cfe",28:"31d6cfe",29:"31d6cfe",30:"31d6cfe",31:"31d6cfe",32:"31d6cfe",33:"31d6cfe",34:"31d6cfe",35:"31d6cfe",36:"31d6cfe",37:"31d6cfe",38:"31d6cfe",39:"31d6cfe",40:"31d6cfe",41:"31d6cfe",42:"31d6cfe",43:"31d6cfe",44:"31d6cfe",45:"31d6cfe",46:"31d6cfe",47:"31d6cfe",48:"31d6cfe",49:"31d6cfe",50:"31d6cfe",51:"31d6cfe",52:"31d6cfe",53:"31d6cfe",54:"31d6cfe",55:"31d6cfe",56:"31d6cfe",57:"31d6cfe",58:"31d6cfe",60:"31d6cfe",61:"31d6cfe",62:"31d6cfe",63:"31d6cfe",64:"31d6cfe",65:"31d6cfe",66:"d1cf89c",67:"31d6cfe",68:"31d6cfe",69:"31d6cfe",70:"31d6cfe",71:"31d6cfe",72:"31d6cfe",73:"31d6cfe",74:"31d6cfe",75:"31d6cfe",76:"31d6cfe",77:"31d6cfe",78:"31d6cfe",81:"31d6cfe",83:"31d6cfe",84:"31d6cfe",85:"31d6cfe",86:"31d6cfe",87:"31d6cfe",88:"31d6cfe",89:"31d6cfe",90:"31d6cfe",91:"31d6cfe",92:"31d6cfe",93:"31d6cfe",94:"31d6cfe",95:"31d6cfe",96:"31d6cfe",97:"31d6cfe",98:"31d6cfe",99:"31d6cfe",100:"31d6cfe",101:"31d6cfe",102:"31d6cfe",103:"31d6cfe",104:"31d6cfe",105:"31d6cfe",106:"31d6cfe",107:"31d6cfe",108:"31d6cfe",109:"31d6cfe",110:"31d6cfe",111:"31d6cfe",112:"31d6cfe",116:"31d6cfe",117:"31d6cfe",118:"31d6cfe",119:"31d6cfe",120:"31d6cfe",121:"31d6cfe",122:"31d6cfe",123:"31d6cfe",124:"31d6cfe",125:"31d6cfe",126:"31d6cfe",127:"31d6cfe",128:"31d6cfe",129:"31d6cfe",130:"31d6cfe",131:"31d6cfe",132:"31d6cfe",133:"31d6cfe",134:"31d6cfe",135:"31d6cfe",136:"31d6cfe",137:"31d6cfe",138:"31d6cfe",139:"31d6cfe",140:"31d6cfe",141:"31d6cfe",142:"31d6cfe",143:"31d6cfe",144:"31d6cfe",145:"31d6cfe",146:"31d6cfe",147:"31d6cfe",148:"31d6cfe"}[e]+".css",c.rel="stylesheet",c.type="text/css",document.body.appendChild(c)}})));var d=o[e];if(0!==d)if(d)c.push(d[2]);else{var n=new Promise((function(c,l){d=o[e]=[c,l]}));c.push(d[2]=n);var r,script=document.createElement("script");script.charset="utf-8",script.timeout=120,t.nc&&script.setAttribute("nonce",t.nc),script.src=function(e){return t.p+""+{1:"fd9d828",2:"baa824a",3:"793ce07",4:"231ef25",5:"7a73486",6:"da03099",7:"ed82fe6",8:"dea1bb3",9:"c9af2cc",10:"438bced",11:"1858312",12:"bb6592b",13:"f475079",14:"b0de667",15:"b8dd9ca",16:"6e00aa9",17:"d9d9860",18:"2986cf3",19:"9466b93",20:"a3484a2",21:"f8e1398",22:"d8a1694",23:"885de4b",24:"f985562",25:"d25987e",26:"fdc4823",27:"1fa8086",28:"b033fb5",29:"b14bbd3",30:"0b6f45b",31:"b7c5569",32:"693e91f",33:"d6fb0eb",34:"5c84506",35:"53da2f4",36:"d676a98",37:"65e442f",38:"6ef0e18",39:"67fba94",40:"9178657",41:"833523e",42:"71a60a2",43:"d35ce00",44:"1b36394",45:"1361d31",46:"bd54ebb",47:"ac4604b",48:"1568985",49:"31c1f43",50:"731f0f3",51:"70596f5",52:"33804c2",53:"d968f41",54:"098af63",55:"8f3d56b",56:"f3e1976",57:"01930df",58:"eae057d",60:"c7a0b92",61:"5bec391",62:"5133622",63:"bfd2231",64:"ca4f2cb",65:"3eb4dc5",66:"bde63fb",67:"7d20bb3",68:"7e94763",69:"1625887",70:"5020a0f",71:"094388e",72:"99ddd1b",73:"87c7f6a",74:"ea975bf",75:"177ba51",76:"18cc725",77:"50bbc0b",78:"04d5c2b",81:"1fc4135",83:"deae2fe",84:"7f8e923",85:"4e5730f",86:"0bc31e6",87:"e6a68e0",88:"6751eb2",89:"827eb15",90:"6f1ccba",91:"cf6e591",92:"f1d1066",93:"eb63d70",94:"53d4e9f",95:"5bb57c9",96:"eb2a254",97:"572c277",98:"c730d05",99:"44b00ca",100:"6d455ec",101:"c13edf0",102:"fb53e65",103:"eff5594",104:"29c33ff",105:"3a3bfc2",106:"bb7e3ca",107:"5d62e45",108:"48d0300",109:"ba4322d",110:"9f8d5f3",111:"c16d136",112:"ef6fa49",116:"42188cc",117:"4fac987",118:"749d377",119:"6dc43b8",120:"3c5b6c3",121:"5ef8102",122:"8cfabc9",123:"bfba991",124:"69dda31",125:"7b5de5b",126:"324367c",127:"4f53064",128:"582c070",129:"27b62e3",130:"2a1d1bf",131:"a5e7c3c",132:"448444b",133:"c482a96",134:"4297ad3",135:"914afd0",136:"eb8318f",137:"bf862fc",138:"704cf48",139:"f2dacb2",140:"d94cdae",141:"9fe463d",142:"7a758df",143:"ee019b6",144:"d561bb9",145:"8c4c2a5",146:"6a3dd0d",147:"19f94b0",148:"219941e"}[e]+".js"}(e);var m=new Error;r=function(c){script.onerror=script.onload=null,clearTimeout(h);var l=o[e];if(0!==l){if(l){var d=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;m.message="Loading chunk "+e+" failed.\n("+d+": "+f+")",m.name="ChunkLoadError",m.type=d,m.request=f,l[1](m)}o[e]=void 0}};var h=setTimeout((function(){r({type:"timeout",target:script})}),12e4);script.onerror=script.onload=r,document.head.appendChild(script)}return Promise.all(c)},t.m=e,t.c=d,t.d=function(e,c,l){t.o(e,c)||Object.defineProperty(e,c,{enumerable:!0,get:l})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,c){if(1&c&&(e=t(e)),8&c)return e;if(4&c&&"object"==typeof e&&e&&e.__esModule)return e;var l=Object.create(null);if(t.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:e}),2&c&&"string"!=typeof e)for(var d in e)t.d(l,d,function(c){return e[c]}.bind(null,d));return l},t.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(c,"a",c),c},t.o=function(object,e){return Object.prototype.hasOwnProperty.call(object,e)},t.p="https://static.aiscore.com/_nuxt/",t.oe=function(e){throw console.error(e),e};var r=window.webpackJsonp=window.webpackJsonp||[],m=r.push.bind(r);r.push=c,r=r.slice();for(var i=0;i<r.length;i++)c(r[i]);var h=m;l()}([]);
\ No newline at end of file
因为 它太大了无法显示 source diff 。你可以改为 查看blob
此差异已折叠。
(window.webpackJsonp=window.webpackJsonp||[]).push([[121],{1396:function(e,t,n){"use strict";n.d(t,"a",(function(){return y}));n(19),n(1417);var r=n(2358),l=n(2359),o=n(9),c=n(656),f=["#FF203C","#FF6600","#FFAE0F","#C1CC01","#5CB400","#0E8604"],y=function(){function e(t){var n=t.$i18n,l=t.dom,o=t.lineup,c=t.players,f=t.teamObj,y=t.prefix_url;Object(r.a)(this,e);var h=this,d=!1;try{d=$.browser.isMac}catch(e){}h.$i18n=n,h.cache={},h.array=[],h.lineup=o,h.players=c,h.teamObj=f,h.prefix_url=y,h.canvas=l,h.ctx=h.canvas.getContext("2d"),d?(h.canvas.style="width:".concat(320,"px;height:").concat(507,"px"),h.canvas.width=640,h.canvas.height=1014,h.ctx.scale(2,2)):(h.canvas.width=320,h.canvas.height=507),h.reloadCanvas(),h.canvas.addEventListener("click",h.handleClick.bind(h))}return Object(l.a)(e,[{key:"getMousePos",value:function(canvas,e){var rect=canvas.getBoundingClientRect();return{x:e.clientX-rect.left*(canvas.width/rect.width),y:e.clientY-rect.top*(canvas.height/rect.height)}}},{key:"handleClick",value:function(e){for(var t,n=this.getMousePos(this.canvas,e),r=n.x,l=n.y,o=this.players,i=0,c=this.array.length;i<c;i++)if(r>(t=this.array[i]).x1&&r<t.x2&&l>t.y1&&l<t.y2){var f=this.$i18n.path("player-".concat(o[t.player.player.player.id].slug,"/").concat(t.player.player.player.id));window.open(f,"_blank");break}}},{key:"initData",value:function(e){this.lineup=e}},{key:"setBg",value:function(){var e=this,t=e.ctx,n=e.cache,r=(e.lineup,new Image);r.src=c,r.onload=function(){n[c]=r,t.drawImage(r,0,0,320,507),e.loadImage()}}},{key:"loadImage",value:function(){var e=this,t=(e.ctx,e.cache,e.lineup),n=e.players;e.prefix_url;t.forEach((function(t){if(t.x=t.locationX,t.y=t.locationY,t.x&&t.y){var r=new Image,l=Object(o.getLogo)(n[t.player.id].logo,"player","!w50");r.src=l,r.onload=function(){e.drawPlayer({img:r,player:t,position:"home"})}}}))}},{key:"drawPlayer",value:function(e){var t=this,n=t.ctx,r=t.transformXY(e.player.x,e.player.y),l=40/e.img.width*e.img.height;n.beginPath(),n.save(),n.arc(r.x+20,r.y+20,20,0,2*Math.PI),n.fillStyle="#fff",n.fill(),n.clip(),n.drawImage(e.img,r.x,r.y+(40-l),40,l),n.restore(),n.closePath(),t.drawName(e,r),t.drawRate(e,r),t.drawTeamLogo(e,r),t.array.push({player:e,x1:r.x,y1:r.y-10,x2:r.x+50,y2:r.y+50})}},{key:"drawTeamLogo",value:function(e,t){var n=this.ctx,r=this.teamObj,l=(this.prefix_url,new Image),c=Object(o.getLogo)(r[e.player.team.id].logo,"team","!w50");l.src=c,l.onload=function(){n.drawImage(this,t.x-10,t.y+20,16,16)}}},{key:"drawName",value:function(e,t){var n=this.ctx,r=(this.players[e.player.player.id].name||"").trim();r&&(n.textAlign="center",n.font="normal 11px Rubik",n.fillStyle="#fff",r.length>6&&(r="".concat(r.substring(0,6),"...")),n.fillText(r,t.x+20,t.y+55))}},{key:"drawRate",value:function(e,t){if(0!=e.player.rating){var n=this.ctx;this.players;n.font="normal 10px Rubik",this.fillRoundRect(n,t.x+30,t.y+20,19,19,3,this.formatRateColor(e.player.rating)),n.fillStyle="#fff",n.fillText(parseFloat(e.player.rating).toFixed(1),t.x+39,t.y+33)}}},{key:"drawNumber",value:function(e,t){var n=this.ctx;this.players;n.font="normal 10px Rubik",n.fillStyle="#fff",n.fillText("#"+e.player.shirtNumber,t.x-9,t.y+10)}},{key:"clearCanvas",value:function(){this.ctx.clearRect(0,0,320,507)}},{key:"reloadCanvas",value:function(){this.clearCanvas(),this.array=[],this.setBg()}},{key:"transformXY",value:function(e,t){return{y:507*(1-t/100),x:e/100*320-20}}},{key:"formatRateColor",value:function(e){return e<6?f[0]:e<=6.49&&e>=6?f[1]:e<=6.99&&e>=6.5?f[2]:e<=7.99&&e>=7?f[3]:e<=8.99&&e>=8?f[4]:e>=9?f[5]:void 0}},{key:"fillRoundRect",value:function(e,t,n,r,l,o,c){if(2*o>r||2*o>l)return!1;e.save(),e.translate(t,n),this.drawRoundRectPath(e,r,l,o),e.fillStyle=c||"#000",e.fill(),e.restore()}},{key:"drawRoundRectPath",value:function(e,t,n,r){e.beginPath(0),e.arc(t-r,n-r,r,0,Math.PI/2),e.lineTo(r,n),e.arc(r,n-r,r,Math.PI/2,Math.PI),e.lineTo(0,r),e.arc(r,r,r,Math.PI,3*Math.PI/2),e.lineTo(t-r,0),e.arc(t-r,r,r,3*Math.PI/2,2*Math.PI),e.lineTo(t,n-r),e.closePath()}}]),e}()},1417:function(e,t,n){var r=n(42);r(r.P,"Array",{fill:n(284)}),n(192)("fill")},2358:function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},2359:function(e,t,n){"use strict";function r(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}n.d(t,"a",(function(){return l}))}}]);
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
node webpack_mixer.js -l 045b45a.js -m 0d02486.js -m 5ef8102.js -m 8f3d56b.js -m 9da73d9.js -m 74b8c43.js -m 496ebf5.js -m f3e1976.js -m f244215.js -o webpack_out.js
\ No newline at end of file
此差异已折叠。
此差异已折叠。
const request = require('request');
const n = require('./webpack_out');
const l = n(82);
const m = l.Root.fromJSON(n(97)).lookup("onescore.app.v1.Response");
const M = l.Root.fromJSON(n(97)).lookup("onescore.app.v1.PlayerStats");
request({uri: 'https://api.aiscore.com/v1/web/api/football/comp/stats?lang=3&season_id=5wv78xirr3fekrj&team_id=&type=3&n=2&kind=0', encoding:'binary'}, function (error, response, body) {
if (!error && response.statusCode === 200) {
let d = new Uint8Array(body.length);
for (let i = 0; i < body.length; i++) {
d[i] = body.charCodeAt(i)
}
let h = m.decode(d);
let data = M.decode(h.data);
console.log(JSON.stringify(data));
}
});
const parser = require("@babel/parser");
const t = require("@babel/types");
const generator = require("@babel/generator");
const traverse = require("@babel/traverse").default;
const fs = require("fs");
function wtofile(path, flags, code) {
var fd = fs.openSync(path,flags);
fs.writeSync(fd, code);
fs.closeSync(fd);
}
function run(loader_path, out_path, modular_path) {
let js_code = fs.readFileSync(loader_path, {
encoding: "utf-8"
});
// 转换为AST语法树
let loader_ast = parser.parse(js_code);
// 获取加载器代码
let loader_body;
if (loader_ast.program.body[0].expression.type === 'UnaryExpression'){
loader_body = loader_ast.program.body[0].expression.argument.callee.body.body;
}else{
loader_body = loader_ast.program.body[0].expression.callee.body.body;
}
let export_function = null;
traverse(loader_ast, {
FunctionDeclaration(path){
if(path.toString().includes("exports:") && export_function == null){
export_function = path.node.id.name
}
}
});
if(export_function == null){
throw "未找到导出函数错误"
}
for (let i = 0; i < loader_body.length; i++){
let item = loader_body[i];
if(item.type === 'ExpressionStatement'){
if(item.expression.type === 'SequenceExpression' && item.expression.expressions[0].type === 'AssignmentExpression' && item.expression.expressions[0].left.type === 'MemberExpression' && item.expression.expressions[0].left.object.type === 'Identifier' && item.expression.expressions[0].left.object.name === export_function){
let j = item.expression.expressions.length - 1;
while (j >= 0){
let item2 = item.expression.expressions[j];
if(item2.left && item2.left.type === 'MemberExpression' && ((item2.left.object.type === 'Identifier' && item2.left.object.name === export_function) || (item2.left.object.type === 'MemberExpression' && item2.left.object.object.type === 'Identifier' && item2.left.object.object.name === export_function))){
item.expression.expressions.splice(j + 1, item.expression.expressions.length - j - 1);
break
}else{
j--;
}
}
loader_body.splice(i + 1, loader_body.length - i - 1);
loader_body.push(t.expressionStatement(t.assignmentExpression("=", t.identifier("export_function"), t.identifier(export_function))));
}
}else if(item.type === 'ReturnStatement'){
loader_body[i] = t.expressionStatement(item.argument);
let j = 0;
while (j < loader_body[i].expression.expressions.length){
let item2 = loader_body[i].expression.expressions[j];
if(item2.left &&item2.left.type === 'MemberExpression' && item2.left.object.type === 'Identifier' && item2.left.object.name === export_function){
j++
}else{
loader_body[i].expression.expressions.splice(j, loader_body[i].expression.expressions.length - j);
break
}
}
loader_body.push(t.expressionStatement(t.assignmentExpression("=", t.identifier("export_function"), t.identifier(export_function))));
}
}
// 导入加载器中的函数体
let loader_arguments;
if (loader_ast.program.body[0].expression.type === 'UnaryExpression'){
loader_arguments = loader_ast.program.body[0].expression.argument.arguments[0];
}else{
loader_arguments = loader_ast.program.body[0].expression.arguments[0];
}
if (loader_arguments.type === 'ArrayExpression'){
let tempobjectexpression = t.objectExpression([]);
loader_arguments.elements.forEach(function (item, index) {
if (item && item.type === 'FunctionExpression'){
tempobjectexpression.properties.push(t.objectProperty(
t.numericLiteral(index),
item,
false,
false
));
}
});
loader_arguments = tempobjectexpression;
}
// 加载外部函数体
modular_path.forEach(function (item, index) {
var jscode = fs.readFileSync(item, {
encoding: "utf-8"
});
let modular_ast = parser.parse(jscode);
modular_ast.program.body[0].expression.arguments[0].elements.forEach(function (item2, index2) {
if (item2.type === 'ArrayExpression'){
item2.elements.forEach(function (item3, index3) {
if (item3 && item3.type === 'FunctionExpression'){
loader_arguments.properties.push(t.objectProperty(
t.numericLiteral(index3),
item3,
false,
false
));
}
});
}else {
item2.properties.forEach(function (item3, index3) {
loader_arguments.properties.push(item3)
})
}
});
});
if (loader_ast.program.body[0].expression.type === 'UnaryExpression'){
loader_ast.program.body[0].expression.argument.arguments[0] = loader_arguments;
}else{
loader_ast.program.body[0].expression.arguments[0] = loader_arguments;
}
// 申请全局导出函数
loader_ast.program.body.splice(0, 0, t.variableDeclaration("var",[t.variableDeclarator(t.identifier("export_function"))]));
// 导出函数
loader_ast.program.body.push(t.expressionStatement(t.assignmentExpression("=", t.memberExpression(t.identifier("module"), t.identifier("exports"), false), t.identifier("export_function"))));
let code = generator.default(loader_ast, {
compact: false, // 压缩格式
comments: false, // 注释
jsescOption: {
minimal: false // 转义
}
}).code;
wtofile(out_path, 'w', code);
}
!function () {
let loader_path, out_path;
let modular_path = [];
for(let i = 0; i < process.argv.length; i++){
if (process.argv[i] === '-l'){
loader_path = process.argv[i + 1];
i += 1;
}else if(process.argv[i] === '-m'){
modular_path.push(process.argv[i + 1]);
i += 1;
}else if(process.argv[i] === '-o'){
out_path = process.argv[i + 1];
i += 1;
}
}
if (loader_path && out_path){
run(loader_path, out_path, modular_path)
}
}();
此差异已折叠。
......@@ -41,14 +41,14 @@ function run(loader_path, out_path, modular_path) {
let item = loader_body[i];
if(item.type === 'ExpressionStatement'){
if(item.expression.type === 'SequenceExpression' && item.expression.expressions[0].type === 'AssignmentExpression' && item.expression.expressions[0].left.type === 'MemberExpression' && item.expression.expressions[0].left.object.type === 'Identifier' && item.expression.expressions[0].left.object.name === export_function){
let j = 1;
while (j < item.expression.expressions.length){
let j = item.expression.expressions.length - 1;
while (j >= 0){
let item2 = item.expression.expressions[j];
if(item2.left &&item2.left.type === 'MemberExpression' && item2.left.object.type === 'Identifier' && item2.left.object.name === export_function){
j++
}else{
item.expression.expressions.splice(j, item.expression.expressions.length - j);
if(item2.left && item2.left.type === 'MemberExpression' && ((item2.left.object.type === 'Identifier' && item2.left.object.name === export_function) || (item2.left.object.type === 'MemberExpression' && item2.left.object.object.type === 'Identifier' && item2.left.object.object.name === export_function))){
item.expression.expressions.splice(j + 1, item.expression.expressions.length - j - 1);
break
}else{
j--;
}
}
loader_body.splice(i + 1, loader_body.length - i - 1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册