瀏覽代碼

feat[krpano]: 移除 viewAttr 属性

chenlei 11 月之前
父節點
當前提交
8d0c4e7a1a

+ 7 - 1
packages/docs/CHANGELOG.md

@@ -1,10 +1,16 @@
 # @dage/docs
 
+## 1.0.4
+
+### Patch Changes
+
+- VideoScene 移除 ViewAttr 属性
+
 ## 1.0.3
 
 ### Patch Changes
 
-- - feat: VideoScene
+- feat: VideoScene
 
 ## 1.0.2
 

+ 29 - 4
packages/docs/docs/krpano/video-scene/index.md

@@ -4,7 +4,13 @@
 
 ```tsx
 import React, { useMemo, useRef, useState, useEffect } from "react";
-import { Krpano, VideoScene, Events, videoSceneModel } from "@dage/krpano";
+import {
+  Krpano,
+  VideoScene,
+  View,
+  Events,
+  videoSceneModel,
+} from "@dage/krpano";
 import { message } from "antd";
 import classNames from "classNames";
 import { observer } from "mobx-react";
@@ -32,6 +38,11 @@ export default observer(() => {
     autoHidePlayIcon();
   };
 
+  const wechatJSReadyHandler = () => {
+    videoSceneModel.pause();
+    videoSceneModel.play();
+  };
+
   useEffect(() => {
     if (
       !window.ReactKrpanoActionProxy?.krpanoRenderer?.device.panovideosupport
@@ -45,6 +56,12 @@ export default observer(() => {
     videoSceneModel.event.on("Event.videoScene.ready", () => {
       message.success("视频准备就绪");
     });
+
+    document.addEventListener(
+      "WeixinJSBridgeReady",
+      wechatJSReadyHandler,
+      false
+    );
   }, []);
 
   return (
@@ -82,11 +99,19 @@ export default observer(() => {
           playRes="1920x960"
           onVisibility={() => {
             if (document.visibilityState === "visible") {
-              setPlayIconVisible(true);
-              autoHidePlayIcon();
+              videoSceneModel.play();
             }
           }}
-        />
+        >
+          <View
+            hlookat={0}
+            vlookat={0}
+            fovType="DFOV"
+            fov={120}
+            fovMin={90}
+            fovMax={140}
+          />
+        </VideoScene>
       </Krpano>
 
       <CSSTransition timeout={200} in={playIconVisible} unmountOnExit={true}>

+ 7 - 1
packages/docs/docs/log/DOCS_CHANGELOG.md

@@ -1,10 +1,16 @@
 # @dage/docs
 
+## 1.0.4
+
+### Patch Changes
+
+- VideoScene 移除 ViewAttr 属性
+
 ## 1.0.3
 
 ### Patch Changes
 
-- - feat: VideoScene
+- feat: VideoScene
 
 ## 1.0.2
 

+ 7 - 1
packages/docs/docs/log/KRPANO_CHANGELOG.md

@@ -1,10 +1,16 @@
 # @dage/krpano
 
+## 2.4.1
+
+### Patch Changes
+
+- VideoScene 移除 ViewAttr 属性
+
 ## 2.4.0
 
 ### Minor Changes
 
-- - feat: VideoScene
+- feat: VideoScene
 
 ## 2.3.0
 

+ 1 - 1
packages/docs/package.json

@@ -1,7 +1,7 @@
 {
   "private": true,
   "name": "@dage/docs",
-  "version": "1.0.3",
+  "version": "1.0.4",
   "scripts": {
     "start": "dumi dev",
     "docs:build": "dumi build",

+ 7 - 1
packages/krpano/CHANGELOG.md

@@ -1,10 +1,16 @@
 # @dage/krpano
 
+## 2.4.1
+
+### Patch Changes
+
+- VideoScene 移除 ViewAttr 属性
+
 ## 2.4.0
 
 ### Minor Changes
 
-- - feat: VideoScene
+- feat: VideoScene
 
 ## 2.3.0
 

+ 1 - 1
packages/krpano/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@dage/krpano",
-  "version": "2.4.0",
+  "version": "2.4.1",
   "description": "krpano sdk",
   "module": "build/index.js",
   "main": "build/index.js",

+ 4 - 23
packages/krpano/src/components/VideoScene.tsx

@@ -42,11 +42,7 @@ export interface VideoSceneProps {
     loop?: boolean;
     volume?: number;
   };
-  /**
-   * 视图属性,参数见文档
-   * @see https://krpano.com/docu/xml/#view
-   */
-  viewAttrs?: Record<string, unknown>;
+  children?: React.ReactNode;
   /**
    * 页面可见状态发生变化回调
    */
@@ -58,16 +54,6 @@ const DEFAULT_PLUGIN_ATTRS = {
   volume: 0,
 };
 
-const DEFAULT_VIEW_ATTRS = {
-  hlookat: 0,
-  vlookat: 0,
-  fovtype: "DFOV",
-  fov: 120,
-  fovmin: 80,
-  fovmax: 130,
-  distortion: 0,
-};
-
 export const VideoScene: FC<VideoSceneProps> = observer(
   ({
     name,
@@ -76,7 +62,7 @@ export const VideoScene: FC<VideoSceneProps> = observer(
     sourceList,
     playRes,
     pluginAttrs,
-    viewAttrs,
+    children,
     onVisibility,
   }) => {
     const renderer = useContext(KrpanoRendererContext);
@@ -109,6 +95,7 @@ export const VideoScene: FC<VideoSceneProps> = observer(
     };
 
     const wechatJSReadyHandler = () => {
+      alert(model.playing);
       model.playing && model.play();
     };
 
@@ -137,9 +124,6 @@ export const VideoScene: FC<VideoSceneProps> = observer(
           pausedonstart: !model.playing,
         })
       );
-      const _viewAttrs = objectToString(
-        Object.assign({}, DEFAULT_VIEW_ATTRS, viewAttrs)
-      );
 
       renderer.tagAction.pushSyncTag(
         "scene",
@@ -161,9 +145,6 @@ export const VideoScene: FC<VideoSceneProps> = observer(
             <sphere url="plugin:video" />
           </image>
 
-          <!-- set the default view -->
-          <view ${_viewAttrs} />
-
           <action name="add_video_sources" >
             ${getSourceListStr()}
 
@@ -173,6 +154,6 @@ export const VideoScene: FC<VideoSceneProps> = observer(
       );
     }, [renderer]);
 
-    return <div className="video-scene" />;
+    return <div className="video-scene">{children}</div>;
   }
 );