| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import type { GrowthTaskItem } from "@/api/light/TreeApi";
- import { injectAppConfiguration } from "@/api/system/useAppConfiguration";
- import { backAndCallOnPageBack, callPrevOnPageBack, navTo } from "@/components/utils/PageAction";
- export function useTaskActions(getVillageId: () => number, topLevelPage = false) {
- const appConfiguration = injectAppConfiguration();
- function handleDoTask(item: GrowthTaskItem) {
- switch (item.taskType) {
- case 'collect':
- case 'post':
- case 'tree':
- if (topLevelPage) {
- callPrevOnPageBack('goVillage', {
- id: getVillageId(),
- taskType: item.taskType,
- }, -1)
- } else {
- backAndCallOnPageBack('goVillage', {
- id: getVillageId(),
- 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',
- disableAiPops: true,
- });
- break;
- }
- break;
- }
- }
- return {
- handleDoTask,
- }
- }
|