|
|
@@ -19,7 +19,7 @@
|
|
|
align="center"
|
|
|
>
|
|
|
<FlexRow gap="gap.md" align="center">
|
|
|
- <Icon :icon="item.image" :size="100" />
|
|
|
+ <Icon :icon="item.image || 'space'" :size="100" />
|
|
|
<Width :size="5" />
|
|
|
<FlexCol gap="gap.md">
|
|
|
<Text fontConfig="lightImportantTitle" fontFamily="SongtiSCBlack">{{ item.name }}</Text>
|
|
|
@@ -50,8 +50,24 @@
|
|
|
width="100rpx"
|
|
|
size="midium"
|
|
|
/>
|
|
|
- <Text v-if="item.limitType === 'day' && item.limitNum > 0" fontConfig="subText">今日可完成{{ item.limitNum }}次</Text>
|
|
|
- <Text v-else-if="item.limitType === 'total' && item.limitNum > 0" fontConfig="subText">还可完成{{ item.limitNum }}次</Text>
|
|
|
+ <Text
|
|
|
+ v-if="item.limitType === 'day' && item.limitNum > 0"
|
|
|
+ fontConfig="subText"
|
|
|
+ fontSize="fontSize.sm"
|
|
|
+ textAlign="right"
|
|
|
+ :wrap="false"
|
|
|
+ >
|
|
|
+ 今日可做{{ item.limitNum }}次
|
|
|
+ </Text>
|
|
|
+ <Text
|
|
|
+ v-else-if="item.limitType === 'total' && item.limitNum > 0"
|
|
|
+ fontConfig="subText"
|
|
|
+ fontSize="fontSize.sm"
|
|
|
+ textAlign="right"
|
|
|
+ :wrap="false"
|
|
|
+ >
|
|
|
+ 还可完成{{ item.limitNum }}次
|
|
|
+ </Text>
|
|
|
</FlexCol>
|
|
|
</FlexRow>
|
|
|
</Touchable>
|
|
|
@@ -65,6 +81,8 @@
|
|
|
<script setup lang="ts">
|
|
|
import { useLoadQuerys } from '@/components/composeabe/LoadQuerys';
|
|
|
import { useSimplePageListLoader } from '@/components/composeabe/loader/SimplePageListLoader';
|
|
|
+import { backAndCallOnPageBack, navTo } from '@/components/utils/PageAction';
|
|
|
+import { injectAppConfiguration } from '@/api/system/useAppConfiguration';
|
|
|
import SimplePageListLoader from '@/components/loader/SimplePageListLoader.vue';
|
|
|
import FlexCol from '@/components/layout/FlexCol.vue';
|
|
|
import Text from '@/components/basic/Text.vue';
|
|
|
@@ -75,7 +93,6 @@ import Touchable from '@/components/feedback/Touchable.vue';
|
|
|
import FlexRow from '@/components/layout/FlexRow.vue';
|
|
|
import FrameButton from '@/common/components/FrameButton.vue';
|
|
|
import Button from '@/components/basic/Button.vue';
|
|
|
-import { backAndCallOnPageBack } from '@/components/utils/PageAction';
|
|
|
import Icon from '@/components/basic/Icon.vue';
|
|
|
import Width from '@/components/layout/space/Width.vue';
|
|
|
|
|
|
@@ -85,6 +102,8 @@ const { querys } = useLoadQuerys({
|
|
|
listLoader.load();
|
|
|
});
|
|
|
|
|
|
+const appConfiguration = injectAppConfiguration();
|
|
|
+
|
|
|
const listLoader = useSimplePageListLoader(20, async (page, pageSize) => {
|
|
|
const res = await TreeApi.getTaskList({
|
|
|
page,
|
|
|
@@ -107,6 +126,20 @@ function handleDoTask(item: GrowthTaskItem) {
|
|
|
taskType: item.taskType,
|
|
|
});
|
|
|
break;
|
|
|
+ default:
|
|
|
+ switch (item.taskKey) {
|
|
|
+ case 'share_app':
|
|
|
+ uni.setStorageSync('ShareAppTempEntranceContent', {
|
|
|
+ content: appConfiguration.value.ShareAppTempEntranceContent.content || '',
|
|
|
+ images: appConfiguration.value.ShareAppTempEntranceContent.images || [],
|
|
|
+ title: appConfiguration.value.ShareAppTempEntranceContent.title || '',
|
|
|
+ });
|
|
|
+ navTo('/pages/home/chat/dependent/post/publish', {
|
|
|
+ entranceContent: 'ShareAppTempEntranceContent',
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
</script>
|