(function(){
var origin_url = location.href;
var oauth_url = 'https://vx.mcilife.com/weixin/api/oauth/?callback='; var $_GET = (function(){
var url = window.document.location.href.toString();
var u = url.split("?");
if(typeof(u[1]) == "string"){
u = u[1].split("&");
var get = {};
for(var i in u){
var j = u[i].split("=");
get[j[0]] = j[1];
}
return get;
} else {
return {};
}
})();
//localStroage
var storage = {
read:function(name){
return localStorage.getItem(name);
},
write:function(name,value){
localStorage.setItem(name, String(value));
},
rm:function(name){
localStorage.removeItem(name);
},
clear:function(){
localStorage.clear();
}
}
//鐢ㄦ埛
var user = {
login:function(){ if(storage.read('token') === null && !$_GET['token']){
//token鍙傛暟銆佸瓨鍌ㄩ兘涓嶅瓨鍦� 鎺堟潈
user.oauth();
}else if($_GET['token'] && storage.read('token') === null){
//token瀛樺湪銆佸瓨鍌ㄤ笉瀛樺湪 鍐欏叆瀛樺偍 璺宠浆
storage.write('token',$_GET['token']);
user.setInfo();//鑾峰彇鍒皌oken涔嬪悗鏇存柊鐢ㄦ埛淇℃伅
location.href = origin_url;
}else if(storage.read('token') !== null){ }
},
oauth:function(){
var url = encodeURIComponent(origin_url);
location.href= oauth_url + url;
},
setInfo:function(){
if(storage.read('openid')
&& storage.read('unionid')
&& storage.read('nickname')
&& storage.read('headimgurl')
&& storage.read('isSubscribe')) return false; var isApp = getQueryString("isApp");
if(isApp=="10000"||isApp=="10001"){ }else if(isApp=="20000"){ $.ajax({
url:'https://vx.mcilife.com/weixin/api/getinfo/?token='+storage.read('token'),
type:'get',
async:false,
dataType:'json',
success:function(data){
if(data.code == 0){ if('openid' in data.data) storage.write('openid',data.data.openid);
if('unionid' in data.data) storage.write('unionid',data.data.unionid);
if('nickname' in data.data) storage.write('nickname',data.data.nickname);
if('headimgurl' in data.data) storage.write('headimgurl',data.data.headimgurl);
if('isSubscribe' in data.data) storage.write('isSubscribe',data.data.isSubscribe); }else{
user.oauth();//鑾峰彇淇℃伅澶辫触锛岄噸鏂版巿鏉�
}
}
})
}
}
}; if(isApp=="20000"){
user.login();
} //授权成功
var shareimg = 'http://gcw.mcilife.com/Square/image/mc.jpg';//分享的图片
$.ajax({
url : "http://vx.mcilife.com/weixin/jssdk/share/",//分享接口地址
type : 'post',
data:{url:location.href},
cache: false,
dataType : 'json',
success : function(data) {
console.log(data);
wx.config( {
appId : data.data.appId,// 必填,公众号的唯一标识
timestamp : data.data.timestamp,// 必填,生成签名的时间戳
nonceStr : data.data.nonceStr,// 必填,生成签名的随机串
signature : data.data.signature,// 必填,签名,见附录1
jsApiList : [ 'onMenuShareTimeline', 'onMenuShareAppMessage', 'showOptionMenu' ,'onMenuShareQQ' ,'onMenuShareWeibo' ]
// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
}); wx.ready(function() {
wx.showOptionMenu();//打开分享按钮 //分享到朋友圈
wx.onMenuShareTimeline( {
title : "微信朋友圈:山屿海广场舞活动",// 分享标题
desc: '活动快乐,广场舞......快来参加!!', //描述
link : window.location.href,// 分享链接
imgUrl : shareimg,// 分享图标
success : function(data) { $.ajax({
url: 'http://'+setIp+':8080/mcilife-inter/gcw/insertUserVoteNum',
type:'post',
dataType:'json',
cache: false,
data:{
userId:userId,
num:2,
isTime:0
},
success: function(data) {
},
error: function () { }
}) },
cancel : function() { }
}); //分享到朋友
wx.onMenuShareAppMessage( {
title : '微信好友:山屿海广场舞活动',
desc : '活动快乐,广场舞......快来参加!!',
link : window.location.href,
imgUrl : shareimg,
success : function(data) {// 用户确认分享后执行的回调函数
$.ajax({
url: 'http://'+setIp+':8080/mcilife-inter/gcw/insertUserVoteNum',
type:'post',
dataType:'json',
cache: false,
data:{
userId:userId,
num:2,
isTime:0
},
success: function(data) {
},
error: function () { }
})
},cancel : function() {}
}); wx.onMenuShareQQ({
title: 'QQ:山屿海广场舞活动',
desc: '活动快乐,广场舞......快来参加!!',
link:window.location.href,
imgUrl: shareimg,
success: function () {
$.ajax({
url: 'http://'+setIp+':8080/mcilife-inter/gcw/insertUserVoteNum',
type:'post',
dataType:'json',
cache: false,
data:{
userId:userId,
num:2,
isTime:0
},
success: function(data) {
},
error: function () { }
})
},
cancel: function () { }
}); wx.onMenuShareWeibo({
title: '微博:山屿海广场舞活动',
desc: '活动快乐,广场舞......快来参加!!',
link: window.location.href,
imgUrl: shareimg,
success: function () {
$.ajax({
url: 'http://'+setIp+':8080/mcilife-inter/gcw/insertUserVoteNum',
type:'post',
dataType:'json',
cache: false,
data:{
userId:userId,
num:2,
isTime:0
},
success: function(data) {
},
error: function () { }
})
},
cancel: function () { }
});
})
}
}) })()

JS授权的更多相关文章

  1. 浏览器通知js授权

    // 获得权限 Notification.requestPermission(); // 点击按钮 document.querySelector('#button').addEventListener ...

  2. [转]passport.js学习笔记

    概述 passport.js是Nodejs中的一个做登录验证的中间件,极其灵活和模块化,并且可与Express.Sails等Web框架无缝集成.Passport功能单一,即只能做登录验证,但非常强大, ...

  3. 如何系统地学习Node.js?

    转载自知乎:http://www.zhihu.com/question/21567720 ------------------------------------------------------- ...

  4. 微信小程序button授权页面,用户拒绝后仍可再次授权

    微信小程序授权页面,进入小程序如果没授权跳转到授权页面,授权后跳转到首页,如果用户点拒绝下次进入小程序还是能跳转到授权页面,授权页面如下 app.js  中的 onLaunch或onShow中加如下代 ...

  5. 【分享】2017 开源中国新增开源项目排行榜 TOP 100

    2017 年开源中国社区新增开源项目排行榜 TOP 100 新鲜出炉! 这份榜单根据 2017 年开源中国社区新收录的开源项目的关注度和活跃度整理而来,这份最受关注的 100 款开源项目榜单在一定程度 ...

  6. 升讯威微信营销系统开发实践:(4)源代码结构说明 与 安装部署说明( 完整开源于 Github)

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

  7. AngularJS官网seed目录结构

    1.AngularJS官网seed目录结构 css/ img/ js/ app.js controllers.js directives.js filters.js services.js lib/ ...

  8. 2016 年度开源中国新增开源软件排行榜 TOP 100

    2016 年度开源中国新增开源软件排行榜 TOP 100 2016 年度开源中国新增开源软件排行榜 TOP 100 新鲜出炉!本榜单根据 2016 年开源中国新收录的 3030 款软件的关注度和活跃度 ...

  9. 微信JS SDK配置授权,实现分享接口

    微信开放的JS-SDK面向网页开发者提供了基于微信内的网页开发工具包,最直接的好处就是我们可以使用微信分享.扫一扫.卡券.支付等微信特有的能力.7月份的时候,因为这个分享的证书获取问题深深的栽了一坑, ...

随机推荐

  1. ExtJS 4 MVC 官方示例

    参考原文翻译地址:http://www.showframework.com/2012/07/extjs-mvc-architecture/ 效果图 代码结构: 源代码下载: http://hot.ba ...

  2. 【原创】MapReduce备份Elasticsearch数据到HDFS(JAVA)

    一.环境:JAVA8,Elasticsearch-5.6.2,Hadoop-2.8.1二.实现功能:mapreduce读elasticsearch数据.输出parquet文件.多输出路径三.主要依赖 ...

  3. E20170524-gg

    Awesome   adj. 可怕的; 令人敬畏的; 使人畏惧的; 极好的;

  4. eclipse本地怎么和git相同

    1.打开Eclipse后,在左侧的项目窗口空白处右键,选择“Import...”2.打开Import窗口后,选择“Git”->"Projects from Git",点击“N ...

  5. Java知识点脑图

    做服务器开发有十几年了,其中大部分用到的都是Java服务器开发,从JDK1.4到现在的JDK1.8,从基本的Java Application到 J2EE(JBOSS,Glassfish),OSGI,到 ...

  6. C# DateTime.Now 详解

    //2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...

  7. bind: Invalid argument

    出现此问题在于,listen函数在socket函数和bind函数之间. 例: /*客户端程序开始建立sockfd描述符*/ listenfd = socket(AF_INET,SOCK_STREAM, ...

  8. sigaction函数的功能

    sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作). 他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该 ...

  9. POJ3320 Jessica's Reading Problem

    Bryce1010模板 #include <stdio.h> #include <string.h> #include <stdlib.h> #include &l ...

  10. 小心我“DIR”溢出你!

    转自https://blog.csdn.net/wql19881207/article/details/6300760 https://blog.csdn.net/wql19881207/articl ...