笔记 || 小程序

# 文本中显示空格

使用text标签,设置decode(是否解码)属性为true

<text decode="{{true}}">测试&nbsp;&nbsp;空格</text>

 

# 借助云函数获取所有数据库记录

小程序端获取云端数据库记录数量上限为20,云函数上限为100

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()

// 云函数入口函数
exports.main = async (event, context) => {
  // 先取出集合记录总数
  const countResult = await db.collection('test').count()
  const total = countResult.total
  const MAX_LIMIT = 100
  // 计算需分几次取
  const batchTimes = Math.ceil(total / MAX_LIMIT)
  // 承载所有读操作的 promise 的数组
  const tasks = []
  for (let i = 0; i < batchTimes; i++) {
    const promise = db.collection('test').where({
      Garbage: db.RegExp({
        regexp: '.*' + event.keyword + '.*',
      })
    })
    .skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()
    tasks.push(promise)
  }
  // 等待所有
  return (await Promise.all(tasks)).reduce((acc, cur) => {
    return {
      data: acc.data.concat(cur.data),
      errMsg: acc.errMsg,
    }
  })
}
            wx.cloud.callFunction({
              name: 'search', //云函数名
              data: {
                keyword: e.detail.value["keyword"]
              },
              success: function(res) {
                if(res.result.data.length > 0){
                }
              }

#小程序网络请求

只支持https请求,且域名需要在公众号中设置

可以借助云函数进行http请求,另外,云函数没办法访问本机IP地址,在开发过程中要进行本机接口测试可以开启云函数本地调试

#按钮长按

长按时touchstart事件响应,松开时有时是touchend事件响应,有时是touchcancel响应

#OCR文字识别

使用OCR的通用印刷体打印,(OCR插件暂不支持?)可以调用服务端API,先在微信开放社区-服务平台-接口能力(可搜索要使用的接口)购买(据说使用免费份额也要购买,不然很容易出错)

按照文档可以使用小程序调用和云函数调用,小程序调用看起来麻烦一点,还没研究,使用云函数调用,注意需在 config.json 中配置 ocr.printedText API 的权限

"permissions": {
    "openapi": [
      "ocr.printedText"
    ]
  }

该API请求参数有两种方式

cloud.openapi.ocr.printedText({
        type: 'photo',
        imgUrl: 'ENCODE_URL'
      })
cloud.openapi.ocr.printedText({
  type: 'photo',
  img: {
    contentType: 'image/png',
    value: Buffer
  }
}

第二种方式需要用文件buffer,读取手机相册图片获得临时路径后,可以使用FileSystemManager.readFile(Object object)  读取文件内容作为参数buffer,不过很坑的是使用开发工具可以正常运行,但是真机使用时就识别超时或者卡住,查了很久好像是因为图片大小的问题,说是可以通过压缩图片,但是在使用的时候还要控制压缩质量什么的,想想就很麻烦,果断放弃这种方式。

另一种方式不用考虑文件大小的问题,但是由于我后台的接口是http,问题就是如何获得一个图片https链接,最后解决办法是先上传到云存储中,在云存储中可以获得图片https的下载链接(该链接好像具备时效性?不确定,目前开发需求不影响,暂存疑)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bekote

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值