Procházet zdrojové kódy

fix: 禁用我的页面分享功能

王晓东 před 1 týdnem
rodič
revize
784a3d24fd

+ 7 - 0
project.private.config.json

@@ -15,6 +15,13 @@
           "scene": null,
           "launchMode": "default"
         },
+        {
+          "name": "pages/profile/index",
+          "pathName": "pages/profile/index",
+          "query": "agentId=p_2e73c9d7efaYfDo2-agent_298&shareKey=2%241%24AAAAWrseqFxny9HPTkPIibQEBdl4yz7OICMFf156uBBMw1aTD0vFow7%2FrxLVsqOGTEHIaxZnBn5w9vDFW7T6ySb%2FfQFxSlsjHgPbzmyK%2Bv5LpT3D",
+          "launchMode": "default",
+          "scene": null
+        },
         {
           "name": "pages/contact/index",
           "pathName": "pages/contact/index",

+ 2 - 0
src/app.config.ts

@@ -102,6 +102,8 @@ export default defineAppConfig({
     navigationBarTitleText: 'WeChat',
     navigationBarTextStyle: 'black',
     backgroundColor: '#f5f5f2',
+    disableShareAppMessage: true,
+    disableShareTimeline: true
   },
   permission: {
     'scope.userLocation': {

+ 2 - 3
src/pages/account/index.config.ts

@@ -3,7 +3,6 @@ export default definePageConfig({
   "usingComponents": {},
   "navigationStyle": 'custom',
   backgroundColor: '#F4F9FF',
-  enableShareAppMessage: true,
-  enableShareTimeline: true,
-  enablePageMeta: true,
+  enableShareAppMessage: false,
+  enableShareTimeline: false
 })

+ 2 - 1
src/pages/account/index.tsx

@@ -5,9 +5,10 @@ import { View } from "@tarojs/components";
 import ListWrapper from "@/components/list/ListWrapper";
 import ListRow from "@/components/list/ListRow";
 import { useUserStore } from "@/store/userStore";
+import {restrictedPage} from '@/utils'
 
 export default function Index() {
-
+  restrictedPage();
   const { whoami } = useUserStore();
 
   return (

+ 0 - 2
src/pages/agent-gen/index.config.ts

@@ -1,7 +1,5 @@
 export default definePageConfig({
   navigationBarTitleText: `${process.env.TARO_APP_NAME_TEXT}`,
-  enableShareAppMessage: true,
-  enableShareTimeline: true,
   navigationStyle: 'custom',
   usingComponents: {
     

+ 0 - 2
src/pages/agent/index.config.ts

@@ -1,7 +1,5 @@
 export default definePageConfig({
   navigationBarTitleText: `${process.env.TARO_APP_NAME_TEXT}`,
-  enableShareAppMessage: true,
-  enableShareTimeline: true,
   navigationStyle: 'custom',
   usingComponents: {
     

+ 2 - 0
src/pages/agent/index.tsx

@@ -12,8 +12,10 @@ import { useComponentStore } from "@/store/componentStore";
 import { useUserStore } from "@/store/userStore";
 import { useAppStore } from "@/store/appStore";
 import style from './index.module.less'
+import {restrictedPage} from '@/utils'
 
 export default function Index() {
+  restrictedPage()
   const [tabIndex, setTabIndex] = useState('1');
   const router = useRouter();
   const headerHeight = useAppStore((state) => state.headerHeight);

+ 1 - 6
src/pages/agreement/index.config.ts

@@ -1,9 +1,4 @@
 export default definePageConfig({
-  navigationBarTitleText: '账号管理',
-  "usingComponents": {},
+  navigationBarTitleText: '服务协议',
   "navigationStyle": 'custom',
-  backgroundColor: '#F4F9FF',
-  enableShareAppMessage: true,
-  enableShareTimeline: true,
-  enablePageMeta: true,
 })

+ 2 - 1
src/pages/agreement/index.tsx

@@ -8,9 +8,10 @@ import { getSysAgreements } from "@/service/system";
 
 import { TAgreementItem } from "@/service/system";
 import { isSuccess, navToWebView } from "@/utils";
+import {restrictedPage} from '@/utils'
 
 export default function Index() {
-  
+  restrictedPage()
   const [agreements, setAgreements] = useState<TAgreementItem[]>([])
   const fetchPageData = async () => {
     const response = await getSysAgreements('register')

+ 0 - 2
src/pages/editor-contact/index.config.ts

@@ -1,7 +1,5 @@
 export default definePageConfig({
   navigationBarTitleText: `${process.env.TARO_APP_NAME_TEXT}`,
-  enableShareAppMessage: true,
-  enableShareTimeline: true,
   navigationStyle: 'custom',
   usingComponents: {
     

+ 1 - 6
src/pages/personal/index.config.ts

@@ -1,9 +1,4 @@
 export default definePageConfig({
   navigationBarTitleText: '我的',
-  "usingComponents": {},
-  "navigationStyle": 'custom',
-  backgroundColor: '#F4F9FF',
-  enableShareAppMessage: true,
-  enableShareTimeline: true,
-  enablePageMeta: true,
+  navigationStyle: 'custom',
 })

+ 2 - 1
src/pages/personal/index.tsx

@@ -19,9 +19,10 @@ import { useIsLogin } from '@/xiaolanbenlib/hooks/data/useAuth'
 import LoginPopup from '@/components/LoginPopup/index'
 import SaveToDesktopTip from './components/SaveToDesktopTip'
 import { useUserStore } from "@/store/userStore";
+import {restrictedPage} from '@/utils'
 
 export default function Index() {
-
+  restrictedPage()
   const {fetchtMyInfo} = useUserStore()
 
   const isLogin = useIsLogin()

+ 2 - 4
src/pages/privacy/index.config.ts

@@ -2,8 +2,6 @@ export default definePageConfig({
   navigationBarTitleText: '账号管理',
   "usingComponents": {},
   "navigationStyle": 'custom',
-  backgroundColor: '#F4F9FF',
-  enableShareAppMessage: true,
-  enableShareTimeline: true,
-  enablePageMeta: true,
+  enableShareAppMessage: false,
+  enableShareTimeline: false
 })

+ 2 - 1
src/pages/privacy/index.tsx

@@ -11,10 +11,11 @@ import WemetaSwitch from "@/components/WemetaSwitch";
 import { useUserStore } from "@/store/userStore";
 
 import { setMyPrivacy } from "@/service/user";
-import { useEffect } from "react";
 import { useDidShow } from "@tarojs/taro";
+import {restrictedPage} from '@/utils'
 
 export default function Index() {
+  restrictedPage()
   const { fetchMyPrivacy, privacy } = useUserStore();
   const handleSwitchChange = async (checked: boolean, key: string) => {
     await setMyPrivacy({

+ 1 - 1
src/pages/profile/index.config.ts

@@ -1,5 +1,5 @@
 export default definePageConfig({
-  navigationBarTitleText: '首页',
+  navigationBarTitleText: '智能体',
   "usingComponents": {},
   "navigationStyle": 'custom',
   enableShareAppMessage: true,

+ 0 - 2
src/pages/test/index.config.ts

@@ -1,7 +1,5 @@
 export default definePageConfig({
   navigationBarTitleText: `${process.env.TARO_APP_NAME_TEXT}`,
-  enableShareAppMessage: true,
-  enableShareTimeline: true,
   navigationStyle: 'custom',
   usingComponents: {
     

+ 20 - 2
src/utils/index.ts

@@ -7,7 +7,7 @@ import {
 import {LOGIN_ID_STORAGE_KEY } from '@/xiaolanbenlib/constant'
 
 import Taro, { FileSystemManager } from "@tarojs/taro";
-import { useRef, useCallback } from "react";
+import { useRef, useCallback, useEffect } from "react";
 
 const appTokenKey = `${APP_NAME}+${APP_VERSION}token`;
 
@@ -525,4 +525,22 @@ export function addOssProcessLowQualityParam(url: string): string {
 // // 输出: https://example.com/image.png?width=200&height=200&x-oss-process=image/quality,Q_60/format,jpg
 
 // console.log(addOssProcessParam(exampleUrl3)); 
-// // 输出: https://example.com/image.webp?x-oss-process=image/resize,w_300 (保持不变,因为已包含OSS参数)
+// // 输出: https://example.com/image.webp?x-oss-process=image/resize,w_300 (保持不变,因为已包含OSS参数)
+
+
+export function restrictedPage() {
+  // 方式一:不定义分享相关函数,默认就是禁止分享
+  // 方式二:显式返回不允许分享(两种分享方式都要处理)
+  useEffect(() => {
+    // 禁止单页分享
+    Taro.showShareMenu({
+      withShareTicket: false,
+      menus: []  // 不提供任何分享菜单
+    })
+    
+    // 禁止分享到朋友圈
+    Taro.hideShareMenu({
+      menus: ['shareAppMessage', 'shareTimeline']
+    })
+  }, [])
+}