微信小程序从文件夹获取图片滑动显示

微信小程序从文件夹获取图片滑动显示,第1张

给外面加一个scroll-view组件实现滚动显示。

当插入的的长度超屏幕的高度时,会导致高度被压缩。解决的方法是,给外面加一个scroll-view组件实现滚动显示,添加属性mode="widthFix"使得宽度完整显示。

程序开发工具--详情--本地设置--启用自定义处理命令

用来执行脚本

为了提升用户 *** 作的流畅性,同时让用户在微信内拥有一致的 *** 作体验,“右滑手势返回”将成为基础配置,即所有小程序内都可以从屏幕左侧边缘向右滑动返回上一个界面。 在即将发布的705客户端版本中,页面配置中的 disableSwipeBack 属性将不再生效,请开发者及时调整。

背景图为fixed, top随滚动而改变 。 重点就是 onPageScroll

还可使用 scroll-view 的下拉刷新,且可以自定义样式。

用wxs监听滚动事件,设置样式。

不在以下 request 合法域名列表中,请参考文档

解决方案:在详情--本地设置中勾选“不校验合法域名。。。”

mode widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变。应避免使用widthFix,尽量指定宽高。

导航栏高度

iOS 44px (4+32+8)

android 48px (8+32+8)

胶囊与状态栏间距(应该计算得出)ios 4px,Android 8px,与导航栏底边距8px(只能取固定值)。

胶囊高度 32px

状态栏高度,刘海屏通常为44px

setData 是小程序开发中使用最频繁、也是最容易引发性能问题的接口。

因此,开发者在调用 setData 时要注意:

数组索引不能直接用变量,解决方案:

取原来的值:

在onUnload中取消timer

微信小程序中,可以用 hover-class 属性来指定元素的点击态效果。但是在在使用中要注意,大部分组件是不支持该属性的。

目前支持 hover-class 属性的组件有三个:view、button、navigator。

不支持 hover-class 属性的组件,同时也不支持 hover-stop-propagation、hover-start-time、hover-stay-time 这三个属性。

如果background写在wxml中,那么background-size也要写在style中,如果写在wxss中不会生效。

获取系统屏幕边框的安全距离:

safe-area-inset-top

safe-area-inset-right

safe-area-inset-bottom

safe-area-inset-left

ios11:constant(safe-area-inset-bottom)

ios112:env(safe-area-inset-bottom)

scroll-view的子元素最好包一层,不然宽度可能不起作用。

当小程序使用页面进行滚动时,可以给遮罩设置catchtouchmove属性来禁止页面滚动

1、fixed定位一个 image标签,width: 100vw;height: 100vh; mode选择aspectFill

2、background-size: cover

     1)是按照的比例放大或者缩小至充满容器,而不是按照容器的比例大小来缩放。

      2)如果照片的比例和容器的比例是不一致的,必定会导致照片的不完整性。

npm install  crypto-js

import CryptoJS from 'crypto-js'

// 定义加/解密的 key

const initKey = 'Test-AES-CBC-128';

// 设置数据块长度

const keySize = 128;

//设置向量和服务端保持一致

const iv = "0abcdefghij7twhjm";

export const aesEncrypt = (data, key) => {

  /

  CipherOption, 加密的一些选项:

  mode: 加密模式, 可取值(CBC, CFB, CTR, CTRGladman, OFB, ECB), 都在 CryptoJSmode 对象下

  padding: 填充方式, 可取值(Pkcs7, AnsiX923, Iso10126, Iso97971, ZeroPadding, NoPadding), 都在 CryptoJSpad 对象下

  iv: 偏移量, mode === ECB 时, 不需要 iv

  返回的是一个加密对象

  /

  const cipher = CryptoJSAESencrypt(data, key, {

    mode: CryptoJSmodeCBC,

    padding: CryptoJSpadPkcs7,

    iv: CryptoJSencUtf8parse(iv)

  });

// 将加密后的数据转换成 Base64

  const base64Cipher = cipherciphertexttoString(CryptoJSencBase64); //CryptoJSencBase64

  consolelog('base64Cipher', base64Cipher)

// 处理 Android 某些低版的BUG

//    const resultCipher = base64Cipherreplace('//+/g,\'-\'')replace(g,'_');

// 返回加密后的经过处理的 Base64

  return base64Cipher;

}

/

解密函数

@param {string} encrypted - 加密的数据;

@param {string} key - 加密使用的 key

/

export const aesDecrypt = (encrypted, key) => {

// 先将 Base64 还原一下, 因为加密的时候做了一些字符的替换

//      const restoreBase64 = encryptedreplace()replace(/_/g,'/');

// 这里 mode, padding, iv 一定要跟加密的时候完全一样

// 返回的是一个解密后的对象

  const decipher = CryptoJSAESdecrypt(encrypted, key, {

    mode: CryptoJSmodeCBC,

    padding: CryptoJSpadPkcs7,

    iv: CryptoJSencUtf8parse(iv)

  });

// 将解密对象转换成 UTF8 的字符串

  const resultDecipher = CryptoJSencUtf8stringify(decipher);

// 返回解密结果

  return resultDecipher;

}

期望的效果是,image的高度height是自动的。

网上好多说把image的mode设置为widthFit。这种方法还是需要给image设置宽度高度。并不是height自动,而是height固定,在显示的时候,显示的区域在高度上是自适应的

所以还是需要用js计算

imageLoad: function(e) {

    var $width=edetailwidth,//获取真实宽度

        $height=edetailheight,

        ratio=$width/$height;    //的真实宽高比例varviewWidth=718,//设置显示宽度,左右留有16rpx边距viewHeight=718/ratio;    //计算的高度值varimage=thisdataimages;

      //将的datadata-index作为image对象的key,然后存储的宽高值

image[etargetdatasetindex]={

        width:viewWidth,

        height:viewHeight

      }

      thissetData({

          images:image

      })

  }

>

以上就是关于微信小程序从文件夹获取图片滑动显示全部的内容,包括:微信小程序从文件夹获取图片滑动显示、小程序备忘、小程序自适应背景图,不同屏幕比例 如何做到不变形、不留空白等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10114560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存