• 基于h5+的微信分享,hbuilder打包


    1、打开app项目的manifest.json的文件,选择模块权限配置,将Share(分享)模块添加至已选模块

    2、选择SDK配置,在plus.share·分享中,勾选□ 微信消息及朋友圈,配置好appidappsecret值(appid/appsecret可以在微信开发者平台创建应用获取)

    3、项目JS文件中的微信支付代码如下(基于angular开发):

    $scope.inviteFrendShareFn = function() { //分享方法
        if($scope.userLoginFlag){
            shareHref()
        }else{
            $state.go('sign');
        }
    };
    var shares = 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) {
            alert("获取分享服务列表失败:" + e.message)
        })
    }
    function shareAction(sb, bh) { //分享方法
        var int; //分享链接
        $http.post(url + "/xxxx", {}).success(function(data) {
            console.log("/xxxx:"+JSON.stringify(data));
            int = url + `/index.html#/shareView?userKey=${data.data.user_key}&invitePhone=${data.data.phone}`;
            console.log("shareUrl:"+int);
            $scope.wxshareUrl = int;
            if (!sb || !sb.s) {
                alert("无效的分享服务!");
                return
            }
            var msg = {
                content: "这是分享内容",
                extra: {
                    scene: sb.x
                }
            };
            if (bh) {
                msg.href = int;
                msg.title = '这是分享标题';
                msg.content = "这是分享内容";
                msg.thumbs = ["这里放分享显示的应用图标链接"]; //http://xxx.xxx/logo.gif
                msg.pictures = ["这里放分享显示的应用图标链接"] //http://xxx.xxx/logo.gif
            }
            if (sb.s.authenticated) {
                shareMessage(msg, sb.s)
            } else {
                sb.s.authorize(function() {
                    shareMessage(msg, sb.s)
                },
                function(e) {})
            }
        })
    }
    function shareMessage(msg, s) { //分享回调
        s.send(msg,
        function() {
            $ionicPopup.alert({
                title: '提示',
                template: "分享到"" + s.description + ""成功! ",
                okText: '确定'
            })
        },
        function(e) {
            $ionicPopup.alert({
                title: '提示',
                template: "分享到"" + s.description + ""失败! ",
                okText: '确定'
            })
        })
    }
    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'
        }));
        shareBts.length > 0 ? plus.nativeUI.actionSheet({
            cancel: '取消',
            buttons: shareBts
        },
        function(e) {
            e.index > 0 && shareAction(shareBts[e.index - 1], true)
        }) : plus.nativeUI.alert('当前环境无法支持分享链接操作!')
    }

    ps:HTML5+参考文档

  • 相关阅读:
    CREATE VIEW
    CREATE USER
    安全层次
    PHP json_decode 函数解析 json 结果为 NULL 的解决方法
    Java实现 LeetCode 7整数反转
    Java实现 LeetCode 6 Z字形变换
    Java实现 LeetCode 6 Z字形变换
    Java实现 LeetCode 6 Z字形变换
    Java实现 LeetCode 5 最长回文子串
    Java实现 LeetCode 5 最长回文子串
  • 原文地址:https://www.cnblogs.com/muou2125/p/11739484.html
Copyright © 2020-2023  润新知