@@ -62,6 +62,8 @@ export class CommonInfoModel extends DataModel<CommonInfoModel> {
if (this.longitude && this.latitude) {
this.lonlat = [this.longitude as number, this.latitude as number];
}
+ if (this.avatar)
+ this.villageVolunteerAvatar = this.avatar as string;
};
this._afterSolveClient = (data) => {
if (this.cityAddress) {
@@ -300,7 +300,7 @@ export class LightVillageApi extends AppServerRequestModule<DataModel> {
type_text?: string;
sex_text?: string;
status_text?: string;
- image?: string;
+ avatar?: string;
}[]>('/village/volunteer/getRanklist', '志愿者排行榜', params, undefined, undefined, {
cacheEnable: true,
cacheTime: 1000 * 60 * 10, //10min
@@ -16,7 +16,7 @@
<template #footer>
<FlexRow v-if="userName || likes" justify="space-between" align="center" :padding="[10,0]" :margin="[10,0,0,0]">
<FlexRow align="center" :gap="10">
- <Avatar :url="image" :size="40" />
+ <Avatar :url="userAvatar || image" defaultAvatar="https://xy.wenlvti.net/app_static/images/mine/DefaultAvatar.png" :size="40" />
<Text :text="userName" :fontSize="24" color="gray" />
</FlexRow>
@@ -40,6 +40,7 @@ const props = defineProps<{
title?: string;
desc?: string;
userName?: string;
+ userAvatar?: string;
likes?: number;
isLike?: boolean;
defaultImage?: string;
@@ -65,6 +65,7 @@
<Avatar
:src="good.villageVolunteerAvatar"
:size="40"
+ defaultAvatar="https://xy.wenlvti.net/app_static/images/mine/DefaultAvatar.png"
/>
<Text :text="`发布人: ${good.villageVolunteerName}`" fontConfig="contentText" />
@@ -149,7 +150,7 @@ const villageUserRankListLoader = useSimpleDataLoader(async () => {
const res = (await LightVillageApi.getVolunteerRankList({ num: 10 }))
.map((item, i) => ({
id: item.id,
- image: item.image ?? '',
+ image: item.avatar ?? '',
title: item.name,
rank: i + 1,
score: item.points,
@@ -167,6 +167,7 @@
:title="item.title"
:desc="item.content ?? ''"
:userName="item.villageVolunteerName ?? ''"
+ :userAvatar="item.villageVolunteerAvatar"
:likes="0"
:isLike="false"
@click="handleGoRecommendDetails(item)"
@@ -288,7 +289,7 @@ const villageUserRankListLoader = useSimpleDataLoader(async () => {
const res = (await LightVillageApi.getVolunteerRankList({ num: 3 }))
@@ -22,6 +22,7 @@
:src="goodLoader.content.value.villageVolunteerAvatar"
<Text :text="`发布人: ${goodLoader.content.value.villageVolunteerName}`" fontConfig="contentText" />
@@ -27,6 +27,7 @@
@@ -113,16 +114,22 @@ const handleOpen = () => {
toast('暂未开放,敬请期待!');
-onMounted(async () => {
+async function loadVolunteerInfo() {
await getIsVolunteer();
canCollect.value = await getCanCollect(querys.value.villageId);
await goodsLoader.load();
+}
+
+onMounted(() => {
+ loadVolunteerInfo();
});
defineExpose({
onPageBack(name: string, param: any) {
if (param && param.needRefresh)
goodsLoader.reload();
+ if (name === 'registerDone')
},
</script>
@@ -404,7 +404,7 @@ const villageUserRankListLoader = useSimpleDataLoader(async () => {
}))
@@ -52,7 +52,7 @@ const villageUserRankListLoader = useSimpleDataLoader(async () => {
@@ -13,6 +13,7 @@
:src="infoLoader.content.value.image"
:size="200"
+ defaultAvatar="https://xy.wenlvti.net/app_static/images/village/PlaceholderVolunteerNew.png"
<Width :width="60" />
<FlexCol gap="gap.md">
@@ -71,6 +72,7 @@
:size="80"
:round="false"
:radius="10"
<Text :text="item.remark || '没有说明文字!'" fontConfig="contentText" :innerStyle="{ flex: 1 }" />