forgotPassword.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <template>
  2. <div class="box">
  3. <navBar v-if="!isMobile" :showLoginBtn="false" class="navBar"></navBar>
  4. <div class="content pa-10">
  5. <div class="resume-header">
  6. <div class="resume-title">
  7. {{ route.query.forgot ? '密码不安全,请重置密码' : '修改密码' }}
  8. </div>
  9. </div>
  10. <editPasswordPage class="mt-5" :showCancelBtn="false" :isReset="true" @cancel="router.push('/login')">
  11. <template #custom>
  12. <div class="font-size-14 text-end">
  13. <span class="color-primary cursor-pointer" @click="router.push('/login')">回到登录页</span>
  14. </div>
  15. </template>
  16. </editPasswordPage>
  17. </div>
  18. </div>
  19. </template>
  20. <script setup>
  21. defineOptions({ name: 'forgotPassword'})
  22. import { useRouter, useRoute } from 'vue-router'
  23. import navBar from '@/layout/personal/navBar.vue'
  24. import editPasswordPage from '@/views/login/components/editPassword.vue'
  25. import { ref, onMounted } from 'vue'
  26. const router = useRouter()
  27. const route = useRoute()
  28. const isMobile = ref(false)
  29. onMounted(() => {
  30. const userAgent = navigator.userAgent
  31. isMobile.value = /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test(userAgent)
  32. })
  33. </script>
  34. <style scoped lang="scss">
  35. .navBar {
  36. position: absolute;
  37. top: 0;
  38. z-index: 2;
  39. }
  40. .box {
  41. position: relative;
  42. width: 100%;
  43. height: 100%;
  44. background-image: url('https://minio.menduner.com/dev/menduner/login-banner.png');
  45. background-size: cover;
  46. }
  47. .content {
  48. position: absolute;
  49. top: 50%;
  50. left: 50%;
  51. translate: -50% -50%;
  52. width: 450px;
  53. height: 450px;
  54. background-color: #fff;
  55. border-radius: 10px;
  56. }
  57. </style>