支付宝兼容

This commit is contained in:
2026-03-09 09:07:58 +08:00
parent 069677957e
commit b3836b8bf2
31 changed files with 2382 additions and 307 deletions
+1 -1
View File
@@ -86,7 +86,7 @@
// 跳转到投诉记录列表
const navigateToRecord = () => {
uni.navigateTo({
url: '/pages/feedback/list'
url: '/subPackages/service/feedback/list'
})
}
+1 -1
View File
@@ -270,7 +270,7 @@
// 跳转到详情页
const navigateToDetail = (item) => {
uni.navigateTo({
url: `/pages/feedback/detail?id=${item.id || item.feedbackId}`
url: `/subPackages/service/feedback/detail?id=${item.id || item.feedbackId}`
});
};
</script>
+87 -17
View File
@@ -2,18 +2,27 @@
<view class="help-container">
<!-- 常见问题 -->
<view class="faq-section">
<uv-collapse :border="false">
<uv-collapse-item
v-for="(item, index) in faqList"
:key="index"
:title="$t(item.question)"
:name="index"
<view
v-for="(item, index) in faqList"
:key="index"
class="collapse-item"
>
<view
class="collapse-header"
@click="toggleCollapse(index)"
>
<text class="collapse-title">{{ $t(item.question) }}</text>
<text class="collapse-icon" :class="{ 'active': activeIndex === index }"></text>
</view>
<view
class="collapse-content"
:class="{ 'show': activeIndex === index }"
>
<view class="answer-content">
<text class="answer-text">{{ $t(item.answer) }}</text>
</view>
</uv-collapse-item>
</uv-collapse>
</view>
</view>
</view>
<!-- 联系客服 -->
@@ -34,7 +43,7 @@
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
import { HELP_CONTENT } from '@/constants/help'
import { getCustomerPhone } from '@/util/index.js'
@@ -44,6 +53,7 @@ const { t } = useI18n()
const faqList = ref(HELP_CONTENT.FAQ_LIST)
const customerPhone = ref(HELP_CONTENT.CONTACT.PHONE.VALUE)
const activeIndex = ref(null)
onLoad(() => {
uni.setNavigationBarTitle({
@@ -52,6 +62,14 @@ onLoad(() => {
customerPhone.value = getCustomerPhone()
})
const toggleCollapse = (index) => {
if (activeIndex.value === index) {
activeIndex.value = null
} else {
activeIndex.value = index
}
}
const makePhoneCall = () => {
uni.makePhoneCall({
phoneNumber: customerPhone.value
@@ -72,15 +90,67 @@ const makePhoneCall = () => {
box-shadow: 0 4rpx 16rpx rgba(0,0,0,0.04);
overflow: hidden;
.answer-content {
padding: 20rpx 30rpx 30rpx;
background: #f9f9f9;
.collapse-item {
border-bottom: 1rpx solid #f0f0f0;
.answer-text {
font-size: 28rpx;
color: #666;
line-height: 1.8;
display: block;
&:last-child {
border-bottom: none;
}
.collapse-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30rpx;
cursor: pointer;
transition: background-color 0.2s;
&:active {
background-color: #f5f5f5;
}
.collapse-title {
flex: 1;
font-size: 30rpx;
color: #333;
font-weight: 500;
line-height: 1.5;
}
.collapse-icon {
margin-left: 20rpx;
font-size: 24rpx;
color: #999;
transition: transform 0.3s;
transform: rotate(0deg);
&.active {
transform: rotate(180deg);
}
}
}
.collapse-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-out;
&.show {
max-height: 2000rpx;
transition: max-height 0.3s ease-in;
}
.answer-content {
padding: 20rpx 30rpx 30rpx;
background: #f9f9f9;
.answer-text {
font-size: 28rpx;
color: #666;
line-height: 1.8;
display: block;
}
}
}
}
}