|
@@ -4,7 +4,7 @@
|
|
|
<ImageSwiper
|
|
<ImageSwiper
|
|
|
width="100%"
|
|
width="100%"
|
|
|
:height="appConfiguration?.banners.discover.height"
|
|
:height="appConfiguration?.banners.discover.height"
|
|
|
- :images="appConfiguration?.banners.discover.images"
|
|
|
|
|
|
|
+ :images="bannerLoader.content.value || []"
|
|
|
radius="radius.md"
|
|
radius="radius.md"
|
|
|
:innerStyle="{
|
|
:innerStyle="{
|
|
|
border: '1px solid #fff',
|
|
border: '1px solid #fff',
|
|
@@ -106,7 +106,8 @@ import { useSimplePageListLoader } from '@/components/composeabe/loader/SimplePa
|
|
|
import { useSimpleDataLoader } from '@/components/composeabe/loader/SimpleDataLoader';
|
|
import { useSimpleDataLoader } from '@/components/composeabe/loader/SimpleDataLoader';
|
|
|
import { useVillageStore } from '@/store/village';
|
|
import { useVillageStore } from '@/store/village';
|
|
|
import { injectAppConfiguration } from '@/api/system/useAppConfiguration';
|
|
import { injectAppConfiguration } from '@/api/system/useAppConfiguration';
|
|
|
-import Loadmore from '@/components/display/loading/Loadmore.vue';
|
|
|
|
|
|
|
+import { waitTimeOut } from '@imengyu/imengyu-utils';
|
|
|
|
|
+import BannerApi from '@/api/system/Banner';
|
|
|
import FlexCol from '@/components/layout/FlexCol.vue';
|
|
import FlexCol from '@/components/layout/FlexCol.vue';
|
|
|
import Height from '@/components/layout/space/Height.vue';
|
|
import Height from '@/components/layout/space/Height.vue';
|
|
|
import HomeLargeTitle from '@/common/components/parts/HomeLargeTitle.vue';
|
|
import HomeLargeTitle from '@/common/components/parts/HomeLargeTitle.vue';
|
|
@@ -122,7 +123,6 @@ import Avatar from '@/components/display/Avatar.vue';
|
|
|
import Touchable from '@/components/feedback/Touchable.vue';
|
|
import Touchable from '@/components/feedback/Touchable.vue';
|
|
|
import Text from '@/components/basic/Text.vue';
|
|
import Text from '@/components/basic/Text.vue';
|
|
|
import Image from '@/components/basic/Image.vue';
|
|
import Image from '@/components/basic/Image.vue';
|
|
|
-import { waitTimeOut } from '@imengyu/imengyu-utils';
|
|
|
|
|
import FlexRow from '@/components/layout/FlexRow.vue';
|
|
import FlexRow from '@/components/layout/FlexRow.vue';
|
|
|
import BoxMid from '@/common/components/box/BoxMid.vue';
|
|
import BoxMid from '@/common/components/box/BoxMid.vue';
|
|
|
import RankVolunteerItem from '../village/rank/components/RankVolunteerItem.vue';
|
|
import RankVolunteerItem from '../village/rank/components/RankVolunteerItem.vue';
|
|
@@ -133,6 +133,15 @@ const emit = defineEmits([ 'goVillage' ]);
|
|
|
|
|
|
|
|
const villageStore = useVillageStore();
|
|
const villageStore = useVillageStore();
|
|
|
const appConfiguration = injectAppConfiguration();
|
|
const appConfiguration = injectAppConfiguration();
|
|
|
|
|
+
|
|
|
|
|
+const bannerLoader = useSimpleDataLoader(async () => {
|
|
|
|
|
+ return (await BannerApi.getBannerList({
|
|
|
|
|
+ keywords: '亮乡源大众版发现',
|
|
|
|
|
+ })).map(p => ({
|
|
|
|
|
+ image: p.image,
|
|
|
|
|
+ url: p.url,
|
|
|
|
|
+ }));
|
|
|
|
|
+});
|
|
|
const discoverLoader = useSimplePageListLoader(15, async (page, pageSize) => {
|
|
const discoverLoader = useSimplePageListLoader(15, async (page, pageSize) => {
|
|
|
return await VillageInfoApi.getListForDiscover(page, pageSize);
|
|
return await VillageInfoApi.getListForDiscover(page, pageSize);
|
|
|
});
|
|
});
|