提交
This commit is contained in:
+88
-95
@@ -62,70 +62,57 @@ export default {
|
||||
{ key: 'near', label: '距离最近' }
|
||||
],
|
||||
currentTab: 'latest',
|
||||
slist:[
|
||||
{
|
||||
username:'用户名用户名',
|
||||
time:'2025 年 12 月 4 日 10:56',
|
||||
content:`西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子
|
||||
西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子西门子全新嵌饮机品牌
|
||||
西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子`,
|
||||
tag:['#散饮机','#9成新'],
|
||||
location:'门店位置',
|
||||
image:[
|
||||
{img_src:'/static/image/bx.jpg'},
|
||||
{img_src:'/static/image/bx.jpg'},
|
||||
{img_src:'/static/image/bx.jpg'},
|
||||
{img_src:'/static/image/bx.jpg'},
|
||||
{img_src:'/static/image/bx.jpg'},
|
||||
{img_src:'/static/image/bx.jpg'}
|
||||
]
|
||||
},{
|
||||
username:'用户名用户名',
|
||||
time:'2025 年 12 月 4 日 10:56',
|
||||
content:`西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子
|
||||
西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子西门子全新嵌饮机品牌
|
||||
西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子`,
|
||||
tag:['#散饮机','#9成新'],
|
||||
location:'门店位置',
|
||||
image:[
|
||||
{img_src:'/static/image/bx.jpg'},
|
||||
{img_src:'/static/image/bx.jpg'},
|
||||
{img_src:'/static/image/bx.jpg'}
|
||||
]
|
||||
},{
|
||||
username:'用户名用户名',
|
||||
time:'2025 年 12 月 4 日 10:56',
|
||||
content:`西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子
|
||||
西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子西门子全新嵌饮机品牌
|
||||
西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子全新嵌饮机品牌西门子`,
|
||||
tag:['#散饮机','#9成新'],
|
||||
location:'门店位置',
|
||||
image:[
|
||||
{img_src:'/static/image/bx.jpg'},
|
||||
{img_src:'/static/image/bx.jpg'}
|
||||
]
|
||||
}
|
||||
],
|
||||
slist:[],
|
||||
loading: false,
|
||||
refreshing: false,
|
||||
loadingMore: false,
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
hasMore: true,
|
||||
defaultTags: ['样机机', '9成新']
|
||||
latitude:'',
|
||||
longitude:''
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.loadList()
|
||||
this.getFuzzy().then(res => {
|
||||
this.latitude = res.latitude
|
||||
this.longitude = res.longitude
|
||||
console.log(res);
|
||||
}).catch(err => console.error(err));
|
||||
// this.syncTabbar()
|
||||
},
|
||||
methods: {
|
||||
syncTabbar() {
|
||||
uni.setTabBarItem({ index: 0, text: this.$t('tabbar.home') })
|
||||
uni.setTabBarItem({ index: 1, text: this.$t('tabbar.square') })
|
||||
uni.setTabBarItem({ index: 2, text: this.$t('tabbar.publish') })
|
||||
uni.setTabBarItem({ index: 3, text: this.$t('tabbar.mine') })
|
||||
},
|
||||
getFuzzy() {
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.getSetting({
|
||||
success: (st) => {
|
||||
const ok = st.authSetting['scope.userFuzzyLocation'];
|
||||
const run = () => wx.getFuzzyLocation({
|
||||
type: 'wgs84',
|
||||
success: resolve,
|
||||
fail: reject
|
||||
});
|
||||
|
||||
if (ok) return run();
|
||||
|
||||
wx.authorize({
|
||||
scope: 'scope.userFuzzyLocation',
|
||||
success: run,
|
||||
fail: () => wx.openSetting({ success: () => reject(new Error('未授权')) })
|
||||
});
|
||||
},
|
||||
fail: reject
|
||||
});
|
||||
});
|
||||
},
|
||||
handleContact(item) {
|
||||
const phone = item.user.mobile
|
||||
if (!phone) return uni.showToast({ title: '号码为空', icon: 'none' });
|
||||
// 简单清洗:去空格/横杠
|
||||
const num = String(phone).replace(/[^\d+]/g, '');
|
||||
uni.makePhoneCall({ phoneNumber: num });
|
||||
},
|
||||
changeTab(key) {
|
||||
if (this.currentTab === key) return
|
||||
this.currentTab = key
|
||||
@@ -135,50 +122,56 @@ export default {
|
||||
this.loadList()
|
||||
},
|
||||
loadList(isLoadMore = false) {
|
||||
if (isLoadMore) {
|
||||
if (this.loadingMore || this.loading || this.refreshing || !this.hasMore) return
|
||||
this.loadingMore = true
|
||||
this.page += 1
|
||||
} else {
|
||||
if (this.loading || this.loadingMore) return
|
||||
this.loading = true
|
||||
this.page = 1
|
||||
this.hasMore = true
|
||||
this.slist = []
|
||||
}
|
||||
|
||||
const sortKey = this.currentTab === 'near' ? 'distance' : 'latest'
|
||||
|
||||
request({
|
||||
url: 'common/post/list',
|
||||
method: 'GET',
|
||||
data: {
|
||||
current: this.page,
|
||||
size: this.pageSize,
|
||||
sort: sortKey
|
||||
}
|
||||
}).then(res => {
|
||||
this.loading = false
|
||||
this.loadingMore = false
|
||||
this.refreshing = false
|
||||
if (res.data.code === 200) {
|
||||
const records = res.data.data.records || []
|
||||
const total = res.data.data.total || 0
|
||||
if (isLoadMore) {
|
||||
this.slist = [...this.slist, ...records]
|
||||
} else {
|
||||
this.slist = records
|
||||
}
|
||||
this.hasMore = this.slist.length < total
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false
|
||||
this.loadingMore = false
|
||||
this.refreshing = false
|
||||
if (isLoadMore) {
|
||||
this.page -= 1
|
||||
}
|
||||
})
|
||||
if (isLoadMore) {
|
||||
if (this.loadingMore || this.loading || this.refreshing || !this.hasMore) return
|
||||
this.loadingMore = true
|
||||
this.page += 1
|
||||
} else {
|
||||
if (this.loading || this.loadingMore) return
|
||||
this.loading = true
|
||||
this.page = 1
|
||||
this.hasMore = true
|
||||
this.slist = []
|
||||
}
|
||||
const collectUrl = this.currentTab=='latest' ? 'common/post/list' : 'common/post/nearby'
|
||||
var that = this;
|
||||
const params = {
|
||||
current:this.page,
|
||||
status:1,
|
||||
size:10
|
||||
};
|
||||
// 添加排序参数(如果后端支持)
|
||||
if(this.currentTab=='near'){
|
||||
params.lng = this.longitude;
|
||||
params.lat = this.latitude;
|
||||
} else {
|
||||
}
|
||||
request({
|
||||
url: collectUrl,
|
||||
method: 'GET',
|
||||
data: params
|
||||
}).then(res => {
|
||||
this.loading = false
|
||||
this.loadingMore = false
|
||||
this.refreshing = false
|
||||
if (res.data.code === 200) {
|
||||
const records = res.data.data.records || []
|
||||
const total = res.data.data.total || 0
|
||||
if (isLoadMore) {
|
||||
this.slist = [...this.slist, ...records]
|
||||
} else {
|
||||
this.slist = records
|
||||
}
|
||||
this.hasMore = this.slist.length < total
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false
|
||||
this.loadingMore = false
|
||||
this.refreshing = false
|
||||
if (isLoadMore) {
|
||||
this.page -= 1
|
||||
}
|
||||
})
|
||||
},
|
||||
onRefresh() {
|
||||
if (this.loading || this.loadingMore) {
|
||||
|
||||
Reference in New Issue
Block a user