最近在学微信小程序,其间看了一些和 V2EX 相关的小程序。大部分都是请求官方接口数据。要么无法查看分页数据,要么字段不全(列表页没有点击数量,详情页没有附言等等)
于是我就自己撸了一款 V2EX 小程序,定位是仅用来浏览,不进行发帖和回复的用户。
由于开发的时间比较短,现在只开发了三个页面。待所有功能完善后,会发布并将代码开源。
现有功能:
1、登录
2、分页查看数据
3、详情页可查看附言
后续功能:
1、查看所有节点
2、查看某个节点下的主题(可分页查看)
2、个人中心
3、查看历史访问记录
4、签到
5、退出登录
6、...
设计思路:
1、登录功能主要是为了查看分页功能而设计的。小程序的 wx.request 无法设置 referer,而 V2EX 的所有 POST 请求都会验证 referer,所以用户登录时,会经由云函数修改 referer 后将用户信息提交到 V2EX 进行登录
2、数据请求。起初打算将所有的用户请求都发送到云函数,由云函数统一抓取并将 html 解析成 json 后返回小程序端渲染。但是由于云函数执行缓慢,并且用户量多的情况下担心服务器 IP 被封。于是后面将所有 GET 请求,以及解析 HTML 的工作全都放到了小程序端。由于不需要经过云函数进行处理,速度提升了不少。
3、关于 POST 请求。创建主题、回复、登录 等操作都需要 POST 请求,现在能想到的解决方案是搭建一台服务器,将用户的真实 IP 和 POST 请求转发到 V2EX。这样或许可以避免因服务器频繁访问而被封 IP ?
BTW,@Livid 大大,能否多放出一些接口,这样我们就不用这么幸苦去爬了
最后放几张图 登录页
评论界面
主题详情
主题列表页
小程序还未发布,这两天会把主要功能还有一些细节进行完善,然后发布初级版本。 有需要提前体验的童鞋可以扫下面的二维码进群,同时欢迎童鞋们对本小程序的功能或者界面设计提出意见或建议
1
Verx0 2019-04-13 00:55:17 +08:00 via iPhone 1
楼主,小程序二维码了?
|
3
sobigfish 2019-04-13 01:07:24 +08:00 1
貌似阴影用的比较多?看着晕啊
|
5
Verx0 2019-04-13 01:09:52 +08:00 via iPhone 1
@jokyme #2 “于是我就自己撸了一款 V2EX 小程序,定位是仅用来浏览,不进行发帖和回复的用户。”我觉得在微信端还是继续使用另一个楼主发布的 v2explus 吧……😅
|
6
jokyme OP |
7
yingyue 2019-04-13 01:35:23 +08:00 via Android 1
这里有 go 版本的 API 我开始也感觉开放的太少
https://github.com/appdev/v2exGoAPI |
11
gavindexu 2019-04-13 06:38:50 +08:00 via iPhone 1
没实现通过 Google 登陆?
|
12
OldPanda 2019-04-13 07:50:34 +08:00 1
求实现谷歌登录+1
|
13
2s2k 2019-04-13 09:45:40 +08:00 1
客户端没啥用啊,我想做一个监听关键字然后给我发消息的那种
|
16
jokyme OP @2s2k 监听关键字也可以,可以在服务器模拟登录一个账号,间隔 3-5 分钟查询一次和关键词相关的帖子,有新帖子就给用户发模板消息。
|
17
POPOEVER 2019-04-13 10:59:23 +08:00 1
这个过不了审啊,社区类要 ICP 证的
|
18
2s2k 2019-04-13 10:59:50 +08:00 1
你拿 cookies 就可以检测了。。重点在于。。怎么发给用户,,让用户一直登录?
|
20
jokyme OP @2s2k 不需要拿用户的 Cookie,把自己的账号放在服务器,专门用来做轮询用。用户在前台要配置监听关键词吧?那肯定要提交表单,只要用户提交了表单,就可以给用户发模板消息了(但是只能发一次)。
也可以结合公众号来给用户发模板消息,通过模板消息跳转小程序 |
21
atonku 2019-04-13 12:14:02 +08:00 1
神官方
|
22
POPOEVER 2019-04-13 12:38:03 +08:00 1
@jokyme 跟账号类型无关,我只是提个醒,小程序审核经常会卡服务类目资证不全之类的,社区论坛类以前是一定要 ICP 证,现在好像宽松点了,可能 ICP 备案就可以了
非个人主体的类目: https://developers.weixin.qq.com/miniprogram/product/material.html#%E4%B8%AA%E4%BA%BA%E4%B8%BB%E4%BD%93%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%BC%80%E6%94%BE%E7%9A%84%E6%9C%8D%E5%8A%A1%E7%B1%BB%E7%9B%AE |
24
johnnyR 2019-04-13 13:39:19 +08:00 1
为什么官方不弄一个呢
|
27
0kaka 2019-04-13 21:09:12 +08:00 1
马克 顶一个 希望好用
|
28
Esay 2019-04-13 22:06:20 +08:00 via iPhone 1
V2EX 并不支持微信登录,也没有其他小程序支持,但是浏览器支持得不好的需求(譬如说支付需求)。这样做出的小程序,和直接在网站浏览体验太相似了,而且是局限在微信里面,只面向微信用户,看上去是个很好的练习,但是作为一个项目,可能不会有很多用户持续使用,建议做一些有更多潜在用户的项目。
当然,这只是我片面的个人拙见,可能有误,可能你已经考虑到了,泼冷水了,抱歉。 |
29
mewpoi 2019-04-13 22:09:44 +08:00 via iPhone 1
可以考虑借助 V2EX 建立自己的论坛,说白了增加一些自己的分区和 v2 混在一起,慢慢的吧用户转移过去,计划通
|
30
jokyme OP @Esay emmm... 这个项目只是拿来练手用的。定位的用户群是只有浏览需求的用户,在看微信的时候随手打开滑两下,仅此而已。所以也并不打算做的太复杂,如果是重度使用,还是推荐使用 web 版本,不管是体验还是响应速度都会比小程序快很多
|
32
MyFaith 2019-04-14 09:48:45 +08:00 1
登录页和其他页面风格不统一,感觉好别扭。。
|