微信好物圈好物推荐插件开发文档

2019年7月5日11:07:19 发表评论 498 views

插件介绍

开发者可以将好物推荐插件添加到小程序中,在订单列表、商品详情页或其他合适的场景放置推荐按钮,用户可以直接在小程序内将物品推荐到好物圈

微信好物圈好物推荐插件开发文档

申请插件

符合以下条件的小程序可以申请使用好物推荐插件:

  1. 开通微信支付;
  2. 不属于金融、游戏、医疗等类目。

使用插件

app.json增加plugins项。

"plugins": {
   "goodsSharePlugin": {
     "version": "3.1.1",
     "provider": "wx56c8f077de74b07c"
   }
}

调用插件的页面的json文件,增加usingComponents["share-button"]项。

"usingComponents": {
  "share-button": "plugin://goodsSharePlugin/share-button"
}

调用方法

在声明了引入该插件的页面的wxml中,使用该插件。

<view class="test-container">
<share-button
  product="{{product}}"
  bind:error="on_error"
/>
</view>

share-button字段说明

属性 类型 是否必填 描述
product Object 详见下文解释,物品信息可以通过“物品更新”接口进行更新
type Number 默认值0,枚举值,0-带边框无图标按钮;1-无边框有图标按钮;2-纯图标; 3-自定义
size Number 默认值40,仅type2时有效,控制图标大小
fore-color String 默认值#000000,前景色,影响边框、文字、图标颜色
back-color String 默认值rgba(255,255,255,0),背景色,仅type0时候有效
btn-class String class选择器,可以连续指定多个
bind:error Function 失败回调

开发者可以从以下三种标准推荐按钮中选择其一或者完全自定义。

微信好物圈好物推荐插件开发文档

按钮素材下载

product字段说明

属性 类型 必填 说明
item_code String 物品的唯一标识
title String 物品的名称
desc String 物品描述
category_list String Array 类目列表
image_list String Array 物品图片url列表,图片宽度必须大于750px,宽高比建议4:3 - 1:1之间
src_mini_program_path String 物品的小程序落地页path
brand_info Object 物品所属店铺信息,非平台型商家选填,具体见brand_info字段说明
sku_list Object Array 物品SKU列表,具体见sku_list字段说明

brand_info字段说明

属性 类型 必填 描述
name String 商家名字
logo String 商家logo
phone String 商家电话

sku_list字段说明

属性 类型 必填 描述
sku_id String 商品的sku_id,需保证同个item_code下唯一
price Number 单位为的物品现价。大于等于0的整数
original_price Number 单位为的物品原价。大于等于0的整数
status Number 物品状态。数字枚举值:1:在售; 2:下架; 3:售罄
poi_list Object Array 门店的poi信息,具体见poi_list字段说明
sku_attr_list Object Array 物品属性列表,具体见sku_attr_list字段说明

sku_attr_list字段说明

属性 类型 必填 描述
name String 物品属性值名
value String 物品属性值

poi_list字段说明

poi_list 数组字段 是否必填 说明
longitude 门店的经度,WGS84标准,取值范围为-180180的数字
latitude 门店的纬度,取值范围为-9090的数字
radius 门店可送达半径,单位km,大于等于0的数字
business_name 门店名称(仅为商户名,如:国美、麦当劳,不应包含地区、地址、分店名等信息,错误示例:北京国美),20个字符以内。非空白字符串
branch_name 分店名称(不应包含地区信息,不应与门店名有重复,错误示例:北京王府井店),20个字符以内,20个字符以内。非空白字符串
address 门店地址(不包含省市区信息,如:新港中路123号)。非空白字符串

参数示例

product: {
  "item_code":"00003563372839_00000010154601",
  "title":"product_name",
  "desc":"product_description",
  "category_list":[
    "服装",
    "上衣",
    "短袖衬衫"
  ],
  "image_list":[
    "https://res.wx.qq.com/mpres/htmledition/images/xxxx.jpeg"
  ],
  "src_mini_program_path":"/detail?item_code=00003563372839_00000010154601",
  "sku_list":[
    {
      "sku_id":"SKU_ID",
      "price":12345,
      "original_price":67890,
      "status":1,
      "poi_list":[
        {
          "longitude":116.32676,
          "latitude":40.003305,
          "radius":5,
          "business_name":"XXX",
          "branch_name":"珠江新城店",
          "address":"新港中路123号"
        },
        {
          "longitude":117.32676,
          "latitude":41.003305,
          "radius":5,
          "business_name":"CCC",
          "branch_name":"客村店",
          "address":"新港中路123号"
        }
      ],
      "sku_attr_list":[
        {
          "name":"颜色",
          "value":"白色"
        },
        {
          "name":"尺码",
          "value":"XXL"
        }
      ]
    }
  ],
  "brand_info":{
    "name":"品牌名、小程序名",
    "logo":"http://xxxxx"
  }
}

回调返回码

on-error回调中的返回码列表:

错误码(ret_code) 错误信息(ret_msg)
10001 参数错误:具体错误根据ret_msg信息提示进行处理
20063 小程序涉嫌违规,已被限制接入好物圈
20064 小程序类目不属于好物圈接入范围
20066 小程序未开通微信支付
20070 小程序不符合接入门槛
20080 插件版本号过低
20090 物品推荐失败

常见问题

  • 点击分享按钮没反应。一般来说是入参错误。请开发者绑定并查看error回调函数中的第一个参数,内含的ret_msg会详细列出参数错误的原因。
  • 修改了全局变量AppPage导致引用插件报错。建议开发者绕开占用变量名。
//一般而言,修改Page是为了对Page注入一些东西,例如:
const ORIGINAL_PAGE = Page; // 这个Page是原始的Page

Page = function(options){ //
    //做点其他注入操作
    //一顿修改后
    return ORIGINAL_PAGE(options)
}

// 然后常规得初始化页面
Page({
    data: {}
    //...
})

//为了避免这个问题,可以换一个名字,不再占用变量名
XXXPage = function(options){ //
    //做点其他注入操作
    //一顿修改后
    return Page(options)
}

// 然后常规得初始化页面
XXXPage({
    data: {}
    //...
})
//App这个变量名也是同理的
weinxin
好物圈抱团交流QQ群
群号:868224432

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: