TakeOutShop/shopProDetail/faqList/faqList.vue
2025-04-01 12:05:30 +08:00

77 lines
2.2 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="mian">
<view class="faqlist" v-for="(item,index) in List" :key="index">
<view class="shop_ask shop_padding"><text>{{item.title}}</text></view>
<view class="shop_answer shop_padding"><text>{{item.content}}</text></view>
</view>
</view>
</template>
<script setup>
import { computed,ref,onMounted,onUnmounted,getCurrentInstance,nextTick } from 'vue';
import { useCounterStore } from '@/store/counter'; // 引入 Pinia Store
import { storeToRefs } from 'pinia';//实现解构付值
import { onLoad,onShow,onPullDownRefresh,onPageScroll,onReachBottom,onReady } from "@dcloudio/uni-app"
import { frontproblem } from '@/server/api'
const counterStore = useCounterStore(); // 使用 Store
const { proxy } = getCurrentInstance();
//使用piniastoreToRefs方法包裹(保持响应式更新,不使用视图无法更新)
const { token } = storeToRefs(counterStore);
const List = ref([]);
const total = ref(0);
const decs = ref('');
const pages = ref(0);
const limits = ref(10);
const productIds = ref('');
const api_frontproblem=()=>{
pages.value = pages.value + 1;
decs.value = "—— 加载中... ——";
if(List.value.length > 0 && List.value.length >= total.value){
decs.value = "—— 嗷呜,已经到底啦 ——";
return false
}
const params = {
page:pages.value,
limit:limits.value
}
return frontproblem(productIds.value,params).then(({data}) => {
total.value = data.total;
decs.value = '—— 上拉加载更多 ——'
List.value = List.value.concat(data.list);
if(List.value < List.value){
decs.value = '—— 上拉加载更多 ——'
}else{
decs.value = '—— 嗷呜,已经到底啦 ——';
}
}).catch(({message}) => {
uni.showModal({
content:message,
showCancel: false
})
})
}
onLoad((options) => {
const { productId } = options;
if(productId){
productIds.value = productId
}
api_frontproblem()
});
onShow(() => {});
onReady(()=>{})
onPullDownRefresh(()=>{
List.value = [];
total.value = 0;
decs.value = '';
pages.value = 0;
api_frontproblem();
uni.stopPullDownRefresh();
})
onReachBottom(()=>{
api_frontproblem();
})
</script>
<style lang="scss">
@import './style.scss';
</style>