feat: 终端勾选隧道保存报错问题修复&其他优化

This commit is contained in:
meilin.huang
2022-09-07 11:18:47 +08:00
parent 2f88b48973
commit e7a66378ea
88 changed files with 310 additions and 207 deletions

View File

@@ -95,6 +95,10 @@ function buildWindows() {
build "$1/mayfly-go-windows" "windows" "amd64" $2
}
function buildMac() {
build "$1/mayfly-go-mac" "darwin" "amd64" $2
}
function runBuild() {
# 构建结果的目的路径
read -p "请输入构建产物输出目录: " toPath
@@ -107,7 +111,7 @@ function runBuild() {
toPath=`pwd`
read -p "是否构建前端[0|其他->否 1->是 2->构建并拷贝至server/static/static]: " runBuildWeb
read -p "请选择构建版本[0|其他->全部 1->linux-amd64 2->linux-arm64 3->windows]: " buildType
read -p "请选择构建版本[0|其他->全部 1->linux-amd64 2->linux-arm64 3->windows 4->mac]: " buildType
if [ "${runBuildWeb}" == "1" ] || [ "${runBuildWeb}" == "2" ] ; then
@@ -124,10 +128,14 @@ function runBuild() {
"3")
buildWindows ${toPath} ${runBuildWeb}
;;
"4")
buildMac ${toPath} ${runBuildWeb}
;;
*)
buildLinuxAmd64 ${toPath} ${runBuildWeb}
buildLinuxArm64 ${toPath} ${runBuildWeb}
buildWindows ${toPath} ${runBuildWeb}
buildMac ${toPath} ${runBuildWeb}
;;
esac
}

View File

@@ -13,7 +13,7 @@
"countup.js": "^2.0.7",
"cropperjs": "^1.5.11",
"echarts": "^5.3.3",
"element-plus": "^2.2.15",
"element-plus": "^2.2.16",
"jsencrypt": "^3.2.1",
"jsoneditor": "^9.9.0",
"lodash": "^4.17.21",

View File

@@ -7,7 +7,7 @@
>删除</el-button
>
<div style="float: right">
<el-select v-model="query.projectId" placeholder="请选择项目" filterable clearable>
<el-select @focus="getProjects" v-model="query.projectId" placeholder="请选择项目" filterable clearable>
<el-option v-for="item in projects" :key="item.id" :label="`${item.name} [${item.remark}]`" :value="item.id"> </el-option>
</el-select>
<el-button v-waves type="primary" icon="search" @click="search()" class="ml5">查询</el-button>
@@ -398,8 +398,12 @@ export default defineComponent({
search();
};
const editDb = async (isAdd = false) => {
const getProjects = async () => {
state.projects = await projectApi.accountProjects.request(null);
};
const editDb = async (isAdd = false) => {
await getProjects();
if (isAdd) {
state.dbEditDialog.data = null;
state.dbEditDialog.title = '新增数据库资源';
@@ -602,6 +606,7 @@ export default defineComponent({
return {
...toRefs(state),
getProjects,
filterTableInfos,
enums,
search,

View File

@@ -57,7 +57,7 @@
</el-row>
</el-dialog>
<el-dialog :title="tree.title" v-model="tree.visible" :close-on-click-modal="false" width="50%">
<el-dialog :title="tree.title" v-model="tree.visible" :close-on-click-modal="false" width="70%">
<el-progress
v-if="uploadProgressShow"
style="width: 90%; margin-left: 20px"
@@ -85,6 +85,10 @@
{{ node.label }}
<span style="color: #67c23a" v-if="data.type == '-'">&nbsp;&nbsp;[{{ formatFileSize(data.size) }}]</span>
</span>
<span style="display: inline-block">
<span v-if="data.mode" style="color: #67c23a">&nbsp;&nbsp;[{{ data.mode }} {{ data.modTime }}]</span>
</span>
</span>
<template #dropdown>

View File

@@ -16,7 +16,7 @@
>删除</el-button
>
<div style="float: right">
<el-select v-model="params.projectId" placeholder="请选择项目" @clear="search" filterable clearable>
<el-select @focus="getProjects" v-model="params.projectId" placeholder="请选择项目" @clear="search" filterable clearable>
<el-option v-for="item in projects" :key="item.id" :label="`${item.name} [${item.remark}]`" :value="item.id"> </el-option>
</el-select>
<el-input
@@ -166,8 +166,6 @@
:machineId="machineStatsDialog.machineId"
:title="machineStatsDialog.title"
></machine-stats>
<!-- <machine-rec v-model:visible="machineRecDialog.visible" :title="machineRecDialog.title" :machine-id="machineRecDialog.machineId" /> -->
</div>
</template>
@@ -182,7 +180,6 @@ import FileManage from './FileManage.vue';
import MachineEdit from './MachineEdit.vue';
import ProcessList from './ProcessList.vue';
import MachineStats from './MachineStats.vue';
// import MachineRec from './MachineRec.vue';
export default defineComponent({
name: 'MachineList',
@@ -192,7 +189,6 @@ export default defineComponent({
FileManage,
MachineEdit,
MachineStats,
// MachineRec,
},
setup() {
const router = useRouter();
@@ -279,8 +275,12 @@ export default defineComponent({
search();
};
const openFormDialog = async (machine: any) => {
const getProjects = async () => {
state.projects = await projectApi.accountProjects.request(null);
};
const openFormDialog = async (machine: any) => {
await getProjects();
let dialogTitle;
if (machine) {
state.machineEditDialog.data = state.currentData as any;
@@ -372,6 +372,7 @@ export default defineComponent({
return {
...toRefs(state),
choose,
getProjects,
showTerminal,
openFormDialog,
deleteMachine,

View File

@@ -5,7 +5,7 @@
<el-button type="primary" icon="edit" :disabled="currentId == null" @click="editMongo(false)" plain>编辑</el-button>
<el-button type="danger" icon="delete" :disabled="currentId == null" @click="deleteMongo" plain>删除</el-button>
<div style="float: right">
<el-select v-model="query.projectId" placeholder="请选择项目" filterable clearable>
<el-select @focus="getProjects" v-model="query.projectId" placeholder="请选择项目" filterable clearable>
<el-option v-for="item in projects" :key="item.id" :label="`${item.name} [${item.remark}]`" :value="item.id"> </el-option>
</el-select>
<el-button class="ml5" @click="search" type="success" icon="search"></el-button>
@@ -370,8 +370,12 @@ export default defineComponent({
state.total = res.total;
};
const editMongo = async (isAdd = false) => {
const getProjects = async () => {
state.projects = await projectApi.accountProjects.request(null);
};
const editMongo = async (isAdd = false) => {
await getProjects();
if (isAdd) {
state.mongoEditDialog.data = null;
state.mongoEditDialog.title = '新增mongo';
@@ -390,6 +394,7 @@ export default defineComponent({
return {
...toRefs(state),
getProjects,
search,
handlePageChange,
choose,

View File

@@ -80,9 +80,18 @@
<el-dialog width="500px" :title="showEnvDialog.title" v-model="showEnvDialog.visible">
<div class="toolbar">
<el-button @click="showAddEnvDialog" v-auth="permissions.saveMember" type="primary" icon="plus">添加</el-button>
<!-- <el-button v-auth="'role:update'" :disabled="chooseId == null" type="danger" icon="delete">删除</el-button> -->
<el-button @click="deleteEnv" v-auth="permissions.delProject" :disabled="showEnvDialog.chooseId == null" type="danger" icon="delete"
>删除</el-button
>
</div>
<el-table border :data="showEnvDialog.envs">
<el-table @current-change="chooseEnv" border :data="showEnvDialog.envs">
<el-table-column label="选择" width="50px">
<template #default="scope">
<el-radio v-model="showEnvDialog.chooseId" :label="scope.row.id">
<i></i>
</el-radio>
</template>
</el-table-column>
<el-table-column property="name" label="环境名" width="125"></el-table-column>
<el-table-column property="remark" label="描述" width="125"></el-table-column>
<el-table-column property="createTime" label="创建时间">
@@ -207,6 +216,8 @@ export default defineComponent({
},
showEnvDialog: {
visible: false,
chooseId: null,
chooseData: null,
envs: [],
title: '',
addVisible: false,
@@ -340,6 +351,21 @@ export default defineComponent({
state.showEnvDialog.visible = true;
};
const chooseEnv = (item: any) => {
if (!item) {
return;
}
state.showEnvDialog.chooseData = item;
state.showEnvDialog.chooseId = item.id;
};
const deleteEnv = async () => {
notNull(state.showEnvDialog.chooseData, '请选选择环境');
await projectApi.delProjectEnvs.request({ id: state.showEnvDialog.chooseId });
ElMessage.success('删除成功');
state.showEnvDialog.envs = await projectApi.projectEnvs.request({ projectId: state.chooseId });
};
const showAddMemberDialog = () => {
state.showMemDialog.addVisible = true;
};
@@ -398,12 +424,14 @@ export default defineComponent({
showMembers,
setMemebers,
showEnv,
deleteEnv,
showAddMemberDialog,
addMember,
chooseMember,
deleteMember,
cancelAddMember,
showAddEnvDialog,
chooseEnv,
addEnv,
cancelAddEnv,
getAccount,

View File

@@ -8,6 +8,7 @@ export const projectApi = {
delProject: Api.create("/projects", 'delete'),
// 获取项目下的环境信息
projectEnvs: Api.create("/projects/{projectId}/envs", 'get'),
delProjectEnvs: Api.create("/projects/envs", 'delete'),
saveProjectEnv: Api.create("/projects/{projectId}/envs", 'post'),
// 获取项目下的成员信息
projectMems: Api.create("/projects/{projectId}/members", 'get'),

View File

@@ -5,7 +5,7 @@
<el-button type="primary" icon="edit" :disabled="currentId == null" @click="editRedis(false)" plain>编辑</el-button>
<el-button type="danger" icon="delete" :disabled="currentId == null" @click="deleteRedis" plain>删除</el-button>
<div style="float: right">
<el-select v-model="query.projectId" placeholder="请选择项目" filterable clearable>
<el-select @focus="getProjects" v-model="query.projectId" placeholder="请选择项目" filterable clearable>
<el-option v-for="item in projects" :key="item.id" :label="`${item.name} [${item.remark}]`" :value="item.id"> </el-option>
</el-select>
<el-button class="ml5" @click="search" type="success" icon="search"></el-button>
@@ -263,8 +263,12 @@ export default defineComponent({
state.total = res.total;
};
const editRedis = async (isAdd = false) => {
const getProjects = async () => {
state.projects = await projectApi.accountProjects.request(null);
};
const editRedis = async (isAdd = false) => {
await getProjects();
if (isAdd) {
state.redisEditDialog.data = null;
state.redisEditDialog.title = '新增redis';
@@ -283,6 +287,7 @@ export default defineComponent({
return {
...toRefs(state),
getProjects,
search,
handlePageChange,
choose,

View File

@@ -44,17 +44,17 @@
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
"@floating-ui/core@^0.7.3":
version "0.7.3"
resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-0.7.3.tgz"
integrity sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==
"@floating-ui/core@^1.0.1":
version "1.0.1"
resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-1.0.1.tgz#00e64d74e911602c8533957af0cce5af6b2e93c8"
integrity sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==
"@floating-ui/dom@^0.5.4":
version "0.5.4"
resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-0.5.4.tgz"
integrity sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==
"@floating-ui/dom@^1.0.1":
version "1.0.1"
resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.0.1.tgz#3321d4e799d6ac2503e729131d07ad0e714aabeb"
integrity sha512-wBDiLUKWU8QNPNOTAFHiIAkBv1KlHauG2AhqjSeh2H+wR8PX+AArXfz8NkRexH5PgMJMmSOS70YS89AbWYh5dA==
dependencies:
"@floating-ui/core" "^0.7.3"
"@floating-ui/core" "^1.0.1"
"@humanwhocodes/config-array@^0.9.2":
version "0.9.2"
@@ -658,14 +658,14 @@ echarts@^5.3.3:
tslib "2.3.0"
zrender "5.3.2"
element-plus@^2.2.15:
version "2.2.15"
resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.15.tgz#862bb6ecbd15b2d82d79dcf56bbbc30010771132"
integrity sha512-SMIx8xKB1YawT9JocyFhbs3Av2rXFfxrCVTLMYS0DK0xnW+fKvwjZngLfwF6MyRzXIuzNW17XFtu0iP3tlJHbA==
element-plus@^2.2.16:
version "2.2.16"
resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.16.tgz#84c00fc4a2d84031ec18d0f28820593c6e451513"
integrity sha512-rvaTMFIujec9YDC5lyaiQv2XVUCHuhVDq2k+9vQxP78N8Wd07iEOGa9pvEVOO2uYc75l4rSl2RE/IWPH/6Mdzw==
dependencies:
"@ctrl/tinycolor" "^3.4.1"
"@element-plus/icons-vue" "^2.0.6"
"@floating-ui/dom" "^0.5.4"
"@floating-ui/dom" "^1.0.1"
"@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7"
"@types/lodash" "^4.14.182"
"@types/lodash-es" "^4.17.6"

View File

@@ -255,7 +255,13 @@ func (d *Db) DumpSql(rc *ctx.ReqCtx) {
countSql := fmt.Sprintf("SELECT COUNT(*) count FROM %s", table)
_, countRes, _ := dbInstance.SelectData(countSql)
// 查询出所有列信息总数,手动分页获取所有数据
maCount := int(countRes[0]["count"].(int64))
maCount := 0
// 查询出所有列信息总数,手动分页获取所有数据
if count64, is64 := countRes[0]["maNum"].(int64); is64 {
maCount = int(count64)
} else {
maCount = countRes[0]["maNum"].(int)
}
// 计算需要查询的页数
pageNum := maCount / DEFAULT_COLUMN_SIZE
if maCount%DEFAULT_COLUMN_SIZE > 0 {

View File

@@ -18,7 +18,6 @@ import (
"path"
"sort"
"strconv"
"syscall"
"time"
"github.com/gin-gonic/gin"
@@ -175,8 +174,6 @@ func (m *Machine) WsSSH(g *gin.Context) {
var recorder *machine.Recorder
if cli.GetMachine().EnableRecorder == 1 {
mask := syscall.Umask(0)
defer syscall.Umask(mask)
now := time.Now()
// 回放文件路径为: 基础配置路径/机器id/操作日期/操作者账号/操作时间.cast
recPath := fmt.Sprintf("%s/%d/%s/%s", config.Conf.Server.GetMachineRecPath(), cli.GetMachine().Id, now.Format("20060102"), rc.LoginAccount.Username)

View File

@@ -121,6 +121,7 @@ func (m *MachineFile) GetDirEntry(rc *ctx.ReqCtx) {
Path: readPath + fi.Name(),
Type: getFileType(fi.Mode()),
Mode: fi.Mode().String(),
ModTime: fi.ModTime().Format("2006-01-02 15:04:05"),
})
}
rc.ResData = fisVO

View File

@@ -54,6 +54,10 @@ func (p *Project) DelProject(rc *ctx.ReqCtx) {
p.ProjectApp.DelProject(uint64(ginx.QueryInt(rc.GinCtx, "id", 0)))
}
func (p *Project) DelProjectEnv(rc *ctx.ReqCtx) {
p.ProjectApp.DelProjectEnv(uint64(ginx.QueryInt(rc.GinCtx, "id", 0)))
}
// 获取项目下的环境信息
func (p *Project) GetProjectEnvs(rc *ctx.ReqCtx) {
projectEnvs := &[]entity.ProjectEnv{}
@@ -61,7 +65,7 @@ func (p *Project) GetProjectEnvs(rc *ctx.ReqCtx) {
rc.ResData = projectEnvs
}
//保存项目下的环境信息
// 保存项目下的环境信息
func (p *Project) SaveProjectEnvs(rc *ctx.ReqCtx) {
projectEnv := &entity.ProjectEnv{}
ginx.BindJsonAndValid(rc.GinCtx, projectEnv)
@@ -78,7 +82,7 @@ func (p *Project) GetProjectMembers(rc *ctx.ReqCtx) {
ginx.GetPageParam(rc.GinCtx), projectMems)
}
//保存项目的成员信息
// 保存项目的成员信息
func (p *Project) SaveProjectMember(rc *ctx.ReqCtx) {
projectMem := &entity.ProjectMember{}
ginx.BindJsonAndValid(rc.GinCtx, projectMem)
@@ -95,7 +99,7 @@ func (p *Project) SaveProjectMember(rc *ctx.ReqCtx) {
p.ProjectApp.SaveProjectMember(projectMem)
}
//删除项目成员
// 删除项目成员
func (p *Project) DelProjectMember(rc *ctx.ReqCtx) {
g := rc.GinCtx
pid := ginx.PathParamInt(g, "projectId")

View File

@@ -61,6 +61,7 @@ type MachineFileInfo struct {
Size int64 `json:"size"`
Type string `json:"type"`
Mode string `json:"mode"`
ModTime string `json:"modTime"`
}
type RoleVO struct {

View File

@@ -558,8 +558,14 @@ func (mm *MysqlMetadata) GetColumns(tableNames ...string) []map[string]interface
if len(tableNames) > 1 {
countSql := fmt.Sprintf(MYSQL_COLOUMN_MA_COUNT, tableName)
_, countRes, _ := mm.di.SelectData(countSql)
maCount := 0
// 查询出所有列信息总数,手动分页获取所有数据
maCount := int(countRes[0]["maNum"].(int64))
if count64, is64 := countRes[0]["maNum"].(int64); is64 {
maCount = int(count64)
} else {
maCount = countRes[0]["maNum"].(int)
}
// 计算需要查询的页数
pageNum = maCount / DEFAULT_COLUMN_SIZE
if maCount%DEFAULT_COLUMN_SIZE > 0 {
@@ -672,8 +678,13 @@ func (pm *PgsqlMetadata) GetColumns(tableNames ...string) []map[string]interface
if len(tableNames) > 1 {
countSql := fmt.Sprintf(PGSQL_COLUMN_MA_COUNT, tableName)
_, countRes, _ := pm.di.SelectData(countSql)
maCount := 0
// 查询出所有列信息总数,手动分页获取所有数据
maCount := int(countRes[0]["maNum"].(int64))
if count64, is64 := countRes[0]["maNum"].(int64); is64 {
maCount = int(count64)
} else {
maCount = countRes[0]["maNum"].(int)
}
// 计算需要查询的页数
pageNum = maCount / DEFAULT_COLUMN_SIZE
if maCount%DEFAULT_COLUMN_SIZE > 0 {

View File

@@ -56,7 +56,11 @@ func (m *machineAppImpl) Count(condition *entity.Machine) int64 {
func (m *machineAppImpl) Save(me *entity.Machine) {
// ’修改机器信息且密码不为空‘ or ‘新增’需要测试是否可连接
if (me.Id != 0 && me.Password != "") || me.Id == 0 {
biz.ErrIsNilAppendErr(machine.TestConn(*me, func(u uint64) *entity.Machine { return m.GetById(u) }), "该机器无法连接: %s")
biz.ErrIsNilAppendErr(machine.TestConn(*me, func(u uint64) *entity.Machine {
me := m.GetById(u)
me.PwdDecrypt()
return me
}), "该机器无法连接: %s")
}
oldMachine := &entity.Machine{Ip: me.Ip, Port: me.Port, Username: me.Username}

View File

@@ -20,6 +20,8 @@ type Project interface {
DelProject(id uint64)
DelProjectEnv(id uint64)
// 根据项目id获取所有该项目下的环境信息列表
ListEnvByProjectId(projectId uint64, listPtr interface{})
@@ -100,6 +102,13 @@ func (p *projectAppImpl) SaveProjectEnv(projectEnv *entity.ProjectEnv) {
p.projectEnvRepo.Save(projectEnv)
}
// 删除项目环境信息
func (p *projectAppImpl) DelProjectEnv(id uint64) {
biz.IsTrue(p.redisRepo.Count(&entity.Redis{EnvId: id}) == 0, "请先删除该项目环境关联的redis信息")
biz.IsTrue(p.dbRepo.Count(&entity.Db{EnvId: id}) == 0, "请先删除该项目环境关联的数据库信息")
p.projectEnvRepo.DeleteEnv(id)
}
// 根据条件获取项目成员信息
func (p *projectAppImpl) ListMember(condition *entity.ProjectMember, toEntity interface{}, orderBy ...string) {
p.projectMemberRepo.ListMemeber(condition, toEntity, orderBy...)

View File

@@ -9,4 +9,6 @@ type ProjectEnv interface {
Save(entity *entity.ProjectEnv)
DeleteEnvs(projectId uint64)
DeleteEnv(envId uint64)
}

View File

@@ -27,7 +27,7 @@ type Cli struct {
sshTunnelMachineId uint64
}
//连接
// 连接
func (c *Cli) connect() error {
// 如果已经有client则直接返回
if c.client != nil {
@@ -90,8 +90,8 @@ func (c *Cli) GetSession() (*ssh.Session, error) {
return c.client.NewSession()
}
//执行shell
//@param shell shell脚本命令
// 执行shell
// @param shell shell脚本命令
func (c *Cli) Run(shell string) (*string, error) {
session, err := c.GetSession()
if err != nil {
@@ -236,7 +236,7 @@ func GetSshClient(m *entity.Machine) (*ssh.Client, error) {
return sshClient, nil
}
//根据机器信息创建客户端对象
// 根据机器信息创建客户端对象
func newClient(machine *entity.Machine) (*Cli, error) {
if machine == nil {
return nil, errors.New("机器不存在")

View File

@@ -22,3 +22,7 @@ func (p *projectEnvRepo) Save(entity *entity.ProjectEnv) {
func (p *projectEnvRepo) DeleteEnvs(projectId uint64) {
model.DeleteByCondition(&entity.ProjectEnv{ProjectId: projectId})
}
func (p *projectEnvRepo) DeleteEnv(envId uint64) {
model.DeleteById(new(entity.ProjectEnv), envId)
}

View File

@@ -57,6 +57,13 @@ func InitProjectRouter(router *gin.RouterGroup) {
Handle(m.SaveProjectEnvs)
})
delProjectEnvLog := ctx.NewLogInfo("删除项目环境信息").WithSave(true)
project.DELETE("/envs", func(c *gin.Context) {
ctx.NewReqCtxWithGin(c).WithLog(delProjectEnvLog).
WithRequiredPermission(delPP).
Handle(m.DelProjectEnv)
})
// 获取项目下的成员信息列表
project.GET("/:projectId/members", func(c *gin.Context) {
ctx.NewReqCtxWithGin(c).Handle(m.GetProjectMembers)

View File

@@ -1 +1 @@
import{_ as s,u as n,b as l,e as c,h as e,g as d,w as f,$ as m,Q as u,R as _,d as p,B as h}from"./index.1661780212532.js";var x="assets/401.1661780212532.png";const v={name:"401",setup(){const t=n();return{onSetAuth:()=>{m(),t.push("/login")}}}},o=t=>(u("data-v-6ec92039"),t=t(),_(),t),g={class:"error"},y={class:"error-flex"},b={class:"left"},C={class:"left-item"},B=o(()=>e("div",{class:"left-item-animation left-item-num"},"401",-1)),w=o(()=>e("div",{class:"left-item-animation left-item-title"},"\u60A8\u672A\u88AB\u6388\u6743\u6216\u767B\u5F55\u8D85\u65F6\uFF0C\u6CA1\u6709\u64CD\u4F5C\u6743\u9650",-1)),A=o(()=>e("div",{class:"left-item-animation left-item-msg"},null,-1)),S={class:"left-item-animation left-item-btn"},F=h("\u91CD\u65B0\u767B\u5F55"),k=o(()=>e("div",{class:"right"},[e("img",{src:x})],-1));function I(t,r,$,a,z,D){const i=l("el-button");return p(),c("div",g,[e("div",y,[e("div",b,[e("div",C,[B,w,A,e("div",S,[d(i,{type:"primary",round:"",onClick:a.onSetAuth},{default:f(()=>[F]),_:1},8,["onClick"])])])]),k])])}var V=s(v,[["render",I],["__scopeId","data-v-6ec92039"]]);export{V as default};
import{_ as s,u as n,b as l,e as c,h as e,g as d,w as f,$ as m,Q as u,R as _,d as p,B as h}from"./index.1662520269918.js";var x="assets/401.1662520269918.png";const v={name:"401",setup(){const t=n();return{onSetAuth:()=>{m(),t.push("/login")}}}},o=t=>(u("data-v-6ec92039"),t=t(),_(),t),g={class:"error"},y={class:"error-flex"},b={class:"left"},C={class:"left-item"},B=o(()=>e("div",{class:"left-item-animation left-item-num"},"401",-1)),w=o(()=>e("div",{class:"left-item-animation left-item-title"},"\u60A8\u672A\u88AB\u6388\u6743\u6216\u767B\u5F55\u8D85\u65F6\uFF0C\u6CA1\u6709\u64CD\u4F5C\u6743\u9650",-1)),A=o(()=>e("div",{class:"left-item-animation left-item-msg"},null,-1)),S={class:"left-item-animation left-item-btn"},F=h("\u91CD\u65B0\u767B\u5F55"),k=o(()=>e("div",{class:"right"},[e("img",{src:x})],-1));function I(t,r,$,a,z,D){const i=l("el-button");return p(),c("div",g,[e("div",y,[e("div",b,[e("div",C,[B,w,A,e("div",S,[d(i,{type:"primary",round:"",onClick:a.onSetAuth},{default:f(()=>[F]),_:1},8,["onClick"])])])]),k])])}var V=s(v,[["render",I],["__scopeId","data-v-6ec92039"]]);export{V as default};

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -1 +1 @@
import{_ as s,u as n,b as l,e as c,h as e,g as d,w as m,Q as f,R as u,d as _,B as p}from"./index.1661780212532.js";var h="assets/404.1661780212532.png";const x={name:"404",setup(){const t=n();return{onGoHome:()=>{t.push("/")}}}},o=t=>(f("data-v-69e91ac8"),t=t(),u(),t),v={class:"error"},g={class:"error-flex"},y={class:"left"},F={class:"left-item"},b=o(()=>e("div",{class:"left-item-animation left-item-num"},"404",-1)),C=o(()=>e("div",{class:"left-item-animation left-item-title"},"\u5730\u5740\u8F93\u5165\u6709\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\u5730\u5740~",-1)),B=o(()=>e("div",{class:"left-item-animation left-item-msg"},"\u60A8\u53EF\u4EE5\u5148\u68C0\u67E5\u7F51\u5740\uFF0C\u7136\u540E\u91CD\u65B0\u8F93\u5165",-1)),E={class:"left-item-animation left-item-btn"},w=p("\u8FD4\u56DE\u9996\u9875"),k=o(()=>e("div",{class:"right"},[e("img",{src:h})],-1));function D(t,a,I,r,z,G){const i=l("el-button");return _(),c("div",v,[e("div",g,[e("div",y,[e("div",F,[b,C,B,e("div",E,[d(i,{type:"primary",round:"",onClick:r.onGoHome},{default:m(()=>[w]),_:1},8,["onClick"])])])]),k])])}var N=s(x,[["render",D],["__scopeId","data-v-69e91ac8"]]);export{N as default};
import{_ as s,u as n,b as l,e as c,h as e,g as d,w as m,Q as f,R as u,d as _,B as p}from"./index.1662520269918.js";var h="assets/404.1662520269918.png";const x={name:"404",setup(){const t=n();return{onGoHome:()=>{t.push("/")}}}},o=t=>(f("data-v-69e91ac8"),t=t(),u(),t),v={class:"error"},g={class:"error-flex"},y={class:"left"},F={class:"left-item"},b=o(()=>e("div",{class:"left-item-animation left-item-num"},"404",-1)),C=o(()=>e("div",{class:"left-item-animation left-item-title"},"\u5730\u5740\u8F93\u5165\u6709\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\u5730\u5740~",-1)),B=o(()=>e("div",{class:"left-item-animation left-item-msg"},"\u60A8\u53EF\u4EE5\u5148\u68C0\u67E5\u7F51\u5740\uFF0C\u7136\u540E\u91CD\u65B0\u8F93\u5165",-1)),E={class:"left-item-animation left-item-btn"},w=p("\u8FD4\u56DE\u9996\u9875"),k=o(()=>e("div",{class:"right"},[e("img",{src:h})],-1));function D(t,a,I,r,z,G){const i=l("el-button");return _(),c("div",v,[e("div",g,[e("div",y,[e("div",F,[b,C,B,e("div",E,[d(i,{type:"primary",round:"",onClick:r.onGoHome},{default:m(()=>[w]),_:1},8,["onClick"])])])]),k])])}var N=s(x,[["render",D],["__scopeId","data-v-69e91ac8"]]);export{N as default};

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -1 +1 @@
import{p as r}from"./index.1661780212532.js";class s{constructor(t,e){this.url=t,this.method=e}setUrl(t){return this.url=t,this}setMethod(t){return this.method=t,this}getUrl(){return r.getApiUrl(this.url)}request(t=null,e=null){return r.send(this,t,e)}requestWithHeaders(t,e){return r.sendWithHeaders(this,t,e)}static create(t,e){return new s(t,e)}}export{s as A};
import{p as r}from"./index.1662520269918.js";class s{constructor(t,e){this.url=t,this.method=e}setUrl(t){return this.url=t,this}setMethod(t){return this.method=t,this}getUrl(){return r.getApiUrl(this.url)}request(t=null,e=null){return r.send(this,t,e)}requestWithHeaders(t,e){return r.sendWithHeaders(this,t,e)}static create(t,e){return new s(t,e)}}export{s as A};

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,4 +1,4 @@
var Zt=Object.defineProperty,Ot=Object.defineProperties;var Dt=Object.getOwnPropertyDescriptors;var Wt=Object.getOwnPropertySymbols;var Kt=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable;var Ft=(Ie,le,Ge)=>le in Ie?Zt(Ie,le,{enumerable:!0,configurable:!0,writable:!0,value:Ge}):Ie[le]=Ge,kt=(Ie,le)=>{for(var Ge in le||(le={}))Kt.call(le,Ge)&&Ft(Ie,Ge,le[Ge]);if(Wt)for(var Ge of Wt(le))zt.call(le,Ge)&&Ft(Ie,Ge,le[Ge]);return Ie},Et=(Ie,le)=>Ot(Ie,Dt(le));import{m as ut}from"./api.16617802125326.js";import{P as Xt}from"./ProjectEnvSelect.1661780212532.js";import{i as Tt,a as Pt,b as Jt}from"./assert.1661780212532.js";import{f as Yt}from"./format.1661780212532.js";import{a6 as Ut,A as Gt,t as _t,q as Mt,r as Ht,o as Qt,a7 as qt,v as ei,_ as Vt,m as ti,d as qe,e as gt,h as tt,l as ii,b as Ye,g as Be,w as We,F as It,j as bt,k as mt,i as Rt,z as ni,E as ft,B as yt}from"./index.1661780212532.js";import"./Api.1661780212532.js";import"./api.16617802125324.js";var jt={exports:{}};/*!
var Zt=Object.defineProperty,Ot=Object.defineProperties;var Dt=Object.getOwnPropertyDescriptors;var Wt=Object.getOwnPropertySymbols;var Kt=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable;var Ft=(Ie,le,Ge)=>le in Ie?Zt(Ie,le,{enumerable:!0,configurable:!0,writable:!0,value:Ge}):Ie[le]=Ge,kt=(Ie,le)=>{for(var Ge in le||(le={}))Kt.call(le,Ge)&&Ft(Ie,Ge,le[Ge]);if(Wt)for(var Ge of Wt(le))zt.call(le,Ge)&&Ft(Ie,Ge,le[Ge]);return Ie},Et=(Ie,le)=>Ot(Ie,Dt(le));import{m as ut}from"./api.16625202699186.js";import{P as Xt}from"./ProjectEnvSelect.1662520269918.js";import{i as Tt,a as Pt,b as Jt}from"./assert.1662520269918.js";import{f as Yt}from"./format.1662520269918.js";import{a6 as Ut,A as Gt,t as _t,q as Mt,r as Ht,o as Qt,a7 as qt,v as ei,_ as Vt,m as ti,d as qe,e as gt,h as tt,l as ii,b as Ye,g as Be,w as We,F as It,j as bt,k as mt,i as Rt,z as ni,E as ft,B as yt}from"./index.1662520269918.js";import"./Api.1662520269918.js";import"./api.16625202699184.js";var jt={exports:{}};/*!
* jsoneditor.js
*
* @brief

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 +1 @@
var P=Object.defineProperty,V=Object.defineProperties;var w=Object.getOwnPropertyDescriptors;var v=Object.getOwnPropertySymbols;var B=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var h=(o,e,n)=>e in o?P(o,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[e]=n,j=(o,e)=>{for(var n in e||(e={}))B.call(e,n)&&h(o,n,e[n]);if(v)for(var n of v(e))$.call(e,n)&&h(o,n,e[n]);return o},_=(o,e)=>V(o,w(e));import{p as g}from"./api.16617802125324.js";import{A as S,r as F,o as A,t as N,_ as q,b as p,d as r,e as u,g as s,w as a,F as b,j as y,k as E,h as I,i as k,a5 as U}from"./index.1661780212532.js";const z=S({name:"ProjectEnvSelect",props:{visible:{type:Boolean},data:{type:Object},title:{type:String},machineId:{type:Number},isCommon:{type:Boolean}},setup(o,{emit:e}){const n=F({projects:[],envs:[],projectId:null,envId:null});A(async()=>{n.projects=await g.accountProjects.request(null)});const c=async l=>{e("update:projectId",l),e("changeProjectEnv",n.projectId,null),n.envId=null,n.envs=await g.projectEnvs.request({projectId:l})},d=l=>{e("update:envId",l),e("changeProjectEnv",n.projectId,l)};return _(j({},N(n)),{changeProject:c,changeEnv:d})}}),D={style:{float:"left"}},L={style:{float:"right",color:"#8492a6","font-size":"13px"}};function M(o,e,n,c,d,l){const i=p("el-option"),f=p("el-select"),m=p("el-form-item"),C=p("el-form");return r(),u("div",null,[s(C,{class:"search-form","label-position":"right",inline:!0},{default:a(()=>[s(m,{prop:"project",label:"\u9879\u76EE","label-width":"40px"},{default:a(()=>[s(f,{modelValue:o.projectId,"onUpdate:modelValue":e[0]||(e[0]=t=>o.projectId=t),placeholder:"\u8BF7\u9009\u62E9\u9879\u76EE",onChange:o.changeProject,filterable:""},{default:a(()=>[(r(!0),u(b,null,y(o.projects,t=>(r(),E(i,{key:t.id,label:`${t.name} [${t.remark}]`,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),s(m,{prop:"env",label:"env","label-width":"33px"},{default:a(()=>[s(f,{style:{width:"80px"},modelValue:o.envId,"onUpdate:modelValue":e[1]||(e[1]=t=>o.envId=t),placeholder:"\u73AF\u5883",onChange:o.changeEnv,filterable:""},{default:a(()=>[(r(!0),u(b,null,y(o.envs,t=>(r(),E(i,{key:t.id,label:t.name,value:t.id},{default:a(()=>[I("span",D,k(t.name),1),I("span",L,k(t.remark),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),U(o.$slots,"default")]),_:3})])}var H=q(z,[["render",M]]);export{H as P};
var P=Object.defineProperty,V=Object.defineProperties;var w=Object.getOwnPropertyDescriptors;var v=Object.getOwnPropertySymbols;var B=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var h=(o,e,n)=>e in o?P(o,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[e]=n,j=(o,e)=>{for(var n in e||(e={}))B.call(e,n)&&h(o,n,e[n]);if(v)for(var n of v(e))$.call(e,n)&&h(o,n,e[n]);return o},_=(o,e)=>V(o,w(e));import{p as g}from"./api.16625202699184.js";import{A as S,r as F,o as A,t as N,_ as q,b as p,d as r,e as u,g as s,w as a,F as b,j as y,k as E,h as I,i as k,a5 as U}from"./index.1662520269918.js";const z=S({name:"ProjectEnvSelect",props:{visible:{type:Boolean},data:{type:Object},title:{type:String},machineId:{type:Number},isCommon:{type:Boolean}},setup(o,{emit:e}){const n=F({projects:[],envs:[],projectId:null,envId:null});A(async()=>{n.projects=await g.accountProjects.request(null)});const c=async l=>{e("update:projectId",l),e("changeProjectEnv",n.projectId,null),n.envId=null,n.envs=await g.projectEnvs.request({projectId:l})},d=l=>{e("update:envId",l),e("changeProjectEnv",n.projectId,l)};return _(j({},N(n)),{changeProject:c,changeEnv:d})}}),D={style:{float:"left"}},L={style:{float:"right",color:"#8492a6","font-size":"13px"}};function M(o,e,n,c,d,l){const i=p("el-option"),f=p("el-select"),m=p("el-form-item"),C=p("el-form");return r(),u("div",null,[s(C,{class:"search-form","label-position":"right",inline:!0},{default:a(()=>[s(m,{prop:"project",label:"\u9879\u76EE","label-width":"40px"},{default:a(()=>[s(f,{modelValue:o.projectId,"onUpdate:modelValue":e[0]||(e[0]=t=>o.projectId=t),placeholder:"\u8BF7\u9009\u62E9\u9879\u76EE",onChange:o.changeProject,filterable:""},{default:a(()=>[(r(!0),u(b,null,y(o.projects,t=>(r(),E(i,{key:t.id,label:`${t.name} [${t.remark}]`,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),s(m,{prop:"env",label:"env","label-width":"33px"},{default:a(()=>[s(f,{style:{width:"80px"},modelValue:o.envId,"onUpdate:modelValue":e[1]||(e[1]=t=>o.envId=t),placeholder:"\u73AF\u5883",onChange:o.changeEnv,filterable:""},{default:a(()=>[(r(!0),u(b,null,y(o.envs,t=>(r(),E(i,{key:t.id,label:t.name,value:t.id},{default:a(()=>[I("span",D,k(t.name),1),I("span",L,k(t.remark),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),U(o.$slots,"default")]),_:3})])}var H=q(z,[["render",M]]);export{H as P};

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 +1 @@
var i=Object.defineProperty;var a=Object.getOwnPropertySymbols;var m=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable;var s=(n,e,t)=>e in n?i(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,o=(n,e)=>{for(var t in e||(e={}))m.call(e,t)&&s(n,t,e[t]);if(a)for(var t of a(e))h.call(e,t)&&s(n,t,e[t]);return n};import{S as c}from"./SshTerminal.1661780212532.js";import{_ as p,A as d,S as l,r as u,o as f,t as _,b as g,e as I,g as S,d as v}from"./index.1661780212532.js";const $=d({name:"SshTerminalPage",components:{SshTerminal:c},props:{machineId:{type:Number}},setup(){const n=l(),e=u({machineId:0,height:700});return f(()=>{e.height=window.innerHeight+5,e.machineId=Number.parseInt(n.query.id)}),o({},_(e))}});function b(n,e,t,N,T,k){const r=g("ssh-terminal");return v(),I("div",null,[S(r,{ref:"terminal",machineId:n.machineId,height:n.height+"px"},null,8,["machineId","height"])])}var B=p($,[["render",b]]);export{B as default};
var i=Object.defineProperty;var a=Object.getOwnPropertySymbols;var m=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable;var s=(n,e,t)=>e in n?i(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,o=(n,e)=>{for(var t in e||(e={}))m.call(e,t)&&s(n,t,e[t]);if(a)for(var t of a(e))h.call(e,t)&&s(n,t,e[t]);return n};import{S as c}from"./SshTerminal.1662520269918.js";import{_ as p,A as d,S as l,r as u,o as f,t as _,b as g,e as I,g as S,d as v}from"./index.1662520269918.js";const $=d({name:"SshTerminalPage",components:{SshTerminal:c},props:{machineId:{type:Number}},setup(){const n=l(),e=u({machineId:0,height:700});return f(()=>{e.height=window.innerHeight+5,e.machineId=Number.parseInt(n.query.id)}),o({},_(e))}});function b(n,e,t,N,T,k){const r=g("ssh-terminal");return v(),I("div",null,[S(r,{ref:"terminal",machineId:n.machineId,height:n.height+"px"},null,8,["machineId","height"])])}var B=p($,[["render",b]]);export{B as default};

View File

@@ -1 +1 @@
var k=Object.defineProperty,B=Object.defineProperties;var N=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var h=(e,t,a)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,w=(e,t)=>{for(var a in t||(t={}))z.call(t,a)&&h(e,a,t[a]);if(f)for(var a of f(t))A.call(t,a)&&h(e,a,t[a]);return e},C=(e,t)=>B(e,N(t));import{l as S,b as $}from"./api.16617802125322.js";import{_ as j,A as L,r as P,o as T,t as U,b as n,d as p,e as b,g as o,w as u,h as I,F as M,j as R,k as c,B as d,i as G,z as F}from"./index.1661780212532.js";import"./Api.1661780212532.js";const H=L({name:"SyslogList",components:{},setup(){const e=P({query:{pageNum:1,pageSize:10,name:null},total:0,logs:[],accounts:[]});T(()=>{t()});const t=async()=>{let r=await S.list.request(e.query);e.logs=r.list,e.total=r.total},a=r=>{e.query.pageNum=r,t()},m=r=>{$.list.request({username:r}).then(g=>{e.accounts=g.list})};return C(w({},U(e)),{search:t,handlePageChange:a,getAccount:m})}}),J={class:"role-list"},K={style:{float:"right"}},O=d("\u6210\u529F"),Q=d("\u5931\u8D25");function W(e,t,a,m,r,g){const i=n("el-option"),_=n("el-select"),v=n("el-button"),s=n("el-table-column"),y=n("el-tag"),q=n("el-table"),D=n("el-pagination"),E=n("el-row"),V=n("el-card");return p(),b("div",J,[o(V,null,{default:u(()=>[I("div",K,[o(_,{remote:"","remote-method":e.getAccount,modelValue:e.query.creatorId,"onUpdate:modelValue":t[0]||(t[0]=l=>e.query.creatorId=l),filterable:"",placeholder:"\u8BF7\u8F93\u5165\u5E76\u9009\u62E9\u8D26\u53F7",clearable:"",class:"mr5"},{default:u(()=>[(p(!0),b(M,null,R(e.accounts,l=>(p(),c(i,{key:l.id,label:l.username,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["remote-method","modelValue"]),o(_,{modelValue:e.query.type,"onUpdate:modelValue":t[1]||(t[1]=l=>e.query.type=l),filterable:"",placeholder:"\u8BF7\u9009\u62E9\u64CD\u4F5C\u7ED3\u679C",clearable:"",class:"mr5"},{default:u(()=>[o(i,{label:"\u6210\u529F",value:1}),o(i,{label:"\u5931\u8D25",value:2})]),_:1},8,["modelValue"]),o(v,{onClick:e.search,type:"success",icon:"search"},null,8,["onClick"])]),o(q,{data:e.logs,style:{width:"100%"}},{default:u(()=>[o(s,{prop:"creator",label:"\u64CD\u4F5C\u4EBA","min-width":"100","show-overflow-tooltip":""}),o(s,{prop:"createTime",label:"\u64CD\u4F5C\u65F6\u95F4","min-width":"160"},{default:u(l=>[d(G(e.$filters.dateFormat(l.row.createTime)),1)]),_:1}),o(s,{prop:"type",label:"\u7ED3\u679C","min-width":"65"},{default:u(l=>[l.row.type==1?(p(),c(y,{key:0,type:"success",size:"small"},{default:u(()=>[O]),_:1})):F("",!0),l.row.type==2?(p(),c(y,{key:1,type:"danger",size:"small"},{default:u(()=>[Q]),_:1})):F("",!0)]),_:1}),o(s,{prop:"description",label:"\u63CF\u8FF0","min-width":"160","show-overflow-tooltip":""}),o(s,{prop:"reqParam",label:"\u8BF7\u6C42\u4FE1\u606F","min-width":"300","show-overflow-tooltip":""}),o(s,{prop:"resp",label:"\u54CD\u5E94\u4FE1\u606F","min-width":"200","show-overflow-tooltip":""})]),_:1},8,["data"]),o(E,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:u(()=>[o(D,{style:{"text-align":"right"},onCurrentChange:e.handlePageChange,total:e.total,layout:"prev, pager, next, total, jumper","current-page":e.query.pageNum,"onUpdate:current-page":t[2]||(t[2]=l=>e.query.pageNum=l),"page-size":e.query.pageSize},null,8,["onCurrentChange","total","current-page","page-size"])]),_:1})]),_:1})])}var ee=j(H,[["render",W]]);export{ee as default};
var k=Object.defineProperty,B=Object.defineProperties;var N=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var h=(e,t,a)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,w=(e,t)=>{for(var a in t||(t={}))z.call(t,a)&&h(e,a,t[a]);if(f)for(var a of f(t))A.call(t,a)&&h(e,a,t[a]);return e},C=(e,t)=>B(e,N(t));import{l as S,b as $}from"./api.16625202699182.js";import{_ as j,A as L,r as P,o as T,t as U,b as n,d as p,e as b,g as o,w as u,h as I,F as M,j as R,k as c,B as d,i as G,z as F}from"./index.1662520269918.js";import"./Api.1662520269918.js";const H=L({name:"SyslogList",components:{},setup(){const e=P({query:{pageNum:1,pageSize:10,name:null},total:0,logs:[],accounts:[]});T(()=>{t()});const t=async()=>{let r=await S.list.request(e.query);e.logs=r.list,e.total=r.total},a=r=>{e.query.pageNum=r,t()},m=r=>{$.list.request({username:r}).then(g=>{e.accounts=g.list})};return C(w({},U(e)),{search:t,handlePageChange:a,getAccount:m})}}),J={class:"role-list"},K={style:{float:"right"}},O=d("\u6210\u529F"),Q=d("\u5931\u8D25");function W(e,t,a,m,r,g){const i=n("el-option"),_=n("el-select"),v=n("el-button"),s=n("el-table-column"),y=n("el-tag"),q=n("el-table"),D=n("el-pagination"),E=n("el-row"),V=n("el-card");return p(),b("div",J,[o(V,null,{default:u(()=>[I("div",K,[o(_,{remote:"","remote-method":e.getAccount,modelValue:e.query.creatorId,"onUpdate:modelValue":t[0]||(t[0]=l=>e.query.creatorId=l),filterable:"",placeholder:"\u8BF7\u8F93\u5165\u5E76\u9009\u62E9\u8D26\u53F7",clearable:"",class:"mr5"},{default:u(()=>[(p(!0),b(M,null,R(e.accounts,l=>(p(),c(i,{key:l.id,label:l.username,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["remote-method","modelValue"]),o(_,{modelValue:e.query.type,"onUpdate:modelValue":t[1]||(t[1]=l=>e.query.type=l),filterable:"",placeholder:"\u8BF7\u9009\u62E9\u64CD\u4F5C\u7ED3\u679C",clearable:"",class:"mr5"},{default:u(()=>[o(i,{label:"\u6210\u529F",value:1}),o(i,{label:"\u5931\u8D25",value:2})]),_:1},8,["modelValue"]),o(v,{onClick:e.search,type:"success",icon:"search"},null,8,["onClick"])]),o(q,{data:e.logs,style:{width:"100%"}},{default:u(()=>[o(s,{prop:"creator",label:"\u64CD\u4F5C\u4EBA","min-width":"100","show-overflow-tooltip":""}),o(s,{prop:"createTime",label:"\u64CD\u4F5C\u65F6\u95F4","min-width":"160"},{default:u(l=>[d(G(e.$filters.dateFormat(l.row.createTime)),1)]),_:1}),o(s,{prop:"type",label:"\u7ED3\u679C","min-width":"65"},{default:u(l=>[l.row.type==1?(p(),c(y,{key:0,type:"success",size:"small"},{default:u(()=>[O]),_:1})):F("",!0),l.row.type==2?(p(),c(y,{key:1,type:"danger",size:"small"},{default:u(()=>[Q]),_:1})):F("",!0)]),_:1}),o(s,{prop:"description",label:"\u63CF\u8FF0","min-width":"160","show-overflow-tooltip":""}),o(s,{prop:"reqParam",label:"\u8BF7\u6C42\u4FE1\u606F","min-width":"300","show-overflow-tooltip":""}),o(s,{prop:"resp",label:"\u54CD\u5E94\u4FE1\u606F","min-width":"200","show-overflow-tooltip":""})]),_:1},8,["data"]),o(E,{style:{"margin-top":"20px"},type:"flex",justify:"end"},{default:u(()=>[o(D,{style:{"text-align":"right"},onCurrentChange:e.handlePageChange,total:e.total,layout:"prev, pager, next, total, jumper","current-page":e.query.pageNum,"onUpdate:current-page":t[2]||(t[2]=l=>e.query.pageNum=l),"page-size":e.query.pageSize},null,8,["onCurrentChange","total","current-page","page-size"])]),_:1})]),_:1})])}var ee=j(H,[["render",W]]);export{ee as default};

View File

@@ -1 +0,0 @@
import{A as e}from"./Api.1661780212532.js";const c={accountProjects:e.create("/accounts/projects","get"),projects:e.create("/projects","get"),saveProject:e.create("/projects","post"),delProject:e.create("/projects","delete"),projectEnvs:e.create("/projects/{projectId}/envs","get"),saveProjectEnv:e.create("/projects/{projectId}/envs","post"),projectMems:e.create("/projects/{projectId}/members","get"),saveProjectMem:e.create("/projects/{projectId}/members","post"),deleteProjectMem:e.create("/projects/{projectId}/members/{accountId}","delete")};export{c as p};

View File

@@ -1 +1 @@
import{A as s}from"./Api.1661780212532.js";const t={list:s.create("/sys/resources","get"),detail:s.create("/sys/resources/{id}","get"),save:s.create("/sys/resources","post"),update:s.create("/sys/resources/{id}","put"),del:s.create("/sys/resources/{id}","delete"),changeStatus:s.create("/sys/resources/{id}/{status}","put")},c={list:s.create("/sys/roles","get"),save:s.create("/sys/roles","post"),update:s.create("/sys/roles/{id}","put"),del:s.create("/sys/roles/{id}","delete"),roleResourceIds:s.create("/sys/roles/{id}/resourceIds","get"),roleResources:s.create("/sys/roles/{id}/resources","get"),saveResources:s.create("/sys/roles/{id}/resources","post")},r={list:s.create("/sys/accounts","get"),save:s.create("/sys/accounts","post"),update:s.create("/sys/accounts/{id}","put"),del:s.create("/sys/accounts/{id}","delete"),changeStatus:s.create("/sys/accounts/change-status/{id}/{status}","put"),roleIds:s.create("/sys/accounts/{id}/roleIds","get"),roles:s.create("/sys/accounts/{id}/roles","get"),resources:s.create("/sys/accounts/{id}/resources","get"),saveRoles:s.create("/sys/accounts/roles","post")},a={list:s.create("/sys/configs","get"),save:s.create("/sys/configs","post"),getValue:s.create("/sys/configs/value","get")},o={list:s.create("/syslogs","get")};export{c as a,r as b,a as c,o as l,t as r};
import{A as s}from"./Api.1662520269918.js";const t={list:s.create("/sys/resources","get"),detail:s.create("/sys/resources/{id}","get"),save:s.create("/sys/resources","post"),update:s.create("/sys/resources/{id}","put"),del:s.create("/sys/resources/{id}","delete"),changeStatus:s.create("/sys/resources/{id}/{status}","put")},c={list:s.create("/sys/roles","get"),save:s.create("/sys/roles","post"),update:s.create("/sys/roles/{id}","put"),del:s.create("/sys/roles/{id}","delete"),roleResourceIds:s.create("/sys/roles/{id}/resourceIds","get"),roleResources:s.create("/sys/roles/{id}/resources","get"),saveResources:s.create("/sys/roles/{id}/resources","post")},r={list:s.create("/sys/accounts","get"),save:s.create("/sys/accounts","post"),update:s.create("/sys/accounts/{id}","put"),del:s.create("/sys/accounts/{id}","delete"),changeStatus:s.create("/sys/accounts/change-status/{id}/{status}","put"),roleIds:s.create("/sys/accounts/{id}/roleIds","get"),roles:s.create("/sys/accounts/{id}/roles","get"),resources:s.create("/sys/accounts/{id}/resources","get"),saveRoles:s.create("/sys/accounts/roles","post")},a={list:s.create("/sys/configs","get"),save:s.create("/sys/configs","post"),getValue:s.create("/sys/configs/value","get")},o={list:s.create("/syslogs","get")};export{c as a,r as b,a as c,o as l,t as r};

View File

@@ -1 +1 @@
import{A as e}from"./Api.1661780212532.js";const c={list:e.create("/machines","get"),getMachinePwd:e.create("/machines/{id}/pwd","get"),info:e.create("/machines/{id}/sysinfo","get"),stats:e.create("/machines/{id}/stats","get"),process:e.create("/machines/{id}/process","get"),killProcess:e.create("/machines/{id}/process","delete"),closeCli:e.create("/machines/{id}/close-cli","delete"),saveMachine:e.create("/machines","post"),changeStatus:e.create("/machines/{id}/{status}","put"),del:e.create("/machines/{id}","delete"),scripts:e.create("/machines/{machineId}/scripts","get"),runScript:e.create("/machines/{machineId}/scripts/{scriptId}/run","get"),saveScript:e.create("/machines/{machineId}/scripts","post"),deleteScript:e.create("/machines/{machineId}/scripts/{scriptId}","delete"),files:e.create("/machines/{id}/files","get"),lsFile:e.create("/machines/{machineId}/files/{fileId}/read-dir","get"),rmFile:e.create("/machines/{machineId}/files/{fileId}/remove","delete"),uploadFile:e.create("/machines/{machineId}/files/{fileId}/upload?token={token}","post"),fileContent:e.create("/machines/{machineId}/files/{fileId}/read","get"),createFile:e.create("/machines/{machineId}/files/{id}/create-file","post"),updateFileContent:e.create("/machines/{machineId}/files/{id}/write","post"),addConf:e.create("/machines/{machineId}/files","post"),delConf:e.create("/machines/{machineId}/files/{id}","delete"),terminal:e.create("/api/machines/{id}/terminal","get"),recDirNames:e.create("/machines/rec/names","get")};export{c as m};
import{A as e}from"./Api.1662520269918.js";const c={list:e.create("/machines","get"),getMachinePwd:e.create("/machines/{id}/pwd","get"),info:e.create("/machines/{id}/sysinfo","get"),stats:e.create("/machines/{id}/stats","get"),process:e.create("/machines/{id}/process","get"),killProcess:e.create("/machines/{id}/process","delete"),closeCli:e.create("/machines/{id}/close-cli","delete"),saveMachine:e.create("/machines","post"),changeStatus:e.create("/machines/{id}/{status}","put"),del:e.create("/machines/{id}","delete"),scripts:e.create("/machines/{machineId}/scripts","get"),runScript:e.create("/machines/{machineId}/scripts/{scriptId}/run","get"),saveScript:e.create("/machines/{machineId}/scripts","post"),deleteScript:e.create("/machines/{machineId}/scripts/{scriptId}","delete"),files:e.create("/machines/{id}/files","get"),lsFile:e.create("/machines/{machineId}/files/{fileId}/read-dir","get"),rmFile:e.create("/machines/{machineId}/files/{fileId}/remove","delete"),uploadFile:e.create("/machines/{machineId}/files/{fileId}/upload?token={token}","post"),fileContent:e.create("/machines/{machineId}/files/{fileId}/read","get"),createFile:e.create("/machines/{machineId}/files/{id}/create-file","post"),updateFileContent:e.create("/machines/{machineId}/files/{id}/write","post"),addConf:e.create("/machines/{machineId}/files","post"),delConf:e.create("/machines/{machineId}/files/{id}","delete"),terminal:e.create("/api/machines/{id}/terminal","get"),recDirNames:e.create("/machines/rec/names","get")};export{c as m};

View File

@@ -0,0 +1 @@
import{A as e}from"./Api.1662520269918.js";const c={accountProjects:e.create("/accounts/projects","get"),projects:e.create("/projects","get"),saveProject:e.create("/projects","post"),delProject:e.create("/projects","delete"),projectEnvs:e.create("/projects/{projectId}/envs","get"),delProjectEnvs:e.create("/projects/envs","delete"),saveProjectEnv:e.create("/projects/{projectId}/envs","post"),projectMems:e.create("/projects/{projectId}/members","get"),saveProjectMem:e.create("/projects/{projectId}/members","post"),deleteProjectMem:e.create("/projects/{projectId}/members/{accountId}","delete")};export{c as p};

View File

@@ -1 +1 @@
import{A as e}from"./Api.1661780212532.js";const s={redisList:e.create("/redis","get"),getRedisPwd:e.create("/redis/{id}/pwd","get"),redisInfo:e.create("/redis/{id}/info","get"),clusterInfo:e.create("/redis/{id}/cluster-info","get"),saveRedis:e.create("/redis","post"),delRedis:e.create("/redis/{id}","delete"),scan:e.create("/redis/{id}/scan","post"),getStringValue:e.create("/redis/{id}/string-value","get"),saveStringValue:e.create("/redis/{id}/string-value","post"),getHashValue:e.create("/redis/{id}/hash-value","get"),hscan:e.create("/redis/{id}/hscan","get"),hget:e.create("/redis/{id}/hget","get"),hdel:e.create("/redis/{id}/hdel","delete"),saveHashValue:e.create("/redis/{id}/hash-value","post"),getSetValue:e.create("/redis/{id}/set-value","get"),saveSetValue:e.create("/redis/{id}/set-value","post"),del:e.create("/redis/{id}/scan/{cursor}/{count}","delete"),delKey:e.create("/redis/{id}/key","delete")};export{s as r};
import{A as e}from"./Api.1662520269918.js";const s={redisList:e.create("/redis","get"),getRedisPwd:e.create("/redis/{id}/pwd","get"),redisInfo:e.create("/redis/{id}/info","get"),clusterInfo:e.create("/redis/{id}/cluster-info","get"),saveRedis:e.create("/redis","post"),delRedis:e.create("/redis/{id}","delete"),scan:e.create("/redis/{id}/scan","post"),getStringValue:e.create("/redis/{id}/string-value","get"),saveStringValue:e.create("/redis/{id}/string-value","post"),getHashValue:e.create("/redis/{id}/hash-value","get"),hscan:e.create("/redis/{id}/hscan","get"),hget:e.create("/redis/{id}/hget","get"),hdel:e.create("/redis/{id}/hdel","delete"),saveHashValue:e.create("/redis/{id}/hash-value","post"),getSetValue:e.create("/redis/{id}/set-value","get"),saveSetValue:e.create("/redis/{id}/set-value","post"),del:e.create("/redis/{id}/scan/{cursor}/{count}","delete"),delKey:e.create("/redis/{id}/key","delete")};export{s as r};

View File

@@ -1 +1 @@
import{A as o}from"./Api.1661780212532.js";const m={mongoList:o.create("/mongos","get"),saveMongo:o.create("/mongos","post"),deleteMongo:o.create("/mongos/{id}","delete"),databases:o.create("/mongos/{id}/databases","get"),collections:o.create("/mongos/{id}/collections","get"),runCommand:o.create("/mongos/{id}/run-command","post"),findCommand:o.create("/mongos/{id}/command/find","post"),updateByIdCommand:o.create("/mongos/{id}/command/update-by-id","post"),deleteByIdCommand:o.create("/mongos/{id}/command/delete-by-id","post"),insertCommand:o.create("/mongos/{id}/command/insert","post")};export{m};
import{A as o}from"./Api.1662520269918.js";const m={mongoList:o.create("/mongos","get"),saveMongo:o.create("/mongos","post"),deleteMongo:o.create("/mongos/{id}","delete"),databases:o.create("/mongos/{id}/databases","get"),collections:o.create("/mongos/{id}/collections","get"),runCommand:o.create("/mongos/{id}/run-command","post"),findCommand:o.create("/mongos/{id}/command/find","post"),updateByIdCommand:o.create("/mongos/{id}/command/update-by-id","post"),deleteByIdCommand:o.create("/mongos/{id}/command/delete-by-id","post"),insertCommand:o.create("/mongos/{id}/command/insert","post")};export{m};

View File

Before

Width:  |  Height:  |  Size: 458 KiB

After

Width:  |  Height:  |  Size: 458 KiB

View File

@@ -1 +1 @@
import{E as u}from"./Enum.1661780212532.js";var d={ResourceTypeEnum:new u().add("MENU","\u83DC\u5355",1).add("PERMISSION","\u6743\u9650",2),accountStatus:new u().add("ENABLE","\u6B63\u5E38",1).add("DISABLE","\u7981\u7528",-1),logType:new u().add("UPDATE","\u4FEE\u6539",2).add("DELETE","\u5220\u9664",3).add("SYS_LOG","\u7CFB\u7EDF",4).add("ERR_LOG","\u5F02\u5E38",5)};export{d as e};
import{E as u}from"./Enum.1662520269918.js";var d={ResourceTypeEnum:new u().add("MENU","\u83DC\u5355",1).add("PERMISSION","\u6743\u9650",2),accountStatus:new u().add("ENABLE","\u6B63\u5E38",1).add("DISABLE","\u7981\u7528",-1),logType:new u().add("UPDATE","\u4FEE\u6539",2).add("DELETE","\u5220\u9664",3).add("SYS_LOG","\u7CFB\u7EDF",4).add("ERR_LOG","\u5F02\u5E38",5)};export{d as e};

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 +1 @@
.login-content-form[data-v-aa711bf4]{margin-top:20px}.login-content-form .login-content-code[data-v-aa711bf4]{display:flex;align-items:center;justify-content:space-around}.login-content-form .login-content-code .login-content-code-img[data-v-aa711bf4]{width:100%;height:40px;line-height:40px;background-color:#fff;border:1px solid #dcdfe6;color:#333;font-size:16px;font-weight:700;letter-spacing:5px;text-indent:5px;text-align:center;cursor:pointer;transition:all ease .2s;border-radius:4px;user-select:none}.login-content-form .login-content-code .login-content-code-img[data-v-aa711bf4]:hover{border-color:#c0c4cc;transition:all ease .2s}.login-content-form .login-content-submit[data-v-aa711bf4]{width:100%;letter-spacing:2px;font-weight:300;margin-top:15px}.login-container[data-v-46973cfa]{width:100%;height:100%;background:url(./bg-login.1661780212532.png) no-repeat;background-size:100% 100%}.login-container .login-logo[data-v-46973cfa]{position:absolute;top:30px;left:50%;height:50px;display:flex;align-items:center;font-size:20px;color:var(--color-primary);letter-spacing:2px;width:90%;transform:translate(-50%)}.login-container .login-content[data-v-46973cfa]{width:500px;padding:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateZ(0);background-color:#fffffffc;box-shadow:0 2px 12px 0 var(--color-primary-light-5);border-radius:4px;transition:height .2s linear;height:480px;overflow:hidden;z-index:1}.login-container .login-content .login-content-main[data-v-46973cfa]{margin:0 auto;width:80%}.login-container .login-content .login-content-main .login-content-title[data-v-46973cfa]{color:#333;font-weight:500;font-size:22px;text-align:center;letter-spacing:4px;margin:15px 0 30px;white-space:nowrap}.login-container .login-content-mobile[data-v-46973cfa]{height:418px}.login-container .login-copyright[data-v-46973cfa]{position:absolute;left:50%;transform:translate(-50%);bottom:30px;text-align:center;color:#fff;font-size:12px;opacity:.8}.login-container .login-copyright .login-copyright-company[data-v-46973cfa],.login-container .login-copyright .login-copyright-msg[data-v-46973cfa]{white-space:nowrap}
.login-content-form[data-v-aa711bf4]{margin-top:20px}.login-content-form .login-content-code[data-v-aa711bf4]{display:flex;align-items:center;justify-content:space-around}.login-content-form .login-content-code .login-content-code-img[data-v-aa711bf4]{width:100%;height:40px;line-height:40px;background-color:#fff;border:1px solid #dcdfe6;color:#333;font-size:16px;font-weight:700;letter-spacing:5px;text-indent:5px;text-align:center;cursor:pointer;transition:all ease .2s;border-radius:4px;user-select:none}.login-content-form .login-content-code .login-content-code-img[data-v-aa711bf4]:hover{border-color:#c0c4cc;transition:all ease .2s}.login-content-form .login-content-submit[data-v-aa711bf4]{width:100%;letter-spacing:2px;font-weight:300;margin-top:15px}.login-container[data-v-46973cfa]{width:100%;height:100%;background:url(./bg-login.1662520269918.png) no-repeat;background-size:100% 100%}.login-container .login-logo[data-v-46973cfa]{position:absolute;top:30px;left:50%;height:50px;display:flex;align-items:center;font-size:20px;color:var(--color-primary);letter-spacing:2px;width:90%;transform:translate(-50%)}.login-container .login-content[data-v-46973cfa]{width:500px;padding:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateZ(0);background-color:#fffffffc;box-shadow:0 2px 12px 0 var(--color-primary-light-5);border-radius:4px;transition:height .2s linear;height:480px;overflow:hidden;z-index:1}.login-container .login-content .login-content-main[data-v-46973cfa]{margin:0 auto;width:80%}.login-container .login-content .login-content-main .login-content-title[data-v-46973cfa]{color:#333;font-weight:500;font-size:22px;text-align:center;letter-spacing:4px;margin:15px 0 30px;white-space:nowrap}.login-container .login-content-mobile[data-v-46973cfa]{height:418px}.login-container .login-copyright[data-v-46973cfa]{position:absolute;left:50%;transform:translate(-50%);bottom:30px;text-align:center;color:#fff;font-size:12px;opacity:.8}.login-container .login-copyright .login-copyright-company[data-v-46973cfa],.login-container .login-copyright .login-copyright-msg[data-v-46973cfa]{white-space:nowrap}

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,4 +1,4 @@
import{P as Et}from"./index.1661780212532.js";import{a as Dt}from"./assert.1661780212532.js";var xt="0123456789abcdefghijklmnopqrstuvwxyz";function A(r){return xt.charAt(r)}function Rt(r,t){return r&t}function G(r,t){return r|t}function ut(r,t){return r^t}function at(r,t){return r&~t}function Bt(r){if(r==0)return-1;var t=0;return(r&65535)==0&&(r>>=16,t+=16),(r&255)==0&&(r>>=8,t+=8),(r&15)==0&&(r>>=4,t+=4),(r&3)==0&&(r>>=2,t+=2),(r&1)==0&&++t,t}function At(r){for(var t=0;r!=0;)r&=r-1,++t;return t}var _="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Tt="=";function tt(r){var t,e,i="";for(t=0;t+3<=r.length;t+=3)e=parseInt(r.substring(t,t+3),16),i+=_.charAt(e>>6)+_.charAt(e&63);for(t+1==r.length?(e=parseInt(r.substring(t,t+1),16),i+=_.charAt(e<<2)):t+2==r.length&&(e=parseInt(r.substring(t,t+2),16),i+=_.charAt(e>>2)+_.charAt((e&3)<<4));(i.length&3)>0;)i+=Tt;return i}function lt(r){var t="",e,i=0,n=0;for(e=0;e<r.length&&r.charAt(e)!=Tt;++e){var s=_.indexOf(r.charAt(e));s<0||(i==0?(t+=A(s>>2),n=s&3,i=1):i==1?(t+=A(n<<2|s>>4),n=s&15,i=2):i==2?(t+=A(n),t+=A(s>>2),n=s&3,i=3):(t+=A(n<<2|s>>4),t+=A(s&15),i=0))}return i==1&&(t+=A(n<<2)),t}var C,Ot={decode:function(r){var t;if(C===void 0){var e="0123456789ABCDEF",i=` \f
import{P as Et}from"./index.1662520269918.js";import{a as Dt}from"./assert.1662520269918.js";var xt="0123456789abcdefghijklmnopqrstuvwxyz";function A(r){return xt.charAt(r)}function Rt(r,t){return r&t}function G(r,t){return r|t}function ut(r,t){return r^t}function at(r,t){return r&~t}function Bt(r){if(r==0)return-1;var t=0;return(r&65535)==0&&(r>>=16,t+=16),(r&255)==0&&(r>>=8,t+=8),(r&15)==0&&(r>>=4,t+=4),(r&3)==0&&(r>>=2,t+=2),(r&1)==0&&++t,t}function At(r){for(var t=0;r!=0;)r&=r-1,++t;return t}var _="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Tt="=";function tt(r){var t,e,i="";for(t=0;t+3<=r.length;t+=3)e=parseInt(r.substring(t,t+3),16),i+=_.charAt(e>>6)+_.charAt(e&63);for(t+1==r.length?(e=parseInt(r.substring(t,t+1),16),i+=_.charAt(e<<2)):t+2==r.length&&(e=parseInt(r.substring(t,t+2),16),i+=_.charAt(e>>2)+_.charAt((e&3)<<4));(i.length&3)>0;)i+=Tt;return i}function lt(r){var t="",e,i=0,n=0;for(e=0;e<r.length&&r.charAt(e)!=Tt;++e){var s=_.indexOf(r.charAt(e));s<0||(i==0?(t+=A(s>>2),n=s&3,i=1):i==1?(t+=A(n<<2|s>>4),n=s&15,i=2):i==2?(t+=A(n),t+=A(s>>2),n=s&3,i=3):(t+=A(n<<2|s>>4),t+=A(s&15),i=0))}return i==1&&(t+=A(n<<2)),t}var C,Ot={decode:function(r){var t;if(C===void 0){var e="0123456789ABCDEF",i=` \f
\r \xA0\u2028\u2029`;for(C={},t=0;t<16;++t)C[e.charAt(t)]=t;for(e=e.toLowerCase(),t=10;t<16;++t)C[e.charAt(t)]=t;for(t=0;t<i.length;++t)C[i.charAt(t)]=-1}var n=[],s=0,h=0;for(t=0;t<r.length;++t){var o=r.charAt(t);if(o=="=")break;if(o=C[o],o!=-1){if(o===void 0)throw new Error("Illegal character at offset "+t);s|=o,++h>=2?(n[n.length]=s,s=0,h=0):s<<=4}}if(h)throw new Error("Hex encoding incomplete: 4 bits missing");return n}},P,st={decode:function(r){var t;if(P===void 0){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=`= \f
\r \xA0\u2028\u2029`;for(P=Object.create(null),t=0;t<64;++t)P[e.charAt(t)]=t;for(P["-"]=62,P._=63,t=0;t<i.length;++t)P[i.charAt(t)]=-1}var n=[],s=0,h=0;for(t=0;t<r.length;++t){var o=r.charAt(t);if(o=="=")break;if(o=P[o],o!=-1){if(o===void 0)throw new Error("Illegal character at offset "+t);s|=o,++h>=4?(n[n.length]=s>>16,n[n.length]=s>>8&255,n[n.length]=s&255,s=0,h=0):s<<=6}}switch(h){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:n[n.length]=s>>10;break;case 3:n[n.length]=s>>16,n[n.length]=s>>8&255;break}return n},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(r){var t=st.re.exec(r);if(t)if(t[1])r=t[1];else if(t[2])r=t[2];else throw new Error("RegExp out of sync");return st.decode(r)}},H=1e13,k=function(){function r(t){this.buf=[+t||0]}return r.prototype.mulAdd=function(t,e){var i=this.buf,n=i.length,s,h;for(s=0;s<n;++s)h=i[s]*t+e,h<H?e=0:(e=0|h/H,h-=e*H),i[s]=h;e>0&&(i[s]=e)},r.prototype.sub=function(t){var e=this.buf,i=e.length,n,s;for(n=0;n<i;++n)s=e[n]-t,s<0?(s+=H,t=1):t=0,e[n]=s;for(;e[e.length-1]===0;)e.pop()},r.prototype.toString=function(t){if((t||10)!=10)throw new Error("only base 10 is supported");for(var e=this.buf,i=e[e.length-1].toString(),n=e.length-2;n>=0;--n)i+=(H+e[n]).toString().substring(1);return i},r.prototype.valueOf=function(){for(var t=this.buf,e=0,i=t.length-1;i>=0;--i)e=e*H+t[i];return e},r.prototype.simplify=function(){var t=this.buf;return t.length==1?t[0]:this},r}(),mt="\u2026",Vt=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,It=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function F(r,t){return r.length>t&&(r=r.substring(0,t)+mt),r}var rt=function(){function r(t,e){this.hexDigits="0123456789ABCDEF",t instanceof r?(this.enc=t.enc,this.pos=t.pos):(this.enc=t,this.pos=e)}return r.prototype.get=function(t){if(t===void 0&&(t=this.pos++),t>=this.enc.length)throw new Error("Requesting byte offset "+t+" on a stream of length "+this.enc.length);return typeof this.enc=="string"?this.enc.charCodeAt(t):this.enc[t]},r.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(t&15)},r.prototype.hexDump=function(t,e,i){for(var n="",s=t;s<e;++s)if(n+=this.hexByte(this.get(s)),i!==!0)switch(s&15){case 7:n+=" ";break;case 15:n+=`
`;break;default:n+=" "}return n},r.prototype.isASCII=function(t,e){for(var i=t;i<e;++i){var n=this.get(i);if(n<32||n>176)return!1}return!0},r.prototype.parseStringISO=function(t,e){for(var i="",n=t;n<e;++n)i+=String.fromCharCode(this.get(n));return i},r.prototype.parseStringUTF=function(t,e){for(var i="",n=t;n<e;){var s=this.get(n++);s<128?i+=String.fromCharCode(s):s>191&&s<224?i+=String.fromCharCode((s&31)<<6|this.get(n++)&63):i+=String.fromCharCode((s&15)<<12|(this.get(n++)&63)<<6|this.get(n++)&63)}return i},r.prototype.parseStringBMP=function(t,e){for(var i="",n,s,h=t;h<e;)n=this.get(h++),s=this.get(h++),i+=String.fromCharCode(n<<8|s);return i},r.prototype.parseTime=function(t,e,i){var n=this.parseStringISO(t,e),s=(i?Vt:It).exec(n);return s?(i&&(s[1]=+s[1],s[1]+=+s[1]<70?2e3:1900),n=s[1]+"-"+s[2]+"-"+s[3]+" "+s[4],s[5]&&(n+=":"+s[5],s[6]&&(n+=":"+s[6],s[7]&&(n+="."+s[7]))),s[8]&&(n+=" UTC",s[8]!="Z"&&(n+=s[8],s[9]&&(n+=":"+s[9]))),n):"Unrecognized time: "+n},r.prototype.parseInteger=function(t,e){for(var i=this.get(t),n=i>127,s=n?255:0,h,o="";i==s&&++t<e;)i=this.get(t);if(h=e-t,h===0)return n?-1:0;if(h>4){for(o=i,h<<=3;((+o^s)&128)==0;)o=+o<<1,--h;o="("+h+` bit)

View File

@@ -15,8 +15,8 @@
<link type="favicon" rel="shortcut icon" href="favicon.ico" />
<title>mayfly</title>
<script type="module" crossorigin src="assets/index.1661780212532.js"></script>
<link rel="stylesheet" href="assets/index.16617802125328.css">
<script type="module" crossorigin src="assets/index.1662520269918.js"></script>
<link rel="stylesheet" href="assets/index.16625202699188.css">
</head>
<body>
<div id="app"></div>