小程序结合云开发获取小程序码

最近开发小程序遇到一个生成小程序码的功能,常规操作是通过以下接口请求:

POST https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN

但是今天突然不想走寻常路,决定用一用云开发玩一玩。

话不多说,码它!

wxml:

<button bindstap="creatCode">点击获取</button>

云函数,我定义了一个getcode函数,首先往函数下的config.json文件配置一下云调用权限

config.json:

openapi.wxacode.get

接着往index.js里面写入逻辑代码:

index.js:

const cloud = require(‘wx-server-sdk‘)

cloud.init()

exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.wxacode.get({
        path: ‘page/index/index‘,
        width: 430
      })
    console.log(result)
    return result
  } catch (err) {
    console.log(err)
    return err
  }
}

最后用方法creatCode调用以上云函数

js:

creatCode(){
    console.log(‘开始生成小程序码‘)
    wx.cloud.callFunction({
      name:‘getcode‘,
      data:{},
      success:res=>{
          console.log(res)
          let fileManager = wx.getFileSystemManager();
          let filePath = wx.env.USER_DATA_PATH+‘/qr.jpg‘;
          fileManager.writeFile({
            filePath:filePath,
            encoding:"binary",
            data:res.result.buffer,
            success:res=>{
              console.log(res)
              wx.previewImage({//图片预览

                urls: [filePath],

              })

            }
          })
      },
      fail: err=>{

      }
    })

}

查了一下官方文档,云函数返回的数据是一个包含二进制数据及其数据类型的对象,是一个ArrayBuffer类型的东西

这里遇到一个坑,直接将这个类型转为base64然后在image标签中调用出来,在微信开发工具上是可以出来的,但是真机上就gg了,直接空白

需要将这个数据存成本地临时文件

于是通过

let fileManager = wx.getFileSystemManager()
fileManager.writeFile

将二进制数据保存。

完事!

原文地址:https://www.cnblogs.com/tianku/p/12216010.html

时间: 2024-07-29 16:09:54

小程序结合云开发获取小程序码的相关文章

小程序云开发获取不到数据库的记录

问题描述尝试小程序使用云数据库获取记录,进行调试的时候,控制台结果一直返回这个,如图: wx.cloud.init(); const db = wx.cloud.database() Page({ data: { }, //加载数据 onLoad:function(){ // collection 方法获取一个集合的引用 db.collection('bill_payment_method').where({ }).get({ success: function (res) { console.

小程序云开发实现小程序支付功能

收集了一些小程序云开发中关于支付功能的案例 注意!小程序支付功能只有企业类型的开发者才能在上线后调用,个人开发者无法测试!!! 借助小程序云开发实现小程序支付功能(含源码) https://www.jianshu.com/p/ddccf5f95e8c 云开发支付的代码 https://developers.weixin.qq.com/community/develop/doc/000620ec5acb482103b7bf41d51804 原文地址:https://www.cnblogs.com/

借助云开发实现小程序朋友圈的发布与展示丨实战

知识技能点 1,小程序云开发 2,小程序云存储 3,小程序云数据库 4,图片大图预览 5,图片选择与删除 先给大家画个发布的流程图 下面是我们真正存到数据库里的数据. 然后我们在朋友圈页只需要请求数据库里的数据,然后展示到页面就如下图所示 所以我们接下来就来实现发布和展示的功能 发布朋友圈 一,首先要创建一个小程序项目 这里就不多说了,注意:一定要用自己的appid,所以你需要注册一个小程序(个人的就行) 二,创建发布页面 我们发布页布局比较简单,一个文字输入框,一个图片展示区域,一个发布按钮.

借助云开发实现小程序订阅消息(模板消息)推送功能

之前的模板消息推送,将在2020年1月10日下线,所以我们不得不使用订阅消息了. 我们先来看下订阅消息的官方简介.接下来我们就来借助云开发,来快速实现小程序消息推送的功能. 一:获取模板 ID 这一步和我们之前的模板消息推送是一样的,也是先添加模板,然后拿到模板id首先是开通订阅消息功能,很简单,如下图由于长期性订阅消息,目前仅向政务民生.医疗.交通.金融.教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务.仅就线下公共服务这一点,长期性订阅消息就和大部分开发者无缘了.所以我们这里只能

借助云开发实现小程序短信验证码的发送

最近在做小程序验证码登陆时,用到了短信发送验证码的需求,自己也研究了下,用云开发结合云函数来实现验证码短信发送还是很方便的. 老规矩,先看效果图 这是我调用腾讯云的短信平台发送的登陆验证码.核心代码其实只有下面这么多是不是感觉实现起来特别简单,怎么说呢,我们代码调用其实就这么几行,就可以实现短信的发送,但是腾讯云短信模板的审核比较繁琐,还有我们先去申请短信模板,短信模板审核通过后才可以使用.我们就先来说代码实现,然后再带大家简单的学习下短信模板的申请. 一,安装node类库 其实我们这里用到了云

微信+小程序购物系统开发微信小程序营销系统开发

行业+小程序的结合有无限可能性,想要玩转微信小程序,享受流量盛宴,可借助--河南鼎汉科技,帮您快速打造具有个性化特色的微信小程序.微信小程序系统开发平台.微信小程序购物商城系统开发1.8.8-3.8.07-6.8.0.5电/微, 微信小程序 微商城 微信小程序营销系统开发,微信公众平台订阅号,微信小程序购物商城系统开发定制. 在移动互联网时代从来不缺分销系统,随着移动电商.传统电商.传统商业企业纷纷进入社交电商领域,社交电商正在向专业平台化.团队规模化.渠道立体化.运作规范化等趋势发展.微信"小

图片按日期分类和查看程序(WPF开发)(附源码)

手机方便了我们的生活,可以随时随地拍摄.越来越多的图片堆砌在电脑里.看到杂乱无章的图片,实在感到头痛.手动整理太复杂.基于此,我写了一个小程序,可以将图片按日期整理和查看.按日期查看图片,回忆过去的点点滴滴! 手机拍摄图片时,图片文件会存储拍摄时间,也就是exif信息.通过读取exif信息,可以知晓拍摄时间,程序就是根据该值排序的.查看文件的属性可以看到如下信息: 这个程序有两个功能:按日期整理图片,按日期查看图片. 1 按日期整理图片 功能选项:选择图片存放目录,整理后目录.分类依据:就是分类

小程序云开发实战

1. 云开发简介 由于小程序本身存储数据的能力有限,所以不可能将大量的数据保存在客户端,而且将数据保存在本地既不安全,也无法与其他小程序用户共享,所以大多数小程序都需要一个服务端,服务端可以用多种技术实现,如PHP.Node.js.Python.ASP.NET.Java EE等.不管使用哪种技术实现服务端,开发一款小程序都需要至少配备两个程序员,一个是开发小程序的程序员,一个是开发服务端的程序员.而且这两个程序员之间还需要不断沟通,以便确认共同遵循的接口. 开发一款小程序需要两名或更多的程序员参

微信小程序开发(二)-----云开发

1.概念 微信小程序的云开发是腾讯云与微信团队深度合作推出的一个全新的小程序的解决方案,它提供了云函数.云数据库与云存储这三大基础能力支持,随着云开发的出现,小程序的开发者可以将服务端的部署和运营的环节进行服务端的托管,让腾讯云去管理,而不需要在运维和管理方面投入太多的精力. 2.传统小程序开发与云开发的区别 小程序传统开发模式:(开发效率低.运维成本高) 对于小程序传统的开发模式而言,我们需要一个客户端(也就是前端页面),而前端页面展示的数据大多来自于数据库,因此我们还需要一个服务端,把后端的