Files
certd/packages/ui/certd-client/src/views/sys/account/index.vue
T

57 lines
1.5 KiB
Vue
Raw Normal View History

2024-09-22 02:06:34 +08:00
<template>
<fs-page class="cd-page-account">
2024-09-22 23:19:10 +08:00
<iframe ref="iframeRef" class="account-iframe" src="http://localhost:1017/#/?appKey=z4nXOeTeSnnpUpnmsV"> </iframe>
2024-09-22 02:06:34 +08:00
</fs-page>
</template>
<script setup lang="tsx">
import { IframeClient } from "@certd/lib-iframe";
import { onMounted, ref } from "vue";
import { useUserStore } from "/@/store/modules/user";
import { useSettingStore } from "/@/store/modules/settings";
2024-09-23 01:52:42 +08:00
import * as api from "./api";
2024-09-22 02:06:34 +08:00
const iframeRef = ref();
const userStore = useUserStore();
const settingStore = useSettingStore();
type SubjectInfo = {
subjectId: string;
installTime?: number;
vipType?: string;
expiresTime?: number;
};
onMounted(() => {
const iframeClient = new IframeClient(iframeRef.value);
2024-09-23 01:52:42 +08:00
iframeClient.register("getSubjectInfo", async (req) => {
2024-09-22 02:06:34 +08:00
const subjectInfo: SubjectInfo = {
subjectId: settingStore.installInfo.siteId,
installTime: settingStore.installInfo.installTime,
vipType: userStore.plusInfo.vipType || "free",
expiresTime: userStore.plusInfo.expireTime
};
return subjectInfo;
});
2024-09-23 01:52:42 +08:00
iframeClient.register("preBindSubject", async (req) => {
const userId = req.data.userId;
await api.PreBindUser(userId);
});
2024-09-22 02:06:34 +08:00
});
</script>
<style lang="less">
.cd-page-account {
2024-09-23 01:52:42 +08:00
.fs-page-content {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
2024-09-22 02:06:34 +08:00
.account-iframe {
width: 100%;
height: 100%;
border: none;
}
}
</style>