mui实现分享功能_MUI 分享功能(微信、QQ 、朋友圈)

配置文件:manifest.json

plus ->plugins 下边

"share": {/*配置应用使用分享功能,参考http://ask.dcloud.net.cn/article/27*/

"qq": {

"appid": "",/*腾讯QQ开放平台申请应用的AppID值*/

"description": "QQ分享"

},

"weixin": {

"appid": "",/*微信开放平台申请应用的AppID值*/

"appsecret": "",/*微信开放平台申请应用的AppSecret值*/

"description": "微信分享"

}

},

html 代码文件

首页

var shares=null;

var Intent=null,File=null,Uri=null,main=null;

// H5 plus事件处理

function plusReady(){

updateSerivces();

if(plus.os.name=="Android"){

main = plus.android.runtimeMainActivity();

Intent = plus.android.importClass("android.content.Intent");

File = plus.android.importClass("java.io.File");

Uri = plus.android.importClass("android.net.Uri");

}

}

if(window.plus){

plusReady();

}else{

document.addEventListener("plusready",plusReady,false);

}

/**

*

* 更新分享服务

*/

function updateSerivces(){

plus.share.getServices( function(s){

shares={};

for(var i in s){

var t=s[i];

shares[t.id]=t;

}

}, function(e){

alert("获取分享服务列表失败:"+e.message );

} );

}

/**

* 分享操作

* @param {JSON} sb 分享操作对象s.s为分享通道对象(plus.share.ShareService)

* @param {Boolean} bh 是否分享链接

*/

function shareAction(sb,bh) {

if(!sb||!sb.s){

alert("无效的分享服务!");

return;

}

var msg={content:sharehrefDes.value,extra:{scene:sb.x}};

if(bh){

msg.href=sharehref.value;

if(sharehrefTitle&&sharehrefTitle.value!=""){

msg.title=sharehrefTitle.value;

}

if(sharehrefDes&&sharehrefDes.value!=""){

msg.content=sharehrefDes.value;

}

msg.thumbs=["_www/logo.png"];

msg.pictures=["_www/logo.png"];

}else{

if(pic&&pic.realUrl){

msg.pictures=[pic.realUrl];

}

}

// 发送分享

if ( sb.s.authenticated ) {

alert("---已授权---");

shareMessage(msg,sb.s);

} else {

alert("---未授权---");

sb.s.authorize( function(){

shareMessage(msg,sb.s);

},function(e){

alert("认证授权失败:"+e.code+" - "+e.message );

});

}

}

/**

* 发送分享消息

* @param {JSON} msg

* @param {plus.share.ShareService} s

*/

function shareMessage(msg,s){

alert(JSON.stringify(msg));

s.send( msg, function(){

alert("分享到\""+s.description+"\"成功! " );

}, function(e){

alert( "分享到\""+s.description+"\"失败: "+JSON.stringify(e) );

} );

}

// 分析链接

function shareHref(){

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});

// 弹出分享列表

shareBts.length>0?plus.nativeUI.actionSheet({title:'分享链接',cancel:'取消',buttons:shareBts},function(e){

(e.index>0)&&shareAction(shareBts[e.index-1],true);

}):plus.nativeUI.alert('当前环境无法支持分享链接操作!');

}

链接地址:

链接标题:

链接描述:

分享链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 注解学习笔记

转自:http://wanqiufeng.blog.51cto.com/409430/458883 一、什么是java注解 注解,顾名思义,注解,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的。 Java注解又叫java标注…

Prime Palindromes

博客园速度非常不稳定,可能要考虑换地方了。虽然我非常喜欢博客园的模板和气氛。 这个题早就知道是怎么做的了。先求出回文数在再判断是不是素数。关键是不知道区间,那就把所有的全部求出来。虽然可能会超时,但是如果使用点技巧的话还是没问题…

Opencv——DFT变换(实现两个Mat的卷积以及显示Mat的频域图像)

DFT原理:(单变量离散傅里叶变换) 数学基础: 任何一个函数都可以转换成无数个正弦和余弦函数的和的形式。 通常观察傅里叶变换后的频域函数可以获得两个重要的信息:幅频曲线和相频曲线。 在数字图像处理中的作用&#…

python方法items_Python字典items()方法与示例

python方法items字典items()方法 (Dictionary items() Method) items() method is used to get the all items as a view object, the view object represents the key-value pair of the dictionary. items()方法用于获取所有项目作为视图对象,该视图对象表示字典的…

基于(Python下的OpenCV)图像处理的喷墨墨滴形状规范检测

通过图像处理,分析数码印花的喷头所喷出来的墨滴形状,与标准墨滴形状对比分析,来判断墨水及其喷头设备的状态,由两部分构成 PS:获取墨滴形状照片和标准墨滴形状照片都是手绘的,将就的看吧,主要…

const_iterator,const 迭代器

const 迭代器:是迭代器产量,该迭代器的值不能被修改,且需要初始化,初始化之后不能指向其他元素。const_iterator:当我们对const_iterator类型解引用时,返回一个const值,所以只能读,不能写。它是一种迭代器…

临时禁止令:诺西购摩托罗拉面临流产窘境?

近日,美国伊利诺伊州北区法院就中国华为起诉摩托罗拉公司和诺西一案作出初步裁决,禁止摩托罗拉解决方案公司(Motorola Solutions)向诺西披露华为的机密资料。此判决一出,各方评论纷沓而来。笔者认为,从诺西12以美元并购摩托罗拉部…

mysql replace into 语法_mysql Replace into与Insert update

Replace intoreplace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中,1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。2. 否则,直接插入新数…

微机原理——指令系统——传送类指令(MOV、LEA、LDS、LES、LAHF、SAHF、XCHG、XLAT、PUSH、POP、PUSHF、POPF)

博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 【没事儿可以到我主页看看】https://blog.csdn.net/qq_42604176 传送类指令1&…

lastindexof方法_Java Vector lastIndexOf()方法与示例

lastindexof方法向量类别的lastIndexOf()方法 (Vector Class lastIndexOf() method) Syntax: 句法: public int lastIndexOf (Object ob);public int lastIndexOf (Object ob, int indices);lastIndexOf() method is available in java.util package. lastIndexOf(…

李开复:微博的价值在哪里

导读:微博可以改变社会现象,可以传播信息,可以帮助你成长,可以发出你的声音。它让我们能够人人成为记者,让每一个转发的人都变成了一个编辑 很多人问微博是抢了谁的生意,开心网还是人人网?其实它…

mysql 任务计划 /etc/cron.d_Linux /etc/cron.d增加定时任务

一般情况下我们添加计划任务时,都是直接修改/etc/crontab。但是,不建议这样做,/etc/cron.d目录就是为了分项目设置计划任务而创建的。例如,增加一项定时的备份任务,我们可以这样处理:在/etc/cron.d目录下新…

19-Harris角点检测

角点检测顾名思义,就是对类似顶点的检测,与边缘有所区别 边缘可能在某一方向上变化不是特别明显,但角点在任何方向上变换都很明显 cv2.cornerHarris(img,blockSize,ksize,k) cv2.cornerHarris(gray,2,3,0.04) 参数一:img&#xff…

微机原理——指令系统——算数运算指令(ADD、ADC、SUB、SBB、INC、DEC、NEG、CMP、MUL、IMUL、DIV、IDIV、CBW、CWD、BCD调整)

博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 算数运算指令1、加减法指令ADD、ADC 、SUB 、SBB 和增量减量指令INC、DEC、NEGADD…

linux系统出现Too many open files 错误、linux too many open files

故障一、linux too many open files linux系统出现Too many open files 错误,这是因为文件描述符大小不够,或者有不正常的网络连接(Socket也是一种特殊的文件)、文件IO没有关闭并释放出文件描述符(文件句柄,File Operator&#xf…

精通init ramfs构建

一、init ramfs是什么   在2.6版本的linux内核中,都包含一个压缩过的cpio格式的打包文件。当内核启动时,会 从这个打包文件中导出文件到内核的rootfs文件系统,然后内核检查rootfs中是否包含有init文件,如果有则执行它&#xff0…

python 示例_带有示例的Python date isocalendar()方法

python 示例Python date.isocalendar()方法 (Python date.isocalendar() Method) date.isocalendar() method is used to manipulate objects of date class of module datetime. date.isocalendar()方法用于操作模块datetime的日期类的对象。 It uses a date class object a…

mysql 函数重载_[赋值]函数,变量,重载 ,_第1页_169IT

[java/j2ee] java实现简单的给sql语句赋值的示例代码本身很简单。拼接sql的时候?不好数,简单的用来赋值。代码如下:/** * TODO 循环赋值,缺少的类型可随时添加 * author Lucius * param pt * param list * throws SQLException */ public static…

20-SIFT算法

import cv2 import numpy as np from matplotlib import pyplot as pltdef show_photo(name,picture):#图像显示函数cv2.imshow(name,picture)cv2.waitKey(0)cv2.destroyAllWindows()img cv2.imread(E:\Jupyter_workspace\study\data/cfx.png) gray cv2.cvtColor(img,cv2.COL…

Opencv——写入或读取数据到XML或YAML文件

什么是XML、YAML文件 XML(eXtensible Markup Language)是一种元标记语言。所谓“原标记”,就是开发者可以根据自身需要定义的标记,任何满足XML命名规则的名称都可以标记。此外,XML是一种语义/结构化语言,它描述了文档的结构和语义…