123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
- <meta name="HandheldFriendly" content="true"/>
- <meta name="MobileOptimized" content="320"/>
- <title>微博分享</title>
- <script type="text/javascript" src="../js/common.js"></script>
- <script type="text/javascript">
- var shares=null;
- var sweibo=null;
- // H5 plus事件处理
- function plusReady(){
- updateSerivces();
- }
- 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;
- }
- sweibo=shares['sinaweibo'];
- }, function(e){
- outSet('获取分享服务列表失败:'+e.message);
- });
- }
- // 分享文本
- function shareText(){
- var msg={type:'text'};
- if(!text_content.value){
- plus.nativeUI.alert('请输入要分享的内容!');
- return;
- }
- msg.content=text_content.value;
- sweibo?share(sweibo, msg):plus.nativeUI.alert('当前环境不支持新浪微博分享操作!');
- }
- // 分享图片
- function shareImage(){
- var msg={type:'image'};
- if(!image_picture.realUrl){
- plus.nativeUI.alert('请选择要分享的图片!');
- return;
- }
- msg.pictures=[image_picture.realUrl];
- msg.content='我在使用HBuilder分享图片'; //可选
- sweibo?share(sweibo, msg):plus.nativeUI.alert('当前环境不支持新浪微博分享操作!');
- }
- // 分享网页
- function shareWeb(){
- var msg={type:'web'};
- if(!web_href.value){
- plus.nativeUI.alert('请输入分享网页的链接地址!');
- web_href.focus();
- return;
- }
- msg.href=web_href.value;
- if(!web_content.value){
- plus.nativeUI.alert('请输入分享网页的描述!');
- web_content.focus();
- return;
- }
- msg.content=web_content.value;
- sweibo?share(sweibo, msg):plus.nativeUI.alert('当前环境不支持新浪微博分享操作!');
- }
- // 分享视频
- function shareVideo(){
- var msg={type:'video',thumbs:['_www/logo.png']};
- if(!video_media.value){
- plus.nativeUI.alert('请输入分享视频的链接地址!');
- video_media.focus();
- return;
- }
- msg.media=video_media.value;
- msg.content='我在使用HBuilder分享视频'; //可选
- sweibo?share(sweibo, msg):plus.nativeUI.alert('当前环境不支持新浪微博分享操作!');
- }
- // 分享
- function share(srv, msg, button){
- outSet('分享操作:');
- if(!srv){
- outLine('无效的分享服务!');
- return;
- }
- button&&(msg.extra=button.extra);
- // 发送分享
- if(srv.authenticated){
- outLine('---已授权---');
- doShare(srv, msg);
- }else{
- outLine('---未授权---');
- srv.authorize(function(){
- doShare(srv, msg);
- }, function(e){
- outLine('认证授权失败:'+JSON.stringify(e));
- });
- }
- }
- // 发送分享
- function doShare(srv, msg){
- outLine(JSON.stringify(msg));
- srv.send(msg, function(){
- outLine('分享到"'+srv.description+'"成功!');
- }, function(e){
- outLine('分享到"'+srv.description+'"失败: '+JSON.stringify(e));
- });
- }
- // 解除授权
- function cancelAuth(){
- outSet('解除授权:');
- if(sweibo){
- if(sweibo.authenticated){
- outLine('取消"'+sweibo.description+'"');
- }
- sweibo.forbid();
- }else{
- outLine('当前环境不支持QQ分享操作!');
- }
- }
- // 拍照添加图片分享
- function imageCameraPicture(){
- outSet('拍照添加分享图片:');
- var cmr=plus.camera.getCamera();
- cmr.captureImage(function(p){
- plus.io.resolveLocalFileSystemURL(p,function(entry){
- image_picture.src=entry.toLocalURL();
- image_picture.realUrl=p;
- outLine('拍照图片:'+image_picture.realUrl);
- },function(e){
- outLine('读取拍照文件错误:'+e.message);
- } );
- },function(e){
- outLine('拍照失败:'+e.message);
- });
- }
- // 从相册添加图片分享
- function imageGalleryPicture(){
- outSet('从相册添加分享图片:');
- plus.gallery.pick(function(p){
- // 从相册返回的路径不需要转换可以直接使用
- image_picture.src=p;
- image_picture.realUrl=image_picture.src;
- outLine('选择图片:'+image_picture.realUrl);
- });
- }
- // 使用Logo图片分享
- function imageLogoPicture(){
- outSet('使用Logo分享图片:');
- var url='_www/logo.png';
- plus.io.resolveLocalFileSystemURL(url, function(entry){
- image_picture.src=entry.toLocalURL();
- image_picture.realUrl=url;
- }, function(e){
- outLine('读取Logo文件错误:'+e.message);
- });
- }
- // 拍摄视频
- function videoCameraCapture(){
- outSet('录像分享视频:');
- var cmr = plus.camera.getCamera();
- cmr.startVideoCapture(function(p){
- outLine('录像成功:'+p);
- video_media.value=p;
- }, function(e){
- outLine('录像失败:'+JSON.stringify(e));
- }, {filename:'_doc/camera/'});
- }
- // 选择视频
- function imageGallerySelect(){
- outSet('从相册选择分享视频:');
- plus.gallery.pick(function(p){
- video_media.value=p;
- outLine('选择视频成功:'+p);
- }, function(e){
- outLine('选择视频失败:'+JSON.stringify(e));
- },{filter:'video'});
- }
- </script>
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>
- <style type="text/css">
- .sharecontent{
- width:80%;
- -webkit-user-select:text;
- border: 1px solid #6C6C6C;
- -webkit-border-radius: 2px;
- border-radius: 2px;
- }
- .sharepicture{
- width:30%;
- }
- .share_input{
- width:90%;
- -webkit-user-select:text;
- border: 1px solid #6C6C6C;
- -webkit-border-radius: 2px;
- border-radius: 2px;
- margin-bottom: .5em;
- }
- </style>
- </head>
- <body>
- <br/>
- <p class="heading">分享文本:</p>
- <textarea id="text_content" class="sharecontent" rows="3">我正在使用HBuilder开发移动应用,赶紧跟我一起来体验!</textarea>
- <div class="button" onclick="shareText()">分享文本</div>
- <hr color="#EEE"/><br/><br/>
- <p class="heading">分享图片:</p>
- <table style="width:100%;">
- <tbody>
- <tr>
- <td style="width:30%"><div class="button button-select" onclick="imageCameraPicture()">拍照</div></td>
- <td style="width:30%"><div class="button button-select" onclick="imageGalleryPicture()">相册选取</div></td>
- <td style="width:30%"><div class="button button-select" onclick="imageLogoPicture()">使用logo图</div></td>
- </tr>
- </tbody>
- </table>
- <img id="image_picture" class="sharepicture" src="../img/add.png"/>
- <br/>
- <p class="des">分享图片可设置文本内容(可选)及缩略图(可选)。未安装微博客户端时Android平台图片限定大小为1M以内,iOS平台则不支持分享图片。</p>
- <div class="button" onclick="shareImage()">分享图片</div>
- <hr color="#EEE"/><br/><br/>
-
- <p class="heading">分享网页:</p>
- <table style="width:100%;">
- <tbody>
- <tr>
- <td style="width:20%;text-align:right;font-size:12px;">网页地址</td>
- <td style="width:65%">
- <input id="web_href" class="share_input" type="url" value="http://www.dcloud.io/" placeholder="请输入要分享的网页地址"/>
- </td>
- </tr>
- <tr>
- <td style="width:20%;text-align:right;font-size:12px;">网页描述</td>
- <td style="width:65%">
- <input id="web_content" class="share_input" type="url" value="我正在使用HBuilder+HTML5开发移动应用,赶紧跟我一起来体验!" placeholder="请输入要分享的网页描述"/>
- </td>
- </tr>
- </tbody>
- </table>
- <p class="des">分享网页链接在内容之后,如果要将链接放到内容中可直接在内容中添加链接。</p>
- <div class="button" onclick="shareWeb()">分享网页</div>
- <hr color="#EEE"/><br/><br/>
- <p class="heading">分享视频:</p>
- <table style="width:100%;">
- <tbody>
- <tr>
- <td style="width:40%"><div class="button button-select" onclick="videoCameraCapture()">拍摄</div></td>
- <td style="width:40%"><div class="button button-select" onclick="imageGallerySelect()">相册选取</div></td>
- </tr>
- </tbody>
- </table>
- <input id="video_media" class="share_input" style="width:90%" type="url" value="" placeholder="选择要分享的视频"/>
- <p class="des">分享视频可设置文本内容(可选)及缩略图(可选)。未安装微博客户端时Android&iOS平台则不支持分享视频。</p>
- <div class="button" onclick="shareVideo()">分享视频</div>
- <hr color="#EEE"/>
- <div id="outpos"/>
- <div id="output">
- 新浪微博分享支持分享文本、网页、图片、视频(本地地址)等。
- </div>
- </body>
- </html>
|