@dolphinweex/weex-vue-render 0.2.104 → 0.2.106

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.
@@ -2674,11 +2674,17 @@ var info = {
2674
2674
 
2675
2675
  /**
2676
2676
  * set root font-size for rem units. If already been set, just skip this.
2677
+ * 横竖屏切换时应用短边作为设计宽度:避免页面在「窗口仍横屏」时 init,把 rem 锁成 83.7(长边/10),
2678
+ * 而正常竖屏基准应为 ~38.8;横屏布局仍沿用同一套 rem/scale。
2677
2679
  */
2678
2680
  function setRootFont (width, viewportWidth, force) {
2679
2681
  var doc = window.document;
2680
- var rem = width * 750 / viewportWidth / 10;
2681
2682
  if (!doc.documentElement) { return }
2683
+ var clientW = doc.documentElement.clientWidth || width;
2684
+ var clientH = doc.documentElement.clientHeight || width;
2685
+ // 短边基准:与竖屏 init 对齐,横屏下也不要把 rem 放大到长边
2686
+ var designWidth = Math.min(clientW, clientH) || width;
2687
+ var rem = designWidth * 750 / viewportWidth / 10;
2682
2688
  var rootFontSize = doc.documentElement.style.fontSize;
2683
2689
  if (!rootFontSize || force) {
2684
2690
  doc.documentElement.style.fontSize = rem + 'px';
@@ -2728,11 +2734,15 @@ function init$1 (viewportWidth) {
2728
2734
  }
2729
2735
 
2730
2736
  dpr = info.dpr = window.devicePixelRatio;
2731
- screenWidth = doc.documentElement.clientWidth;
2732
- screenHeight = doc.documentElement.clientHeight;
2733
-
2737
+ // 用短边作为 rem/scale/deviceWidth 基准,避免横屏态下打开页面把 rem 锁成「长边/10」
2738
+ var rawW = doc.documentElement.clientWidth;
2739
+ var rawH = doc.documentElement.clientHeight;
2740
+ screenWidth = Math.min(rawW, rawH) || rawW;
2741
+ screenHeight = Math.max(rawW, rawH) || rawH;
2734
2742
  var resetDeviceHeight = function () {
2735
- screenHeight = doc.documentElement.clientHeight;
2743
+ var rw = doc.documentElement.clientWidth;
2744
+ var rh = doc.documentElement.clientHeight;
2745
+ screenHeight = Math.max(rw, rh) || rh;
2736
2746
  var env = window.weex && window.weex.config.env;
2737
2747
  info.deviceHeight = env.deviceHeight = screenHeight * dpr;
2738
2748
  };
@@ -2745,11 +2755,10 @@ function init$1 (viewportWidth) {
2745
2755
  setTimeout(function () {
2746
2756
  var newWidth = doc.documentElement.clientWidth;
2747
2757
  var newHeight = doc.documentElement.clientHeight;
2748
- console.log('[px2rem] poll@' + label + ': clientWidth=' + newWidth + ' (was ' + screenWidth + ')');
2749
- if (newWidth > screenWidth && window.orientation === 0) {
2750
- console.log('[px2rem] poll@' + label + ' FIX triggered: ' + screenWidth + ' -> ' + newWidth);
2751
- screenWidth = newWidth;
2752
- screenHeight = newHeight;
2758
+ var designW = Math.min(newWidth, newHeight) || newWidth;
2759
+ if (designW > screenWidth && Math.abs(window.orientation || 0) !== 90) {
2760
+ screenWidth = designW;
2761
+ screenHeight = Math.max(newWidth, newHeight) || newHeight;
2753
2762
  setRootFont(screenWidth, _viewportWidthForFix, true);
2754
2763
  var newScale = screenWidth / _viewportWidthForFix;
2755
2764
  document.documentElement.style.setProperty('--harmory-density-scale', newScale);
@@ -2801,10 +2810,18 @@ function init$1 (viewportWidth) {
2801
2810
  * @return new scale.
2802
2811
  */
2803
2812
  function resetViewport (viewportWidth) {
2813
+ var doc = window.document;
2814
+ if (doc && doc.documentElement) {
2815
+ var rawW = doc.documentElement.clientWidth;
2816
+ var rawH = doc.documentElement.clientHeight;
2817
+ screenWidth = Math.min(rawW, rawH) || rawW || screenWidth;
2818
+ screenHeight = Math.max(rawW, rawH) || rawH || screenHeight;
2819
+ }
2804
2820
  setRootFont(screenWidth, viewportWidth, true);
2805
2821
  setMetaViewport(viewportWidth);
2806
2822
  var newScale = screenWidth / viewportWidth;
2807
2823
  info.scale = newScale;
2824
+ document.documentElement.style.setProperty('--harmory-density-scale', newScale);
2808
2825
  return newScale
2809
2826
  }
2810
2827
 
@@ -4112,6 +4129,7 @@ function initEnv (viewportInfo, envInfo) {
4112
4129
  weexVersion: device_display.weexVersion,
4113
4130
  osName: device_display.osName,
4114
4131
  statusBarHeight: device_display.statusBarHeight,
4132
+ navigationBarHeight: device_display.navigationBarHeight,
4115
4133
  safeAreaBottomHeight: device_display.safeAreaBottomHeight,
4116
4134
  isImmersion: device_display.isImmersion ? "true" : "false",
4117
4135
 
@@ -8977,7 +8995,6 @@ var slideMixin = {
8977
8995
  // 第一张在列表开头,不能脱离文档流,否则会导致当前最后一张区域出现黑块。
8978
8996
  // 这里保留其布局位置,只做视觉位移到最右侧。
8979
8997
  var firstNode = this._cells[0].elm;
8980
- console.log('cdj-touchmove-last-to-first', { currentIndex: this.currentIndex, preIndex: this._preIndex, frameCount: this.frameCount });
8981
8998
  firstNode.style.position = this.isTransform ? '' : 'relative';
8982
8999
  this._setPosition(firstNode, this.frameCount * this._wrapperWidth);
8983
9000
  firstNode.style.opacity = '1';
@@ -9076,7 +9093,6 @@ var slideMixin = {
9076
9093
  }
9077
9094
 
9078
9095
  var newIndex = shouldSwitch ? (this.currentIndex - direction) : this.currentIndex;
9079
- console.log('cdj-touchend-decision', { currentIndex: this.currentIndex, preIndex: this._preIndex, newIndex: newIndex, moveRatio: moveRatio, velocity: this.velocity, shouldSwitch: shouldSwitch, duration: animationDuration });
9080
9096
 
9081
9097
  // 边界检查
9082
9098
  if (!this.infinite || this.infinite === 'false') {
@@ -9180,7 +9196,6 @@ var slideMixin = {
9180
9196
  if (newIndex < 0) {
9181
9197
  // 从第一张向右滑到最后一张
9182
9198
  newIndex = this.frameCount - 1;
9183
- console.log('cdj-smooth-boundary-first-to-last', { targetIndex: newIndex, innerOffset: this.innerOffset, wrapperWidth: this._wrapperWidth });
9184
9199
  lastNode = this._cells[newIndex].elm;
9185
9200
  lastNode.style.position = 'absolute';
9186
9201
  this._setPosition(lastNode, -this._wrapperWidth);
package/package.json CHANGED
@@ -49,5 +49,5 @@
49
49
  "type": "git",
50
50
  "url": "git+ssh://git@github.com/weexteam/weex-vue-render.git"
51
51
  },
52
- "version": "0.2.104"
52
+ "version": "0.2.106"
53
53
  }