You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
1.8 KiB
84 lines
1.8 KiB
//分享操作 |
|
const ids = [{ |
|
id: "weixin", |
|
ex: "WXSceneSession" |
|
}, { |
|
id: "qq" |
|
}, { |
|
id: "sinaweibo" |
|
}, { |
|
id: "tencentweibo" |
|
}] |
|
const bts = [{ |
|
title: "分享给微信好友" |
|
}, { |
|
title: "分享给 QQ好友" |
|
}, { |
|
title: "分享到新浪微博" |
|
}, { |
|
title: "分享到腾讯微博" |
|
}]; |
|
const shares = {}; |
|
mui.plusReady(function() { |
|
plus.share.getServices(function(s) { |
|
if(s && s.length > 0) { |
|
for(var i = 0; i < s.length; i++) { |
|
var t = s[i]; |
|
shares[t.id] = t; |
|
} |
|
} |
|
}, function() { |
|
console.log("获取分享服务列表失败"); |
|
}); |
|
}); |
|
class AppShare { |
|
constructor({ |
|
href = "链接未知", |
|
title = "标题未知", |
|
thumbs = "logo未知" |
|
} = {}) { |
|
this.href = href; |
|
this.title = title; |
|
this.thumbs = thumbs; |
|
} |
|
goShare() { |
|
plus.nativeUI.actionSheet({ |
|
cancel: "取消", |
|
buttons: bts |
|
}, (e) => { |
|
var i = e.index; |
|
if(i > 0) { |
|
var s_id = ids[i - 1].id; |
|
var share = shares[s_id]; |
|
var ex = ids[i - 1].ex; |
|
var shareFun = (share, ex) => { |
|
var msg = { |
|
extra: { |
|
scene: ex |
|
} |
|
}; |
|
[msg.href, msg.title, msg.thumbs, msg.content] = [this.href, this.title, this.thumbs, this.href]; |
|
console.log(JSON.stringify(msg)); |
|
if(~share.id.indexOf('weibo')) { |
|
msg.content += `;体验地址:${this.href}`; |
|
} |
|
share.send(msg, function() { |
|
console.log("分享到\"" + share.description + "\"成功! "); |
|
}, function(e) { |
|
console.log("分享到\"" + share.description + "\"失败: " + e.code + " - " + e.message); |
|
}); |
|
} |
|
if(share.authenticated) { |
|
// shareMessage(share, ids[i - 1].ex); |
|
shareFun(share, ex); |
|
} else { |
|
share.authorize(function() { |
|
// shareMessage(share, ids[i - 1].ex); |
|
}, function(e) { |
|
console.log("认证授权失败:" + e.code + " - " + e.message); |
|
}); |
|
} |
|
} |
|
}); |
|
} |
|
} |