用的微信接口版本是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;
});
网友评论