【微信ウィジェット】ウィジェット群共有共有共有情報


微信の公式の共有インタフェースの調整により、前に書いた共有にバグが発生した.共有インタフェースの調整後のグループ共有機能の実現についてお話ししましょう.
インタフェースの調整:https://developers.weixin.qq.com/community/develop/doc/0000447a5b431807af57249a551408
インタフェース調整後の実装コードは以下の通りです.
detail.js
onShareAppMessage: function(res) {
    var that = this;
    var url = that.data.id + '&type=' + that.data.type + '&article_type=' + that.data.article_type + '&title=' + that.data.arr.title + '&types=' + types + '&user_id=' + app.globalData.uid;
    return {
      title: that.data.arr.title,
      path: '/pages/index/index?source=detail&id=' + url, //                   ,     
    }
  }

index.js

var redirect = require('../../utils/redirect.js')
const app = getApp()
Page({
  /**
   *        
   */
  data: {
    
  },
  /**
   *       --      
   */
  onLoad: function(options) {
    wx.showShareMenu({
      withShareTicket: true
    })
    //           
    if (app.globalData.uid && app.globalData.userInfo.medlive_id){
      if (options.source == 'deil') { //               
        var url = options.id + '&type=' + options.type + '&article_type=' + options.article_type;
        redirect.navigateTo('../detail/detail?id=' + url);
      }
    }else{//                        
      redirect.reLaunch('/pages/login/wx_login')
    }
   
  },

  /**
   *       --          
   */
  onReady: function() {
    
  },

  /**
   *       --      
   */
  onShow: function() {
    
  },

  /**
   *       --      
   */
  onHide: function() {

  },

  /**
   *       --      
   */
  onUnload: function() {

  },

  /**
   *           --        
   */
  onPullDownRefresh: function() {
    
  },

  /**
   *              
   */
  onReachBottom: function() {
    
  },

  /**
   *          
   */
  onShareAppMessage: function() {
    var that = this;
    return {
      title: '      ',
      path: '/pages/index/index?id=0000&types=index&title=    &user_id=' + app.globalData.uid,
    }
  },

})

app.js
onShow: function (options) {
    var that = this;
    that.globalData.shareTicket = options.shareTicket
    that.globalData.scene = options.scene
    console.log(options.query);
    var types = options.query.types;
    var id = options.query.id;
    var title = options.query.title;
    var userId = options.query.user_id;
    if (options.shareTicket){
      console.log(options.query, 'options');
      wx.getShareInfo({
        shareTicket: options.shareTicket,
        success: function (res) {
          console.log(res,'detailes')
          var url_share = config.DOMAIN_API.shareWechat;
          // //    
          var data_share = {
            user_id: that.globalData.uid,
            content_id: id,
            title: title,
            type: types,
            share_user_id: userId,
            iv: res.iv,
            encryptedData: res.encryptedData,
            code: that.globalData.code,
          }
          util.ajaxPost(url_share, data_share).then((res) => { //    
            console.log('     ', res)
          }).catch((errMsg) => { //    ,     ,       
            console.log(errMsg);
          });
        }
      })
    }
  },

中には携帯のパラメータが取れていないページがあります.自動免疫してください.とても疲れて、長い間模索してやっと通じた.疲れた!注意不要なコードの中には、自分のプロジェクトを見て追加する必要があるものもあれば、他の機能を操作するためのコードもあります(削除されていません).