Procházet zdrojové kódy

🎨 按要求修改标题样式

快乐的梦鱼 před 10 hodinami
rodič
revize
d74852bf3f

+ 4 - 0
src/common/components/CommonTopBanner.vue

@@ -12,6 +12,10 @@
       <NavBar 
         v-if="showNav"
         :title="title" 
+        :titleStyle="{
+          fontSize: '40rpx',
+          fontFamily: 'SongtiSCBlack',
+        }"
         leftButton="back" 
         :leftButtonProps="{
           buttonStyle: {

+ 1 - 2
src/common/components/parts/HomeLargeTitle.vue

@@ -8,8 +8,7 @@
       :text="title" 
       :color="active ? 'text.titleLight' : 'text.title'"
       :innerClass="titleColorAnim && !active ? 'home-title-color-anim' : ''"
-      fontConfig="h4" 
-      fontFamily="SongtiSCBlack" 
+      fontConfig="primaryTitle" 
     />
   </Touchable>
 </template>

+ 4 - 4
src/components/nav/NavBar.vue

@@ -35,7 +35,7 @@
           paddingLeft: 0,
           paddingRight: 0,
         }"
-        :innerClass="titleClass"
+        v-bind="titleProps"
         :color="textColor"
         :textAlign="align"
         :text="title"
@@ -47,7 +47,7 @@
           ...props.titleStyle,
           flex: 1,
         }"
-        :innerClass="titleClass"
+        v-bind="titleProps"
         :textAlign="align"
         :color="textColor"
         :text="title"
@@ -78,7 +78,7 @@ import type { IconProps } from '../basic/Icon.vue';
 import { propGetThemeVar, useTheme } from '../theme/ThemeDefine';
 import { DynamicSize } from '../theme/ThemeTools';
 import HorizontalScrollText from '../typography/HorizontalScrollText.vue';
-import Text from '../basic/Text.vue';
+import Text, { type TextProps } from '../basic/Text.vue';
 import IconButton, { type IconButtonProps } from '../basic/IconButton.vue';
 import { isTopLevelPage } from '../utils/PageAction';
 
@@ -159,7 +159,7 @@ export interface NavBarProps {
   /**
    * 自定义标题文字样式
    */
-  titleClass?: any;
+  titleProps?: TextProps;
   /**
    * 标题文字超出时,是否自动滚动
    * @default true

+ 12 - 1
src/pages/dig/details.vue

@@ -2,7 +2,7 @@
   <CommonTopBanner title="共编村史">
     <FlexCol v-if="isJoined || authStore.isAdmin || isManagement" :padding="30" :gap="20">
       <Image
-        src="https://mn.wenlvti.net/app_static/xiangan/banner_dig_1.jpg" 
+        :src="bannerLoader.content.value?.[0].image"
         mode="widthFix"
         radius="radius.md"
         :width="690" 
@@ -71,6 +71,7 @@ import { useTaskEntryForm } from './forms/composeable/TaskEntryForm';
 import { useUserTools } from '@/common/composeabe/UserTools';
 import { onMounted, ref } from 'vue';
 import { back, navTo } from '@/components/utils/PageAction';
+import BannerApi from '@/api/system/Banner';
 import Icon from '@/components/basic/Icon.vue';
 import Text from '@/components/basic/Text.vue';
 import Touchable from '@/components/feedback/Touchable.vue';
@@ -89,6 +90,7 @@ import BackgroundBox from '@/components/display/block/BackgroundBox.vue';
 import CommonTopBanner from '@/common/components/CommonTopBanner.vue';
 import NotVolTip from '../home/components/NotVolTip.vue';
 import BoxMid from '@/common/components/box/BoxMid.vue';
+import { useSimpleDataLoader } from '@/components/composeabe/loader/SimpleDataLoader';
 
 const { querys } = useLoadQuerys({ 
   name: '',
@@ -103,6 +105,15 @@ const { goForm } = useTaskEntryForm();
 const isJoined = ref(false);
 const isManagement = ref(false);
 
+const bannerLoader = useSimpleDataLoader(async () => {
+  return (await BannerApi.getBannerList({
+    keywords: '亮乡源大众版挖掘内页',
+  })).map(p => ({
+    image: p.image,
+    url: p.url,
+  }));
+});
+
 function goCollect() {
   /* if (!canCollect('collect')) {
     uni.showToast({

+ 1 - 0
src/pages/home/village/index.vue

@@ -38,6 +38,7 @@
             <Image src="https://xy.wenlvti.net/app_static/images/village/TreeIconAmin2.gif" :width="34" :height="50" mode="heightFix" />
           </template>
         </HomeLargeTitle>
+        <Width :width="30" />
       </FlexRow>
       <Card 
         v-if="tab === 'card'"