perf: 将 getUrlValue 放入 vben/utils 下
							parent
							
								
									4eeaa32b2c
								
							
						
					
					
						commit
						379e8e755f
					
				|  | @ -10,6 +10,7 @@ import { AuthenticationLogin, Verification, z } from '@vben/common-ui'; | |||
| import { isCaptchaEnable, isTenantEnable } from '@vben/hooks'; | ||||
| import { $t } from '@vben/locales'; | ||||
| import { useAccessStore } from '@vben/stores'; | ||||
| import { getUrlValue } from '@vben/utils'; | ||||
| 
 | ||||
| import { | ||||
|   checkCaptcha, | ||||
|  | @ -124,12 +125,6 @@ async function handleVerifySuccess({ captchaVerification }: any) { | |||
|   } | ||||
| } | ||||
| 
 | ||||
| /** tricky: 配合 login.vue 中,redirectUri 需要对参数进行 encode,需要在回调后进行decode */ | ||||
| function getUrlValue(key: string): string { | ||||
|   const url = new URL(decodeURIComponent(location.href)); | ||||
|   return url.searchParams.get(key) ?? ''; | ||||
| } | ||||
| 
 | ||||
| /** 组件挂载时获取租户信息 */ | ||||
| onMounted(async () => { | ||||
|   await fetchTenantList(); | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ import { computed, onMounted, ref } from 'vue'; | |||
| import { useRoute } from 'vue-router'; | ||||
| 
 | ||||
| import { confirm } from '@vben/common-ui'; | ||||
| import { getUrlValue } from '@vben/utils'; | ||||
| 
 | ||||
| import { Button, Card, Image, message } from 'ant-design-vue'; | ||||
| 
 | ||||
|  | @ -149,13 +150,6 @@ async function bindSocial() { | |||
|   window.history.replaceState({}, '', location.pathname); | ||||
| } | ||||
| 
 | ||||
| // TODO @芋艿:后续搞到 util 里; | ||||
| // 双层 encode 需要在回调后进行 decode | ||||
| function getUrlValue(key: string): string { | ||||
|   const url = new URL(decodeURIComponent(location.href)); | ||||
|   return url.searchParams.get(key) ?? ''; | ||||
| } | ||||
| 
 | ||||
| /** 初始化 */ | ||||
| onMounted(() => { | ||||
|   bindSocial(); | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ import { AuthenticationLogin, Verification, z } from '@vben/common-ui'; | |||
| import { isCaptchaEnable, isTenantEnable } from '@vben/hooks'; | ||||
| import { $t } from '@vben/locales'; | ||||
| import { useAccessStore } from '@vben/stores'; | ||||
| import { getUrlValue } from '@vben/utils'; | ||||
| 
 | ||||
| import { | ||||
|   checkCaptcha, | ||||
|  | @ -124,12 +125,6 @@ async function handleVerifySuccess({ captchaVerification }: any) { | |||
|   } | ||||
| } | ||||
| 
 | ||||
| /** tricky: 配合 login.vue 中,redirectUri 需要对参数进行 encode,需要在回调后进行decode */ | ||||
| function getUrlValue(key: string): string { | ||||
|   const url = new URL(decodeURIComponent(location.href)); | ||||
|   return url.searchParams.get(key) ?? ''; | ||||
| } | ||||
| 
 | ||||
| /** 组件挂载时获取租户信息 */ | ||||
| onMounted(async () => { | ||||
|   await fetchTenantList(); | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ import { computed, onMounted, ref } from 'vue'; | |||
| import { useRoute } from 'vue-router'; | ||||
| 
 | ||||
| import { confirm } from '@vben/common-ui'; | ||||
| import { getUrlValue } from '@vben/utils'; | ||||
| 
 | ||||
| import { ElButton, ElCard, ElImage, ElMessage } from 'element-plus'; | ||||
| 
 | ||||
|  | @ -149,13 +150,6 @@ async function bindSocial() { | |||
|   window.history.replaceState({}, '', location.pathname); | ||||
| } | ||||
| 
 | ||||
| // TODO @芋艿:后续搞到 util 里; | ||||
| // 双层 encode 需要在回调后进行 decode | ||||
| function getUrlValue(key: string): string { | ||||
|   const url = new URL(decodeURIComponent(location.href)); | ||||
|   return url.searchParams.get(key) ?? ''; | ||||
| } | ||||
| 
 | ||||
| /** 初始化 */ | ||||
| onMounted(() => { | ||||
|   bindSocial(); | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ import { AuthenticationLogin, Verification, z } from '@vben/common-ui'; | |||
| import { isCaptchaEnable, isTenantEnable } from '@vben/hooks'; | ||||
| import { $t } from '@vben/locales'; | ||||
| import { useAccessStore } from '@vben/stores'; | ||||
| import { getUrlValue } from '@vben/utils'; | ||||
| 
 | ||||
| import { | ||||
|   checkCaptcha, | ||||
|  | @ -124,12 +125,6 @@ async function handleVerifySuccess({ captchaVerification }: any) { | |||
|   } | ||||
| } | ||||
| 
 | ||||
| /** tricky: 配合 login.vue 中,redirectUri 需要对参数进行 encode,需要在回调后进行decode */ | ||||
| function getUrlValue(key: string): string { | ||||
|   const url = new URL(decodeURIComponent(location.href)); | ||||
|   return url.searchParams.get(key) ?? ''; | ||||
| } | ||||
| 
 | ||||
| /** 组件挂载时获取租户信息 */ | ||||
| onMounted(async () => { | ||||
|   await fetchTenantList(); | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ import { computed, onMounted, ref } from 'vue'; | |||
| import { useRoute } from 'vue-router'; | ||||
| 
 | ||||
| import { confirm } from '@vben/common-ui'; | ||||
| import { getUrlValue } from '@vben/utils'; | ||||
| 
 | ||||
| import { NButton, NCard, NImage } from 'naive-ui'; | ||||
| 
 | ||||
|  | @ -150,13 +151,6 @@ async function bindSocial() { | |||
|   window.history.replaceState({}, '', location.pathname); | ||||
| } | ||||
| 
 | ||||
| // TODO @芋艿:后续搞到 util 里; | ||||
| // 双层 encode 需要在回调后进行 decode | ||||
| function getUrlValue(key: string): string { | ||||
|   const url = new URL(decodeURIComponent(location.href)); | ||||
|   return url.searchParams.get(key) ?? ''; | ||||
| } | ||||
| 
 | ||||
| /** 初始化 */ | ||||
| onMounted(() => { | ||||
|   bindSocial(); | ||||
|  | @ -201,7 +195,7 @@ onMounted(() => { | |||
|               <NButton | ||||
|                 :disabled="!!item.socialUser" | ||||
|                 size="small" | ||||
|                 type="link" | ||||
|                 text | ||||
|                 @click="onBind(item)" | ||||
|               > | ||||
|                 {{ item.socialUser ? '已绑定' : '绑定' }} | ||||
|  |  | |||
|  | @ -42,3 +42,13 @@ export function getNestedValue<T>(obj: T, path: string): any { | |||
| 
 | ||||
|   return current; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 获取 URL 参数值 | ||||
|  * @param key - 参数键 | ||||
|  * @returns 参数值,或者未找到时返回空字符串 | ||||
|  */ | ||||
| export function getUrlValue(key: string): string { | ||||
|   const url = new URL(decodeURIComponent(location.href)); | ||||
|   return url.searchParams.get(key) ?? ''; | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 xingyu4j
						xingyu4j