6
收藏
评论

「笔记」开发微信开放社区小程序版

基于官方公开接口开发一个自己的微信开放社区小程序

前言

  去年在微信公开课小程序里就看到有社区版块,但是就很好奇为啥社区自己不出一个小程序版本的。至少在3月份以前,微信开放社区在手机端虽然进行了简单适配,但是访问的时候用户体验并不是很好,到目前为止手机端访问社区时依然不支持搜索回复功能。

  微信开放社区已经做了手机的适配,为啥还要自己做一个小程序版本的呢?

  2月13日在群里聊天的时候 @Stephen 突然发了一个社区列表接口地址,就聊起了要利用公开接口来自己做一个用于查看社区信息的想法。

  隔了将近一周,有天实在是闲得没啥事干,于是就开始研究社区的接口来,大概用了一个上午的时间理清了社区栏目和文章页的接口信息和参数含义,接下来就可以做自己的小程序页面了。

体验地址

https://www.qzwu.com/WeChat/Login

开发浏览功能

问题解答接口:

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特殊标签支持不是很好,会导致部分内容无法正常显示;
  • 期待官方的社区小程序能早日推出;


*最后鄙视下那些采集信息到自己网站上的人。

最后一次编辑于  03-18  (未经腾讯允许,不得转载)
复制链接赞 6收藏投诉评论

26 个评论

  • 卢霄霄
    卢霄霄
    03-15


    03-15
    赞同
    回复 4
    • 拾忆
      拾忆
      03-15

      欢迎常来~

      03-15
      回复
    • 卢霄霄
      卢霄霄
      03-15回复拾忆

      常来和你分享马桶上的温度吗

      03-15
      回复
    • 拾忆
      拾忆
      03-15回复卢霄霄

      咦~口味真重~

      03-15
      回复
    • aholy
      aholy
      08-31
      你俩真皮~😄
      08-31
      回复
  • 阳洋
    阳洋
    03-17

    大佬问个问题,这个社区小程序是用的swiper 做顶部tab吗?我用swiper 做顶部tab,然后tab页面内也是scroll里面有list,但是会出现莫名的空白,大佬有遇到这个问题吗

    03-17
    赞同
    回复 2
    • 拾忆
      拾忆
      03-17

      没有用swiper,是用的weui。

      03-17
      回复
    • 阳洋
      阳洋
      03-17回复拾忆

      哦哦

      03-17
      回复
  • LLT
    LLT
    03-19

    不知道为什么,总有用户一直反馈报错“fail is recording or paused”,但是复现不出来,review代码也不知道哪里有问题。求大佬指导一下

    03-19
    赞同
    回复
  • ?
    03-21

    想咨询能不能获取到小程序底层实现的源码,求大佬加好友,752766118,实在没有渠道加大佬好友。。。github上和个人主页上都没找到

    03-21
    赞同
    回复 1
    • 拾忆
      拾忆
      03-21
      我不知道呀,我也不是大佬,只是一个闲的人
      03-21
      回复
  • Twelve
    Twelve
    03-29

    这个想法很不错,但是前端有点....我可以提供免费美化,需要的话可以加个好友

    03-29
    赞同
    回复 6
    • 拾忆
      拾忆
      03-29
      不要在意前端
      03-29
      回复
    • Twelve
      Twelve
      03-29回复拾忆

      哈哈

      03-29
      回复
    • 拾忆
      拾忆
      03-29回复Twelve

      UI等官方出来照搬就好了~不知道官方开发要多久。

      03-29
      回复
    • 拾忆
      拾忆
      03-29回复Twelve

      万一你弄的太漂亮了,官方嫉妒了咋办。

      03-29
      回复
    • Twelve
      Twelve
      03-29回复拾忆

      哈哈  主要是我觉得有点影响阅读,其实你做的挺不错的

      03-29
      回复
    查看更多(1)
  • 王希盼
    王希盼
    04-04

    大佬,方便加个微信或QQ吗?有几个问题想请教你

    04-04
    赞同
    回复
  • ABCdeful
    ABCdeful
    05-12

    https://developers.weixin.qq.com/community/develop/doc/000c24204b0bb0bda1889c5075bc00?jumpto=comment&commentid=000e42dc4181580da28854e26560

    大佬,快救救孩子把【哭】

    05-12
    赞同
    回复
  • zxcv
    zxcv
    08-12

    大佬,开源了吗?想学习下代码

    08-12
    赞同
    回复 2
    • 拾忆
      拾忆
      08-12
      不开源,也没啥开源的~
      08-12
      回复
    • zxcv
      zxcv
      08-12回复拾忆
      噢噢,谢谢~
      08-12
      回复
  • 柚子茶
    柚子茶
    08-12

    刚刚

    大佬、请问体验版或者开发版扫码携参进入怎么测试呀?


    08-12
    赞同
    回复 1
    • 柚子茶
      柚子茶
      08-12
      我不知道怎么生成配置那个码、后台给的必须生产版
      08-12
      回复