214 lines
5.6 KiB
Vue
214 lines
5.6 KiB
Vue
|
|
<!-- -->
|
|||
|
|
<template>
|
|||
|
|
<div class="activation">
|
|||
|
|
<!-- <el-steps class="steps" :active="active" finish-status="success" align-center>
|
|||
|
|
<el-step title="服务器选择"></el-step>
|
|||
|
|
<el-step title="步骤 2"></el-step>
|
|||
|
|
<el-step title="步骤 3"></el-step>
|
|||
|
|
</el-steps>
|
|||
|
|
<div class="step-content" v-if="active == 0">
|
|||
|
|
<Server @next="next"></Server>
|
|||
|
|
</div>
|
|||
|
|
<div class="step-content" v-if="active == 1">
|
|||
|
|
1111
|
|||
|
|
</div> -->
|
|||
|
|
<el-form ref="form" :model="form" label-width="150px">
|
|||
|
|
<el-form-item label="获取服务器信息">
|
|||
|
|
<el-select v-model="form.osName" placeholder="请选择服务器">
|
|||
|
|
<el-option label="windows" value="windows"></el-option>
|
|||
|
|
<el-option label="linux" value="linux"></el-option>
|
|||
|
|
</el-select>
|
|||
|
|
<el-button @click="getInfos">确定</el-button>
|
|||
|
|
</el-form-item>
|
|||
|
|
<el-form-item label="">
|
|||
|
|
<div>
|
|||
|
|
<div style="width:400px; margin-top: 10px;">
|
|||
|
|
|
|||
|
|
<el-upload ref="upload" :limit="1" name="uploadFile" accept=".lic" :action="upload.url"
|
|||
|
|
:disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess"
|
|||
|
|
:auto-upload="false" drag>
|
|||
|
|
<i class="el-icon-upload"></i>
|
|||
|
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
|||
|
|
<!-- <div class="el-upload__tip text-center" slot="tip">
|
|||
|
|
<span>仅允许导入txt格式文件。</span>
|
|||
|
|
</div> -->
|
|||
|
|
</el-upload>
|
|||
|
|
<el-button type="primary" @click="submitFileForm">注册</el-button>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</el-form-item>
|
|||
|
|
<el-form-item label="有效期">
|
|||
|
|
<div class="time-end" v-if="!time.check">
|
|||
|
|
<h1>{{ time.issuedTime }}</h1>
|
|||
|
|
<span>-</span>
|
|||
|
|
<h1>{{ time.expiryTime }}</h1>
|
|||
|
|
</div>
|
|||
|
|
<div class="time-end" v-else>
|
|||
|
|
<h1>尚未注册</h1>
|
|||
|
|
</div>
|
|||
|
|
</el-form-item>
|
|||
|
|
</el-form>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
|
|||
|
|
//例如:import 《组件名称》 from '《组件路径》';
|
|||
|
|
// import server from '@/views/activationStepltem/serverInformation.vue'
|
|||
|
|
import Server from "./serverInformation.vue";
|
|||
|
|
import {
|
|||
|
|
getServerInfos,
|
|||
|
|
getLicenceDate,
|
|||
|
|
uploadLicense,
|
|||
|
|
} from "@/api/activation.js";
|
|||
|
|
import { getToken } from "@/utils/auth";
|
|||
|
|
export default {
|
|||
|
|
//import引入的组件需要注入到对象中才能使用
|
|||
|
|
components: {
|
|||
|
|
Server,
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
//这里存放数据
|
|||
|
|
return {
|
|||
|
|
active: 0,
|
|||
|
|
form: {
|
|||
|
|
osName: "linux",
|
|||
|
|
},
|
|||
|
|
fileList: [],
|
|||
|
|
//到期时间显示
|
|||
|
|
time: {
|
|||
|
|
expiryTime: "",
|
|||
|
|
issuedTime: "",
|
|||
|
|
check: 1,
|
|||
|
|
},
|
|||
|
|
//激活文件上传
|
|||
|
|
upload: {
|
|||
|
|
// 是否禁用上传
|
|||
|
|
isUploading: false,
|
|||
|
|
// 上传的地址
|
|||
|
|
url: import.meta.env.VITE_APP_BASE_API + "/license/uploadLicense"
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
},
|
|||
|
|
//监听属性 类似于data概念
|
|||
|
|
computed: {},
|
|||
|
|
//监控data中的数据变化
|
|||
|
|
watch: {},
|
|||
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|||
|
|
created() { },
|
|||
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|||
|
|
mounted() {
|
|||
|
|
this.getDate();
|
|||
|
|
},
|
|||
|
|
//生命周期 - 创建之前
|
|||
|
|
beforeCreate() { },
|
|||
|
|
//生命周期 - 挂载之前
|
|||
|
|
beforeMount() { },
|
|||
|
|
//生命周期 - 更新之前
|
|||
|
|
beforeUpdate() { },
|
|||
|
|
//生命周期 - 更新之后
|
|||
|
|
updated() { },
|
|||
|
|
//生命周期 - 销毁之前
|
|||
|
|
beforeDestroy() { },
|
|||
|
|
//生命周期 - 销毁完成
|
|||
|
|
destroyed() { },
|
|||
|
|
//如果页面有keep-alive缓存功能,这个函数会触发
|
|||
|
|
activated() { },
|
|||
|
|
//方法集合
|
|||
|
|
methods: {
|
|||
|
|
next() {
|
|||
|
|
if (this.active++ > 2) this.active = 0;
|
|||
|
|
},
|
|||
|
|
// 提交上传文件
|
|||
|
|
submitFileForm() {
|
|||
|
|
this.$refs.upload.submit();
|
|||
|
|
},
|
|||
|
|
getDate() {
|
|||
|
|
getLicenceDate().then((res) => {
|
|||
|
|
this.time.check = res.check;
|
|||
|
|
if (!res.check) {
|
|||
|
|
this.time.expiryTime = res.expiryTime;
|
|||
|
|
this.time.issuedTime = res.issuedTime;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
getInfos() {
|
|||
|
|
this.$modal.loading("正在导出数据,请稍后...");
|
|||
|
|
getServerInfos(this.form).then((res) => {
|
|||
|
|
console.log(res);
|
|||
|
|
if (res.code == 200) {
|
|||
|
|
const blob = new Blob([res.data], { type: 'text/plain;charset=utf-8' })
|
|||
|
|
this.$download.saveAs(blob, "serverInfo.txt")
|
|||
|
|
} else {
|
|||
|
|
this.$modal.msgError(res.msg);
|
|||
|
|
}
|
|||
|
|
this.$modal.closeLoading();
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
handleFileUploadProgress(event, file, fileList) {
|
|||
|
|
this.upload.isUploading = true;
|
|||
|
|
},
|
|||
|
|
// 文件上传成功处理
|
|||
|
|
handleFileSuccess(response, file, fileList) {
|
|||
|
|
if (response.code == 200) {
|
|||
|
|
this.upload.isUploading = false;
|
|||
|
|
this.$refs.upload.clearFiles();
|
|||
|
|
this.time.check = response.check;
|
|||
|
|
this.time.expiryTime = response.expiryTime;
|
|||
|
|
this.time.issuedTime = response.issuedTime;
|
|||
|
|
this.$modal.msgSuccess(response.msg);
|
|||
|
|
} else {
|
|||
|
|
this.$modal.msgError(response.msg);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
};
|
|||
|
|
</script>
|
|||
|
|
<style scoped>
|
|||
|
|
.activation {
|
|||
|
|
width: 100%;
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
justify-content: center;
|
|||
|
|
align-items: center;
|
|||
|
|
padding-top: 50px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.steps {
|
|||
|
|
width: 70%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.step-content {
|
|||
|
|
width: 100%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.time-end {
|
|||
|
|
color: red;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
height: 36px;
|
|||
|
|
|
|||
|
|
font-size: 50px;
|
|||
|
|
/* justify-content: center; */
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.time-end {
|
|||
|
|
font-size: 20px;
|
|||
|
|
-webkit-text-fill-color: transparent;
|
|||
|
|
-webkit-text-stroke: 1px #000;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.time-end span {
|
|||
|
|
margin: 0 20px;
|
|||
|
|
}
|
|||
|
|
</style>
|