微信小程序dom *** 作

微信小程序dom *** 作,第1张

文档: https://developers.weixin.qq.com/miniprogram/dev/api/wxml-nodes-info.html

即使是小程序,也难免有dom *** 作

wx.createSelectorQuery()返回一个SelectorQuery对象实例

nodesRef.boundingClientRect([callback])

nodesRef.scrollOffset([callback])

nodesRef.fields(fields, [callback])

selectorQuery.in(component) 将选择器的选取范围更改为自定义组件component内

selectorQuery.select(selector) 在当前页面下选择第一个匹配选择器selector的节点,返回一个NodesRef对象实例,可以用于获取节点信息

selectorQuery.selectAll(selector) 在当前页面下选择匹配选择器selector的节点,返回一个NodesRef对象实例。它选择所有匹配选择器的节点。

selectorQuery.selectViewport() 选择显示区域,可用于获取显示区域的尺寸、滚动位置等信息,返回一个NodesRef对象实例

selectorQuery.exec([callback]) 执行所有的请求,请求结果按请求次序构成数组,在callback的第一个参数中返回

如果是单纯地使用uniapp做app或者h5开发,可以直接在上传的时候 uni.chooseImage 获取到图片的最后修改日期,那么可以使用其作为拍摄日期。

但是,一切的一切都源于微信小程序的接口封装,使得不得不写两套。

这就不得不提到照片的exif了,可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif,(https://blog.csdn.net/weixin_44350337/article/details/109558492 可以看看这篇文章,很长),好在我除了是个程序员,还是个摄影师。简单来说就是记录照片的一些信息的一种信息格式。

在各个论坛找了一圈后,试了很多种方式,都不行,后来,师傅给了一个连接让我试试,还是没成功,我就拿出我单反拍的原生照片去试,一下子就可以了,ohhhh。

有几个坑:

1、微信 qq发送到手机的图片会压缩 丢失exif信息

2、可以使用小程序,exif查看器,先试试看,该照片有没有exif信息再去快乐debugger

3、微信小程序没有dom,没有window。

不bb,上代码:

有个东西要引入(实例放最后,欢迎star,嘻嘻):

在这里插入图片描述

然后使用:

var myexif = require('./myexif.js')

click() {

const that = this

uni.chooseImage({

sizeType: ['original'],

success: e =>{

var array = wx.getFileSystemManager().readFileSync(e.tempFilePaths[0])

var r = myexif.handleBinaryFile(array)

console.log(r)

if (r &&r.data) {

this.shootTime =

r.data.DateTime.split(' ')[0]

.split(':')

.join('-') +

' ' +

r.data.DateTime.split(' ')[1]

}

// 这里的r的data里面就是exif信息了

// console.log(e)

}

})

},

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

在这里插入图片描述

源码:https://github.com/zhizhilong/wx-exif


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

原文地址: http://outofmemory.cn/yw/11499356.html

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

发表评论

登录后才能评论

评论列表(0条)

保存