efront 4.23.9 → 4.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/#/345/233/275/351/231/205/345/214/226.yml +237 -0
- package/apps/pivot/#/345/233/275/351/231/205/345/214/226.yml +2 -0
- package/apps/pivot/auth/login.html +2 -1
- package/apps/pivot/auth/login.js +1 -0
- package/apps/pivot/auth/login.less +1 -0
- package/apps/pivot/cert/edit.js +1 -1
- package/apps/pivot/cert/list.js +1 -1
- package/apps/pivot/cert/main.xht +6 -6
- package/apps/pivot/cert/orders.xht +8 -8
- package/apps/pivot/cert/update.xht +3 -3
- package/apps/pivot/db/config.xht +1 -1
- package/apps/pivot/db/edit.xht +2 -2
- package/apps/pivot/db/list.xht +4 -4
- package/apps/pivot/dht/list.js +4 -4
- package/apps/pivot/dict/edit.js +1 -1
- package/apps/pivot/dict/list.js +1 -1
- package/apps/pivot/home/welcome.html +12 -9
- package/apps/pivot/home/welcome.js +3 -3
- package/apps/pivot/link/index.js +7 -4
- package/apps/pivot/link/list.html +2 -2
- package/apps/pivot/link/room.js +2 -2
- package/apps/pivot/main.js +2 -0
- package/apps/pivot/menu-en.yml +16 -0
- package/apps/pivot/proxy/edit.js +1 -1
- package/apps/pivot/proxy/list.js +2 -2
- package/apps/pivot/share/edit.html +3 -3
- package/apps/pivot/share/list.js +3 -3
- package/apps/pivot/task/edit.js +1 -1
- package/apps/pivot/task/invoke.html +1 -1
- package/apps/pivot/task/invoke.js +2 -2
- package/apps/pivot/task/list.js +3 -3
- package/apps/pivot/task/rsync.html +3 -3
- package/apps/pivot/task/rsync.js +1 -1
- package/apps/pivot/token/edit.js +1 -1
- package/apps/pivot/token/list.js +1 -1
- package/apps/pivot/wow/root.js +1 -1
- package/apps/pivot//344/270/273/351/241/265.html +1 -1
- package/coms/basic/#loader.js +7 -0
- package/coms/basic/cross_.js +4 -3
- package/coms/basic/i18n-chooser.xht +17 -0
- package/coms/basic/i18n-supports.js +30 -0
- package/coms/basic/i18n.js +25 -1
- package/coms/basic_/Promise.js +21 -18
- package/coms/basic_/WeakMap.js +12 -6
- package/coms/compile/Program.js +4 -4
- package/coms/frame/list.html +1 -1
- package/coms/frame/list.js +1 -1
- package/coms/frame/route.js +22 -9
- package/coms/pivot/left-footer.xht +4 -1
- package/coms/zimoli/chooseFile.js +1 -1
- package/coms/zimoli/cless.js +2 -2
- package/coms/zimoli/createUploadURL.js +1 -1
- package/coms/zimoli/field.html +1 -1
- package/coms/zimoli/field.js +1 -0
- package/coms/zimoli/menuItem.js +3 -1
- package/coms/zimoli/render.js +3 -2
- package/coms/zimoli/selectList.js +3 -3
- package/coms/zimoli/selectListEdit.html +5 -5
- package/coms/zimoli/yousure.js +2 -2
- package/coms/zimoli/zimoli.js +46 -15
- package/docs/main.xht +19 -6
- package/docs//345/267/245/345/205/267//345/233/275/351/231/205/345/214/226.xht +3 -36
- package/package.json +1 -1
- package/public/efront.js +1 -1
|
@@ -1,3 +1,231 @@
|
|
|
1
|
+
- zh-CN: 密钥管理
|
|
2
|
+
en: Key Management
|
|
3
|
+
|
|
4
|
+
- zh-CN: 任务
|
|
5
|
+
en: task
|
|
6
|
+
|
|
7
|
+
- zh-CN: 执行
|
|
8
|
+
en: execute
|
|
9
|
+
|
|
10
|
+
- zh-CN: 正在执行..
|
|
11
|
+
en: Executing
|
|
12
|
+
|
|
13
|
+
- zh-CN: 完成!
|
|
14
|
+
en: Done!
|
|
15
|
+
|
|
16
|
+
- zh-CN: 任务管理
|
|
17
|
+
en: task management
|
|
18
|
+
|
|
19
|
+
- zh-CN: 同步
|
|
20
|
+
en: synchronous
|
|
21
|
+
|
|
22
|
+
- zh-CN: 同步完成!
|
|
23
|
+
en: Synchronization completed!
|
|
24
|
+
|
|
25
|
+
- zh-CN: 同步任务
|
|
26
|
+
en: Synchronize tasks
|
|
27
|
+
|
|
28
|
+
- zh-CN: 当前
|
|
29
|
+
en: current
|
|
30
|
+
|
|
31
|
+
- zh-CN: 短链接
|
|
32
|
+
en: Short Link
|
|
33
|
+
|
|
34
|
+
- zh-CN: 访问
|
|
35
|
+
en: visit
|
|
36
|
+
|
|
37
|
+
- zh-CN: 自动刷新
|
|
38
|
+
en: auto refresh
|
|
39
|
+
|
|
40
|
+
- zh-CN: 新建连接
|
|
41
|
+
en: make new connection
|
|
42
|
+
|
|
43
|
+
- zh-CN: 房间
|
|
44
|
+
en: room
|
|
45
|
+
|
|
46
|
+
- zh-CN: 会话
|
|
47
|
+
en: conversation
|
|
48
|
+
|
|
49
|
+
- zh-CN: 连接
|
|
50
|
+
en: connect
|
|
51
|
+
|
|
52
|
+
- zh-CN: 未知
|
|
53
|
+
en: unknown
|
|
54
|
+
|
|
55
|
+
- zh-CN: 字典
|
|
56
|
+
en: dictionary
|
|
57
|
+
|
|
58
|
+
- zh-CN: 接口管理
|
|
59
|
+
en: Interfaces
|
|
60
|
+
|
|
61
|
+
- zh-CN: DHT服务器管理
|
|
62
|
+
en: DHT Server Management
|
|
63
|
+
|
|
64
|
+
- zh-CN: 从文件读取
|
|
65
|
+
en: Read from file
|
|
66
|
+
|
|
67
|
+
- zh-CN: 当前浏览器无法读取文件
|
|
68
|
+
en: The current browser is unable to read the file
|
|
69
|
+
|
|
70
|
+
- zh-CN: 读取文件失败!
|
|
71
|
+
en: Failed to read file!
|
|
72
|
+
|
|
73
|
+
- zh-CN: 请在支持window.crypto.subtle的浏览器上使用此页面的功能
|
|
74
|
+
en: Please use the functionality of this page on browsers that support window.crypto.subtle
|
|
75
|
+
|
|
76
|
+
- zh-CN: 检查账户
|
|
77
|
+
en: Check account
|
|
78
|
+
|
|
79
|
+
- zh-CN: 从证书列表同步
|
|
80
|
+
en: Synchronize from certificate list
|
|
81
|
+
|
|
82
|
+
- zh-CN: 暂无订单
|
|
83
|
+
en: No orders at the moment
|
|
84
|
+
|
|
85
|
+
- zh-CN: 删除订单
|
|
86
|
+
en: Delete Order
|
|
87
|
+
|
|
88
|
+
- zh-CN: 刷新
|
|
89
|
+
en: Refresh
|
|
90
|
+
|
|
91
|
+
- zh-CN: 提交审核
|
|
92
|
+
en: Submit for review
|
|
93
|
+
|
|
94
|
+
- zh-CN: 请求证书
|
|
95
|
+
en: Request certificate
|
|
96
|
+
|
|
97
|
+
- zh-CN: 查看证书
|
|
98
|
+
en: View Certificate
|
|
99
|
+
|
|
100
|
+
- zh-CN: 上传到服务器
|
|
101
|
+
en: Upload to server
|
|
102
|
+
|
|
103
|
+
- zh-CN: 订单异常
|
|
104
|
+
en: Order exception
|
|
105
|
+
|
|
106
|
+
- zh-CN: 执行更新
|
|
107
|
+
en: Perform updates
|
|
108
|
+
|
|
109
|
+
- zh-CN: 替换证书
|
|
110
|
+
en: Replace Certificate
|
|
111
|
+
|
|
112
|
+
- zh-CN: 保存计划
|
|
113
|
+
en: Save Plan
|
|
114
|
+
|
|
115
|
+
- zh-CN: 无法在当前浏览器操作!
|
|
116
|
+
en: Cannot operate in the current browser!
|
|
117
|
+
|
|
118
|
+
- zh-CN: 无法在当前浏览器操作!
|
|
119
|
+
en: Cannot operate in the current browser!
|
|
120
|
+
|
|
121
|
+
- zh-CN: 您确定要这么做吗?
|
|
122
|
+
en: Are you sure you want to do this?
|
|
123
|
+
|
|
124
|
+
- zh-CN: 当前操作需要您再次确认
|
|
125
|
+
en: The current operation requires your confirmation again
|
|
126
|
+
|
|
127
|
+
- zh-CN: 操作
|
|
128
|
+
en: operate
|
|
129
|
+
|
|
130
|
+
- zh-CN: 暂不支持跨服务器操作!
|
|
131
|
+
en: Cross server operations are not currently supported!
|
|
132
|
+
|
|
133
|
+
- zh-CN: 确认取消
|
|
134
|
+
en: Confirm Cancel
|
|
135
|
+
|
|
136
|
+
- zh-CN: 服务器版本
|
|
137
|
+
en: Server version
|
|
138
|
+
|
|
139
|
+
- zh-CN: nodejs版本
|
|
140
|
+
en: Node.js version
|
|
141
|
+
|
|
142
|
+
- zh-CN: 操作系统
|
|
143
|
+
en: operating system
|
|
144
|
+
|
|
145
|
+
- zh-CN: 处理器
|
|
146
|
+
en: processor
|
|
147
|
+
|
|
148
|
+
- zh-CN: 清理服务器缓存
|
|
149
|
+
en: Clean up server cache
|
|
150
|
+
|
|
151
|
+
- zh-CN: 重启服务器
|
|
152
|
+
en: Restart the server
|
|
153
|
+
|
|
154
|
+
- zh-CN: 重启
|
|
155
|
+
en: Restart
|
|
156
|
+
|
|
157
|
+
- zh-CN: 内存
|
|
158
|
+
en: Memory
|
|
159
|
+
|
|
160
|
+
- zh-CN: 可用
|
|
161
|
+
en: available
|
|
162
|
+
|
|
163
|
+
- zh-CN: 总内存
|
|
164
|
+
en: total memory
|
|
165
|
+
|
|
166
|
+
- zh-CN: 搜索或添加
|
|
167
|
+
en: Search or add
|
|
168
|
+
|
|
169
|
+
- zh-CN: 删除
|
|
170
|
+
en: delete
|
|
171
|
+
|
|
172
|
+
- zh-CN: 管理
|
|
173
|
+
en: manage
|
|
174
|
+
|
|
175
|
+
- zh-CN: 选项 $1 已存在!
|
|
176
|
+
en: Option $1 already exists!
|
|
177
|
+
|
|
178
|
+
- zh-CN: 切换语言
|
|
179
|
+
en: switch language
|
|
180
|
+
|
|
181
|
+
- zh-CN: 中文简体
|
|
182
|
+
en: Simplified Chinese
|
|
183
|
+
|
|
184
|
+
- zh-CN: 中文繁体
|
|
185
|
+
en: traditional Chinese
|
|
186
|
+
|
|
187
|
+
- zh-CN: 英文
|
|
188
|
+
en: English
|
|
189
|
+
|
|
190
|
+
- zh-CN: 葡萄牙语
|
|
191
|
+
en: Portuguese
|
|
192
|
+
|
|
193
|
+
- zh-CN: 波兰语
|
|
194
|
+
en: Polish
|
|
195
|
+
|
|
196
|
+
- zh-CN: 测试
|
|
197
|
+
en: test
|
|
198
|
+
|
|
199
|
+
- zh-CN: 全部测试
|
|
200
|
+
en: All Tests
|
|
201
|
+
|
|
202
|
+
- zh-CN: 添加可用链接
|
|
203
|
+
en: Add available links
|
|
204
|
+
|
|
205
|
+
- zh-CN: 配置
|
|
206
|
+
en: configuration
|
|
207
|
+
|
|
208
|
+
- zh-CN: 添加动作
|
|
209
|
+
en: Add action
|
|
210
|
+
|
|
211
|
+
- zh-CN: 编辑数据
|
|
212
|
+
en: Edit Data
|
|
213
|
+
|
|
214
|
+
- zh-CN: 请求方法错误
|
|
215
|
+
en: Request method error
|
|
216
|
+
|
|
217
|
+
- zh-CN: 商品数量过多,无法完成交易!
|
|
218
|
+
en: "Too many products, unable to complete transaction!"
|
|
219
|
+
|
|
220
|
+
- zh-CN: 商品信息已变更,请刷新页面后重新购买!
|
|
221
|
+
en: The product information has been changed. Please refresh the page and make a new purchase!
|
|
222
|
+
|
|
223
|
+
- zh-CN: 商品金额过大,交易无法进行
|
|
224
|
+
en: "The amount of the product is too large, and the transaction cannot proceed"
|
|
225
|
+
|
|
226
|
+
- zh-CN: 商品总价值过大,交易无法进行
|
|
227
|
+
en: "The total value of the product is too high, and the transaction cannot proceed"
|
|
228
|
+
|
|
1
229
|
- zh-CN: $1仅在开发环境存在,供开发者调试查看,$2
|
|
2
230
|
en: "$1 only exists in the development environment for developers to debug and view, $2"
|
|
3
231
|
|
|
@@ -2319,3 +2547,12 @@
|
|
|
2319
2547
|
|
|
2320
2548
|
- zh-CN: 这是一个空白项目
|
|
2321
2549
|
en: This is a blank project
|
|
2550
|
+
|
|
2551
|
+
- zh-CN: menu.yml
|
|
2552
|
+
en: menu-en.yml
|
|
2553
|
+
|
|
2554
|
+
- zh-CN: menu.yml
|
|
2555
|
+
en: menu-en.yml
|
|
2556
|
+
|
|
2557
|
+
- zh-CN: menu.yml
|
|
2558
|
+
en: menu-en.yml
|
package/apps/pivot/auth/login.js
CHANGED
package/apps/pivot/cert/edit.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
pedit.bind(null,
|
|
1
|
+
pedit.bind(null, i18n`证书`, "cert");
|
package/apps/pivot/cert/list.js
CHANGED
package/apps/pivot/cert/main.xht
CHANGED
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
</form>
|
|
77
77
|
<script>
|
|
78
78
|
var enabled = acme2.enabled;
|
|
79
|
-
if (!enabled) return [
|
|
79
|
+
if (!enabled) return [i18n`请在支持window.crypto.subtle的浏览器上使用此页面的功能`];
|
|
80
80
|
var form = view;
|
|
81
81
|
var activeIndex = 0;
|
|
82
82
|
var nosubmit = e => e.preventDefault();
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
}}
|
|
148
148
|
*邮箱/email email
|
|
149
149
|
/termsOfServiceAgreed/同意 checker ${{
|
|
150
|
-
async"
|
|
150
|
+
async"Let’s Encrypt Subscriber Agreement"(data) {
|
|
151
151
|
var termsOfService = await acme2.getTermsOfService();
|
|
152
152
|
if (termsOfService) window.open(termsOfService, "_blank", "popup,noopener,noreferer")
|
|
153
153
|
},
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
return formdata.kid ? i18n`已创建账户` : '';
|
|
158
158
|
},
|
|
159
159
|
options: {
|
|
160
|
-
async
|
|
160
|
+
async [i18n`检查账户`](actived) {
|
|
161
161
|
var params = submit(actived.fields, formdata);
|
|
162
162
|
await saveUnique(params);
|
|
163
163
|
formdata.kid = await acme2.getAccount(params);
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
},
|
|
166
166
|
},
|
|
167
167
|
actions: {
|
|
168
|
-
async
|
|
168
|
+
async [i18n`创建账户`](actived) {
|
|
169
169
|
if (formdata.kid) {
|
|
170
170
|
if (!await confirm(i18n`您已创建账户,请确认是否重新创建?`)) return;
|
|
171
171
|
}
|
|
@@ -186,13 +186,13 @@
|
|
|
186
186
|
*当前服务器的域名/domain/每行一个,不支持泛域名 text
|
|
187
187
|
`,
|
|
188
188
|
options: {
|
|
189
|
-
async
|
|
189
|
+
async [i18n`从证书列表同步`]() {
|
|
190
190
|
var a = await plist.load('cert', 'hostname');
|
|
191
191
|
formdata.domain = a.map(a => a.hostname).join('\r\n');
|
|
192
192
|
}
|
|
193
193
|
},
|
|
194
194
|
actions: {
|
|
195
|
-
async
|
|
195
|
+
async [i18n`创建订单`](actived) {
|
|
196
196
|
var params = submit(actived.fields, formdata);
|
|
197
197
|
await acme2.newOrder(params);
|
|
198
198
|
await saveUnique();
|
|
@@ -57,23 +57,23 @@
|
|
|
57
57
|
</style>
|
|
58
58
|
<xmenu -src="o of orders" @active="openOrder(o)"></xmenu>
|
|
59
59
|
<div -if="!order">
|
|
60
|
-
|
|
60
|
+
${i18n`暂无订单`}
|
|
61
61
|
</div>
|
|
62
62
|
<form -elseif="order.oid" onsubmit="event.preventDefault()">
|
|
63
63
|
<div body>
|
|
64
64
|
<field -repeat="f in fields" _src="[f,order]"></field>
|
|
65
65
|
</div>
|
|
66
66
|
<div foot>
|
|
67
|
-
<button -if="order?.removable" class="danger" confirm @click="dropOrder(order)"
|
|
68
|
-
<button -if="order.status==='processing'" @click="openOrder(order)"
|
|
69
|
-
<button -if="order.status==='pending'" @click="auditOrder(order)"
|
|
70
|
-
<button -if="order.status==='ready'" @click="finalize(order)"
|
|
71
|
-
<button -if="order.status==='valid'" @click="see(order)"
|
|
72
|
-
<button -if="order.shouldupload" @click="upload(order)"
|
|
67
|
+
<button -if="order?.removable" class="danger" confirm @click="dropOrder(order)">${i18n`删除订单`}</button>
|
|
68
|
+
<button -if="order.status==='processing'" @click="openOrder(order)">${i18n`刷新`}</button>
|
|
69
|
+
<button -if="order.status==='pending'" @click="auditOrder(order)">${i18n`提交审核`}</button>
|
|
70
|
+
<button -if="order.status==='ready'" @click="finalize(order)">${i18n`请求证书`}</button>
|
|
71
|
+
<button -if="order.status==='valid'" @click="see(order)">${i18n`查看证书`}</button>
|
|
72
|
+
<button -if="order.shouldupload" @click="upload(order)">${i18n`上传到服务器`}</button>
|
|
73
73
|
</div>
|
|
74
74
|
</form>
|
|
75
75
|
<div -else>
|
|
76
|
-
|
|
76
|
+
${i18n`订单异常`}
|
|
77
77
|
</div>
|
|
78
78
|
<script>
|
|
79
79
|
var fields = refilm`
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
<field -repeat="f in fields" -src="[f,acme2]"></field>
|
|
4
4
|
</div>
|
|
5
5
|
<div foot>
|
|
6
|
-
<a confirm @click="autoUpdate()"
|
|
7
|
-
<a @click="updateCert()"
|
|
8
|
-
<button @click="saveSchadule()"
|
|
6
|
+
<a confirm @click="autoUpdate()">${i18n`执行更新`}</a>
|
|
7
|
+
<a @click="updateCert()">${i18n`替换证书`}</a>
|
|
8
|
+
<button @click="saveSchadule()">${i18n`保存计划`}</button>
|
|
9
9
|
</div>
|
|
10
10
|
</form>
|
|
11
11
|
<script>
|
package/apps/pivot/db/config.xht
CHANGED
package/apps/pivot/db/edit.xht
CHANGED
package/apps/pivot/db/list.xht
CHANGED
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
}
|
|
26
26
|
</style>
|
|
27
27
|
<lattice body a-src="db in dbs">
|
|
28
|
-
<div insert><a @click="adddb"
|
|
28
|
+
<div insert><a @click="adddb">${i18n`添加`}</a></div>
|
|
29
29
|
<padding db>
|
|
30
30
|
<div>
|
|
31
31
|
<h2> ⩸ </h2>
|
|
32
32
|
<h2 -bind="db.name"></h2>
|
|
33
|
-
<a @click="go('/db/edit',db)"
|
|
34
|
-
<a @click="go('/db/config',db)"
|
|
33
|
+
<a @click="go('/db/edit',db)">${i18n`查看`}</a>
|
|
34
|
+
<a @click="go('/db/config',db)">${i18n`配置`}</a>
|
|
35
35
|
<drop @click.singly.stop="deldb(db)"></drop>
|
|
36
36
|
</div>
|
|
37
37
|
</padding>
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
await load();
|
|
54
54
|
};
|
|
55
55
|
var deldb = async function (db) {
|
|
56
|
-
var a = await prompt(i18n`输入名称以确认删除`, ["
|
|
56
|
+
var a = await prompt(i18n`输入名称以确认删除`, [i18n`删除` + "#danger", i18n`取消`], a => a === db.name, {
|
|
57
57
|
async submit(v) {
|
|
58
58
|
await data.from('dbdel', { id: v });
|
|
59
59
|
}
|
package/apps/pivot/dht/list.js
CHANGED
|
@@ -12,11 +12,11 @@ var fields = refilm`名称/name
|
|
|
12
12
|
return plist.bind({
|
|
13
13
|
fields,
|
|
14
14
|
type: 'nodes',
|
|
15
|
-
title:
|
|
15
|
+
title: i18n`DHT服务器管理`,
|
|
16
16
|
buttons: [{
|
|
17
|
-
name:
|
|
17
|
+
name: i18n`从文件读取`, async do() {
|
|
18
18
|
var FileReader = window.FileReader;
|
|
19
|
-
if (!FileReader) return alert(
|
|
19
|
+
if (!FileReader) return alert(i18n`当前浏览器无法读取文件`, 'warn')
|
|
20
20
|
var f = await chooseFile(".torrent", true);
|
|
21
21
|
var pg = await popup("/dht/rent");
|
|
22
22
|
var scope = $scoped.get(pg);
|
|
@@ -34,7 +34,7 @@ return plist.bind({
|
|
|
34
34
|
ok();
|
|
35
35
|
};
|
|
36
36
|
r.onerror = function () {
|
|
37
|
-
alert(
|
|
37
|
+
alert(i18n`读取文件失败!`, 'error');
|
|
38
38
|
oh();
|
|
39
39
|
};
|
|
40
40
|
r.readAsArrayBuffer(f);
|
package/apps/pivot/dict/edit.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
pedit.bind(null,
|
|
1
|
+
pedit.bind(null, i18n`字典`, "dict");
|
package/apps/pivot/dict/list.js
CHANGED
|
@@ -2,34 +2,37 @@
|
|
|
2
2
|
</block>
|
|
3
3
|
<block>
|
|
4
4
|
<padding>
|
|
5
|
-
|
|
5
|
+
${i18n`服务器版本`} <span -text="String(version)"></span>
|
|
6
6
|
</padding>
|
|
7
7
|
<padding>
|
|
8
|
-
nodejs
|
|
8
|
+
${i18n`nodejs版本`} <span -text="String(nodeVersion)"></span>
|
|
9
9
|
</padding>
|
|
10
10
|
<padding>
|
|
11
|
-
|
|
11
|
+
${i18n`操作系统`} <span -text="String(platform)"></span>
|
|
12
12
|
</padding>
|
|
13
13
|
<padding>
|
|
14
|
-
|
|
14
|
+
${i18n`处理器`}
|
|
15
|
+
<span -text="String(arch)"></span>
|
|
15
16
|
</padding>
|
|
16
17
|
</block>
|
|
17
18
|
<block>
|
|
18
19
|
<padding>
|
|
19
|
-
|
|
20
|
+
${i18n`清理服务器缓存`}
|
|
21
|
+
<btn @click="run('clear-cache',this)">${i18n`清理`}</btn>
|
|
20
22
|
</padding>
|
|
21
23
|
<padding>
|
|
22
|
-
|
|
24
|
+
${i18n`重启服务器`}
|
|
25
|
+
<btn @click="run('rehost',this)" confirm type="danger">${i18n`重启`}</btn>
|
|
23
26
|
</padding>
|
|
24
27
|
</block>
|
|
25
28
|
<block>
|
|
26
29
|
<padding>
|
|
27
|
-
|
|
30
|
+
${i18n`启动时间`} <span -text="filterTime(hrtime)"></span>
|
|
28
31
|
</padding>
|
|
29
32
|
<padding>
|
|
30
|
-
|
|
33
|
+
${i18n`内存`} <progbar danger:="memery[0]/memery[1]<.05" :current="memeryUsed" :total="memery[1]"></progbar>
|
|
31
34
|
<span style="color: #999;">
|
|
32
|
-
|
|
35
|
+
${i18n`可用`} <span -bind="size(memery[0])"></span> / ${i18n`总内存`}<span -bind="size(memery[1])"></span>
|
|
33
36
|
</span>
|
|
34
37
|
</padding>
|
|
35
38
|
</block>
|
package/apps/pivot/link/index.js
CHANGED
|
@@ -2,10 +2,13 @@ function index() {
|
|
|
2
2
|
var page = document.createElement('link-index');
|
|
3
3
|
page.innerHTML = template;
|
|
4
4
|
renderWithDefaults(page, {
|
|
5
|
-
menus:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
5
|
+
menus: [{
|
|
6
|
+
name: i18n`房间`,
|
|
7
|
+
path: '/link/room'
|
|
8
|
+
}, {
|
|
9
|
+
name: i18n`会话`,
|
|
10
|
+
path: '/link/list'
|
|
11
|
+
}],
|
|
9
12
|
saveIndex(index) {
|
|
10
13
|
data.setInstance('link-index', index);
|
|
11
14
|
},
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
</style>
|
|
17
17
|
<div head>
|
|
18
18
|
<span>
|
|
19
|
-
|
|
19
|
+
${i18n`自动刷新`}
|
|
20
20
|
</span>
|
|
21
21
|
<swap -model="autoreload"></swap>
|
|
22
|
-
<btn @click="chat()"
|
|
22
|
+
<btn @click="chat()">${i18n`新建连接`}</btn>
|
|
23
23
|
</div>
|
|
24
24
|
<div class="clusters">
|
|
25
25
|
<a -repeat="(c,i) in clusters" ng-class="{current:i===index.index}" @click="active(i,c)">
|
package/apps/pivot/link/room.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
plist.bind(null,
|
|
1
|
+
plist.bind(null, i18n`房间`, "room", refilm`
|
|
2
2
|
*房间名/name 100
|
|
3
3
|
/ $ ${[{
|
|
4
|
-
name:
|
|
4
|
+
name: i18n`连接`,
|
|
5
5
|
async do(o) {
|
|
6
6
|
var linkid = await data.from("room", { id: encode62.packencode(o.name) });
|
|
7
7
|
popup("/link/chat", { linkid, name: o.name });
|
package/apps/pivot/main.js
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Home Page: /home/welcome
|
|
2
|
+
WEB:
|
|
3
|
+
Path Redirects: /proxy/list
|
|
4
|
+
File Manager: /wow/root
|
|
5
|
+
Data Manager: /db/list
|
|
6
|
+
Living Link: /link/index
|
|
7
|
+
# Dictionary: /dict/list
|
|
8
|
+
Cert Manager: /cert/main
|
|
9
|
+
Shared Path: /share/list
|
|
10
|
+
Service:
|
|
11
|
+
Key Manager: /token/list
|
|
12
|
+
Task Manager: /task/list
|
|
13
|
+
Logs:
|
|
14
|
+
Visit Count: /log/count
|
|
15
|
+
Boot Log: /log/boot
|
|
16
|
+
# Shop: /shop/home
|
package/apps/pivot/proxy/edit.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
pedit.bind(null,
|
|
1
|
+
pedit.bind(null, i18n`短链接`, "proxy");
|
package/apps/pivot/proxy/list.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var actions = [
|
|
2
2
|
{
|
|
3
|
-
name:
|
|
3
|
+
name: i18n`访问`,
|
|
4
4
|
do(o) {
|
|
5
5
|
var url = o.url;
|
|
6
6
|
if (!/\//.test(url)) url = "//" + url;
|
|
@@ -16,4 +16,4 @@ var fields = refilm`
|
|
|
16
16
|
动作/action select/100 [跳转,转发]
|
|
17
17
|
状态/status select/100 [启用,禁用]
|
|
18
18
|
/ $ ${actions}`;
|
|
19
|
-
return plist.bind(null,
|
|
19
|
+
return plist.bind(null, i18n`短链接`, "proxy", fields, "/proxy/edit");
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<div head
|
|
1
|
+
<div head>${i18n`修改`}</div>
|
|
2
2
|
<div body>
|
|
3
3
|
<form>
|
|
4
4
|
<field -repeat="f in fields" -src="[f,data]"></field>
|
|
5
5
|
</form>
|
|
6
6
|
</div>
|
|
7
7
|
<div foot>
|
|
8
|
-
<btn white @click="close()"
|
|
9
|
-
<button @click="save()">
|
|
8
|
+
<btn white @click="close()">${i18n`取消`}</btn>
|
|
9
|
+
<button @click="save()"> ${i18n`保存`} </button>
|
|
10
10
|
</div>
|
package/apps/pivot/share/list.js
CHANGED
|
@@ -5,7 +5,7 @@ function main() {
|
|
|
5
5
|
var options = [
|
|
6
6
|
{
|
|
7
7
|
name(e) {
|
|
8
|
-
return this.confirm === e ?
|
|
8
|
+
return this.confirm === e ? i18n`确认取消` : i18n`取消`
|
|
9
9
|
},
|
|
10
10
|
type: 'danger',
|
|
11
11
|
confirm: false,
|
|
@@ -32,7 +32,7 @@ function main() {
|
|
|
32
32
|
});
|
|
33
33
|
},
|
|
34
34
|
fields: fields.concat({
|
|
35
|
-
name:
|
|
35
|
+
name: i18n`操作`,
|
|
36
36
|
width: 200,
|
|
37
37
|
type: 'button',
|
|
38
38
|
options,
|
|
@@ -42,7 +42,7 @@ function main() {
|
|
|
42
42
|
scope.load();
|
|
43
43
|
contextmenu(page, [
|
|
44
44
|
{
|
|
45
|
-
name:
|
|
45
|
+
name: i18n`添加`,
|
|
46
46
|
do(e) {
|
|
47
47
|
zimoli.prepare("/share/edit", function () {
|
|
48
48
|
var p = popup("/share/edit", { fields });
|
package/apps/pivot/task/edit.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
pedit.bind(null,
|
|
1
|
+
pedit.bind(null, i18n`任务`, "task");
|