app中经常会有分享的功能,不管是分享商品还是文字还是图片或者是发送给微信好友扣扣好友,一下做一总结。

分享的样式(分享所有的样式模块):MNActionButton。

在apicloud 中添加这个模块,不需要再config 中配置这个模块,但是如果是真机调试需要自定义云编译一下。

效果图展示:此模块综合效果还是比较好的,建议使用此模块

一、使用方法

<span tapmode onclick="fnOpen()"> Open</span>
<span tapmode onclick="fnClose()"> Close </span>
<span tapmode onclick="fnHide()"> Hide </span>
<span tapmode onclick="fnShow()"> Show </span>

// widget://image/btn/iconfont-cancel.png 路径解释,实际就是文件根目录下image文件夹下的 btn 文件夹下的图片
var MNActionButton;
apiready = function() {
MNActionButton = api.require('MNActionButton');
};
function fnOpen() {
MNActionButton.open({
layout : {
row : , //(可选项)数字类型;每屏显示菜单按钮的行数;默认:2
col : , //(可选项)数字类型;每屏显示菜单按钮的列数;默认:3
rowSpacing : , //(可选项)数字类型;行与行之间的距离;默认:10
colSpacing : , //(可选项)数字类型;列与列之间的距离;默认:10
offset : //(可选项)数字类型;整个菜单底部距离所属 window 底部的距离,只能为正整数;默认:0
},
animation : true, //(可选项)布尔类型;弹出和隐藏菜单时是否带弹出动画效果,true|false;默认:true
autoHide : true, //(可选项)布尔类型;点击菜单按钮后是否自动隐藏菜单,true|false;默认:true
styles : {
maskBg : 'rgba(0,0,0,0.2)', //(可选项)字符串类型;遮罩层背景,支持 rgb,rgba,#,img;默认:rgba(0,0,0,0.2)
bg : '#fff', //(可选项)字符串类型;菜单有效区域背景,支持 rgb,rgba,#,img;默认:#fff
cancelButton : {//(可选项)JSON 对象类型,取消按钮设置
size : , //(可选项)数字类型;底部取消按钮的高和宽;默认:44
bg : '#fff', //(可选项)字符串类型;取消按钮的 100% 宽度的背景,支持rgb,rgba,#,img;默认:'#fff'
icon : 'widget://image/btn/iconfont-cancel.png', //(可选项)字符串类型:取消按钮的图标,要求本地路径(widget://、fs://);默认:默认X型图标
},
item : {//(可选项)JSON 对象类型,菜单按钮设置
titleColor : '#848484', //(可选项)字符串类型;菜单按钮文字颜色,支持 rgb,rgba,#;默认:#848484
titleHighlight : 'dd2727', //(可选项)字符串类型;菜单按钮文字高亮颜色,支持 rgb,rgba,#;默认:同 titleColor
titleSize : , //(可选项)数字类型;菜单按钮文字大小,同时也是文字栏所占高度,值为 0 时不显示文字栏;默认:12
},
indicator : {//(可选项)JSON 对象类型;页标指示器样式,若不传则不显示该指示器
color : '#c4c4c4', //(可选项)字符串类型;其它页指示器颜色;支持rgb、rgba、#;默认:'#c4c4c4'
highlight : '#9e9e9e' //(可选项)字符串类型;当前页指示器颜色;支持rgb、rgba、#;默认:'#9e9e9e'
}
},
items : [{//JSON 对象类型;一个菜单项的设置信息
icon : 'widget://image/iconfont-qq.png', //(可选项)字符串类型;一个菜单按钮的图标,支持 rgb,rgba,#,img;默认:#fff
title : 'QQ好友' //字符串类型;菜单按钮的文字;默认:未设置时不显示,但文字栏仍按 titleSize 设置显示高度
}, {
icon : 'widget://image/iconfont-kongjian.png',
highlight : 'widget://image/iconfont-kongjian.png',
title : 'QQ空间'
}, {
icon : 'widget://image/iconfont-weixin.png',
highlight : 'widget://image/iconfont-weixin.png',
title : '微信好友'
}, {
icon : 'widget://image/iconfont-pengyouquan.png',
highlight : 'widget://image/iconfont-pengyouquan.png',
title : '朋友圈'
}, {
icon : 'widget://image/iconfont-weibo.png',
highlight : 'widget://image/iconfont-weibo.png',
title : '微博'
}, {
icon : 'widget://image/iconfont-qitagengduoe1e4e5.png',
highlight : 'widget://image/iconfont-qitagengduoe1e4e5.png',
title : '更多'
}]
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
} function fnClose() {
MNActionButton.close();
};
function fnHide() {
MNActionButton.hide();
};
function fnShow() {
MNActionButton.show();
};

二、分享(以微信距离)

<span tapmode onclick="isInstalled()"> isInstalled() </span>
<span tapmode onclick="shareText()"> shareText() </span>
<span tapmode onclick="shareImage('session')"> shareImage('session') </span>
<span tapmode onclick="shareImage('timeline')"> shareImage('timeline') </span>
<span tapmode onclick="shareImage('favorite')"> shareImage('favorite') </span>
<span tapmode onclick="shareMusic('session')"> shareMusic('session') </span>
<span tapmode onclick="shareMusic('timeline')"> shareMusic('timeline') </span>
<span tapmode onclick="shareMusic('favorite')"> shareMusic('favorite') </span>
<span tapmode onclick="shareVideo('session')"> shareVideo('session') </span>
<span tapmode onclick="shareVideo('timeline')"> shareVideo('timeline') </span>
<span tapmode onclick="shareVideo('favorite')"> shareVideo('favorite') </span>
<span tapmode onclick="shareWebpage('session')"> shareWebpage('session') </span>
<span tapmode onclick="shareWebpage('timeline')"> shareWebpage('timeline') </span>
<span tapmode onclick="shareWebpage('favorite')"> shareWebpage('favorite') </span>
<span tapmode onclick="shareMutableImg()"> shareMutableImg (此接口仅Android可用)</span>
function isInstalled() {
wx.isInstalled(function(ret, err) {
if (ret.installed) {
alert(JSON.stringify(ret))
} else {
alert(JSON.stringify(err))
}
});
} function shareText() {
wx.shareText({
apiKey : '',
scene : 'timeline',
text : '我分享的文本'
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret))
} else {
alert(JSON.stringify(err))
}
});
} function shareImage(Vscene) {
wx.shareImage({
apiKey : '',
scene : Vscene,
thumb : 'widget://res/iconfont-touxiang.png',
contentUrl : "widget://res/8.jpg"
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret))
} else {
alert(JSON.stringify(err))
}
});
} function shareMusic(Vscene) {
wx.shareMusic({
apiKey : '',
scene : Vscene,
title : '分享音乐',
description : '分享音乐的描述',
thumb : 'widget://res/iconfont-touxiang.png',
musicDataUrl : "http://docs.apicloud.com/test/m.mp3",
contentUrl : 'http://www.baidu.com'
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret))
} else {
alert(JSON.stringify(err))
}
});
} function shareVideo(Vscene) {
wx.shareVideo({
apiKey : '',
scene : Vscene,
title : '分享视频',
description : '分享视频的描述',
thumb : 'widget://res/iconfont-touxiang.png',
contentUrl : 'http://www.youku.com/'
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret))
} else {
alert(JSON.stringify(err))
}
});
} function shareWebpage(Vscene) {
wx.shareWebpage({
apiKey : '',
scene : Vscene,
title : '分享网页的标题',
description : '分享网页的描述',
thumb : 'widget://res/iconfont-touxiang.png',
contentUrl : 'http://www.apicloud.com'
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret))
} else {
alert(JSON.stringify(err))
}
});
} function shareMutableImg() {
wx.shareMutableImg({
description : 'weixin share image test description',
imgs : ['widget://res/girl.png', 'widget://res/8.jpg', 'widget://res/6.jpg']
});
}

以上方法包括了微信分享给朋友、朋友圈等功能。

apicloud常用分享方法的更多相关文章

  1. iOS常用公共方法

      iOS常用公共方法 字数2917 阅读3070 评论45 喜欢236 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat si ...

  2. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  3. OpenCV常用图像拼接方法(一) :直接拼接

    OpenCV常用图像拼接方法将分为四部分与大家分享,这里是第一种方法,欢迎关注后续. OpenCV常用图像拼接方法(一) :直接拼接,俗称硬拼,就是简单的将两张图片合并成一张大图. 方法比较简单,这里 ...

  4. WebAPi添加常用扩展方法及思维发散

    前言 在WebAPi中我们通常需要得到请求信息中的查询字符串或者请求头中数据再或者是Cookie中的数据,如果需要大量获取,此时我们应该想到封装一个扩展类来添加扩展方法,从而实现简便快捷的获取. We ...

  5. StringUtils中的常用的方法

    org.apache.commons.lang.StringUtils中常用的方法,这里主要列举String中没有,且比较有用的方法: 1. 检查字符串是否为空: static boolean isB ...

  6. JOptionPane类提示框的一些常用的方法

    JOptionPane类提示框的一些常用的方法 XMLOracleSwing 最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法. 很方便的,于是就简单的整理了 ...

  7. 常用js方法

    function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...

  8. jQuery操作Table tr td常用的方法

    虽然现在DIV+CSS进行页的布局大行其道,但是很多地方使用table还是有很多优势,用table展示数据是比较方便的,下面汇总了jQuery操作Table tr td常用的方法,熟记这些操作技巧,下 ...

  9. org.apache.commons.lang.StringUtils中常用的方法

    org.apache.commons.lang.StringUtils中常用的方法,这里主要列举String中没有,且比较有用的方法: 1. 检查字符串是否为空: static boolean isB ...

随机推荐

  1. Macbook上安装Win7经验总结

    昨天兴致突发,想在Macbook上装个win7跑双系统玩玩,结果遇到了几个非常奇葩的问题.折腾了差不多一天,硬盘分区又合并分区N次,若干次卡死,最后总算搞定.记录下经验,以慰后来人. 问题一:安装程序 ...

  2. 【Developer Log】ProGuard扰码可执行JAR包

    在项目上线之前需要通过ProGuard来对java的class进行混淆,以避免反编译方式,来保护自己的代码.ProGuard网上有很多资料,可以参考:http://blog.csdn.net/zhan ...

  3. 洛谷—— P1092 虫食算

    https://www.luogu.org/problem/show?pid=1092 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一个简 ...

  4. Codeforces Round #330 (Div. 2) D. Max and Bike 二分

    D. Max and Bike For months Maxim has been coming to work on his favorite bicycle. And quite recently ...

  5. Delphi7中的函数与过程(Function and Procedure)

    1.锁住空间的位置,可以选择Edit--->Lock component ,也可以在窗体设计面板下面找到组件排版功能栏,第二排里面有个带锁的图标,表示组件可以被锁住.点击一下,组件的大小和位置就 ...

  6. 如何注释ascx中的代码

    https://forums.asp.net/t/1783252.aspx?Commented+out+ascx+code+not+treated+as+commented+out+ <%--  ...

  7. JNDI 笔记(一) 概述

    很多地方都会用到JNDI,一大堆的缩写加上一大堆不清不楚的概念描述,使得在看到的时候都不认识,更不要说使用了.   JNDI,Java Naming Directory Interface,J2EE的 ...

  8. 针对深度学习(神经网络)的AI框架调研

    针对深度学习(神经网络)的AI框架调研 在我们的AI安全引擎中未来会使用深度学习(神经网络),后续将引入AI芯片,因此重点看了下业界AI芯片厂商和对应芯片的AI框架,包括Intel(MKL CPU). ...

  9. P1850 换教室 概率dp

    其实说是概率dp,本质上和dp没什么区别,就是把所有可能转移的情况全枚举一下就行了,不过dp方程确实有点长... ps:这个题的floyed我竟然之前写跪了... 题目: 题目描述 对于刚上大学的牛牛 ...

  10. PCB决策引擎:多维决策表转决策树

    准备设计一个PCB使用的决策引擎,需要用到决策表,而单维决策表不能满足业务要求, 这里主要是为了实现:用户编辑的是决策表,实际底层存储的是树结构,树的的各个节点挂上业务决策逻辑. 这里将多维决策表转决 ...