美文网首页微信小程序开发
微信小程序之十:分享

微信小程序之十:分享

作者: ZIM东东 | 来源:发表于2018-11-21 13:22 被阅读9次

    分享代码

      /**
       * 用户点击右上角分享
       */
      onShareAppMessage: function(res) {
        let that = this;
        if (res.from === 'button') {
          console.log(res.target)
        }
        return {
          title: '',
          imageUrl: '',
          path: '/pages/index/index',
          success: function(res) {
            console.log("转发成功");
            shareAppMessage: ok;
            wx.showShareMenu({
              withShareTicket: true
            });
          },
          fail: function(res) {
            console.log("转发失败");
          }
        }
      },
    

    分享注意事项

    1. 分享转发:不自定义转发图片的情况下,
    默认会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为转发图片。
    测试scrollView iOS从scrollView顶部开始截图,Android是截屏有差异
    
    2. 设置的imageUrls 地址中不能有中文
    
    3. 小程序里绘制页面,和网络请求处理结是异步处理,
    所以当点击分享时,请求接口,返回数据之后去转发是行不通的,
    要在转发前就准备好要转发的内容;
    

    分享小程序二维码开发流程

    二维码调用的接口,请阅读 ‘微信小程序之九:二维码’

    获取小程序码的业务:建议在自己服务器上处理,小程序端不做处理
    
    注意:为什么不在小程序端做处理?
    1. access_token的有效期等问题
    2. 调用接口B,获取小程序二维码,接口返回的是二进制流
    3. 加载二进制小程序码的图片,需要转base64 在image组件中可以显示
    4. 小程序canvas画布不支持绘制base64图片,模拟器可以,真机不行
    5. 参数字段scene,带参数最大32个可见字符
    
    如何解决带参数最大32个可见字符?
    1. 服务端要出这样一个接口:请求生成二维码的接口
    2. 服务端接收小程序端传来的生成二维码的参数
    3. 服务端将小程序端传来的参数scene存数据库(因为大于32字符)生成对应的id用于生成二维码
    4. 小程序端扫码进入程序的时候,可以获取参数id
    5. 小程序端用id请求服务端获取当初要编辑在二维码里的真正参数
    

    微信扫码,扫描带参二维码
    进入小程序指定的页面中需要接收场景值scene

    onLoad: function(options) {
     if (options.scene) {
        // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
        var scene = decodeURIComponent(options.scene)
        console.log('打印参数scene--->' + scene)
      }
    }
    

    全部文章地址:www.freefook.com

    相关文章

      网友评论

        本文标题:微信小程序之十:分享

        本文链接:https://www.haomeiwen.com/subject/yttcqqtx.html