mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2024-12-18 19:39:29 +08:00
feat: 增加许可证解绑功能 (#4522)
This commit is contained in:
parent
735fc75e35
commit
ed13136221
@ -18,6 +18,10 @@ export const syncLicense = () => {
|
|||||||
return http.post(`/licenses/sync`);
|
return http.post(`/licenses/sync`);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const unbindLicense = () => {
|
||||||
|
return http.post(`/licenses/unbind`);
|
||||||
|
};
|
||||||
|
|
||||||
export const getSettingInfo = () => {
|
export const getSettingInfo = () => {
|
||||||
return http.post<Setting.SettingInfo>(`/settings/search`);
|
return http.post<Setting.SettingInfo>(`/settings/search`);
|
||||||
};
|
};
|
||||||
|
@ -1516,6 +1516,8 @@ const message = {
|
|||||||
quickUpdate: 'Quick Update',
|
quickUpdate: 'Quick Update',
|
||||||
import: 'Import',
|
import: 'Import',
|
||||||
power: 'Authorize',
|
power: 'Authorize',
|
||||||
|
unbind: 'Unbind License',
|
||||||
|
unbindHelper: 'All Pro related Settings will be cleared after unbinding. Do you want to continue? ',
|
||||||
importLicense: 'Import License',
|
importLicense: 'Import License',
|
||||||
importHelper: 'Please click or drag the license file here',
|
importHelper: 'Please click or drag the license file here',
|
||||||
technicalAdvice: 'Technical Advice',
|
technicalAdvice: 'Technical Advice',
|
||||||
|
@ -1414,6 +1414,8 @@ const message = {
|
|||||||
quickUpdate: '快速更新',
|
quickUpdate: '快速更新',
|
||||||
import: '導入',
|
import: '導入',
|
||||||
power: '授 權',
|
power: '授 權',
|
||||||
|
unbind: '解除綁定',
|
||||||
|
unbindHelper: '解除綁定後將清除所有專業版相關設置,是否繼續?',
|
||||||
importLicense: '導入許可證',
|
importLicense: '導入許可證',
|
||||||
importHelper: '請點擊或拖動許可文件到此處',
|
importHelper: '請點擊或拖動許可文件到此處',
|
||||||
technicalAdvice: '技術諮詢',
|
technicalAdvice: '技術諮詢',
|
||||||
|
@ -1415,6 +1415,8 @@ const message = {
|
|||||||
quickUpdate: '快速更新',
|
quickUpdate: '快速更新',
|
||||||
import: '导入',
|
import: '导入',
|
||||||
power: '授 权',
|
power: '授 权',
|
||||||
|
unbind: '解除绑定',
|
||||||
|
unbindHelper: '解除绑定后将清除所有专业版相关设置,是否继续?',
|
||||||
importLicense: '导入许可证',
|
importLicense: '导入许可证',
|
||||||
importHelper: '请点击或拖动许可文件到此处',
|
importHelper: '请点击或拖动许可文件到此处',
|
||||||
technicalAdvice: '技术咨询',
|
technicalAdvice: '技术咨询',
|
||||||
|
@ -18,6 +18,9 @@
|
|||||||
>
|
>
|
||||||
{{ $t('commons.button.sync') }}
|
{{ $t('commons.button.sync') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button type="primary" class="ml-3" plain @click="onUnBind()" size="small">
|
||||||
|
{{ $t('license.unbind') }}
|
||||||
|
</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item :label="$t('license.authorizedUser')">
|
<el-descriptions-item :label="$t('license.authorizedUser')">
|
||||||
{{ license.assigneeName || '-' }}
|
{{ license.assigneeName || '-' }}
|
||||||
@ -104,7 +107,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted } from 'vue';
|
import { ref, reactive, onMounted } from 'vue';
|
||||||
import { getLicense, syncLicense } from '@/api/modules/setting';
|
import { getLicense, syncLicense, unbindLicense } from '@/api/modules/setting';
|
||||||
import CardWithHeader from '@/components/card-with-header/index.vue';
|
import CardWithHeader from '@/components/card-with-header/index.vue';
|
||||||
import LicenseImport from '@/components/license-import/index.vue';
|
import LicenseImport from '@/components/license-import/index.vue';
|
||||||
import i18n from '@/lang';
|
import i18n from '@/lang';
|
||||||
@ -135,13 +138,32 @@ const onSync = async () => {
|
|||||||
.then(() => {
|
.then(() => {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
MsgSuccess(i18n.global.t('commons.msg.operationSuccess'));
|
MsgSuccess(i18n.global.t('commons.msg.operationSuccess'));
|
||||||
search();
|
window.location.reload();
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const onUnBind = async () => {
|
||||||
|
ElMessageBox.confirm(i18n.global.t('license.unbindHelper'), i18n.global.t('license.unbind'), {
|
||||||
|
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||||
|
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||||
|
type: 'info',
|
||||||
|
}).then(async () => {
|
||||||
|
loading.value = true;
|
||||||
|
await unbindLicense()
|
||||||
|
.then(() => {
|
||||||
|
loading.value = false;
|
||||||
|
MsgSuccess(i18n.global.t('commons.msg.operationSuccess'));
|
||||||
|
window.location.reload();
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
loading.value = false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
const timestampToDate = (timestamp: number) => {
|
const timestampToDate = (timestamp: number) => {
|
||||||
const date = new Date(timestamp * 1000);
|
const date = new Date(timestamp * 1000);
|
||||||
const y = date.getFullYear();
|
const y = date.getFullYear();
|
||||||
|
Loading…
Reference in New Issue
Block a user