@ray-js/ray-ipc-player 2.0.18-beta-2 → 2.0.18-beta-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -4,7 +4,8 @@ import "core-js/modules/web.dom-collections.iterator.js";
4
4
  import React, { useEffect, useRef, useCallback } from 'react';
5
5
  import { useImmer } from 'use-immer';
6
6
  import { IpcPlayer, View, CoverView } from '@ray-js/components';
7
- import cx from 'classnames';
7
+ import { setPageOrientation } from '@ray-js/ray';
8
+ import clsx from 'clsx';
8
9
  import { usePageEvent } from 'ray';
9
10
  import locals from './i18n';
10
11
  import Styles from './index.module.less';
@@ -26,7 +27,7 @@ const Player = props => {
26
27
  loadText = '',
27
28
  rotateZ = 0,
28
29
  scalable = true,
29
- scaleMultiple = 0,
30
+ scaleMultiple = 1,
30
31
  ptzControllable = true,
31
32
  clarity = 'normal',
32
33
  ipcPlayerContext,
@@ -62,6 +63,7 @@ const Player = props => {
62
63
  deviceOnlineState: true,
63
64
  initLy: false
64
65
  });
66
+ const [screenType, setScreenType] = useImmer('portrait');
65
67
  const ipcCtx = useRef(null); // ipc实例
66
68
  if (!ipcCtx.current) {
67
69
  var _ty;
@@ -77,6 +79,12 @@ const Player = props => {
77
79
  retry();
78
80
  }
79
81
  }, [playState.connectState, privateState, playState.initLy]));
82
+ usePageEvent('onResize', sizeData => {
83
+ const {
84
+ type
85
+ } = sizeData;
86
+ setScreenType(type);
87
+ });
80
88
  usePageEvent('onHide', async () => {
81
89
  setPlayState(d => {
82
90
  d.loadingState = true;
@@ -309,6 +317,8 @@ const Player = props => {
309
317
 
310
318
  // 关闭隐私模式,重新拉流
311
319
 
320
+ // 退出横屏
321
+
312
322
  return /*#__PURE__*/React.createElement(View, {
313
323
  className: Styles.ipc_player,
314
324
  onClick: handlePlayerClick
@@ -369,7 +379,7 @@ const Player = props => {
369
379
  style: {
370
380
  borderRadius: "".concat(borderRadius)
371
381
  },
372
- className: cx(Styles.load_box, Styles.bg_center, !playState.loadingState && Styles.hide)
382
+ className: clsx(Styles.load_box, Styles.bg_center, !playState.loadingState && Styles.hide)
373
383
  }, /*#__PURE__*/React.createElement(View, {
374
384
  className: Styles.load_icon
375
385
  }), /*#__PURE__*/React.createElement(View, {
@@ -378,7 +388,7 @@ const Player = props => {
378
388
  style: {
379
389
  borderRadius: "".concat(borderRadius)
380
390
  },
381
- className: cx(Styles.bg_center, Styles.state_label, !playState.errorState && Styles.hide)
391
+ className: clsx(Styles.bg_center, Styles.state_label, !playState.errorState && Styles.hide)
382
392
  }, privateState ? /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(View, {
383
393
  className: Styles.device_sleep
384
394
  }, locals.getLang('ipc_player_device_sleep')), /*#__PURE__*/React.createElement(View, {
@@ -396,16 +406,26 @@ const Player = props => {
396
406
  textAlign: 'center'
397
407
  }
398
408
  }, /*#__PURE__*/React.createElement(View, {
399
- className: cx(Styles.iconfont, Styles.icon_tishi, !playState.deviceOnlineState && Styles.hide)
409
+ className: clsx(Styles.iconfont, Styles.icon_tishi, !playState.deviceOnlineState && Styles.hide)
400
410
  }), /*#__PURE__*/React.createElement(View, {
401
411
  className: Styles.err_msg
402
412
  }, /*#__PURE__*/React.createElement(View, {
403
- className: cx(Styles.msg, Styles.ellipsis)
413
+ className: clsx(Styles.msg, Styles.ellipsis)
404
414
  }, playState.errorMsg), /*#__PURE__*/React.createElement(View
405
415
  // @ts-ignore
406
416
  , {
407
417
  onClick: retry,
408
- className: cx(Styles.retry, !playState.deviceOnlineState && Styles.hide)
409
- }, locals.getLang('ipc_player_retry'))))));
418
+ className: clsx(Styles.retry, !playState.deviceOnlineState && Styles.hide)
419
+ }, locals.getLang('ipc_player_retry'))))), screenType === 'landscape' && (playState.loadingState || playState.errorState) && /*#__PURE__*/React.createElement(CoverView, {
420
+ className: clsx(Styles.load_full_back_container),
421
+ onClick: () => {
422
+ setPageOrientation({
423
+ pageOrientation: 'portrait',
424
+ success: () => {
425
+ setScreenType('portrait');
426
+ }
427
+ });
428
+ }
429
+ }));
410
430
  };
411
431
  export default Player;
@@ -12,7 +12,7 @@
12
12
  .load_box {
13
13
  color: #ffffff;
14
14
  font-size: 0.3rem;
15
- z-index: 200;
15
+ z-index: 350;
16
16
  }
17
17
 
18
18
  .bg_center {
@@ -25,7 +25,7 @@
25
25
  justify-content: center;
26
26
  align-items: center;
27
27
  background: var(--video-bg);
28
- z-index: 200;
28
+ z-index: 350;
29
29
  }
30
30
 
31
31
  .state_label {
@@ -129,4 +129,17 @@
129
129
  .err_msg {
130
130
  text-align: center;
131
131
  width: 100%;
132
+ }
133
+
134
+ .load_full_back_container {
135
+ position: absolute;
136
+ left: 25px;
137
+ top: 16px;
138
+ width: 24px;
139
+ height: 24px;
140
+ z-index: 350;
141
+ background: #ffffff;
142
+ -webkit-mask-image: url('data:image/png;base64,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');
143
+ -webkit-mask-size: cover;
144
+ -webkit-mask-repeat: no-repeat;
132
145
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ray-js/ray-ipc-player",
3
- "version": "2.0.18-beta-2",
3
+ "version": "2.0.18-beta-4",
4
4
  "description": "ray小程序播放器",
5
5
  "keywords": [
6
6
  "tuya-miniapp",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "peerDependencies": {},
38
38
  "dependencies": {
39
- "classnames": "^2.3.1",
39
+ "clsx": "^1.2.1",
40
40
  "immer": "^9.0.15",
41
41
  "use-immer": "^0.5.1",
42
42
  "@ray-js/panel-sdk": "^1.13.1"