@@ -221,6 +271,16 @@ onUnmounted(() => {
{{ $t('login.agreement') }}{{ $t('login.privacyPolicy') }}
+
+
+
+
@@ -238,4 +298,15 @@ onUnmounted(() => {
width: 41px;
height: 41px;
}
+
+.verify-popup-content {
+ width: 90vw;
+ max-width: 350px;
+ padding: 20px;
+ box-sizing: border-box;
+}
+
+:deep(.van-popup) {
+ background: transparent;
+}
diff --git a/app/static/images/reset.png b/app/static/images/reset.png
new file mode 100644
index 0000000..f10bfe5
Binary files /dev/null and b/app/static/images/reset.png differ
diff --git a/package.json b/package.json
index b0a46f5..16eeaef 100644
--- a/package.json
+++ b/package.json
@@ -38,7 +38,8 @@
"vue-demi": "^0.14.10",
"vue-pdf-embed": "^2.1.2",
"vue-router": "^4.5.0",
- "vue-signature-pad": "^3.0.2"
+ "vue-signature-pad": "^3.0.2",
+ "vue3-puzzle-vcode": "1.1.6-nuxt"
},
"devDependencies": {
"@iconify-json/carbon": "^1.2.5",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ea90507..dcd80b1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -77,6 +77,9 @@ importers:
vue-signature-pad:
specifier: ^3.0.2
version: 3.0.2(vue@3.5.13(typescript@5.7.3))
+ vue3-puzzle-vcode:
+ specifier: 1.1.6-nuxt
+ version: 1.1.6-nuxt
devDependencies:
'@iconify-json/carbon':
specifier: ^1.2.5
@@ -809,8 +812,8 @@ packages:
resolution: {integrity: sha512-8tR1xe7ZEbkabTuE/tNhzpolygUn9OaYp9yuYAF4MgDNZg06C3Qny80bes2/e9/Wm3aVkPUlCw6WgU7mQd0yEg==}
engines: {node: '>= 16'}
- '@intlify/shared@11.1.1':
- resolution: {integrity: sha512-2kGiWoXaeV8HZlhU/Nml12oTbhv7j2ufsJ5vQaa0VTjzUmZVdd/nmKFRAOJ/FtjO90Qba5AnZDwsrY7ZND5udA==}
+ '@intlify/shared@11.1.2':
+ resolution: {integrity: sha512-dF2iMMy8P9uKVHV/20LA1ulFLL+MKSbfMiixSmn6fpwqzvix38OIc7ebgnFbBqElvghZCW9ACtzKTGKsTGTWGA==}
engines: {node: '>= 16'}
'@intlify/unplugin-vue-i18n@6.0.3':
@@ -4618,6 +4621,9 @@ packages:
peerDependencies:
vue: ^3.2.0
+ vue3-puzzle-vcode@1.1.6-nuxt:
+ resolution: {integrity: sha512-V3DrPIYznxko8jBAtZtmsNPw9QmkPnFicQ0p9B192vC3ncRv4IDazhLC7D/cY/OGq0OeqXmk2DiOcBR7dyt8GQ==}
+
vue@3.5.13:
resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
peerDependencies:
@@ -5342,14 +5348,14 @@ snapshots:
'@intlify/shared@11.0.0-rc.1': {}
- '@intlify/shared@11.1.1': {}
+ '@intlify/shared@11.1.2': {}
'@intlify/unplugin-vue-i18n@6.0.3(@vue/compiler-dom@3.5.13)(eslint@9.20.1(jiti@2.4.2))(rollup@4.34.6)(typescript@5.7.3)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1(jiti@2.4.2))
'@intlify/bundle-utils': 10.0.0(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))
- '@intlify/shared': 11.1.1
- '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.1)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
+ '@intlify/shared': 11.1.2
+ '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.2)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
'@rollup/pluginutils': 5.1.4(rollup@4.34.6)
'@typescript-eslint/scope-manager': 8.24.0
'@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
@@ -5373,11 +5379,11 @@ snapshots:
'@intlify/utils@0.13.0': {}
- '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.1)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))':
+ '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.2)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))':
dependencies:
'@babel/parser': 7.26.8
optionalDependencies:
- '@intlify/shared': 11.1.1
+ '@intlify/shared': 11.1.2
'@vue/compiler-dom': 3.5.13
vue: 3.5.13(typescript@5.7.3)
vue-i18n: 10.0.5(vue@3.5.13(typescript@5.7.3))
@@ -9896,6 +9902,8 @@ snapshots:
signature_pad: 3.0.0-beta.4
vue: 3.5.13(typescript@5.7.3)
+ vue3-puzzle-vcode@1.1.6-nuxt: {}
+
vue@3.5.13(typescript@5.7.3):
dependencies:
'@vue/compiler-dom': 3.5.13