又一款 V2EX 小程序,一定不会让你失望

2019-04-13 00:34:14 +08:00
 jokyme

最近在学微信小程序,其间看了一些和 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 大大,能否多放出一些接口,这样我们就不用这么幸苦去爬了

最后放几张图 登录页

评论界面

主题详情

主题列表页

6593 次点击
所在节点    程序员
32 条回复
Verx0
2019-04-13 00:55:17 +08:00
楼主,小程序二维码了?
jokyme
2019-04-13 00:56:55 +08:00
@Verx0 还没发布哈,这两天还有一些细节修改以下,下周发布
sobigfish
2019-04-13 01:07:24 +08:00
貌似阴影用的比较多?看着晕啊
jokyme
2019-04-13 01:09:42 +08:00
@sobigfish 有加了一点阴影,为了让文字看上去更清晰。看久了确实会晕,后面会把阴影调低一点。
Verx0
2019-04-13 01:09:52 +08:00
@jokyme #2 “于是我就自己撸了一款 V2EX 小程序,定位是仅用来浏览,不进行发帖和回复的用户。”我觉得在微信端还是继续使用另一个楼主发布的 v2explus 吧……😅
jokyme
2019-04-13 01:16:29 +08:00
@Verx0 v2explus 用过了,也是请求的官方接口。
可以登陆,但是主题列表页只能查看第一页的内容,没有请求分页。
另外主题详情页看不到附言。
yingyue
2019-04-13 01:35:23 +08:00
这里有 go 版本的 API 我开始也感觉开放的太少
https://github.com/appdev/v2exGoAPI
jokyme
2019-04-13 01:53:32 +08:00
@yingyue 0.0 看了,也是没有带分页的
yingyue
2019-04-13 02:12:20 +08:00
@jokyme 有分页啊!帖子和帖子详情都有分页
jokyme
2019-04-13 02:21:25 +08:00
@yingyue 普通的 tab 有分页,但是 [全部] 和 [最热] 需要登录才能看分页
gavindexu
2019-04-13 06:38:50 +08:00
没实现通过 Google 登陆?
OldPanda
2019-04-13 07:50:34 +08:00
求实现谷歌登录+1
2s2k
2019-04-13 09:45:40 +08:00
客户端没啥用啊,我想做一个监听关键字然后给我发消息的那种
2s2k
2019-04-13 10:51:02 +08:00
@jokyme 我做爬虫的,哈哈哈,有兴趣可以合作 卫星 KzEzMTQ2NjY0NDQ2

不要忘了 + 号
jokyme
2019-04-13 10:51:24 +08:00
@gavindexu
@OldPanda
这个可以有
jokyme
2019-04-13 10:54:08 +08:00
@2s2k 监听关键字也可以,可以在服务器模拟登录一个账号,间隔 3-5 分钟查询一次和关键词相关的帖子,有新帖子就给用户发模板消息。
POPOEVER
2019-04-13 10:59:23 +08:00
这个过不了审啊,社区类要 ICP 证的
2s2k
2019-04-13 10:59:50 +08:00
你拿 cookies 就可以检测了。。重点在于。。怎么发给用户,,让用户一直登录?
jokyme
2019-04-13 11:11:01 +08:00
@POPOEVER 企业微信账号应该可以吧,而且不提供回复功能,应该没事儿
jokyme
2019-04-13 11:18:19 +08:00
@2s2k 不需要拿用户的 Cookie,把自己的账号放在服务器,专门用来做轮询用。用户在前台要配置监听关键词吧?那肯定要提交表单,只要用户提交了表单,就可以给用户发模板消息了(但是只能发一次)。
也可以结合公众号来给用户发模板消息,通过模板消息跳转小程序

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/554668

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX