瀏覽代碼

职位海报id调整

Xiao_123 7 月之前
父節點
當前提交
4f2b805657

+ 3 - 18
src/views/recruit/personal/position/components/details.vue

@@ -147,7 +147,7 @@
 
     <Loading :visible="loading"></Loading>
     <div v-if="Object.keys(info).length && Object.keys(positionInfo).length" style="position: absolute; left: -9999px; bottom: 0">
-      <PosterPage :info="info" :positionInfo="positionInfo" ref="share"></PosterPage>
+      <PosterPage :id="id" :info="info" :positionInfo="positionInfo" ref="share"></PosterPage>
     </div>
 
     <!-- 快速登录 -->
@@ -244,13 +244,6 @@ const loginSuccess = () => {
   nextTick(() => {
     if (nextFunc.value) nextFunc.value()
   })
-  // userInfo.value = localStorage.getItem('userInfo') ? JSON.parse(localStorage.getItem('userInfo')) : {}
-  // shareUrl.value = '/shareJob?' + new URLSearchParams({
-  //   jobId: id,
-  //   sharedById: userInfo.value?.id,
-  // }).toString()
-  // shareDialog.value = true
-  // generateAndDownloadImage()
 }
 
 const loginClose = () => {
@@ -268,6 +261,7 @@ const generateAndDownloadImage = async () => {
     const image = canvas.toDataURL().replace(/^data:image\/(png|jpg);base64,/, '')
     previewSrc.value = `data:image/png;base64,${image}`
     loading.value = false
+    showPreview.value = true
   } catch (error) {
     console.error('Error generating image:', error)
     Snackbar.error('图片生成失败')
@@ -329,10 +323,7 @@ getCollectionStatus()
 
 // 分享有礼
 const shareDialog = ref(false)
-const shareUrl = ref('')
-const userInfo = ref(localStorage.getItem('userInfo') ? JSON.parse(localStorage.getItem('userInfo')) : {})
 const handleShare = async () => {
-  // 分享链接携带参数: 用户id、职位id
   if (!getToken()) {
     showLogin.value = true // 打开快速登录弹窗
     Snackbar.warning('您还未登录,请先登录后再试')
@@ -341,13 +332,7 @@ const handleShare = async () => {
     loginCloseWarningWord = '您已取消登录,无法分享职位给好友' // 取消登录提示语
     return
   }
-  generateAndDownloadImage()
-  shareUrl.value = '/shareJob?' + new URLSearchParams({
-    jobId: id,
-    sharedById: userInfo.value?.id,
-  }).toString()
-  // shareDialog.value = true
-  showPreview.value = true
+  generateAndDownloadImage() // 生成海报
 }
 
 // 收藏&取消收藏职位

+ 5 - 4
src/views/recruit/personal/position/components/poster.vue

@@ -67,17 +67,18 @@
 defineOptions({name: 'recruit-personal-shareJob-index'})
 
 // 职位详情
-defineProps({
+const props = defineProps({
   info: Object,
-  positionInfo: Object
+  positionInfo: Object,
+  id: String
 })
 
-import { useRouter } from 'vue-router'; const router = useRouter()
 const userInfo = localStorage.getItem('userInfo') ? JSON.parse(localStorage.getItem('userInfo')) : {}
 const shareUrlTxt = import.meta.env.VITE_ACCESS_BASE_URL + '/shareJob?' + new URLSearchParams({
-  jobId: router.currentRoute.value.params?.id,
+  jobId: props.id,
   sharedById: userInfo?.id,
 }).toString()
+
 console.log('职位分享链接', shareUrlTxt)
 
 const desc = [