Hbuilder 云端打包app微信分享功能源码示例
2017-04-20 00:00
513 查看
<script type="text/javascript">
mui('.mui-scroll-wrapper').scroll({
indicators: true //是否显示滚动条
});
var shares = null;
mui.plusReady(function() {
var article_id = plus.webview.currentWebview().article_id;
var table = document.body.querySelector('.jays-content');
jays.ajaxPost(jays.api.shop_article_info, {
articleId: article_id
}, function(data) {
if(data.code == 1) {
var li = document.createElement('li');
li.className = 'jays-details';
li.innerHTML =
'<div class="jays-details-top">' +
data.data.title +
'</div>' +
'<div class="jays-author mui-clearfix">' +
'<div class="jays-name">' +
data.data.username +
'</div>' +
'<div class="jays-concern-number mui-icon iconfont icon-yanjing"> '+
data.data.views +
'</div>' +
'</div>' +
'<div class="jays-artical">' +
data.data.contents +
'</div>';
table.appendChild(li);
} else {
mui.toast(data.msg);
}
});
//分享功能
plus.share.getServices(function(s) {
shares = {};
for(var i in s) {
var t = s[i];
shares[t.id] = t;
}
}, function(e) {
mui.toast("无享服务!");
console.log("获取分享服务列表失败:" + e.message);
});
});
function shareAction(sb, ishref, msginfo) {
if(!sb || !sb.s) {
mui.toast("无效的分享服务!");
return;
}
var msg = { content: msginfo.content, extra: { scene: sb.x } };
if(ishref) {
msg.title = msginfo.title;
msg.href = msginfo.href;
msg.content = msginfo.content;
msg.thumbs = [msginfo.pic];
msg.pictures = [msginfo.pic];
}
// 发送分享
if(sb.s.authenticated) {
console.log("---已授权---");
shareMessage(msg, sb.s);
} else {
console.log("---未授权---");
sb.s.authorize(function() {
shareMessage(msg, sb.s);
}, function(e) {
console.log("认证授权失败:" + e.code + " - " + e.message);
});
}
}
/**
* 发送分享消息
* @param {JSON} msg
* @param {plus.share.ShareService} s
*/
function shareMessage(msg, s) {
s.send(
msg,
function() {
mui.toast("分享到\"" + s.description + "\"成功! ");
},
function(e) {
mui.toast()
mui.toast("分享到\"" + s.description + "\"失败! ");
// console.log("分享到\"" + s.description + "\"失败: " + JSON.stringify(e));
}
);
}
/**
* 分享内容或者链接
* @param {JSON} msgdata 分享数据的对象
* @param {Boolean} ishref 是否分享链接
*/
var msgdata = {
title: '哪种吃东西方式更健康',
href: 'http://www.baidu.com',
desc: '2017年4月23日',
pic: ''
};
var appshare = function (msgdata, ishref) {
// 分享参数
if(ishref){
var msginfo = { title: msgdata.title, href: msgdata.href, content: msgdata.desc, pic: msgdata.pic };
}else{
var msginfo = { content: msgdata.desc };
}
var shareBts = [];
// 更新分享列表
var ss = shares['weixin'];
ss && ss.nativeClient && (shareBts.push({ title: '微信朋友圈', s: ss, x: 'WXSceneTimeline' }), shareBts.push({ title: '微信好友', s: ss, x: 'WXSceneSession' }));
ss = shares['qq'];
ss && ss.nativeClient && shareBts.push({ title: 'QQ', s: ss });
if(!ishref){
ss = shares['sinaweibo'];
ss && shareBts.push({ title: '新浪微博', s: ss });
}
// 弹出分享列表
shareBts.length > 0 ? plus.nativeUI.actionSheet({
title: '分享',
cancel: '取消',
buttons: shareBts
},
function(e) {
(e.index > 0) && shareAction(shareBts[e.index - 1], ishref, msginfo);
}
) : plus.nativeUI.alert('当前环境无法支持分享操作!');
}
mui('body').on('tap', '.more', function(){
appshare(msgdata,true);
});
</script>
mui('.mui-scroll-wrapper').scroll({
indicators: true //是否显示滚动条
});
var shares = null;
mui.plusReady(function() {
var article_id = plus.webview.currentWebview().article_id;
var table = document.body.querySelector('.jays-content');
jays.ajaxPost(jays.api.shop_article_info, {
articleId: article_id
}, function(data) {
if(data.code == 1) {
var li = document.createElement('li');
li.className = 'jays-details';
li.innerHTML =
'<div class="jays-details-top">' +
data.data.title +
'</div>' +
'<div class="jays-author mui-clearfix">' +
'<div class="jays-name">' +
data.data.username +
'</div>' +
'<div class="jays-concern-number mui-icon iconfont icon-yanjing"> '+
data.data.views +
'</div>' +
'</div>' +
'<div class="jays-artical">' +
data.data.contents +
'</div>';
table.appendChild(li);
} else {
mui.toast(data.msg);
}
});
//分享功能
plus.share.getServices(function(s) {
shares = {};
for(var i in s) {
var t = s[i];
shares[t.id] = t;
}
}, function(e) {
mui.toast("无享服务!");
console.log("获取分享服务列表失败:" + e.message);
});
});
function shareAction(sb, ishref, msginfo) {
if(!sb || !sb.s) {
mui.toast("无效的分享服务!");
return;
}
var msg = { content: msginfo.content, extra: { scene: sb.x } };
if(ishref) {
msg.title = msginfo.title;
msg.href = msginfo.href;
msg.content = msginfo.content;
msg.thumbs = [msginfo.pic];
msg.pictures = [msginfo.pic];
}
// 发送分享
if(sb.s.authenticated) {
console.log("---已授权---");
shareMessage(msg, sb.s);
} else {
console.log("---未授权---");
sb.s.authorize(function() {
shareMessage(msg, sb.s);
}, function(e) {
console.log("认证授权失败:" + e.code + " - " + e.message);
});
}
}
/**
* 发送分享消息
* @param {JSON} msg
* @param {plus.share.ShareService} s
*/
function shareMessage(msg, s) {
s.send(
msg,
function() {
mui.toast("分享到\"" + s.description + "\"成功! ");
},
function(e) {
mui.toast()
mui.toast("分享到\"" + s.description + "\"失败! ");
// console.log("分享到\"" + s.description + "\"失败: " + JSON.stringify(e));
}
);
}
/**
* 分享内容或者链接
* @param {JSON} msgdata 分享数据的对象
* @param {Boolean} ishref 是否分享链接
*/
var msgdata = {
title: '哪种吃东西方式更健康',
href: 'http://www.baidu.com',
desc: '2017年4月23日',
pic: ''
};
var appshare = function (msgdata, ishref) {
// 分享参数
if(ishref){
var msginfo = { title: msgdata.title, href: msgdata.href, content: msgdata.desc, pic: msgdata.pic };
}else{
var msginfo = { content: msgdata.desc };
}
var shareBts = [];
// 更新分享列表
var ss = shares['weixin'];
ss && ss.nativeClient && (shareBts.push({ title: '微信朋友圈', s: ss, x: 'WXSceneTimeline' }), shareBts.push({ title: '微信好友', s: ss, x: 'WXSceneSession' }));
ss = shares['qq'];
ss && ss.nativeClient && shareBts.push({ title: 'QQ', s: ss });
if(!ishref){
ss = shares['sinaweibo'];
ss && shareBts.push({ title: '新浪微博', s: ss });
}
// 弹出分享列表
shareBts.length > 0 ? plus.nativeUI.actionSheet({
title: '分享',
cancel: '取消',
buttons: shareBts
},
function(e) {
(e.index > 0) && shareAction(shareBts[e.index - 1], ishref, msginfo);
}
) : plus.nativeUI.alert('当前环境无法支持分享操作!');
}
mui('body').on('tap', '.more', function(){
appshare(msgdata,true);
});
</script>
相关文章推荐
- 【仿乐享微信源码免费分享】99%的人都不知道的微信功能!
- 解决iOS app集成分享到QQ空间,微信好友,朋友圈等功能,苹果审核无法通过的问题
- cocos2d-x项目Android版和IOS版接入微信分享功能示例
- Java编程调用微信分享功能示例
- 微信js-sdk分享功能接口常用逻辑封装示例
- 从零开始学android实现计算器功能示例分享(计算器源码)
- android APP 中微信分享功能实现 的总结
- [置顶] android studio 打包签名apk,完成微信和qq的的第三方分享功能
- 在App中添加微信分享功能
- VueJs单页应用实现微信网页授权及微信分享功能示例
- 【仿微盟源码分享】利用第三方微信营销托管平台快速增加粉丝,形成良好互动,打造精美微信APP
- 在Android中使App快速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能
- app签名打包后点击分享到微信好友圈无反应
- MessageDisplayKit 一个类似微信App的IM应用,拥有发送文字、图片、语音、视频、地理位置消息,管理本地通信录、分享朋友圈、漂流交友、摇一摇和更多有趣的功能。
- android APP 中微信分享功能实现 的总结
- 微信app的分享功能
- 在Android中使App快速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能
- [置顶] 在Android中使App快速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能
- iOS 开发 APP集成微信分享功能遇到的问题-2016-10月
- 基于thinkPHP实现的微信自定义分享功能示例