• 小程序分享朋友圈


    相比分享好友和群聊,分享朋友圈是比较麻烦的。那么下面就是分享朋友圈的实现方式了:

    第一步:一个触发按钮,点击跳转到指定页面:

    <button class='shareFri' bindtap='onShareFriends'>发给群聊或好友</button>
    onShareFriends:function(){   
    wx.navigateTo({
     url: '../shareFriends/shareFriends?imgurl=' + imgurl + '&nowrmb=' + nowrmb,//可根据实际情况传指定的参数去新页面
     })
    }
    

    第二步:用canvas画指定的图文

    <canvas style=" 300px; height: 200px;" canvas-id="firstCanvas"></canvas>
     drawCanvas: function (e) {
        // 使用 wx.createContext 获取绘图上下文 context
        var context = wx.createCanvasContext('firstCanvas')
     context.drawImage(图片地址, 0, 0, 150, 100)//画图片和小程序码
        context.setStrokeStyle("#00ff00")
        context.setLineWidth(5)
        context.rect(0, 0, 200, 200)
        context.stroke()
        context.setStrokeStyle("#ff0000")
        context.setLineWidth(2)
        context.moveTo(160, 100)
        context.arc(100, 100, 60, 0, 2 * Math.PI, true)
        context.moveTo(140, 100)
        context.arc(100, 100, 40, 0, Math.PI, false)
        context.moveTo(85, 80)
        context.arc(80, 80, 5, 0, 2 * Math.PI, true)
        context.moveTo(125, 80)
        context.arc(120, 80, 5, 0, 2 * Math.PI, true)
        context.stroke()
        context.draw()
      },
     onload:function(){
        this.drawCanvas()
     }
    

     注意:这里的小程序码是后台返回的,后台会返回小程序码的图片地址给我们;如果是前端自己生成小程序码,

    就需要调用https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html,地址里面有三种方式,
    第一种和三种简单,第二种需要用到scene参数,这个参数在onload中的options里面可以接受;
    我个人不建议前端生成小程序码,因为我试过了,通过上面地址的接口返回的小程序码是乱码,需要解析,
    而我试过Blob、ArrayBuffer、FileReader等方法,开发者工具支持,而手机显示有问题,最后经过很多测试,
    还是决定后台来生成小程序码

    第三步:将画好的canvas转为图片

    wx.canvasToTempFilePath({
      x: 100,
      y: 200,
       50,
      height: 50,
      destWidth: 100,
      destHeight: 100,
      canvasId: 'myCanvas',
      success: function(res) {
        console.log(res.tempFilePath)//转化成的图片地址
      } 
    })

     第四步:预览图片

    wx.previewImage({
      current: '', // 当前显示图片的http链接
      urls: [] // 需要预览的图片http链接列表
    })
    第五步:将图片保存到相册
    wx.saveImageToPhotosAlbum({
     filePath: tempFilePath,
     success(res) {
     wx.showModal({
     title: '图片成功保存到相册了,去发圈噻~',
     success: function (res) {
     wx.navigateBack() //保存成功后跳回前一个页面
     }
     })
     }
     })
    

    大概实现过程就是如此,不过这个中有很多坑,下面我就来说一下实现这个过程中的坑有哪些。



  • 相关阅读:
    PHP03
    PHP02
    CentOS7安装GeoServer
    uDig配图与GeoServer添加Style
    udig下载、安装及汉化
    Intellij热部署插件JRebel
    IDEA中Lombok插件的安装与使用
    IEDA 自动生成类注释和方法注释
    Elasticsearch中text与keyword的区别
    Elastic search 7.X 去掉了type的原因
  • 原文地址:https://www.cnblogs.com/good-qinqin/p/9105249.html
Copyright © 2020-2023  润新知