Преглед изворни кода

🎨 按要求修改文章预览页样式

快乐的梦鱼 пре 5 дана
родитељ
комит
eb1b4652c9

+ 0 - 5
src/components/display/block/ImageBlock.vue

@@ -137,11 +137,6 @@ defineProps({
 defineEmits([	
   "click"	
 ])
-defineOptions({
-  options: {
-    virtualHost: true,
-  },
-})
 </script>
 
 <style lang="scss">

+ 1 - 0
src/components/display/block/ImageBlock3.vue

@@ -36,6 +36,7 @@
       </slot>
       <slot name="footer" />
     </FlexView>
+    <slot name="right" />
   </Touchable>
 </template>
 

+ 25 - 19
src/pages/home/discover/details.vue

@@ -34,7 +34,6 @@
                   :src="item" 
                   width="100%"
                   :height="500"
-                  radius="radius.md"
                   mode="aspectFill" 
                   @click="onPreviewImage(key)"
                 />
@@ -65,28 +64,32 @@
               </FlexRow>
             </FlexCol>
           </FlexRow>
-          <FlexRow :padding="[0,30,30,30]" gap="gap.md">
+          <FlexRow :padding="[0,30,30,30]" gap="gap.lg">
             <ImageBlock3
               :src="loader.content.value.image"
-              :imageWidth="100"
-              :imageHeight="100"
-              :innerStyle="{ 
-                flex: '1 1 100%',
-                width: '100%',
-              }"
-              radius="radius.md"
-              :title="loader.content.value.villageName"
-              :desc="`${loader.content.value.villageProvince}${loader.content.value.villageCity}`"
+              :imageWidth="80"
+              :imageHeight="50"
+              backgroundColor="transparent"
               @click="handleGoVillageDetails(loader.content.value.villageId)"
-            />
-            <Touchable align="center" gap="gap.md" @click="handleGoUserDetails">
+            >
+              <template #desc>
+                <FlexCol>
+                  <Text 
+                    :text="`来源于:${loader.content.value.villageName}`" 
+                    fontConfig="lightGoldTitle" 
+                    fontSize="30" 
+                  />
+                </FlexCol>
+              </template>
+            </ImageBlock3>
+            <Touchable align="center" gap="gap.md" @click.stop="handleGoUserDetails">
               <Avatar
                 :src="loader.content.value.villageVolunteerAvatar"
-                width="50"
-                height="50"
+                defaultAvatar="https://xy.wenlvti.net/app_static/images/village/PlaceholderVolunteerNew.png"
+                size="50"
                 radius="radius.md"
               />
-              <Text class="size-ll color-title-text" :wrap="false" :maxWidth="100">{{ loader.content.value.villageVolunteerName }}</Text>
+              <Text class="size-ll color-title-text" :wrap="false" :maxWidth="100">投稿人:{{ loader.content.value.villageVolunteerName }}</Text>
             </Touchable>
           </FlexRow>
           <FlexCol :padding="30">
@@ -100,9 +103,12 @@
             />
             <Text v-if="emptyContent">暂无简介</Text>
 
-            <FlexRow gap="gap.md">
+            <FlexRow gap="gap.md" align="center">
               <Icon icon="info" size="40" />
-              <Text v-if="true" fontConfig="subText" text="本文章仅代表作者个人观点,暂未通过村(社区)审核" />
+              <template v-if="true" >
+                <Text fontConfig="subText" text="本文章仅代表作者个人观点," />
+                <Text fontConfig="subText" bold text="暂未通过村(社区)审核" />
+              </template>
               <Text v-else fontConfig="subText" text="本文章仅代表作者个人观点" />
             </FlexRow>
           </FlexCol>
@@ -151,7 +157,6 @@ import Image from "@/components/basic/Image.vue";
 import Text from "@/components/basic/Text.vue";
 import H5 from "@/components/typography/H5.vue";
 import H3 from "@/components/typography/H3.vue";
-import ImageBlock3 from "@/components/display/block/ImageBlock3.vue";
 import Avatar from "@/components/display/Avatar.vue";
 import Touchable from "@/components/feedback/Touchable.vue";
 import StatusBarSpace from "@/components/layout/space/StatusBarSpace.vue";
@@ -159,6 +164,7 @@ import NavBar from "@/components/nav/NavBar.vue";
 import LikeFooter from "./components/LikeFooter.vue";
 import Height from "@/components/layout/space/Height.vue";
 import Icon from "@/components/basic/Icon.vue";
+import ImageBlock3 from "@/components/display/block/ImageBlock3.vue";
 
 const { onPreviewImage } = useSwiperImagePreview(() => loader.content.value?.images || []);
 const emptyContent = computed(() =>