博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apiCloud使用微信转发时的注意事项
阅读量:7103 次
发布时间:2019-06-28

本文共 2555 字,大约阅读时间需要 8 分钟。

序言

该文档为平时开发中遇到的关于微信转发的一些小问题,故将此记录下来,若有遇到同样问题的猿友,愿可以解决你的问题。可能有些地方写的不是很好,请轻喷。若还有其他的见解,也敬请提出,互相学习。

apiCloud 引入微信模块

登录apiCloud官网,寻找到微信模块,并添加到对应的app项目中 【该模块为免费使用】

添加好之后,需进入微信开发平台申请对应项目的key,需要app包名、 app icon,这个过程大概需要一天左右的时间。 具体可以参考

开始使用微信转发功能

  • 注意事项【可针对不能转发的情况debug】
1、微信只能分享本地的图片,不能分享网络图片,所以需要先下载后再去进行转发2、微信对于照片的大小存在,不能超过10M【后面会提到一种参考的解决方法】3、config.xml中需配置正确的微信开发平台申请的项目KEY复制代码
  • 使用代码
let wx = api.require('wx');    wx.isInstalled(function(ret, err) { // 先判断手机端是否存在微信客户端      if (ret.installed) {            // 下载,并判断图片是否过大于10M,则不能分享            api.download({              url: 'http://xxxxx',  //网络图片下载 url              savePath: `fs://image/shareImg${new Date().getTime()}_${parseInt(Math.random() * 1000)}.png`,     //图片存储路径,随机命名图片              report: true,              cache: true,              allowResume: true            }, function(ret, err) {              that.isLoading = true              if (ret.state == 1) {                that.isLoading = false                if (ret.fileSize && ret.fileSize >= 10 * 1000 * 100) {                  api.toast({                    msg: '图片大于10M,无法分享',                    duration: 1500,                    location: 'middle'                  })                  return                }                wx.shareImage({                  scene : 'session',                  contentUrl : ret.savePath // 此处使用savePath即可,无需使用fs                }, function(ret, err) {                  if (ret.status) {                    api.toast({                      msg: '分享成功',                      duration: 1500,                      location: 'middle'                    })                  } else {                    api.toast({                      msg: '分享失败,错误代码为' + err.code,                      duration: 1500,                      location: 'middle'                    })                  }                });              } else if (ret.state == 0){                // api.toast({                //   msg: '图片下载中',                //   duration: 1000,                //   location: 'middle'                // })              } else {                that.isLoading = false                api.toast({                  msg: '图片下载失败,无法分享',                  duration: 1500,                  location: 'middle'                })              }            });          } else {            api.toast({              msg: '当前设备未安装微信客户端',              duration: 1500,              location: 'middle'            })          }        })      }复制代码

关于大于10M图片转发的参考解决方案

可以使用apiCloud中api对象的imageCache,缺点就是分享的图片会出现模糊。

重复处理压缩图片质量大小,使其质量小于10M

转载地址:http://iwyhl.baihongyu.com/

你可能感兴趣的文章
IOException: Packet len5601403 is out of range!
查看>>
《oracle数据库递归查询以及给结果赋初值》
查看>>
hadoop 安装2
查看>>
AM企业即时通讯软件大企业的选择
查看>>
System Center 2012 各模块组件简介及架构图
查看>>
Python 错误和异常小结
查看>>
perl pool ping
查看>>
weblogic10.3.6安装、卸载
查看>>
Struts2+JQuery+Json实例(2)
查看>>
grafana安装
查看>>
mysql“Access denied for user 'root'@'localhost'”问题的解决
查看>>
基于java的分布式爬虫
查看>>
React Native系列——Navigator组件的使用介绍
查看>>
bootstrap 代码
查看>>
jsp自定义标签
查看>>
我的技术博客-公告板!
查看>>
c++大文件读写操作(文件内存映射)
查看>>
nginx 主动防御DDOS***
查看>>
JS学习笔记
查看>>
linux sed seq awk 部分
查看>>