美文网首页
微信分享朋友圈和地址获取

微信分享朋友圈和地址获取

作者: 洱月 | 来源:发表于2017-12-10 16:36 被阅读0次

<script src="https://res.wx.qq.com/open/js/jweixin-1.1.0.js "></script>
<script src="/js/wechatHelper.js" type="text/javascript"></script>

   wx.config({
        debug: false,
        appId: _appId,
        timestamp:_timestamp,
        nonceStr: _nonceStr,
        signature:_signature,
        jsApiList: _jsApiList
    });
    var share = {
        title: '参与众泰COC拼图活动赢油卡!',
        desc: "参与众泰COC拼图活动赢油卡!",
        link: 'http://zt.oxshell.com/PuzzleActivity/Index',
        imgUrl: window.location.origin + "/Image/web/COCpic/COCshare.jpg"
    }

    wx.ready(function () {
        //分享到朋友圈
        wx.onMenuShareTimeline({
            title: share.title,
            desc: share.desc,
            link: share.link,
            imgUrl: share.imgUrl,
            success: function () {
                shareSuccess(2, share.title, share.link);
            },
            cancel: function () { if (typeof cancel == "function") { } }
        });

        //分享给朋友
        wx.onMenuShareAppMessage({
            title: share.title,
            desc: share.desc,
            link: share.link,
            imgUrl: share.imgUrl,
            success: function () {
                shareSuccess(1, share.title, share.link);
            },
            type: 'link',
            cancel: function () { if (typeof cancel == "function") { } }
        });
    });
    function shareSuccess(type, title, url) {
        $.ajax({
            type: 'POST',
            url: '/puzzleactivity/Share',
            dataType: 'json',
            data: JSON.stringify({ targetType: type, shareTitle: title, shareUrl: url, pageType:0 }),
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                if (data.status==200) {
                    CountLeftPrizeDrawTimes();
                }
            }
        })
    }
封装插件

var wechatHelper = {
//浏览器原生获取经纬度方法
getDefaultLocation: function (callback, error) {
    var that = this;
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function (position) {
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;
            sessionStorage.setItem("latitude", latitude);
            sessionStorage.setItem("longitude", longitude);
            var data = {
                latitude: latitude,
                longitude: longitude
            };
            if (typeof callback == "function") { callback(data); }
        },
        function () { if (typeof error == "function") { error(); } });
    } else { if (typeof error == "function") { error(); } }
},
//微信JS-SDK获取经纬度方法
getWechatLocation: function (callback, error) {
    var that = this;
    wx.ready(function () {
        var address = "获取失败。";
        if (sessionStorage.getItem("address")) address = sessionStorage.getItem("address");

        if (sessionStorage.getItem("updateTime") && sessionStorage.getItem("latitude") && sessionStorage.getItem("longitude")) {
            var time = parseInt(sessionStorage.getItem("updateTime"));
            if (new Date().getTime() - time < 600000) {
                callback({
                    latitude: sessionStorage.getItem("latitude"),
                    longitude: sessionStorage.getItem("longitude"),
                    address: address
                });
                return;
            }
        }
        wx.getLocation({
            //type: 'gcj02',
            success: function (res) {
                var latitude = res.latitude;
                var longitude = res.longitude;
                var speed = res.speed;
                var accuracy = res.accuracy;
                sessionStorage.setItem("latitude", latitude);
                sessionStorage.setItem("longitude", longitude);
                sessionStorage.setItem("updateTime", new Date().getTime());
                var data = {
                    latitude: latitude,
                    longitude: longitude,

                    address: address
                };
                //console.log("-----------------");
                //console.log(data);
                wechatHelper.getCityName(data.latitude, data.longitude,
                    function (result) {
                        data.address = result.address;
                        data.cityName = result.cityName;
                        data.provinceName = result.provinceName;
                        sessionStorage.setItem("cityName", result.cityName);
                        sessionStorage.setItem("provinceName", result.provinceName);
                        if (typeof callback == "function") { callback(data); }
                    },
                    function () { if (typeof callback == "function") { callback(data); } });
            },
            cancel: function () { if (typeof error == "function") { error(); } }
        });
    });
    wx.error(function (res) {
        if (typeof error == "function") { error(res); }
    });
},
//百度地图获取城市
getCityName: function (latitude, longitude, callback,error) {

    if (sessionStorage.getItem("updateTime") && sessionStorage.getItem("cityName") && sessionStorage.getItem("formatted_address") &&
        sessionStorage.getItem("latitude") && sessionStorage.getItem("longitude")) {
        var time = parseInt(sessionStorage.getItem("updateTime"));
        if (new Date().getTime() - time < 600000) {
            callback({
                latitude: sessionStorage.getItem("latitude"),
                longitude: sessionStorage.getItem("longitude"),
                cityName: sessionStorage.getItem("cityName"),
                address: sessionStorage.getItem("address")
            });
            return;
        }
    }

    $.ajax({
        url: "https://api.map.baidu.com/geocoder/v2/?ak=2GhAjyOSR2zqbv2o4MaMIEHY3ieP1ixC&callback=renderReverse&location=" + latitude + "," + longitude + "&output=json&pois=1",
        type: "get",
        dataType: "jsonp",
        jsonp: "callback",
        success: function (data) {
            var province = data.result.addressComponent.province;
            var cityname = (data.result.addressComponent.city);
            var district = data.result.addressComponent.district;
            var street = data.result.addressComponent.street;
            var street_number = data.result.addressComponent.street_number;
            var address = data.result.formatted_address;
            sessionStorage.setItem("province", province);
            sessionStorage.setItem("cityname", cityname);
            sessionStorage.setItem("district", district);
            sessionStorage.setItem("street", street);
            sessionStorage.setItem("street_number", street_number);
            sessionStorage.setItem("address", address);
            sessionStorage.setItem("cityName", cityname);
            var data = {
                latitude: latitude,
                longitude: longitude,
                cityName: cityname,
                provinceName:province,
                address: address
            };
            if (typeof callback == "function") {
                callback(data);
            }
        },
        error: function (err) {
            if (typeof callback == "function") { error(err); }
        }
    });
},
trackRecord: function (columns, latitude, longitude, address) {
    //console.log(address);
    $.ajax({
        type: 'POST',
        url: "/UpdateUserInfo.ashx",
        data: { method: "trackRecord", title: document.title, columns: columns, latitude: latitude, longitude: longitude, address: address },
        success: function (data) { },
        error: function (err) { }
    });
},
//分享到朋友圈
shareTimeline: function (id, columns, desc, link, imgUrl, success, cancel, error, items) {
    var item = items || 0;
    wx.onMenuShareTimeline({
        title: document.title,
        desc: desc,
        link: link,
        imgUrl: imgUrl,
        success: function () {
            $.ajax({
                type: 'POST',
                url: "/UpdateUserInfo.ashx",
                data: { method: "sharerecord", title: document.title, columns: columns, objectId: id, Flag: 1, item: item },
                success: function (result) { if (typeof success == "function") { success(result); } },
                error: function (err) { if (typeof error == "function") { error(err); } }
            });
        },
        cancel: function () { if (typeof cancel == "function") { cancel(); } }
    });
},
// 分享给朋友
shareAppMessage: function (id, columns, desc, link, imgUrl, success, cancel, error, items) {
    var item = items || 0;
    wx.onMenuShareAppMessage({
        title: document.title,
        desc: desc,
        link: link,
        imgUrl: imgUrl,
        type: 'link',
        success: function () {
            $.ajax({
                type: 'POST',
                url: "/UpdateUserInfo.ashx",
                data: { method: "sharerecord", title: document.title, columns: columns, objectId: id, Flag: 0, item: item },
                success: function (result) { if (typeof success == "function") { success(result); } },
                error: function (err) { if (typeof error == "function") { error(err); } }
            });
        },
        cancel: function () { if (typeof cancel == "function") { cancel(); } }
    });
}

};

相关文章

网友评论

      本文标题:微信分享朋友圈和地址获取

      本文链接:https://www.haomeiwen.com/subject/widvixtx.html