Browse Source

合并冲突

xiaokuang 21 hours ago
parent
commit
fc61a6f4e6

+ 2 - 1
.gitignore

@@ -1,3 +1,4 @@
 .hbuilderx/
 .hbuilderx/
 node_modules/
 node_modules/
-unpackage/dist/
+unpackage/dist/
+.idea/

+ 7 - 14
main.js

@@ -6,7 +6,7 @@ import store from './store'
 import { initLocale } from '@/locales/i18n'
 import { initLocale } from '@/locales/i18n'
 import loadCloudFontFace from '@/utils/font'
 import loadCloudFontFace from '@/utils/font'
 import Dialog from '@/wxcomponents/vant/dialog/dialog'
 import Dialog from '@/wxcomponents/vant/dialog/dialog'
-	
+
 import './uni.promisify.adaptor'
 import './uni.promisify.adaptor'
 Vue.config.productionTip = false
 Vue.config.productionTip = false
 Vue.prototype.$config = {
 Vue.prototype.$config = {
@@ -16,6 +16,8 @@ Vue.prototype.onInitNavbar = function(e) {
 	this.$config.pageHeight = e.detail.pageHeight
 	this.$config.pageHeight = e.detail.pageHeight
 }
 }
 Vue.prototype.checkAuth = function(pagePath) {
 Vue.prototype.checkAuth = function(pagePath) {
+	console.log(pagePath)
+	console.log(store.getters.user)
 	if (!store.getters.user) {
 	if (!store.getters.user) {
 		this.redirectTo('/pages/user/login?redirect=' + encodeURIComponent(pagePath))
 		this.redirectTo('/pages/user/login?redirect=' + encodeURIComponent(pagePath))
 		return false
 		return false
@@ -24,6 +26,7 @@ Vue.prototype.checkAuth = function(pagePath) {
 	}
 	}
 }
 }
 Vue.prototype.redirectTo = function(pagePath) {
 Vue.prototype.redirectTo = function(pagePath) {
+	console.log(pagePath)
 	if (pagePath.indexOf('https') === -1) {
 	if (pagePath.indexOf('https') === -1) {
 		uni.redirectTo({
 		uni.redirectTo({
 			url: pagePath
 			url: pagePath
@@ -35,6 +38,7 @@ Vue.prototype.redirectTo = function(pagePath) {
 	}
 	}
 }
 }
 Vue.prototype.navigateTo = function(pagePath) {
 Vue.prototype.navigateTo = function(pagePath) {
+	console.log(pagePath)
 	if (pagePath.indexOf('http') === 0) {
 	if (pagePath.indexOf('http') === 0) {
 		this.webviewTo(pagePath)
 		this.webviewTo(pagePath)
 	} else {
 	} else {
@@ -114,18 +118,7 @@ Vue.prototype.loadFontFace = function(fontFamily) {
 	const fontUrls = {
 	const fontUrls = {
 		'Poppins': 'https://oss.starify.cn/test/Poppins-Regular.ttf'
 		'Poppins': 'https://oss.starify.cn/test/Poppins-Regular.ttf'
 	}
 	}
-	if (fontFamily === 'Poppins') {
-		// 开发者工具没有该字体
-		wx.getSystemInfo({
-		  success(res) {
-		    if (res.platform === 'devtools') {
-					loadCloudFontFace(fontUrls[fontFamily], fontFamily + '.ttf', fontFamily)
-		    }
-		  }
-		})
-	} else {
-		loadCloudFontFace(fontUrls[fontFamily], fontFamily + '.ttf', fontFamily)
-	}
+	loadCloudFontFace(fontUrls[fontFamily], fontFamily + '.ttf', fontFamily)
 }
 }
 
 
 App.mpType = 'app'
 App.mpType = 'app'
@@ -157,4 +150,4 @@ export function createApp() {
 		app
 		app
 	}
 	}
 }
 }
-// #endif
+// #endif

+ 3 - 0
package.json

@@ -17,6 +17,7 @@
 					"ENV_TYPE": "dev",
 					"ENV_TYPE": "dev",
 					"UNI_PLATFORM": "mp-weixin",
 					"UNI_PLATFORM": "mp-weixin",
 					"NAME": "dev",
 					"NAME": "dev",
+					"VERSION": "0.01",
 					"TOKEN_KEY": "token",
 					"TOKEN_KEY": "token",
 					"BASE_API": "https://mp-test-onlinecatelogue.matchexpo.cn",
 					"BASE_API": "https://mp-test-onlinecatelogue.matchexpo.cn",
 					"WEBSITE": "https://mp-website-test-munich.matchexpo.cn",
 					"WEBSITE": "https://mp-website-test-munich.matchexpo.cn",
@@ -32,6 +33,7 @@
 					"ENV_TYPE": "test",
 					"ENV_TYPE": "test",
 					"UNI_PLATFORM": "mp-weixin",
 					"UNI_PLATFORM": "mp-weixin",
 					"NAME": "test",
 					"NAME": "test",
+					"VERSION": "0.01",
 					"TOKEN_KEY": "token",
 					"TOKEN_KEY": "token",
 					"BASE_API": "https://mp-test-miniprogapi.matchexpo.cn",
 					"BASE_API": "https://mp-test-miniprogapi.matchexpo.cn",
 					"WEBSITE": "https://mp-website-test-munich.matchexpo.cn",
 					"WEBSITE": "https://mp-website-test-munich.matchexpo.cn",
@@ -47,6 +49,7 @@
 					"ENV_TYPE": "prod",
 					"ENV_TYPE": "prod",
 					"UNI_PLATFORM": "mp-weixin",
 					"UNI_PLATFORM": "mp-weixin",
 					"NAME": "prod",
 					"NAME": "prod",
+					"VERSION": "0.01",
 					"TOKEN_KEY": "token",
 					"TOKEN_KEY": "token",
 					"BASE_API": "https://starify-api-dev.matchexpo.cn",
 					"BASE_API": "https://starify-api-dev.matchexpo.cn",
 					"WEBSITE": "https://www.productronicachina.com.cn",
 					"WEBSITE": "https://www.productronicachina.com.cn",

+ 17 - 8
pages/activity/components/activity-item.vue

@@ -27,7 +27,8 @@
 
 
 <script>
 <script>
 	import { meetingCollect, meetingCancelCollect, mettingView } from '@/api/exhibitor'
 	import { meetingCollect, meetingCancelCollect, mettingView } from '@/api/exhibitor'
-	
+
+
 	export default {
 	export default {
 		options: {
 		options: {
 			styleIsolation: 'shared'
 			styleIsolation: 'shared'
@@ -35,6 +36,7 @@
 		components: {
 		components: {
 		},
 		},
 		props: {
 		props: {
+      type: String,
 			// 数据
 			// 数据
 			item: Object,
 			item: Object,
 			favoritesHidden: Boolean,
 			favoritesHidden: Boolean,
@@ -49,7 +51,9 @@
 		},
 		},
 		methods: {
 		methods: {
 			onCollect(item) { // 收藏
 			onCollect(item) { // 收藏
-				this.checkAuth('pages/activity/index')
+				if (!this.checkAuth('pages/activity/index')) {
+					return
+				}
 				if (item.is_collect === 1) {
 				if (item.is_collect === 1) {
 					meetingCancelCollect({ id: item.id }).then(res => {
 					meetingCancelCollect({ id: item.id }).then(res => {
 						if (res.code === 0) {
 						if (res.code === 0) {
@@ -79,18 +83,23 @@
 			  const day = date.getDate();
 			  const day = date.getDate();
 			  return `${year}年${month}月${day}日`;
 			  return `${year}年${month}月${day}日`;
 			},
 			},
-			onClickActivity(item){
-				this.saveMeetingView(item)
-				this.navigateTo(this.websiteUrl + '/' + item.urla)
-			},
+      onClickActivity(item){
+        this.saveMeetingView(item)
+        if (this.type === 'exhibitor') {
+          this.webviewTo(this.$store.getters.website_url + '/mini-pro-activity?v=' + this.$store.getters.version)
+        } else {
+          this.webviewTo(this.$store.getters.website_url + '/mini-pro-same-detail?v=' + this.$store.getters.version)
+        }
+        // this.navigateTo('/pages/activity/detail')
+      },
 			saveMeetingView(item) {
 			saveMeetingView(item) {
 				if (this.platform !== 'metting') return
 				if (this.platform !== 'metting') return
 				mettingView({ id: item.id }).then(res => {
 				mettingView({ id: item.id }).then(res => {
-					
+
 				})
 				})
 			}
 			}
 		}
 		}
 	}
 	}
 </script>
 </script>
 <style lang="scss">
 <style lang="scss">
-</style>
+</style>

+ 8 - 7
pages/activity/components/activity-recommend.vue

@@ -22,7 +22,8 @@
 <script>
 <script>
 	import { exhibitorsBoothActivityList } from '@/api/exhibitor'
 	import { exhibitorsBoothActivityList } from '@/api/exhibitor'
 	import { link } from '@/utils/request'
 	import { link } from '@/utils/request'
-	
+
+
 	export default {
 	export default {
 		options: {
 		options: {
 			styleIsolation: 'shared'
 			styleIsolation: 'shared'
@@ -44,7 +45,7 @@
 				activityList: [],
 				activityList: [],
 				activityListParams: {
 				activityListParams: {
 					page: 1,
 					page: 1,
-					page_size: 4,
+					page_size: 3,
 					exhibitors_id: 0
 					exhibitors_id: 0
 				},
 				},
 				activityListLoading: false
 				activityListLoading: false
@@ -76,8 +77,8 @@
 			  const day = date.getDate();
 			  const day = date.getDate();
 			  return `${year}年${month}月${day}日`;
 			  return `${year}年${month}月${day}日`;
 			},
 			},
-			onClickActivity(item) {
-				this.navigateTo(link('/' + item.urla))
+			onClickActivity() {
+				this.navigateTo(this.$store.getters.website_url + '/mini-pro-activity?v=' + this.$store.getters.version)
 			}
 			}
 		}
 		}
 	}
 	}
@@ -126,17 +127,17 @@
 			padding-right: 30rpx;
 			padding-right: 30rpx;
 			color: #555555;
 			color: #555555;
 			@include text-ellipsis-line;
 			@include text-ellipsis-line;
-			-webkit-line-clamp: 2;  
+			-webkit-line-clamp: 2;
 		}
 		}
 		.arrow{
 		.arrow{
 			margin-left: 12rpx;
 			margin-left: 12rpx;
 			font-size: $fontSize0;
 			font-size: $fontSize0;
 		}
 		}
 	}
 	}
-	
+
 	.activity-tab{
 	.activity-tab{
 		van-button{
 		van-button{
 			margin-right: 13rpx;
 			margin-right: 13rpx;
 		}
 		}
 	}
 	}
-</style>
+</style>

+ 10 - 4
pages/exhibitor/components/exhibit-item.vue

@@ -69,7 +69,7 @@
 			onShare(item) {
 			onShare(item) {
 				const shareInfo = {
 				const shareInfo = {
 					title: item.name,
 					title: item.name,
-					path: `/pages/exhibitor/exhibit-detail` + item.id,
+					path: `/pages/exhibitor/exhibit-detail?id=` + item.id,
 					imageUrl: item.pic + '?x-oss-process=image/resize,w_400'
 					imageUrl: item.pic + '?x-oss-process=image/resize,w_400'
 				}
 				}
 				this.$emit('share', {
 				this.$emit('share', {
@@ -80,7 +80,9 @@
 				this.navigateTo('/pages/exhibitor/exhibit-detail?id=' + item.id)
 				this.navigateTo('/pages/exhibitor/exhibit-detail?id=' + item.id)
 			},
 			},
 			onCollect() { // 收藏
 			onCollect() { // 收藏
-				this.checkAuth('/pages/exhibitor/exhibit-detail?id=' + this.item.id)
+				if (!this.checkAuth('/pages/exhibitor/exhibit')) {
+					return
+				}
 				exhibitorsProductCollect({ id: this.item.id }).then(res => {
 				exhibitorsProductCollect({ id: this.item.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						let is_collect = this.item.is_collect === 0 ? 1 : 0
 						let is_collect = this.item.is_collect === 0 ? 1 : 0
@@ -93,7 +95,9 @@
 				})
 				})
 			},
 			},
 			onLike() { // 点赞
 			onLike() { // 点赞
-				this.checkAuth('/pages/exhibitor/exhibit-detail?id=' + this.item.id)
+				if (!this.checkAuth('/pages/exhibitor/exhibit')) {
+					return
+				}
 				exhibitorsProductLike({ id: this.item.id }).then(res => {
 				exhibitorsProductLike({ id: this.item.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						let is_like = this.item.is_like === 0 ? 1 : 0
 						let is_like = this.item.is_like === 0 ? 1 : 0
@@ -106,7 +110,9 @@
 				})
 				})
 			},
 			},
 			onPoll() { // 投票
 			onPoll() { // 投票
-				this.checkAuth('/pages/exhibitor/exhibit-detail?id=' + this.item.id)
+				if (!this.checkAuth('/pages/exhibitor/exhibit')) {
+					return
+				}
 				exhibitorsProductPoll({ id: this.item.id }).then(res => {
 				exhibitorsProductPoll({ id: this.item.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						let is_poll = this.item.is_poll === 0 ? 1 : 0
 						let is_poll = this.item.is_poll === 0 ? 1 : 0

+ 2 - 2
pages/exhibitor/components/exhibit-recommend.vue

@@ -2,7 +2,7 @@
 	<view class="exhibit-recommend">
 	<view class="exhibit-recommend">
 		<view class="exhibit-list">
 		<view class="exhibit-list">
 			<template v-for="(item, index) in productList">
 			<template v-for="(item, index) in productList">
-				<view v-if="index < limit" class="exhibit-item" hover-class="active" :key="index" @click="onClickExhibit(item)">
+				<view class="exhibit-item" hover-class="active" :key="index" @click="onClickExhibit(item)">
 					<view class="exhibit-image">
 					<view class="exhibit-image">
 						<image :src="item.pic + '?x-oss-process=image/resize,w_400'" mode="aspectFit"/>
 						<image :src="item.pic + '?x-oss-process=image/resize,w_400'" mode="aspectFit"/>
 					</view>
 					</view>
@@ -69,7 +69,7 @@
 						} else {
 						} else {
 							this.productList = res.data.data
 							this.productList = res.data.data
 						}
 						}
-						if (this.productListParams.page <= res.data.last_page) {
+						if (this.productListParams.page >= res.data.last_page) {
 							this.showExhibitMore = false
 							this.showExhibitMore = false
 						}
 						}
 					}
 					}

+ 11 - 5
pages/exhibitor/components/exhibitor-item.vue

@@ -64,7 +64,9 @@
 		},
 		},
 		methods: {
 		methods: {
 			onCollect() { // 收藏
 			onCollect() { // 收藏
-				this.checkAuth('/pages/exhibitor/detail?id=' + this.item.id)
+				if (!this.checkAuth('/pages/exhibitor/index')) {
+					return
+				}
 				exhibitorsCollect({ id: this.item.id }).then(res => {
 				exhibitorsCollect({ id: this.item.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						let is_collect = this.item.is_collect === 0 ? 1 : 0
 						let is_collect = this.item.is_collect === 0 ? 1 : 0
@@ -77,7 +79,9 @@
 				})
 				})
 			},
 			},
 			onLike() { // 点赞
 			onLike() { // 点赞
-				this.checkAuth('/pages/exhibitor/detail?id=' + this.item.id)
+				if (!this.checkAuth('/pages/exhibitor/index')) {
+					return
+				}
 				exhibitorsLike({ id: this.item.id }).then(res => {
 				exhibitorsLike({ id: this.item.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						let is_like = this.item.is_like === 0 ? 1 : 0
 						let is_like = this.item.is_like === 0 ? 1 : 0
@@ -90,7 +94,9 @@
 				})
 				})
 			},
 			},
 			onPoll() { // 投票
 			onPoll() { // 投票
-				this.checkAuth('/pages/exhibitor/detail?id=' + this.item.id)
+				if (!this.checkAuth('/pages/exhibitor/index')) {
+					return
+				}
 				exhibitorsPoll({ id: this.item.id }).then(res => {
 				exhibitorsPoll({ id: this.item.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						let is_poll = this.item.is_poll === 0 ? 1 : 0
 						let is_poll = this.item.is_poll === 0 ? 1 : 0
@@ -105,8 +111,8 @@
 			onShare(item) {
 			onShare(item) {
 				const shareInfo = {
 				const shareInfo = {
 					title: item.name,
 					title: item.name,
-					path: `/pages/exhibitor/exhibit-detail?id=` + item.id,
-					imageUrl: item.logo
+					path: `/pages/exhibitor/detail?id=` + item.id,
+					imageUrl: item.logo + '?x-oss-process=image/resize,w_600,h_600,limit_0,m_pad'
 				}
 				}
 				this.$emit('share', {
 				this.$emit('share', {
 					detail: shareInfo
 					detail: shareInfo

+ 10 - 4
pages/exhibitor/detail.vue

@@ -5,7 +5,7 @@
 			<view class="main-container">
 			<view class="main-container">
 				<view class="exhibitor-main">
 				<view class="exhibitor-main">
 					<view class="exhibitor-logo">
 					<view class="exhibitor-logo">
-						<image src="https://oss.starify.cn/prod/starify/up/0001018678/20241108/672da70c02212.png?x-oss-process=image/resize,w_200" mode="aspectFit" />
+						<image :src="exhibitor.logo + '?x-oss-process=image/resize,w_200'" mode="aspectFit" />
 					</view>
 					</view>
 					<view class="exhibitor-title">
 					<view class="exhibitor-title">
 						<view class="exhibitor-title-1">
 						<view class="exhibitor-title-1">
@@ -168,7 +168,9 @@
 				this.showShare = true
 				this.showShare = true
 			},
 			},
 			onCollect() { // 收藏
 			onCollect() { // 收藏
-				this.checkAuth('/pages/exhibitor/detail?id=' + this.exhibitor.id)
+				if (!this.checkAuth('/pages/exhibitor/detail?id=' + this.exhibitor.id)) {
+					return
+				}
 				exhibitorsCollect({ id: this.exhibitor.id }).then(res => {
 				exhibitorsCollect({ id: this.exhibitor.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						this.exhibitor.is_collect = this.exhibitor.is_collect === 0 ? 1 : 0
 						this.exhibitor.is_collect = this.exhibitor.is_collect === 0 ? 1 : 0
@@ -176,7 +178,9 @@
 				})
 				})
 			},
 			},
 			onLike() { // 点赞
 			onLike() { // 点赞
-				this.checkAuth('/pages/exhibitor/detail?id=' + this.exhibitor.id)
+				if (!this.checkAuth('/pages/exhibitor/detail?id=' + this.exhibitor.id)) {
+					return
+				}
 				exhibitorsLike({ id: this.exhibitor.id }).then(res => {
 				exhibitorsLike({ id: this.exhibitor.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						this.exhibitor.is_like = this.exhibitor.is_like === 0 ? 1 : 0
 						this.exhibitor.is_like = this.exhibitor.is_like === 0 ? 1 : 0
@@ -184,7 +188,9 @@
 				})
 				})
 			},
 			},
 			onPoll() { // 投票
 			onPoll() { // 投票
-				this.checkAuth('/pages/exhibitor/detail?id=' + this.exhibitor.id)
+				if (!this.checkAuth('/pages/exhibitor/detail?id=' + this.exhibitor.id)) {
+					return
+				}
 				exhibitorsPoll({ id: this.exhibitor.id }).then(res => {
 				exhibitorsPoll({ id: this.exhibitor.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						this.exhibitor.is_poll = this.exhibitor.is_poll === 0 ? 1 : 0
 						this.exhibitor.is_poll = this.exhibitor.is_poll === 0 ? 1 : 0

+ 10 - 4
pages/exhibitor/exhibit-detail.vue

@@ -153,7 +153,7 @@
 			onShare() {
 			onShare() {
 				this.shareInfo = {
 				this.shareInfo = {
 					title: this.exhibit.name,
 					title: this.exhibit.name,
-					path: `/pages/exhibitor/exhibit-detail` + this.id,
+					path: `/pages/exhibitor/exhibit-detail?id=` + this.id,
 					imageUrl: this.exhibit.pic + '?x-oss-process=image/resize,w_600,h_600,limit_0,m_pad'
 					imageUrl: this.exhibit.pic + '?x-oss-process=image/resize,w_600,h_600,limit_0,m_pad'
 				}
 				}
 				this.showShare = true
 				this.showShare = true
@@ -167,7 +167,9 @@
 				})
 				})
 			},
 			},
 			onCollect() { // 收藏
 			onCollect() { // 收藏
-				this.checkAuth('/pages/exhibitor/exhibit-detail?id=' + this.id)
+				if (!this.checkAuth('/pages/exhibitor/exhibit-detail?id=' + this.id)) {
+					return
+				}
 				exhibitorsProductCollect({ id: this.id }).then(res => {
 				exhibitorsProductCollect({ id: this.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						this.exhibit.is_collect = this.exhibit.is_collect === 0 ? 1 : 0
 						this.exhibit.is_collect = this.exhibit.is_collect === 0 ? 1 : 0
@@ -175,7 +177,9 @@
 				})
 				})
 			},
 			},
 			onLike() { // 点赞
 			onLike() { // 点赞
-				this.checkAuth('/pages/exhibitor/exhibit-detail?id=' + this.id)
+				if (!this.checkAuth('/pages/exhibitor/exhibit-detail?id=' + this.id)) {
+					return
+				}
 				exhibitorsProductLike({ id: this.id }).then(res => {
 				exhibitorsProductLike({ id: this.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						this.exhibit.is_like = this.exhibit.is_like === 0 ? 1 : 0
 						this.exhibit.is_like = this.exhibit.is_like === 0 ? 1 : 0
@@ -183,7 +187,9 @@
 				})
 				})
 			},
 			},
 			onPoll() { // 投票
 			onPoll() { // 投票
-				this.checkAuth('/pages/exhibitor/exhibit-detail?id=' + this.id)
+				if (!this.checkAuth('/pages/exhibitor/exhibit-detail?id=' + this.id)) {
+					return
+				}
 				exhibitorsProductPoll({ id: this.id }).then(res => {
 				exhibitorsProductPoll({ id: this.id }).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
 						this.exhibit.is_poll = this.exhibit.is_poll === 0 ? 1 : 0
 						this.exhibit.is_poll = this.exhibit.is_poll === 0 ? 1 : 0

+ 43 - 7
pages/index/search.vue

@@ -12,12 +12,12 @@
 					<u-tabs :active.sync="tabActive" :tabs="tabs" tab-style="default" @change="tabChange"/>
 					<u-tabs :active.sync="tabActive" :tabs="tabs" tab-style="default" @change="tabChange"/>
 					<view v-if="tabActive === 1" class="search-result-list exhibit-list">
 					<view v-if="tabActive === 1" class="search-result-list exhibit-list">
 						<template v-for="(item, index) in exhibitorList">
 						<template v-for="(item, index) in exhibitorList">
-							<exhibitor-item :item="item" :key="index" @updateItemValue="updateItemValue()"/>
+							<exhibitor-item :item="item" :key="index" :pollShow="pollShow.exhibitors_poll_show" @share="onShare()" @updateItemValue="updateItemValue()"/>
 						</template>
 						</template>
 					</view>
 					</view>
 					<view v-else-if="tabActive === 2" class="search-result-list exhibit-list">
 					<view v-else-if="tabActive === 2" class="search-result-list exhibit-list">
 						<template v-for="(item, index) in exhibitList">
 						<template v-for="(item, index) in exhibitList">
-							<exhibit-item :item="item" :key="index" @updateItemValue="updateItemValue()"/>
+							<exhibit-item :item="item" :key="index" :pollShow="pollShow.product_poll_show" @share="onShare()" @updateItemValue="updateItemValue()"/>
 						</template>
 						</template>
 					</view>
 					</view>
 					<view v-else-if="tabActive === 3" class="search-result-list exhibit-list">
 					<view v-else-if="tabActive === 3" class="search-result-list exhibit-list">
@@ -39,6 +39,7 @@
 				<disclaimer-text></disclaimer-text>
 				<disclaimer-text></disclaimer-text>
 			</view>
 			</view>
 		</u-scroll-view>
 		</u-scroll-view>
+		<u-share-action-sheet :show.sync="showShare" :show-info="shareInfo" />
 	</view>
 	</view>
 </template>
 </template>
 
 
@@ -46,12 +47,14 @@
 	import NavBar from '@/components/layout/nav-bar'
 	import NavBar from '@/components/layout/nav-bar'
 	import UTabs from '@/components/common/u-tabs'
 	import UTabs from '@/components/common/u-tabs'
 	import UScrollView from '@/components/common/u-scroll-view'
 	import UScrollView from '@/components/common/u-scroll-view'
+	import UShareActionSheet from '@/components/common/u-share-action-sheet'
 	import USearch from '@/components/common/u-search'
 	import USearch from '@/components/common/u-search'
 	import ExhibitItem from '@/pages/exhibitor/components/exhibit-item.vue'
 	import ExhibitItem from '@/pages/exhibitor/components/exhibit-item.vue'
 	import ExhibitorItem from '@/pages/exhibitor/components/exhibitor-item.vue'
 	import ExhibitorItem from '@/pages/exhibitor/components/exhibitor-item.vue'
 	import NewsItem from '@/pages/news/components/news-item.vue'
 	import NewsItem from '@/pages/news/components/news-item.vue'
 	import ActivityItem from '@/pages/activity/components/activity-item.vue'
 	import ActivityItem from '@/pages/activity/components/activity-item.vue'
-	import { globalSearch, mettingList, exhibitorsList, exhibitorsProductList, exhibitorsNewsList, exhibitorsBoothActivityList } from '@/api/exhibitor'
+
+	import { globalSearch, mettingList, exhibitorsList, exhibitorsProductList, exhibitorsNewsList, exhibitorsBoothActivityList, globalPollShow } from '@/api/exhibitor'
 	import DisclaimerText from '@/components/disclaimer-text/index.vue'
 	import DisclaimerText from '@/components/disclaimer-text/index.vue'
 	export default {
 	export default {
 		options: {
 		options: {
@@ -66,7 +69,8 @@
 			ExhibitorItem,
 			ExhibitorItem,
 			NewsItem,
 			NewsItem,
 			ActivityItem,
 			ActivityItem,
-			DisclaimerText
+			DisclaimerText,
+			UShareActionSheet
 		},
 		},
 		data() {
 		data() {
 			return {
 			return {
@@ -134,7 +138,13 @@
 					page: 1,
 					page: 1,
 					page_size: 10,
 					page_size: 10,
 					keyword: ''
 					keyword: ''
-				}
+				},
+				pollShow: {
+					exhibitors_poll_show: 0,
+					product_poll_show: 0
+				},
+				showShare: false,
+				shareInfo: null,
 			}
 			}
 		},
 		},
 		onLoad(options) {
 		onLoad(options) {
@@ -143,12 +153,15 @@
 			this.searchKeyword = options.query
 			this.searchKeyword = options.query
 			this.onClickSearch()
 			this.onClickSearch()
 		},
 		},
-		created() {},
+		created() {
+			this.getGlobalPollShow()
+		},
 		methods: {
 		methods: {
 			tabChange() {
 			tabChange() {
 
 
 			},
 			},
 			onClickSearch() {
 			onClickSearch() {
+
 				this.listParams.page = 1
 				this.listParams.page = 1
 				this.listParams.keyword = this.searchKeyword
 				this.listParams.keyword = this.searchKeyword
 				this.exhibitorListParams = {...this.listParams}
 				this.exhibitorListParams = {...this.listParams}
@@ -202,7 +215,7 @@
 					this.exhibitorListLoading = false
 					this.exhibitorListLoading = false
 				})
 				})
 			},
 			},
-			getExhibitList() { // 展品 
+			getExhibitList() { // 展品
 				this.exhibitListLoading = true
 				this.exhibitListLoading = true
 				exhibitorsProductList(this.exhibitListParams).then(res => {
 				exhibitorsProductList(this.exhibitListParams).then(res => {
 					if (res.data.data) {
 					if (res.data.data) {
@@ -328,6 +341,29 @@
 						}
 						}
 					})
 					})
 				}
 				}
+			},
+			getGlobalPollShow() {
+				globalPollShow().then(res => {
+					this.pollShow = res.data
+				})
+			},
+			onShare(e) {
+				this.shareInfo = e.detail
+				this.showShare = true
+			},
+			onShareAppMessage: function (res) {
+				if (res.from === 'button') {
+					if (this.shareInfo) {
+						return this.shareInfo
+					}
+				}
+				this.shareInfo = null
+				this.showShare = false
+				return {
+					title: '慕尼黑上海电子生产设备展',
+					path: '/pages/index/index',
+					imageUrl: 'https://oss.starify.cn/prod/starify/up/0001018678/20241108/672da5a7dd374.png?x-oss-process=image/resize,w_600,h_600,limit_0,m_pad'
+				}
 			}
 			}
 		}
 		}
 	}
 	}

+ 7 - 6
pages/news/components/news-item.vue

@@ -34,11 +34,12 @@
 			  return `${year}年${month}月${day}日`;
 			  return `${year}年${month}月${day}日`;
 			},
 			},
 			onClickDetail(item) {
 			onClickDetail(item) {
-				if (this.type === 'exhibitor')  {
-					this.navigateTo(link('/' + item.urla))
+        this.navigateTo(this.$store.getters.website_url + '/mini-pro-news?v=' + this.$store.getters.version)
+				/*if (this.type === 'exhibitor')  {
+					this.navigateTo('https://mp-test-onlinecatelogue.matchexpo.cn/Selis-responds-to-Guangzhou-s-inquiry-on-M7-accident-identification-the-owner-does-not-recognize-the-analysis-conclusion-that-the-case-has-entered-the-judicial-procedure')
 				} else {
 				} else {
-					this.navigateTo(this.websiteUrl + '/' + item.urla)
-				}
+					this.navigateTo('https://www.productronicachina.com.cn/2025%E6%85%95%E5%B0%BC%E9%BB%91%E4%B8%8A%E6%B5%B7%E7%94%B5%E5%AD%90%E7%94%9F%E4%BA%A7%E8%AE%BE%E5%A4%87%E5%B1%953%E6%9C%88%E5%A5%8F%E5%93%8D%E6%96%B0%E7%AF%87%E7%AB%A0-%E6%8E%A2%E7%B4%A2%E7%94%B5%E5%AD%90%E5%88%B6%E9%80%A0%E7%9A%84%E6%97%A0%E9%99%90%E5%8F%AF%E8%83%BD')
+				}*/
 			}
 			}
 		}
 		}
 	}
 	}
@@ -75,7 +76,7 @@
 			padding-right: 30rpx;
 			padding-right: 30rpx;
 			color: #555555;
 			color: #555555;
 			@include text-ellipsis-line;
 			@include text-ellipsis-line;
-			-webkit-line-clamp: 2;  
+			-webkit-line-clamp: 2;
 		}
 		}
 		.to-detail{
 		.to-detail{
 			display: flex;
 			display: flex;
@@ -91,4 +92,4 @@
 			font-size: $fontSize0;
 			font-size: $fontSize0;
 		}
 		}
 	}
 	}
-</style>
+</style>

+ 1 - 1
pages/news/components/news-recommend.vue

@@ -45,7 +45,7 @@
 				newsList: [],
 				newsList: [],
 				newsListParams: {
 				newsListParams: {
 					page: 1,
 					page: 1,
-					page_size: 4,
+					page_size: 3,
 					keyword: ''
 					keyword: ''
 				},
 				},
 				newsListLoading: false
 				newsListLoading: false

+ 1 - 2
pages/news/index.vue

@@ -7,7 +7,7 @@
 				<van-empty v-if="newsList.length === 0" description="暂无数据" />
 				<van-empty v-if="newsList.length === 0" description="暂无数据" />
 				<view v-else class="news-list">
 				<view v-else class="news-list">
 					<template v-for="(item, index) in newsList">
 					<template v-for="(item, index) in newsList">
-						<news-item :item="item" :key="index" />
+						<news-item :item="item" :key="index" :type="tabActive" />
 					</template>
 					</template>
 				</view>
 				</view>
 				<disclaimer-text></disclaimer-text>
 				<disclaimer-text></disclaimer-text>
@@ -59,7 +59,6 @@
 			if (options.type) {
 			if (options.type) {
 				this.tabActive = options.type
 				this.tabActive = options.type
 			}
 			}
-			this.getList()
 		},
 		},
 		created() {
 		created() {
 		},
 		},

+ 6 - 3
pages/user/info-edit.vue

@@ -33,7 +33,7 @@
 	import VanCell from '@/wxcomponents/vant/cell/index'
 	import VanCell from '@/wxcomponents/vant/cell/index'
 	import VanField from '@/wxcomponents/vant/field/index'
 	import VanField from '@/wxcomponents/vant/field/index'
 	import { updateInfo, uploadFile } from '@/api/user'
 	import { updateInfo, uploadFile } from '@/api/user'
-	
+
 	export default {
 	export default {
 		options: {
 		options: {
 			styleIsolation: 'shared'
 			styleIsolation: 'shared'
@@ -82,7 +82,7 @@
 					this.avatar = res.data.avatar
 					this.avatar = res.data.avatar
 				}
 				}
 			})
 			})
-		}, 
+		},
 		methods: {
 		methods: {
 			onChooseAvatar(e) {
 			onChooseAvatar(e) {
 				this.avatar = e.detail.avatarUrl
 				this.avatar = e.detail.avatarUrl
@@ -146,6 +146,9 @@
 	.user-info-edit{
 	.user-info-edit{
 		.right-icon{
 		.right-icon{
 			position: relative;
 			position: relative;
+      button::after {
+        content: unset;
+      }
 			.btn-choose{
 			.btn-choose{
 				position: absolute;
 				position: absolute;
 				background-color: transparent;
 				background-color: transparent;
@@ -189,4 +192,4 @@
 			}
 			}
 		}
 		}
 	}
 	}
-</style>
+</style>

+ 6 - 5
pages/user/like.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-	<view class="user-like">
+	<view class="user-like" v-if="loading">
 		<nav-bar title="我的点赞" @init="onInitNavbar"></nav-bar>
 		<nav-bar title="我的点赞" @init="onInitNavbar"></nav-bar>
 		<u-scroll-view>
 		<u-scroll-view>
 			<view class="user-like-tabs-wrapper">
 			<view class="user-like-tabs-wrapper">
@@ -29,7 +29,7 @@
 	import UScrollView from '@/components/common/u-scroll-view'
 	import UScrollView from '@/components/common/u-scroll-view'
 	import ExhibitItem from '@/pages/exhibitor/components/exhibit-item.vue'
 	import ExhibitItem from '@/pages/exhibitor/components/exhibit-item.vue'
 	import ExhibitorItem from '@/pages/exhibitor/components/exhibitor-item.vue'
 	import ExhibitorItem from '@/pages/exhibitor/components/exhibitor-item.vue'
-	
+
 	export default {
 	export default {
 		options: {
 		options: {
 			styleIsolation: 'shared'
 			styleIsolation: 'shared'
@@ -45,6 +45,7 @@
 		},
 		},
 		data() {
 		data() {
 			return {
 			return {
+        loading: false,
 				tabActive: 'exhibitor',
 				tabActive: 'exhibitor',
 				tabs: [{
 				tabs: [{
 					label: '展商',
 					label: '展商',
@@ -61,10 +62,10 @@
 			this.loadFontFace('Poppins')
 			this.loadFontFace('Poppins')
 		},
 		},
 		onShow() {
 		onShow() {
-		}, 
+		},
 		methods: {
 		methods: {
 			tabChange() {
 			tabChange() {
-				
+
 			}
 			}
 		}
 		}
 	}
 	}
@@ -72,4 +73,4 @@
 
 
 <style lang="scss">
 <style lang="scss">
 	@import "@/static/style/pages/user-like.scss";
 	@import "@/static/style/pages/user-like.scss";
-</style>
+</style>

+ 8 - 8
pages/user/login.vue

@@ -45,7 +45,7 @@
 							 </van-button>
 							 </van-button>
 						</view>
 						</view>
 						<view class="user-phone-login-protocol" :class="{ 'protocol-shake': protocolShake }">
 						<view class="user-phone-login-protocol" :class="{ 'protocol-shake': protocolShake }">
-							<van-checkbox :value="protocolChecked" shape="square" @change="onCheckChange">	
+							<van-checkbox :value="protocolChecked" shape="square" @change="onCheckChange">
 								<view class="user-login-protocol-text">
 								<view class="user-login-protocol-text">
 									<text>我已仔细阅读主办方的</text>
 									<text>我已仔细阅读主办方的</text>
 									<text class="link-text" @click="navigateTo('https://www.productronicachina.com.cn/%E9%9A%90%E7%A7%81%E6%9D%A1%E6%AC%BE')">《隐私政策》</text>
 									<text class="link-text" @click="navigateTo('https://www.productronicachina.com.cn/%E9%9A%90%E7%A7%81%E6%9D%A1%E6%AC%BE')">《隐私政策》</text>
@@ -61,13 +61,13 @@
 					</view>
 					</view>
 				</view>
 				</view>
 			</van-overlay>
 			</van-overlay>
-			<van-dialog 
-				:show.sync="showGetProfile" 
+			<van-dialog
+				:show.sync="showGetProfile"
 				title="登录成功"
 				title="登录成功"
-				message="设置您的的头像和呢称?" 
+				message="设置您的的头像和呢称?"
 				show-cancel-button
 				show-cancel-button
 				confirm-button-open-type="chooseAvatar"
 				confirm-button-open-type="chooseAvatar"
-				@chooseavatar="onConfirmGetProfile" 
+				@chooseavatar="onConfirmGetProfile"
 				@cancel="onCancelGetProfile"
 				@cancel="onCancelGetProfile"
 			>
 			>
 			</van-dialog>
 			</van-dialog>
@@ -82,7 +82,7 @@
 	import VanCheckbox from '@/wxcomponents/vant/checkbox/index'
 	import VanCheckbox from '@/wxcomponents/vant/checkbox/index'
 	import VanOverlay from '@/wxcomponents/vant/overlay/index'
 	import VanOverlay from '@/wxcomponents/vant/overlay/index'
 	import VanDialog from '@/wxcomponents/vant/dialog/index'
 	import VanDialog from '@/wxcomponents/vant/dialog/index'
-	
+
 	export default {
 	export default {
 		options: {
 		options: {
 			styleIsolation: 'shared'
 			styleIsolation: 'shared'
@@ -365,8 +365,8 @@
 	  }
 	  }
 	}
 	}
 	.protocol-shake {
 	.protocol-shake {
-	  display: inline-block; 
+	  display: inline-block;
 	  animation: shake 0.3s ease-in-out infinite;
 	  animation: shake 0.3s ease-in-out infinite;
 	}
 	}
 }
 }
-</style>
+</style>

+ 3 - 1
store/getters.js

@@ -5,6 +5,8 @@ const getters = {
   baseApi: state => process.env.BASE_API,
   baseApi: state => process.env.BASE_API,
   loading: state => state.app.loading,
   loading: state => state.app.loading,
   ossDomain: state => state.app.ossDomain,
   ossDomain: state => state.app.ossDomain,
-  locale: state => state.app.locale
+  locale: state => state.app.locale,
+  version: state => process.env.VERSION ?? '0.01',
+  website_url: state => 'https://mp-test-onlinecatelogue.matchexpo.cn'
 }
 }
 export default getters
 export default getters