Просмотр исходного кода

👎 按要求移除文章来源显示

快乐的梦鱼 1 неделя назад
Родитель
Сommit
52346d22cc

+ 0 - 4
src/pages/article/common/CommonContent.ts

@@ -47,8 +47,6 @@ export function navCommonList(p: {
 
 export function resolveCommonContentFormData(item: GetContentListItem[]) {
   item.forEach(it => {
-    it.desc = `来源:${it.from || '暂无'}\n` 
-      + (it.desc || '');
     it.bottomTags = it.keywords?.length ? it.keywords as string[] : [ it.mainBodyColumnName ];
   })
   return item;
@@ -65,8 +63,6 @@ const resolveCommonContentData = {
   'none': (item: GetContentListItem[]) => item,
   'common': (item: GetContentListItem[]) => {
     item.forEach(it => {
-      it.desc = `来源:${it.from || '暂无'}\n` 
-        + (it.desc || '');
       it.bottomTags = it.bottomTags || [];
       it.bottomTags = (it.bottomTags as string[]).concat(it.keywords?.length ? it.keywords as string[] : [ it.mainBodyColumnName ]);
     })

+ 2 - 2
src/pages/article/common/DetailTabPage.vue

@@ -22,7 +22,6 @@
                   <slot name="titleEnd" :content="loader.content.value" />
                 </view>
                 <text class="size-base color-text-content-second mt-2">{{ loader.content.value.desc }}</text>
-                <text v-if="loader.content.value.from" class="size-s color-text-content-second">来源:{{ loader.content.value.from }}</text>
               </view>
             </slot>
             <slot name="titleExtra" :content="loader.content.value" />
@@ -45,13 +44,14 @@
             <template v-if="tabCurrentId == TAB_ID_INTRO">
               <Parse
                 v-if="loader.content.value.intro"
-                :content="loader.content.value.intro"
+                :content="(loader.content.value.intro as string)"
               />
               <Parse
                 v-if="loader.content.value.content"
                 :content="loader.content.value.content"
               />
               <text v-if="emptyContent">暂无简介</text>
+              <text v-if="loader.content.value.from" class="size-s color-text-content-second mr-2 ">本文来自 {{ loader.content.value.from }}</text>
             </template>
             <!-- 图片 -->
             <template v-else-if="tabCurrentId == TAB_ID_IMAGES">

+ 0 - 5
src/pages/article/common/list.vue

@@ -42,11 +42,6 @@ async function loadData(
     region: querys.value.region || undefined,
   }), page, pageSize);
 
-  for (const element of res.list || []) {
-    if (!element.desc && element.from)
-      element.desc = `来源:${element.from}`;
-  }
-
   return res;
 }
 </script>

+ 0 - 8
src/pages/article/data/defines/List.ts

@@ -23,14 +23,6 @@ export interface IHomeCommonCategoryListDefine {
      * 列表选项卡定义
      */
     tabs?: IHomeCommonCategoryListTabItemDefine[],
-    /**
-     * 列表选项卡数据解决方法
-     */
-    dataSolve?: IHomeCommonCategoryListTabListDataSolve[],
-    /**
-     * 列表选项卡数据
-     */
-    data?: IHomeCommonCategoryDynamicData,
   },
 }
 

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

@@ -24,7 +24,6 @@
           <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 mr-2 ">来源:{{ loader.content.value.from }}</text>
               <text class="size-s color-text-content-second text-nowrap">{{ DataDateUtils.formatDate(loader.content.value.publishAt, 'YYYY-MM-dd') }}</text>
             </view>
           </view>
@@ -45,6 +44,7 @@
               :content="loader.content.value.content"
             />
             <text v-if="emptyContent">暂无简介</text>
+            <text v-if="loader.content.value.from" class="size-s color-text-content-second mr-2 ">本文来自 {{ loader.content.value.from }}</text>
           </view>
           
           <!-- 推荐 -->
@@ -163,11 +163,7 @@ const recommendListLoader = useSimpleDataLoader(async () => {
     .setModelId(querys.value.modelId)
     .setMainBodyColumnId(querys.value.mainBodyColumnId)
   , 1, 10)).list
-    .filter((p) => p.id !== querys.value.id)
-    .map((p) => ({
-      ...p,
-      desc: `${p.from ? `来源:${p.from}` : ''}\n${p.desc || ''}`,
-    }));
+    .filter((p) => p.id !== querys.value.id);
 });
 
 function goArchive(id: number) {

+ 35 - 25
src/pages/editor/editors/CommonListPropsEditor.vue

@@ -22,22 +22,7 @@
     </a-form>
 
     <a-collapse v-model:activeKey="activeKeys" class="props-collapse">
-      <a-collapse-panel key="dataSolve" header="数据解决方法 (dataSolve)">
-        <a-select
-          v-model:value="props.props.dataSolve"
-          mode="multiple"
-          style="width: 100%"
-          :options="dataSolveOptions"
-          placeholder="选择"
-         
-        />
-      </a-collapse-panel>
-
-      <a-collapse-panel key="data" header="数据 (data)">
-        <DynamicDataEditor v-model="props.props.data" />
-      </a-collapse-panel>
-
-      <a-collapse-panel key="tabs" header="选项卡 (tabs) 树型结构">
+      <a-collapse-panel key="tabs" header="子页面 (tabs) 树型结构">
         <div v-for="(tab, i) in tabItems" :key="tabKey(tab, i)" class="nested-item tab-item">
           <a-collapse>
             <a-collapse-panel :key="i" :header="tabHeader(tab)">
@@ -52,13 +37,44 @@
                     :options="tabTypeOptions"
                   />
                 </a-form-item>
+                <a-form-item label="TAB宽度">
+                  <a-input-number
+                    v-model:value="tab.width"
+                    style="width: 100%"
+                  />
+                </a-form-item>
+                <a-form-item label="列表选项卡详情页">
+                  <LinkPathEditor v-model="tab.detailsPage" />
+                </a-form-item>
                 <a-form-item label="显示(仅在选项卡可见时)">
                   <a-switch 
                     :checked="tab.visible !== false" 
                     @change="tab.visible = $event"
                   />
                 </a-form-item>
-                <template v-if="tab.type === 'nestCategory'">
+                <template v-if="tab.type === 'list'">
+                  <a-form-item label="数据接口">
+                    <DynamicDataEditor v-model="tab.data" />
+                  </a-form-item>
+                  <a-form-item label="下拉选择定义">
+                    <!--TODO:下拉选择定义控制 -->
+                  </a-form-item>
+                  <a-form-item label="数据处理显示">
+                    <!--TODO:数据处理显示 -->
+                  </a-form-item>
+                </template>
+                <template v-else-if="tab.type === 'jump'">
+                  <a-form-item label="跳转URL">
+                    <a-input v-model:value="tab.url" />
+                  </a-form-item>
+                  <a-form-item label="跳转参数">
+                    <KeyValueEditor
+                      v-model="tab.params"
+                      :forceOneLevel="true"
+                    />
+                  </a-form-item>
+                </template>
+                <template v-else-if="tab.type === 'nestCategory'">
                   <a-form-item label="子分类 (categorys)">
                     
                     <!--TODO: 使用子分类组件-->
@@ -83,7 +99,9 @@
 <script setup lang="ts">
 import { ref, computed } from 'vue';
 import type { IHomeCommonCategoryListDefine, IHomeCommonCategoryListTabItemDefine } from '../../article/data/CommonCategoryDefine';
+import KeyValueEditor from '../components/KeyValueEditor.vue';
 import DynamicDataEditor from '../components/DynamicDataEditor.vue';
+import LinkPathEditor from '../components/LinkPathEditor.vue';
 
 type TabItem = IHomeCommonCategoryListTabItemDefine;
 
@@ -101,12 +119,6 @@ const tabTypeOptions = [
   { value: 'nestCategory', label: '子分类' },
 ];
 const tabItems = computed(() => (props.props?.tabs || []) as TabItem[]);
-const dataSolveOptions = [
-  { value: 'none', label: '无' },
-  { value: 'ich', label: '显示传承人相关数据' },
-  { value: 'common', label: '显示通用数据(来源,栏目名称)' },
-  { value: 'date', label: '显示日期' },
-];
 
 function tabKey(tab: TabItem, i: number) {
   return `${i}-${tab.text}-${tab.type}`;
@@ -116,8 +128,6 @@ function tabHeader(tab: TabItem) {
   const text = tab.text || '';
   return `${text || 'Tab'} (${t})`;
 }
-
-
 function addTab() {
   props.props!.tabs = props.props!.tabs || [];
   (props.props!.tabs as TabItem[]).push({ text: '新 Tab', type: 'nestCategory', categorys: [] });

+ 0 - 4
src/pages/introduction/character/details.vue

@@ -60,10 +60,6 @@
             label: '公布批次',
             value: content.batchText,
           },
-          {
-            label: '来源',
-            value: content.from,
-          },
         ]"
       />
     </template>

+ 1 - 1
src/pages/introduction/news.vue

@@ -40,7 +40,7 @@
         titleColor="title-text"
         :image="item.thumbnail || item.image"
         :title="item.title"
-        :desc="item.from ? `来源:${item.from}` : ''"
+        :desc="item.desc"
         :badge="item.badge"
         :wideImage="true"
         @click="goDetails(item, item.id)"

+ 0 - 1
src/pages/travel/fashion/list.vue

@@ -81,7 +81,6 @@ async function loadData(
     })
   , page, pageSize));
   res.list.forEach((p) => {
-    p.desc = `来源:${p.from}\n` + (p.desc || '');
     p.bottomTags = [
       model.name, 
       p.levelText, 

+ 0 - 2
src/pages/video/details.vue

@@ -23,7 +23,6 @@
           <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="size-s color-text-content-second">{{ DataDateUtils.formatDate(loader.content.value.publishAt, 'YYYY-MM-dd') }}</text>
             </view>
           </view>
@@ -101,7 +100,6 @@ const recommendListLoader = useSimpleDataLoader(async () => {
     .filter((p) => p.id !== querys.value.id)
     .map((p) => ({
       ...p,
-      desc: (p.from ? `来源:${p.from}` : '') + (p.desc ? ` ${p.desc}` : ''),
       bottomTags: [
         p.mainBodyColumnName,
         p.levelText,