├── .gitignore ├── LICENSE ├── README.md ├── index.html ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── public └── preface.jpg ├── src-tauri ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── build.rs ├── capabilities │ └── default.json ├── icons │ ├── 128x128.png │ ├── 128x128@2x.png │ ├── 32x32.png │ ├── icon.icns │ ├── icon.ico │ └── icon.png ├── src │ ├── lcu.rs │ ├── lcu │ │ ├── global_key.rs │ │ ├── listener.rs │ │ └── matchlisthanle.rs │ ├── lib.rs │ ├── main.rs │ └── shaco │ │ ├── error.rs │ │ ├── ingame.rs │ │ ├── lib.rs │ │ ├── mod.rs │ │ ├── model │ │ ├── ingame.rs │ │ ├── mod.rs │ │ └── ws.rs │ │ ├── rest.rs │ │ ├── riotgames.pem │ │ ├── utils │ │ ├── mod.rs │ │ ├── process_info.rs │ │ └── request.rs │ │ └── ws.rs └── tauri.conf.json ├── src ├── assets │ ├── font │ │ └── DingTalk JinBuTi.ttf │ ├── icon │ │ ├── Frank.png │ │ ├── app-icon.png │ │ ├── favicon.ico │ │ └── siteLogo.png │ ├── matchImage │ │ ├── Alipay.JPEG │ │ ├── Wechat.JPEG │ │ ├── assists.png │ │ ├── firstBlood.png │ │ ├── fiveKills.png │ │ ├── fourKills.png │ │ ├── friend.png │ │ ├── god.png │ │ ├── goldEarned.png │ │ ├── kills.png │ │ ├── mvp.png │ │ ├── quitGame.png │ │ ├── svp.png │ │ ├── threeKills.png │ │ ├── totalDamageDealtToChampions.png │ │ ├── totalDamageTaken.png │ │ ├── totalMinionsKilled.png │ │ ├── turretKills.png │ │ └── visionScore.png │ ├── runes │ │ ├── 5001.png │ │ ├── 5005.png │ │ ├── 5007.png │ │ ├── 5008.png │ │ ├── 5010.png │ │ ├── 5011.png │ │ ├── 5013.png │ │ ├── 8000.png │ │ ├── 8005.png │ │ ├── 8008.png │ │ ├── 8009.png │ │ ├── 8010.png │ │ ├── 8014.png │ │ ├── 8017.png │ │ ├── 8021.png │ │ ├── 8100.png │ │ ├── 8105.png │ │ ├── 8106.png │ │ ├── 8112.png │ │ ├── 8126.png │ │ ├── 8128.png │ │ ├── 8135.png │ │ ├── 8137.png │ │ ├── 8139.png │ │ ├── 8140.png │ │ ├── 8141.png │ │ ├── 8143.png │ │ ├── 8200.png │ │ ├── 8210.png │ │ ├── 8214.png │ │ ├── 8224.png │ │ ├── 8226.png │ │ ├── 8229.png │ │ ├── 8230.png │ │ ├── 8232.png │ │ ├── 8233.png │ │ ├── 8234.png │ │ ├── 8236.png │ │ ├── 8237.png │ │ ├── 8242.png │ │ ├── 8275.png │ │ ├── 8299.png │ │ ├── 8300.png │ │ ├── 8304.png │ │ ├── 8306.png │ │ ├── 8313.png │ │ ├── 8316.png │ │ ├── 8321.png │ │ ├── 8345.png │ │ ├── 8347.png │ │ ├── 8351.png │ │ ├── 8352.png │ │ ├── 8360.png │ │ ├── 8369.png │ │ ├── 8400.png │ │ ├── 8401.png │ │ ├── 8410.png │ │ ├── 8429.png │ │ ├── 8437.png │ │ ├── 8439.png │ │ ├── 8444.png │ │ ├── 8446.png │ │ ├── 8451.png │ │ ├── 8453.png │ │ ├── 8463.png │ │ ├── 8465.png │ │ ├── 8473.png │ │ ├── 9101.png │ │ ├── 9103.png │ │ ├── 9104.png │ │ ├── 9105.png │ │ ├── 9111.png │ │ └── 9923.png │ ├── svg │ │ ├── assassin.svg │ │ ├── fighter.svg │ │ ├── image.png │ │ ├── imageDark.png │ │ ├── mage.svg │ │ ├── marksman.svg │ │ ├── support.svg │ │ └── tank.svg │ └── tLevel │ │ ├── bot.svg │ │ ├── jug.svg │ │ ├── mid.svg │ │ ├── sup.svg │ │ ├── t0.svg │ │ ├── t1.svg │ │ ├── t2.svg │ │ ├── t3.svg │ │ ├── t4.svg │ │ ├── t5.svg │ │ └── top.svg ├── background │ ├── background.ts │ ├── gameFlow.ts │ ├── index.html │ ├── types │ │ └── index.d.ts │ └── utils │ │ ├── TaskTracker.ts │ │ ├── config.ts │ │ ├── creatWindow.ts │ │ └── tray.ts ├── lcu │ ├── aboutMatch.ts │ ├── aboutRune.ts │ ├── aboutSummoner.ts │ ├── autoBP.ts │ ├── index.ts │ ├── types │ │ ├── SummonerTypes.d.ts │ │ ├── queryDetailedGameTypes.d.ts │ │ ├── queryMatchLcuTypes.d.ts │ │ └── runeLcuTypes.d.ts │ └── utils.ts ├── main │ ├── common │ │ ├── dashboard.vue │ │ ├── navigation.vue │ │ ├── searchChamp.vue │ │ ├── setting.vue │ │ ├── sponsor.vue │ │ └── summonerMasteryChamp.vue │ ├── index.html │ ├── index.vue │ ├── main.ts │ ├── main.vue │ ├── router │ │ └── index.ts │ ├── store │ │ ├── useRecord.ts │ │ ├── useRune.ts │ │ └── useTeammate.ts │ ├── style.css │ ├── utils │ │ ├── notice.ts │ │ ├── request.ts │ │ └── theme.ts │ └── views │ │ ├── home │ │ ├── getHomeData.ts │ │ ├── index.vue │ │ └── startGame.vue │ │ ├── rank │ │ ├── assistCommon.css │ │ ├── champDetail.vue │ │ ├── champListLoad.vue │ │ ├── champWinRate.vue │ │ ├── index.vue │ │ ├── rankTypes.d.ts │ │ └── utils.ts │ │ ├── record │ │ ├── addBlackList.vue │ │ ├── blackList.ts │ │ ├── blackListTypes.d.ts │ │ ├── blackSummonerList.vue │ │ ├── gameEnd.vue │ │ ├── haterDetails.vue │ │ ├── index.vue │ │ ├── summonerEnd.vue │ │ └── utils.ts │ │ ├── rune │ │ ├── blockContent.vue │ │ ├── get101Runes.ts │ │ ├── index.vue │ │ ├── queryRune.ts │ │ ├── runeAuto.vue │ │ ├── runeContent.vue │ │ ├── runeHeader.vue │ │ ├── runeMain.vue │ │ ├── runeTypes.d.ts │ │ └── runes.ts │ │ └── teammate │ │ ├── index.vue │ │ ├── loadMatch.vue │ │ ├── matchAnalysis.vue │ │ ├── queryMatch.ts │ │ ├── summonerDetail.vue │ │ ├── summonerKdaName.vue │ │ ├── summonerList.vue │ │ ├── summonerMatch.vue │ │ ├── summonerMatchLoad.vue │ │ ├── teammateTypes.d.ts │ │ └── utils.ts ├── matchAnalysis │ ├── components │ │ ├── analysisMain.vue │ │ ├── analysisSum.vue │ │ └── dashboard.vue │ ├── index.html │ ├── main.ts │ ├── main.vue │ ├── matchAnalysis.vue │ ├── style.css │ └── utils │ │ └── MatchAnalysisTypes.d.ts ├── queryMatch │ ├── common │ │ ├── matchConHeader.vue │ │ ├── matchContent.vue │ │ ├── matchDetails.vue │ │ ├── matchDetailsFighter.vue │ │ ├── matchDrawer.vue │ │ └── matchSumDetails.vue │ ├── components │ │ ├── loadingAnime.vue │ │ ├── matchErr.vue │ │ ├── matchList.vue │ │ ├── matchMain.vue │ │ ├── queryHeader.vue │ │ └── summonerInfoView.vue │ ├── index.html │ ├── main.ts │ ├── main.vue │ ├── queryMatch.vue │ ├── store │ │ └── index.ts │ ├── style.css │ └── utils │ │ ├── MatchDetail.d.ts │ │ ├── baseMatch.ts │ │ ├── matchDetails.ts │ │ └── tools.ts ├── recentMatch │ ├── components │ │ ├── champInfo.vue │ │ ├── dashboard.vue │ │ ├── nullPage.vue │ │ └── recentMatchList.vue │ ├── index.html │ ├── main.ts │ ├── main.vue │ ├── recentMatch.vue │ ├── style.css │ └── utils │ │ ├── queryMatch.ts │ │ ├── querySummoner.ts │ │ └── queryTypes.d.ts ├── resources │ ├── areaList.ts │ ├── champList.ts │ └── otherList.ts └── test │ └── index.ts ├── tailwind.config.js ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Java_S 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
74 |
75 |
76 |
77 |