perf(collect-code): 优化离线码创建功能

- 添加节流函数,限制创建离线码的操作频率
- 使用 useThrottleFn 函数实现节流效果
- 优化用户交互体验,防止频繁操作导致的问题
This commit is contained in:
xingyy 2025-03-07 17:04:58 +08:00
parent 1e9dd9bb3e
commit e0f195bdb1

View File

@ -2,8 +2,7 @@
import { userArtworks } from "@/api/goods/index.js"; import { userArtworks } from "@/api/goods/index.js";
import { codeAuthStore } from "@/stores-collect-code/auth/index.js"; import { codeAuthStore } from "@/stores-collect-code/auth/index.js";
import { showImagePreview } from 'vant'; import { showImagePreview } from 'vant';
import { useThrottleFn } from '@vueuse/core'
import XImage from '@/components/x-image/index.vue' import XImage from '@/components/x-image/index.vue'
import {useRouter} from "#vue-router"; import {useRouter} from "#vue-router";
import {goodStore} from "~/stores-collect-code/goods/index.js"; import {goodStore} from "~/stores-collect-code/goods/index.js";
@ -11,6 +10,7 @@ import {ref} from "vue";
import {offlineQrcodeCreate, offlineQrcodeDelete, offlineQrcodeList} from "~/api-collect-code/goods/index.js"; import {offlineQrcodeCreate, offlineQrcodeDelete, offlineQrcodeList} from "~/api-collect-code/goods/index.js";
import codeCard from './components/codeCard/index.vue' import codeCard from './components/codeCard/index.vue'
import {message} from "~/components/x-message/useMessage.js"; import {message} from "~/components/x-message/useMessage.js";
definePageMeta({ definePageMeta({
layout: 'default', layout: 'default',
i18n: 'menu.profile', i18n: 'menu.profile',
@ -40,7 +40,7 @@ const createForm=ref({
lotNo:'', lotNo:'',
price:'', price:'',
}) })
const confirm=async ()=>{ const confirm=useThrottleFn(async ()=>{
if (!createForm.value.price){ if (!createForm.value.price){
message.warning(t('collectCode.message.amountRequired')) message.warning(t('collectCode.message.amountRequired'))
return false return false
@ -61,7 +61,7 @@ if (!is25Format(createForm.value.lotNo)){
show.value=false show.value=false
onRefresh() onRefresh()
} }
} },2000)
const onRefresh = async () => { const onRefresh = async () => {
try { try {
localState.value.refreshing = true localState.value.refreshing = true