hookehuyr

feat(分享功能): 为Welcome和Dashboard页面添加分享功能支持

添加enableShareAppMessage和enableShareTimeline配置
实现分享页面授权处理和分享内容配置
移除ActivitiesCover页面中冗余的分享提示
<!--
* @Date: 2022-09-19 14:11:06
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-09-15 16:20:15
* @LastEditTime: 2025-09-16 20:11:36
* @FilePath: /lls_program/src/pages/ActivitiesCover/index.vue
* @Description: 活动海报页面 - 展示活动信息并处理定位授权
-->
......@@ -495,11 +495,11 @@ const handleJoinActivity = async () => {
const onShareActivity = () => {
console.log('分享活动海报')
// 分享给朋友
Taro.showToast({
title: '请点击右上角分享给朋友',
icon: 'none',
duration: 2000
});
// Taro.showToast({
// title: '请点击右上角分享给朋友',
// icon: 'none',
// duration: 2000
// });
}
/**
......
/*
* @Date: 2025-08-27 18:25:14
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-09-16 21:41:31
* @FilePath: /lls_program/src/pages/Dashboard/index.config.js
* @Description: 文件描述
*/
export default {
navigationBarTitleText: '首页'
navigationBarTitleText: '首页',
enableShareAppMessage: true,
enableShareTimeline: true
}
......
......@@ -162,6 +162,8 @@
import "./index.less";
import { ref, computed, onMounted } from 'vue';
import Taro, { useDidShow, useReady, useLoad } from '@tarojs/taro';
import { handleSharePageAuth, addShareFlag } from '@/utils/authRedirect';
import { Setting, Photograph, Category, IconFont } from '@nutui/icons-vue-taro';
import BottomNav from '../../components/BottomNav.vue';
import TotalPointsDisplay from '@/components/TotalPointsDisplay.vue';
......@@ -447,4 +449,28 @@ useReady(async () => {
}
});
})
useLoad((options) => {
// 处理分享页面的授权逻辑
handleSharePageAuth(options);
});
/**
* 定义分享给朋友的内容
* @returns {Object} 分享配置对象
*/
const onShareAppMessage = (res) => {
const shareData = {
title: '欢迎加入老来赛',
path: addShareFlag(`/pages/Dashboard/index`),
imageUrl: ''
};
return shareData;
}
// 使用Taro的useShareAppMessage Hook来处理分享
Taro.useShareAppMessage((res) => {
return onShareAppMessage(res);
});
</script>
......
......@@ -8,5 +8,7 @@
export default {
navigationBarTitleText: '老来赛',
navigationBarBackgroundColor: '#fff',
navigationBarTextStyle: 'black'
navigationBarTextStyle: 'black',
enableShareAppMessage: true,
enableShareTimeline: true
}
......
<!--
* @Date: 2025-08-27 17:43:45
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-09-13 08:58:04
* @LastEditTime: 2025-09-16 21:52:46
* @FilePath: /lls_program/src/pages/Welcome/index.vue
* @Description: 文件描述
-->
......@@ -144,7 +144,9 @@
<script setup>
import { ref } from 'vue';
import Taro, { useDidShow } from '@tarojs/taro';
import Taro, { useDidShow, useLoad } from '@tarojs/taro';
import { handleSharePageAuth, addShareFlag } from '@/utils/authRedirect';
import BottomNav from '../../components/BottomNav.vue'; // 假设BottomNav组件已转换
import AdOverlay from '@/components/AdOverlay.vue'
// 获取接口信息
......@@ -253,4 +255,28 @@ const onPrivacyConfirm = () => {
const onAgeConfirm = () => {
showAgeDialog.value = false;
};
useLoad((options) => {
// 处理分享页面的授权逻辑
handleSharePageAuth(options);
});
/**
* 定义分享给朋友的内容
* @returns {Object} 分享配置对象
*/
const onShareAppMessage = (res) => {
const shareData = {
title: '欢迎加入老来赛',
path: addShareFlag(`/pages/Welcome/index`),
imageUrl: ''
};
return shareData;
}
// 使用Taro的useShareAppMessage Hook来处理分享
Taro.useShareAppMessage((res) => {
return onShareAppMessage(res);
});
</script>
......