Commit 77bf2f41 authored by liuxinjun's avatar liuxinjun

增加透明授权按钮以及分享人数显示

parent 2a7a265b
...@@ -515,7 +515,7 @@ var sdk = { ...@@ -515,7 +515,7 @@ var sdk = {
if (cc.sys.platform === cc.sys.WECHAT_GAME) { if (cc.sys.platform === cc.sys.WECHAT_GAME) {
var options = wx.getLaunchOptionsSync(); var options = wx.getLaunchOptionsSync();
var referee_id = options.query.uid; //.推荐人id var referee_id = options.query.share_uid; //.推荐人id
var source_id = options.query.source_id; //.用户来源id var source_id = options.query.source_id; //.用户来源id
var source_id2 = options.query.source_id2; //.用户来源子id var source_id2 = options.query.source_id2; //.用户来源子id
var share_id = options.query.share_id; //.分享素材ID var share_id = options.query.share_id; //.分享素材ID
...@@ -608,7 +608,185 @@ var sdk = { ...@@ -608,7 +608,185 @@ var sdk = {
} }
}, },
/**
* 微信授权
*
* 用户点击游戏中授权按钮之后将授权的数据res传递进来
*
* self.button = wx.createUserInfoButton({
})
* self.button.onTap((res) => {
* sdk.WechatAuth(res,function (d) {
*
* })
* });
*/
WechatAuth(res,callback){
if (cc.sys.platform === cc.sys.WECHAT_GAME)
{
var options = wx.getLaunchOptionsSync();
var referee_id = options.query.share_uid; //.推荐人id
var source_id = options.query.source_id; //.用户来源id
var source_id2 = options.query.source_id2; //.用户来源子id
var share_id = options.query.share_id; //.分享素材ID
var special_flag = options.query.special_flag;
self.setItem("wxauth",1);
console.log('sdk 用户已经授权');
var reqData = {
rawData: res.rawData,
iv: res.iv,
encryptedData: res.encryptedData,
signature: res.signature,
referee_id: referee_id,
source_id: source_id,
source_id2: source_id2,
share_id: share_id,
special_flag:special_flag,
}
console.log('sdk 授权参数', reqData)
self.Post(self.ip1 + self.modify, reqData, function(data){
console.log('sdk 更新用户信息结果', data)
if(data.c == 1){
self.setItem('userinfo', JSON.stringify(data.d));
//.登录成功,重新初始化
self.userid = data.d.uid;
//self.init({},(d)=>{})
callback(data.d);
}else{
console.log(' sdk 授权接口请求失败', data)
wx.showToast({title: '授权失败请重试3'});
}
});
}
},
/**
* @apiGroup C
* @apiName WxAuthLoginOpacity
* 将透明图片附着在游戏中功能按钮之上,点击弹出授权按钮
* @apiParam {Object} [obj] 传递按钮位置信息 width height left top
*
* @api {微信授权} 微信授权登录 WxAuthLoginOpacity(授权)不对外提供调用
*
*/
WxAuthLoginOpacity(obj,callback){
var self = this;
if (cc.sys.platform === cc.sys.WECHAT_GAME) {
if(self.getItem('wxauth'))return;//已授权
var options = wx.getLaunchOptionsSync();
var referee_id = options.query.share_uid; //.推荐人id
var source_id = options.query.source_id; //.用户来源id
var source_id2 = options.query.source_id2; //.用户来源子id
var share_id = options.query.share_id; //.分享素材ID
var special_flag = options.query.special_flag;
//.微信登录按钮
if(self.button){
self.button.show();
}else{
wx.getSystemInfo({
success(res){
var ratio = 750/res.screenWidth;//设计与真实尺寸缩放比例,这里默认设计分辨率为750x1334
if(!obj){
var width = 120;
var height = 40;
var left = res.screenWidth/2-width/2;
var top = res.screenHeight/2-height/2;
}else{
var width = obj.width/ratio;
var height = obj.height/ratio;
var left = obj.left/ratio;
var top = obj.top?obj.top/ratio:obj.bottom?res.screenHeight - obj.bottom/ratio - height:0;//如果以底部为定位基线要使用bottom计算
}
self.button = wx.createUserInfoButton({
type: 'text',
text: '获取用户信息',
style: {
left: left,
top: top,
width: width,
height: height,
lineHeight: height,
backgroundColor: 'rgba(0,0,0,0)',
color: 'rgba(0,0,0,0)',
textAlign: 'center',
fontSize: 16,
borderRadius: 4
}
})
self.button.onTap((res1) => {
// 处理用户拒绝授权的情况
console.log('授权按钮',res1);
if (res1.errMsg.indexOf('auth deny') > -1 || res1.errMsg.indexOf('auth denied') > -1 ) {
// self.button.hide();
// callback && callback(false)
return;
}
wx.showToast({title: '登录中...',icon:'loading',duration: 8});
wx.getSetting({
success(auths){
if(auths.authSetting["scope.userInfo"]){
self.setItem("wxauth",1);
console.log('sdk 用户已经授权');
var reqData = {
rawData: res1.rawData,
iv: res1.iv,
encryptedData: res1.encryptedData,
signature: res1.signature,
referee_id: referee_id,
source_id: source_id,
source_id2: source_id2,
share_id: share_id,
special_flag:special_flag,
}
// console.log('==登录参数==', reqData)
self.Post(self.ip1 + self.modify, reqData, function(data){
console.log('sdk 更新用户信息结果', data)
if(data.c == 1){
self.setItem('userinfo', JSON.stringify(data.d));
wx.hideToast();
self.button.hide();
//.登录成功,重新初始化
self.userid = data.d.uid;
//self.init({},(d)=>{})
callback && callback(data.d);
}else{
console.log(' sdk 登录接口请求失败', data)
wx.showToast({title: '登录失败请重试3'});
}
});
}else{
callback && callback(false)
}
}
})
})
self.button.show()
}
})
}
}
},
/** /**
* 初始化接口 * 初始化接口
*/ */
...@@ -686,6 +864,32 @@ var sdk = { ...@@ -686,6 +864,32 @@ var sdk = {
//.微信右上角分享 //.微信右上角分享
var specialFlag =0; var specialFlag =0;
wx.showShareMenu({withShareTicket:true}) wx.showShareMenu({withShareTicket:true})
wx.updateShareMenu({
withShareTicket: true,
isUpdatableMessage: true,
activityId: this.getConfig4().activityId , // 活动 ID
templateInfo: {
parameterList: [{
name: 'member_count',
value: String(this.getConfig4().activityMemberCount)
}, {
name: 'room_limit',
value: String(this.getConfig4().activityRoomLimit)
}]
},
success: function(){
console.error("动态消息成功回调");
},
fail: function(){
console.error("动态消息失败回调");
},
complete: function(){
console.error("动态消息完成");
},
})
wx.onShareAppMessage(function(res){ wx.onShareAppMessage(function(res){
//.默认0:右上角分享 //.默认0:右上角分享
var tpye = 0; var tpye = 0;
...@@ -787,6 +991,31 @@ var sdk = { ...@@ -787,6 +991,31 @@ var sdk = {
} }
console.log("sdk 微信分享", shareInfo); console.log("sdk 微信分享", shareInfo);
if (cc.sys.platform === cc.sys.WECHAT_GAME) { if (cc.sys.platform === cc.sys.WECHAT_GAME) {
wx.updateShareMenu({
withShareTicket: true,
isUpdatableMessage: true,
activityId: this.getConfig4().activityId , // 活动 ID
templateInfo: {
parameterList: [{
name: 'member_count',
value: String(this.getConfig4().activityMemberCount)
}, {
name: 'room_limit',
value: String(this.getConfig4().activityRoomLimit)
}]
},
success: function(){
console.error("动态消息成功回调");
},
fail: function(){
console.error("动态消息失败回调");
},
complete: function(){
console.error("动态消息完成");
},
})
wx.shareAppMessage(shareInfo); wx.shareAppMessage(shareInfo);
var nowTime = new Date().getTime(); var nowTime = new Date().getTime();
...@@ -888,7 +1117,7 @@ var sdk = { ...@@ -888,7 +1117,7 @@ var sdk = {
var ts = new Date().getTime(); var ts = new Date().getTime();
reqData.ts = ts; reqData.ts = ts;
var token = ""; var token = "";
if(this.getUser()) if(this.getUser()&&this.getUser()!=null)
{ {
token = this.getUser().token; token = this.getUser().token;
} }
...@@ -955,7 +1184,7 @@ var sdk = { ...@@ -955,7 +1184,7 @@ var sdk = {
reqData.llewan_sdk_version = sdk_conf.llewan_sdk_version; reqData.llewan_sdk_version = sdk_conf.llewan_sdk_version;
var ts = new Date().getTime(); var ts = new Date().getTime();
var token = ""; var token = "";
if(this.getUser()) if(this.getUser()&&this.getUser()!=null)
{ {
token = this.getUser().token; token = this.getUser().token;
} }
......
...@@ -15,7 +15,7 @@ var sdk_conf = { ...@@ -15,7 +15,7 @@ var sdk_conf = {
//.开发平台:由sdk维护者确定,weixin 或 toutiao,接入游戏的技术不需要修改 //.开发平台:由sdk维护者确定,weixin 或 toutiao,接入游戏的技术不需要修改
dev_platform: 'weixin', dev_platform: 'weixin',
//.乐玩sdk的版本号:由sdk维护者确定,接入游戏的技术不需要修改 //.乐玩sdk的版本号:由sdk维护者确定,接入游戏的技术不需要修改
llewan_sdk_version:'1.009', llewan_sdk_version:'1.104',
//.接口加密key,切勿修改 //.接口加密key,切勿修改
md5_key: '$5dfjr$%dsadsfdsii', md5_key: '$5dfjr$%dsadsfdsii',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment