美文网首页我爱编程
anglarjs微信js-sdk分享和地理js代码

anglarjs微信js-sdk分享和地理js代码

作者: 四脚蛇 | 来源:发表于2018-06-27 09:39 被阅读0次

    用的微信接口版本是jweixin-1.0.0.js

    具体参照:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

    'use strict';

    angular.module('zhaohuaApp').factory('WXService', function($http, $location) {

    var WXService = {};

    //初始化调一次

    var wxSgin=sign([

            'onMenuShareTimeline',

            'onMenuShareAppMessage',

            'onMenuShareQQ',

            'onMenuShareWeibo',

            'onMenuShareQZone',

            'openLocation'

    ]);

    WXService.share = function(title, desc, img, link){

    if(isWeiXin()){

    wx.ready(function(){

    link = link.replace(/#!/g,'?!') + ((link.indexOf('?') != -1) ? '' : '?');

    var shareData = {

    title: title,

    desc: desc,

    link: link,

    imgUrl: img

    }

    wx.onMenuShareTimeline(shareData);

    wx.onMenuShareAppMessage(shareData);

    wx.onMenuShareQQ(shareData);

    wx.onMenuShareWeibo(shareData);

    wx.onMenuShareQZone(shareData);

    });

    }

    }

    WXService.map = function(longitude, latitude, name, address){

    if(isWeiXin()){

    wx.ready(function(){

    wx.openLocation({

    longitude: longitude, // 经度,浮点数,范围为180 ~ -180。

    latitude: latitude, // 纬度,浮点数,范围为90 ~ -90

    name: name, // 位置名

    address: address, // 地址详情说明

    scale: 15 // 地图缩放级别,整形值,范围从1~28。默认为最大

    });

    });

    }

    }

    // ---------------------------------- 微信服务公共方法 Start----------------------------------

    function sign(apiList){

    if(!isWeiXin()){

    return;

    }

    var absUrl = $location.absUrl();

    var prefix = (absUrl.indexOf('/#!/') != -1) ? '.' : '..';

    $http.post(prefix + '/wxAuthorize/jsApiSign', angular.toJson(absUrl)).then(function(res){

    if(res.data.errorType == 'success'){

    var data = res.data.returnData;

    wx.config({

        debug: false,

        appId: data.appId,

        timestamp: data.timestamp,

        nonceStr: data.noncestr,

        signature: data.signature,

        jsApiList: apiList

    });

    }

    });

    }

    function isWeiXin(){

        var ua = navigator.userAgent.toLowerCase();

        return ua.match(/MicroMessenger/i) == 'micromessenger';

    };

    // ---------------------------------- 微信服务公共方法 End----------------------------------

    return WXService;

    });

    相关文章

      网友评论

        本文标题:anglarjs微信js-sdk分享和地理js代码

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