V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jokyme
V2EX  ›  程序员

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

  •  1
     
  •   jokyme · 2019-04-13 00:34:14 +08:00 · 6569 次点击
    这是一个创建于 2051 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    最后放几张图 登录页 v2ex

    评论界面 v2ex

    主题详情 v2ex

    主题列表页 v2ex

    第 1 条附言  ·  2019-04-13 01:06:59 +08:00

    小程序还未发布,这两天会把主要功能还有一些细节进行完善,然后发布初级版本。 有需要提前体验的童鞋可以扫下面的二维码进群,同时欢迎童鞋们对本小程序的功能或者界面设计提出意见或建议

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

    不要忘了 + 号
    jokyme
        15
    jokyme  
    OP
       2019-04-13 10:51:24 +08:00
    @gavindexu
    @OldPanda
    这个可以有
    jokyme
        16
    jokyme  
    OP
       2019-04-13 10:54:08 +08:00
    @2s2k 监听关键字也可以,可以在服务器模拟登录一个账号,间隔 3-5 分钟查询一次和关键词相关的帖子,有新帖子就给用户发模板消息。
    POPOEVER
        17
    POPOEVER  
       2019-04-13 10:59:23 +08:00   ❤️ 1
    这个过不了审啊,社区类要 ICP 证的
    2s2k
        18
    2s2k  
       2019-04-13 10:59:50 +08:00   ❤️ 1
    你拿 cookies 就可以检测了。。重点在于。。怎么发给用户,,让用户一直登录?
    jokyme
        19
    jokyme  
    OP
       2019-04-13 11:11:01 +08:00
    @POPOEVER 企业微信账号应该可以吧,而且不提供回复功能,应该没事儿
    jokyme
        20
    jokyme  
    OP
       2019-04-13 11:18:19 +08:00
    @2s2k 不需要拿用户的 Cookie,把自己的账号放在服务器,专门用来做轮询用。用户在前台要配置监听关键词吧?那肯定要提交表单,只要用户提交了表单,就可以给用户发模板消息了(但是只能发一次)。
    也可以结合公众号来给用户发模板消息,通过模板消息跳转小程序
    atonku
        21
    atonku  
       2019-04-13 12:14:02 +08:00   ❤️ 1
    神官方
    POPOEVER
        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
    jokyme
        23
    jokyme  
    OP
       2019-04-13 12:58:18 +08:00
    @POPOEVER emmm... 过两天先提个版本试一下,我看了好几个 V2EX 的小程序都是个人版的,也能通过审核
    johnnyR
        24
    johnnyR  
       2019-04-13 13:39:19 +08:00   ❤️ 1
    为什么官方不弄一个呢
    yuanfnadi
        25
    yuanfnadi  
       2019-04-13 15:15:30 +08:00 via iPhone   ❤️ 1
    @POPOEVER 不需要了,现在只需要备案。
    2s2k
        26
    2s2k  
       2019-04-13 17:26:07 +08:00   ❤️ 1
    @jokyme 搞 flutter 弄个 APP 到时比较有趣。。蛤蛤蛤
    0kaka
        27
    0kaka  
       2019-04-13 21:09:12 +08:00   ❤️ 1
    马克 顶一个 希望好用
    Esay
        28
    Esay  
       2019-04-13 22:06:20 +08:00 via iPhone   ❤️ 1
    V2EX 并不支持微信登录,也没有其他小程序支持,但是浏览器支持得不好的需求(譬如说支付需求)。这样做出的小程序,和直接在网站浏览体验太相似了,而且是局限在微信里面,只面向微信用户,看上去是个很好的练习,但是作为一个项目,可能不会有很多用户持续使用,建议做一些有更多潜在用户的项目。

    当然,这只是我片面的个人拙见,可能有误,可能你已经考虑到了,泼冷水了,抱歉。
    mewpoi
        29
    mewpoi  
       2019-04-13 22:09:44 +08:00 via iPhone   ❤️ 1
    可以考虑借助 V2EX 建立自己的论坛,说白了增加一些自己的分区和 v2 混在一起,慢慢的吧用户转移过去,计划通
    jokyme
        30
    jokyme  
    OP
       2019-04-14 00:01:26 +08:00
    @Esay emmm... 这个项目只是拿来练手用的。定位的用户群是只有浏览需求的用户,在看微信的时候随手打开滑两下,仅此而已。所以也并不打算做的太复杂,如果是重度使用,还是推荐使用 web 版本,不管是体验还是响应速度都会比小程序快很多
    jokyme
        31
    jokyme  
    OP
       2019-04-14 00:02:52 +08:00
    @mewpoi 这个可以有,后面可以考虑加入 站内消息 功能,让用户通过小程序交换社交账号,或者点对点交流。
    MyFaith
        32
    MyFaith  
       2019-04-14 09:48:45 +08:00   ❤️ 1
    登录页和其他页面风格不统一,感觉好别扭。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   928 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:04 · PVG 05:04 · LAX 13:04 · JFK 16:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.