前言
去年在微信公开课小程序里就看到有社区版块,但是就很好奇为啥社区自己不出一个小程序版本的。至少在3月份以前,微信开放社区在手机端虽然进行了简单适配,但是访问的时候用户体验并不是很好,到目前为止手机端访问社区时依然不支持搜索和回复功能。
微信开放社区已经做了手机的适配,为啥还要自己做一个小程序版本的呢?
2月13日在群里聊天的时候 @Stephen 突然发了一个社区列表接口地址,就聊起了要利用公开接口来自己做一个用于查看社区信息的想法。
隔了将近一周,有天实在是闲得没啥事干,于是就开始研究社区的接口来,大概用了一个上午的时间理清了社区栏目和文章页的接口信息和参数含义,接下来就可以做自己的小程序页面了。
体验地址
开发浏览功能
问题解答接口:
https://developers.weixin.qq.com/community/ngi/timeline/{参数1}/{参数2}/{参数3}?page=1
参数1:版块分类
1:小程序
2:小游戏
8:微信支付
参数2:类型
1:默认
2:公告
参数3:标签ID
0:默认
列表接口:
https://developers.weixin.qq.com/community/ngi/{参数1}/list/{参数2}?page=1&blockType={参数3}
参数1:文章分类
doc:普通帖子
article:文章
参数2:栏目ID
参数3:版块分类
1:小程序
2:小游戏
8:微信支付
搜索接口:
https://developers.weixin.qq.com/community/ngi/search?query=关键词&page=1&blogCategory={参数1}
参数1:分类
511:相关帖子
1024:官方教程
512:小故事
有了以上3个接口,简单的社区就能做出来了。
开发社区登陆功能
开发社区回复功能首先要解决登陆的问题,官方自然不会有API文档让小程序接入社区。以下登陆流程主要灵感来源于 @这都申请了 提供的思路。
1.获取state
https://developers.weixin.qq.com/community/ngi/
2.获取登录二维码页面
https://open.weixin.qq.com/connect/qrconnect?appid=wx1bb297ee890403a9&scope=snsapi_login&redirect_uri=https://developers.weixin.qq.com&state={state}&login_type=jssdk
3.解析获取登录二维码以及二维码的uuid
4.监听登录状态(超时时间设置为60秒)
https://long.open.weixin.qq.com/connect/l/qrconnect?uuid={uuid}&_={随机数}
5.监听返回内容
wx_errcode为405代表登录成功,获取wx_code
6.登录身份验证地址获取用户cookie
https://developers.weixin.qq.com/community/ngi/welogin?type=0&redirect_url=&code={wx_code}&state={state}
7.解析上一步页面中的set-cookie并保存到数据库
8.生成对应的小程序码
9.扫码进入小程序与小程序内登陆用户的openId或其它用户标识信息绑定
开发评论功能
发布评论接口:
https://developers.weixin.qq.com/community/ngi/comment/create?random={随机数}&token={参数1}
参数1:token
这个在登陆的时候能够获取到
总结
开发目的
- 解决手机只能看不能回复的困扰;
- 可以方便的在床上、马桶上和社区网红 @卢霄霄 聊天;
- 不是为了采集数据或者以其它方式盈利,纯粹只是闲的;
还需要优化的地方
- 小程序内对富文本和一些H5特殊标签支持不是很好,会导致部分内容无法正常显示;
- 期待官方的社区小程序能早日推出;
*最后鄙视下那些采集信息到自己网站上的人。
大佬问个问题,这个社区小程序是用的swiper 做顶部tab吗?我用swiper 做顶部tab,然后tab页面内也是scroll里面有list,但是会出现莫名的空白,大佬有遇到这个问题吗
没有用swiper,是用的weui。
哦哦