uniapp图片分享qq

根据uniapp官网上的组件https://uniapp.dcloud.io/api/plugins/share进行微信,qq分享。微信分享看文档即可,今天主要说一说图片分享qq,及遇到的一些坑。

一、源码

代码1,html代码。

<canvas canvas-id="myCanvas" style="border:1px solid #c3c3c3;visibility: hidden;position: fixed;min-width: 300px;min-height: 400px;"></canvas>

代码2,将图片放入canvas中。

// app生成canvas预览图

createCanvas(){

const ctx = uni.createCanvasContext('myCanvas');

ctx.beginPath();

ctx.drawImage( this.Logo );

ctx.draw();

console.log(ctx);

},

代码3,分享。

uni.canvasToTempFilePath({

canvasId: 'myCanvas',

fileType: 'jpg',

success: res=> {

    // 在H5平台下,tempFilePath 为 base64

  console.log(res.tempFilePath)

  uni.share({

provider: 'qq',

type: 2,

Scene : "WXSenceTimeline",

// url:strurl,

title: '知识岛',

// summary: strShareSummary,

imageUrl: res.tempFilePath,

success: function(res) {

console.log("success:" + JSON.stringify(res));

},

fail: function(err) {

console.log("fail:" + JSON.stringify(err));

uni.showToast({

title: '分享失败',

position: 'bottom'})}}) }})

以上代码就实现了图片分享qq。

二、遇到的坑及解决方法

        一开始按照分享微信的方法来做分享qq,但是一直报错图片非法路径,后来百度了很多,发现qq分享图片地址必须是本地(这也太坑,就是图片地址不能是网络图片)。我有百度了很多,发现我无法获取本地图片地址,而且app上的图片本身就是网络上的,需要保存本地才能分享,wtf。

最后的解决办法是:线将图片保存到canvas,然后用uni.canvasToTempFilePath获取预览地址,然后放到uni.share后就可以了,wtm真是个天才。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近有做一个关于自定义内容之后生成图片,用作分享使用.研究了一下,实现有两种方案:1.服务端生成模板,通过...
    Mr_Atom阅读 7,393评论 0 2
  • 导语:在小程序项目开发中,分享能力几乎是每个项目必备的要求,但原生的分享能力比较有限,不够灵活,今天就我们就一起来...
    极乐叔阅读 1,899评论 1 11
  • 第一次接触canvas,我是抗拒的,但是多接触几次,还有参考一下别人的思路顺便结合文档,上手应该算是成功了(代码乱...
    菜鸡xiaojian阅读 496评论 0 0
  • 问题: 图片上传后保存的图片跟原图不一致,还要待研究 //选择图片 chooseImg(e) { let t...
    wangwing阅读 1,661评论 0 0
  • 一组 李美娴 钱程-----我们的班长在我们印象中他总是很严肃地管理着班里的事务。并且铁面无私,哪...
    筱竹华倩阅读 456评论 0 1

友情链接更多精彩内容