❶ 微信分享sdk
公眾號h5中使用微信js-SDK(個人筆記)通過使用微信JS-SDK,網頁開發者可藉助微信高效地使用拍照、選圖、語音、位置等手機系統的能力,同時可以直接使用微信分享、掃一掃、卡券、支付等微信特有的能力,為微信用戶提供更優質的網頁體驗。
例子為在vue中使用微信JS-SDK,步驟如下:
先登錄微信公眾平台進入「公眾號設置」的「功能設置」里填寫「JS介面安全域名」。
備註:登錄後可在「開發者中心」查看對應的介面許可權。
插件方式:
引入js文件方式:
在需要調用JS介面的頁面引入如下JS文件,(支持https):
如需進一步提升服務穩定性,當上述資源不可訪問時,可改訪問:(支持https)。
掛載到Vue原型
與使用JS-SDK配置方式相同,所有需要使用開放標簽的頁面必須先注入配置信息,並通過openTagList欄位申請所需要的開放標簽,否則將無法使用(同一個url僅需調用一次)。開放標簽的申請和JS介面的申請相互獨立,因此是可以同時申請的。
配置成功之後,就可以使用相關的api了。例子為微信支付。
3.分享出去的是鏈接,不是卡片的原因及解決方案:
原因:微信開放全域名訪問後出現的限制。
解決方法:
這會導致別人通過分享卡進來的頁面不是自己配置的頁面。
解決辦法:把路由hash模式改成history模式。(讓後端把匹配不到的頁面重定向到首頁)
開發者需要配合使用微信開放平台提供的SDK進行一次性訂閱消息授權請求接入。正確接入SDK後,開發者移動應用會在終端本地拉起微信應用進行訂閱消息授權,微信用戶確認後微信將拉起開發者移動應用,並帶上授權用戶openid等信息。
使用方式:引導用戶打開;appid=wxaba38c7f163da69bscene=1000template_id=_url=http%3a%2f%2fsupport.qq.comreserved=test#wechat_redirect鏈接。
可拉起微信打開一次性消息訂閱授權頁:
使用方式:
如需添加參數,可在redirect_uri後面進行拼接,授權成功之後會帶回來。
其他問題請參考:
微信分享提示universallink校驗不通過我的是一個老項目需要升級友盟分享的sdk(實際上也是微信和qq的sdk);這邊後台給我的配置apple-app-site-association文件的鏈接,格式是()的,但是設置在備忘錄中點開universallink無效,後來後台需改了鏈接?將埠改為默認埠號,?格式是格式是(),然後備忘錄中點開universallink,生效?
然後接著采坑......
在點開分享的時候微信還是提示"由於未驗證universallink,......",這邊檢查了一下,坑的是領導在微信後台設置的賬號與我項目用的不匹配,坑爹,?
後面還有幾個坑,再次記錄一下:
1.分享面板上沒有qq,解決:友盟客服提示資源是否導入,我這邊是導入了,我這邊解決的辦法是,白名單為導入(因為我的是老項目,所以替換完sdk後就粗心的沒注意修改白名單);
2.qq分享成功以後不回跳,需要配置URLSchemes,對於qq來說,需要設置qq和tencent
3.集成微信分享sdk中的自檢函數,通過自檢方法後(自檢函數會在列印台列印7步,0....6)還是會提示"未驗證應用",那就只有一個辦法,等,我這邊等了大概3周,之前加了一個群,很多同行都遇到這個問題,有些人等的時間短,有些人等的時間長,並且有些人可能說跟成功的分享次數在總分享次數的所佔的比重有關,所以就多進行成功分享,所以多分享,多看看,沒准哪天就沒有這個提示了
微信開放SDK是什麼意思微信開放SDK是啥意思1、就是開發工具包應該是可以用這個開發微信相關軟體的。
2、微信開放SDK是採用SDK嵌入的方式,為第三方App提供一個與微信進行內容交換的通道,通過SDK的使用,第三方App可以實現分享信息給用戶的微信好友和用戶的微信朋友圈。
Unity微信登錄分享ShareSDK對接流程
官方文檔:MobTechShareSDK文檔
ShareSDK可用於多個平台登錄和分享,無需再用服務端,本文主要介紹安卓端使用ShareSDK,進行微信登錄和分享。
當時使用的是Unity2019.4.5,gradle版本4.0.0。
1、到微信開發平台申請創建應用,申請通過後獲得appId,appSecret;
2、到MobTech平台創建應用,獲得appKey,appSecret;
按照官方文檔步驟對接即可;
1、launcherTemplate.gradle文件,把需要的各平台的appId和appSecret寫在裡面,在ShareSDKDevInfo.cs裡面更改是無效的。
以微信平台為例:
2、如果微信應用正在申請,測試可使用Mob官方demo進行測試:
demo應用包名:cn.sharesdk.demo;
demokey.keystore密鑰密碼和別名密碼,均為123456;
demo應用,Mob的appKey:moba0b0c0d0,appSecret:;
demo應用,微信的appId:wx4868b35061f87885,appSecret:;
3、不需要的平台,可以在ShareSDKDevInfo.cs里的DevInfoSet中注釋掉;
1、場景中掛載ShareSDK.cs和MobSDK.cs;
2、使用前,必須要提交ShareSDK隱私協議的授權介面:
3、微信登錄,使用ShareSDK的獲取用戶信息介面即可(只會在第一次跳轉到第三方平台進行授權),返回結果包含openId,unionId,nickName等信息:
4、微信分享:
微信朋友圈JSSDK分享自定義圖片文字1、在微信公眾號添加安全域名(製作的H5頁面的主域名);
測試階段,本人是通過修改hosts文件,將對應域名解析為127.0.0.1;?然後將電腦和手機連接至同個區域網下。修改手機代理為電腦在區域網內的IP地址;這樣手機就能正常進行測試;
2、引入jssdk??script??src=''
3、配置jssdk,成功後方可使用相關功能,方式如下
wx.config({
debug:false,//開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會列印。
appId:'XX',//必填,公眾號的唯一標識
timestamp:XX,//必填,生成簽名的時間戳
nonceStr:?xx,//必填,生成簽名的隨機串
signature:xx,//必填,簽名,見附錄1??
jsApiList:['onMenuShareTimeline','onMenuShareAppMessage']//必填,需要使用的JS介面列表,所有JS介面列表見附錄2
});
第一次接觸時看到網上的文章在此對signature沒有過多的說明,這里我自己大概說一下,此參數是通過獲取公眾號的id及secret獲取access_token,然後通過access_token獲取jsapi_ticket,然後通過時間戳,隨機串,當前頁面url,通過sha1加密生成;(這里做下說明,此步驟由後台處理後返回給前端即可);
剛接觸的時候領導認為純前端可實現,這。。。確實可以實現,這里就不做過多說明了;至於要後端處理的原因大致為兩點1、公眾號id和secret在前端實現不安全?2、access_token和jsapi_ticket每日有請求次數的限制,過期時間兩小時,所以需要後台在伺服器緩存,每兩小時獲取一次;
4、wx.config配置正確即可通過wx.ready來調用相應功能
wx.ready(function(){
wx.onMenuShareTimeline({??//分享朋友圈
title:'X',//分享標題
link:window.location.href,//分享鏈接
imgUrl:url,//分享圖標
success:function(){
//用戶確認分享後執行的回調函數
console.log('分享成功了喲喲喲')
},
cancel:function(){
//用戶取消分享後執行的回調函數
}
});
wx.onMenuShareAppMessage({?//?好友分享
title:'',//分享標題
desc:'',//分享描述
link:window.location.href,//分享鏈接
imgUrl:'',//分享圖標
success:function(){
//用戶確認分享後執行的回調函數
},
cancel:function(){
//用戶取消分享後執行的回調函數
}
});
});
總結:其實對於前端要處理的很少,只要從後台獲取signature簽名,調用方法即可實現;具體可看官方文檔;首次接觸的小夥伴不要被嚇到,就是如此簡單;
自定義微信分享鏈接(使用JS-SDK)+實現預覽pdf可參考:微信JS-SDK說明文檔
此時可能出現白名單錯誤(忘截圖了),需要在微信公眾號中設置錯誤中的IP
注意:access_token和ticket都需要緩存
4.獲取簽名signature
將以上內容以鍵值對形式拼接,類似如下
本地引入sha1演算法(需網上查找)
將上述拼接的字元串以參數的形式傳遞到sha1中得到signature
signature=sha1(拼接完的字元串)
驗證signature是否正確
將appId,nonceStr,timestamp和signature返回給前端
官網上是這樣描述的:
這時候調用updateAppMessageShareData,updateTimelineShareData的時候就可以生效了,具體原理不清楚。。
注意:imgUrl配置有嚴格的要求
尺寸120x120,大小不超過10K,不支持GIF格式。必須採用https協議(最好寫完整url),不支持base64。由於我使用的是vue,在webpack打包時圖片小於10k的是會自動打包成base64導致無法正常顯示圖片,因此在webpack.base.config.js中修改默認配置
由於在網頁中直接查看pdf的路徑是無法在微信中查看(安卓)和分享(ios),因此使用pdf插件進行優化---pdf.js。其原理是繪製成canvas,最終在真機上放大時可能出現模糊的問題。
創建之後控制台會報錯出現跨域問題,因為pdf.js不支持跨域訪問。此時可以將錯誤跨域信息在上一步你引入的文件中查找,然後將其判斷語句注釋掉即可解決這個問題。最後會發現pdf出現在這個容器中(忘截圖了),也實現了微信中預覽和分享的功能。
❷ 如何在DISCUZ論壇引入微信JSSDK與分享功能
首先在公眾號管理後台「公眾號設置」的「功能設置」里填寫JS介面安全域名,域名需要通過ICP備案,沒有備案域名可以用SAE、BAE等平台。自定義分享功能需要通過微信認證才能使用,沒有認證的可以跟關系好的朋友借用許可權,在他的JS介面安全域名設置這里填上你的域名和共享同一個開發者ID。沒有認證微信號的,可參考文章末尾的辦法。
2、下載官方示例代碼:jssdk-php.zip
下載後解壓,然後在DZ根目錄新建一個文件夾命名為jssdk 把解壓得到的jssdk.php直接上傳到剛建設好的文件夾中。
3、修改header.htm模板文件
在DZ模板文件header.htm中添加如下代碼
❸ 微信公眾號開發之如何使用JSSDK
微信開發交流群:148540125
歡迎留言、轉發、打賞
系列文章參考地址 極速開發微信公眾號
項目源碼參考地址 點我點我--歡迎Start
服務號、訂閱號可以通過登錄 微信公眾平台 查看 開發>介面許可權
使用JSSDK主要包括
1、判斷當前客戶端版本是否支持指定JS介面、
2、分享介面(微信認證)
3、圖像介面
4、音頻介面
5、智能介面(識別語音並返回結果)
6、設備信息(獲取網路狀態)
7、地理位置
8、界面操作
9、微信掃一掃
10、微信小店(服務號必須通過微信認證)
11、微信卡券 (微信認證)
12、微信支付(服務號必須通過微信認證)
官方參考文檔
步驟一:綁定域名
先登錄微信公眾平台進入 公眾號設置 的 功能設置 里填寫 JS介面安全域名 。
步驟二:引入JS文件
在需要調用JS介面的頁面引入如下JS文件,(支持https): http://res.wx.qq.com/open/js/jweixin-1.0.0.js
如需使用搖一搖周邊功能,請引入 http://res.wx.qq.com/open/js/jweixin-1.1.0.js
備註:支持使用 AMD/CMD 標准模塊載入方法載入
步驟三:通過config介面注入許可權驗證配置
簽名演算法生成規則
請 官方參考文檔
下面具體來講講 開源項目 weixin_guide 中的封裝。
使用的時候只要在Controller方法上添加一個攔截器 JSSDKInterceptor 來實現簽名驗證再將 wx.config 需要的參數設置對應的屬性在頁面上進行獲取。
攔截器實現如下:
在Controller中使用
JSP頁面上面使用
測試結果
在AppConfig 中添加路由 me.add("/jssdk", JSSDKController.class,"/view"); 手機中訪問 http://域名[/項目名稱]/jssdk ,如果設置了 debug= true 成功了就會彈出
如果出現 {"errorMsg":"config:invalid url domian"} 請檢查 步驟一:綁定域名 與你訪問的域名是否在安全域名列表當中
步驟四:通過ready介面處理成功驗證
步驟五:通過error介面處理失敗驗證
步驟六:介面調用
攔截器具體實現 參考地址 點這里
js 介面調用參考地址 點這里
以上就是JSSDK使用的介紹。
歡迎留言、轉發、打賞項目
源碼參考地址 點我點我--歡迎Start
❹ 微信JSSDK的使用及小程序相關功能的使用
公眾號和小程序在日常的軟體開發中越來越常見, 但在使用H5內嵌的方式進行開發時,公眾號與小程序的分享功能實現方式存在差異。公眾號分享需藉助微信提供的SDK,而小程序的分享功能則相對更為直接。
小程序分享較為簡單,通常在頁面生命周期中設置 onShareAppMessage 函數即可實現。而公眾號分享則需要調用微信JS-SDK,以獲取微信特有的能力,如分享、掃一掃、卡券、支付等。
微信 JS-SDK 是為網頁開發者提供的基於微信內的網頁開發工具包,幫助開發者實現包括拍照、選圖、語音、位置等手機系統功能,並直接使用微信特有的能力,為微信用戶提供更優質的體驗。
使用微信 JS-SDK 的基本步驟如下:
1. **綁定域名**:進入微信公眾平台的「公眾號設置」-「功能設置」,填寫「JS介面安全域名」。
2. **引入 JS 文件**:在需要調用 JS 介面的頁面引入指定的 JS 文件,支持 HTTPS。
3. **注入許可權驗證配置**:所有需要使用 JS-SDK 的頁面必須先注入配置信息,以確保調用成功。
4. **處理成功驗證**:通過 ready 介面處理成功驗證。
5. **處理失敗驗證**:通過 error 介面處理驗證失敗的情況。
6. **判斷客戶端版本**:在執行任何 JS 介面調用之前,應先判斷當前客戶端版本是否支持指定的 JS 介面。
7. **調用分享功能**:在通過上述步驟驗證成功後,可以調用 wx 對象(或 jWeixin 對象)來實現分享功能。
此外,微信 JS-SDK 提供了多種介面,用於獲取用戶信息、調用微信支付、生成二維碼等,具體用法請參考官方文檔。
希望以上信息能幫助開發者更好地理解和使用微信 JS-SDK,實現公眾號與小程序的高效開發。
❺ 微信開發者 jssdk怎麼使用
、先登錄微信公眾平台進入「公眾號設置」的「功能設置」里填寫「JS介面安全域名」。
備註:登錄後可在「開發者中心」查看對應的介面許可權。
2、頁面引入JS:http://res.wx.qq.com/open/js/jweixin-1.0.0.js
3、所有需要使用JS-SDK的頁面必須先注入配置信息
wx.config({
debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會列印。
appId: '', // 必填,公眾號的唯一標識
timestamp: , // 必填,生成簽名的時間戳
nonceStr: '', // 必填,生成簽名的隨機串
signature: '',// 必填,簽名,見附錄1
jsApiList: [] // 必填,需要使用的JS介面列表,所有JS介面列表見附錄2
});
4、簽名演算法
生成簽名之前必須先了解一下jsapi_ticket,jsapi_ticket是公眾號用於調用微信JS介面的臨時票據。正常情況下,jsapi_ticket的有效期為7200秒,通過access_token來獲取。由於獲取jsapi_ticket的api調用次數非常有限,頻繁刷新jsapi_ticket會導致api調用受限,影響自身業務,開發者必須在自己的服務全局緩存jsapi_ticket 。