忽略项目一些不必要上传的东西

This commit is contained in:
Himit_ZH 2021-06-18 11:33:19 +08:00
parent cab8fc233f
commit 8c9ba51eaf
52 changed files with 122 additions and 83 deletions

24
docs/.gitignore vendored Normal file
View File

@ -0,0 +1,24 @@
.DS_Store
node_modules
/dist
/docs/.vuepress/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

View File

@ -8,13 +8,13 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/6.f86b5401.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/2.3e9bf4c9.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/6.f86b5401.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/2.3e9bf4c9.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>How did we get here?</blockquote> <a href="/docs/" class="router-link-active">
Take me home.
</a></div></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/6.f86b5401.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/6.f86b5401.js" defer></script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{360:function(s,a,t){"use strict";t.r(a);var e=t(41),r=Object(e.a)({},(function(){var s=this,a=s.$createElement,t=s._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"redis部署"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#redis部署"}},[s._v("#")]),s._v(" Redis部署")]),s._v(" "),t("h2",{attrs:{id:"docker部署"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#docker部署"}},[s._v("#")]),s._v(" docker部署")]),s._v(" "),t("div",{staticClass:"language-shell line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[s._v("docker run -d --name redis -p "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("6379")]),s._v(":6379 \n-v /hoj/data/redis/data:/data "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("\\")]),s._v("\n--restart"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"always"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("\\")]),s._v("\nredis "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("\\")]),s._v("\n--requirepass "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"redis_password"')]),s._v(" \n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br")])]),t("h2",{attrs:{id:"常规部署"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#常规部署"}},[s._v("#")]),s._v(" 常规部署")]),s._v(" "),t("p",[s._v("请自行百度。。")])])}),[],!1,null,null,null);a.default=r.exports}}]);

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{363:function(t,s,i){"use strict";i.r(s);var e=i(41),n=Object(e.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("h1",{attrs:{id:"开发简介"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#开发简介"}},[this._v("#")]),this._v(" 开发简介")]),this._v(" "),s("ul",[s("li",[this._v("数据库表说明")]),this._v(" "),s("li",[this._v("其它待续.......")])])])}),[],!1,null,null,null);s.default=n.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{368:function(t,l,e){"use strict";e.r(l);var s=e(41),v=Object(s.a)({},(function(){var t=this,l=t.$createElement,e=t._self._c||l;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"使用简介"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#使用简介"}},[t._v("#")]),t._v(" 使用简介")]),t._v(" "),e("ul",[e("li",[t._v("测试数据的介绍")]),t._v(" "),e("li",[t._v("比赛的介绍")]),t._v(" "),e("li",[t._v("导入题目的介绍")]),t._v(" "),e("li",[t._v("导入用户的介绍")]),t._v(" "),e("li",[t._v("讨论管理的介绍")]),t._v(" "),e("li",[t._v("特殊判题的程序例子")]),t._v(" "),e("li",[t._v("其它待续......")])])])}),[],!1,null,null,null);l.default=v.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{372:function(t,s,a){"use strict";a.r(s);var e=a(41),l=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h2",{attrs:{id:"导入用户"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#导入用户"}},[t._v("#")]),t._v(" 导入用户")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://img-blog.csdnimg.cn/2021052322072728.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg1MzA5Nw==,size_16,color_FFFFFF,t_70",alt:"在这里插入图片描述"}})]),t._v(" "),a("p",[t._v("要求如下:")]),t._v(" "),a("ol",[a("li",[a("p",[t._v("用户数据导入仅支持csv格式的用户数据。")])]),t._v(" "),a("li",[a("p",[t._v("共三列数据: 用户名,密码,邮箱,任一列不能为空,否则该行数据可能导入失败。")])]),t._v(" "),a("li",[a("p",[t._v("第一行不必写(“用户名”,“密码”,“邮箱”)这三个列名。")])]),t._v(" "),a("li",[a("p",[t._v("请导入保存为UTF-8编码的文件否则中文可能会乱码。")])])])])}),[],!1,null,null,null);s.default=l.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/9.9cedc787.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/9.8282f251.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -188,6 +188,6 @@ java -Djava.security.egd<span class="token operator">=</span>file:/dev/./urandom
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/9.9cedc787.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/9.8282f251.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/10.894fec34.js" as="script"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/10.8a54dd52.js" as="script"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -81,7 +81,7 @@
Port: <span class="token number">465</span>
Username: qq邮箱账号
Password: 开启SMTP服务后生成的随机授权码
</code></pre> <div class="line-numbers-wrapper"><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></div></div><h2 id="二、分布式部署"><a href="#二、分布式部署" class="header-anchor">#</a> 二、分布式部署</h2> <ol><li><p>选择好需要安装的位置,运行下面命令</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code><span class="token function">git</span> clone https://gitee.com/himitzh0730/hoj-deploy.git <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">cd</span> hoj-deploy
</code></pre> <div class="line-numbers-wrapper"><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></div></div><h2 id="二、分布式部署"><a href="#二、分布式部署" class="header-anchor">#</a> 二、分布式部署</h2> <blockquote><p>注意主服务器运行nacosbackend, frontend,redis的服务器防火墙请开 <strong>88483306873</strong>端口号</p> <p>从服务器(判题机)的防火墙请开<strong>8088</strong>端口号</p></blockquote> <ol><li><p>选择好需要安装的位置,运行下面命令</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code><span class="token function">git</span> clone https://gitee.com/himitzh0730/hoj-deploy.git <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">cd</span> hoj-deploy
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div></li> <li><p>进入文件夹</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code><span class="token builtin class-name">cd</span> distributed
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p><code>distributed</code>文件夹有以下:</p> <div class="language-bash line-numbers-mode"><pre class="language-bash"><code>├── judgeserver
├── main
@ -181,6 +181,6 @@ Password: 开启SMTP服务后生成的随机授权码
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/10.894fec34.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/10.8a54dd52.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/11.44da1378.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/11.41b16e2f.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -221,6 +221,6 @@ hoj-frontend
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/11.44da1378.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/11.41b16e2f.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/8.d67efa58.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/8.bb76cd0d.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -54,6 +54,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/8.d67efa58.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/8.bb76cd0d.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/12.7e8e6802.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/12.f5d67101.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -175,6 +175,6 @@ java -XX:+UseG1GC -Djava.security.egd<span class="token operator">=</span>file:/
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/12.7e8e6802.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/12.f5d67101.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/13.d3eff8e1.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/13.ac89c359.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -167,6 +167,6 @@ EOF</span>
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/13.d3eff8e1.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/13.ac89c359.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/14.3d4b0220.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/14.cd5e7136.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -53,6 +53,6 @@ nacos/nacos-server:1.4.2
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/14.3d4b0220.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/14.cd5e7136.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/15.618bada7.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/15.4e37b949.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -42,6 +42,6 @@ redis <span class="token punctuation">\</span>
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/15.618bada7.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/15.4e37b949.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/16.f1865f2e.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/16.39b5f0a9.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -154,6 +154,6 @@ secrets <span class="token function">file</span> <span class="token operator">=<
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/16.f1865f2e.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/16.39b5f0a9.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/18.e9926aa4.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/18.a6a0f06e.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -77,6 +77,6 @@ BEFORE <span class="token keyword">INSERT</span> <span class="token keyword">ON<
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/18.e9926aa4.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/18.a6a0f06e.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/17.c2e36571.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/17.8e0cb8c8.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/17.c2e36571.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/17.8e0cb8c8.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/19.791523ad.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/19.fab778fa.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -250,6 +250,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/19.791523ad.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/19.fab778fa.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/7.120c22d9.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/7.120c22d9.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -37,6 +37,6 @@
</a></p></header> <div class="features"><div class="feature"><h2>分布式</h2> <p>支持多台判题服务随时增减</p></div><div class="feature"><h2>高效化</h2> <p>采用前后端分离,开发迅速,使用高性能可复用判题沙盒</p></div><div class="feature"><h2>定制化</h2> <p>网站高度集中配置,支持定制化修改</p></div><div class="feature"><h2>安全化</h2> <p>判题使用 cgroup 隔离用户程序,网站权限控制完善</p></div><div class="feature"><h2>多样化</h2> <p>独有自身判题服务同时支持其它知名OJ题目的提交判题</p></div></div> <div class="theme-default-content custom content__default"></div> <div class="footer">
MIT Licensed | Copyright © 2021.06.14 @Author Himit_ZH QQ Group:598587305
</div></main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/7.120c22d9.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/7.120c22d9.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/21.3dac3195.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/21.3dac3195.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -38,6 +38,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/21.3dac3195.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/21.3dac3195.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/20.11610ba1.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/20.6241150b.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -33,6 +33,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/20.11610ba1.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/20.6241150b.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/23.e74b402f.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/23.4545af3b.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/23.e74b402f.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/23.4545af3b.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/24.e4e8588b.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/24.e4e8588b.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/24.e4e8588b.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/24.e4e8588b.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/25.69a7c9d2.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/25.69a7c9d2.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/25.69a7c9d2.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/25.69a7c9d2.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/26.19fbb6f2.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/26.02331534.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -108,6 +108,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/26.19fbb6f2.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/26.02331534.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/27.15b97f2f.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/27.53a876b4.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/27.15b97f2f.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/27.53a876b4.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/22.5a29a611.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/22.2e9ffb3f.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/22.5a29a611.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/22.2e9ffb3f.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/28.9a189dff.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/28.22b57d4d.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -28,7 +28,7 @@
Github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://blog.csdn.net/weixin_43853097" target="_blank" rel="noopener noreferrer" class="nav-link external">
作者首页
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始介绍</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>部署文档</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开发文档</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>使用文档</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/docs/use/" aria-current="page" class="sidebar-link">使用简介</a></li><li><a href="/docs/use/testcase.html" class="sidebar-link">测试用例</a></li><li><a href="/docs/use/contest.html" class="sidebar-link">比赛介绍</a></li><li><a href="/docs/use/import-problem.html" class="sidebar-link">题目管理</a></li><li><a href="/docs/use/import-user.html" class="sidebar-link">导入用户</a></li><li><a href="/docs/use/admin-user.html" class="sidebar-link">用户管理</a></li><li><a href="/docs/use/discussion-admin.html" class="sidebar-link">评论管理</a></li><li><a href="/docs/use/multi-judgeserver.html" aria-current="page" class="active sidebar-link">多个判题机</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/docs/use/multi-judgeserver.html#前言" class="sidebar-link">前言</a></li><li class="sidebar-sub-header"><a href="/docs/use/multi-judgeserver.html#单体部署" class="sidebar-link">单体部署</a></li><li class="sidebar-sub-header"><a href="/docs/use/multi-judgeserver.html#分布式部署" class="sidebar-link">分布式部署</a></li></ul></li><li><a href="/docs/use/update-fe.html" class="sidebar-link">自定义前端</a></li><li><a href="/docs/use/spj.html" class="sidebar-link">特殊判题</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="多个判题机"><a href="#多个判题机" class="header-anchor">#</a> 多个判题机</h1> <h2 id="前言"><a href="#前言" class="header-anchor">#</a> 前言</h2> <p>不同判题机之间是通过rsync进行数据同步的所以需要配置相应的rsync服务。</p> <p>同时注意以下两点:</p> <ol><li>保证rsync-slave服务的密码与主服务rsync-master的数据同步密码一致</li> <li>rsync-slave服务判题机服务器拉取主服务rsync-master的评测数据是每100s一次所以后台上传评测数据后需等待大概100s才能正常判题。</li></ol> <h2 id="单体部署"><a href="#单体部署" class="header-anchor">#</a> 单体部署</h2> <p>如果之前是选择了单体部署也就是主服务器既有backend和judgeserver服务那么部署更多不同服务器的判题机应该如下修改</p> <ol><li><p>在原先运行的服务器上,修改<code>hoj-deploy/standAlone</code>文件夹里面的<code>docker-compose.yml</code><strong>添加以下rsync-master服务</strong>,数据同步密码请自行修改,如下:</p> <div class="language-yaml line-numbers-mode"><pre class="language-yaml"><code><span class="token key atrule">hoj-rsync-master</span><span class="token punctuation">:</span>
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始介绍</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>部署文档</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开发文档</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>使用文档</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/docs/use/" aria-current="page" class="sidebar-link">使用简介</a></li><li><a href="/docs/use/testcase.html" class="sidebar-link">测试用例</a></li><li><a href="/docs/use/contest.html" class="sidebar-link">比赛介绍</a></li><li><a href="/docs/use/import-problem.html" class="sidebar-link">题目管理</a></li><li><a href="/docs/use/import-user.html" class="sidebar-link">导入用户</a></li><li><a href="/docs/use/admin-user.html" class="sidebar-link">用户管理</a></li><li><a href="/docs/use/discussion-admin.html" class="sidebar-link">评论管理</a></li><li><a href="/docs/use/multi-judgeserver.html" aria-current="page" class="active sidebar-link">多个判题机</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/docs/use/multi-judgeserver.html#前言" class="sidebar-link">前言</a></li><li class="sidebar-sub-header"><a href="/docs/use/multi-judgeserver.html#单体部署" class="sidebar-link">单体部署</a></li><li class="sidebar-sub-header"><a href="/docs/use/multi-judgeserver.html#分布式部署" class="sidebar-link">分布式部署</a></li></ul></li><li><a href="/docs/use/update-fe.html" class="sidebar-link">自定义前端</a></li><li><a href="/docs/use/spj.html" class="sidebar-link">特殊判题</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="多个判题机"><a href="#多个判题机" class="header-anchor">#</a> 多个判题机</h1> <h2 id="前言"><a href="#前言" class="header-anchor">#</a> 前言</h2> <p>不同判题机之间是通过rsync进行数据同步的所以需要配置相应的rsync服务。</p> <p>同时注意以下两点:</p> <ol><li>保证rsync-slave服务的密码与主服务rsync-master的数据同步密码一致</li> <li>rsync-slave服务判题机服务器拉取主服务rsync-master的评测数据是每100s一次所以后台上传评测数据后需等待大概100s才能正常判题。</li></ol> <h2 id="单体部署"><a href="#单体部署" class="header-anchor">#</a> 单体部署</h2> <p>如果之前是选择了单体部署也就是主服务器既有backend和judgeserver服务那么部署更多不同服务器的判题机应该如下修改</p> <ol><li><p>在原先运行的服务器上,修改<code>hoj-deploy/standAlone</code>文件夹里面的<code>docker-compose.yml</code><strong>添加以下rsync-master服务</strong>,数据同步密码请自行修改,如下:</p> <p><strong>注意如果云服务器有防火墙请开启88483306873端口</strong></p> <div class="language-yaml line-numbers-mode"><pre class="language-yaml"><code><span class="token key atrule">hoj-rsync-master</span><span class="token punctuation">:</span>
<span class="token key atrule">image</span><span class="token punctuation">:</span> registry.cn<span class="token punctuation">-</span>shenzhen.aliyuncs.com/hcode/hoj_rsync<span class="token punctuation">:</span><span class="token number">1.0</span>
<span class="token key atrule">container_name</span><span class="token punctuation">:</span> hoj<span class="token punctuation">-</span>rsync<span class="token punctuation">-</span>master
<span class="token key atrule">volumes</span><span class="token punctuation">:</span>
@ -39,7 +39,7 @@
<span class="token punctuation">-</span> RSYNC_PASSWORD=hoj123456 <span class="token comment"># 请修改数据同步密码</span>
<span class="token key atrule">ports</span><span class="token punctuation">:</span>
<span class="token punctuation">-</span> <span class="token string">&quot;0.0.0.0:873:873&quot;</span>
</code></pre> <div class="line-numbers-wrapper"><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></li> <li><p>在其它服务器判题机服务器中使用docker-compose运行judgeserver服务具体操作如下</p> <ol><li><p>下载文件,进入到指定文件夹</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code><span class="token function">git</span> clone https://gitee.com/himitzh0730/hoj-deploy.git <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">cd</span> hoj-deploy/distributed/judgeserver
</code></pre> <div class="line-numbers-wrapper"><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></li> <li><p>在其它服务器判题机服务器中使用docker-compose运行judgeserver服务具体操作如下</p> <p><strong>注意如果云服务器有防火墙请开启8088端口号需要将判题服务暴露出去</strong></p> <ol><li><p>下载文件,进入到指定文件夹</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code><span class="token function">git</span> clone https://gitee.com/himitzh0730/hoj-deploy.git <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">cd</span> hoj-deploy/distributed/judgeserver
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div></li> <li><p>修改配置<code>.env</code>文件,里面的nacos参数judgeServerrsync的参数请正确修改</p> <div class="language-properties line-numbers-mode"><pre class="language-properties"><code><span class="token comment"># nacos的配置</span>
<span class="token comment"># 修改为nacos所在服务的ip</span>
<span class="token attr-name">NACOS_HOST</span><span class="token punctuation">=</span><span class="token attr-value">NACOS_HOST</span>
@ -68,7 +68,9 @@
<span class="token comment"># 与主服务器的rsync密码一致</span>
<span class="token attr-name">RSYNC_PASSWORD</span><span class="token punctuation">=</span><span class="token attr-value">hoj123456</span>
</code></pre> <div class="line-numbers-wrapper"><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><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br></div></div></li> <li><p>启动即可</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code>docker-compose up -d
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div></li></ol></li></ol> <h2 id="分布式部署"><a href="#分布式部署" class="header-anchor">#</a> 分布式部署</h2> <ol><li><p>如果之前已经选择了分布式部署,那么增加判题机,则与原先启动判题机的操作一样即可,在新的服务器上操作如下:</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code><span class="token function">git</span> clone https://gitee.com/himitzh0730/hoj-deploy.git <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">cd</span> hoj-deploy/distributed/judgeserver
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div></li> <li><p>验证:</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>访问 http://ip:8088/version
如果返回信息正常即启动成功!
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div></li></ol></li></ol> <h2 id="分布式部署"><a href="#分布式部署" class="header-anchor">#</a> 分布式部署</h2> <ol><li><p>如果之前已经选择了分布式部署,那么增加判题机,则与原先启动判题机的操作一样即可,在新的服务器上操作如下:</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code><span class="token function">git</span> clone https://gitee.com/himitzh0730/hoj-deploy.git <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">cd</span> hoj-deploy/distributed/judgeserver
<span class="token function">vim</span> .env
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div></li> <li><p>修改<code>.env</code>的配置</p> <div class="language-properties line-numbers-mode"><pre class="language-properties"><code><span class="token comment"># nacos的配置</span>
<span class="token comment"># 修改为nacos所在服务的ip</span>
@ -107,6 +109,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/28.9a189dff.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/28.22b57d4d.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/29.87a95cdc.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/29.87a95cdc.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -73,6 +73,6 @@
<a href="/docs/use/update-fe.html" class="prev">
自定义前端
</a></span> <!----></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/29.87a95cdc.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/29.87a95cdc.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/30.f12254c0.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/30.f12254c0.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/31.772200ed.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -45,6 +45,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/30.f12254c0.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/30.f12254c0.js" defer></script>
</body>
</html>

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/docs/img/favicon.ico">
<meta name="description" content="HOJ 的开发与使用文档">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.63ca3828.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/31.772200ed.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.894fec34.js"><link rel="prefetch" href="/docs/assets/js/11.44da1378.js"><link rel="prefetch" href="/docs/assets/js/12.7e8e6802.js"><link rel="prefetch" href="/docs/assets/js/13.d3eff8e1.js"><link rel="prefetch" href="/docs/assets/js/14.3d4b0220.js"><link rel="prefetch" href="/docs/assets/js/15.618bada7.js"><link rel="prefetch" href="/docs/assets/js/16.f1865f2e.js"><link rel="prefetch" href="/docs/assets/js/17.c2e36571.js"><link rel="prefetch" href="/docs/assets/js/18.e9926aa4.js"><link rel="prefetch" href="/docs/assets/js/19.791523ad.js"><link rel="prefetch" href="/docs/assets/js/20.11610ba1.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.5a29a611.js"><link rel="prefetch" href="/docs/assets/js/23.e74b402f.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.19fbb6f2.js"><link rel="prefetch" href="/docs/assets/js/27.15b97f2f.js"><link rel="prefetch" href="/docs/assets/js/28.9a189dff.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.d67efa58.js"><link rel="prefetch" href="/docs/assets/js/9.9cedc787.js">
<link rel="preload" href="/docs/assets/css/0.styles.0538ca31.css" as="style"><link rel="preload" href="/docs/assets/js/app.65c8b032.js" as="script"><link rel="preload" href="/docs/assets/js/2.3e9bf4c9.js" as="script"><link rel="preload" href="/docs/assets/js/31.772200ed.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.8a54dd52.js"><link rel="prefetch" href="/docs/assets/js/11.41b16e2f.js"><link rel="prefetch" href="/docs/assets/js/12.f5d67101.js"><link rel="prefetch" href="/docs/assets/js/13.ac89c359.js"><link rel="prefetch" href="/docs/assets/js/14.cd5e7136.js"><link rel="prefetch" href="/docs/assets/js/15.4e37b949.js"><link rel="prefetch" href="/docs/assets/js/16.39b5f0a9.js"><link rel="prefetch" href="/docs/assets/js/17.8e0cb8c8.js"><link rel="prefetch" href="/docs/assets/js/18.a6a0f06e.js"><link rel="prefetch" href="/docs/assets/js/19.fab778fa.js"><link rel="prefetch" href="/docs/assets/js/20.6241150b.js"><link rel="prefetch" href="/docs/assets/js/21.3dac3195.js"><link rel="prefetch" href="/docs/assets/js/22.2e9ffb3f.js"><link rel="prefetch" href="/docs/assets/js/23.4545af3b.js"><link rel="prefetch" href="/docs/assets/js/24.e4e8588b.js"><link rel="prefetch" href="/docs/assets/js/25.69a7c9d2.js"><link rel="prefetch" href="/docs/assets/js/26.02331534.js"><link rel="prefetch" href="/docs/assets/js/27.53a876b4.js"><link rel="prefetch" href="/docs/assets/js/28.22b57d4d.js"><link rel="prefetch" href="/docs/assets/js/29.87a95cdc.js"><link rel="prefetch" href="/docs/assets/js/3.646ec45b.js"><link rel="prefetch" href="/docs/assets/js/30.f12254c0.js"><link rel="prefetch" href="/docs/assets/js/4.3f3da556.js"><link rel="prefetch" href="/docs/assets/js/5.abc1b238.js"><link rel="prefetch" href="/docs/assets/js/6.f86b5401.js"><link rel="prefetch" href="/docs/assets/js/7.120c22d9.js"><link rel="prefetch" href="/docs/assets/js/8.bb76cd0d.js"><link rel="prefetch" href="/docs/assets/js/9.8282f251.js">
<link rel="stylesheet" href="/docs/assets/css/0.styles.0538ca31.css">
</head>
<body>
@ -55,6 +55,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/assets/js/app.63ca3828.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/31.772200ed.js" defer></script>
<script src="/docs/assets/js/app.65c8b032.js" defer></script><script src="/docs/assets/js/2.3e9bf4c9.js" defer></script><script src="/docs/assets/js/31.772200ed.js" defer></script>
</body>
</html>

View File

@ -119,6 +119,10 @@ Password: 开启SMTP服务后生成的随机授权码
## 二、分布式部署
> 注意主服务器运行nacosbackend, frontend,redis的服务器防火墙请开 **88483306873**端口号
>
> 从服务器(判题机)的防火墙请开**8088**端口号
1. 选择好需要安装的位置,运行下面命令
```shell

View File

@ -15,6 +15,8 @@
1. 在原先运行的服务器上,修改`hoj-deploy/standAlone`文件夹里面的`docker-compose.yml`**添加以下rsync-master服务**,数据同步密码请自行修改,如下:
**注意如果云服务器有防火墙请开启88483306873端口**
```yaml
hoj-rsync-master:
image: registry.cn-shenzhen.aliyuncs.com/hcode/hoj_rsync:1.0
@ -31,6 +33,10 @@
2. 在其它服务器判题机服务器中使用docker-compose运行judgeserver服务具体操作如下
**注意如果云服务器有防火墙请开启8088端口号需要将判题服务暴露出去**
1. 下载文件,进入到指定文件夹
```shell
@ -74,8 +80,17 @@
```shell
docker-compose up -d
```
4. 验证:
```
访问 http://ip:8088/version
如果返回信息正常即启动成功!
```
## 分布式部署
@ -118,6 +133,7 @@
# 与主服务器的rsync密码一致
RSYNC_PASSWORD=hoj123456
```
3. 修改完保存,启动即可。

View File

@ -4,11 +4,15 @@
*.jar
*.war
*.ear
*.log
*.iml
.DS_Store
node_modules
dist/
target/
out/
.idea/
.classpath
.project

View File

@ -8,8 +8,8 @@
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="api" />
<module name="DataBackup" />
<module name="JudgeServer" />
<module name="DataBackup" />
</profile>
</annotationProcessing>
</component>

View File

@ -8,6 +8,7 @@ import cn.hutool.core.text.UnicodeUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ZipUtil;
import cn.hutool.core.io.file.FileWriter;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
@ -165,6 +166,10 @@ public class FileController {
.setType("avatar")
.setUid(userRolesVo.getUid());
fileService.saveOrUpdate(imgFile);
// 更新session
userRolesVo.setAvatar(Constants.File.IMG_API.getPath() + filename);
session.setAttribute("userInfo", userRolesVo);
return CommonResult.successResponse(MapUtil.builder()
.put("uid", userRolesVo.getUid())
.put("username", userRolesVo.getUsername())

View File

@ -445,6 +445,9 @@ public class AccountController {
resp.put("msg", "修改密码成功您将于5秒钟后退出进行重新登录操作");
// 清空记录
redisUtils.del(countKey);
// 更新session
userRolesVo.setPassword(SecureUtil.md5(newPassword));
session.setAttribute("userInfo", userRolesVo);
return CommonResult.successResponse(resp, "修改密码成功!");
} else {
return CommonResult.errorResponse("系统错误:修改密码失败!", CommonResult.STATUS_ERROR);
@ -537,6 +540,9 @@ public class AccountController {
.map());
// 清空记录
redisUtils.del(countKey);
// 更新session
userRolesVo.setEmail(newEmail);
session.setAttribute("userInfo", userRolesVo);
return CommonResult.successResponse(resp, "修改邮箱成功!");
} else {
return CommonResult.errorResponse("系统错误:修改邮箱失败!", CommonResult.STATUS_ERROR);
@ -590,6 +596,10 @@ public class AccountController {
boolean result = userInfoDao.updateById(userInfo);
if (result) {
// 更新session
UserRolesVo userRoles = userRoleDao.getUserRoles(userRolesVo.getUid(), null);
session.setAttribute("userInfo", userRoles);
return CommonResult.successResponse(MapUtil.builder()
.put("uid", userRolesVo.getUid())
.put("username", userRolesVo.getUsername())