1. 程式人生 > >微信小程式判斷分享的是群還是好友

微信小程式判斷分享的是群還是好友

最近比較流行的答題小程式通常會有這麼一個功能,分享到群增加答題次數,分享到好友無效,那麼問題來了,我們如何能夠判斷使用者分享到的是群還是好友呢?

先展示一下效果圖:
這裡寫圖片描述

通過查詢API文件我發現會有這個一個東西withShareTicket 通過這個來判斷是否分享到的是群還是好友,想要獲取到這個需要這onShow方法裡填加一個東西.

  onShow: function() {
    wx.showShareMenu({
      withShareTicket: true
    })
  },

只有設定了這個等於true才能夠獲取到群資訊。但是問題又來了IOS系統和Android系統的判斷方式是不一樣的,我來說一下他們兩個的區別:

    這個函式作用是你在分享到微信群之後可以獲取shareTickets,

    通過wx.getShareInfo()和shareTickets,可以獲取到分享群的加密過的資訊。

    這裡要注意下如果分享的是個人android仍然可以獲取到shareTickets,

    而ios分享到個人是獲取不到shareTickets的。

    如果是ios你可以在直接用if()判斷shareTickets是否存在判斷是否轉發的是微信群。

    如果是android你要執行wx.getShareInfo()函式,如果是微信群就會呼叫success,不是微信群就會呼叫fail。

    必須呼叫wx.getshareInfo()獲取群資訊 包括 iv、encryptedData(換取openGId)

現在上一下完整的程式碼:

 //分享
 onShareAppMessage: function (res) {
      let that = this
      return {
          title: '分享的標題',
          path: '分享的頁面連結',
          success: function (res) {
              //getSystemInfo是為了獲取當前裝置資訊,判斷是android還是ios,如果是android
              //還需要呼叫wx.getShareInfo(),只有當成功回撥才是轉發群,ios就只需判斷shareTickets
//獲取使用者裝置資訊 wx.getSystemInfo({ success: function (d) { console.log(d); //判斷使用者手機是IOS還是Android if (d.platform == 'android') { wx.getShareInfo({//獲取群詳細資訊 shareTicket: res.shareTickets, success: function (res) { //這裡寫你分享到群之後要做的事情,比如增加次數什麼的 }, fail: function (res) {//這個方法就是分享到的是好友,給一個提示 wx.showModal({ title: '提示', content: '分享好友無效,請分享群', success: function (res) { if (res.confirm) { console.log('使用者點選確定') } else if (res.cancel) { console.log('使用者點選取消') } } }) } }) } if (d.platform == 'ios') {//如果使用者的裝置是IOS if (res.shareTickets != undefined) { console.log("分享的是群"); wx.getShareInfo({ shareTicket: res.shareTickets, success: function (res) { //分享到群之後你要做的事情 } }) } else {//分享到個人要做的事情,我給的是一個提示 console.log("分享的是個人"); wx.showModal({ title: '提示', content: '分享好友無效,請分享群', success: function (res) { if (res.confirm) { console.log('使用者點選確定') } else if (res.cancel) { console.log('使用者點選取消') } } }) } } }, fail: function (res) { } }) } } },

這裡說一下分享到群的話,需要把返回的 iv,encryptedData,傳給後臺換取openGId(群ID)。
好了,今天就整理這麼多了,感覺我的判斷邏輯不是很嚴謹,歡迎來指出,大家一塊學習。

相關推薦

程式判斷分享的是還是好友 程式判斷分享的是還是好友

最近比較流行的答題小程式通常會有這麼一個功能,分享到群增加答題次數,分享到好友無效,那麼問題來了,我們如何能夠判斷使用者分享到的是群還是好友呢? 通過查詢API文件我發現會有這個一個東西withShareTicket 通過這個來判斷是否分享到的是群還是好友,想要獲取到這個需要這o

程式判斷分享的是還是好友

最近比較流行的答題小程式通常會有這麼一個功能,分享到群增加答題次數,分享到好友無效,那麼問題來了,我們如何能夠判斷使用者分享到的是群還是好友呢? 先展示一下效果圖: 通過查詢API文件我發現會有這個一個東西withShareTicket 通過這個

程式生成分享圖然後儲存圖片分享朋友圈

微信小程式可以實現快速的轉發好友實現分享,但是不能直接分享到朋友圈,但是有需要要這麼做,要怎麼實現呢? 檢視文件之後,大概有了實現思路 1.使用微信小程式的wx.createCanvasContext()方法,繪製圖片; 2.使用wx.canvasToTempFilePath()方法,把

程式判斷進入程式的入口(場景值)

場景值主要是通過這兩個函式來傳遞onLoauch 和 onShow函式: app.js onShow: function(options) { let option = JSON.stringify(options); console.log('app.js

程式 判斷是否是手機號

微信小程式 判斷是否是手機號 **JS實現程式碼:** `validatemobile:` `function` `(mobile) {` `if` `(mobile.length == 0) {` `wx.showToast({` `title:` `'請輸入手機號!'``,` `

Python有趣的程式程式碼分享

Python有趣的微信小程式程式碼分享 1:列印心形 print('\n'.join([''.join([('Love'[(x-y)%4]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in

程式日曆分享

由於某些原因,本週末又重新編寫了一個小程式日曆,作用於簽到。給大家分享出來。 日曆長這個樣子,簽到功能由於需求不同,程式碼就不公佈了。日曆實現的方式與我之前分享的方法一致,如果需要簽到功能可以找我

程式開發分享

一、小程式在建好專案之後會出現如圖1-1中顯示的基本檔案 a) 其中pages 是存放小程式頁面的地方 b) utils是存放小程式工具的地方也就是功能API,可以有很多個JS檔案每個JS分別儲存著不同功能的API c) app.js 是小程式的入口檔案在小程式執行時最

程式分享頁面如何返回首頁

<!--index.wxml--> <view class="container"> <text>我是首頁</text> <button bindtap='goLogs'>go logsPage</button> </view&

程式分享或轉發功能(自定義button樣式)

小程式頁面內發起轉發 通過給 button 元件設定屬性open-type="share",可以在使用者點選按鈕後觸發 Page.onShareAppMessage 事件,如果當前頁面沒有定義此事件,則點選後無效果。相關元件:button wxml: <!-- 分享 --> <!--/

程式 右上角分享功能的實現

微信小程式前段時間開放了小程式右上角的分享功能,    可以分享任意一個頁面到好友或者群聊,    但是目前小程式不可以分享到朋友圈onShareAppMessage(options)在 Page 中定義 onShareAppMessage 函式,設定該頁面的轉發資訊。只有定

程式——判斷websocket是否已開啟

1、程式碼展示 2、在判斷websocket是否已開啟過程中有遇到任何問題或者不明白的地方,可以新增我的微信進行諮詢,感謝支援!微信號:FutureJet 3、覺得不錯請打賞,您的十分滿意是

程式 製作分享朋友圈的圖片

由於微信小程式只支援分享給朋友或者群,不支援分享到朋友圈,又有分享到朋友圈這個需求,那就要想辦法實現這個需求。查閱各種資料,發現基本思路有兩種,一種是後端實現,另一種是前端實現,後端實現的方式這裡就不討論了,因為我是不懂後端的,只會前端的東西,所以這裡就記錄一下前端的實現方法

程式判斷wx:if wx:for template

view是元件類wx:if <view wx:if="{{condition}}"><p>true</p></view> <view wx:if=

程式 轉發 分享功能

第一種情況 點選小程式轉發 不加入引數 //轉發 onShareAppMessage: function() { let users = wx.getStorageSync('user'); if (res.from ===

程式分享個人和判斷

微信小程式的分享功能,在最新版庫的ide上已經不能拿到分享回調了,官方api也刪除了對應的回撥函式,看樣子是砍掉了,不過真機測試還是可以的,話不多說,上程式碼: onLoad: function(options) { wx.showShareMenu({

程式自定義分享彈窗

效果圖: 多種觸發條件使用同一個彈窗: *.js觸發處: this.setData({ isWrong:true, wrongtap:1, dialogWord:"wrong", wrongDec:"答案錯誤,是否向好友求助?" })  

程式分享及使用者資訊授權等介面能力的調整通知

以下來自2018年9月30號的微信小程式官方文件調整說明: 針對近期部分小程式介面能力使用不合理的情況,微信公眾平臺將對下列能力進行調整。開發者可在最新版開發者工具內,選擇最新基礎庫版本體驗。調整方案具體如下,請開發者儘快完成適配。 1、分享監聽介面 10月10日起新提交的版本,使用者從

與大家分享學習程式開發的一些心得

因為我也才開始學習微信小程式不久,下文也是現在的一時之言,大家有不同的想法也可以在評論裡共同交流討論,希望文章能給大家提供一點點幫助。 最近接觸到了一些前端框架,像Vue.js,React,發現小程式的框架體系跟它們很像。它們都推崇模組化,元件化,資料與元素繫結。這樣沒有繁瑣的DOM操作,

程式採坑記錄 ------- canvas 生成分享到朋友圈帶程式碼的圖片

最近做了一個問卷類的小程式,其中的結果頁想讓使用者進行朋友圈分享轉發,網上搜索資料,得出解決思路,用 canvas 將頁面繪製生成圖片,然後儲存到手機相簿,最終效果如下: 在這裡我只寫頁面裡關於 canvas 生成圖片並進行儲存這個流程的相關程式碼,並且會