diff --git a/api/service.js b/api/service.js
index faaefd3..c94d33d 100644
--- a/api/service.js
+++ b/api/service.js
@@ -46,4 +46,52 @@ export function getMessagePage(params = {}) {
method: 'GET',
data: params,
})
+}
+
+// 会员点赞和取消根据赞状态设置
+export function setMemberLike(params = {}) {
+ return request({
+ url: '/app-api/member/labor-union-zan/zan',
+ method: 'POST',
+ data: params,
+ })
+}
+
+// 会员收藏
+export function setMemberCollect(params = {}) {
+ return request({
+ url: '/app-api/member/labor-union-collect/collect',
+ method: 'POST',
+ data: params,
+ })
+}
+
+// 创建会员司机公会分享记录
+export function createMemberShare(params = {}) {
+ return request({
+ url: '/app-api/member/labor-union-share/create',
+ method: 'POST',
+ data: params,
+ })
+}
+
+//判断是否需要地图
+export function isNeedMap(params = {}) {
+ return request({
+ url: '/app-api/member/app/getCnf',
+ method: 'GET',
+ data: params,
+ })
+}
+
+// 工会优惠券/商品下单并发起微信支付(需要后端返回小程序支付参数)
+// 约定:后端返回字段需包含 timeStamp、nonceStr、package、signType、paySign(或等价字段)
+export function createGuildCouponWxPay(params = {}) {
+ return request({
+ // TODO: 如后端实际路径不同,请替换这里的 url
+ url: '/app-api/member/labor-union-coupon/pay',
+ method: 'POST',
+ data: params,
+ showLoading: true,
+ })
}
\ No newline at end of file
diff --git a/components/DetailActionBar/DetailActionBar.vue b/components/DetailActionBar/DetailActionBar.vue
new file mode 100644
index 0000000..852c968
--- /dev/null
+++ b/components/DetailActionBar/DetailActionBar.vue
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+ 点赞
+
+
+
+
+
+
+ 收藏
+
+
+
+
+
+
+
+
diff --git a/pages.json b/pages.json
index 4ed235b..3021e22 100644
--- a/pages.json
+++ b/pages.json
@@ -52,13 +52,6 @@
"navigationStyle": "custom"
}
},
- {
- "path": "activitiesDetail",
- "style": {
- "navigationBarTitleText": "工会详情",
- "navigationStyle": "custom"
- }
- },
{
"path": "mapDetail",
"style": {
@@ -118,12 +111,33 @@
"navigationStyle": "custom"
}
},
+ {
+ "path": "pointsMemberRules",
+ "style": {
+ "navigationBarTitleText": "积分会员制度",
+ "navigationStyle": "custom"
+ }
+ },
{
"path": "serviceRecords",
"style": {
"navigationBarTitleText": "服务记录",
"navigationStyle": "custom"
}
+ },
+ {
+ "path": "userAgreement",
+ "style": {
+ "navigationBarTitleText": "用户服务协议",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "privacyPolicy",
+ "style": {
+ "navigationBarTitleText": "隐私政策",
+ "navigationStyle": "custom"
+ }
}
]
}
diff --git a/pages/activities/list.vue b/pages/activities/list.vue
index 182172d..61f6deb 100644
--- a/pages/activities/list.vue
+++ b/pages/activities/list.vue
@@ -161,7 +161,7 @@ export default {
handleActivityClick(item) {
// 点击活动项跳转到详情页
uni.navigateTo({
- url: `/pages/detail/activitiesDetail?id=${item.id}`
+ url: `/pages/detail/richTextDetail?id=${item.id}`
});
},
@@ -169,7 +169,7 @@ export default {
async handleJoinActivity(item) {
// 跳转到活动详情页
uni.navigateTo({
- url: `/pages/detail/activitiesDetail?id=${item.id}`
+ url: `/pages/detail/richTextDetail?id=${item.id}`
});
},
},
diff --git a/pages/activities/myCollect.vue b/pages/activities/myCollect.vue
index 30c3cac..7b9c0e6 100644
--- a/pages/activities/myCollect.vue
+++ b/pages/activities/myCollect.vue
@@ -39,7 +39,9 @@
>
- {{ item.title || item.collectName || '未命名' }}
+ {{
+ item.title || item.collectName || "未命名"
+ }}
{{ item.info }}
{{ formatTime(item.createTime) }}
@@ -48,7 +50,9 @@
加载中...
- 没有更多数据了
+ 没有更多数据了
上拉加载更多
@@ -62,7 +66,7 @@ import NavHeader from "@/components/NavHeader/NavHeader.vue";
export default {
components: {
- NavHeader
+ NavHeader,
},
data() {
return {
@@ -158,25 +162,9 @@ export default {
// 收藏项点击
handleCollectClick(item) {
- // 根据收藏类型跳转到对应的详情页
- // collectType: 收藏的类型
- // collectId: 收藏的id
- if (item.collectType && item.collectId) {
- // 这里可以根据 collectType 判断跳转到不同的详情页
- // 例如:1-活动详情,2-服务详情等
- if (item.collectType === 2) {
- // 假设类型2是活动
- uni.navigateTo({
- url: `/pages/detail/activitiesDetail?id=${item.collectId}`,
- });
- } else {
- // 其他类型可以在这里扩展
- uni.showToast({
- title: "暂不支持查看详情",
- icon: "none",
- });
- }
- }
+ // uni.navigateTo({
+ // url: `/pages/detail/richTextDetail?id=${item.collectId}`,
+ // });
},
},
};
diff --git a/pages/detail/activitiesDetail.vue b/pages/detail/activitiesDetail.vue
deleted file mode 100644
index a34e41f..0000000
--- a/pages/detail/activitiesDetail.vue
+++ /dev/null
@@ -1,259 +0,0 @@
-
-
-
-
-
-
-
-
-
- 加载中...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 暂无内容
-
-
-
-
-
-
-
-
diff --git a/pages/detail/mapDetail.vue b/pages/detail/mapDetail.vue
index 2b099a2..93321a9 100644
--- a/pages/detail/mapDetail.vue
+++ b/pages/detail/mapDetail.vue
@@ -12,9 +12,9 @@
:longitude="mapCenter.longitude"
:markers="markers"
:scale="16"
- :show-location="false"
- :enable-zoom="false"
- :enable-scroll="false"
+ :show-location="true"
+ :enable-zoom="true"
+ :enable-scroll="true"
:enable-rotate="false"
:enable-poi="true"
>
@@ -47,7 +47,7 @@
src="/static/service/location-icon.png"
mode="aspectFill"
>
- {{ storeInfo.distance || "0" }}km
+ {{ distanceText }}
@@ -74,7 +74,9 @@
-
+
+ 导航
+
@@ -89,6 +91,7 @@
@@ -145,6 +253,7 @@ export default {
display: flex;
flex-direction: column;
overflow: hidden;
+ padding-bottom: 120rpx; // 为底部操作栏留出空间
}
/* 内容区域 */
@@ -164,7 +273,7 @@ export default {
overflow-y: visible;
word-wrap: break-word;
word-break: break-all;
-
+
// 图片容器样式
.rich-text-image-wrapper {
width: 100%;
@@ -173,7 +282,7 @@ export default {
justify-content: center;
align-items: center;
box-sizing: border-box;
-
+
.rich-text-image {
width: 100%;
height: auto;
@@ -181,7 +290,7 @@ export default {
max-width: 100%;
}
}
-
+
// 文本内容样式
.rich-text-content {
width: 100%;
diff --git a/pages/detail/serviceDetail.vue b/pages/detail/serviceDetail.vue
index 8dfdd21..2ad981e 100644
--- a/pages/detail/serviceDetail.vue
+++ b/pages/detail/serviceDetail.vue
@@ -3,8 +3,8 @@
-
-
+
+
+
+
+ ✓
+
+
+ 我已阅读并同意
+ 《用户服务协议》
+ 和
+ 《隐私政策》
+
+
+
+