管理员也支持AccessKey

This commit is contained in:
GoEdgeLab
2021-06-20 19:23:02 +08:00
parent 1b74c3ebe0
commit b1adf12624
20 changed files with 459 additions and 42 deletions

View File

@@ -3,4 +3,5 @@
<span class="item">|</span>
<menu-item :href="'/admins/admin?adminId=' + admin.id" code="index">"{{admin.fullname}}" 详情</menu-item>
<menu-item :href="'/admins/update?adminId=' + admin.id" code="update">修改</menu-item>
<menu-item :href="'/admins/accessKeys?adminId=' + admin.id" code="accessKey">API AccessKey({{admin.countAccessKeys}})</menu-item>
</first-menu>

View File

@@ -0,0 +1,28 @@
{$layout "layout_popup"}
<h3>创建新AccessKey</h3>
<form class="ui form" method="post" data-tea-action="$" data-tea-success="success">
<csrf-token></csrf-token>
<input type="hidden" name="adminId" :value="adminId"/>
<table class="ui table definition selectable">
<tr>
<td class="title">AccessKey ID</td>
<td><span class="disabled">自动生成</span></td>
</tr>
<tr>
<td>AccessKey密钥</td>
<td><span class="disabled">自动生成</span></td>
</tr>
<tr>
<td class="title">备注 *</td>
<td>
<textarea rows="2" name="description" maxlength="100" ref="focus"></textarea>
<p class="comment">描述AccessKey的用途等。</p>
</td>
</tr>
</table>
<submit-btn></submit-btn>
</form>

View File

@@ -0,0 +1,39 @@
{$layout}
{$template "../admin_menu"}
<second-menu>
<menu-item @click.prevent="createAccessKey()">[创建AccessKey]</menu-item>
</second-menu>
<p class="comment" v-if="accessKeys.length == 0">暂时还没有AccessKey。</p>
<table class="ui table selectable" v-if="accessKeys.length > 0">
<thead>
<tr>
<th>AccessKey ID</th>
<th>AccessKey密钥</th>
<th>备注</th>
<th>最后访问</th>
<th>状态</th>
<th class="two op">操作</th>
</tr>
</thead>
<tr v-for="accessKey in accessKeys">
<td :class="{disabled: !accessKey.isOn}">{{accessKey.uniqueId}}</td>
<td :class="{disabled: !accessKey.isOn}">{{accessKey.secret}}</td>
<td :class="{disabled: !accessKey.isOn}">{{accessKey.description}}</td>
<td :class="{disabled: !accessKey.isOn}">
<span v-if="accessKey.accessedTime.length > 0">{{accessKey.accessedTime}}</span>
<span v-else class="disabled">尚无访问</span>
</td>
<td>
<span v-if="accessKey.isOn" class="green">已启用</span>
<span v-else class="disabled">已禁用</span>
</td>
<td>
<a href="" v-if="accessKey.isOn" @click.prevent="updateAccessKeyIsOn(accessKey.id, false)">禁用</a>
<a href="" v-if="!accessKey.isOn" @click.prevent="updateAccessKeyIsOn(accessKey.id, true)">启用</a>
&nbsp; <a href="" @click.prevent="deleteAccessKey(accessKey.id)">删除</a>
</td>
</tr>
</table>

View File

@@ -0,0 +1,41 @@
Tea.context(function () {
this.createAccessKey = function () {
teaweb.popup("/admins/accessKeys/createPopup?adminId=" + this.admin.id, {
callback: function () {
teaweb.success("保存成功", function () {
teaweb.reload()
})
}
})
}
this.updateAccessKeyIsOn = function (accessKeyId, isOn) {
let that = this
let message = ""
if (isOn) {
message = "确定要启用此AccessKey吗"
} else {
message = "确定要禁用此AccessKey吗"
}
teaweb.confirm(message, function () {
that.$post(".updateIsOn")
.params({
accessKeyId: accessKeyId,
isOn: isOn ? 1 : 0
})
.refresh()
})
}
this.deleteAccessKey = function (accessKeyId) {
let that = this
teaweb.confirm("确定要删除此AccessKey吗", function () {
that.$post(".delete")
.params({
accessKeyId: accessKeyId
})
.refresh()
})
}
})