关于APP分享到QQ、微信等


<body>
  <p>链接地址:</p>
  <input id="sharehref" type="url" value="http://www.baidu.com/" />
  <p>链接标题:</p>
  <input id="sharehrefTitle" type="text" value="title" />
  <p>链接描述:</p>
  <input id="sharehrefDes" type="text" value="test" /></br>
  <div>我是新的</div>
  <button type="button" onclick="shareHref()"> 分享链接</button>
  <script>
    var shares = null;

    var Intent = null,
      File = null,
      Uri = null,
      main = null;


    function plusReady() {
      updateSerivces();
      if (plus.os.name == "Android") {
        main = plus.android.runtimeMainActivity();
        Intent = plus.android.importClass("android.content.Intent");
        File = plus.android.importClass("java.io.File");
        Uri = plus.android.importClass("android.net.Uri");
      }
    }
    if (window.plus) {
      plusReady();
    } else {
      document.addEventListener("plusready", plusReady, false);
    }

    /**** 更新分享服务****/
    function updateSerivces() {
      plus.share.getServices(function (s) {
        shares = {};
        for (var i in s) {
          var t = s[i];
          shares[t.id] = t;
        }
      }, function (e) {
        layer.msg("获取分享服务列表失败:" + e.message);
      });
    }



    /*** 分享操作* @param {JSON} sb 分享操作对象s.s为分享通道对象(plus.share.ShareService)* @param {Boolean} bh 是否分享链接*/
    function shareAction(sb, bh) {
      if (!sb || !sb.s) {
        layer.msg("无效的分享服务!");
        return;
      }

      var msg = {
        content: sharehrefDes.value,
        extra: {
          scene: sb.x
        }
      };
      if (bh) {
        msg.href = sharehref.value;
        if (sharehrefTitle && sharehrefTitle.value != "") {
          msg.title = sharehrefTitle.value;
        }
        if (sharehrefDes && sharehrefDes.value != "") {
          msg.content = sharehrefDes.value;
        }
        msg.thumbs = ["_www/logo.png"];
        msg.pictures = ["_www/logo.png"];
      } else {
        if (pic && pic.realUrl) {
          msg.pictures = [pic.realUrl];
        }
      }
      // 发送分享
      if (sb.s.authenticated) {
        layer.msg("已授权");
        shareMessage(msg, sb.s);
      } else {
        layer.msg("未授权");
        sb.s.authorize(function () {
          shareMessage(msg, sb.s);
        }, function (e) {
          layer.msg("认证授权失败:" + e.code + " - " + e.message);

        });
      }
    }
    /*** 发送分享消息* @param {JSON} msg* @param {plus.share.ShareService} s*/
    function shareMessage(msg, s) {

      // alert(JSON.stringify(msg));
      s.send(msg, function () {
        alert("分享到\"" + s.description + "\"成功! ");

      }, function (e) {
        layer.msgt("分享到\"" + s.description + "\"失败: " + JSON.stringify(e));

      });
    }
    // 分析链接
    function shareHref() {
      var shareBts = [];
      // 更新分享列表
      var ss = shares['weixin'];
      ss && ss.nativeClient && (shareBts.push({
          title: '微信朋友圈',
          s: ss,
          x: 'WXSceneTimeline'
        }),
        shareBts.push({
          title: '微信好友',
          s: ss,
          x: 'WXSceneSession'
        }));
      ss = shares['qq'];
      ss && ss.nativeClient && shareBts.push({
        title: '分享给QQ好友',
        s: ss
      });
      // 弹出分享列表
      shareBts.length > 0 ? plus.nativeUI.actionSheet({
        title: '分享链接',
        cancel: '取消',
        buttons: shareBts
      }, function (e) {
        (e.index > 0) && shareAction(shareBts[e.index - 1], true);
      }) : plus.nativeUI.alert('当前环境无法支持分享链接操作!');
    }

  </script>


  <!-- 主页面标题 -->


</body>







</body>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM