小程序接入兔小巢

668 阅读2分钟

描述

兔小巢, [1]  是腾讯公司推出的一个轻量级、免费使用的用户意见反馈服务平台。 [1-2]  适用于APP、公众号、H5、web、小程序等平台接入。为中小产品或团队快速搭建用户反馈通道,提供便捷的用户反馈解决方案,帮助产品提升服务水平和效率。

全局接入

在app.json

       "plugins": { // 小程序后台配置获取
                "tucao": {
                    "version": "1.1.5",              // 版本号
                    "provider": "wx8abaf00ee8c320xx" 
                }
            }

分包接入

    "subpackages": [
           "plugins": {
                "tucao": {
                    "version": "1.1.5",              // 版本号
                    "provider": "wx8abaf00ee8c320xx" 
                }
            }
    ]

兔小巢的配置

tucao.js

const app = getApp()
const Tucao = requirePlugin('tucao').default;
// Tucao 会从 this 中提取 wx 对象,用于简化接入方的接入逻辑
// 如果开启了微信开发者工具的 ES5 转 ES6 会有异常,
// 开启之后微信开发者工具会把每个 js 文件封装在一个严格模式的函数中,this 将返回 undefined
// 作为兼容手段支持直接在 options 中传入 navigateTo 方法(如果担心 wx 对象被我们玩坏,也可以使用这种方式
// 如果没有传入 wx 对象或 navigateTo 方法,请使用 Tucao#getUrl 来获取跳转链接
// Tucao.init(this);
if(this){
  Tucao.init(this);
}else{
  Tucao.set({
    navigateTo: wx.navigateTo
  });
}

// const { SDKVersion } = wx.getSystemInfoSync();
const {
  uservo={},
  role
} = app && app.globalData && app.globalData.userInfo
console.log(uservo,role,'role');
const openid = uservo.id
const nickname = uservo.name
const CONSTANT = {
  PARAMS_INIT_FROM_STORGE: [
    'productId',
    'postId',
    'nickname',
    'openid',
    'extraData',
    'entry',
  ],
  PARAMS_STATIC: {
    avatar: 'https://tucao.qq.com/static/desktop/img/products/def-product-logo.png',
    entries: ['home', 'post-detail'],
    entry: 'home',
    productId: '370408', // 兔小巢后台的productId
    nickname:nickname, // 带过去登录信息
    openid:openid,
    debug: true,
    is_hidden:false,
    // SDKVersion
  }
};
Page({


    isBack:false, // 为了返回时直接返回到这个页面的前一个
    /**
     * 页面的初始数据
     */
    data: (function getInitialData(params, extra = {}) {
        return {
          ...extra,
          ...params.reduce((acc = {}, cur) => ({ ...acc, [cur]: wx.getStorageSync(cur) || extra[cur] }), {})
        };
      })(CONSTANT.PARAMS_INIT_FROM_STORGE, CONSTANT.PARAMS_STATIC),

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
      wx.showLoading({
        title: '加载中',
        mask: true,
      });
      this.initTucao()
    },
    initTucao(){
      this.setData({
          url: Tucao.getUrl(this.data)
      });
      console.log(this.data,'this.data');
      Tucao.go(this.data);
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
      console.log('onShow');
      if(this.isBack){
        wx.navigateBack({
          delta: 1
        });
      }
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {
      console.log('onHide');
      wx.hideLoading()
      this.isBack=true
    },

})