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

🎨 按要求增加文化积分页面

快乐的梦鱼 недель назад: 2
Родитель
Сommit
a1cfe148d9
4 измененных файлов с 41 добавлено и 8 удалено
  1. 7 0
      src/pages.json
  2. 17 0
      src/pages/dig/about/point.vue
  3. 8 3
      src/pages/dig/details.vue
  4. 9 5
      src/pages/dig/index.vue

+ 7 - 0
src/pages.json

@@ -222,6 +222,13 @@
       }
     },
     {
+      "path": "pages/dig/about/point",
+      "style": {
+        "navigationBarTitleText": "文化积分帮助",
+        "enablePullDownRefresh": false
+      }
+    },
+    {
       "path": "pages/test/topic",
       "style": {
         "navigationBarTitleText": "测试话题页",

+ 17 - 0
src/pages/dig/about/point.vue

@@ -0,0 +1,17 @@
+<template>
+  <FlexCol>
+    <SimplePageContentLoader :loader="loader">
+      <Parse :content="loader.content?.value?.content || ''" />
+    </SimplePageContentLoader>
+  </FlexCol>
+</template>
+
+<script setup lang="ts">
+import { useSimpleDataLoader } from '@/common/composeabe/SimpleDataLoader';
+import FlexCol from '@/components/layout/FlexCol.vue';
+import Parse from '@/components/display/parse/Parse.vue';
+import SimplePageContentLoader from '@/common/components/SimplePageContentLoader.vue';
+import CommonContent from '@/api/CommonContent';
+
+const loader = useSimpleDataLoader(async () => await CommonContent.getContentDetail(6930, undefined, 18));
+</script>

+ 8 - 3
src/pages/dig/details.vue

@@ -6,17 +6,21 @@
       :radius="20"
       :width="690" 
     />
-    <FlexRow align="center" :gap="10" backgroundColor="white" :padding="20" :radius="20">
-      <FlexRow flexBasis="50%">
+    <FlexRow justify="space-between" align="center" :gap="10" backgroundColor="white" :padding="20" :radius="20">
+      <FlexRow >
         <Text :fontSize="30" text="已点亮:" />
         <Width :width="20" />
         <Text :fontSize="30" color="primary" :text="decodeURIComponent(querys.name)" />
       </FlexRow>
-      <FlexRow flexBasis="50%" align="center">
+      <FlexRow align="center">
         <Text :fontSize="30" color="text.content" :text="`文化积分: `" />
         <Text :fontSize="40" fontFamily="Rockwell" color="primary" :text="querys.points" />
         <Width :width="20" />
         <Text :fontSize="40" fontFamily="Rockwell" color="primary" :text="`Lv.${querys.level}`" />
+        <Width :width="20" />
+        <Touchable direction="row" align="center" :gap="10" @click="navTo('/pages/dig/about/point')">
+          <Icon name="help" size="40" />
+        </Touchable>
       </FlexRow>
     </FlexRow>
 
@@ -71,6 +75,7 @@ import XBarSpace from '@/components/layout/space/XBarSpace.vue';
 import Width from '@/components/layout/space/Width.vue';
 import Alert from '@/components/feedback/Alert.vue';
 import { CollectableModulesIdMap } from './forms/forms';
+import { navTo } from '@/components/utils/PageAction';
 
 const { querys } = useLoadQuerys({ 
   name: '',

+ 9 - 5
src/pages/dig/index.vue

@@ -65,7 +65,10 @@
       <FlexRow v-if="authStore.isLogged" backgroundColor="white" :radius="20" :padding="[40,20]">
         <FlexCol :flex="1" :gap="10" center>
           <Text :fontSize="60" fontFamily="Rockwell" color="primary">{{ volunteerInfoLoader.content.value?.points || 0 }}</Text>
-          <Text>文化积分</Text>
+          <Touchable direction="row" align="center" :gap="10" @click="navTo('/pages/dig/about/point')">
+            <Text>文化积分</Text>
+            <Icon name="help" size="40" />
+          </Touchable>
         </FlexCol>
         <FlexCol :flex="1" :gap="10" center>
           <Text :fontSize="60" fontFamily="Rockwell" color="primary">Lv.{{ volunteerInfoLoader.content.value?.level || 1 }}</Text>
@@ -77,15 +80,14 @@
     <Dialog 
       v-model:show="showOnlinePreviewDialog"
       :showConfirm="false"
+      closeable
     >
       <FlexCol :padding="[40,20]" :gap="10" center>
         <Image src="https://mn.wenlvti.net/app_static/xiangyuan/images/home/UnOpenIcon.png" width="300" mode="widthFix" />
         <Text textAlign="center">你挖掘的史料未经过专家审核,无法展示</Text>
         <Height :size="20" />
-        <Button size="large" type="primary" @click="showOnlinePreviewDialog = false">
-          <WxButton openType="contact">
-            联系客服开通专家审核
-          </WxButton>
+        <Button size="large" type="primary" @click="showOnlinePreviewDialog = false;navTo('/pages/home/about/contract')">
+          联系客服开通专家审核
         </Button>
       </FlexCol>
     </Dialog>
@@ -115,6 +117,8 @@ import BubbleBox from '@/components/feedback/BubbleBox.vue';
 import Result from '@/components/feedback/Result.vue';
 import Dialog from '@/components/dialog/Dialog.vue';
 import WxButton from '@/components/basic/WxButton.vue';
+import Touchable from '@/components/feedback/Touchable.vue';
+import Icon from '@/components/basic/Icon.vue';
 
 const showOnlinePreviewDialog = ref(false);
 const authStore = useAuthStore();