Initial commit (code only without large binaries)

This commit is contained in:
robin
2026-02-15 18:58:44 +08:00
commit 35df75498f
9442 changed files with 1495866 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
{$layout "layout_popup"}
<h3>添加自定义页面</h3>
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
<input type="hidden" name="exceptURLPatternsJSON" :value="JSON.stringify(exceptURLPatterns)"/>
<input type="hidden" name="onlyURLPatternsJSON" :value="JSON.stringify(onlyURLPatterns)"/>
<table class="ui table selectable definition">
<tr>
<td class="title">响应状态码 *</td>
<td>
<input type="text" name="status" size="3" placeholder="状态码" maxlength="3" style="width:5.2em" ref="focus"/>
<p class="comment">匹配的响应状态码比如404或者50x。</p>
</td>
</tr>
<tr>
<td>内容类型 *</td>
<td>
<select class="ui dropdown auto-width" name="bodyType" v-model="bodyType">
<option v-for="bodyType in bodyTypes" :value="bodyType.code">{{bodyType.name}}</option>
</select>
</td>
</tr>
<tr v-show="bodyType == 'html'">
<td>显示页面HTML *</td>
<td>
<textarea name="body" ref="htmlBody" rows="7"></textarea>
<p class="comment"><a href="" @click.prevent="addHTMLTemplate">[使用模板]</a>。填写页面的HTML内容支持请求变量。</p>
</td>
</tr>
<tr v-if="bodyType == 'url'">
<td>显示页面URL *</td>
<td>
<input type="text" name="url" maxlength="500" placeholder="类似于 https://example.com/page.html"/>
<p class="comment">将从此URL中读取内容。</p>
</td>
</tr>
<tr v-if="bodyType == 'redirectURL'">
<td>跳转到URL *</td>
<td>
<input type="text" name="url" maxlength="500" placeholder="类似于 https://example.com/page.html"/>
<p class="comment">将会跳转到此URL支持使用变量。</p>
</td>
</tr>
<tr>
<td colspan="2"><more-options-indicator></more-options-indicator></td>
</tr>
<tbody v-show="moreOptionsVisible">
<tr>
<td>例外URL &nbsp;<tip-icon content="对这些URL将不做任何限制。"></tip-icon></td>
<td><url-patterns-box v-model="exceptURLPatterns"></url-patterns-box></td>
</tr>
<tr>
<td>限制URL &nbsp;<tip-icon content="只对这些URL做限制。"></tip-icon></td>
<td><url-patterns-box v-model="onlyURLPatterns"></url-patterns-box></td>
</tr>
<tr>
<td>新状态码</td>
<td>
<input type="text" name="newStatus" size="3" placeholder="状态码" maxlength="3" style="width:5.2em"/>
<p class="comment">可以用来修改响应的状态码,不填表示不改变原有状态码。</p>
</td>
</tr>
</tbody>
</table>
<submit-btn></submit-btn>
</form>

View File

@@ -0,0 +1,28 @@
Tea.context(function () {
this.bodyType = this.bodyTypes[0].code
this.addHTMLTemplate = function () {
this.$refs.htmlBody.value = `<!DOCTYPE html>
<html lang="en">
<head>
\t<title>\${status} \${statusMessage}</title>
\t<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
\t<style>
\t\taddress { line-height: 1.8; }
\t</style>
</head>
<body>
<h1>\${status} \${statusMessage}</h1>
<p><!-- 内容 --></p>
<address>Connection: \${remoteAddr} (Client) -&gt; \${serverAddr} (Server)</address>
<address>Request ID: \${requestId}</address>
</body>
</html>`
}
this.exceptURLPatterns = []
this.onlyURLPatterns = []
})

View File

@@ -0,0 +1,18 @@
{$layout}
{$template "../settings_menu"}
{$template "/left_menu_with_menu"}
<div class="right-box with-menu">
<div v-if="hasGroupConfig">
<div class="margin"></div>
<warning-message>由于已经在当前<a :href="groupSettingURL">网站分组</a>中进行了对应的配置,在这里的配置将不会生效。</warning-message>
</div>
<div :class="{'opacity-mask': hasGroupConfig}">
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
<input type="hidden" name="webId" :value="webId"/>
<http-pages-and-shutdown-box :v-pages="pages" :v-shutdown-config="shutdownConfig" :v-enable-global-pages="enableGlobalPages"></http-pages-and-shutdown-box>
<submit-btn></submit-btn>
</form>
</div>
</div>

View File

@@ -0,0 +1,3 @@
Tea.context(function () {
this.success = NotifyReloadSuccess("保存成功")
})

View File

@@ -0,0 +1,66 @@
{$layout "layout_popup"}
<h3>修改自定义页面</h3>
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
<input type="hidden" name="pageId" :value="pageConfig.id"/>
<input type="hidden" name="exceptURLPatternsJSON" :value="JSON.stringify(pageConfig.exceptURLPatterns)"/>
<input type="hidden" name="onlyURLPatternsJSON" :value="JSON.stringify(pageConfig.onlyURLPatterns)"/>
<table class="ui table selectable definition">
<tr>
<td class="title">响应状态码 *</td>
<td>
<input type="text" name="status" size="3" placeholder="状态码" maxlength="3" style="width:5.2em" ref="focus" v-model="pageConfig.status"/>
<p class="comment">匹配的响应状态码比如404或者50x。</p>
</td>
</tr>
<tr>
<td>内容类型 *</td>
<td>
<select class="ui dropdown auto-width" name="bodyType" v-model="bodyType">
<option v-for="bodyType in bodyTypes" :value="bodyType.code">{{bodyType.name}}</option>
</select>
</td>
</tr>
<tr v-show="bodyType == 'html'">
<td>显示页面HTML *</td>
<td>
<textarea name="body" ref="htmlBody" v-model="pageConfig.body"></textarea>
<p class="comment"><a href="" @click.prevent="addHTMLTemplate">[使用模板]</a>。填写页面的HTML内容支持请求变量。</p>
</td>
</tr>
<tr v-if="bodyType == 'url'">
<td>显示页面URL *</td>
<td>
<input type="text" name="url" maxlength="500" placeholder="类似于 https://example.com/page.html" v-model="pageConfig.url"/>
<p class="comment">将从此URL中读取内容。</p>
</td>
</tr>
<tr v-if="bodyType == 'redirectURL'">
<td>跳转到URL *</td>
<td>
<input type="text" name="url" maxlength="500" placeholder="类似于 https://example.com/page.html" v-model="pageConfig.url"/>
<p class="comment">将会跳转到此URL支持使用变量。</p>
</td>
</tr>
<tr>
<td colspan="2"><more-options-indicator></more-options-indicator></td>
</tr>
<tbody v-show="moreOptionsVisible">
<tr>
<td>例外URL &nbsp;<tip-icon content="对这些URL将不做任何限制。"></tip-icon></td>
<td><url-patterns-box v-model="pageConfig.exceptURLPatterns"></url-patterns-box></td>
</tr>
<tr>
<td>限制URL &nbsp;<tip-icon content="只对这些URL做限制。"></tip-icon></td>
<td><url-patterns-box v-model="pageConfig.onlyURLPatterns"></url-patterns-box></td>
</tr>
<tr>
<td>新状态码</td>
<td>
<input type="text" name="newStatus" size="3" placeholder="状态码" maxlength="3" style="width:5.2em" v-model="newStatus"/>
<p class="comment">可以用来修改响应的状态码,不填表示不改变原有状态码。</p>
</td>
</tr>
</tbody>
</table>
<submit-btn></submit-btn>
</form>

View File

@@ -0,0 +1,32 @@
Tea.context(function () {
this.success = NotifyPopup
this.bodyType = this.pageConfig.bodyType
this.newStatus = ""
if (this.pageConfig.newStatus > 0) {
this.newStatus = this.pageConfig.newStatus
}
this.addHTMLTemplate = function () {
this.$refs.htmlBody.value = `<!DOCTYPE html>
<html lang="en">
<head>
\t<title>\${status} \${statusMessage}</title>
\t<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
\t<style>
\t\taddress { line-height: 1.8; }
\t</style>
</head>
<body>
<h1>\${status} \${statusMessage}</h1>
<p><!-- 内容 --></p>
<address>Connection: \${remoteAddr} (Client) -&gt; \${serverAddr} (Server)</address>
<address>Request ID: \${requestId}</address>
</body>
</html>`
}
})