InPanel 1.2.1__py3-none-any.whl
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.
- inpanel/__init__.py +29 -0
- inpanel/acme.py +289 -0
- inpanel/aliyuncs.py +269 -0
- inpanel/app.py +514 -0
- inpanel/apt.py +223 -0
- inpanel/base.py +200 -0
- inpanel/config.py +139 -0
- inpanel/data/config.ini +29 -0
- inpanel/data/history +5 -0
- inpanel/data/runlogs.ini +12 -0
- inpanel/data/update_info.ini +4 -0
- inpanel/dnf.py +225 -0
- inpanel/lib/__init__.py +9 -0
- inpanel/lib/async_process.py +98 -0
- inpanel/lib/filelock.py +82 -0
- inpanel/lib/magic.py +233 -0
- inpanel/lib/pxssh.py +310 -0
- inpanel/lib/pyDes.py +867 -0
- inpanel/mod/__init__.py +0 -0
- inpanel/mod/apt.py +316 -0
- inpanel/mod/certificate.py +268 -0
- inpanel/mod/config.py +372 -0
- inpanel/mod/cron.py +315 -0
- inpanel/mod/disk.py +322 -0
- inpanel/mod/dnf.py +239 -0
- inpanel/mod/file.py +722 -0
- inpanel/mod/firewall.py +199 -0
- inpanel/mod/firewall_base.py +137 -0
- inpanel/mod/firewall_firewalld.py +170 -0
- inpanel/mod/firewall_iptables.py +176 -0
- inpanel/mod/firewall_macos.py +213 -0
- inpanel/mod/firewall_ufw.py +128 -0
- inpanel/mod/ftp.py +231 -0
- inpanel/mod/httpd.py +1205 -0
- inpanel/mod/lighttpd.py +26 -0
- inpanel/mod/login.py +98 -0
- inpanel/mod/mysql.py +577 -0
- inpanel/mod/named.py +26 -0
- inpanel/mod/nginx.py +2327 -0
- inpanel/mod/package.py +33 -0
- inpanel/mod/package_apt.py +62 -0
- inpanel/mod/package_base.py +77 -0
- inpanel/mod/package_dnf.py +62 -0
- inpanel/mod/package_map.py +366 -0
- inpanel/mod/package_yum.py +64 -0
- inpanel/mod/php.py +289 -0
- inpanel/mod/process.py +291 -0
- inpanel/mod/proftpd.py +26 -0
- inpanel/mod/pureftpd.py +26 -0
- inpanel/mod/query.py +108 -0
- inpanel/mod/server.py +1319 -0
- inpanel/mod/service.py +262 -0
- inpanel/mod/setting.py +228 -0
- inpanel/mod/shell.py +78 -0
- inpanel/mod/ssh.py +280 -0
- inpanel/mod/system.py +220 -0
- inpanel/mod/task.py +1337 -0
- inpanel/mod/ufw.py +14 -0
- inpanel/mod/user.py +306 -0
- inpanel/mod/vsftpd.py +67 -0
- inpanel/mod/yum.py +243 -0
- inpanel/plugins/__init__.py +10 -0
- inpanel/plugins/__pycache__/__init__.cpython-313.pyc +0 -0
- inpanel/plugins/acme/static/index.html +10 -0
- inpanel/plugins/acme/static/index.js +13 -0
- inpanel/plugins/shadowsocks-libev/__pycache__/info.cpython-313.pyc +0 -0
- inpanel/plugins/shadowsocks-libev/info.py +73 -0
- inpanel/plugins/shadowsocks-libev/static/index.html +70 -0
- inpanel/plugins/shadowsocks-libev/static/index.js +18 -0
- inpanel/public/css/global.css +138 -0
- inpanel/public/favicon.ico +0 -0
- inpanel/public/images/alipay.jpg +0 -0
- inpanel/public/images/loading.gif +0 -0
- inpanel/public/images/weixin.jpg +0 -0
- inpanel/public/index.html +94 -0
- inpanel/public/js/controllers/controllers.js +566 -0
- inpanel/public/js/controllers/database.js +590 -0
- inpanel/public/js/controllers/ecs.js +624 -0
- inpanel/public/js/controllers/file.js +940 -0
- inpanel/public/js/controllers/plugins.js +105 -0
- inpanel/public/js/controllers/service.js +1460 -0
- inpanel/public/js/controllers/site.js +1241 -0
- inpanel/public/js/controllers/utils.js +2319 -0
- inpanel/public/js/core.js +221 -0
- inpanel/public/js/directives.js +784 -0
- inpanel/public/js/filters.js +395 -0
- inpanel/public/js/services.js +257 -0
- inpanel/public/lib/angular/1.0.2/angular-resource.min.js +10 -0
- inpanel/public/lib/angular/1.0.2/angular.min.js +158 -0
- inpanel/public/lib/bootstrap/css/bootstrap-theme.css +587 -0
- inpanel/public/lib/bootstrap/css/bootstrap-theme.css.map +1 -0
- inpanel/public/lib/bootstrap/css/bootstrap-theme.min.css +6 -0
- inpanel/public/lib/bootstrap/css/bootstrap-theme.min.css.map +1 -0
- inpanel/public/lib/bootstrap/css/bootstrap.css +6757 -0
- inpanel/public/lib/bootstrap/css/bootstrap.css.map +1 -0
- inpanel/public/lib/bootstrap/css/bootstrap.min.css +6 -0
- inpanel/public/lib/bootstrap/css/bootstrap.min.css.map +1 -0
- inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
- inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
- inpanel/public/lib/bootstrap/img/glyphicons-halflings-white.png +0 -0
- inpanel/public/lib/bootstrap/img/glyphicons-halflings.png +0 -0
- inpanel/public/lib/bootstrap/js/bootstrap.js +2377 -0
- inpanel/public/lib/bootstrap/js/bootstrap.min.js +7 -0
- inpanel/public/lib/bootstrap/js/npm.js +13 -0
- inpanel/public/lib/codemirror/codemirror-compressed.js +1 -0
- inpanel/public/lib/codemirror/codemirror.css +173 -0
- inpanel/public/lib/jquery/jquery-1.12.4.min.js +5 -0
- inpanel/public/lib/md5/md5.js +379 -0
- inpanel/public/lib/md5/md5.min.js +1 -0
- inpanel/public/partials/database/index.html +172 -0
- inpanel/public/partials/database/mysql/dbedit.html +462 -0
- inpanel/public/partials/database/mysql/dbnew.html +348 -0
- inpanel/public/partials/database/mysql/useredit.html +310 -0
- inpanel/public/partials/database/mysql/usernew.html +97 -0
- inpanel/public/partials/directives/message.html +20 -0
- inpanel/public/partials/directives/navbar.html +25 -0
- inpanel/public/partials/directives/selector.html +57 -0
- inpanel/public/partials/directives/srvbase.html +72 -0
- inpanel/public/partials/directives/srvext.html +34 -0
- inpanel/public/partials/directives/srvfile.html +23 -0
- inpanel/public/partials/directives/srvinstall.html +34 -0
- inpanel/public/partials/directives/srvlog.html +23 -0
- inpanel/public/partials/directives/srvminiop.html +28 -0
- inpanel/public/partials/directives/srvuninstall.html +38 -0
- inpanel/public/partials/directives/srvupdate.html +30 -0
- inpanel/public/partials/ecs/account.html +156 -0
- inpanel/public/partials/ecs/ecs.html +198 -0
- inpanel/public/partials/ecs/index.html +40 -0
- inpanel/public/partials/ecs/setings.html +459 -0
- inpanel/public/partials/file/file.html +501 -0
- inpanel/public/partials/file/trash.html +95 -0
- inpanel/public/partials/ftp.html +36 -0
- inpanel/public/partials/log.html +83 -0
- inpanel/public/partials/login.html +79 -0
- inpanel/public/partials/logout.html +22 -0
- inpanel/public/partials/main.html +534 -0
- inpanel/public/partials/plugins/index.html +55 -0
- inpanel/public/partials/plugins/plugins.html +13 -0
- inpanel/public/partials/secure.html +13 -0
- inpanel/public/partials/service/apache.html +147 -0
- inpanel/public/partials/service/cron.html +71 -0
- inpanel/public/partials/service/index.html +293 -0
- inpanel/public/partials/service/iptables.html +40 -0
- inpanel/public/partials/service/lighttpd.html +63 -0
- inpanel/public/partials/service/mariadb.html +113 -0
- inpanel/public/partials/service/memcache.html +36 -0
- inpanel/public/partials/service/minio.html +44 -0
- inpanel/public/partials/service/mongodb.html +44 -0
- inpanel/public/partials/service/mysql.html +113 -0
- inpanel/public/partials/service/named.html +61 -0
- inpanel/public/partials/service/nginx.html +296 -0
- inpanel/public/partials/service/ntp.html +40 -0
- inpanel/public/partials/service/php.html +250 -0
- inpanel/public/partials/service/proftpd.html +59 -0
- inpanel/public/partials/service/pureftpd.html +59 -0
- inpanel/public/partials/service/redis.html +40 -0
- inpanel/public/partials/service/samba.html +58 -0
- inpanel/public/partials/service/sendmail.html +40 -0
- inpanel/public/partials/service/ssh.html +186 -0
- inpanel/public/partials/service/tomcat.html +65 -0
- inpanel/public/partials/service/vsftpd.html +195 -0
- inpanel/public/partials/setting.html +299 -0
- inpanel/public/partials/site/apache/site.html +277 -0
- inpanel/public/partials/site/index.html +344 -0
- inpanel/public/partials/site/nginx/site.html +558 -0
- inpanel/public/partials/sorry.html +19 -0
- inpanel/public/partials/storage/autofm.html +103 -0
- inpanel/public/partials/storage/backup.html +42 -0
- inpanel/public/partials/storage/index.html +360 -0
- inpanel/public/partials/storage/migrate.html +93 -0
- inpanel/public/partials/storage/movedata.html +98 -0
- inpanel/public/partials/storage/remote.html +77 -0
- inpanel/public/partials/utils/cron.html +486 -0
- inpanel/public/partials/utils/firewall.html +266 -0
- inpanel/public/partials/utils/index.html +193 -0
- inpanel/public/partials/utils/network.html +118 -0
- inpanel/public/partials/utils/process.html +239 -0
- inpanel/public/partials/utils/repository.html +373 -0
- inpanel/public/partials/utils/shell.html +28 -0
- inpanel/public/partials/utils/ssl.html +319 -0
- inpanel/public/partials/utils/time.html +109 -0
- inpanel/public/partials/utils/user.html +359 -0
- inpanel/public/robots.txt +2 -0
- inpanel/remote.py +109 -0
- inpanel/templates/file/preview.html +34 -0
- inpanel/templates/index.html +93 -0
- inpanel/utils.py +282 -0
- inpanel/web.py +1811 -0
- inpanel/yum.py +756 -0
- inpanel-1.2.1.dist-info/METADATA +399 -0
- inpanel-1.2.1.dist-info/RECORD +198 -0
- inpanel-1.2.1.dist-info/WHEEL +5 -0
- inpanel-1.2.1.dist-info/entry_points.txt +2 -0
- inpanel-1.2.1.dist-info/licenses/LICENSE +30 -0
- inpanel-1.2.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<div navbar ng-init="currentItem='utils.ftp'"></div>
|
|
2
|
+
<div ng-show="!loaded">
|
|
3
|
+
<div loading></div>
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<div id="main" ng-show="loaded" style="display:none">
|
|
7
|
+
<div class="module-header">
|
|
8
|
+
<h3>FTP 管理</h3>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<p>FTP管理功能即将推出,敬请留意 InPanel 的版本更新。<a href="#/setting?s=upversion">检测新版本</a></p>
|
|
12
|
+
<p>我们建议您可以使用更为安全的 SFTP 工具来上传和管理文件,此类工具有 SecureFX、WinSCP 等。</p>
|
|
13
|
+
|
|
14
|
+
<div class="tabbable" ng-init="load()">
|
|
15
|
+
<ul class="nav nav-tabs">
|
|
16
|
+
<li ng-class="'active' | iftrue:activeTabName=='users'">
|
|
17
|
+
<a href="#users" ng-click="sec('users')" data-toggle="tab">用户</a>
|
|
18
|
+
</li>
|
|
19
|
+
<li ng-class="'active' | iftrue:activeTabName=='process'">
|
|
20
|
+
<a href="#process" ng-click="sec('process')" data-toggle="tab">进程</a>
|
|
21
|
+
</li>
|
|
22
|
+
</ul>
|
|
23
|
+
<div class="tab-content">
|
|
24
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='users'" id="users">
|
|
25
|
+
<div>
|
|
26
|
+
<p>FTP 用户列表、新增、删除、编辑</p>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='process'" id="process">
|
|
30
|
+
<div>
|
|
31
|
+
<p>FTP 进程:列表、查看、关闭</p>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<div navbar ng-init="currentItem='utils.log'"></div>
|
|
2
|
+
<div ng-show="!loaded">
|
|
3
|
+
<div loading></div>
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<div id="main" ng-show="loaded" style="display:none">
|
|
7
|
+
<div class="module-header">
|
|
8
|
+
<h3>日志管理</h3>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<p>日志管理功能即将推出,敬请留意 InPanel 的版本更新。<a href="#/setting?s=upversion">检测新版本</a></p>
|
|
12
|
+
<p>系统日志管理。</p>
|
|
13
|
+
<div class="tabbable">
|
|
14
|
+
<ul class="nav nav-tabs">
|
|
15
|
+
<li ng-class="'active' | iftrue:activeTabName=='emerg'">
|
|
16
|
+
<a href="#emerg" ng-click="sec('emerg')" data-toggle="tab">紧急</a>
|
|
17
|
+
</li>
|
|
18
|
+
<li ng-class="'active' | iftrue:activeTabName=='alert'">
|
|
19
|
+
<a href="#alert" ng-click="sec('alert')" data-toggle="tab">alert</a>
|
|
20
|
+
</li>
|
|
21
|
+
<li ng-class="'active' | iftrue:activeTabName=='crit'">
|
|
22
|
+
<a href="#crit" ng-click="sec('crit')" data-toggle="tab">危险</a>
|
|
23
|
+
</li>
|
|
24
|
+
<li ng-class="'active' | iftrue:activeTabName=='err'">
|
|
25
|
+
<a href="#err" ng-click="sec('err')" data-toggle="tab">错误</a>
|
|
26
|
+
</li>
|
|
27
|
+
<li ng-class="'active' | iftrue:activeTabName=='warning'">
|
|
28
|
+
<a href="#warning" ng-click="sec('warning')" data-toggle="tab">警告</a>
|
|
29
|
+
</li>
|
|
30
|
+
<li ng-class="'active' | iftrue:activeTabName=='notice'">
|
|
31
|
+
<a href="#notice" ng-click="sec('notice')" data-toggle="tab">通知</a>
|
|
32
|
+
</li>
|
|
33
|
+
<li ng-class="'active' | iftrue:activeTabName=='info'">
|
|
34
|
+
<a href="#info" ng-click="sec('info')" data-toggle="tab">信息</a>
|
|
35
|
+
</li>
|
|
36
|
+
<li ng-class="'active' | iftrue:activeTabName=='debug'">
|
|
37
|
+
<a href="#debug" ng-click="sec('debug')" data-toggle="tab">调试</a>
|
|
38
|
+
</li>
|
|
39
|
+
</ul>
|
|
40
|
+
<div class="tab-content">
|
|
41
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='emerg'" id="emerg">
|
|
42
|
+
<div>
|
|
43
|
+
<p>紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户。</p>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='alert'" id="alert">
|
|
47
|
+
<div>
|
|
48
|
+
<p>需要立即修复,例如系统数据库损坏。</p>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='crit'" id="crit">
|
|
52
|
+
<div>
|
|
53
|
+
<p>危险情况,例如硬盘错误,可能会阻碍程序的部分功能。</p>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='err'" id="err">
|
|
57
|
+
<div>
|
|
58
|
+
<p>一般错误消息。</p>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='warning'" id="warning">
|
|
62
|
+
<div>
|
|
63
|
+
<p>警告。</p>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='notice'" id="notice">
|
|
67
|
+
<div>
|
|
68
|
+
<p>不是错误,但是可能需要处理。</p>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='info'" id="info">
|
|
72
|
+
<div>
|
|
73
|
+
<p>通用性消息,一般用来提供有用信息。</p>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
<div class="tab-pane" ng-class="'active' | iftrue:activeTabName=='debug'" id="debug">
|
|
77
|
+
<div>
|
|
78
|
+
<p>调试程序产生的信息。</p>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<div ng-include src="'/api/xsrf'"></div>
|
|
2
|
+
|
|
3
|
+
<nav class="navbar navbar-default" ng-init="$parent.navbar_loaded=true">
|
|
4
|
+
<div class="container-fluid">
|
|
5
|
+
<div class="navbar-header">
|
|
6
|
+
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
|
|
7
|
+
<span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
|
|
8
|
+
</button>
|
|
9
|
+
<a class="navbar-brand" href="#/">InPanel</a>
|
|
10
|
+
</div>
|
|
11
|
+
<div id="navbar" class="collapse navbar-collapse">
|
|
12
|
+
<ul class="nav navbar-nav">
|
|
13
|
+
<li class="active"><a href="#/login">登录</a></li>
|
|
14
|
+
</ul>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</nav>
|
|
18
|
+
|
|
19
|
+
<div class="alert alert-warning" style="display:none;" ng-show="loginWarning">
|
|
20
|
+
<div class="container-fluid">
|
|
21
|
+
<p>{{loginMessage}}</p>
|
|
22
|
+
<p>系统检测到您当前密码安全等级为:<strong>“{{pwdStrength}}”</strong>。</p>
|
|
23
|
+
<p>为保障系统安全,建议您更换一个安全等级更高的密码。</p>
|
|
24
|
+
<p>高安全等级的密码具备以下特征:</p>
|
|
25
|
+
<p>
|
|
26
|
+
<ul>
|
|
27
|
+
<li>至少包含一个大写和小写字母</li>
|
|
28
|
+
<li>至少包含一个数字</li>
|
|
29
|
+
<li>至少包含一个特殊字符</li>
|
|
30
|
+
<li>密码长度至少为六位</li>
|
|
31
|
+
</ul>
|
|
32
|
+
</p>
|
|
33
|
+
<p style="margin-top:20px">
|
|
34
|
+
<a href="#/setting?s=authinfo" class="btn btn-primary">设置登录密码</a>
|
|
35
|
+
<a href="#/" class="btn btn-default">直接进入主界面</a>
|
|
36
|
+
</p>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<div id="main">
|
|
41
|
+
<form class="form-horizontal" ng-submit="login()" onsubmit="return false" method="get" action="/">
|
|
42
|
+
<legend><span class="legend">登录</span></legend>
|
|
43
|
+
<div ng-show="loaded">
|
|
44
|
+
<div class="alert alert-info alert-dismissible" style="display:none" ng-show="showForgetPwdMsg">
|
|
45
|
+
<button ng-click="showForgetPwdMsg=false" type="button" class="close"><span aria-hidden="true">×</span></button>
|
|
46
|
+
<p>请在服务器上执行以下命令重置管理员的用户名或密码:</p>
|
|
47
|
+
<p>* 重置用户名:inpanel config username '用户名'</p>
|
|
48
|
+
<p>* 重置密码:inpanel config password '密码'</p>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="alert alert-warning alert-dismissible" style="display:none" ng-show="errorText != ''">
|
|
51
|
+
<button ng-click="errorText=''" type="button" class="close"><span aria-hidden="true">×</span></button>
|
|
52
|
+
<p>{{errorText}}</p>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="form-group form-inline">
|
|
55
|
+
<label class="col-sm-2 control-label" for="username">用户名</label>
|
|
56
|
+
<div class="col-sm-10">
|
|
57
|
+
<input class="form-control" ng-model="username" ng-disabled="processing" type="text" id="username" placeholder="管理员用户名" autofocus autocomplete="off">
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="form-group form-inline">
|
|
61
|
+
<label class="col-sm-2 control-label" for="password">密码</label>
|
|
62
|
+
<div class="col-sm-10">
|
|
63
|
+
<input class="form-control" ng-model="password" ng-disabled="processing" type="password" id="password" placeholder="管理员密码" autocomplete="off">
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="form-group form-inline">
|
|
67
|
+
<div class="col-sm-2 control-label"></div>
|
|
68
|
+
<div class="col-sm-10">
|
|
69
|
+
<button type="submit" id="login" class="btn btn-default" ng-disabled="processing">
|
|
70
|
+
<i class="glyphicon glyphicon-user"></i> <span ng-bind-template="{{ loginText }}">登录</span>
|
|
71
|
+
</button>
|
|
72
|
+
<span style="padding-left:20px">
|
|
73
|
+
<a ng-click="showForgetPwdMsg=true" href="#" onclick="return false">忘记密码?</a>
|
|
74
|
+
</span>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</form>
|
|
79
|
+
</div>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<nav class="navbar navbar-default" ng-init="$parent.navbar_loaded=true">
|
|
2
|
+
<div class="container-fluid">
|
|
3
|
+
<div class="navbar-header">
|
|
4
|
+
<a class="navbar-brand" href="/">InPanel</a>
|
|
5
|
+
</div>
|
|
6
|
+
<div id="navbar" class="collapse navbar-collapse">
|
|
7
|
+
<ul class="nav navbar-nav">
|
|
8
|
+
<li class="active"><a href="/">登录</a></li>
|
|
9
|
+
</ul>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</nav>
|
|
13
|
+
<div ng-show="!loaded">
|
|
14
|
+
<div loading ng-init="loadingText='正在退出登录......'"></div>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<div id="main" ng-show="loaded" style="display:none">
|
|
18
|
+
<div class="module-header">
|
|
19
|
+
<h3>您已退出登录!</h3>
|
|
20
|
+
<p>3 秒后将自动跳转到登录页面。</p>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|