微信开发

微信调用jssdk(分享、拍照)

2018-07-10  本文已影响0人  屎香味十足

需求场景:

超级合伙人,生活圈h5中都会需要从本地相机或者拍照图片上传用来更换头像,或者实名认证;或者需要把当前页面分享出去,让更多的人可以点击查看我们分享的内容,这个时候就需要使用到微信的jsSDK来完成一些列的操作;

具体需求点:

解决方案:

微信h5拍照或者h5分享

1、引入微信JS文件 2、通过config接口注入权限验证配置 3、通过ready接口处理成功验证 4、通过error接口处理失败验证

<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js" async></script>
// 所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用
wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '', // 必填,公众号的唯一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名
    jsApiList: [] // 必填,需要使用的JS接口列表
});

wx.ready(function(){
    // 分享到朋友圈
    wx.onMenuShareTimeline({
            title: '', // 分享标题
            link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: 'that.dataList.share_imgurl', // 分享图标
            success: function () {
              // 用户确认分享后执行的回调函数
              Toast({
                message: '分享朋友圈成功',
                duration:1000
              });
            },
            cancel: function () {
              // 用户取消分享后执行的回调函数
              Toast({
                message: '分享朋友圈失败',
                duration:1000
              });
            }
          });
    // 分享给微信好友
    wx.onMenuShareAppMessage({
            title:'', // 分享标题
            desc: '', // 分享描述
            link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: 'that.dataList.share_imgurl', // 分享图标
            type: '', // 分享类型,music、video或link,不填默认为link
            dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
            success: function () {
              // 用户确认分享后执行的回调函数
              Toast({
                message: '分享成功',
                duration:1000
              });
            },
            cancel: function () {
              // 用户取消分享后执行的回调函数
              Toast({
                message: '分享失败',
                duration:1000
              });
            }
          });
    // 分享到QQ
    wx.onMenuShareQQ({
        title: '', // 分享标题
        desc: '', // 分享描述
        link: '', // 分享链接
        imgUrl: '', // 分享图标
        success: function () {
        // 用户确认分享后执行的回调函数
        },
        cancel: function () {
        // 用户取消分享后执行的回调函数
        }
    });
    //h5拍照
    wx.chooseImage({
            count: 1, // 默认9
            sizeType: ['compressed','compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: ['camera'], // 可以指定来源是相册还是相机'album',默认二者都有
            success: function (res) {
              var localIds = res.localIds[0].toString(); // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
              setTimeout(()=>{
                //上传图片
                wx.uploadImage({
                  localId: localIds, // 需要上传的图片的本地ID
                  isShowProgressTips: 1, // 默认为1,显示进度提示
                  success: function (res) {
                      var serverId = res.serverId; // 返回图片的服务器端ID
              },100);
            }
          })
}
wx.error(function (res) {
            that.setWxOptions('hideOptionMenu');
//            alert('」」」」」'+res.errMsg);  //打印错误消息。及把 debug:false,设置为debug:ture就可以直接在网页上看到弹出的错误提示

 });
上一篇 下一篇

猜你喜欢

热点阅读