|  | @@ -67,6 +67,13 @@
 | 
											
												
													
														|  |      </div>
 |  |      </div>
 | 
											
												
													
														|  |      <navBar :showLoginBtn="false" class="navBar"></navBar>
 |  |      <navBar :showLoginBtn="false" class="navBar"></navBar>
 | 
											
												
													
														|  |    </div>
 |  |    </div>
 | 
											
												
													
														|  | 
 |  | +  <Verify
 | 
											
												
													
														|  | 
 |  | +    ref="verify"
 | 
											
												
													
														|  | 
 |  | +    captchaType="blockPuzzle"
 | 
											
												
													
														|  | 
 |  | +    :imgSize="{ width: '400px', height: '200px' }"
 | 
											
												
													
														|  | 
 |  | +    mode="pop"
 | 
											
												
													
														|  | 
 |  | +    @success="verifySuccess"
 | 
											
												
													
														|  | 
 |  | +  />
 | 
											
												
													
														|  |  </template>
 |  |  </template>
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  <script setup>
 |  |  <script setup>
 | 
											
										
											
												
													
														|  | @@ -86,6 +93,7 @@ import Confirm from '@/plugins/confirm'
 | 
											
												
													
														|  |  import navBar from '@/layout/personal/navBar.vue'
 |  |  import navBar from '@/layout/personal/navBar.vue'
 | 
											
												
													
														|  |  import about from '@/views/about/index.vue'
 |  |  import about from '@/views/about/index.vue'
 | 
											
												
													
														|  |  import { useRoute } from 'vue-router'; const route = useRoute()
 |  |  import { useRoute } from 'vue-router'; const route = useRoute()
 | 
											
												
													
														|  | 
 |  | +import Verify from '@/components/Verifition'
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  const { t } = useI18n()
 |  |  const { t } = useI18n()
 | 
											
												
													
														|  |  const router = useRouter()
 |  |  const router = useRouter()
 | 
											
										
											
												
													
														|  | @@ -119,11 +127,16 @@ const handleCheckEnterprise = async () => {
 | 
											
												
													
														|  |  const handleLogin = async () => {
 |  |  const handleLogin = async () => {
 | 
											
												
													
														|  |    const { valid } = tab.value === 1 ? await phoneRef.value.phoneForm.validate() : await passRef.value.passwordForm.validate()
 |  |    const { valid } = tab.value === 1 ? await phoneRef.value.phoneForm.validate() : await passRef.value.passwordForm.validate()
 | 
											
												
													
														|  |    if (!valid) return
 |  |    if (!valid) return
 | 
											
												
													
														|  | 
 |  | +  if (tab.value === 2 && !captchaVerification) {
 | 
											
												
													
														|  | 
 |  | +    getCode() // 验证码组件
 | 
											
												
													
														|  | 
 |  | +    return
 | 
											
												
													
														|  | 
 |  | +  }
 | 
											
												
													
														|  | 
 |  | +  
 | 
											
												
													
														|  |    loginLoading.value = true
 |  |    loginLoading.value = true
 | 
											
												
													
														|  |    try {
 |  |    try {
 | 
											
												
													
														|  |      let params, api = {}
 |  |      let params, api = {}
 | 
											
												
													
														|  |      if (tab.value === 1) { params = { ...phoneRef.value.loginData }; api = 'handleSmsLogin'}
 |  |      if (tab.value === 1) { params = { ...phoneRef.value.loginData }; api = 'handleSmsLogin'}
 | 
											
												
													
														|  | -    else { params = { ...passRef.value.loginData }; api = 'handlePasswordLogin'}
 |  | 
 | 
											
												
													
														|  | 
 |  | +    else { params = { ...passRef.value.loginData, captchaVerification }; api = 'handlePasswordLogin'}
 | 
											
												
													
														|  |      
 |  |      
 | 
											
												
													
														|  |      // 邮箱为企业招聘, 手机号为个人求职
 |  |      // 邮箱为企业招聘, 手机号为个人求职
 | 
											
												
													
														|  |      if (isEnterpriseLogin.value) {
 |  |      if (isEnterpriseLogin.value) {
 | 
											
										
											
												
													
														|  | @@ -185,6 +198,20 @@ const carouselList = ref([
 | 
											
												
													
														|  |    { src: 'https://minio.citupro.com/dev/menduner/preferredGroup/Hong-Kong-Polytechnic-University-banner.jpg' }
 |  |    { src: 'https://minio.citupro.com/dev/menduner/preferredGroup/Hong-Kong-Polytechnic-University-banner.jpg' }
 | 
											
												
													
														|  |  ])
 |  |  ])
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +// 验证码
 | 
											
												
													
														|  | 
 |  | +const verify = ref()
 | 
											
												
													
														|  | 
 |  | +// 获取验证码
 | 
											
												
													
														|  | 
 |  | +const getCode = async () => {
 | 
											
												
													
														|  | 
 |  | +  // 弹出验证码 // 已开启:则展示验证码;只有完成验证码的情况,才进行登录
 | 
											
												
													
														|  | 
 |  | +  verify.value.show()
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +let captchaVerification = ''
 | 
											
												
													
														|  | 
 |  | +const verifySuccess = (params) => {
 | 
											
												
													
														|  | 
 |  | +  captchaVerification = params.captchaVerification
 | 
											
												
													
														|  | 
 |  | +  handleLogin()
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  </script>
 |  |  </script>
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  <style lang="scss" scoped>
 |  |  <style lang="scss" scoped>
 |