ホームページ  >  記事  >  WeChat アプレット  >  転送機能を実装したWeChatアプレットの分析例

転送機能を実装したWeChatアプレットの分析例

黄舟
黄舟オリジナル
2017-09-13 09:06:583604ブラウズ

この記事では、主にWeChatミニプログラムの転送機能の実装に関する関連情報を紹介します。ここでは、誰もが学び理解できるように、実装方法と例を示します。

WeChatの転送機能の実装。ミニプログラム

1. ユーザーが任意のグループチャットにミニプログラムを転送すると、転送されたシェアチケットを取得できます

2. この転送されたカードをグループチャット内で他のユーザーが開くと、アプリ内で取得できます。 .onLaunch() または App.onShow 別の shareTicket へ

3. 2 つの手順で取得した shareTicket は、wx.getShareInfo() インターフェースを通じて同じ転送情報を取得できます。

onShareAppMessage(options) 関数は、ページの転送情報を設定します。

オプションパラメータの説明:

from: イベントソースを転送します。 button: ページ内の転送ボタン; menu: 右上隅の転送メニュー
target: from 値が button の場合、ターゲットは転送イベントをトリガーしたボタンです、それ以外の場合は未定義です。

return {
  title: '转发', // 转发标题(默认:当前小程序名称)
  path: '/pages/index/index', // 转发路径(当前页面 path ),必须是以 / 开头的完整路径
  success(e) {
   // shareAppMessage: ok,
   // shareTickets 数组,每一项是一个 shareTicket ,对应一个转发对象
     // 需要在页面onLoad()事件中实现接口
     wx.showShareMenu({
      // 要求小程序返回分享目标信息
      withShareTicket: true 
     });
  },
  fail(e) {
   // shareAppMessage:fail cancel
   // shareAppMessage:fail(detail message) 
  },
  complete() { }
}

wx.showShareMenu(OBJECT) を shareTicket で転送します。

1. SDK と実デバイスの両方のデバッグ プロセス中に、withShareTicket を true に設定する必要があります。


2. それ以外の場合は、転送されたグループ チャットが選択されている場合でも。 、shareTicket は返されません

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

wx.getShareInfo(OBJECT) 転送詳細を取得します

if (res.shareTickets) {
 // 获取转发详细信息
 wx.getShareInfo({
  shareTicket: res.shareTickets[0],
  success(res) {
   res.errMsg; // 错误信息
   res.encryptedData; // 解密后为一个 JSON 结构(openGId  群对当前小程序的唯一 ID)
   res.iv; // 加密算法的初始向量
  },
  fail() {},
  complete() {}
 });
}

ミニプログラムがグループ内で開かれた後、状況値を取得し、shareTicket

//app.js
App({
 onLaunch: function (ops) {
  if (ops.scene == 1044) {
   console.log(ops.shareTicket)
  }
 }
})

バグとヒント

1. ページ間で渡されるパラメータは onLoad() 関数で受け取る必要があり、onShow() 関数では受け取ることができません。


2. グループチャットで開かれたアプレットのshareTicketを取得するには、App.onLaunch()またはApp.onShow()を使用する必要があります。 ページのライフサイクル機能では取得できません。


3. 単一のユーザーにコンテンツを転送する場合、shareTicket を取得できません。

以上が転送機能を実装したWeChatアプレットの分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。