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.pswp.cn/news/378686.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378686.shtml
英文地址,請注明出處:http://en.pswp.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是一種語義/結構化語言,它描述了文檔的結構和語義…