Explorar el Código

📦 添加已故显示

快乐的梦鱼 hace 2 meses
padre
commit
65e13624b5

+ 1 - 0
src/pages/article/common/CommonListPage.vue

@@ -100,6 +100,7 @@
           :tags="item.bottomTags || item.keywords"
           :desc="item.desc"
           :badge="item.badge"
+          :titleBox="item.titleBox"
           @click="goDetails(item, item.id)"
         />
 

+ 3 - 1
src/pages/article/common/DetailTabPage.vue

@@ -16,7 +16,9 @@
             <slot name="title" :content="loader.content.value">
               <view class="d-flex flex-col">
                 <view class="d-flex flex-row align-center">
-                  <text class="size-lll font-songti font-bold color-text-content flex-shrink-1 mr-2">{{ loader.content.value.title }}</text>
+                  <text :class="'size-lll font-songti font-bold color-text-content flex-shrink-1 mr-2' + (loader.content.value.titleBox ? ' border-all-text' : '')">
+                    {{ loader.content.value.title }}
+                  </text>
                   <slot name="titleEnd" :content="loader.content.value" />
                 </view>
                 <text class="size-base color-text-content-second mt-2">{{ loader.content.value.desc }}</text>

+ 2 - 2
src/pages/article/details.vue

@@ -32,8 +32,8 @@
           <view class="d-flex flex-col p-3">
             <view class="size-ll color-title-text">{{ loader.content.value.title }}</view>
             <view class="d-flex flex-row mt-2">
-              <text v-if="loader.content.value.from" class="size-s color-text-content-second">来源:{{ loader.content.value.from }}</text>
-              <text class="ml-2 size-s color-text-content-second">{{ DataDateUtils.formatDate(loader.content.value.publishAt, 'YYYY-MM-dd') }}</text>
+              <text v-if="loader.content.value.from" class="size-s color-text-content-second mr-2 ">来源:{{ loader.content.value.from }}</text>
+              <text class="size-s color-text-content-second">{{ DataDateUtils.formatDate(loader.content.value.publishAt, 'YYYY-MM-dd') }}</text>
             </view>
           </view>
           <view class="p-3 radius-ll bg-light mt-3">

+ 2 - 0
src/pages/inhert.vue

@@ -42,6 +42,7 @@
               :title="item.title"
               :image="item.image"
               :tags="item.bottomTags"
+              :titleBox="item.titleBox"
               title1
               @click="navTo('inhert/inheritor/details', { id: item.id })"
             />
@@ -263,6 +264,7 @@ const inheritorData = useSimpleDataLoader(async () =>
     title: p.title, 
     desc: '', 
     image: p.thumbnail || p.image,
+    titleBox: Boolean(p.deathBirth),
     bottomTags: [
       p.levelText, 
       p.nation,

+ 2 - 1
src/pages/inhert/inheritor/details.vue

@@ -64,7 +64,7 @@
       <view class="d-flex flex-col">
         <view class="d-flex flex-row justify-between">
           <view class="d-flex flex-col">
-            <text class="size-lll font-bold color-text-content">{{ content.title }}</text>
+            <text :class="'size-lll font-bold color-text-content'+(content.titleBox?' border-all-text':'')">{{ content.title }}</text>
             <text class="size-base color-text-content-second mt-2">{{ content.birthplace || content.desc }}</text>
             <RoundTags
               :tags="content.tags"
@@ -142,6 +142,7 @@ async function load(id: number, tabsArray: Ref<TabControlItem[]>) {
   tabsArray.value[4].visible = Boolean(d.prize);
   tabsArray.value[5].visible = Boolean(d.associationMeList && d.associationMeList.length > 0);
   tabsArray.value[6].visible = Boolean(d.ichSitesList && (d.ichSitesList as any[]).length > 0);
+  d.titleBox = Boolean(d.deathBirth);
   return d;
 }
 async function loadSubList(page: number, pageSize: number, content: any, subList: string) {

+ 1 - 0
src/pages/inhert/inheritor/list.vue

@@ -31,6 +31,7 @@ async function loadData(
     keywords: searchText,
   }), page, pageSize));
   res.list.forEach((p) => {
+    p.titleBox = Boolean(p.deathBirth);
     p.desc = p.ichName as string;
     p.bottomTags = [
       p.levelText, 

+ 5 - 0
src/pages/parts/Box2LineLargeImageUserShadow.vue

@@ -34,6 +34,7 @@
         `color-${titleColor}`,
         title1 || desc ? 'text-lines-1' : 'text-lines-2',
         'mt-2',
+        (titleBox ? ' border-all-text' : '')
       ]"
     >
       {{ title }}
@@ -86,6 +87,10 @@ defineProps({
     type: String,
     default: 'primary',
   },
+  titleBox: {
+    type: Boolean,
+    default: false,
+  },
   title1: {
     type: Boolean,
     default: false,

+ 15 - 3
src/pages/user/index.vue

@@ -25,9 +25,20 @@
       >
         <FlexRow>
           <Image 
-            :src="userInfo?.avatar"
+            v-if="userInfo"
+            :src="userInfo.avatar"
             :defaultImage="UserHead"
             :failedImage="UserHead"
+            :showFailed="false"
+            mode="aspectFill" 
+            class="avatar" 
+            width="100rpx"
+            height="100rpx"
+            round
+          />
+          <Image 
+            v-else
+            :src="UserHead"
             mode="aspectFill" 
             class="avatar" 
             width="100rpx"
@@ -36,8 +47,9 @@
           />
           <Width :size="20" />
           <FlexCol>
-            <H4 color="white">{{ userInfo?.nickname || '欢迎登录' }}</H4>
-            <Text color="white" v-if="userInfo">守护编号 {{ userInfo.id }} 积分 {{ userInfo.totalCheckins }}</Text>
+            <Text fontConfig="h4" v-if="userInfo" color="white" :text="userInfo.nickname || `用户${userInfo.id}`" />
+            <Text fontConfig="h4" v-else color="white" text="欢迎登录" />
+            <Text color="white" v-if="userInfo" :text="`守护编号 ${userInfo.id} 积分 ${userInfo.totalCheckins}`" />
           </FlexCol>
         </FlexRow>
         <Icon icon="arrow-right-bold" color="white" />