diff --git a/api/qianxian.js b/api/qianxian.js
index 110268d..9ec0387 100644
--- a/api/qianxian.js
+++ b/api/qianxian.js
@@ -316,3 +316,20 @@ export function getCityShopList(params) {
export function getCountyFamousHotelType() {
return request.get('/countyFamous/hotelType', {}, {login: true})
}
+
+/**
+ * ������б�
+ * travelMerchantId int �þ��̻�ID
+ * experienceStoreCategoryId int ��������ID
+ */
+export function getExperienceStoreList(params) {
+ return request.get('/experienceStore/list', params, { login: true })
+}
+
+export function getExperienceStoreProject(experienceMerchantId) {
+ return request.get('/experienceStoreProject/' + experienceMerchantId, {}, { login: true })
+}
+
+export function getExperienceStoreDetail(id) {
+ return request.get('/experienceStore/detail/' + id, {}, { login: true })
+}
diff --git a/pages.json b/pages.json
index c827f7a..ad91f60 100644
--- a/pages.json
+++ b/pages.json
@@ -744,6 +744,13 @@
"navigationBarBackgroundColor": "#FFFFFF"
}
},
+ {
+ "path": "views/experienceProjectDetail",
+ "style": {
+ "navigationBarTitleText": "体验项目详情",
+ "navigationBarBackgroundColor": "#FFFFFF"
+ }
+ },
{
"path": "views/submitOrder",
"style": {
diff --git a/pkg_product/views/experienceProjectDetail.vue b/pkg_product/views/experienceProjectDetail.vue
new file mode 100644
index 0000000..2910bdd
--- /dev/null
+++ b/pkg_product/views/experienceProjectDetail.vue
@@ -0,0 +1,544 @@
+
+
+
+
+
+
+
+
+
+
+ {{ project.name }}
+
+
+ {{ project.intro }}
+
+
+
+ 营业时间
+ {{ project.serviceTime }}~{{ project.serviceEndTime }}
+
+ 营业执照
+
+
+
+
+
+ {{ project.cityName }}{{ project.address }}
+
+
+
+
+
+
+
+ 导航
+
+
+
+
+
+ 客服
+
+
+
+
+
+
+
+
+
+ 超值体验
+
+
+
+
+
+
+
+ {{ project.experienceTitle || project.name }}
+
+
+
+ {{ project.experienceSubTitle || project.intro }}
+
+
+
+
+
+
+ 详情
+
+
+
+
+ {{ item.name }}
+
+ ({{ item.count }})
+
+
+
+
+ {{ project.detailText || '详情信息由商家提供' }}
+
+
+
+
+ 备注
+
+
+ {{ project.remark || '仅限堂食,具体以到店实际安排为准' }}
+
+
+
+
+ 使用须知
+
+
+ 有效期: {{ validFrom || '2026年1月1日' }} — {{ validTo || '2026年1月31日' }}
+
+
+
+ {{ usageNotice || '无需预约,如遇消费高峰时段您可能需要排队' }}
+
+
+
+ 平台温馨提醒:您在到店体验本商品/服务期间,请关注商家的安全提示内容,了解相关注意事项,做好安全防护措施,保护您的安全。
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pkg_product/views/sojoumStore.vue b/pkg_product/views/sojoumStore.vue
index 5433559..6e2e1b0 100644
--- a/pkg_product/views/sojoumStore.vue
+++ b/pkg_product/views/sojoumStore.vue
@@ -82,19 +82,22 @@
-
-
-
- {{ item.text }}
+
+
+
+
+
+ {{ item.text }}
+
+
-
-
+
+
+
+
+
+
+
+
+
+ {{ item.cityName }}
+
+
+
+ {{ item.name }}
+ {{ item.intro }}
+
+
+ 营业时间:{{ item.serviceTime }}~{{ item.serviceEndTime }}
+
+
+ 查看
+
+
+
+
+
+
+ 店主还没有上传内容哦~
+
+
{
+ if (res.status === 200) {
+ this.experienceStoreList = res.data.records || []
+ }
+ }).finally(() => {
+ uni.hideLoading()
+ })
+ },
getJiaLouProductList() {
uni.showLoading({
title: '加载中',
@@ -855,7 +918,8 @@ export default {
align-items: center;
padding: 20rpx;
border-top: 1px solid #f1f1f1;
- font-size: 16px;
+ font-size: 22rpxl;
+ font-weight: bold;
.time {
flex: 1;
color: #333;
@@ -1018,24 +1082,128 @@ export default {
color:#A6AAB3;
font-size:28rpx;
}
+.experience-list {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+
+ .experience-item {
+ width: 335rpx;
+ background: #fff;
+ border-radius: 16rpx;
+ overflow: hidden;
+ margin-bottom: 20rpx;
+ box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05);
+
+ .img-box {
+ position: relative;
+ width: 100%;
+ height: 335rpx;
+
+ .cover-img {
+ width: 100%;
+ height: 100%;
+ }
+
+ .location-tag {
+ position: absolute;
+ bottom: 10rpx;
+ left: 10rpx;
+ display: flex;
+ align-items: center;
+ // background: rgba(0,0,0,0.5);
+ // padding: 4rpx 10rpx;
+ // border-radius: 20rpx;
+
+ .city-name {
+ color: #fff;
+ font-size: 20rpx;
+ margin-left: 4rpx;
+ }
+ }
+ }
+
+ .info-box {
+ padding: 16rpx;
+
+ .name {
+ font-size: 28rpx;
+ font-weight: bold;
+ color: #333;
+ margin-bottom: 8rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ .intro {
+ font-size: 22rpx;
+ color: #999;
+ margin-bottom: 16rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ .bottom-row {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ .time {
+ font-size: 20rpx;
+ color: #666;
+ }
+
+ .btn-check {
+ background: #C52733;
+ color: #fff;
+ font-size: 24rpx;
+ padding: 4rpx 16rpx;
+ border-radius: 20rpx;
+ }
+ }
+ }
+ }
+}
.top-tab {
padding-bottom: 30rpx;
padding-top: 30rpx;
background: #fff;
+
+ .tab-scroll {
+ width: 100%;
+ white-space: nowrap;
+
+ .tab-list {
+ display: inline-flex;
+ padding: 0 30rpx;
+ }
+ }
+
.tab {
+ display: inline-block;
width: fit-content;
+ margin-right: 20rpx;
+
+ &:last-child {
+ margin-right: 0;
+ }
+
.tab-item {
height: 52rpx;
padding: 0 30rpx;
- border-radius: 26rpx 0 0 26rpx;
+ border-radius: 26rpx;
font-size: 32rpx;
line-height: 52rpx;
font-weight: bold;
+
&.active {
color: #fff;
background: linear-gradient(90deg, #C52733 0%, rgba(211,92,101,0.91) 54%, rgba(255,255,255,0.62) 100%);
}
}
+
&.hide {
display: none;
}