|
@@ -1,11 +1,11 @@
|
|
|
-import { defineComponent, reactive, ref } from 'vue';
|
|
|
+import { defineComponent, onBeforeUnmount, reactive, ref, onMounted } from 'vue';
|
|
|
import loginStyles from './images/login_styles.png';
|
|
|
import loginLeft from './images/login-left.png';
|
|
|
import loginRight from './images/loginright.png';
|
|
|
import colLogo from './images/colLogo.png';
|
|
|
import CodeLogin from './components/codeLogin';
|
|
|
import PwdLogin from './components/pwdLogin';
|
|
|
-import { NTabs, NTabPane } from 'naive-ui';
|
|
|
+import { NTabs, NTabPane, useDialog, NModal, NButton, NSpace } from 'naive-ui';
|
|
|
import styles from './index.module.less';
|
|
|
import ForgotPassword from './components/forgotPassword';
|
|
|
export default defineComponent({
|
|
@@ -15,6 +15,43 @@ export default defineComponent({
|
|
|
const NavsValue = ref('pwdLogin');
|
|
|
const pwdLoginRef = ref();
|
|
|
const forgotPasswordRef = ref();
|
|
|
+ const popEvent = ref()
|
|
|
+ const dialog = useDialog();
|
|
|
+ const showModalMask = ref()
|
|
|
+ const checkInstall = async (event: any) => {
|
|
|
+ event.preventDefault();
|
|
|
+ console.log('checkInstall', event)
|
|
|
+ popEvent.value = event
|
|
|
+ console.log('beforeoutcome')
|
|
|
+ // const { outcome } = await event.userChoice;
|
|
|
+ // console.log(outcome, 'outcome')
|
|
|
+ // setTimeout(async function () {
|
|
|
+ // try {
|
|
|
+ // const { outcome } = await event.userChoice;
|
|
|
+ // console.log(outcome, 'outcome')
|
|
|
+ // } catch (e) {
|
|
|
+ // console.log(e)
|
|
|
+ // }
|
|
|
+
|
|
|
+ // }, 2000)
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ window.addEventListener('beforeinstallprompt', checkInstall, { once: true })
|
|
|
+
|
|
|
+ onBeforeUnmount(() => {
|
|
|
+ window.removeEventListener('beforeinstallprompt', checkInstall)
|
|
|
+ })
|
|
|
+
|
|
|
+ onMounted(async () => {
|
|
|
+ const relatedApps = await navigator.getInstalledRelatedApps();
|
|
|
+ console.log(relatedApps,'navigator.getInstalledRelatedApps()')
|
|
|
+
|
|
|
+ // showModalMask.value = true;
|
|
|
+
|
|
|
+ })
|
|
|
+
|
|
|
return () => (
|
|
|
<div class={styles['view-account']}>
|
|
|
<div class={styles['view-account-container']}>
|
|
@@ -63,6 +100,35 @@ export default defineComponent({
|
|
|
</NTabs>
|
|
|
)}
|
|
|
</div>
|
|
|
+ <NModal
|
|
|
+ v-model:show={showModalMask.value}
|
|
|
+ class={['modalTitle background', styles.showModalTone]}
|
|
|
+ preset="card"
|
|
|
+ title={'提示'}>
|
|
|
+ {/* <div
|
|
|
+ onClick={() => {
|
|
|
+ showModalTone.value = false;
|
|
|
+ }}>
|
|
|
+ <NImage
|
|
|
+ src={toneImage}
|
|
|
+ previewDisabled
|
|
|
+ class={styles.beatImage}></NImage>
|
|
|
+ </div> */}
|
|
|
+ <div class={styles.studentRemove}>
|
|
|
+ <p>检测到您尚未从音乐数字课堂应用程序打开</p>
|
|
|
+ {/* <NButton>确定</NButton> */}
|
|
|
+ <NSpace style={{ padding: '20px 0 0 0' }} justify="center">
|
|
|
+ <NButton
|
|
|
+ class={styles.submitAppBtn}
|
|
|
+ round
|
|
|
+ type="primary"
|
|
|
+ // onClick={() => onSubmit()}
|
|
|
+ >
|
|
|
+ 确定
|
|
|
+ </NButton>
|
|
|
+ </NSpace>
|
|
|
+ </div>
|
|
|
+ </NModal>
|
|
|
</div>
|
|
|
);
|
|
|
}
|