├── .github └── workflows │ └── docs.yml ├── .gitignore ├── README.md ├── User Manual.pdf ├── docs ├── .vuepress │ ├── .cache │ │ ├── @vue_devtools-api.js │ │ ├── @vue_devtools-api.js.map │ │ ├── @vuepress_shared.js │ │ ├── @vuepress_shared.js.map │ │ ├── @vueuse_core.js │ │ ├── @vueuse_core.js.map │ │ ├── _metadata.json │ │ ├── chunk-35TZUOOU.js │ │ ├── chunk-35TZUOOU.js.map │ │ ├── chunk-IPZ6NMDU.js │ │ ├── chunk-IPZ6NMDU.js.map │ │ ├── chunk-WCBWMRKB.js │ │ ├── chunk-WCBWMRKB.js.map │ │ ├── chunk-XTS5S2AB.js │ │ ├── chunk-XTS5S2AB.js.map │ │ ├── nprogress.js │ │ ├── nprogress.js.map │ │ ├── package.json │ │ ├── vue-router.js │ │ ├── vue-router.js.map │ │ ├── vue.js │ │ └── vue.js.map │ ├── .temp │ │ ├── internal │ │ │ ├── clientAppEnhances.js │ │ │ ├── clientAppRootComponents.js │ │ │ ├── clientAppSetups.js │ │ │ ├── layoutComponents.js │ │ │ ├── pagesComponents.js │ │ │ ├── pagesData.js │ │ │ ├── pagesRoutes.js │ │ │ ├── siteData.js │ │ │ └── themeData.js │ │ ├── pages │ │ │ ├── 404.html.js │ │ │ ├── 404.html.vue │ │ │ ├── READMEasdasd.html.js │ │ │ ├── READMEasdasd.html.vue │ │ │ ├── guide │ │ │ │ ├── asd.html.js │ │ │ │ ├── asd.html.vue │ │ │ │ ├── index.html.js │ │ │ │ ├── index.html.vue │ │ │ │ ├── user-manual.html.js │ │ │ │ └── user-manual.html.vue │ │ │ ├── index.html.js │ │ │ ├── index.html.vue │ │ │ ├── user-manual.html.js │ │ │ └── user-manual.html.vue │ │ ├── styles │ │ │ ├── index.scss │ │ │ └── palette.scss │ │ └── vite-root │ │ │ └── index.html │ ├── config.ts │ ├── dist │ │ ├── 404.html │ │ ├── assets │ │ │ ├── 404.a17b6b2d.js │ │ │ ├── 404.html.bee13de6.js │ │ │ ├── 404.html.f166316b.js │ │ │ ├── Layout.01130744.js │ │ │ ├── app.f8722cdd.js │ │ │ ├── back-to-top.8efcbe56.svg │ │ │ ├── index.html.b92ab011.js │ │ │ ├── index.html.f1b0fbc6.js │ │ │ ├── plugin-vue_export-helper.21dcd24c.js │ │ │ ├── style.3df010cf.css │ │ │ ├── user-manual.html.8391919c.js │ │ │ ├── user-manual.html.faad86d2.js │ │ │ └── win.0d23eec4.js │ │ ├── guide │ │ │ └── user-manual.html │ │ ├── images │ │ │ ├── box.png │ │ │ ├── fast.png │ │ │ ├── favicon.png │ │ │ ├── image.png │ │ │ ├── image_1.png │ │ │ ├── image_10.png │ │ │ ├── image_11.png │ │ │ ├── image_12.png │ │ │ ├── image_13.png │ │ │ ├── image_14.png │ │ │ ├── image_15.png │ │ │ ├── image_16.png │ │ │ ├── image_17.png │ │ │ ├── image_18.png │ │ │ ├── image_19.png │ │ │ ├── image_2.png │ │ │ ├── image_20.png │ │ │ ├── image_21.png │ │ │ ├── image_22.png │ │ │ ├── image_23.png │ │ │ ├── image_24.png │ │ │ ├── image_25.png │ │ │ ├── image_26.png │ │ │ ├── image_27.png │ │ │ ├── image_28.png │ │ │ ├── image_29.png │ │ │ ├── image_3.png │ │ │ ├── image_30.png │ │ │ ├── image_31.png │ │ │ ├── image_32.png │ │ │ ├── image_33.png │ │ │ ├── image_34.png │ │ │ ├── image_35.png │ │ │ ├── image_36.png │ │ │ ├── image_37.png │ │ │ ├── image_38.png │ │ │ ├── image_39.png │ │ │ ├── image_4.png │ │ │ ├── image_40.png │ │ │ ├── image_41.png │ │ │ ├── image_5.png │ │ │ ├── image_6.png │ │ │ ├── image_7.png │ │ │ ├── image_8.png │ │ │ ├── image_9.png │ │ │ ├── logo.png │ │ │ ├── qc.png │ │ │ ├── scan.png │ │ │ ├── target.png │ │ │ ├── web.png │ │ │ └── win.png │ │ └── index.html │ └── public │ │ └── images │ │ ├── box.png │ │ ├── fast.png │ │ ├── favicon.png │ │ ├── image.png │ │ ├── image_1.png │ │ ├── image_10.png │ │ ├── image_11.png │ │ ├── image_12.png │ │ ├── image_13.png │ │ ├── image_14.png │ │ ├── image_15.png │ │ ├── image_16.png │ │ ├── image_17.png │ │ ├── image_18.png │ │ ├── image_19.png │ │ ├── image_2.png │ │ ├── image_20.png │ │ ├── image_21.png │ │ ├── image_22.png │ │ ├── image_23.png │ │ ├── image_24.png │ │ ├── image_25.png │ │ ├── image_26.png │ │ ├── image_27.png │ │ ├── image_28.png │ │ ├── image_29.png │ │ ├── image_3.png │ │ ├── image_30.png │ │ ├── image_31.png │ │ ├── image_32.png │ │ ├── image_33.png │ │ ├── image_34.png │ │ ├── image_35.png │ │ ├── image_36.png │ │ ├── image_37.png │ │ ├── image_38.png │ │ ├── image_39.png │ │ ├── image_4.png │ │ ├── image_40.png │ │ ├── image_41.png │ │ ├── image_5.png │ │ ├── image_6.png │ │ ├── image_7.png │ │ ├── image_8.png │ │ ├── image_9.png │ │ ├── logo.png │ │ ├── qc.png │ │ ├── scan.png │ │ ├── target.png │ │ ├── web.png │ │ └── win.png ├── README.md └── guide │ └── user-manual.md └── package.json /.github/workflows/docs.yml: -------------------------------------------------------------------------------- 1 | name: docs 2 | 3 | on: 4 | # 每当 push 到 main 分支时触发部署 5 | push: 6 | branches: [master] 7 | # 手动触发部署 8 | workflow_dispatch: 9 | 10 | jobs: 11 | docs: 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v2 16 | with: 17 | # “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录 18 | fetch-depth: 0 19 | 20 | - name: Setup Node.js 21 | uses: actions/setup-node@v1 22 | with: 23 | # 选择要使用的 node 版本 24 | node-version: '16' 25 | 26 | # 缓存 node_modules 27 | - name: Cache dependencies 28 | uses: actions/cache@v2 29 | id: yarn-cache 30 | with: 31 | path: | 32 | **/node_modules 33 | key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} 34 | restore-keys: | 35 | ${{ runner.os }}-yarn- 36 | 37 | # 如果缓存没有命中,安装依赖 38 | - name: Install dependencies 39 | if: steps.yarn-cache.outputs.cache-hit != 'true' 40 | run: yarn --frozen-lockfile 41 | 42 | # 运行构建脚本 43 | - name: Build VuePress site 44 | run: yarn docs:build 45 | 46 | # 查看 workflow 的文档来获取更多信息 47 | # @see https://github.com/crazy-max/ghaction-github-pages 48 | - name: Deploy to GitHub Pages 49 | uses: crazy-max/ghaction-github-pages@v2 50 | with: 51 | # 部署到 gh-pages 分支 52 | target_branch: docs 53 | # 部署目录为 VuePress 的默认输出目录 54 | build_dir: docs/.vuepress/dist 55 | env: 56 | # @see https://docs.github.com/cn/actions/reference/authentication-in-a-workflow#about-the-github_token-secret 57 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 58 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | **/node_modules 5 | # roadhog-api-doc ignore 6 | /src/utils/request-temp.js 7 | _roadhog-api-doc 8 | 9 | # production 10 | /dist 11 | /.vscode 12 | 13 | # misc 14 | .DS_Store 15 | /.DS_Store 16 | ./.DS_Store 17 | npm-debug.log* 18 | yarn-error.log 19 | 20 | /coverage 21 | .idea 22 | yarn.lock 23 | package-lock.json 24 | *bak 25 | .vscode 26 | 27 | # visual studio code 28 | .history 29 | *.log 30 | functions/* 31 | .temp/** 32 | 33 | # umi 34 | .umi 35 | .umi-production 36 | 37 | # screenshot 38 | screenshot 39 | .firebase 40 | .eslintcache 41 | 42 | build 43 | /src/pages/.umi/ 44 | src/utils/request.js 45 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # README 2 | 3 | ### This version is for academic use only. For commercial use, please contact us. 4 | 5 | ## User Manual 🥳 6 | 7 | [MetaPro User Manual](https://csi-studio.github.io/MetaPro/guide/user-manual.html) 8 | 9 | ## Framework 10 | 11 | ![](/docs/.vuepress/public/images/image_34.png) 12 | 13 | --- 14 | 15 | ## Main Interface 16 | 17 | ![](/docs/.vuepress/public/images/image_33.png) 18 | 19 | --- 20 | 21 | ## Demo 22 | 23 | [`http://47.88.77.176`](http://47.88.77.176) 24 | 25 | --- 26 | 27 | ## Download 28 | 29 | ### Software 30 | 31 | [AirdPro v1.1](https://github.com/CSi-Studio/AirdPro/releases/tag/1.1) 32 | 33 | [MetaPro v1.1.8](https://github.com/CSi-Studio/MetaPro/releases/tag/v1.1.8) 34 | 35 | ### Test data and libraries 36 | 37 | [GoogleDrive](https://drive.google.com/drive/folders/1_FAFca5LlqhFWv6U1-UzU9OkqPvGRsBI?usp=sharing) 38 | 39 | [OneDrive](https://1drv.ms/u/s!AqS3L_kdjWbKgp43W1l8-GteFvv6ZQ?e=xukUkb) 40 | 41 | --- 42 | 43 | ## How to install 44 | 45 | > Extract MetaPro zip file to any directory you want. 46 | 47 | > Here we use INSTALLATION_PATH to represent your installation path, for example `C:\` 48 | 49 | ### Windows 50 | 51 | - Open INSTALLATION_PATH folder 52 | - **start:** Right click `MetaproStart.bat`, run as administrator. 53 | 54 | **Successful operation:** 55 | 56 | The following operations appear in the terminal to indicate that the operation is successful: 57 | ![](/images/win.png) 58 | **After successful startup, open a browser and connect to** **`localhost:8080`** 59 | 60 | - **stop:** Right click `MetaproStop.bat`, run as administrator 61 | - **uninstall:** Stop MetaPro and delete the installation folder. 62 | 63 | ### MacOs 64 | 65 | - Open a terminal 66 | 67 | ``` 68 | cd INSTALLATION_PATH 69 | cd MetaproForMac 70 | ``` 71 | 72 | - start 73 | 74 | ``` 75 | bash MetaproStart.sh 76 | ``` 77 | 78 | **Successful operation:** 79 | 80 | The following operations appear in the terminal to indicate that the operation is successful: 81 | 82 | ```bash 83 | $ bash ./MetaproStart.sh 84 | /Users/commands/Documents/code/MetaPro/MetaproForMac 85 | ********* Start Redis ********* 86 | /Users/commands/Documents/code/MetaPro/MetaproForMac/redis 87 | ********* Start MongoDB ********* 88 | /Users/commands/Documents/code/MetaPro/MetaproForMac/mongodb 89 | ********* Start Metapro ********* 90 | about to fork child process, waiting until server is ready for connections. 91 | forked process: 94332 92 | 93 | $ child process started successfully, parent exiting 94 | ``` 95 | 96 | **After successful startup, open a browser and connect to** **`localhost:8080`** 97 | 98 | - stop 99 | 100 | ``` 101 | bash MetaproStop.sh 102 | ``` 103 | 104 | - uninstall 105 | 106 | Stop MetaPro and delete the installation folder. 107 | 108 | ### Linux 109 | 110 | - Open a terminal 111 | 112 | ``` 113 | cd INSTALLATION_PATH 114 | cd MetaproForUbuntu 115 | ``` 116 | 117 | - start 118 | 119 | ``` 120 | bash MetaproStart.sh 121 | ``` 122 | 123 | **Successful operation:** 124 | 125 | **After successful startup, open a browser and connect to** **`localhost:8080`** 126 | 127 | The following operations appear in the terminal to indicate that the operation is successful: 128 | 129 | ```bash 130 | $ bash ./MetaproStart.sh 131 | /Users/commands/Documents/code/MetaPro/MetaproForMac 132 | ********* Start Redis ********* 133 | /Users/commands/Documents/code/MetaPro/MetaproForMac/redis 134 | ********* Start MongoDB ********* 135 | /Users/commands/Documents/code/MetaPro/MetaproForMac/mongodb 136 | ********* Start Metapro ********* 137 | about to fork child process, waiting until server is ready for connections. 138 | forked process: 94332 139 | 140 | $ child process started successfully, parent exiting 141 | ``` 142 | 143 | **After successful startup, open a browser and connect to** **`localhost:8080`** 144 | 145 | - stop 146 | 147 | ``` 148 | bash MetaproStop.sh 149 | ``` 150 | 151 | - uninstall: Stop MetaPro and delete the installation folder. 152 | 153 | --- 154 | 155 | ## How to use 156 | 157 | [UserManual](https://csi-studio.github.io/MetaPro/guide/user-manual.html) 158 | -------------------------------------------------------------------------------- /User Manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/User Manual.pdf -------------------------------------------------------------------------------- /docs/.vuepress/.cache/@vue_devtools-api.js: -------------------------------------------------------------------------------- 1 | import { 2 | setupDevtoolsPlugin 3 | } from "./chunk-35TZUOOU.js"; 4 | import { 5 | init_define_EXTERNAL_LINK_ICON_LOCALES, 6 | init_define_MZ_ZOOM_OPTIONS 7 | } from "./chunk-WCBWMRKB.js"; 8 | 9 | // dep:@vue_devtools-api 10 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 11 | init_define_MZ_ZOOM_OPTIONS(); 12 | export { 13 | setupDevtoolsPlugin 14 | }; 15 | //# sourceMappingURL=@vue_devtools-api.js.map 16 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/@vue_devtools-api.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["dep:@vue_devtools-api"], 4 | "sourcesContent": ["\nexport * from \"../../../../node_modules/@vue/devtools-api/lib/esm/index.js\""], 5 | "mappings": ";;;;;;;;;AAAA;AAAA;", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/@vuepress_shared.js: -------------------------------------------------------------------------------- 1 | import { 2 | isArray, 3 | isFunction, 4 | isPromise, 5 | isString 6 | } from "./chunk-IPZ6NMDU.js"; 7 | import { 8 | init_define_EXTERNAL_LINK_ICON_LOCALES, 9 | init_define_MZ_ZOOM_OPTIONS 10 | } from "./chunk-WCBWMRKB.js"; 11 | 12 | // dep:@vuepress_shared 13 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 14 | init_define_MZ_ZOOM_OPTIONS(); 15 | 16 | // node_modules/@vuepress/shared/lib/esm/index.js 17 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 18 | init_define_MZ_ZOOM_OPTIONS(); 19 | 20 | // node_modules/@vuepress/shared/lib/esm/types/index.js 21 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 22 | init_define_MZ_ZOOM_OPTIONS(); 23 | 24 | // node_modules/@vuepress/shared/lib/esm/types/head.js 25 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 26 | init_define_MZ_ZOOM_OPTIONS(); 27 | 28 | // node_modules/@vuepress/shared/lib/esm/types/locale.js 29 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 30 | init_define_MZ_ZOOM_OPTIONS(); 31 | 32 | // node_modules/@vuepress/shared/lib/esm/types/page.js 33 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 34 | init_define_MZ_ZOOM_OPTIONS(); 35 | 36 | // node_modules/@vuepress/shared/lib/esm/types/site.js 37 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 38 | init_define_MZ_ZOOM_OPTIONS(); 39 | 40 | // node_modules/@vuepress/shared/lib/esm/types/ssr.js 41 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 42 | init_define_MZ_ZOOM_OPTIONS(); 43 | 44 | // node_modules/@vuepress/shared/lib/esm/utils/index.js 45 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 46 | init_define_MZ_ZOOM_OPTIONS(); 47 | 48 | // node_modules/@vuepress/shared/lib/esm/utils/dedupeHead.js 49 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 50 | init_define_MZ_ZOOM_OPTIONS(); 51 | 52 | // node_modules/@vuepress/shared/lib/esm/utils/resolveHeadIdentifier.js 53 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 54 | init_define_MZ_ZOOM_OPTIONS(); 55 | var resolveHeadIdentifier = ([tag, attrs, content]) => { 56 | if (tag === "meta" && attrs.name) { 57 | return `${tag}.${attrs.name}`; 58 | } 59 | if (["title", "base"].includes(tag)) { 60 | return tag; 61 | } 62 | if (tag === "template" && attrs.id) { 63 | return `${tag}.${attrs.id}`; 64 | } 65 | return JSON.stringify([tag, attrs, content]); 66 | }; 67 | 68 | // node_modules/@vuepress/shared/lib/esm/utils/dedupeHead.js 69 | var dedupeHead = (head) => { 70 | const identifierSet = /* @__PURE__ */ new Set(); 71 | const result = []; 72 | head.forEach((item) => { 73 | const identifier = resolveHeadIdentifier(item); 74 | if (!identifierSet.has(identifier)) { 75 | identifierSet.add(identifier); 76 | result.push(item); 77 | } 78 | }); 79 | return result; 80 | }; 81 | 82 | // node_modules/@vuepress/shared/lib/esm/utils/ensureLeadingSlash.js 83 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 84 | init_define_MZ_ZOOM_OPTIONS(); 85 | var ensureLeadingSlash = (str) => str.replace(/^\/?/, "/"); 86 | 87 | // node_modules/@vuepress/shared/lib/esm/utils/ensureEndingSlash.js 88 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 89 | init_define_MZ_ZOOM_OPTIONS(); 90 | var ensureEndingSlash = (str) => /(\.html|\/)$/.test(str) ? str : str + "/"; 91 | 92 | // node_modules/@vuepress/shared/lib/esm/utils/formatDateString.js 93 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 94 | init_define_MZ_ZOOM_OPTIONS(); 95 | var formatDateString = (str, defaultDateString = "") => { 96 | const dateMatch = str.match(/\b(\d{4})-(\d{1,2})-(\d{1,2})\b/); 97 | if (dateMatch === null) { 98 | return defaultDateString; 99 | } 100 | const [, yearStr, monthStr, dayStr] = dateMatch; 101 | return [yearStr, monthStr.padStart(2, "0"), dayStr.padStart(2, "0")].join("-"); 102 | }; 103 | 104 | // node_modules/@vuepress/shared/lib/esm/utils/htmlEscape.js 105 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 106 | init_define_MZ_ZOOM_OPTIONS(); 107 | var htmlEscapeMap = { 108 | "&": "&", 109 | "<": "<", 110 | ">": ">", 111 | "'": "'", 112 | '"': """ 113 | }; 114 | var htmlEscapeRegexp = /[&<>'"]/g; 115 | var htmlEscape = (str) => str.replace(htmlEscapeRegexp, (char) => htmlEscapeMap[char]); 116 | 117 | // node_modules/@vuepress/shared/lib/esm/utils/htmlUnescape.js 118 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 119 | init_define_MZ_ZOOM_OPTIONS(); 120 | var htmlUnescapeMap = { 121 | "&": "&", 122 | "&": "&", 123 | "<": "<", 124 | "<": "<", 125 | ">": ">", 126 | ">": ">", 127 | "'": "'", 128 | "'": "'", 129 | """: '"', 130 | """: '"' 131 | }; 132 | var htmlUnescapeRegexp = /&(amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g; 133 | var htmlUnescape = (str) => str.replace(htmlUnescapeRegexp, (char) => htmlUnescapeMap[char]); 134 | 135 | // node_modules/@vuepress/shared/lib/esm/utils/isLinkExternal.js 136 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 137 | init_define_MZ_ZOOM_OPTIONS(); 138 | 139 | // node_modules/@vuepress/shared/lib/esm/utils/isLinkFtp.js 140 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 141 | init_define_MZ_ZOOM_OPTIONS(); 142 | var isLinkFtp = (link) => link.startsWith("ftp://"); 143 | 144 | // node_modules/@vuepress/shared/lib/esm/utils/isLinkHttp.js 145 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 146 | init_define_MZ_ZOOM_OPTIONS(); 147 | var isLinkHttp = (link) => /^(https?:)?\/\//.test(link); 148 | 149 | // node_modules/@vuepress/shared/lib/esm/utils/isLinkExternal.js 150 | var isLinkExternal = (link, base = "/") => { 151 | if (isLinkHttp(link) || isLinkFtp(link)) { 152 | return true; 153 | } 154 | if (link.startsWith("/") && !link.startsWith(base)) { 155 | return true; 156 | } 157 | return false; 158 | }; 159 | 160 | // node_modules/@vuepress/shared/lib/esm/utils/isLinkMailto.js 161 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 162 | init_define_MZ_ZOOM_OPTIONS(); 163 | var isLinkMailto = (link) => /^mailto:/.test(link); 164 | 165 | // node_modules/@vuepress/shared/lib/esm/utils/isLinkTel.js 166 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 167 | init_define_MZ_ZOOM_OPTIONS(); 168 | var isLinkTel = (link) => /^tel:/.test(link); 169 | 170 | // node_modules/@vuepress/shared/lib/esm/utils/isPlainObject.js 171 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 172 | init_define_MZ_ZOOM_OPTIONS(); 173 | var isPlainObject = (val) => Object.prototype.toString.call(val) === "[object Object]"; 174 | 175 | // node_modules/@vuepress/shared/lib/esm/utils/normalizePackageName.js 176 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 177 | init_define_MZ_ZOOM_OPTIONS(); 178 | var normalizePackageName = (request, org, type = null) => { 179 | const orgPrefix = `${org}-`; 180 | const typePrefix = type === null ? "" : `${type}-`; 181 | const scopedMatch = request.match(/^@(.*)\/(.*)$/); 182 | if (scopedMatch === null) { 183 | if (request.startsWith(`${orgPrefix}${typePrefix}`)) { 184 | return request; 185 | } 186 | return `${orgPrefix}${typePrefix}${request}`; 187 | } 188 | const [, reqOrg, reqName] = scopedMatch; 189 | if (reqOrg === org) { 190 | if (reqName.startsWith(typePrefix)) { 191 | return request; 192 | } 193 | return `@${reqOrg}/${typePrefix}${reqName}`; 194 | } 195 | if (reqName.startsWith(`${orgPrefix}${typePrefix}`)) { 196 | return request; 197 | } 198 | return `@${reqOrg}/${orgPrefix}${typePrefix}${reqName}`; 199 | }; 200 | 201 | // node_modules/@vuepress/shared/lib/esm/utils/removeEndingSlash.js 202 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 203 | init_define_MZ_ZOOM_OPTIONS(); 204 | var removeEndingSlash = (str) => str.replace(/\/$/, ""); 205 | 206 | // node_modules/@vuepress/shared/lib/esm/utils/removeLeadingSlash.js 207 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 208 | init_define_MZ_ZOOM_OPTIONS(); 209 | var removeLeadingSlash = (str) => str.replace(/^\//, ""); 210 | 211 | // node_modules/@vuepress/shared/lib/esm/utils/resolveLocalePath.js 212 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 213 | init_define_MZ_ZOOM_OPTIONS(); 214 | var resolveLocalePath = (locales, routePath) => { 215 | const localePaths = Object.keys(locales).sort((a, b) => { 216 | const levelDelta = b.split("/").length - a.split("/").length; 217 | if (levelDelta !== 0) { 218 | return levelDelta; 219 | } 220 | return b.length - a.length; 221 | }); 222 | for (const localePath of localePaths) { 223 | if (routePath.startsWith(localePath)) { 224 | return localePath; 225 | } 226 | } 227 | return "/"; 228 | }; 229 | 230 | // node_modules/@vuepress/shared/lib/esm/utils/resolveRoutePathFromUrl.js 231 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 232 | init_define_MZ_ZOOM_OPTIONS(); 233 | var resolveRoutePathFromUrl = (url, base = "/") => url.replace(/^(https?:)?\/\/[^/]*/, "").replace(new RegExp(`^${base}`), "/"); 234 | export { 235 | dedupeHead, 236 | ensureEndingSlash, 237 | ensureLeadingSlash, 238 | formatDateString, 239 | htmlEscape, 240 | htmlUnescape, 241 | isArray, 242 | isFunction, 243 | isLinkExternal, 244 | isLinkFtp, 245 | isLinkHttp, 246 | isLinkMailto, 247 | isLinkTel, 248 | isPlainObject, 249 | isPromise, 250 | isString, 251 | normalizePackageName, 252 | removeEndingSlash, 253 | removeLeadingSlash, 254 | resolveHeadIdentifier, 255 | resolveLocalePath, 256 | resolveRoutePathFromUrl 257 | }; 258 | //# sourceMappingURL=@vuepress_shared.js.map 259 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/@vuepress_shared.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["dep:@vuepress_shared", "../../../node_modules/@vuepress/shared/lib/esm/index.js", "../../../node_modules/@vuepress/shared/lib/esm/types/index.js", "../../../node_modules/@vuepress/shared/lib/esm/types/head.js", "../../../node_modules/@vuepress/shared/lib/esm/types/locale.js", "../../../node_modules/@vuepress/shared/lib/esm/types/page.js", "../../../node_modules/@vuepress/shared/lib/esm/types/site.js", "../../../node_modules/@vuepress/shared/lib/esm/types/ssr.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/index.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/dedupeHead.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/resolveHeadIdentifier.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/ensureLeadingSlash.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/ensureEndingSlash.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/formatDateString.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/htmlEscape.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/htmlUnescape.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/isLinkExternal.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/isLinkFtp.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/isLinkHttp.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/isLinkMailto.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/isLinkTel.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/isPlainObject.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/normalizePackageName.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/removeEndingSlash.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/removeLeadingSlash.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/resolveLocalePath.js", "../../../node_modules/@vuepress/shared/lib/esm/utils/resolveRoutePathFromUrl.js"], 4 | "sourcesContent": ["\nexport * from \"../../../../node_modules/@vuepress/shared/lib/esm/index.js\"", "export * from './types';\nexport * from './utils';\n", "export * from './head';\nexport * from './locale';\nexport * from './page';\nexport * from './site';\nexport * from './ssr';\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export { isArray, isFunction, isPromise, isString } from '@vue/shared';\nexport * from './dedupeHead';\nexport * from './ensureLeadingSlash';\nexport * from './ensureEndingSlash';\nexport * from './formatDateString';\nexport * from './htmlEscape';\nexport * from './htmlUnescape';\nexport * from './isLinkExternal';\nexport * from './isLinkFtp';\nexport * from './isLinkHttp';\nexport * from './isLinkMailto';\nexport * from './isLinkTel';\nexport * from './isPlainObject';\nexport * from './normalizePackageName';\nexport * from './removeEndingSlash';\nexport * from './removeLeadingSlash';\nexport * from './resolveHeadIdentifier';\nexport * from './resolveLocalePath';\nexport * from './resolveRoutePathFromUrl';\n", "import { resolveHeadIdentifier } from './resolveHeadIdentifier';\n/**\n * Dedupe head config with identifier\n *\n * Items that appear earlier have higher priority\n */\nexport const dedupeHead = (head) => {\n const identifierSet = new Set();\n const result = [];\n head.forEach((item) => {\n const identifier = resolveHeadIdentifier(item);\n if (!identifierSet.has(identifier)) {\n identifierSet.add(identifier);\n result.push(item);\n }\n });\n return result;\n};\n", "/**\n * Resolve identifier of a tag, to avoid duplicated tags in ``\n */\nexport const resolveHeadIdentifier = ([tag, attrs, content,]) => {\n // avoid duplicated `` with same `name`\n if (tag === 'meta' && attrs.name) {\n return `${tag}.${attrs.name}`;\n }\n // there should be only one `` or `<base>`\n if (['title', 'base'].includes(tag)) {\n return tag;\n }\n // avoid duplicated `<template>` with same `id`\n if (tag === 'template' && attrs.id) {\n return `${tag}.${attrs.id}`;\n }\n return JSON.stringify([tag, attrs, content]);\n};\n", "/**\n * Ensure a url string to have leading slash /\n */\nexport const ensureLeadingSlash = (str) => str.replace(/^\\/?/, '/');\n", "/**\n * Ensure a url string to have ending slash /\n */\nexport const ensureEndingSlash = (str) => /(\\.html|\\/)$/.test(str) ? str : str + '/';\n", "/**\n * Format a date string to `yyyy-MM-dd`\n */\nexport const formatDateString = (str, defaultDateString = '') => {\n // match the `yyyy-(M)M-(d)d` pattern\n const dateMatch = str.match(/\\b(\\d{4})-(\\d{1,2})-(\\d{1,2})\\b/);\n // return `defaultDateString` if no matched pattern\n if (dateMatch === null) {\n return defaultDateString;\n }\n // fill leading zeros for month and day\n const [, yearStr, monthStr, dayStr] = dateMatch;\n return [yearStr, monthStr.padStart(2, '0'), dayStr.padStart(2, '0')].join('-');\n};\n", "const htmlEscapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n \"'\": ''',\n '\"': '"',\n};\nconst htmlEscapeRegexp = /[&<>'\"]/g;\n/**\n * Escape html chars\n */\nexport const htmlEscape = (str) => str.replace(htmlEscapeRegexp, (char) => htmlEscapeMap[char]);\n", "const htmlUnescapeMap = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n};\nconst htmlUnescapeRegexp = /&(amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;\n/**\n * Unescape html chars\n */\nexport const htmlUnescape = (str) => str.replace(htmlUnescapeRegexp, (char) => htmlUnescapeMap[char]);\n", "import { isLinkFtp } from './isLinkFtp';\nimport { isLinkHttp } from './isLinkHttp';\n/**\n * Determine a link is external or not\n */\nexport const isLinkExternal = (link, base = '/') => {\n // http link or ftp link\n if (isLinkHttp(link) || isLinkFtp(link)) {\n return true;\n }\n // absolute link that does not start with `base`\n if (link.startsWith('/') && !link.startsWith(base)) {\n return true;\n }\n return false;\n};\n", "/**\n * Determine a link is ftp link or not\n */\nexport const isLinkFtp = (link) => link.startsWith('ftp://');\n", "/**\n * Determine a link is http link or not\n *\n * - http://github.com\n * - https://github.com\n * - //github.com\n */\nexport const isLinkHttp = (link) => /^(https?:)?\\/\\//.test(link);\n", "/**\n * Determine a link is a mailto: address or not\n */\nexport const isLinkMailto = (link) => /^mailto:/.test(link);\n", "/**\n * Determine a link is a tel: address or not\n */\nexport const isLinkTel = (link) => /^tel:/.test(link);\n", "/**\n * Check if a value is plain object, with generic type support\n */\nexport const isPlainObject = (val) => Object.prototype.toString.call(val) === '[object Object]';\n", "/**\n * Normalize package name\n */\nexport const normalizePackageName = (request, org, type = null) => {\n // org prefix and type prefix\n const orgPrefix = `${org}-`;\n const typePrefix = type === null ? '' : `${type}-`;\n // scoped package pattern\n const scopedMatch = request.match(/^@(.*)\\/(.*)$/);\n // handle non-scoped package\n if (scopedMatch === null) {\n // full name, return as is\n if (request.startsWith(`${orgPrefix}${typePrefix}`)) {\n return request;\n }\n // short name, add org prefix and type prefix\n return `${orgPrefix}${typePrefix}${request}`;\n }\n // handle scoped package\n const [, reqOrg, reqName] = scopedMatch;\n // handle default org\n if (reqOrg === org) {\n // full name, return as is\n if (reqName.startsWith(typePrefix)) {\n return request;\n }\n // short name, add type prefix\n return `@${reqOrg}/${typePrefix}${reqName}`;\n }\n // handle other org\n // full name, return as is\n if (reqName.startsWith(`${orgPrefix}${typePrefix}`)) {\n return request;\n }\n // short name, add org prefix and type prefix\n return `@${reqOrg}/${orgPrefix}${typePrefix}${reqName}`;\n};\n", "/**\n * Remove ending slash / from a string\n */\nexport const removeEndingSlash = (str) => str.replace(/\\/$/, '');\n", "/**\n * Remove leading slash / from a string\n */\nexport const removeLeadingSlash = (str) => str.replace(/^\\//, '');\n", "/**\n * Resolve the matched locale path of route path\n */\nexport const resolveLocalePath = (locales, routePath) => {\n const localePaths = Object.keys(locales).sort((a, b) => {\n const levelDelta = b.split('/').length - a.split('/').length;\n if (levelDelta !== 0) {\n return levelDelta;\n }\n return b.length - a.length;\n });\n for (const localePath of localePaths) {\n if (routePath.startsWith(localePath)) {\n return localePath;\n }\n }\n return '/';\n};\n", "export const resolveRoutePathFromUrl = (url, base = '/') => url\n // remove url origin\n .replace(/^(https?:)?\\/\\/[^/]*/, '')\n // remove site base\n .replace(new RegExp(`^${base}`), '/');\n"], 5 | "mappings": "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", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "hash": "7aebe8c1", 3 | "browserHash": "81f01373", 4 | "optimized": { 5 | "vue": { 6 | "file": "/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.cache/vue.js", 7 | "src": "/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js", 8 | "needsInterop": false 9 | }, 10 | "vue-router": { 11 | "file": "/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.cache/vue-router.js", 12 | "src": "/Users/commands/Desktop/WJW/code/MetaPro/node_modules/vue-router/dist/vue-router.esm-bundler.js", 13 | "needsInterop": false 14 | }, 15 | "@vue/devtools-api": { 16 | "file": "/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.cache/@vue_devtools-api.js", 17 | "src": "/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vue/devtools-api/lib/esm/index.js", 18 | "needsInterop": false 19 | }, 20 | "@vueuse/core": { 21 | "file": "/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.cache/@vueuse_core.js", 22 | "src": "/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vueuse/core/index.mjs", 23 | "needsInterop": false 24 | }, 25 | "nprogress": { 26 | "file": "/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.cache/nprogress.js", 27 | "src": "/Users/commands/Desktop/WJW/code/MetaPro/node_modules/nprogress/nprogress.js", 28 | "needsInterop": true 29 | }, 30 | "@vuepress/shared": { 31 | "file": "/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.cache/@vuepress_shared.js", 32 | "src": "/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/shared/lib/esm/index.js", 33 | "needsInterop": false 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /docs/.vuepress/.cache/chunk-35TZUOOU.js: -------------------------------------------------------------------------------- 1 | import { 2 | init_define_EXTERNAL_LINK_ICON_LOCALES, 3 | init_define_MZ_ZOOM_OPTIONS 4 | } from "./chunk-WCBWMRKB.js"; 5 | 6 | // node_modules/@vue/devtools-api/lib/esm/index.js 7 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 8 | init_define_MZ_ZOOM_OPTIONS(); 9 | 10 | // node_modules/@vue/devtools-api/lib/esm/env.js 11 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 12 | init_define_MZ_ZOOM_OPTIONS(); 13 | function getDevtoolsGlobalHook() { 14 | return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__; 15 | } 16 | function getTarget() { 17 | return typeof navigator !== "undefined" && typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}; 18 | } 19 | var isProxyAvailable = typeof Proxy === "function"; 20 | 21 | // node_modules/@vue/devtools-api/lib/esm/const.js 22 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 23 | init_define_MZ_ZOOM_OPTIONS(); 24 | var HOOK_SETUP = "devtools-plugin:setup"; 25 | var HOOK_PLUGIN_SETTINGS_SET = "plugin:settings:set"; 26 | 27 | // node_modules/@vue/devtools-api/lib/esm/proxy.js 28 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 29 | init_define_MZ_ZOOM_OPTIONS(); 30 | var ApiProxy = class { 31 | constructor(plugin, hook) { 32 | this.target = null; 33 | this.targetQueue = []; 34 | this.onQueue = []; 35 | this.plugin = plugin; 36 | this.hook = hook; 37 | const defaultSettings = {}; 38 | if (plugin.settings) { 39 | for (const id in plugin.settings) { 40 | const item = plugin.settings[id]; 41 | defaultSettings[id] = item.defaultValue; 42 | } 43 | } 44 | const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`; 45 | let currentSettings = Object.assign({}, defaultSettings); 46 | try { 47 | const raw = localStorage.getItem(localSettingsSaveId); 48 | const data = JSON.parse(raw); 49 | Object.assign(currentSettings, data); 50 | } catch (e) { 51 | } 52 | this.fallbacks = { 53 | getSettings() { 54 | return currentSettings; 55 | }, 56 | setSettings(value) { 57 | try { 58 | localStorage.setItem(localSettingsSaveId, JSON.stringify(value)); 59 | } catch (e) { 60 | } 61 | currentSettings = value; 62 | } 63 | }; 64 | if (hook) { 65 | hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => { 66 | if (pluginId === this.plugin.id) { 67 | this.fallbacks.setSettings(value); 68 | } 69 | }); 70 | } 71 | this.proxiedOn = new Proxy({}, { 72 | get: (_target, prop) => { 73 | if (this.target) { 74 | return this.target.on[prop]; 75 | } else { 76 | return (...args) => { 77 | this.onQueue.push({ 78 | method: prop, 79 | args 80 | }); 81 | }; 82 | } 83 | } 84 | }); 85 | this.proxiedTarget = new Proxy({}, { 86 | get: (_target, prop) => { 87 | if (this.target) { 88 | return this.target[prop]; 89 | } else if (prop === "on") { 90 | return this.proxiedOn; 91 | } else if (Object.keys(this.fallbacks).includes(prop)) { 92 | return (...args) => { 93 | this.targetQueue.push({ 94 | method: prop, 95 | args, 96 | resolve: () => { 97 | } 98 | }); 99 | return this.fallbacks[prop](...args); 100 | }; 101 | } else { 102 | return (...args) => { 103 | return new Promise((resolve) => { 104 | this.targetQueue.push({ 105 | method: prop, 106 | args, 107 | resolve 108 | }); 109 | }); 110 | }; 111 | } 112 | } 113 | }); 114 | } 115 | async setRealTarget(target) { 116 | this.target = target; 117 | for (const item of this.onQueue) { 118 | this.target.on[item.method](...item.args); 119 | } 120 | for (const item of this.targetQueue) { 121 | item.resolve(await this.target[item.method](...item.args)); 122 | } 123 | } 124 | }; 125 | 126 | // node_modules/@vue/devtools-api/lib/esm/api/index.js 127 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 128 | init_define_MZ_ZOOM_OPTIONS(); 129 | 130 | // node_modules/@vue/devtools-api/lib/esm/api/api.js 131 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 132 | init_define_MZ_ZOOM_OPTIONS(); 133 | 134 | // node_modules/@vue/devtools-api/lib/esm/api/app.js 135 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 136 | init_define_MZ_ZOOM_OPTIONS(); 137 | 138 | // node_modules/@vue/devtools-api/lib/esm/api/component.js 139 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 140 | init_define_MZ_ZOOM_OPTIONS(); 141 | 142 | // node_modules/@vue/devtools-api/lib/esm/api/context.js 143 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 144 | init_define_MZ_ZOOM_OPTIONS(); 145 | 146 | // node_modules/@vue/devtools-api/lib/esm/api/hooks.js 147 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 148 | init_define_MZ_ZOOM_OPTIONS(); 149 | 150 | // node_modules/@vue/devtools-api/lib/esm/api/util.js 151 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 152 | init_define_MZ_ZOOM_OPTIONS(); 153 | 154 | // node_modules/@vue/devtools-api/lib/esm/plugin.js 155 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 156 | init_define_MZ_ZOOM_OPTIONS(); 157 | 158 | // node_modules/@vue/devtools-api/lib/esm/index.js 159 | function setupDevtoolsPlugin(pluginDescriptor, setupFn) { 160 | const descriptor = pluginDescriptor; 161 | const target = getTarget(); 162 | const hook = getDevtoolsGlobalHook(); 163 | const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy; 164 | if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) { 165 | hook.emit(HOOK_SETUP, pluginDescriptor, setupFn); 166 | } else { 167 | const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null; 168 | const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || []; 169 | list.push({ 170 | pluginDescriptor: descriptor, 171 | setupFn, 172 | proxy 173 | }); 174 | if (proxy) 175 | setupFn(proxy.proxiedTarget); 176 | } 177 | } 178 | 179 | export { 180 | setupDevtoolsPlugin 181 | }; 182 | //# sourceMappingURL=chunk-35TZUOOU.js.map 183 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/chunk-35TZUOOU.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../../node_modules/@vue/devtools-api/lib/esm/index.js", "../../../node_modules/@vue/devtools-api/lib/esm/env.js", "../../../node_modules/@vue/devtools-api/lib/esm/const.js", "../../../node_modules/@vue/devtools-api/lib/esm/proxy.js", "../../../node_modules/@vue/devtools-api/lib/esm/api/index.js", "../../../node_modules/@vue/devtools-api/lib/esm/api/api.js", "../../../node_modules/@vue/devtools-api/lib/esm/api/app.js", "../../../node_modules/@vue/devtools-api/lib/esm/api/component.js", "../../../node_modules/@vue/devtools-api/lib/esm/api/context.js", "../../../node_modules/@vue/devtools-api/lib/esm/api/hooks.js", "../../../node_modules/@vue/devtools-api/lib/esm/api/util.js", "../../../node_modules/@vue/devtools-api/lib/esm/plugin.js"], 4 | "sourcesContent": ["import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env';\nimport { HOOK_SETUP } from './const';\nimport { ApiProxy } from './proxy';\nexport * from './api';\nexport * from './plugin';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n", "export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-ignore\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n", "export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n", "import { HOOK_PLUGIN_SETTINGS_SET } from './const';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n", "export * from './api';\nexport * from './app';\nexport * from './component';\nexport * from './context';\nexport * from './hooks';\nexport * from './util';\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n"], 5 | "mappings": "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", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/chunk-IPZ6NMDU.js: -------------------------------------------------------------------------------- 1 | import { 2 | init_define_EXTERNAL_LINK_ICON_LOCALES, 3 | init_define_MZ_ZOOM_OPTIONS 4 | } from "./chunk-WCBWMRKB.js"; 5 | 6 | // node_modules/@vue/shared/dist/shared.esm-bundler.js 7 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 8 | init_define_MZ_ZOOM_OPTIONS(); 9 | function makeMap(str, expectsLowerCase) { 10 | const map = /* @__PURE__ */ Object.create(null); 11 | const list = str.split(","); 12 | for (let i = 0; i < list.length; i++) { 13 | map[list[i]] = true; 14 | } 15 | return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val]; 16 | } 17 | var PatchFlagNames = { 18 | [1]: `TEXT`, 19 | [2]: `CLASS`, 20 | [4]: `STYLE`, 21 | [8]: `PROPS`, 22 | [16]: `FULL_PROPS`, 23 | [32]: `HYDRATE_EVENTS`, 24 | [64]: `STABLE_FRAGMENT`, 25 | [128]: `KEYED_FRAGMENT`, 26 | [256]: `UNKEYED_FRAGMENT`, 27 | [512]: `NEED_PATCH`, 28 | [1024]: `DYNAMIC_SLOTS`, 29 | [2048]: `DEV_ROOT_FRAGMENT`, 30 | [-1]: `HOISTED`, 31 | [-2]: `BAIL` 32 | }; 33 | var slotFlagsText = { 34 | [1]: "STABLE", 35 | [2]: "DYNAMIC", 36 | [3]: "FORWARDED" 37 | }; 38 | var GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt"; 39 | var isGloballyWhitelisted = makeMap(GLOBALS_WHITE_LISTED); 40 | var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; 41 | var isSpecialBooleanAttr = makeMap(specialBooleanAttrs); 42 | var isBooleanAttr = makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`); 43 | function includeBooleanAttr(value) { 44 | return !!value || value === ""; 45 | } 46 | var isNoUnitNumericStyleProp = makeMap(`animation-iteration-count,border-image-outset,border-image-slice,border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-miterlimit,stroke-opacity,stroke-width`); 47 | var isKnownHtmlAttr = makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`); 48 | var isKnownSvgAttr = makeMap(`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`); 49 | function normalizeStyle(value) { 50 | if (isArray(value)) { 51 | const res = {}; 52 | for (let i = 0; i < value.length; i++) { 53 | const item = value[i]; 54 | const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); 55 | if (normalized) { 56 | for (const key in normalized) { 57 | res[key] = normalized[key]; 58 | } 59 | } 60 | } 61 | return res; 62 | } else if (isString(value)) { 63 | return value; 64 | } else if (isObject(value)) { 65 | return value; 66 | } 67 | } 68 | var listDelimiterRE = /;(?![^(]*\))/g; 69 | var propertyDelimiterRE = /:(.+)/; 70 | function parseStringStyle(cssText) { 71 | const ret = {}; 72 | cssText.split(listDelimiterRE).forEach((item) => { 73 | if (item) { 74 | const tmp = item.split(propertyDelimiterRE); 75 | tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); 76 | } 77 | }); 78 | return ret; 79 | } 80 | function normalizeClass(value) { 81 | let res = ""; 82 | if (isString(value)) { 83 | res = value; 84 | } else if (isArray(value)) { 85 | for (let i = 0; i < value.length; i++) { 86 | const normalized = normalizeClass(value[i]); 87 | if (normalized) { 88 | res += normalized + " "; 89 | } 90 | } 91 | } else if (isObject(value)) { 92 | for (const name in value) { 93 | if (value[name]) { 94 | res += name + " "; 95 | } 96 | } 97 | } 98 | return res.trim(); 99 | } 100 | function normalizeProps(props) { 101 | if (!props) 102 | return null; 103 | let { class: klass, style } = props; 104 | if (klass && !isString(klass)) { 105 | props.class = normalizeClass(klass); 106 | } 107 | if (style) { 108 | props.style = normalizeStyle(style); 109 | } 110 | return props; 111 | } 112 | var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; 113 | var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; 114 | var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; 115 | var isHTMLTag = makeMap(HTML_TAGS); 116 | var isSVGTag = makeMap(SVG_TAGS); 117 | var isVoidTag = makeMap(VOID_TAGS); 118 | function looseCompareArrays(a, b) { 119 | if (a.length !== b.length) 120 | return false; 121 | let equal = true; 122 | for (let i = 0; equal && i < a.length; i++) { 123 | equal = looseEqual(a[i], b[i]); 124 | } 125 | return equal; 126 | } 127 | function looseEqual(a, b) { 128 | if (a === b) 129 | return true; 130 | let aValidType = isDate(a); 131 | let bValidType = isDate(b); 132 | if (aValidType || bValidType) { 133 | return aValidType && bValidType ? a.getTime() === b.getTime() : false; 134 | } 135 | aValidType = isArray(a); 136 | bValidType = isArray(b); 137 | if (aValidType || bValidType) { 138 | return aValidType && bValidType ? looseCompareArrays(a, b) : false; 139 | } 140 | aValidType = isObject(a); 141 | bValidType = isObject(b); 142 | if (aValidType || bValidType) { 143 | if (!aValidType || !bValidType) { 144 | return false; 145 | } 146 | const aKeysCount = Object.keys(a).length; 147 | const bKeysCount = Object.keys(b).length; 148 | if (aKeysCount !== bKeysCount) { 149 | return false; 150 | } 151 | for (const key in a) { 152 | const aHasKey = a.hasOwnProperty(key); 153 | const bHasKey = b.hasOwnProperty(key); 154 | if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { 155 | return false; 156 | } 157 | } 158 | } 159 | return String(a) === String(b); 160 | } 161 | function looseIndexOf(arr, val) { 162 | return arr.findIndex((item) => looseEqual(item, val)); 163 | } 164 | var toDisplayString = (val) => { 165 | return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); 166 | }; 167 | var replacer = (_key, val) => { 168 | if (val && val.__v_isRef) { 169 | return replacer(_key, val.value); 170 | } else if (isMap(val)) { 171 | return { 172 | [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => { 173 | entries[`${key} =>`] = val2; 174 | return entries; 175 | }, {}) 176 | }; 177 | } else if (isSet(val)) { 178 | return { 179 | [`Set(${val.size})`]: [...val.values()] 180 | }; 181 | } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { 182 | return String(val); 183 | } 184 | return val; 185 | }; 186 | var EMPTY_OBJ = true ? Object.freeze({}) : {}; 187 | var EMPTY_ARR = true ? Object.freeze([]) : []; 188 | var NOOP = () => { 189 | }; 190 | var NO = () => false; 191 | var onRE = /^on[^a-z]/; 192 | var isOn = (key) => onRE.test(key); 193 | var isModelListener = (key) => key.startsWith("onUpdate:"); 194 | var extend = Object.assign; 195 | var remove = (arr, el) => { 196 | const i = arr.indexOf(el); 197 | if (i > -1) { 198 | arr.splice(i, 1); 199 | } 200 | }; 201 | var hasOwnProperty = Object.prototype.hasOwnProperty; 202 | var hasOwn = (val, key) => hasOwnProperty.call(val, key); 203 | var isArray = Array.isArray; 204 | var isMap = (val) => toTypeString(val) === "[object Map]"; 205 | var isSet = (val) => toTypeString(val) === "[object Set]"; 206 | var isDate = (val) => val instanceof Date; 207 | var isFunction = (val) => typeof val === "function"; 208 | var isString = (val) => typeof val === "string"; 209 | var isSymbol = (val) => typeof val === "symbol"; 210 | var isObject = (val) => val !== null && typeof val === "object"; 211 | var isPromise = (val) => { 212 | return isObject(val) && isFunction(val.then) && isFunction(val.catch); 213 | }; 214 | var objectToString = Object.prototype.toString; 215 | var toTypeString = (value) => objectToString.call(value); 216 | var toRawType = (value) => { 217 | return toTypeString(value).slice(8, -1); 218 | }; 219 | var isPlainObject = (val) => toTypeString(val) === "[object Object]"; 220 | var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; 221 | var isReservedProp = makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"); 222 | var isBuiltInDirective = makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"); 223 | var cacheStringFunction = (fn) => { 224 | const cache = /* @__PURE__ */ Object.create(null); 225 | return (str) => { 226 | const hit = cache[str]; 227 | return hit || (cache[str] = fn(str)); 228 | }; 229 | }; 230 | var camelizeRE = /-(\w)/g; 231 | var camelize = cacheStringFunction((str) => { 232 | return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); 233 | }); 234 | var hyphenateRE = /\B([A-Z])/g; 235 | var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); 236 | var capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1)); 237 | var toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``); 238 | var hasChanged = (value, oldValue) => !Object.is(value, oldValue); 239 | var invokeArrayFns = (fns, arg) => { 240 | for (let i = 0; i < fns.length; i++) { 241 | fns[i](arg); 242 | } 243 | }; 244 | var def = (obj, key, value) => { 245 | Object.defineProperty(obj, key, { 246 | configurable: true, 247 | enumerable: false, 248 | value 249 | }); 250 | }; 251 | var toNumber = (val) => { 252 | const n = parseFloat(val); 253 | return isNaN(n) ? val : n; 254 | }; 255 | var _globalThis; 256 | var getGlobalThis = () => { 257 | return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); 258 | }; 259 | 260 | export { 261 | makeMap, 262 | isGloballyWhitelisted, 263 | isSpecialBooleanAttr, 264 | includeBooleanAttr, 265 | normalizeStyle, 266 | normalizeClass, 267 | normalizeProps, 268 | isHTMLTag, 269 | isSVGTag, 270 | looseEqual, 271 | looseIndexOf, 272 | toDisplayString, 273 | EMPTY_OBJ, 274 | EMPTY_ARR, 275 | NOOP, 276 | NO, 277 | isOn, 278 | isModelListener, 279 | extend, 280 | remove, 281 | hasOwn, 282 | isArray, 283 | isMap, 284 | isSet, 285 | isFunction, 286 | isString, 287 | isSymbol, 288 | isObject, 289 | isPromise, 290 | toRawType, 291 | isPlainObject, 292 | isIntegerKey, 293 | isReservedProp, 294 | isBuiltInDirective, 295 | camelize, 296 | hyphenate, 297 | capitalize, 298 | toHandlerKey, 299 | hasChanged, 300 | invokeArrayFns, 301 | def, 302 | toNumber, 303 | getGlobalThis 304 | }; 305 | //# sourceMappingURL=chunk-IPZ6NMDU.js.map 306 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/chunk-WCBWMRKB.js: -------------------------------------------------------------------------------- 1 | var __getOwnPropNames = Object.getOwnPropertyNames; 2 | var __esm = (fn, res) => function __init() { 3 | return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; 4 | }; 5 | var __commonJS = (cb, mod) => function __require() { 6 | return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; 7 | }; 8 | 9 | // <define:__EXTERNAL_LINK_ICON_LOCALES__> 10 | var init_define_EXTERNAL_LINK_ICON_LOCALES = __esm({ 11 | "<define:__EXTERNAL_LINK_ICON_LOCALES__>"() { 12 | } 13 | }); 14 | 15 | // <define:__MZ_ZOOM_OPTIONS__> 16 | var init_define_MZ_ZOOM_OPTIONS = __esm({ 17 | "<define:__MZ_ZOOM_OPTIONS__>"() { 18 | } 19 | }); 20 | 21 | export { 22 | __commonJS, 23 | init_define_EXTERNAL_LINK_ICON_LOCALES, 24 | init_define_MZ_ZOOM_OPTIONS 25 | }; 26 | //# sourceMappingURL=chunk-WCBWMRKB.js.map 27 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/chunk-WCBWMRKB.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/nprogress.js: -------------------------------------------------------------------------------- 1 | import { 2 | __commonJS, 3 | init_define_EXTERNAL_LINK_ICON_LOCALES, 4 | init_define_MZ_ZOOM_OPTIONS 5 | } from "./chunk-WCBWMRKB.js"; 6 | 7 | // node_modules/nprogress/nprogress.js 8 | var require_nprogress = __commonJS({ 9 | "node_modules/nprogress/nprogress.js"(exports, module) { 10 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 11 | init_define_MZ_ZOOM_OPTIONS(); 12 | (function(root, factory) { 13 | if (typeof define === "function" && define.amd) { 14 | define(factory); 15 | } else if (typeof exports === "object") { 16 | module.exports = factory(); 17 | } else { 18 | root.NProgress = factory(); 19 | } 20 | })(exports, function() { 21 | var NProgress = {}; 22 | NProgress.version = "0.2.0"; 23 | var Settings = NProgress.settings = { 24 | minimum: 0.08, 25 | easing: "ease", 26 | positionUsing: "", 27 | speed: 200, 28 | trickle: true, 29 | trickleRate: 0.02, 30 | trickleSpeed: 800, 31 | showSpinner: true, 32 | barSelector: '[role="bar"]', 33 | spinnerSelector: '[role="spinner"]', 34 | parent: "body", 35 | template: '<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>' 36 | }; 37 | NProgress.configure = function(options) { 38 | var key, value; 39 | for (key in options) { 40 | value = options[key]; 41 | if (value !== void 0 && options.hasOwnProperty(key)) 42 | Settings[key] = value; 43 | } 44 | return this; 45 | }; 46 | NProgress.status = null; 47 | NProgress.set = function(n) { 48 | var started = NProgress.isStarted(); 49 | n = clamp(n, Settings.minimum, 1); 50 | NProgress.status = n === 1 ? null : n; 51 | var progress = NProgress.render(!started), bar = progress.querySelector(Settings.barSelector), speed = Settings.speed, ease = Settings.easing; 52 | progress.offsetWidth; 53 | queue(function(next) { 54 | if (Settings.positionUsing === "") 55 | Settings.positionUsing = NProgress.getPositioningCSS(); 56 | css(bar, barPositionCSS(n, speed, ease)); 57 | if (n === 1) { 58 | css(progress, { 59 | transition: "none", 60 | opacity: 1 61 | }); 62 | progress.offsetWidth; 63 | setTimeout(function() { 64 | css(progress, { 65 | transition: "all " + speed + "ms linear", 66 | opacity: 0 67 | }); 68 | setTimeout(function() { 69 | NProgress.remove(); 70 | next(); 71 | }, speed); 72 | }, speed); 73 | } else { 74 | setTimeout(next, speed); 75 | } 76 | }); 77 | return this; 78 | }; 79 | NProgress.isStarted = function() { 80 | return typeof NProgress.status === "number"; 81 | }; 82 | NProgress.start = function() { 83 | if (!NProgress.status) 84 | NProgress.set(0); 85 | var work = function() { 86 | setTimeout(function() { 87 | if (!NProgress.status) 88 | return; 89 | NProgress.trickle(); 90 | work(); 91 | }, Settings.trickleSpeed); 92 | }; 93 | if (Settings.trickle) 94 | work(); 95 | return this; 96 | }; 97 | NProgress.done = function(force) { 98 | if (!force && !NProgress.status) 99 | return this; 100 | return NProgress.inc(0.3 + 0.5 * Math.random()).set(1); 101 | }; 102 | NProgress.inc = function(amount) { 103 | var n = NProgress.status; 104 | if (!n) { 105 | return NProgress.start(); 106 | } else { 107 | if (typeof amount !== "number") { 108 | amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95); 109 | } 110 | n = clamp(n + amount, 0, 0.994); 111 | return NProgress.set(n); 112 | } 113 | }; 114 | NProgress.trickle = function() { 115 | return NProgress.inc(Math.random() * Settings.trickleRate); 116 | }; 117 | (function() { 118 | var initial = 0, current = 0; 119 | NProgress.promise = function($promise) { 120 | if (!$promise || $promise.state() === "resolved") { 121 | return this; 122 | } 123 | if (current === 0) { 124 | NProgress.start(); 125 | } 126 | initial++; 127 | current++; 128 | $promise.always(function() { 129 | current--; 130 | if (current === 0) { 131 | initial = 0; 132 | NProgress.done(); 133 | } else { 134 | NProgress.set((initial - current) / initial); 135 | } 136 | }); 137 | return this; 138 | }; 139 | })(); 140 | NProgress.render = function(fromStart) { 141 | if (NProgress.isRendered()) 142 | return document.getElementById("nprogress"); 143 | addClass(document.documentElement, "nprogress-busy"); 144 | var progress = document.createElement("div"); 145 | progress.id = "nprogress"; 146 | progress.innerHTML = Settings.template; 147 | var bar = progress.querySelector(Settings.barSelector), perc = fromStart ? "-100" : toBarPerc(NProgress.status || 0), parent = document.querySelector(Settings.parent), spinner; 148 | css(bar, { 149 | transition: "all 0 linear", 150 | transform: "translate3d(" + perc + "%,0,0)" 151 | }); 152 | if (!Settings.showSpinner) { 153 | spinner = progress.querySelector(Settings.spinnerSelector); 154 | spinner && removeElement(spinner); 155 | } 156 | if (parent != document.body) { 157 | addClass(parent, "nprogress-custom-parent"); 158 | } 159 | parent.appendChild(progress); 160 | return progress; 161 | }; 162 | NProgress.remove = function() { 163 | removeClass(document.documentElement, "nprogress-busy"); 164 | removeClass(document.querySelector(Settings.parent), "nprogress-custom-parent"); 165 | var progress = document.getElementById("nprogress"); 166 | progress && removeElement(progress); 167 | }; 168 | NProgress.isRendered = function() { 169 | return !!document.getElementById("nprogress"); 170 | }; 171 | NProgress.getPositioningCSS = function() { 172 | var bodyStyle = document.body.style; 173 | var vendorPrefix = "WebkitTransform" in bodyStyle ? "Webkit" : "MozTransform" in bodyStyle ? "Moz" : "msTransform" in bodyStyle ? "ms" : "OTransform" in bodyStyle ? "O" : ""; 174 | if (vendorPrefix + "Perspective" in bodyStyle) { 175 | return "translate3d"; 176 | } else if (vendorPrefix + "Transform" in bodyStyle) { 177 | return "translate"; 178 | } else { 179 | return "margin"; 180 | } 181 | }; 182 | function clamp(n, min, max) { 183 | if (n < min) 184 | return min; 185 | if (n > max) 186 | return max; 187 | return n; 188 | } 189 | function toBarPerc(n) { 190 | return (-1 + n) * 100; 191 | } 192 | function barPositionCSS(n, speed, ease) { 193 | var barCSS; 194 | if (Settings.positionUsing === "translate3d") { 195 | barCSS = { transform: "translate3d(" + toBarPerc(n) + "%,0,0)" }; 196 | } else if (Settings.positionUsing === "translate") { 197 | barCSS = { transform: "translate(" + toBarPerc(n) + "%,0)" }; 198 | } else { 199 | barCSS = { "margin-left": toBarPerc(n) + "%" }; 200 | } 201 | barCSS.transition = "all " + speed + "ms " + ease; 202 | return barCSS; 203 | } 204 | var queue = function() { 205 | var pending = []; 206 | function next() { 207 | var fn = pending.shift(); 208 | if (fn) { 209 | fn(next); 210 | } 211 | } 212 | return function(fn) { 213 | pending.push(fn); 214 | if (pending.length == 1) 215 | next(); 216 | }; 217 | }(); 218 | var css = function() { 219 | var cssPrefixes = ["Webkit", "O", "Moz", "ms"], cssProps = {}; 220 | function camelCase(string) { 221 | return string.replace(/^-ms-/, "ms-").replace(/-([\da-z])/gi, function(match, letter) { 222 | return letter.toUpperCase(); 223 | }); 224 | } 225 | function getVendorProp(name) { 226 | var style = document.body.style; 227 | if (name in style) 228 | return name; 229 | var i = cssPrefixes.length, capName = name.charAt(0).toUpperCase() + name.slice(1), vendorName; 230 | while (i--) { 231 | vendorName = cssPrefixes[i] + capName; 232 | if (vendorName in style) 233 | return vendorName; 234 | } 235 | return name; 236 | } 237 | function getStyleProp(name) { 238 | name = camelCase(name); 239 | return cssProps[name] || (cssProps[name] = getVendorProp(name)); 240 | } 241 | function applyCss(element, prop, value) { 242 | prop = getStyleProp(prop); 243 | element.style[prop] = value; 244 | } 245 | return function(element, properties) { 246 | var args = arguments, prop, value; 247 | if (args.length == 2) { 248 | for (prop in properties) { 249 | value = properties[prop]; 250 | if (value !== void 0 && properties.hasOwnProperty(prop)) 251 | applyCss(element, prop, value); 252 | } 253 | } else { 254 | applyCss(element, args[1], args[2]); 255 | } 256 | }; 257 | }(); 258 | function hasClass(element, name) { 259 | var list = typeof element == "string" ? element : classList(element); 260 | return list.indexOf(" " + name + " ") >= 0; 261 | } 262 | function addClass(element, name) { 263 | var oldList = classList(element), newList = oldList + name; 264 | if (hasClass(oldList, name)) 265 | return; 266 | element.className = newList.substring(1); 267 | } 268 | function removeClass(element, name) { 269 | var oldList = classList(element), newList; 270 | if (!hasClass(element, name)) 271 | return; 272 | newList = oldList.replace(" " + name + " ", " "); 273 | element.className = newList.substring(1, newList.length - 1); 274 | } 275 | function classList(element) { 276 | return (" " + (element.className || "") + " ").replace(/\s+/gi, " "); 277 | } 278 | function removeElement(element) { 279 | element && element.parentNode && element.parentNode.removeChild(element); 280 | } 281 | return NProgress; 282 | }); 283 | } 284 | }); 285 | 286 | // dep:nprogress 287 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 288 | init_define_MZ_ZOOM_OPTIONS(); 289 | var nprogress_default = require_nprogress(); 290 | export { 291 | nprogress_default as default 292 | }; 293 | /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress 294 | * @license MIT */ 295 | //# sourceMappingURL=nprogress.js.map 296 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/nprogress.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../../node_modules/nprogress/nprogress.js", "dep:nprogress"], 4 | "sourcesContent": ["/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '<div class=\"bar\" role=\"bar\"><div class=\"peg\"></div></div><div class=\"spinner\" role=\"spinner\"><div class=\"spinner-icon\"></div></div>'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n", "export default require(\"../../../../node_modules/nprogress/nprogress.js\");"], 5 | "mappings": "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", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/package.json: -------------------------------------------------------------------------------- 1 | {"type":"module"} -------------------------------------------------------------------------------- /docs/.vuepress/.cache/vue.js: -------------------------------------------------------------------------------- 1 | import { 2 | BaseTransition, 3 | Comment, 4 | EffectScope, 5 | Fragment, 6 | KeepAlive, 7 | ReactiveEffect, 8 | Static, 9 | Suspense, 10 | Teleport, 11 | Text, 12 | Transition, 13 | TransitionGroup, 14 | VueElement, 15 | callWithAsyncErrorHandling, 16 | callWithErrorHandling, 17 | cloneVNode, 18 | compatUtils, 19 | computed, 20 | createApp, 21 | createBaseVNode, 22 | createBlock, 23 | createCommentVNode, 24 | createElementBlock, 25 | createHydrationRenderer, 26 | createPropsRestProxy, 27 | createRenderer, 28 | createSSRApp, 29 | createSlots, 30 | createStaticVNode, 31 | createTextVNode, 32 | createVNode, 33 | customRef, 34 | defineAsyncComponent, 35 | defineComponent, 36 | defineCustomElement, 37 | defineEmits, 38 | defineExpose, 39 | defineProps, 40 | defineSSRCustomElement, 41 | devtools, 42 | effect, 43 | effectScope, 44 | getCurrentInstance, 45 | getCurrentScope, 46 | getTransitionRawChildren, 47 | guardReactiveProps, 48 | h, 49 | handleError, 50 | hydrate, 51 | initCustomFormatter, 52 | initDirectivesForSSR, 53 | inject, 54 | isMemoSame, 55 | isProxy, 56 | isReactive, 57 | isReadonly, 58 | isRef, 59 | isRuntimeOnly, 60 | isShallow, 61 | isVNode, 62 | markRaw, 63 | mergeDefaults, 64 | mergeProps, 65 | nextTick, 66 | onActivated, 67 | onBeforeMount, 68 | onBeforeUnmount, 69 | onBeforeUpdate, 70 | onDeactivated, 71 | onErrorCaptured, 72 | onMounted, 73 | onRenderTracked, 74 | onRenderTriggered, 75 | onScopeDispose, 76 | onServerPrefetch, 77 | onUnmounted, 78 | onUpdated, 79 | openBlock, 80 | popScopeId, 81 | provide, 82 | proxyRefs, 83 | pushScopeId, 84 | queuePostFlushCb, 85 | reactive, 86 | readonly, 87 | ref, 88 | registerRuntimeCompiler, 89 | render, 90 | renderList, 91 | renderSlot, 92 | resolveComponent, 93 | resolveDirective, 94 | resolveDynamicComponent, 95 | resolveFilter, 96 | resolveTransitionHooks, 97 | setBlockTracking, 98 | setDevtoolsHook, 99 | setTransitionHooks, 100 | shallowReactive, 101 | shallowReadonly, 102 | shallowRef, 103 | ssrContextKey, 104 | ssrUtils, 105 | stop, 106 | toHandlers, 107 | toRaw, 108 | toRef, 109 | toRefs, 110 | transformVNodeArgs, 111 | triggerRef, 112 | unref, 113 | useAttrs, 114 | useCssModule, 115 | useCssVars, 116 | useSSRContext, 117 | useSlots, 118 | useTransitionState, 119 | vModelCheckbox, 120 | vModelDynamic, 121 | vModelRadio, 122 | vModelSelect, 123 | vModelText, 124 | vShow, 125 | version, 126 | warn, 127 | watch, 128 | watchEffect, 129 | watchPostEffect, 130 | watchSyncEffect, 131 | withAsyncContext, 132 | withCtx, 133 | withDefaults, 134 | withDirectives, 135 | withKeys, 136 | withMemo, 137 | withModifiers, 138 | withScopeId 139 | } from "./chunk-XTS5S2AB.js"; 140 | import { 141 | camelize, 142 | capitalize, 143 | normalizeClass, 144 | normalizeProps, 145 | normalizeStyle, 146 | toDisplayString, 147 | toHandlerKey 148 | } from "./chunk-IPZ6NMDU.js"; 149 | import { 150 | init_define_EXTERNAL_LINK_ICON_LOCALES, 151 | init_define_MZ_ZOOM_OPTIONS 152 | } from "./chunk-WCBWMRKB.js"; 153 | 154 | // dep:vue 155 | init_define_EXTERNAL_LINK_ICON_LOCALES(); 156 | init_define_MZ_ZOOM_OPTIONS(); 157 | export { 158 | BaseTransition, 159 | Comment, 160 | EffectScope, 161 | Fragment, 162 | KeepAlive, 163 | ReactiveEffect, 164 | Static, 165 | Suspense, 166 | Teleport, 167 | Text, 168 | Transition, 169 | TransitionGroup, 170 | VueElement, 171 | callWithAsyncErrorHandling, 172 | callWithErrorHandling, 173 | camelize, 174 | capitalize, 175 | cloneVNode, 176 | compatUtils, 177 | computed, 178 | createApp, 179 | createBlock, 180 | createCommentVNode, 181 | createElementBlock, 182 | createBaseVNode as createElementVNode, 183 | createHydrationRenderer, 184 | createPropsRestProxy, 185 | createRenderer, 186 | createSSRApp, 187 | createSlots, 188 | createStaticVNode, 189 | createTextVNode, 190 | createVNode, 191 | customRef, 192 | defineAsyncComponent, 193 | defineComponent, 194 | defineCustomElement, 195 | defineEmits, 196 | defineExpose, 197 | defineProps, 198 | defineSSRCustomElement, 199 | devtools, 200 | effect, 201 | effectScope, 202 | getCurrentInstance, 203 | getCurrentScope, 204 | getTransitionRawChildren, 205 | guardReactiveProps, 206 | h, 207 | handleError, 208 | hydrate, 209 | initCustomFormatter, 210 | initDirectivesForSSR, 211 | inject, 212 | isMemoSame, 213 | isProxy, 214 | isReactive, 215 | isReadonly, 216 | isRef, 217 | isRuntimeOnly, 218 | isShallow, 219 | isVNode, 220 | markRaw, 221 | mergeDefaults, 222 | mergeProps, 223 | nextTick, 224 | normalizeClass, 225 | normalizeProps, 226 | normalizeStyle, 227 | onActivated, 228 | onBeforeMount, 229 | onBeforeUnmount, 230 | onBeforeUpdate, 231 | onDeactivated, 232 | onErrorCaptured, 233 | onMounted, 234 | onRenderTracked, 235 | onRenderTriggered, 236 | onScopeDispose, 237 | onServerPrefetch, 238 | onUnmounted, 239 | onUpdated, 240 | openBlock, 241 | popScopeId, 242 | provide, 243 | proxyRefs, 244 | pushScopeId, 245 | queuePostFlushCb, 246 | reactive, 247 | readonly, 248 | ref, 249 | registerRuntimeCompiler, 250 | render, 251 | renderList, 252 | renderSlot, 253 | resolveComponent, 254 | resolveDirective, 255 | resolveDynamicComponent, 256 | resolveFilter, 257 | resolveTransitionHooks, 258 | setBlockTracking, 259 | setDevtoolsHook, 260 | setTransitionHooks, 261 | shallowReactive, 262 | shallowReadonly, 263 | shallowRef, 264 | ssrContextKey, 265 | ssrUtils, 266 | stop, 267 | toDisplayString, 268 | toHandlerKey, 269 | toHandlers, 270 | toRaw, 271 | toRef, 272 | toRefs, 273 | transformVNodeArgs, 274 | triggerRef, 275 | unref, 276 | useAttrs, 277 | useCssModule, 278 | useCssVars, 279 | useSSRContext, 280 | useSlots, 281 | useTransitionState, 282 | vModelCheckbox, 283 | vModelDynamic, 284 | vModelRadio, 285 | vModelSelect, 286 | vModelText, 287 | vShow, 288 | version, 289 | warn, 290 | watch, 291 | watchEffect, 292 | watchPostEffect, 293 | watchSyncEffect, 294 | withAsyncContext, 295 | withCtx, 296 | withDefaults, 297 | withDirectives, 298 | withKeys, 299 | withMemo, 300 | withModifiers, 301 | withScopeId 302 | }; 303 | //# sourceMappingURL=vue.js.map 304 | -------------------------------------------------------------------------------- /docs/.vuepress/.cache/vue.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["dep:vue"], 4 | "sourcesContent": ["\nexport * from \"../../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js\""], 5 | "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/internal/clientAppEnhances.js: -------------------------------------------------------------------------------- 1 | import clientAppEnhance0 from '/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/plugin-external-link-icon/lib/client/clientAppEnhance.js' 2 | import clientAppEnhance1 from '/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/plugin-medium-zoom/lib/client/clientAppEnhance.js' 3 | import clientAppEnhance2 from '/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/plugin-theme-data/lib/client/clientAppEnhance.js' 4 | import clientAppEnhance3 from '/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/theme-default/lib/client/clientAppEnhance.js' 5 | 6 | export const clientAppEnhances = [ 7 | clientAppEnhance0, 8 | clientAppEnhance1, 9 | clientAppEnhance2, 10 | clientAppEnhance3, 11 | ] 12 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/internal/clientAppRootComponents.js: -------------------------------------------------------------------------------- 1 | import clientAppRootComponent0 from '/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/plugin-back-to-top/lib/client/components/BackToTop.js' 2 | 3 | export const clientAppRootComponents = [ 4 | clientAppRootComponent0, 5 | ] 6 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/internal/clientAppSetups.js: -------------------------------------------------------------------------------- 1 | import clientAppSetup0 from '/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/plugin-active-header-links/lib/client/clientAppSetup.js' 2 | import clientAppSetup1 from '/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/plugin-nprogress/lib/client/clientAppSetup.js' 3 | import clientAppSetup2 from '/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/theme-default/lib/client/clientAppSetup.js' 4 | 5 | export const clientAppSetups = [ 6 | clientAppSetup0, 7 | clientAppSetup1, 8 | clientAppSetup2, 9 | ] 10 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/internal/layoutComponents.js: -------------------------------------------------------------------------------- 1 | import { defineAsyncComponent } from 'vue' 2 | 3 | export const layoutComponents = { 4 | "404": defineAsyncComponent(() => import("/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/theme-default/lib/client/layouts/404.vue")), 5 | "Layout": defineAsyncComponent(() => import("/Users/commands/Desktop/WJW/code/MetaPro/node_modules/@vuepress/theme-default/lib/client/layouts/Layout.vue")), 6 | } 7 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/internal/pagesComponents.js: -------------------------------------------------------------------------------- 1 | import { defineAsyncComponent } from 'vue' 2 | 3 | export const pagesComponents = { 4 | // path: / 5 | "v-8daa1a0e": defineAsyncComponent(() => import(/* webpackChunkName: "v-8daa1a0e" */"/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.temp/pages/index.html.vue")), 6 | // path: /guide/user-manual.html 7 | "v-63806a86": defineAsyncComponent(() => import(/* webpackChunkName: "v-63806a86" */"/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.temp/pages/guide/user-manual.html.vue")), 8 | // path: /404.html 9 | "v-3706649a": defineAsyncComponent(() => import(/* webpackChunkName: "v-3706649a" */"/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.temp/pages/404.html.vue")), 10 | } 11 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/internal/pagesData.js: -------------------------------------------------------------------------------- 1 | export const pagesData = { 2 | // path: / 3 | "v-8daa1a0e": () => import(/* webpackChunkName: "v-8daa1a0e" */"/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.temp/pages/index.html.js").then(({ data }) => data), 4 | // path: /guide/user-manual.html 5 | "v-63806a86": () => import(/* webpackChunkName: "v-63806a86" */"/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.temp/pages/guide/user-manual.html.js").then(({ data }) => data), 6 | // path: /404.html 7 | "v-3706649a": () => import(/* webpackChunkName: "v-3706649a" */"/Users/commands/Desktop/WJW/code/MetaPro/docs/.vuepress/.temp/pages/404.html.js").then(({ data }) => data), 8 | } 9 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/internal/pagesRoutes.js: -------------------------------------------------------------------------------- 1 | import { Vuepress } from '@vuepress/client/lib/components/Vuepress' 2 | 3 | const routeItems = [ 4 | ["v-8daa1a0e","/",{"title":"README"},["/index.html","/README.md"]], 5 | ["v-63806a86","/guide/user-manual.html",{"title":"User Manual"},["/guide/user-manual","/guide/user-manual.md"]], 6 | ["v-3706649a","/404.html",{"title":""},["/404"]], 7 | ] 8 | 9 | export const pagesRoutes = routeItems.reduce( 10 | (result, [name, path, meta, redirects]) => { 11 | result.push( 12 | { 13 | name, 14 | path, 15 | component: Vuepress, 16 | meta, 17 | }, 18 | ...redirects.map((item) => ({ 19 | path: item, 20 | redirect: path, 21 | })) 22 | ) 23 | return result 24 | }, 25 | [ 26 | { 27 | name: "404", 28 | path: "/:catchAll(.*)", 29 | component: Vuepress, 30 | } 31 | ] 32 | ) 33 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/internal/siteData.js: -------------------------------------------------------------------------------- 1 | export const siteData = { 2 | "base": "/MetaPro/", 3 | "lang": "en-US", 4 | "title": "MetaPro", 5 | "description": "MetaPro User Manual", 6 | "head": [ 7 | [ 8 | "link", 9 | { 10 | "rel": "icon", 11 | "href": "/images/logo.png" 12 | } 13 | ] 14 | ], 15 | "locales": {} 16 | } 17 | 18 | if (import.meta.webpackHot) { 19 | import.meta.webpackHot.accept() 20 | if (__VUE_HMR_RUNTIME__.updateSiteData) { 21 | __VUE_HMR_RUNTIME__.updateSiteData(siteData) 22 | } 23 | } 24 | 25 | if (import.meta.hot) { 26 | import.meta.hot.accept(({ siteData }) => { 27 | __VUE_HMR_RUNTIME__.updateSiteData(siteData) 28 | }) 29 | } 30 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/internal/themeData.js: -------------------------------------------------------------------------------- 1 | export const themeData = { 2 | "logo": "/images/logo.png", 3 | "lastUpdated": false, 4 | "repo": "https://github.com/CSi-Studio/MetaPro", 5 | "navbar": [ 6 | { 7 | "text": "UserManual", 8 | "link": "/guide/user-manual.md" 9 | } 10 | ], 11 | "locales": { 12 | "/": { 13 | "selectLanguageName": "English" 14 | } 15 | }, 16 | "darkMode": true, 17 | "selectLanguageText": "Languages", 18 | "selectLanguageAriaLabel": "Select language", 19 | "sidebar": "auto", 20 | "sidebarDepth": 2, 21 | "editLink": true, 22 | "editLinkText": "Edit this page", 23 | "lastUpdatedText": "Last Updated", 24 | "contributors": true, 25 | "contributorsText": "Contributors", 26 | "notFound": [ 27 | "There's nothing here.", 28 | "How did we get here?", 29 | "That's a Four-Oh-Four.", 30 | "Looks like we've got some broken links." 31 | ], 32 | "backToHome": "Take me home", 33 | "openInNewWindow": "open in new window", 34 | "toggleDarkMode": "toggle dark mode", 35 | "toggleSidebar": "toggle sidebar" 36 | } 37 | 38 | if (import.meta.webpackHot) { 39 | import.meta.webpackHot.accept() 40 | if (__VUE_HMR_RUNTIME__.updateThemeData) { 41 | __VUE_HMR_RUNTIME__.updateThemeData(themeData) 42 | } 43 | } 44 | 45 | if (import.meta.hot) { 46 | import.meta.hot.accept(({ themeData }) => { 47 | __VUE_HMR_RUNTIME__.updateThemeData(themeData) 48 | }) 49 | } 50 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/404.html.js: -------------------------------------------------------------------------------- 1 | export const data = { 2 | "key": "v-3706649a", 3 | "path": "/404.html", 4 | "title": "", 5 | "lang": "en-US", 6 | "frontmatter": { 7 | "layout": "404" 8 | }, 9 | "excerpt": "", 10 | "headers": [], 11 | "git": {}, 12 | "filePathRelative": null 13 | } 14 | 15 | if (import.meta.webpackHot) { 16 | import.meta.webpackHot.accept() 17 | if (__VUE_HMR_RUNTIME__.updatePageData) { 18 | __VUE_HMR_RUNTIME__.updatePageData(data) 19 | } 20 | } 21 | 22 | if (import.meta.hot) { 23 | import.meta.hot.accept(({ data }) => { 24 | __VUE_HMR_RUNTIME__.updatePageData(data) 25 | }) 26 | } 27 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/404.html.vue: -------------------------------------------------------------------------------- 1 | <template></template> 2 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/READMEasdasd.html.js: -------------------------------------------------------------------------------- 1 | export const data = { 2 | "key": "v-8844c45c", 3 | "path": "/READMEasdasd.html", 4 | "title": "User Manual", 5 | "lang": "en-US", 6 | "frontmatter": { 7 | "lang": "en-US", 8 | "title": "User Manual", 9 | "description": "MetaPro User Manual" 10 | }, 11 | "excerpt": "", 12 | "headers": [ 13 | { 14 | "level": 2, 15 | "title": "Main Interface of MetaPro", 16 | "slug": "main-interface-of-metapro", 17 | "children": [] 18 | }, 19 | { 20 | "level": 2, 21 | "title": "Framework of MetaPro", 22 | "slug": "framework-of-metapro", 23 | "children": [] 24 | }, 25 | { 26 | "level": 2, 27 | "title": "Demo website", 28 | "slug": "demo-website", 29 | "children": [] 30 | }, 31 | { 32 | "level": 2, 33 | "title": "1 General Information", 34 | "slug": "_1-general-information", 35 | "children": [ 36 | { 37 | "level": 3, 38 | "title": "1.1 Scope of MetaPro", 39 | "slug": "_1-1-scope-of-metapro", 40 | "children": [] 41 | }, 42 | { 43 | "level": 3, 44 | "title": "1.2 System conception description", 45 | "slug": "_1-2-system-conception-description", 46 | "children": [] 47 | }, 48 | { 49 | "level": 3, 50 | "title": "1.3 Data restrictions", 51 | "slug": "_1-3-data-restrictions", 52 | "children": [] 53 | }, 54 | { 55 | "level": 3, 56 | "title": "1.4 Data safety", 57 | "slug": "_1-4-data-safety", 58 | "children": [] 59 | }, 60 | { 61 | "level": 3, 62 | "title": "1.5 Contact us", 63 | "slug": "_1-5-contact-us", 64 | "children": [] 65 | } 66 | ] 67 | }, 68 | { 69 | "level": 2, 70 | "title": "2 Installation", 71 | "slug": "_2-installation", 72 | "children": [ 73 | { 74 | "level": 3, 75 | "title": "2.1 System and hardware requirements", 76 | "slug": "_2-1-system-and-hardware-requirements", 77 | "children": [] 78 | }, 79 | { 80 | "level": 3, 81 | "title": "2.2 Download", 82 | "slug": "_2-2-download", 83 | "children": [] 84 | }, 85 | { 86 | "level": 3, 87 | "title": "2.3 One-click installation", 88 | "slug": "_2-3-one-click-installation", 89 | "children": [] 90 | }, 91 | { 92 | "level": 3, 93 | "title": "2.4 Configuration", 94 | "slug": "_2-4-configuration", 95 | "children": [] 96 | }, 97 | { 98 | "level": 3, 99 | "title": "2.5 Associated software", 100 | "slug": "_2-5-associated-software", 101 | "children": [] 102 | } 103 | ] 104 | }, 105 | { 106 | "level": 2, 107 | "title": "3 Page Introduction", 108 | "slug": "_3-page-introduction", 109 | "children": [ 110 | { 111 | "level": 3, 112 | "title": "3.1 Project management page", 113 | "slug": "_3-1-project-management-page", 114 | "children": [] 115 | }, 116 | { 117 | "level": 3, 118 | "title": "3.2 Library management page", 119 | "slug": "_3-2-library-management-page", 120 | "children": [] 121 | }, 122 | { 123 | "level": 3, 124 | "title": "3.3 Method management page", 125 | "slug": "_3-3-method-management-page", 126 | "children": [] 127 | }, 128 | { 129 | "level": 3, 130 | "title": "3.4 Task management page", 131 | "slug": "_3-4-task-management-page", 132 | "children": [] 133 | } 134 | ] 135 | }, 136 | { 137 | "level": 2, 138 | "title": "4 Step by step instructions", 139 | "slug": "_4-step-by-step-instructions", 140 | "children": [ 141 | { 142 | "level": 3, 143 | "title": "4.1 Data preparation", 144 | "slug": "_4-1-data-preparation", 145 | "children": [] 146 | }, 147 | { 148 | "level": 3, 149 | "title": "4.2 Start a targeted analysis task", 150 | "slug": "_4-2-start-a-targeted-analysis-task", 151 | "children": [] 152 | }, 153 | { 154 | "level": 3, 155 | "title": "4.3 Use batch QC inspection page for targeted analysis", 156 | "slug": "_4-3-use-batch-qc-inspection-page-for-targeted-analysis", 157 | "children": [] 158 | }, 159 | { 160 | "level": 3, 161 | "title": "4.4 Spectral Library Curation", 162 | "slug": "_4-4-spectral-library-curation", 163 | "children": [] 164 | }, 165 | { 166 | "level": 3, 167 | "title": "4.5 Export", 168 | "slug": "_4-5-export", 169 | "children": [] 170 | } 171 | ] 172 | }, 173 | { 174 | "level": 2, 175 | "title": "Supplementary", 176 | "slug": "supplementary", 177 | "children": [ 178 | { 179 | "level": 3, 180 | "title": "Performance Optimization", 181 | "slug": "performance-optimization", 182 | "children": [] 183 | } 184 | ] 185 | } 186 | ], 187 | "git": {}, 188 | "filePathRelative": "READMEasdasd.md" 189 | } 190 | 191 | if (import.meta.webpackHot) { 192 | import.meta.webpackHot.accept() 193 | if (__VUE_HMR_RUNTIME__.updatePageData) { 194 | __VUE_HMR_RUNTIME__.updatePageData(data) 195 | } 196 | } 197 | 198 | if (import.meta.hot) { 199 | import.meta.hot.accept(({ data }) => { 200 | __VUE_HMR_RUNTIME__.updatePageData(data) 201 | }) 202 | } 203 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/guide/asd.html.js: -------------------------------------------------------------------------------- 1 | export const data = { 2 | "key": "v-5b05eada", 3 | "path": "/guide/asd.html", 4 | "title": "MetaPro", 5 | "lang": "en-US", 6 | "frontmatter": { 7 | "lang": "en-US", 8 | "title": "MetaPro", 9 | "description": "MetaPro README" 10 | }, 11 | "excerpt": "", 12 | "headers": [ 13 | { 14 | "level": 2, 15 | "title": "Framework", 16 | "slug": "framework", 17 | "children": [] 18 | }, 19 | { 20 | "level": 2, 21 | "title": "Main Interface", 22 | "slug": "main-interface", 23 | "children": [] 24 | }, 25 | { 26 | "level": 2, 27 | "title": "Demo", 28 | "slug": "demo", 29 | "children": [] 30 | }, 31 | { 32 | "level": 2, 33 | "title": "Download", 34 | "slug": "download", 35 | "children": [ 36 | { 37 | "level": 3, 38 | "title": "Software", 39 | "slug": "software", 40 | "children": [] 41 | }, 42 | { 43 | "level": 3, 44 | "title": "Test data and libraries", 45 | "slug": "test-data-and-libraries", 46 | "children": [] 47 | } 48 | ] 49 | }, 50 | { 51 | "level": 2, 52 | "title": "How to install", 53 | "slug": "how-to-install", 54 | "children": [ 55 | { 56 | "level": 3, 57 | "title": "Windows", 58 | "slug": "windows", 59 | "children": [] 60 | }, 61 | { 62 | "level": 3, 63 | "title": "MacOs", 64 | "slug": "macos", 65 | "children": [] 66 | }, 67 | { 68 | "level": 3, 69 | "title": "Linux", 70 | "slug": "linux", 71 | "children": [] 72 | } 73 | ] 74 | }, 75 | { 76 | "level": 2, 77 | "title": "How to use", 78 | "slug": "how-to-use", 79 | "children": [] 80 | } 81 | ], 82 | "git": {}, 83 | "filePathRelative": "guide/asd.md" 84 | } 85 | 86 | if (import.meta.webpackHot) { 87 | import.meta.webpackHot.accept() 88 | if (__VUE_HMR_RUNTIME__.updatePageData) { 89 | __VUE_HMR_RUNTIME__.updatePageData(data) 90 | } 91 | } 92 | 93 | if (import.meta.hot) { 94 | import.meta.hot.accept(({ data }) => { 95 | __VUE_HMR_RUNTIME__.updatePageData(data) 96 | }) 97 | } 98 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/guide/asd.html.vue: -------------------------------------------------------------------------------- 1 | <template> 2 | <h1 id="user-manual" tabindex="-1"> 3 | <a class="header-anchor" href="#user-manual" aria-hidden="true">#</a> 4 | <RouterLink to="/guide/user-manual.html">User Manual</RouterLink> 5 | </h1> 6 | <h2 id="framework" tabindex="-1"> 7 | <a class="header-anchor" href="#framework" aria-hidden="true">#</a> 8 | Framework 9 | </h2> 10 | <p><img src="/images/image_33.png" alt="" /></p> 11 | <hr /> 12 | <h2 id="main-interface" tabindex="-1"> 13 | <a class="header-anchor" href="#main-interface" aria-hidden="true">#</a> 14 | Main Interface 15 | </h2> 16 | <p><img src="/images/Interface.png" alt="" /></p> 17 | <hr /> 18 | <h2 id="demo" tabindex="-1"> 19 | <a class="header-anchor" href="#demo" aria-hidden="true">#</a> Demo 20 | </h2> 21 | <p> 22 | <a href="http://47.88.77.176" target="_blank" rel="noopener noreferrer" 23 | ><code>http://47.88.77.176</code><ExternalLinkIcon 24 | /></a> 25 | </p> 26 | <hr /> 27 | <h2 id="download" tabindex="-1"> 28 | <a class="header-anchor" href="#download" aria-hidden="true">#</a> Download 29 | </h2> 30 | <h3 id="software" tabindex="-1"> 31 | <a class="header-anchor" href="#software" aria-hidden="true">#</a> Software 32 | </h3> 33 | <p> 34 | <a 35 | href="https://github.com/CSi-Studio/AirdPro/releases/tag/1.1" 36 | target="_blank" 37 | rel="noopener noreferrer" 38 | >AirdPro v1.1<ExternalLinkIcon 39 | /></a> 40 | </p> 41 | <p> 42 | <a 43 | href="https://github.com/CSi-Studio/MetaPro/releases/tag/v1.1.8" 44 | target="_blank" 45 | rel="noopener noreferrer" 46 | >MetaPro v1.1.8<ExternalLinkIcon 47 | /></a> 48 | </p> 49 | <h3 id="test-data-and-libraries" tabindex="-1"> 50 | <a class="header-anchor" href="#test-data-and-libraries" aria-hidden="true" 51 | >#</a 52 | > 53 | Test data and libraries 54 | </h3> 55 | <p> 56 | <a 57 | href="https://drive.google.com/drive/folders/1_FAFca5LlqhFWv6U1-UzU9OkqPvGRsBI?usp=sharing" 58 | target="_blank" 59 | rel="noopener noreferrer" 60 | >GoogleDrive<ExternalLinkIcon 61 | /></a> 62 | </p> 63 | <p> 64 | <a 65 | href="https://1drv.ms/u/s!AqS3L_kdjWbKgp43W1l8-GteFvv6ZQ?e=xukUkb" 66 | target="_blank" 67 | rel="noopener noreferrer" 68 | >OneDrive<ExternalLinkIcon 69 | /></a> 70 | </p> 71 | <hr /> 72 | <h2 id="how-to-install" tabindex="-1"> 73 | <a class="header-anchor" href="#how-to-install" aria-hidden="true">#</a> How 74 | to install 75 | </h2> 76 | <blockquote> 77 | <p>Extract MetaPro zip file to any directory you want.</p> 78 | </blockquote> 79 | <blockquote> 80 | <p> 81 | Here we use INSTALLATION_PATH to represent your installation path, for 82 | example <code>C:\</code> 83 | </p> 84 | </blockquote> 85 | <h3 id="windows" tabindex="-1"> 86 | <a class="header-anchor" href="#windows" aria-hidden="true">#</a> Windows 87 | </h3> 88 | <ul> 89 | <li> 90 | <p>Open INSTALLATION_PATH folder</p> 91 | </li> 92 | <li> 93 | <p> 94 | <strong>start:</strong> Right click <code>MetaProStart.bat</code>, run 95 | as administrator. 96 | </p> 97 | <p><strong>Successful operation:</strong></p> 98 | <p> 99 | The following operations appear in the terminal to indicate that the 100 | operation is successful: 101 | <img src="/images/win.png" alt="" /> 102 | <strong>After successful startup, open a browser and connect to</strong> 103 | <strong><code>localhost:8080</code></strong> 104 | </p> 105 | </li> 106 | <li> 107 | <p> 108 | <strong>stop:</strong> Right click <code>MetaProStop.bat</code>, run as 109 | administrator 110 | </p> 111 | </li> 112 | <li> 113 | <p> 114 | <strong>uninstall:</strong> Stop MetaPro and delete the installation 115 | folder. 116 | </p> 117 | </li> 118 | </ul> 119 | <h3 id="macos" tabindex="-1"> 120 | <a class="header-anchor" href="#macos" aria-hidden="true">#</a> MacOs 121 | </h3> 122 | <ul> 123 | <li> 124 | <p>Open a terminal</p> 125 | <div class="language-text ext-text line-numbers-mode"> 126 | <pre v-pre class="language-text"><code>cd INSTALLATION_PATH 127 | cd MetaproForMac 128 | </code></pre> 129 | <div class="line-numbers" aria-hidden="true"> 130 | <span class="line-number">1</span><br /><span class="line-number" 131 | >2</span 132 | ><br /> 133 | </div> 134 | </div> 135 | </li> 136 | <li> 137 | <p>start</p> 138 | <div class="language-text ext-text line-numbers-mode"> 139 | <pre v-pre class="language-text"><code>bash MetaproStart.sh 140 | </code></pre> 141 | <div class="line-numbers" aria-hidden="true"> 142 | <span class="line-number">1</span><br /> 143 | </div> 144 | </div> 145 | <p><strong>Successful operation:</strong></p> 146 | <p> 147 | The following operations appear in the terminal to indicate that the 148 | operation is successful: 149 | </p> 150 | <div class="language-bash ext-sh line-numbers-mode"> 151 | <pre 152 | v-pre 153 | class="language-bash" 154 | ><code>$ <span class="token function">bash</span> ./MetaproStart.sh 155 | /Users/commands/Documents/code/MetaPro/MetaproForMac 156 | ********* Start Redis ********* 157 | /Users/commands/Documents/code/MetaPro/MetaproForMac/redis 158 | ********* Start MongoDB ********* 159 | /Users/commands/Documents/code/MetaPro/MetaproForMac/mongodb 160 | ********* Start Metapro ********* 161 | about to fork child process, waiting <span class="token keyword">until</span> server is ready <span class="token keyword">for</span> connections. 162 | forked process: <span class="token number">94332</span> 163 | 164 | $ child process started successfully, parent exiting 165 | </code></pre> 166 | <div class="line-numbers" aria-hidden="true"> 167 | <span class="line-number">1</span><br /><span class="line-number" 168 | >2</span 169 | ><br /><span class="line-number">3</span><br /><span 170 | class="line-number" 171 | >4</span 172 | ><br /><span class="line-number">5</span><br /><span 173 | class="line-number" 174 | >6</span 175 | ><br /><span class="line-number">7</span><br /><span 176 | class="line-number" 177 | >8</span 178 | ><br /><span class="line-number">9</span><br /><span 179 | class="line-number" 180 | >10</span 181 | ><br /><span class="line-number">11</span><br /> 182 | </div> 183 | </div> 184 | <p> 185 | <strong>After successful startup, open a browser and connect to</strong> 186 | <strong><code>localhost:8080</code></strong> 187 | </p> 188 | </li> 189 | <li> 190 | <p>stop</p> 191 | <div class="language-text ext-text line-numbers-mode"> 192 | <pre v-pre class="language-text"><code>bash MetaproStop.sh 193 | </code></pre> 194 | <div class="line-numbers" aria-hidden="true"> 195 | <span class="line-number">1</span><br /> 196 | </div> 197 | </div> 198 | </li> 199 | <li> 200 | <p>uninstall</p> 201 | <p>Stop MetaPro and delete the installation folder.</p> 202 | </li> 203 | </ul> 204 | <h3 id="linux" tabindex="-1"> 205 | <a class="header-anchor" href="#linux" aria-hidden="true">#</a> Linux 206 | </h3> 207 | <ul> 208 | <li> 209 | <p>Open a terminal</p> 210 | <div class="language-text ext-text line-numbers-mode"> 211 | <pre v-pre class="language-text"><code>cd INSTALLATION_PATH 212 | cd MetaproForUbuntu 213 | </code></pre> 214 | <div class="line-numbers" aria-hidden="true"> 215 | <span class="line-number">1</span><br /><span class="line-number" 216 | >2</span 217 | ><br /> 218 | </div> 219 | </div> 220 | </li> 221 | <li> 222 | <p>start</p> 223 | <div class="language-text ext-text line-numbers-mode"> 224 | <pre v-pre class="language-text"><code>bash MetaproStart.sh 225 | </code></pre> 226 | <div class="line-numbers" aria-hidden="true"> 227 | <span class="line-number">1</span><br /> 228 | </div> 229 | </div> 230 | <p><strong>Successful operation:</strong></p> 231 | <p> 232 | <strong>After successful startup, open a browser and connect to</strong> 233 | <strong><code>localhost:8080</code></strong> 234 | </p> 235 | <p> 236 | The following operations appear in the terminal to indicate that the 237 | operation is successful: 238 | </p> 239 | <div class="language-bash ext-sh line-numbers-mode"> 240 | <pre 241 | v-pre 242 | class="language-bash" 243 | ><code>$ <span class="token function">bash</span> ./MetaproStart.sh 244 | /Users/commands/Documents/code/MetaPro/MetaproForMac 245 | ********* Start Redis ********* 246 | /Users/commands/Documents/code/MetaPro/MetaproForMac/redis 247 | ********* Start MongoDB ********* 248 | /Users/commands/Documents/code/MetaPro/MetaproForMac/mongodb 249 | ********* Start Metapro ********* 250 | about to fork child process, waiting <span class="token keyword">until</span> server is ready <span class="token keyword">for</span> connections. 251 | forked process: <span class="token number">94332</span> 252 | 253 | $ child process started successfully, parent exiting 254 | </code></pre> 255 | <div class="line-numbers" aria-hidden="true"> 256 | <span class="line-number">1</span><br /><span class="line-number" 257 | >2</span 258 | ><br /><span class="line-number">3</span><br /><span 259 | class="line-number" 260 | >4</span 261 | ><br /><span class="line-number">5</span><br /><span 262 | class="line-number" 263 | >6</span 264 | ><br /><span class="line-number">7</span><br /><span 265 | class="line-number" 266 | >8</span 267 | ><br /><span class="line-number">9</span><br /><span 268 | class="line-number" 269 | >10</span 270 | ><br /><span class="line-number">11</span><br /> 271 | </div> 272 | </div> 273 | <p> 274 | <strong>After successful startup, open a browser and connect to</strong> 275 | <strong><code>localhost:8080</code></strong> 276 | </p> 277 | </li> 278 | <li> 279 | <p>stop</p> 280 | <div class="language-text ext-text line-numbers-mode"> 281 | <pre v-pre class="language-text"><code>bash MetaproStop.sh 282 | </code></pre> 283 | <div class="line-numbers" aria-hidden="true"> 284 | <span class="line-number">1</span><br /> 285 | </div> 286 | </div> 287 | </li> 288 | <li> 289 | <p>uninstall: Stop MetaPro and delete the installation folder.</p> 290 | </li> 291 | </ul> 292 | <hr /> 293 | <h2 id="how-to-use" tabindex="-1"> 294 | <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a> How to 295 | use 296 | </h2> 297 | <p><RouterLink to="/guide/user-manual.html">UserMantal</RouterLink></p> 298 | </template> 299 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/guide/index.html.js: -------------------------------------------------------------------------------- 1 | export const data = { 2 | "key": "v-fffb8e28", 3 | "path": "/guide/", 4 | "title": "User Manual", 5 | "lang": "en-US", 6 | "frontmatter": { 7 | "lang": "en-US", 8 | "title": "User Manual", 9 | "description": "MetaPro User Manual" 10 | }, 11 | "excerpt": "", 12 | "headers": [ 13 | { 14 | "level": 2, 15 | "title": "Main Interface of MetaPro", 16 | "slug": "main-interface-of-metapro", 17 | "children": [] 18 | }, 19 | { 20 | "level": 2, 21 | "title": "Framework of MetaPro", 22 | "slug": "framework-of-metapro", 23 | "children": [] 24 | }, 25 | { 26 | "level": 2, 27 | "title": "Demo website", 28 | "slug": "demo-website", 29 | "children": [] 30 | }, 31 | { 32 | "level": 2, 33 | "title": "1 General Information", 34 | "slug": "_1-general-information", 35 | "children": [ 36 | { 37 | "level": 3, 38 | "title": "1.1 Scope of MetaPro", 39 | "slug": "_1-1-scope-of-metapro", 40 | "children": [] 41 | }, 42 | { 43 | "level": 3, 44 | "title": "1.2 System conception description", 45 | "slug": "_1-2-system-conception-description", 46 | "children": [] 47 | }, 48 | { 49 | "level": 3, 50 | "title": "1.3 Data restrictions", 51 | "slug": "_1-3-data-restrictions", 52 | "children": [] 53 | }, 54 | { 55 | "level": 3, 56 | "title": "1.4 Data safety", 57 | "slug": "_1-4-data-safety", 58 | "children": [] 59 | }, 60 | { 61 | "level": 3, 62 | "title": "1.5 Contact us", 63 | "slug": "_1-5-contact-us", 64 | "children": [] 65 | } 66 | ] 67 | }, 68 | { 69 | "level": 2, 70 | "title": "2 Installation", 71 | "slug": "_2-installation", 72 | "children": [ 73 | { 74 | "level": 3, 75 | "title": "2.1 System and hardware requirements", 76 | "slug": "_2-1-system-and-hardware-requirements", 77 | "children": [] 78 | }, 79 | { 80 | "level": 3, 81 | "title": "2.2 Download", 82 | "slug": "_2-2-download", 83 | "children": [] 84 | }, 85 | { 86 | "level": 3, 87 | "title": "2.3 One-click installation", 88 | "slug": "_2-3-one-click-installation", 89 | "children": [] 90 | }, 91 | { 92 | "level": 3, 93 | "title": "2.4 Configuration", 94 | "slug": "_2-4-configuration", 95 | "children": [] 96 | }, 97 | { 98 | "level": 3, 99 | "title": "2.5 Associated software", 100 | "slug": "_2-5-associated-software", 101 | "children": [] 102 | } 103 | ] 104 | }, 105 | { 106 | "level": 2, 107 | "title": "3 Page Introduction", 108 | "slug": "_3-page-introduction", 109 | "children": [ 110 | { 111 | "level": 3, 112 | "title": "3.1 Project management page", 113 | "slug": "_3-1-project-management-page", 114 | "children": [] 115 | }, 116 | { 117 | "level": 3, 118 | "title": "3.2 Library management page", 119 | "slug": "_3-2-library-management-page", 120 | "children": [] 121 | }, 122 | { 123 | "level": 3, 124 | "title": "3.3 Method management page", 125 | "slug": "_3-3-method-management-page", 126 | "children": [] 127 | }, 128 | { 129 | "level": 3, 130 | "title": "3.4 Task management page", 131 | "slug": "_3-4-task-management-page", 132 | "children": [] 133 | } 134 | ] 135 | }, 136 | { 137 | "level": 2, 138 | "title": "4 Step by step instructions", 139 | "slug": "_4-step-by-step-instructions", 140 | "children": [ 141 | { 142 | "level": 3, 143 | "title": "4.1 Data preparation", 144 | "slug": "_4-1-data-preparation", 145 | "children": [] 146 | }, 147 | { 148 | "level": 3, 149 | "title": "4.2 Start a targeted analysis task", 150 | "slug": "_4-2-start-a-targeted-analysis-task", 151 | "children": [] 152 | }, 153 | { 154 | "level": 3, 155 | "title": "4.3 Use batch QC inspection page for targeted analysis", 156 | "slug": "_4-3-use-batch-qc-inspection-page-for-targeted-analysis", 157 | "children": [] 158 | }, 159 | { 160 | "level": 3, 161 | "title": "4.4 Spectral Library Curation", 162 | "slug": "_4-4-spectral-library-curation", 163 | "children": [] 164 | }, 165 | { 166 | "level": 3, 167 | "title": "4.5 Export", 168 | "slug": "_4-5-export", 169 | "children": [] 170 | } 171 | ] 172 | }, 173 | { 174 | "level": 2, 175 | "title": "Supplementary", 176 | "slug": "supplementary", 177 | "children": [ 178 | { 179 | "level": 3, 180 | "title": "Performance Optimization", 181 | "slug": "performance-optimization", 182 | "children": [] 183 | } 184 | ] 185 | } 186 | ], 187 | "git": {}, 188 | "filePathRelative": "guide/README.md" 189 | } 190 | 191 | if (import.meta.webpackHot) { 192 | import.meta.webpackHot.accept() 193 | if (__VUE_HMR_RUNTIME__.updatePageData) { 194 | __VUE_HMR_RUNTIME__.updatePageData(data) 195 | } 196 | } 197 | 198 | if (import.meta.hot) { 199 | import.meta.hot.accept(({ data }) => { 200 | __VUE_HMR_RUNTIME__.updatePageData(data) 201 | }) 202 | } 203 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/guide/user-manual.html.js: -------------------------------------------------------------------------------- 1 | export const data = { 2 | "key": "v-63806a86", 3 | "path": "/guide/user-manual.html", 4 | "title": "User Manual", 5 | "lang": "en-US", 6 | "frontmatter": { 7 | "lang": "en-US", 8 | "title": "User Manual", 9 | "description": "MetaPro User Manual" 10 | }, 11 | "excerpt": "", 12 | "headers": [ 13 | { 14 | "level": 2, 15 | "title": "Main Interface of MetaPro", 16 | "slug": "main-interface-of-metapro", 17 | "children": [] 18 | }, 19 | { 20 | "level": 2, 21 | "title": "Framework of MetaPro", 22 | "slug": "framework-of-metapro", 23 | "children": [] 24 | }, 25 | { 26 | "level": 2, 27 | "title": "Demo website", 28 | "slug": "demo-website", 29 | "children": [] 30 | }, 31 | { 32 | "level": 2, 33 | "title": "1 General Information", 34 | "slug": "_1-general-information", 35 | "children": [ 36 | { 37 | "level": 3, 38 | "title": "1.1 Scope of MetaPro", 39 | "slug": "_1-1-scope-of-metapro", 40 | "children": [] 41 | }, 42 | { 43 | "level": 3, 44 | "title": "1.2 System conception description", 45 | "slug": "_1-2-system-conception-description", 46 | "children": [] 47 | }, 48 | { 49 | "level": 3, 50 | "title": "1.3 Data restrictions", 51 | "slug": "_1-3-data-restrictions", 52 | "children": [] 53 | }, 54 | { 55 | "level": 3, 56 | "title": "1.4 Data safety", 57 | "slug": "_1-4-data-safety", 58 | "children": [] 59 | }, 60 | { 61 | "level": 3, 62 | "title": "1.5 Contact us", 63 | "slug": "_1-5-contact-us", 64 | "children": [] 65 | } 66 | ] 67 | }, 68 | { 69 | "level": 2, 70 | "title": "2 Installation", 71 | "slug": "_2-installation", 72 | "children": [ 73 | { 74 | "level": 3, 75 | "title": "2.1 System and hardware requirements", 76 | "slug": "_2-1-system-and-hardware-requirements", 77 | "children": [] 78 | }, 79 | { 80 | "level": 3, 81 | "title": "2.2 Download", 82 | "slug": "_2-2-download", 83 | "children": [] 84 | }, 85 | { 86 | "level": 3, 87 | "title": "2.3 One-click installation", 88 | "slug": "_2-3-one-click-installation", 89 | "children": [] 90 | }, 91 | { 92 | "level": 3, 93 | "title": "2.4 Configuration", 94 | "slug": "_2-4-configuration", 95 | "children": [] 96 | }, 97 | { 98 | "level": 3, 99 | "title": "2.5 Associated software", 100 | "slug": "_2-5-associated-software", 101 | "children": [] 102 | } 103 | ] 104 | }, 105 | { 106 | "level": 2, 107 | "title": "3 Page Introduction", 108 | "slug": "_3-page-introduction", 109 | "children": [ 110 | { 111 | "level": 3, 112 | "title": "3.1 Project management page", 113 | "slug": "_3-1-project-management-page", 114 | "children": [] 115 | }, 116 | { 117 | "level": 3, 118 | "title": "3.2 Library management page", 119 | "slug": "_3-2-library-management-page", 120 | "children": [] 121 | }, 122 | { 123 | "level": 3, 124 | "title": "3.3 Method management page", 125 | "slug": "_3-3-method-management-page", 126 | "children": [] 127 | }, 128 | { 129 | "level": 3, 130 | "title": "3.4 Task management page", 131 | "slug": "_3-4-task-management-page", 132 | "children": [] 133 | } 134 | ] 135 | }, 136 | { 137 | "level": 2, 138 | "title": "4 Step by step instructions", 139 | "slug": "_4-step-by-step-instructions", 140 | "children": [ 141 | { 142 | "level": 3, 143 | "title": "4.1 Data preparation", 144 | "slug": "_4-1-data-preparation", 145 | "children": [] 146 | }, 147 | { 148 | "level": 3, 149 | "title": "4.2 Start a targeted analysis task", 150 | "slug": "_4-2-start-a-targeted-analysis-task", 151 | "children": [] 152 | }, 153 | { 154 | "level": 3, 155 | "title": "4.3 Use batch QC inspection page for targeted analysis", 156 | "slug": "_4-3-use-batch-qc-inspection-page-for-targeted-analysis", 157 | "children": [] 158 | }, 159 | { 160 | "level": 3, 161 | "title": "4.4 Spectral Library Curation", 162 | "slug": "_4-4-spectral-library-curation", 163 | "children": [] 164 | }, 165 | { 166 | "level": 3, 167 | "title": "4.5 Export", 168 | "slug": "_4-5-export", 169 | "children": [] 170 | } 171 | ] 172 | }, 173 | { 174 | "level": 2, 175 | "title": "Supplementary", 176 | "slug": "supplementary", 177 | "children": [ 178 | { 179 | "level": 3, 180 | "title": "Performance Optimization", 181 | "slug": "performance-optimization", 182 | "children": [] 183 | } 184 | ] 185 | } 186 | ], 187 | "git": { 188 | "contributors": [ 189 | { 190 | "name": "JW", 191 | "email": "wanglihuaya@outlook.com", 192 | "commits": 2 193 | } 194 | ] 195 | }, 196 | "filePathRelative": "guide/user-manual.md" 197 | } 198 | 199 | if (import.meta.webpackHot) { 200 | import.meta.webpackHot.accept() 201 | if (__VUE_HMR_RUNTIME__.updatePageData) { 202 | __VUE_HMR_RUNTIME__.updatePageData(data) 203 | } 204 | } 205 | 206 | if (import.meta.hot) { 207 | import.meta.hot.accept(({ data }) => { 208 | __VUE_HMR_RUNTIME__.updatePageData(data) 209 | }) 210 | } 211 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/index.html.js: -------------------------------------------------------------------------------- 1 | export const data = { 2 | "key": "v-8daa1a0e", 3 | "path": "/", 4 | "title": "README", 5 | "lang": "en-US", 6 | "frontmatter": {}, 7 | "excerpt": "", 8 | "headers": [ 9 | { 10 | "level": 2, 11 | "title": "User Manual", 12 | "slug": "user-manual", 13 | "children": [] 14 | }, 15 | { 16 | "level": 2, 17 | "title": "Framework", 18 | "slug": "framework", 19 | "children": [] 20 | }, 21 | { 22 | "level": 2, 23 | "title": "Main Interface", 24 | "slug": "main-interface", 25 | "children": [] 26 | }, 27 | { 28 | "level": 2, 29 | "title": "Demo", 30 | "slug": "demo", 31 | "children": [] 32 | }, 33 | { 34 | "level": 2, 35 | "title": "Download", 36 | "slug": "download", 37 | "children": [ 38 | { 39 | "level": 3, 40 | "title": "Software", 41 | "slug": "software", 42 | "children": [] 43 | }, 44 | { 45 | "level": 3, 46 | "title": "Test data and libraries", 47 | "slug": "test-data-and-libraries", 48 | "children": [] 49 | } 50 | ] 51 | }, 52 | { 53 | "level": 2, 54 | "title": "How to install", 55 | "slug": "how-to-install", 56 | "children": [ 57 | { 58 | "level": 3, 59 | "title": "Windows", 60 | "slug": "windows", 61 | "children": [] 62 | }, 63 | { 64 | "level": 3, 65 | "title": "MacOs", 66 | "slug": "macos", 67 | "children": [] 68 | }, 69 | { 70 | "level": 3, 71 | "title": "Linux", 72 | "slug": "linux", 73 | "children": [] 74 | } 75 | ] 76 | }, 77 | { 78 | "level": 2, 79 | "title": "How to use", 80 | "slug": "how-to-use", 81 | "children": [] 82 | } 83 | ], 84 | "git": { 85 | "contributors": [ 86 | { 87 | "name": "JW", 88 | "email": "wanglihuaya@outlook.com", 89 | "commits": 3 90 | } 91 | ] 92 | }, 93 | "filePathRelative": "README.md" 94 | } 95 | 96 | if (import.meta.webpackHot) { 97 | import.meta.webpackHot.accept() 98 | if (__VUE_HMR_RUNTIME__.updatePageData) { 99 | __VUE_HMR_RUNTIME__.updatePageData(data) 100 | } 101 | } 102 | 103 | if (import.meta.hot) { 104 | import.meta.hot.accept(({ data }) => { 105 | __VUE_HMR_RUNTIME__.updatePageData(data) 106 | }) 107 | } 108 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/index.html.vue: -------------------------------------------------------------------------------- 1 | <template><!-- --- 2 | lang: en-US 3 | title: MetaPro 4 | description: MetaPro README 5 | --- --> 6 | <h1 id="readme" tabindex="-1"><a class="header-anchor" href="#readme" aria-hidden="true">#</a> README</h1> 7 | <h2 id="user-manual" tabindex="-1"><a class="header-anchor" href="#user-manual" aria-hidden="true">#</a> User Manual</h2> 8 | <p><RouterLink to="/guide/user-manual.html">MetaPro User Manual</RouterLink></p> 9 | <h2 id="framework" tabindex="-1"><a class="header-anchor" href="#framework" aria-hidden="true">#</a> Framework</h2> 10 | <p><img src="/images/image_33.png" alt=""></p> 11 | <hr> 12 | <h2 id="main-interface" tabindex="-1"><a class="header-anchor" href="#main-interface" aria-hidden="true">#</a> Main Interface</h2> 13 | <p><img src="/images/image_34.png" alt=""></p> 14 | <hr> 15 | <h2 id="demo" tabindex="-1"><a class="header-anchor" href="#demo" aria-hidden="true">#</a> Demo</h2> 16 | <p><a href="http://47.88.77.176" target="_blank" rel="noopener noreferrer"><code>http://47.88.77.176</code><ExternalLinkIcon/></a></p> 17 | <hr> 18 | <h2 id="download" tabindex="-1"><a class="header-anchor" href="#download" aria-hidden="true">#</a> Download</h2> 19 | <h3 id="software" tabindex="-1"><a class="header-anchor" href="#software" aria-hidden="true">#</a> Software</h3> 20 | <p><a href="https://github.com/CSi-Studio/AirdPro/releases/tag/1.1" target="_blank" rel="noopener noreferrer">AirdPro v1.1<ExternalLinkIcon/></a></p> 21 | <p><a href="https://github.com/CSi-Studio/MetaPro/releases/tag/v1.1.8" target="_blank" rel="noopener noreferrer">MetaPro v1.1.8<ExternalLinkIcon/></a></p> 22 | <h3 id="test-data-and-libraries" tabindex="-1"><a class="header-anchor" href="#test-data-and-libraries" aria-hidden="true">#</a> Test data and libraries</h3> 23 | <p><a href="https://drive.google.com/drive/folders/1_FAFca5LlqhFWv6U1-UzU9OkqPvGRsBI?usp=sharing" target="_blank" rel="noopener noreferrer">GoogleDrive<ExternalLinkIcon/></a></p> 24 | <p><a href="https://1drv.ms/u/s!AqS3L_kdjWbKgp43W1l8-GteFvv6ZQ?e=xukUkb" target="_blank" rel="noopener noreferrer">OneDrive<ExternalLinkIcon/></a></p> 25 | <hr> 26 | <h2 id="how-to-install" tabindex="-1"><a class="header-anchor" href="#how-to-install" aria-hidden="true">#</a> How to install</h2> 27 | <blockquote> 28 | <p>Extract MetaPro zip file to any directory you want.</p> 29 | </blockquote> 30 | <blockquote> 31 | <p>Here we use INSTALLATION_PATH to represent your installation path, for example <code>C:\</code></p> 32 | </blockquote> 33 | <h3 id="windows" tabindex="-1"><a class="header-anchor" href="#windows" aria-hidden="true">#</a> Windows</h3> 34 | <ul> 35 | <li> 36 | <p>Open INSTALLATION_PATH folder</p> 37 | </li> 38 | <li> 39 | <p><strong>start:</strong> Right click <code>MetaProStart.bat</code>, run as administrator.</p> 40 | <p><strong>Successful operation:</strong></p> 41 | <p>The following operations appear in the terminal to indicate that the operation is successful: 42 | <img src="/images/win.png" alt=""> 43 | <strong>After successful startup, open a browser and connect to</strong> <strong><code>localhost:8080</code></strong></p> 44 | </li> 45 | <li> 46 | <p><strong>stop:</strong> Right click <code>MetaProStop.bat</code>, run as administrator</p> 47 | </li> 48 | <li> 49 | <p><strong>uninstall:</strong> Stop MetaPro and delete the installation folder.</p> 50 | </li> 51 | </ul> 52 | <h3 id="macos" tabindex="-1"><a class="header-anchor" href="#macos" aria-hidden="true">#</a> MacOs</h3> 53 | <ul> 54 | <li> 55 | <p>Open a terminal</p> 56 | <div class="language-text ext-text line-numbers-mode"><pre v-pre class="language-text"><code>cd INSTALLATION_PATH 57 | cd MetaproForMac 58 | </code></pre><div class="line-numbers" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div></li> 59 | <li> 60 | <p>start</p> 61 | <div class="language-text ext-text line-numbers-mode"><pre v-pre class="language-text"><code>bash MetaproStart.sh 62 | </code></pre><div class="line-numbers" aria-hidden="true"><span class="line-number">1</span><br></div></div><p><strong>Successful operation:</strong></p> 63 | <p>The following operations appear in the terminal to indicate that the operation is successful:</p> 64 | <div class="language-bash ext-sh line-numbers-mode"><pre v-pre class="language-bash"><code>$ <span class="token function">bash</span> ./MetaproStart.sh 65 | /Users/commands/Documents/code/MetaPro/MetaproForMac 66 | ********* Start Redis ********* 67 | /Users/commands/Documents/code/MetaPro/MetaproForMac/redis 68 | ********* Start MongoDB ********* 69 | /Users/commands/Documents/code/MetaPro/MetaproForMac/mongodb 70 | ********* Start Metapro ********* 71 | about to fork child process, waiting <span class="token keyword">until</span> server is ready <span class="token keyword">for</span> connections. 72 | forked process: <span class="token number">94332</span> 73 | 74 | $ child process started successfully, parent exiting 75 | </code></pre><div class="line-numbers" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div><p><strong>After successful startup, open a browser and connect to</strong> <strong><code>localhost:8080</code></strong></p> 76 | </li> 77 | <li> 78 | <p>stop</p> 79 | <div class="language-text ext-text line-numbers-mode"><pre v-pre class="language-text"><code>bash MetaproStop.sh 80 | </code></pre><div class="line-numbers" aria-hidden="true"><span class="line-number">1</span><br></div></div></li> 81 | <li> 82 | <p>uninstall</p> 83 | <p>Stop MetaPro and delete the installation folder.</p> 84 | </li> 85 | </ul> 86 | <h3 id="linux" tabindex="-1"><a class="header-anchor" href="#linux" aria-hidden="true">#</a> Linux</h3> 87 | <ul> 88 | <li> 89 | <p>Open a terminal</p> 90 | <div class="language-text ext-text line-numbers-mode"><pre v-pre class="language-text"><code>cd INSTALLATION_PATH 91 | cd MetaproForUbuntu 92 | </code></pre><div class="line-numbers" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div></li> 93 | <li> 94 | <p>start</p> 95 | <div class="language-text ext-text line-numbers-mode"><pre v-pre class="language-text"><code>bash MetaproStart.sh 96 | </code></pre><div class="line-numbers" aria-hidden="true"><span class="line-number">1</span><br></div></div><p><strong>Successful operation:</strong></p> 97 | <p><strong>After successful startup, open a browser and connect to</strong> <strong><code>localhost:8080</code></strong></p> 98 | <p>The following operations appear in the terminal to indicate that the operation is successful:</p> 99 | <div class="language-bash ext-sh line-numbers-mode"><pre v-pre class="language-bash"><code>$ <span class="token function">bash</span> ./MetaproStart.sh 100 | /Users/commands/Documents/code/MetaPro/MetaproForMac 101 | ********* Start Redis ********* 102 | /Users/commands/Documents/code/MetaPro/MetaproForMac/redis 103 | ********* Start MongoDB ********* 104 | /Users/commands/Documents/code/MetaPro/MetaproForMac/mongodb 105 | ********* Start Metapro ********* 106 | about to fork child process, waiting <span class="token keyword">until</span> server is ready <span class="token keyword">for</span> connections. 107 | forked process: <span class="token number">94332</span> 108 | 109 | $ child process started successfully, parent exiting 110 | </code></pre><div class="line-numbers" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div><p><strong>After successful startup, open a browser and connect to</strong> <strong><code>localhost:8080</code></strong></p> 111 | </li> 112 | <li> 113 | <p>stop</p> 114 | <div class="language-text ext-text line-numbers-mode"><pre v-pre class="language-text"><code>bash MetaproStop.sh 115 | </code></pre><div class="line-numbers" aria-hidden="true"><span class="line-number">1</span><br></div></div></li> 116 | <li> 117 | <p>uninstall: Stop MetaPro and delete the installation folder.</p> 118 | </li> 119 | </ul> 120 | <hr> 121 | <h2 id="how-to-use" tabindex="-1"><a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a> How to use</h2> 122 | <p><RouterLink to="/guide/user-manual.html">UserManual</RouterLink></p> 123 | </template> 124 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/pages/user-manual.html.js: -------------------------------------------------------------------------------- 1 | export const data = { 2 | "key": "v-3b54caca", 3 | "path": "/user-manual.html", 4 | "title": "User Manual", 5 | "lang": "en-US", 6 | "frontmatter": { 7 | "lang": "en-US", 8 | "title": "User Manual", 9 | "home": true, 10 | "description": "MetaPro User Manual" 11 | }, 12 | "excerpt": "", 13 | "headers": [ 14 | { 15 | "level": 2, 16 | "title": "Main Interface of MetaPro", 17 | "slug": "main-interface-of-metapro", 18 | "children": [] 19 | }, 20 | { 21 | "level": 2, 22 | "title": "Framework of MetaPro", 23 | "slug": "framework-of-metapro", 24 | "children": [] 25 | }, 26 | { 27 | "level": 2, 28 | "title": "Demo website", 29 | "slug": "demo-website", 30 | "children": [] 31 | }, 32 | { 33 | "level": 2, 34 | "title": "1 General Information", 35 | "slug": "_1-general-information", 36 | "children": [ 37 | { 38 | "level": 3, 39 | "title": "1.1 Scope of MetaPro", 40 | "slug": "_1-1-scope-of-metapro", 41 | "children": [] 42 | }, 43 | { 44 | "level": 3, 45 | "title": "1.2 System conception description", 46 | "slug": "_1-2-system-conception-description", 47 | "children": [] 48 | }, 49 | { 50 | "level": 3, 51 | "title": "1.3 Data restrictions", 52 | "slug": "_1-3-data-restrictions", 53 | "children": [] 54 | }, 55 | { 56 | "level": 3, 57 | "title": "1.4 Data safety", 58 | "slug": "_1-4-data-safety", 59 | "children": [] 60 | }, 61 | { 62 | "level": 3, 63 | "title": "1.5 Contact us", 64 | "slug": "_1-5-contact-us", 65 | "children": [] 66 | } 67 | ] 68 | }, 69 | { 70 | "level": 2, 71 | "title": "2 Installation", 72 | "slug": "_2-installation", 73 | "children": [ 74 | { 75 | "level": 3, 76 | "title": "2.1 System and hardware requirements", 77 | "slug": "_2-1-system-and-hardware-requirements", 78 | "children": [] 79 | }, 80 | { 81 | "level": 3, 82 | "title": "2.2 Download", 83 | "slug": "_2-2-download", 84 | "children": [] 85 | }, 86 | { 87 | "level": 3, 88 | "title": "2.3 One-click installation", 89 | "slug": "_2-3-one-click-installation", 90 | "children": [] 91 | }, 92 | { 93 | "level": 3, 94 | "title": "2.4 Configuration", 95 | "slug": "_2-4-configuration", 96 | "children": [] 97 | }, 98 | { 99 | "level": 3, 100 | "title": "2.5 Associated software", 101 | "slug": "_2-5-associated-software", 102 | "children": [] 103 | } 104 | ] 105 | }, 106 | { 107 | "level": 2, 108 | "title": "3 Page Introduction", 109 | "slug": "_3-page-introduction", 110 | "children": [ 111 | { 112 | "level": 3, 113 | "title": "3.1 Project management page", 114 | "slug": "_3-1-project-management-page", 115 | "children": [] 116 | }, 117 | { 118 | "level": 3, 119 | "title": "3.2 Library management page", 120 | "slug": "_3-2-library-management-page", 121 | "children": [] 122 | }, 123 | { 124 | "level": 3, 125 | "title": "3.3 Method management page", 126 | "slug": "_3-3-method-management-page", 127 | "children": [] 128 | }, 129 | { 130 | "level": 3, 131 | "title": "3.4 Task management page", 132 | "slug": "_3-4-task-management-page", 133 | "children": [] 134 | } 135 | ] 136 | }, 137 | { 138 | "level": 2, 139 | "title": "4 Step by step instructions", 140 | "slug": "_4-step-by-step-instructions", 141 | "children": [ 142 | { 143 | "level": 3, 144 | "title": "4.1 Data preparation", 145 | "slug": "_4-1-data-preparation", 146 | "children": [] 147 | }, 148 | { 149 | "level": 3, 150 | "title": "4.2 Start a targeted analysis task", 151 | "slug": "_4-2-start-a-targeted-analysis-task", 152 | "children": [] 153 | }, 154 | { 155 | "level": 3, 156 | "title": "4.3 Use batch QC inspection page for targeted analysis", 157 | "slug": "_4-3-use-batch-qc-inspection-page-for-targeted-analysis", 158 | "children": [] 159 | }, 160 | { 161 | "level": 3, 162 | "title": "4.4 Spectral Library Curation", 163 | "slug": "_4-4-spectral-library-curation", 164 | "children": [] 165 | }, 166 | { 167 | "level": 3, 168 | "title": "4.5 Export", 169 | "slug": "_4-5-export", 170 | "children": [] 171 | } 172 | ] 173 | }, 174 | { 175 | "level": 2, 176 | "title": "Supplementary", 177 | "slug": "supplementary", 178 | "children": [ 179 | { 180 | "level": 3, 181 | "title": "Performance Optimization", 182 | "slug": "performance-optimization", 183 | "children": [] 184 | } 185 | ] 186 | } 187 | ], 188 | "git": {}, 189 | "filePathRelative": "user-manual.md" 190 | } 191 | 192 | if (import.meta.webpackHot) { 193 | import.meta.webpackHot.accept() 194 | if (__VUE_HMR_RUNTIME__.updatePageData) { 195 | __VUE_HMR_RUNTIME__.updatePageData(data) 196 | } 197 | } 198 | 199 | if (import.meta.hot) { 200 | import.meta.hot.accept(({ data }) => { 201 | __VUE_HMR_RUNTIME__.updatePageData(data) 202 | }) 203 | } 204 | -------------------------------------------------------------------------------- /docs/.vuepress/.temp/styles/index.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/.temp/styles/index.scss -------------------------------------------------------------------------------- /docs/.vuepress/.temp/styles/palette.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/.temp/styles/palette.scss -------------------------------------------------------------------------------- /docs/.vuepress/.temp/vite-root/index.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html lang="en"> 3 | <head> 4 | <meta charset="utf-8"> 5 | <meta name="viewport" content="width=device-width,initial-scale=1"> 6 | </head> 7 | <body> 8 | <div id="app"></div> 9 | <script type="module"> 10 | import '@vuepress/client/lib/app.js' 11 | </script> 12 | </body> 13 | </html> 14 | -------------------------------------------------------------------------------- /docs/.vuepress/config.ts: -------------------------------------------------------------------------------- 1 | import { defineUserConfig } from 'vuepress' 2 | import type { DefaultThemeOptions } from 'vuepress' 3 | 4 | export default defineUserConfig<DefaultThemeOptions>({ 5 | // 站点配置 6 | lang: 'en-US', 7 | title: 'MetaPro', 8 | description: 'MetaPro User Manual', 9 | base: '/MetaPro/', 10 | head: [['link', { rel: 'icon', href: '/images/logo.png' }]], 11 | // 主题和它的配置 12 | theme: '@vuepress/theme-default', 13 | themeConfig: { 14 | logo: '/images/logo.png', 15 | lastUpdated: false, 16 | // home: '/user-manual', 17 | repo: 'https://github.com/CSi-Studio/MetaPro', 18 | navbar: [ 19 | { 20 | text: 'UserManual', 21 | link: '/guide/user-manual.md', 22 | }, 23 | ], 24 | }, 25 | }) 26 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/404.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html lang="en-US"> 3 | <head> 4 | <meta charset="utf-8"> 5 | <meta name="viewport" content="width=device-width,initial-scale=1"> 6 | <meta name="generator" content="VuePress 2.0.0-beta.36"> 7 | <style> 8 | :root { 9 | --c-bg: #fff; 10 | } 11 | html.dark { 12 | --c-bg: #22272e; 13 | } 14 | html, body { 15 | background-color: var(--c-bg); 16 | } 17 | </style> 18 | <script> 19 | const userMode = localStorage.getItem('vuepress-color-scheme'); 20 | const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; 21 | if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) { 22 | document.documentElement.classList.toggle('dark', true); 23 | } 24 | </script> 25 | <link rel="icon" href="/images/logo.png"><title>MetaPro 26 | 27 | 28 | 29 | 30 |

404

There's nothing here.
Take me home
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/404.a17b6b2d.js: -------------------------------------------------------------------------------- 1 | import{f as i,u as _,g as p,r as f,o as k,c as v,a as o,t as c,b as L,w as g,h as l,d as x}from"./app.f8722cdd.js";const B={class:"theme-container"},N={class:"theme-default-content"},T=o("h1",null,"404",-1),V=i({setup(b){var a,s,n;const u=_(),e=p(),t=(a=e.value.notFound)!=null?a:["Not Found"],r=()=>t[Math.floor(Math.random()*t.length)],h=(s=e.value.home)!=null?s:u.value,m=(n=e.value.backToHome)!=null?n:"Back to home";return(C,M)=>{const d=f("RouterLink");return k(),v("div",B,[o("div",N,[T,o("blockquote",null,c(r()),1),L(d,{to:l(h)},{default:g(()=>[x(c(l(m)),1)]),_:1},8,["to"])])])}}});export{V as default}; 2 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/404.html.bee13de6.js: -------------------------------------------------------------------------------- 1 | import{_ as r}from"./plugin-vue_export-helper.21dcd24c.js";const _={};function e(t,c){return null}var a=r(_,[["render",e]]);export{a as default}; 2 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/404.html.f166316b.js: -------------------------------------------------------------------------------- 1 | const t={key:"v-3706649a",path:"/404.html",title:"",lang:"en-US",frontmatter:{layout:"404"},excerpt:"",headers:[],git:{},filePathRelative:null};export{t as data}; 2 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/Layout.01130744.js: -------------------------------------------------------------------------------- 1 | var Be=Object.defineProperty,Me=Object.defineProperties;var De=Object.getOwnPropertyDescriptors;var de=Object.getOwnPropertySymbols;var Ne=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable;var ve=(l,t,e)=>t in l?Be(l,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[t]=e,X=(l,t)=>{for(var e in t||(t={}))Ne.call(t,e)&&ve(l,e,t[e]);if(de)for(var e of de(t))Ee.call(t,e)&&ve(l,e,t[e]);return l},Y=(l,t)=>Me(l,De(t));import{r as R,o as a,c,b as $,f as x,i as I,j as p,k as _e,h as n,F as D,l as A,m as w,a as g,t as T,n as G,p as J,q as C,w as B,s as pe,v as y,d as U,x as q,y as Ie,z as Pe,A as Re,B as Q,C as Z,D as V,E as fe,G as me,H as P,u as be,g as M,T as ge,I as O,J as Ae,K as j,L as K,M as He,N as Oe,O as ee,P as ke,Q as $e,e as ze,R as Le,S as Fe,U as W,V as te,W as We,X as Ue,Y as Ve,Z as je}from"./app.f8722cdd.js";import{_ as Ke}from"./plugin-vue_export-helper.21dcd24c.js";const Ge={},qe={class:"theme-default-content custom"};function Xe(l,t){const e=R("Content");return a(),c("div",qe,[$(e)])}var Ye=Ke(Ge,[["render",Xe]]);const Je={key:0,class:"features"},Qe=x({setup(l){const t=I(),e=p(()=>_e(t.value.features)?t.value.features:[]);return(i,r)=>n(e).length?(a(),c("div",Je,[(a(!0),c(D,null,A(n(e),_=>(a(),c("div",{key:_.title,class:"feature"},[g("h2",null,T(_.title),1),g("p",null,T(_.details),1)]))),128))])):w("",!0)}}),Ze=["innerHTML"],et=["textContent"],tt=x({setup(l){const t=I(),e=p(()=>t.value.footer),i=p(()=>t.value.footerHtml);return(r,_)=>n(e)?(a(),c(D,{key:0},[n(i)?(a(),c("div",{key:0,class:"footer",innerHTML:n(e)},null,8,Ze)):(a(),c("div",{key:1,class:"footer",textContent:T(n(e))},null,8,et))],64)):w("",!0)}}),nt=["href","rel","target","aria-label"],at=x({inheritAttrs:!1}),E=x(Y(X({},at),{props:{item:{type:Object,required:!0}},setup(l){const t=l,e=G(),i=Re(),{item:r}=J(t),_=p(()=>q(r.value.link)),f=p(()=>Ie(r.value.link)||Pe(r.value.link)),h=p(()=>{if(!f.value){if(r.value.target)return r.value.target;if(_.value)return"_blank"}}),s=p(()=>h.value==="_blank"),o=p(()=>!_.value&&!f.value&&!s.value),u=p(()=>{if(!f.value){if(r.value.rel)return r.value.rel;if(s.value)return"noopener noreferrer"}}),d=p(()=>r.value.ariaLabel||r.value.text),v=p(()=>{const L=Object.keys(i.value.locales);return L.length?!L.some(m=>m===r.value.link):r.value.link!=="/"}),b=p(()=>v.value?e.path.startsWith(r.value.link):!1),k=p(()=>o.value?r.value.activeMatch?new RegExp(r.value.activeMatch).test(e.path):b.value:!1);return(L,m)=>{const S=R("RouterLink"),N=R("ExternalLinkIcon");return n(o)?(a(),C(S,pe({key:0,class:{"router-link-active":n(k)},to:n(r).link,"aria-label":n(d)},L.$attrs),{default:B(()=>[y(L.$slots,"before"),U(" "+T(n(r).text)+" ",1),y(L.$slots,"after")]),_:3},16,["class","to","aria-label"])):(a(),c("a",pe({key:1,class:"external-link",href:n(r).link,rel:n(u),target:n(h),"aria-label":n(d)},L.$attrs),[y(L.$slots,"before"),U(" "+T(n(r).text)+" ",1),n(s)?(a(),C(N,{key:0})):w("",!0),y(L.$slots,"after")],16,nt))}}})),st={class:"hero"},rt={key:0,id:"main-title"},ot={key:1,class:"description"},lt={key:2,class:"actions"},ut=x({setup(l){const t=I(),e=Q(),i=Z(),r=p(()=>i.value&&t.value.heroImageDark!==void 0?t.value.heroImageDark:t.value.heroImage),_=p(()=>t.value.heroText===null?null:t.value.heroText||e.value.title||"Hello"),f=p(()=>t.value.heroAlt||_.value||"hero"),h=p(()=>t.value.tagline===null?null:t.value.tagline||e.value.description||"Welcome to your VuePress site"),s=p(()=>_e(t.value.actions)?t.value.actions.map(({text:u,link:d,type:v="primary"})=>({text:u,link:d,type:v})):[]),o=()=>{if(!r.value)return null;const u=V("img",{src:fe(r.value),alt:f.value});return t.value.heroImageDark===void 0?u:V(me,()=>u)};return(u,d)=>(a(),c("header",st,[$(o),n(_)?(a(),c("h1",rt,T(n(_)),1)):w("",!0),n(h)?(a(),c("p",ot,T(n(h)),1)):w("",!0),n(s).length?(a(),c("p",lt,[(a(!0),c(D,null,A(n(s),v=>(a(),C(E,{key:v.text,class:P(["action-button",[v.type]]),item:v},null,8,["class","item"]))),128))])):w("",!0)]))}}),it={class:"home"},ct=x({setup(l){return(t,e)=>(a(),c("main",it,[$(ut),$(Qe),$(Ye),$(tt)]))}}),dt=x({setup(l){const t=be(),e=Q(),i=M(),r=Z(),_=p(()=>i.value.home||t.value),f=p(()=>e.value.title),h=p(()=>r.value&&i.value.logoDark!==void 0?i.value.logoDark:i.value.logo),s=()=>{if(!h.value)return null;const o=V("img",{class:"logo",src:fe(h.value),alt:f.value});return i.value.logoDark===void 0?o:V(me,()=>o)};return(o,u)=>{const d=R("RouterLink");return a(),C(d,{to:n(_)},{default:B(()=>[$(s),n(f)?(a(),c("span",{key:0,class:P(["site-name",{"can-hide":n(h)}])},T(n(f)),3)):w("",!0)]),_:1},8,["to"])}}}),ye=x({setup(l){const t=i=>{i.style.height=i.scrollHeight+"px"},e=i=>{i.style.height=""};return(i,r)=>(a(),C(ge,{name:"dropdown",onEnter:t,onAfterEnter:e,onBeforeLeave:t},{default:B(()=>[y(i.$slots,"default")]),_:3}))}}),vt=["aria-label"],pt={class:"title"},ht=g("span",{class:"arrow down"},null,-1),_t=["aria-label"],ft={class:"title"},mt={class:"navbar-dropdown"},bt={class:"navbar-dropdown-subtitle"},gt={key:1},kt={class:"navbar-dropdown-subitem-wrapper"},$t=x({props:{item:{type:Object,required:!0}},setup(l){const t=l,{item:e}=J(t),i=p(()=>e.value.ariaLabel||e.value.text),r=O(!1),_=G();Ae(()=>_.path,()=>{r.value=!1});const f=s=>{s.detail===0?r.value=!r.value:r.value=!1},h=(s,o)=>o[o.length-1]===s;return(s,o)=>(a(),c("div",{class:P(["navbar-dropdown-wrapper",{open:r.value}])},[g("button",{class:"navbar-dropdown-title",type:"button","aria-label":n(i),onClick:f},[g("span",pt,T(n(e).text),1),ht],8,vt),g("button",{class:"navbar-dropdown-title-mobile",type:"button","aria-label":n(i),onClick:o[0]||(o[0]=u=>r.value=!r.value)},[g("span",ft,T(n(e).text),1),g("span",{class:P(["arrow",r.value?"down":"right"])},null,2)],8,_t),$(ye,null,{default:B(()=>[j(g("ul",mt,[(a(!0),c(D,null,A(n(e).children,u=>(a(),c("li",{key:u.text,class:"navbar-dropdown-item"},[u.children?(a(),c(D,{key:0},[g("h4",bt,[u.link?(a(),C(E,{key:0,item:u,onFocusout:d=>h(u,n(e).children)&&u.children.length===0&&(r.value=!1)},null,8,["item","onFocusout"])):(a(),c("span",gt,T(u.text),1))]),g("ul",kt,[(a(!0),c(D,null,A(u.children,d=>(a(),c("li",{key:d.link,class:"navbar-dropdown-subitem"},[$(E,{item:d,onFocusout:v=>h(d,u.children)&&h(u,n(e).children)&&(r.value=!1)},null,8,["item","onFocusout"])]))),128))])],64)):(a(),C(E,{key:1,item:u,onFocusout:d=>h(u,n(e).children)&&(r.value=!1)},null,8,["item","onFocusout"]))]))),128))],512),[[K,r.value]])]),_:1})],2))}}),he=l=>decodeURI(l).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),Lt=(l,t)=>{if(t.hash===l)return!0;const e=he(t.path),i=he(l);return e===i},we=(l,t)=>l.link&&Lt(l.link,t)?!0:l.children?l.children.some(e=>we(e,t)):!1,xe=l=>!q(l)||/github\.com/.test(l)?"GitHub":/bitbucket\.org/.test(l)?"Bitbucket":/gitlab\.com/.test(l)?"GitLab":/gitee\.com/.test(l)?"Gitee":null,yt={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},wt=({docsRepo:l,editLinkPattern:t})=>{if(t)return t;const e=xe(l);return e!==null?yt[e]:null},xt=({docsRepo:l,docsBranch:t,docsDir:e,filePathRelative:i,editLinkPattern:r})=>{if(!i)return null;const _=wt({docsRepo:l,editLinkPattern:r});return _?_.replace(/:repo/,q(l)?l:`https://github.com/${l}`).replace(/:branch/,t).replace(/:path/,He(`${Oe(e)}/${i}`)):null},Ct={key:0,class:"navbar-items"},Ce=x({setup(l){const t=()=>{const o=ee(),u=be(),d=Q(),v=M();return p(()=>{var S,N;const b=Object.keys(d.value.locales);if(b.length<2)return[];const k=o.currentRoute.value.path,L=o.currentRoute.value.fullPath;return[{text:(S=v.value.selectLanguageText)!=null?S:"unknown language",ariaLabel:(N=v.value.selectLanguageAriaLabel)!=null?N:"unkown language",children:b.map(H=>{var se,re,oe,le,ue,ie;const z=(re=(se=d.value.locales)==null?void 0:se[H])!=null?re:{},ne=(le=(oe=v.value.locales)==null?void 0:oe[H])!=null?le:{},ae=`${z.lang}`,Te=(ue=ne.selectLanguageName)!=null?ue:ae;let F;if(ae===d.value.lang)F=L;else{const ce=k.replace(u.value,H);o.getRoutes().some(Se=>Se.path===ce)?F=ce:F=(ie=ne.home)!=null?ie:H}return{text:Te,link:F}})}]})},e=()=>{const o=M(),u=p(()=>o.value.repo),d=p(()=>u.value?xe(u.value):null),v=p(()=>u.value&&!q(u.value)?`https://github.com/${u.value}`:u.value),b=p(()=>v.value?o.value.repoLabel?o.value.repoLabel:d.value===null?"Source":d.value:null);return p(()=>!v.value||!b.value?[]:[{text:b.value,link:v.value}])},i=o=>ke(o)?$e(o):o.children?Y(X({},o),{children:o.children.map(i)}):o,_=(()=>{const o=M();return p(()=>(o.value.navbar||[]).map(i))})(),f=t(),h=e(),s=p(()=>[..._.value,...f.value,...h.value]);return(o,u)=>n(s).length?(a(),c("nav",Ct,[(a(!0),c(D,null,A(n(s),d=>(a(),c("div",{key:d.text,class:"navbar-item"},[d.children?(a(),C($t,{key:0,item:d},null,8,["item"])):(a(),C(E,{key:1,item:d},null,8,["item"]))]))),128))])):w("",!0)}}),Tt=["title"],St={class:"icon",focusable:"false",viewBox:"0 0 32 32"},Bt=ze('',9),Mt=[Bt],Dt={class:"icon",focusable:"false",viewBox:"0 0 32 32"},Nt=g("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1),Et=[Nt],It=x({setup(l){const t=M(),e=Z(),i=()=>{e.value=!e.value};return(r,_)=>(a(),c("button",{class:"toggle-dark-button",title:n(t).toggleDarkMode,onClick:i},[j((a(),c("svg",St,Mt,512)),[[K,!n(e)]]),j((a(),c("svg",Dt,Et,512)),[[K,n(e)]])],8,Tt))}}),Pt=["title"],Rt=g("div",{class:"icon","aria-hidden":"true"},[g("span"),g("span"),g("span")],-1),At=[Rt],Ht=x({emits:["toggle"],setup(l){const t=M();return(e,i)=>(a(),c("div",{class:"toggle-sidebar-button",title:n(t).toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:i[0]||(i[0]=r=>e.$emit("toggle"))},At,8,Pt))}}),Ot=x({emits:["toggle-sidebar"],setup(l){const t=M(),e=O(null),i=O(null),r=O(0),_=p(()=>r.value?{maxWidth:r.value+"px"}:{}),f=p(()=>t.value.darkMode);Le(()=>{const o=h(e.value,"paddingLeft")+h(e.value,"paddingRight"),u=()=>{var d;window.innerWidth<=719?r.value=0:r.value=e.value.offsetWidth-o-(((d=i.value)==null?void 0:d.offsetWidth)||0)};u(),window.addEventListener("resize",u,!1),window.addEventListener("orientationchange",u,!1)});function h(s,o){var v,b,k;const u=(k=(b=(v=s==null?void 0:s.ownerDocument)==null?void 0:v.defaultView)==null?void 0:b.getComputedStyle(s,null))==null?void 0:k[o],d=Number.parseInt(u,10);return Number.isNaN(d)?0:d}return(s,o)=>{const u=R("NavbarSearch");return a(),c("header",{ref_key:"navbar",ref:e,class:"navbar"},[$(Ht,{onToggle:o[0]||(o[0]=d=>s.$emit("toggle-sidebar"))}),g("span",{ref_key:"navbarBrand",ref:i},[$(dt)],512),g("div",{class:"navbar-items-wrapper",style:Fe(n(_))},[y(s.$slots,"before"),$(Ce,{class:"can-hide"}),y(s.$slots,"after"),n(f)?(a(),C(It,{key:0})):w("",!0),$(u)],4)],512)}}}),zt={class:"page-meta"},Ft={key:0,class:"meta-item edit-link"},Wt={key:1,class:"meta-item last-updated"},Ut={class:"meta-item-label"},Vt={class:"meta-item-info"},jt={key:2,class:"meta-item contributors"},Kt={class:"meta-item-label"},Gt={class:"meta-item-info"},qt=["title"],Xt=U(", "),Yt=x({setup(l){const t=()=>{const s=M(),o=W(),u=I();return p(()=>{var N,H,z;if(!((H=(N=u.value.editLink)!=null?N:s.value.editLink)!=null?H:!0))return null;const{repo:v,docsRepo:b=v,docsBranch:k="main",docsDir:L="",editLinkText:m}=s.value;if(!b)return null;const S=xt({docsRepo:b,docsBranch:k,docsDir:L,filePathRelative:o.value.filePathRelative,editLinkPattern:(z=u.value.editLinkPattern)!=null?z:s.value.editLinkPattern});return S?{text:m!=null?m:"Edit this page",link:S}:null})},e=()=>{const s=M(),o=W(),u=I();return p(()=>{var b,k,L,m;return!((k=(b=u.value.lastUpdated)!=null?b:s.value.lastUpdated)!=null?k:!0)||!((L=o.value.git)!=null&&L.updatedTime)?null:new Date((m=o.value.git)==null?void 0:m.updatedTime).toLocaleString()})},i=()=>{const s=M(),o=W(),u=I();return p(()=>{var v,b,k,L;return((b=(v=u.value.contributors)!=null?v:s.value.contributors)!=null?b:!0)&&(L=(k=o.value.git)==null?void 0:k.contributors)!=null?L:null})},r=M(),_=t(),f=e(),h=i();return(s,o)=>{const u=R("ClientOnly");return a(),c("footer",zt,[n(_)?(a(),c("div",Ft,[$(E,{class:"meta-item-label",item:n(_)},null,8,["item"])])):w("",!0),n(f)?(a(),c("div",Wt,[g("span",Ut,T(n(r).lastUpdatedText)+": ",1),$(u,null,{default:B(()=>[g("span",Vt,T(n(f)),1)]),_:1})])):w("",!0),n(h)&&n(h).length?(a(),c("div",jt,[g("span",Kt,T(n(r).contributorsText)+": ",1),g("span",Gt,[(a(!0),c(D,null,A(n(h),(d,v)=>(a(),c(D,{key:v},[g("span",{class:"contributor",title:`email: ${d.email}`},T(d.name),9,qt),v!==n(h).length-1?(a(),c(D,{key:0},[Xt],64)):w("",!0)],64))),128))])])):w("",!0)])}}}),Jt={key:0,class:"page-nav"},Qt={class:"inner"},Zt={key:0,class:"prev"},en={key:1,class:"next"},tn=x({setup(l){const t=s=>s===!1?null:ke(s)?$e(s):We(s)?s:!1,e=(s,o,u)=>{const d=s.findIndex(v=>v.link===o);if(d!==-1){const v=s[d+u];return v!=null&&v.link?v:null}for(const v of s)if(v.children){const b=e(v.children,o,u);if(b)return b}return null},i=I(),r=te(),_=G(),f=p(()=>{const s=t(i.value.prev);return s!==!1?s:e(r.value,_.path,-1)}),h=p(()=>{const s=t(i.value.next);return s!==!1?s:e(r.value,_.path,1)});return(s,o)=>n(f)||n(h)?(a(),c("nav",Jt,[g("p",Qt,[n(f)?(a(),c("span",Zt,[$(E,{item:n(f)},null,8,["item"])])):w("",!0),n(h)?(a(),c("span",en,[$(E,{item:n(h)},null,8,["item"])])):w("",!0)])])):w("",!0)}}),nn={class:"page"},an={class:"theme-default-content"},sn=x({setup(l){return(t,e)=>{const i=R("Content");return a(),c("main",nn,[y(t.$slots,"top"),g("div",an,[$(i)]),$(Yt),$(tn),y(t.$slots,"bottom")])}}}),rn={class:"sidebar-item-children"},on=x({props:{item:{type:Object,required:!0},depth:{type:Number,required:!1,default:0}},setup(l){const t=l,{item:e,depth:i}=J(t),r=G(),_=ee(),f=p(()=>we(e.value,r)),h=p(()=>({"sidebar-item":!0,"sidebar-heading":i.value===0,active:f.value,collapsible:e.value.collapsible})),s=O(!0),o=O(void 0);return e.value.collapsible&&(s.value=f.value,o.value=()=>{s.value=!s.value},_.afterEach(()=>{s.value=f.value})),(u,d)=>{var b;const v=R("SidebarItem",!0);return a(),c("li",null,[n(e).link?(a(),C(E,{key:0,class:P(n(h)),item:n(e)},null,8,["class","item"])):(a(),c("p",{key:1,tabindex:"0",class:P(n(h)),onClick:d[0]||(d[0]=(...k)=>o.value&&o.value(...k)),onKeydown:d[1]||(d[1]=Ue((...k)=>o.value&&o.value(...k),["enter"]))},[U(T(n(e).text)+" ",1),n(e).collapsible?(a(),c("span",{key:0,class:P(["arrow",s.value?"down":"right"])},null,2)):w("",!0)],34)),(b=n(e).children)!=null&&b.length?(a(),C(ye,{key:2},{default:B(()=>[j(g("ul",rn,[(a(!0),c(D,null,A(n(e).children,k=>(a(),C(v,{key:`${n(i)}${k.text}${k.link}`,item:k,depth:n(i)+1},null,8,["item","depth"]))),128))],512),[[K,s.value]])]),_:1})):w("",!0)])}}}),ln={key:0,class:"sidebar-items"},un=x({setup(l){const t=te();return(e,i)=>n(t).length?(a(),c("ul",ln,[(a(!0),c(D,null,A(n(t),r=>(a(),C(on,{key:r.link||r.text,item:r},null,8,["item"]))),128))])):w("",!0)}}),cn={class:"sidebar"},dn=x({setup(l){return(t,e)=>(a(),c("aside",cn,[$(Ce),y(t.$slots,"top"),$(un),y(t.$slots,"bottom")]))}}),_n=x({setup(l){const t=W(),e=I(),i=M(),r=p(()=>e.value.navbar!==!1&&i.value.navbar!==!1),_=te(),f=O(!1),h=m=>{f.value=typeof m=="boolean"?m:!f.value},s={x:0,y:0},o=m=>{s.x=m.changedTouches[0].clientX,s.y=m.changedTouches[0].clientY},u=m=>{const S=m.changedTouches[0].clientX-s.x,N=m.changedTouches[0].clientY-s.y;Math.abs(S)>Math.abs(N)&&Math.abs(S)>40&&(S>0&&s.x<=80?h(!0):h(!1))},d=p(()=>[{"no-navbar":!r.value,"no-sidebar":!_.value.length,"sidebar-open":f.value},e.value.pageClass]);let v;Le(()=>{v=ee().afterEach(()=>{h(!1)})}),Ve(()=>{v()});const b=je(),k=b.resolve,L=b.pending;return(m,S)=>(a(),c("div",{class:P(["theme-container",n(d)]),onTouchstart:o,onTouchend:u},[y(m.$slots,"navbar",{},()=>[n(r)?(a(),C(Ot,{key:0,onToggleSidebar:h},{before:B(()=>[y(m.$slots,"navbar-before")]),after:B(()=>[y(m.$slots,"navbar-after")]),_:3})):w("",!0)]),g("div",{class:"sidebar-mask",onClick:S[0]||(S[0]=N=>h(!1))}),y(m.$slots,"sidebar",{},()=>[$(dn,null,{top:B(()=>[y(m.$slots,"sidebar-top")]),bottom:B(()=>[y(m.$slots,"sidebar-bottom")]),_:3})]),y(m.$slots,"page",{},()=>[n(e).home?(a(),C(ct,{key:0})):(a(),C(ge,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:n(k),onBeforeLeave:n(L)},{default:B(()=>[(a(),C(sn,{key:n(t).path},{top:B(()=>[y(m.$slots,"page-top")]),bottom:B(()=>[y(m.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34))}});export{_n as default}; 2 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/back-to-top.8efcbe56.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/index.html.b92ab011.js: -------------------------------------------------------------------------------- 1 | import{r as t,o as l,c,a as e,b as s,w as o,F as d,d as a,e as i}from"./app.f8722cdd.js";import{_ as p,a as u,b as h}from"./win.0d23eec4.js";import{_ as b}from"./plugin-vue_export-helper.21dcd24c.js";const m={},g={id:"user-manual",tabindex:"-1"},_=e("a",{class:"header-anchor",href:"#user-manual","aria-hidden":"true"},"#",-1),f=a(),x=a("User Manual"),v=i('

Framework


Main Interface


Demo

',7),M={href:"http://47.88.77.176",target:"_blank",rel:"noopener noreferrer"},k=e("code",null,"http://47.88.77.176",-1),w=e("hr",null,null,-1),S=e("h2",{id:"download",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#download","aria-hidden":"true"},"#"),a(" Download")],-1),P=e("h3",{id:"software",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#software","aria-hidden":"true"},"#"),a(" Software")],-1),A={href:"https://github.com/CSi-Studio/AirdPro/releases/tag/1.1",target:"_blank",rel:"noopener noreferrer"},T=a("AirdPro v1.1"),F={href:"https://github.com/CSi-Studio/MetaPro/releases/tag/v1.1.8",target:"_blank",rel:"noopener noreferrer"},L=a("MetaPro v1.1.8"),U=e("h3",{id:"test-data-and-libraries",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#test-data-and-libraries","aria-hidden":"true"},"#"),a(" Test data and libraries")],-1),y={href:"https://drive.google.com/drive/folders/1_FAFca5LlqhFWv6U1-UzU9OkqPvGRsBI?usp=sharing",target:"_blank",rel:"noopener noreferrer"},D=a("GoogleDrive"),I={href:"https://1drv.ms/u/s!AqS3L_kdjWbKgp43W1l8-GteFvv6ZQ?e=xukUkb",target:"_blank",rel:"noopener noreferrer"},N=a("OneDrive"),O=i('

How to install

Extract MetaPro zip file to any directory you want.

Here we use INSTALLATION_PATH to represent your installation path, for example C:\\

Windows

MacOs

Linux


How to use

`,12),q=a("UserMantal");function H(R,B){const r=t("RouterLink"),n=t("ExternalLinkIcon");return l(),c(d,null,[e("h1",g,[_,f,s(r,{to:"/guide/user-manual.html"},{default:o(()=>[x]),_:1})]),v,e("p",null,[e("a",M,[k,s(n)])]),w,S,P,e("p",null,[e("a",A,[T,s(n)])]),e("p",null,[e("a",F,[L,s(n)])]),U,e("p",null,[e("a",y,[D,s(n)])]),e("p",null,[e("a",I,[N,s(n)])]),O,e("p",null,[s(r,{to:"/guide/user-manual.html"},{default:o(()=>[q]),_:1})])],64)}var W=b(m,[["render",H]]);export{W as default}; 32 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/index.html.f1b0fbc6.js: -------------------------------------------------------------------------------- 1 | const e={key:"v-8daa1a0e",path:"/",title:"MetaPro",lang:"en-US",frontmatter:{lang:"en-US",title:"MetaPro",description:"MetaPro README"},excerpt:"",headers:[{level:2,title:"Framework",slug:"framework",children:[]},{level:2,title:"Main Interface",slug:"main-interface",children:[]},{level:2,title:"Demo",slug:"demo",children:[]},{level:2,title:"Download",slug:"download",children:[{level:3,title:"Software",slug:"software",children:[]},{level:3,title:"Test data and libraries",slug:"test-data-and-libraries",children:[]}]},{level:2,title:"How to install",slug:"how-to-install",children:[{level:3,title:"Windows",slug:"windows",children:[]},{level:3,title:"MacOs",slug:"macos",children:[]},{level:3,title:"Linux",slug:"linux",children:[]}]},{level:2,title:"How to use",slug:"how-to-use",children:[]}],git:{updatedTime:1646809691e3,contributors:[{name:"JW",email:"wanglihuaya@outlook.com",commits:1}]},filePathRelative:"README.md"};export{e as data}; 2 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/plugin-vue_export-helper.21dcd24c.js: -------------------------------------------------------------------------------- 1 | var a=(t,o)=>{const r=t.__vccOpts||t;for(const[e,_]of o)r[e]=_;return r};export{a as _}; 2 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/user-manual.html.8391919c.js: -------------------------------------------------------------------------------- 1 | const e={key:"v-63806a86",path:"/guide/user-manual.html",title:"User Manual",lang:"en-US",frontmatter:{lang:"en-US",title:"User Manual",description:"MetaPro User Manual"},excerpt:"",headers:[{level:2,title:"Main Interface of MetaPro",slug:"main-interface-of-metapro",children:[]},{level:2,title:"Framework of MetaPro",slug:"framework-of-metapro",children:[]},{level:2,title:"Demo website",slug:"demo-website",children:[]},{level:2,title:"1 General Information",slug:"_1-general-information",children:[{level:3,title:"1.1 Scope of MetaPro",slug:"_1-1-scope-of-metapro",children:[]},{level:3,title:"1.2 System conception description",slug:"_1-2-system-conception-description",children:[]},{level:3,title:"1.3 Data restrictions",slug:"_1-3-data-restrictions",children:[]},{level:3,title:"1.4 Data safety",slug:"_1-4-data-safety",children:[]},{level:3,title:"1.5 Contact us",slug:"_1-5-contact-us",children:[]}]},{level:2,title:"2 Installation",slug:"_2-installation",children:[{level:3,title:"2.1 System and hardware requirements",slug:"_2-1-system-and-hardware-requirements",children:[]},{level:3,title:"2.2 Download",slug:"_2-2-download",children:[]},{level:3,title:"2.3 One-click installation",slug:"_2-3-one-click-installation",children:[]},{level:3,title:"2.4 Configuration",slug:"_2-4-configuration",children:[]},{level:3,title:"2.5 Associated software",slug:"_2-5-associated-software",children:[]}]},{level:2,title:"3 Page Introduction",slug:"_3-page-introduction",children:[{level:3,title:"3.1 Project management page",slug:"_3-1-project-management-page",children:[]},{level:3,title:"3.2 Library management page",slug:"_3-2-library-management-page",children:[]},{level:3,title:"3.3 Method management page",slug:"_3-3-method-management-page",children:[]},{level:3,title:"3.4 Task management page",slug:"_3-4-task-management-page",children:[]}]},{level:2,title:"4 Step by step instructions",slug:"_4-step-by-step-instructions",children:[{level:3,title:"4.1 Data preparation",slug:"_4-1-data-preparation",children:[]},{level:3,title:"4.2 Start a targeted analysis task",slug:"_4-2-start-a-targeted-analysis-task",children:[]},{level:3,title:"4.3 Use batch QC inspection page for targeted analysis",slug:"_4-3-use-batch-qc-inspection-page-for-targeted-analysis",children:[]},{level:3,title:"4.4 Spectral Library Curation",slug:"_4-4-spectral-library-curation",children:[]},{level:3,title:"4.5 Export",slug:"_4-5-export",children:[]}]},{level:2,title:"Supplementary",slug:"supplementary",children:[{level:3,title:"Performance Optimization",slug:"performance-optimization",children:[]}]}],git:{updatedTime:1646809691e3,contributors:[{name:"JW",email:"wanglihuaya@outlook.com",commits:1}]},filePathRelative:"guide/user-manual.md"};export{e as data}; 2 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/assets/win.0d23eec4.js: -------------------------------------------------------------------------------- 1 | var a="/MetaPro/images/image_33.png",r="/MetaPro/images/image_34.png",e="/MetaPro/images/win.png";export{a as _,r as a,e as b}; 2 | -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/box.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/fast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/fast.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/favicon.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_1.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_10.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_11.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_12.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_13.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_14.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_15.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_16.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_17.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_18.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_19.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_2.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_20.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_21.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_22.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_23.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_24.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_25.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_26.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_27.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_28.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_29.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_3.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_30.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_31.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_32.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_33.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_34.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_35.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_36.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_37.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_38.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_39.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_4.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_40.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_41.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_5.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_6.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_7.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_8.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/image_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/image_9.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/logo.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/qc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/qc.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/scan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/scan.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/target.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/target.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/web.png -------------------------------------------------------------------------------- /docs/.vuepress/dist/images/win.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/dist/images/win.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/box.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/fast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/fast.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/favicon.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_1.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_10.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_11.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_12.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_13.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_14.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_15.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_16.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_17.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_18.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_19.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_2.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_20.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_21.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_22.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_23.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_24.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_25.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_26.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_27.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_28.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_29.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_3.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_30.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_31.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_32.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_33.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_34.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_35.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_36.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_37.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_38.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_39.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_4.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_40.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_41.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_5.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_6.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_7.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_8.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/image_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/image_9.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/logo.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/qc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/qc.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/scan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/scan.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/target.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/target.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/web.png -------------------------------------------------------------------------------- /docs/.vuepress/public/images/win.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSi-Studio/MetaPro/8a7307d48925929568be9046c2e448cd8232fa44/docs/.vuepress/public/images/win.png -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # README 2 | 3 | ## User Manual 🥳 4 | 5 | [MetaPro User Manual](https://csi-studio.github.io/MetaPro/guide/user-manual.html) 6 | 7 | ## Framework 8 | 9 | ![](/images/image_34.png) 10 | 11 | --- 12 | 13 | ## Main Interface 14 | 15 | ![](/images/image_33.png) 16 | 17 | --- 18 | 19 | ## Demo 20 | 21 | [`http://47.88.77.176`](http://47.88.77.176) 22 | 23 | --- 24 | 25 | ## Download 26 | 27 | ### Software 28 | 29 | [AirdPro v1.1](https://github.com/CSi-Studio/AirdPro/releases/tag/1.1) 30 | 31 | [MetaPro v1.1.8](https://github.com/CSi-Studio/MetaPro/releases/tag/v1.1.8) 32 | 33 | ### Test data and libraries 34 | 35 | [GoogleDrive](https://drive.google.com/drive/folders/1_FAFca5LlqhFWv6U1-UzU9OkqPvGRsBI?usp=sharing) 36 | 37 | [OneDrive](https://1drv.ms/u/s!AqS3L_kdjWbKgp43W1l8-GteFvv6ZQ?e=xukUkb) 38 | 39 | --- 40 | 41 | ## How to install 42 | 43 | > Extract MetaPro zip file to any directory you want. 44 | 45 | > Here we use INSTALLATION_PATH to represent your installation path, for example `C:\` 46 | 47 | ### Windows 48 | 49 | - Open INSTALLATION_PATH folder 50 | - **start:** Right click `MetaproStart.bat`, run as administrator. 51 | 52 | **Successful operation:** 53 | 54 | The following operations appear in the terminal to indicate that the operation is successful: 55 | ![](/images/win.png) 56 | **After successful startup, open a browser and connect to** **`localhost:8080`** 57 | 58 | - **stop:** Right click `MetaproStop.bat`, run as administrator 59 | - **uninstall:** Stop MetaPro and delete the installation folder. 60 | 61 | ### MacOs 62 | 63 | - Open a terminal 64 | 65 | ``` 66 | cd INSTALLATION_PATH 67 | cd MetaproForMac 68 | ``` 69 | 70 | - start 71 | 72 | ``` 73 | bash MetaproStart.sh 74 | ``` 75 | 76 | **Successful operation:** 77 | 78 | The following operations appear in the terminal to indicate that the operation is successful: 79 | 80 | ```bash 81 | $ bash ./MetaproStart.sh 82 | /Users/commands/Documents/code/MetaPro/MetaproForMac 83 | ********* Start Redis ********* 84 | /Users/commands/Documents/code/MetaPro/MetaproForMac/redis 85 | ********* Start MongoDB ********* 86 | /Users/commands/Documents/code/MetaPro/MetaproForMac/mongodb 87 | ********* Start Metapro ********* 88 | about to fork child process, waiting until server is ready for connections. 89 | forked process: 94332 90 | 91 | $ child process started successfully, parent exiting 92 | ``` 93 | 94 | **After successful startup, open a browser and connect to** **`localhost:8080`** 95 | 96 | - stop 97 | 98 | ``` 99 | bash MetaproStop.sh 100 | ``` 101 | 102 | - uninstall 103 | 104 | Stop MetaPro and delete the installation folder. 105 | 106 | ### Linux 107 | 108 | - Open a terminal 109 | 110 | ``` 111 | cd INSTALLATION_PATH 112 | cd MetaproForUbuntu 113 | ``` 114 | 115 | - start 116 | 117 | ``` 118 | bash MetaproStart.sh 119 | ``` 120 | 121 | **Successful operation:** 122 | 123 | **After successful startup, open a browser and connect to** **`localhost:8080`** 124 | 125 | The following operations appear in the terminal to indicate that the operation is successful: 126 | 127 | ```bash 128 | $ bash ./MetaproStart.sh 129 | /Users/commands/Documents/code/MetaPro/MetaproForMac 130 | ********* Start Redis ********* 131 | /Users/commands/Documents/code/MetaPro/MetaproForMac/redis 132 | ********* Start MongoDB ********* 133 | /Users/commands/Documents/code/MetaPro/MetaproForMac/mongodb 134 | ********* Start Metapro ********* 135 | about to fork child process, waiting until server is ready for connections. 136 | forked process: 94332 137 | 138 | $ child process started successfully, parent exiting 139 | ``` 140 | 141 | **After successful startup, open a browser and connect to** **`localhost:8080`** 142 | 143 | - stop 144 | 145 | ``` 146 | bash MetaproStop.sh 147 | ``` 148 | 149 | - uninstall: Stop MetaPro and delete the installation folder. 150 | 151 | --- 152 | 153 | ## How to use 154 | 155 | [UserManual](../guide/user-manual.md) 156 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VuePressMetaPro", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "devDependencies": { 7 | "vuepress": "^2.0.0-beta.36" 8 | }, 9 | "scripts": { 10 | "docs:dev": "vuepress dev docs", 11 | "docs:build": "vuepress build docs" 12 | } 13 | } 14 | --------------------------------------------------------------------------------