最近在做微信搜索widget,可能是因为菜所以搞了好久,做的时候感觉好坑,做完之后感觉自己真菜。写个博客记录一下,以后用得上也希望能帮到你们。
微信搜索widget主要是用于小程序搜一搜的,搜出来的页面如下:
微信搜索有多个步骤,主要是开发部分,关于微信搜索接口调用和压力性能测试。
微信搜索接口调用,首先是要导入抽样数据,抽样数据我理解的就是关键词搜索,这些关键词不能太少,你把你需要尽可能的列上去然后传过去。
一、导入抽样数据
1.获取access_token,这个做过微信公众平台的都很熟悉,开发者需要获取ACCESS_TOKEN作为接口调用凭证,access_token需要使用小程序的AppID和AppSecret进行获取
https请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
直接通过这个接口调用就可以了,access_token两个小时就会过期,可以存到数据库里,需要刷新的时候重新调用这个接口。
返回正确:{"access_token":"ACCESS_TOKEN","expires_in":7200}
返回错误:{"errcode":40013,"errmsg":"invalid appid"}
.net 可以用indexOf 判断是正确的还是错误的数据
2.组建抽样数据json
格式如下:
{
"lifespan": 86400,
"query": "{\"type\":XXXXXX}",
"scene": 1,
"data": "your custom data to push"
}
Lifespan:数据有效时间,秒为单位,一般为86400,一天一次导入的频率
Query:固定为"{\"type\":XXXXX}",用于标识数据所属的服务类目,注意该字段为string类型而不是object,这个可以查的,一般为1000xxx
Scene:默认是1
Data:{items:[{}],attribute:{"id":"XXX", "seq": i, "count": M, "totalcount": N}},这是string类型
Items:items数组定义,不同的模板有不同的定义(https://wsad.weixin.qq.com/wsad/zh_CN/htmledition/widget-categories/html/index.html)
seq为多次推送的递增序列,为0到n-1,第一次推送seq为0,第二次推送seq为1,以此类推;
count为此次api推送的数据条数;
totalcount为此批数据的总条数,sum(count(0).size() + ... +count(n-1).size()),即所有api推送数据条数总和。
拼出来的json拿去校验下,通过即可传过去
我做的是上门维修的,json如下: