consumer模块完成度95%,能编译在安卓端运行,在解决数据获取和页面布局问题

This commit is contained in:
cyh666666
2026-02-27 08:20:43 +08:00
parent e606c597ca
commit b9acce6c35
1554 changed files with 23471 additions and 8551 deletions

View File

@@ -15,7 +15,7 @@
<text>加载中...</text>
</view>
<scroll-view v-else class="packet-list" scroll-y>
<scroll-view v-else class="packet-list" direction="vertical">
<view v-if="filteredPackets.length === 0" class="empty-state">
<text class="empty-text">暂无相关红包</text>
</view>
@@ -55,58 +55,45 @@ type RedPacket = {
const loading = ref(true)
const currentTab = ref(0)
const packets = ref<RedPacket[]>([])
const packets = ref<Array<RedPacket>>([])
const filteredPackets = computed((): RedPacket[] => {
const filteredPackets = computed((): Array<RedPacket> => {
const result: Array<RedPacket> = []
if (currentTab.value === 0) {
return packets.value.filter((p:RedPacket):boolean => p.status === 0)
for (let i: number = 0; i < packets.value.length; i++) {
if (packets.value[i].status === 0) {
result.push(packets.value[i])
}
}
} else {
return packets.value.filter((p:RedPacket):boolean => p.status !== 0)
for (let i: number = 0; i < packets.value.length; i++) {
if (packets.value[i].status !== 0) {
result.push(packets.value[i])
}
}
}
})
onMounted(() => {
loadData()
return result
})
const loadData = async () => {
loading.value = true
try {
const rawList = await supabaseService.getUserRedPackets()
packets.value = rawList.map((item: any): RedPacket => {
let id = ''
let amount = 0
let name = ''
let status = 0
let expireAt = ''
let createdAt = ''
if (item instanceof UTSJSONObject) {
id = item.getString('id') ?? ''
amount = item.getNumber('amount') ?? 0
name = item.getString('name') ?? ''
status = item.getNumber('status') ?? 0
expireAt = item.getString('expire_at') ?? ''
createdAt = item.getString('created_at') ?? ''
} else {
id = (item['id'] as string) ?? ''
amount = (item['amount'] as number) ?? 0
name = (item['name'] as string) ?? ''
status = (item['status'] as number) ?? 0
expireAt = (item['expire_at'] as string) ?? ''
createdAt = (item['created_at'] as string) ?? ''
}
return {
id: id,
const mappedList: Array<RedPacket> = []
for (let i: number = 0; i < rawList.length; i++) {
const item = rawList[i] as UTSJSONObject
const packet: RedPacket = {
id: item.getString('id') ?? '',
user_id: '',
amount: amount,
name: name,
status: status,
expire_at: expireAt,
created_at: createdAt
amount: item.getNumber('amount') ?? 0,
name: item.getString('name') ?? '',
status: item.getNumber('status') ?? 0,
expire_at: item.getString('expire_at') ?? '',
created_at: item.getString('created_at') ?? ''
} as RedPacket
})
mappedList.push(packet)
}
packets.value = mappedList
} catch (e) {
console.error(e)
} finally {
@@ -114,6 +101,10 @@ const loadData = async () => {
}
}
onMounted(() => {
loadData()
})
const usePacket = (item: RedPacket) => {
uni.switchTab({
url: '/pages/mall/consumer/index'