shaogen1995 1 周之前
父節點
當前提交
9845145a3f
共有 6 個文件被更改,包括 121 次插入23 次删除
  1. 3 1
      key.txt
  2. 10 2
      public/myData/egg.js
  3. 4 1
      public/tttt.html
  4. 54 1
      src/pages/A1home/A1svgBox/index.tsx
  5. 25 18
      src/pages/A2scene/index.tsx
  6. 25 0
      甲方需要的环境说明.txt

+ 3 - 1
key.txt

@@ -11,4 +11,6 @@ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCcgGDeaa5u1lXqGNPJusLnUekZ4PZJ
 
 测试电话号码加密之后
 
-http://192.168.20.55:3000/#/base?k=gjdhvr-test&n=RvBxzPLJbfUjUERSTOm91vQf2jLQdpOKMFz2Ah2D/hvVpXVmzsZb2Yc7gsX6pgAen3HmzJWinHKRYGASNXp1EvapV+VOJXsk1H1jeWBnqlqxg1h6y45ON50EoEKVdJ7mBe3w7DlxR9LuAzu8Gw6I9Jn/Be9TWZpjuHJPTv+OtomF3dhDCn3c0cHRcuq6+jcMLgONpB8Sw/2fHEbyQNFQKM9n9hQ8ZvXXKRIo2L7J0elLf7Ipyl2PtveMch2Foe4mroxLQu6eV3L6FVHpW54Yz6NSrvOW/iBBYiEcIlZNLCzJgB4zOAMUZyXbQMTD18GJlvvHRyxLOiFXq03iC0Y2JQ==&t=e3705e53064c4f489c5ed09e9d4086ca
+http://192.168.20.55:3000/#/base?k=gjdhvr-test&n=RvBxzPLJbfUjUERSTOm91vQf2jLQdpOKMFz2Ah2D/hvVpXVmzsZb2Yc7gsX6pgAen3HmzJWinHKRYGASNXp1EvapV+VOJXsk1H1jeWBnqlqxg1h6y45ON50EoEKVdJ7mBe3w7DlxR9LuAzu8Gw6I9Jn/Be9TWZpjuHJPTv+OtomF3dhDCn3c0cHRcuq6+jcMLgONpB8Sw/2fHEbyQNFQKM9n9hQ8ZvXXKRIo2L7J0elLf7Ipyl2PtveMch2Foe4mroxLQu6eV3L6FVHpW54Yz6NSrvOW/iBBYiEcIlZNLCzJgB4zOAMUZyXbQMTD18GJlvvHRyxLOiFXq03iC0Y2JQ==&t=470baece4a574b079c290e8ec803d228
+
+https://pro-zonggonghui.4dage.com/#/base?k=gjdhvr-test&n=RvBxzPLJbfUjUERSTOm91vQf2jLQdpOKMFz2Ah2D/hvVpXVmzsZb2Yc7gsX6pgAen3HmzJWinHKRYGASNXp1EvapV+VOJXsk1H1jeWBnqlqxg1h6y45ON50EoEKVdJ7mBe3w7DlxR9LuAzu8Gw6I9Jn/Be9TWZpjuHJPTv+OtomF3dhDCn3c0cHRcuq6+jcMLgONpB8Sw/2fHEbyQNFQKM9n9hQ8ZvXXKRIo2L7J0elLf7Ipyl2PtveMch2Foe4mroxLQu6eV3L6FVHpW54Yz6NSrvOW/iBBYiEcIlZNLCzJgB4zOAMUZyXbQMTD18GJlvvHRyxLOiFXq03iC0Y2JQ==&t=470baece4a574b079c290e8ec803d228

+ 10 - 2
public/myData/egg.js

@@ -1,12 +1,20 @@
+// 区分我们的测试环境和生产环境。true表示生产环境
+const baseEnv = true
+
 // 甲方公钥
 const publicKeyTemp =
   'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOkm4dGsnfw6uOfwUkIkwagf13rqaXkOI3xmmgFwHVvJDZAHkCpF3yk1a9Zy19afoQGas3+rYX4lGVYO0maCxcZ4HyqzLLbjnEq7GJKsBUHC4KVeBqYavhpunIMiOUOCmuEROFd/4PPe6eg/AtH2Ipb3RFmBBAoVWCQEFcbYJjVQIDAQAB'
 // 接口前缀(经过我们后端中转一次,避免跨域问题)
 // const httpBaseUrl = 'https://jnqg.test.zhzg.vip/API-ENTERPRISE-OPENAPI/'
 // const httpBaseUrl = 'http://192.168.20.61:8106/api/'
-const httpBaseUrl = 'https://sit-zonggonghui.4dage.com/api/'
+
+const httpBaseUrlTemp = `https://${baseEnv ? 'pro' : 'sit'}-zonggonghui.4dage.com`
+
+const httpBaseUrl = httpBaseUrlTemp + '/api/'
 // 子页面地址前缀
-const kkUrl = 'https://houseoss.4dkankan.com/project/DEMO/qgzgg/scene/index.html#/'
+const kkUrl = `${
+  baseEnv ? httpBaseUrlTemp : 'https://houseoss.4dkankan.com/project/DEMO/qgzgg'
+}/scene/index.html#/`
 
 // 在线人数web_socket连接
 // eslint-disable-next-line no-undef

+ 4 - 1
public/tttt.html

@@ -37,7 +37,10 @@
     const btnDom = document.querySelector('#btn')
     btnDom.onclick = () => {
       // 传sort
-      window.parent.FaStrikeEggFu(8)
+      window.parent.FaStrikeEggFu(1)
+      window.parent.FaStrikeEggFu(1)
+      window.parent.FaStrikeEggFu(1)
+      window.parent.FaStrikeEggFu(1)
     }
 
     const hiddenDom = document.querySelector('#hidden')

+ 54 - 1
src/pages/A1home/A1svgBox/index.tsx

@@ -151,6 +151,12 @@ function A1svgBox({ opc = 1, id = '', closeFu }: Props) {
             store.dispatch({ type: 'layout/svgAcGlobal', payload: obj.code })
             history.replace(`/scene/${obj.code}?k=${ttsxsysid}&n=${myPhone}&t=${taskId}`)
             if (closeFu) closeFu()
+
+            // setTimeout(() => {
+            //   if (flagRef.current) {
+
+            //   }
+            // }, 20)
           }
 
           dom.onmouseleave = () => {
@@ -168,12 +174,59 @@ function A1svgBox({ opc = 1, id = '', closeFu }: Props) {
   // tit提示语
   const [tit, setTit] = useState(true)
 
+  // -------------------------------
+  // 记录鼠标按下的初始位置
+  const [startPos, setStartPos] = useState<{ x: number; y: number } | null>(null)
+
+  // 使用ref来存储位移阈值,避免在回调中读取到旧的state值
+  const dragThreshold = useRef(20)
+
+  const flagRef = useRef(true)
+
+  // 处理鼠标按下事件
+  const handleMouseDown = useCallback((e: React.MouseEvent<HTMLDivElement>) => {
+    flagRef.current = true
+    // 记录初始位置
+    setStartPos({ x: e.clientX, y: e.clientY })
+    // 如果需要,可以在这里阻止默认行为或冒泡
+    // e.preventDefault();
+    // e.stopPropagation();
+  }, [])
+
+  // 处理鼠标松开事件
+  const handleMouseUp = useCallback(
+    (e: React.MouseEvent<HTMLDivElement>) => {
+      if (startPos) {
+        const deltaX = Math.abs(e.clientX - startPos.x)
+        const deltaY = Math.abs(e.clientY - startPos.y)
+
+        // 判断位移是否小于阈值(例如20像素)
+        if (deltaX < dragThreshold.current && deltaY < dragThreshold.current) {
+          // 认为是点击操作,触发点击事件
+          flagRef.current = true
+        } else flagRef.current = false
+        // 否则,这里是拖动操作,不触发点击事件
+
+        // 重置初始位置和拖动状态
+        setStartPos(null)
+      }
+    },
+    [startPos]
+  )
+
   return (
     <div
+      onMouseDown={handleMouseDown}
+      onMouseUp={handleMouseUp}
+      // pc拖动点击冲突问题
       onTouchStart={() => setTit(false)}
       onClick={() => setTit(false)}
       className={classNames(styles.A1svgBox, isMobileFu() ? styles.A1svgBoxM : '')}
-      style={{ opacity: opc, pointerEvents: opc ? 'auto' : 'none' }}
+      style={{
+        opacity: opc,
+        pointerEvents: opc ? 'auto' : 'none',
+        cursor: 'grab'
+      }}
       id={id}
     >
       {/* 右上角关闭按钮 */}

+ 25 - 18
src/pages/A2scene/index.tsx

@@ -76,26 +76,33 @@ function A2scene() {
 
   // 进页面获取彩蛋列表数据
   const iframeRef = useRef<HTMLIFrameElement>(null)
-  // 触发彩蛋
+  // 触发彩蛋,防止多次调用
+  const openEggRef = useRef(-1)
   const addDanFu = useCallback(
-    async (eggId: string) => {
-      const res = await addDanAPI({ phone: userPhone, eggId })
-      if (res.code === '200') {
-        setOpenEgg(res.data)
-        // 触发彩蛋成功
-        // 重新拿列表,更新自己的视图,同时把最新数据传给子页面
-        dispatch(getDanListApi({ phone: userPhone, taskId }))
-      } else if (res.code === '500' && res.msg === '该彩蛋已解锁') {
-        // 调用子页面的方法 关闭彩蛋
-        if (iframeRef.current && iframeRef.current.contentWindow) {
-          const arr = store.getState().A1list.list
-
-          const obj = arr.find(v => v.id === eggId)
-          if (obj) {
-            const domm = iframeRef.current.contentWindow as any
-            domm.sonEggUpFu(obj.sort)
+    (eggId: string) => {
+      if (openEggRef.current === -1) {
+        openEggRef.current = window.setTimeout(async () => {
+          openEggRef.current = -1
+
+          const res = await addDanAPI({ phone: userPhone, eggId })
+          if (res.code === '200' && res.data) {
+            setOpenEgg(res.data)
+            // 触发彩蛋成功
+            // 重新拿列表,更新自己的视图,同时把最新数据传给子页面
+            dispatch(getDanListApi({ phone: userPhone, taskId }))
+          } else if (res.code === '500' && res.msg === '该彩蛋已解锁') {
+            // 调用子页面的方法 关闭彩蛋
+            if (iframeRef.current && iframeRef.current.contentWindow) {
+              const arr = store.getState().A1list.list
+
+              const obj = arr.find(v => v.id === eggId)
+              if (obj) {
+                const domm = iframeRef.current.contentWindow as any
+                domm.sonEggUpFu(obj.sort)
+              }
+            }
           }
-        }
+        }, 100)
       }
     },
     [dispatch, taskId, userPhone]

+ 25 - 0
甲方需要的环境说明.txt

@@ -0,0 +1,25 @@
+测试链接:https://houseoss.4dkankan.com/project/DEMO/qgzgg/index.html#/base?k=标识&n=加密之后手机号&t=taskId
+
+测试接口:
+1:
+https://sit-zonggonghui.4dage.com/api/show/trend/date/detail
+post请求
+参数,num写死,date传日期就是当天的访问量。不传就是总访问量
+{
+	"date": "2025-09-18",
+	"num": "WEB_QGZGH"
+}
+
+
+2:
+https://sit-zonggonghui.4dage.com/api/show/onLine
+get请求 没有参数  在线人数
+
+
+
+----------------------------------------------------------
+生产链接:
+https://pro-zonggonghui.4dage.com/#/base?k=标识&n=加密之后手机号&t=taskId
+
+生产接口:
+*:和测试接口的区别就是把请求地址中的  sit-改成pro-