🎨完成基本构想的全部

This commit is contained in:
2024-06-06 17:02:45 +08:00
parent 1bc4e7869a
commit b02ce4b0ba
24 changed files with 432 additions and 40 deletions

View File

@@ -3,7 +3,8 @@ import { ref } from "vue";
import { FormInstance } from "element-plus";
import { storageLocal } from "@pureadmin/utils";
import { userKey } from "@/utils/auth";
import {clientFormRules} from "@/views/server/component/rules";
import { clientFormRules } from "@/views/server/component/rules";
import {generateClientKeys} from "@/api/clients";
// 声明 props 类型
export interface DetailFormProps {
@@ -64,6 +65,14 @@ function getDetailFormRef() {
return detailFormRef.value;
}
function generateClientKeysApi() {
generateClientKeys().then(res => {
if (res.code === 200) {
detailForm.value.keys = res.data;
}
});
}
defineExpose({ getDetailFormRef });
</script>
@@ -132,6 +141,32 @@ defineExpose({ getDetailFormRef });
<el-form-item prop="endpoint" label="链接端点">
<el-input v-model="detailForm.endpoint" />
</el-form-item>
<el-form-item prop="privateKey" label="私钥">
<el-input
v-if="detailForm.id === ''"
v-model="detailForm.keys.privateKey"
/>
<el-input v-else disabled v-model="detailForm.keys.privateKey" />
</el-form-item>
<el-form-item prop="publicKey" label="公钥">
<el-input
v-if="detailForm.id === ''"
v-model="detailForm.keys.publicKey"
/>
<el-input v-else disabled v-model="detailForm.keys.publicKey" />
</el-form-item>
<el-form-item prop="presharedKey" label="共享密钥">
<el-input
v-if="detailForm.id === ''"
v-model="detailForm.keys.presharedKey"
/>
<el-input v-else disabled v-model="detailForm.keys.presharedKey" />
</el-form-item>
<el-form-item v-if="detailForm.id === ''">
<el-button type="primary" size="small" @click="generateClientKeysApi()"
>生成密钥对</el-button
>
</el-form-item>
<el-form-item prop="useServerDNS" label="是否使用服务端DNS">
<el-radio-group v-model="detailForm.useServerDNS">
<el-radio :value="1"></el-radio>