zoukankan      html  css  js  c++  java
  • 关于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>
  • 相关阅读:
    帮助C#菜鸟进入SQL/XML开发
    汉字转换为拼音的函数
    水晶报表的使用技巧
    用DataSet操作XML
    frame,iframe,frameset 的区别(来源网络)
    oracle 数据库锁表解决方法
    c#日期类型的使用 (转)
    深入了解ViewState 深入了解ViewState
    js中top、parent、frame
    SQL中 inner join、 left join 、right join、 outer join之间的区别(来自百度自用)
  • 原文地址:https://www.cnblogs.com/yang656/p/7562200.html
Copyright © 2011-2022 走看看