From 0172f4762878c7ed70386b2d6bdc727686cb408f Mon Sep 17 00:00:00 2001 From: Apcallover <1503963513@qq.com> Date: Wed, 26 Nov 2025 21:11:12 +0800 Subject: [PATCH] =?UTF-8?q?flat:=20=E4=BD=93=E9=AA=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8Cswiper=E4=BC=98=E5=8C=96,=E6=B7=BB=E5=8A=A0uploadfile?= =?UTF-8?q?=20=20=20Class=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.js | 5 +- index.html | 4 +- main.js | 1 + packageA/pages/collection/collection.vue | 87 +++- packageA/pages/exhibitors/exhibitors.vue | 48 ++- packageA/pages/myResume/myResume.vue | 407 ++++++++---------- packageA/pages/post/component/videoPlayer.vue | 6 +- pages/chat/components/ai-paging.vue | 2 +- pages/index/index.vue | 76 +++- pages/mine/mine.vue | 12 +- pages/msglog/msglog.vue | 81 +++- pages/nearby/nearby.vue | 82 +++- utils/FileUploader.js | 150 +++++++ 13 files changed, 698 insertions(+), 263 deletions(-) create mode 100644 utils/FileUploader.js diff --git a/config.js b/config.js index 6b16e54..74e3c87 100644 --- a/config.js +++ b/config.js @@ -2,10 +2,7 @@ export default { // baseUrl: 'https://fw.rc.qingdao.gov.cn/rgpp-api/api', // 内网 baseUrl: 'https://qd.zhaopinzao8dian.com/api', // 测试 // baseUrl: 'http://192.168.3.29:8081', - // sseAI+ - // StreamBaseURl: 'http://39.98.44.136:8000', - StreamBaseURl: 'https://qd.zhaopinzao8dian.com/ai', - // StreamBaseURl: 'https://qd.zhaopinzao8dian.com/ai/test', + // baseUrl: 'http://10.213.6.207:19010/api', // 语音转文字 // vioceBaseURl: 'ws://39.98.44.136:8080/speech-recognition', vioceBaseURl: 'wss://qd.zhaopinzao8dian.com/api/speech-recognition', diff --git a/index.html b/index.html index 2e04e64..4214cd6 100644 --- a/index.html +++ b/index.html @@ -18,10 +18,10 @@ - + diff --git a/main.js b/main.js index 5255af7..671b533 100644 --- a/main.js +++ b/main.js @@ -20,6 +20,7 @@ import renderCompanyCollectionRecord from '@/components/renderCompanyCollectionR import renderJobViewRecord from '@/components/renderJobViewRecord/renderJobViewRecord.vue'; // import Tabbar from '@/components/tabbar/midell-box.vue' // 自动导入 directives 目录下所有指令 +console.log(lightAppJssdk) const directives = import.meta.glob('./directives/*.js', { eager: true }); diff --git a/packageA/pages/collection/collection.vue b/packageA/pages/collection/collection.vue index d1204c9..d181d7b 100644 --- a/packageA/pages/collection/collection.vue +++ b/packageA/pages/collection/collection.vue @@ -11,21 +11,31 @@ 公司企业 - - + + - - + :latitude="latitudeVal" + > - + { getJobList(); getCompanyList(); }); +function handleTouchStart(e) { + // 确保有触摸点 + if (e.touches.length > 0) { + startPointX.value = e.touches[0].clientX; + disableTouch.value = false; + } +} + +function handleTouchMove(e) { + if (e.touches.length === 0) return; + + const currentX = e.touches[0].clientX; + const diffX = currentX - startPointX.value; + + if (type.value === 0) { + if (diffX > THRESHOLD) { + disableTouch.value = true; + } else { + disableTouch.value = false; + } + return; + } + + if (type.value === totalPage - 1) { + if (diffX < -THRESHOLD) { + disableTouch.value = true; + } else { + disableTouch.value = false; + } + return; + } + disableTouch.value = false; +} + function changeSwiperType(e) { + const newIndex = e.detail.current; + const lastIndex = type.value; + + const isSwipingRight = newIndex < lastIndex; + const isSwipingLeft = newIndex > lastIndex; + + if (lastIndex === 0 && isSwipingRight) { + disableTouch.value = true; + type.value = 0; + setTimeout(() => { + disableTouch.value = false; + }, 50); + return; + } + + if (lastIndex === totalPage - 1 && isSwipingLeft) { + disableTouch.value = true; + type.value = lastIndex; + + setTimeout(() => { + disableTouch.value = false; + }, 50); + return; + } + const current = e.detail.current; type.value = current; + disableTouch.value = false; } function changeType(e) { diff --git a/packageA/pages/exhibitors/exhibitors.vue b/packageA/pages/exhibitors/exhibitors.vue index 171d0eb..a4b7827 100644 --- a/packageA/pages/exhibitors/exhibitors.vue +++ b/packageA/pages/exhibitors/exhibitors.vue @@ -11,9 +11,9 @@ - {{ fairInfo?.zphmc }} + {{ fairInfo?.zphmc }} - {{ fairInfo.jbf }} + {{ fairInfo.jbf }} @@ -122,23 +124,23 @@ const pageState = reactive({ const hasnext = ref(true); const zphId = ref(''); -const pageOptions = ref({}) +const pageOptions = ref({}); onLoad((options) => { - zphId.value = options.jobFairId - pageOptions.value = options + zphId.value = options.jobFairId; + pageOptions.value = options; getJobFairInfo(options.jobFairId, options.jobFairName); getCompanyList('refresh'); }); -function getJobFairInfo(id,name) { +function getJobFairInfo(id, name) { $api.createRequest(`/app/internal/jobFairThirdPart/${id}`).then((resData) => { fairInfo.value = resData.data; hasAppointment(); }); } -function getCompanyList(type='add') { - const { jobFairId,jobFairName} = pageOptions.value +function getCompanyList(type = 'add') { + const { jobFairId, jobFairName } = pageOptions.value; if (type === 'refresh') { pageState.current = 1; pageState.maxPage = 1; @@ -150,24 +152,26 @@ function getCompanyList(type='add') { current: pageState.current, pageSize: pageState.pageSize, }; - $api.createRequest(`/app/internal/companyThirdPart/?zphID=${jobFairId}&zphmc=${jobFairName}`,params ).then((resData) => { - const { rows, total } = resData; - if (type === 'add') { - const str = pageState.pageSize * (pageState.current - 1); - const end = pageState.list.length; - const reslist = rows; - pageState.list.splice(str, end, ...reslist); - } else { - pageState.list = rows; + $api.createRequest(`/app/internal/companyThirdPart/?zphID=${jobFairId}&zphmc=${jobFairName}`, params).then( + (resData) => { + const { rows, total } = resData; + if (type === 'add') { + const str = pageState.pageSize * (pageState.current - 1); + const end = pageState.list.length; + const reslist = rows; + pageState.list.splice(str, end, ...reslist); + } else { + pageState.list = rows; + } + pageState.total = resData.total; + pageState.maxPage = Math.ceil(pageState.total / pageState.pageSize); } - pageState.total = resData.total; - pageState.maxPage = Math.ceil(pageState.total / pageState.pageSize); - }); + ); } const hasAppointment = () => { const isTimePassed = (timeStr) => { - if(!timeStr) return false + if (!timeStr) return false; const targetTime = new Date(timeStr.replace(/-/g, '/')).getTime(); // 兼容格式 const now = Date.now(); return now < targetTime; diff --git a/packageA/pages/myResume/myResume.vue b/packageA/pages/myResume/myResume.vue index 78e47e4..4ee9721 100644 --- a/packageA/pages/myResume/myResume.vue +++ b/packageA/pages/myResume/myResume.vue @@ -1,241 +1,212 @@