V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jokyme
V2EX  ›  分享创造

千呼万唤使出来, V2EX 非官方小程序发布啦!

  •  
  •   jokyme · 2019-04-17 20:02:18 +08:00 · 8047 次点击
    这是一个创建于 2048 天前的主题,其中的信息可能已经有所发展或是发生改变。

    经过一周左右时间的开发,V2EX For You 小程序终于开发完成,并在今天正式上线啦!!!

    作为我开发的第一款小程序,我对它还是比较满意的。至少跟现有的其它 V2EX 小程序比起来,V2EX For You 不管是从界面风格还是从功能上来说都有很多可圈可点的地方。

    由于是 1.0 版本,所以从一开始就没有打算做的太复杂。在功能上,优先考虑用户浏览的便利性。界面设计上,使用灰色和黑色作为主色调,与 web 版保持一致。排版布局参照了 v2ex-swift 版

    一、实现方式

    有两种方式可以实现。

    第一种直接调用 V2EX 现有的 API,请求速度快,但是现有的接口并不完整,只提供了最基本的查看功能。

    所以我们选择了第二种,模拟请求 V2EX 手机站点,并使用 cheerio 分析网页元素转换为 json,最后在小程序上渲染。数据是都有了,但是牺牲了速度。从请求到分析到 setData 再到页面呈现,整体的速度比直接请求接口慢了 3 倍多。所以下一个版本打算将 API 和模拟请求进行结合。先请求接口进行页面呈现,然后再分析页面元素,将接口里面缺少的部分提取出来,两者进行组合,减少用户的等待时间。

    二、主要技术和工具

    cheerio.js

    request.js

    towxml

    搜索接口由 soV2EX 提供

    三、待实现的功能

    下一版将着重用户体验优化,减少页面加载时间,提升界面的交互体验。此外,还会增加签到、发帖、点赞、收藏等功能。

    四、已知的问题

    目前已知部分安卓用户在使用是会请求不到数据的情况 iPhoneX 查看详情页时,底部的回复框没有做适配

    五、开源

    这一版是直接使用原生组件开发的,很多功能都没来得及封装,重复代码较多,就不放出来献丑了。

    接下来我会使用 Taro 将它重构一遍,最晚在 5 月底开源。

    六、小程序截图

    75 条回复    2019-08-07 12:46:25 +08:00
    rykka
        1
    rykka  
       2019-04-17 20:07:56 +08:00 via iPhone   ❤️ 1
    可以啊,老弟
    jokyme
        2
    jokyme  
    OP
       2019-04-17 20:10:25 +08:00
    @rykka 来啦,老弟
    nanaw
        3
    nanaw  
       2019-04-17 20:10:28 +08:00 via Android   ❤️ 11
    是 app 不好用了还是浏览器打不开了?谁会去专门微信里面看。
    微信在本站风评如何,不用多说了 8
    jokyme
        4
    jokyme  
    OP
       2019-04-17 20:16:31 +08:00
    @nanaw emmm... 开发这个小程序的初衷并不是让用户专门为了浏览 V2EX 而去玩微信,实际上用户也不会这么做。目标群体是重度使用微信,但是闲时会刷一刷 V2EX 的用户。不用在 App(或浏览器)和微信之间来回切换
    caqiko
        5
    caqiko  
       2019-04-17 20:18:23 +08:00 via iPhone   ❤️ 1
    在用了!很不错哦
    zdb1115
        6
    zdb1115  
       2019-04-17 20:27:57 +08:00   ❤️ 1
    厉害了 老兄!
    huai
        7
    huai  
       2019-04-17 20:36:27 +08:00   ❤️ 1
    骨架图这块是如何做的。有工具?
    zhou00
        8
    zhou00  
       2019-04-17 20:37:10 +08:00 via iPhone   ❤️ 1
    支持下楼主,用了下,蛮舒服的。可以再加上两点功能,点击头像进详情,艾特后面的用户点击弹出引用内容。另外,安卓打字怎么换行~
    loli
        9
    loli  
       2019-04-17 20:41:01 +08:00   ❤️ 1
    在用 v2er,唯一吸引我的一点就是点击 @会列出这个人在该主题的所有的回复,其他的各种的第三方都没这个。
    这是个很小众的需求吗?大家看 @是怎么理解上下文的?
    jokyme
        10
    jokyme  
    OP
       2019-04-17 20:49:41 +08:00
    @huai 也有工具可以生成,我是手写的
    jokyme
        11
    jokyme  
    OP
       2019-04-17 20:50:19 +08:00
    @zhou00 现在打字好像没办法换行,下个版本可以加进去
    mornlight
        12
    mornlight  
       2019-04-17 20:51:12 +08:00 via iPhone   ❤️ 1
    不错。有些细节还能再改进:节点页有时候一片白;搜索结果页最底下还是有那个「没有找到任何」的提示;回复框不能换行。欢迎楼主使用 SOV2EX 的 api😬
    mornlight
        13
    mornlight  
       2019-04-17 20:52:01 +08:00 via iPhone   ❤️ 1
    回复成功之后框里的内容还在……
    jokyme
        14
    jokyme  
    OP
       2019-04-17 20:52:48 +08:00
    @loli 有考虑实现这一块,但是还没想到好的呈现方式
    devjoe
        15
    devjoe  
       2019-04-17 20:53:08 +08:00 via iPhone   ❤️ 1
    Logo 都不换下吗 😂
    testsec
        16
    testsec  
       2019-04-17 20:53:48 +08:00 via iPhone   ❤️ 1
    用过一 V2EX plus
    SuperMia666
        17
    SuperMia666  
       2019-04-17 20:58:29 +08:00   ❤️ 1
    在用 V2EX plus 回复😄👍支持一下,你的字体有点晕🌫️
    jokyme
        18
    jokyme  
    OP
       2019-04-17 21:00:51 +08:00
    @mornlight 呀,看到 SOV2EX 的作者了,感谢大佬提供的 API。
    另外这个版本确实还有很多细节没处理到位,下个版本会一并处理。
    : )
    bccoder
        19
    bccoder  
       2019-04-17 21:03:44 +08:00 via Android   ❤️ 2
    万人血书取消字体阴影
    jokyme
        20
    jokyme  
    OP
       2019-04-17 21:10:24 +08:00
    @SuperMia666 有加了一点阴影
    jokyme
        21
    jokyme  
    OP
       2019-04-17 21:11:55 +08:00
    @bccoder 字体阴影看久了确实眼晕,明天先改一个版本放上去。
    HarveyZh
        22
    HarveyZh  
       2019-04-17 21:17:29 +08:00 via Android   ❤️ 1
    回复楼层能在当前楼层里面吗? 看到别人回复一个问题 ,我还要向上翻 看问题是啥。
    jokyme
        23
    jokyme  
    OP
       2019-04-17 21:19:06 +08:00
    @HarveyZh 这个可以有,下个版本考虑加上去
    maxlino
        24
    maxlino  
       2019-04-17 21:19:48 +08:00 via iPhone   ❤️ 1
    好像“千呼万唤始出来”才对吧?
    jokyme
        25
    jokyme  
    OP
       2019-04-17 21:22:23 +08:00
    @maxlino 嗯,后面反应过来,发现已经改不了了 😂
    runningman
        26
    runningman  
       2019-04-17 21:29:30 +08:00 via iPhone   ❤️ 1
    开源吧 会小程序的哥们都可以更新
    devjoe
        27
    devjoe  
       2019-04-17 21:32:23 +08:00 via iPhone   ❤️ 1
    我是 V2er 的作者,上面回复被你忽视了,为了不必要的麻烦,还请把 Logo 换了,谢谢。
    wedoub
        28
    wedoub  
       2019-04-17 21:40:09 +08:00 via iPhone   ❤️ 1
    不错不错,支持一波
    simon6661
        29
    simon6661  
       2019-04-17 21:46:03 +08:00 via iPhone   ❤️ 1
    佩奇呢
    jokyme
        30
    jokyme  
    OP
       2019-04-17 21:58:33 +08:00
    @devjoe 额,在 google 搜的 Logo,没注意看,明天换一下。
    gogo88
        31
    gogo88  
       2019-04-17 22:02:31 +08:00 via iPhone   ❤️ 1
    @devjoe 这 logo 确实和 v2er 一毛一样啊
    willku
        32
    willku  
       2019-04-17 22:07:30 +08:00 via iPhone   ❤️ 1
    666
    WenjieYe
        33
    WenjieYe  
       2019-04-17 22:09:37 +08:00   ❤️ 1
    支持一波
    ifaii
        34
    ifaii  
       2019-04-17 22:09:55 +08:00   ❤️ 1
    又可以摸鱼了
    azhi
        35
    azhi  
       2019-04-17 22:19:34 +08:00   ❤️ 2
    我是 V2EX Plus 的作者,哈哈来啦老弟,可以交流交流
    huangdayu
        36
    huangdayu  
       2019-04-17 22:31:09 +08:00 via Android   ❤️ 1
    @azhi 插件出了个问题,广告占了一片空白,在右边栏
    azhi
        37
    azhi  
       2019-04-17 22:35:17 +08:00   ❤️ 1
    我是小程序啊老哥,没投放广告啊
    azhi
        38
    azhi  
       2019-04-17 22:35:52 +08:00   ❤️ 1
    huangdayu
        39
    huangdayu  
       2019-04-17 22:46:09 +08:00 via Android   ❤️ 1
    @azhi 抱歉,我搞错了,我以为是 Chrome 插件😁
    azhi
        40
    azhi  
       2019-04-18 07:56:27 +08:00   ❤️ 1
    @huangdayu 哈哈没错好像插件也叫 plus,当时小程序起名词穷了
    gneplove
        41
    gneplove  
       2019-04-18 09:57:24 +08:00   ❤️ 1
    最后一个页面的全屏是怎么做的啊,貌似小程序只能配置所有页面全屏,不能单独配置某一个页面全屏呀?
    slogon
        42
    slogon  
       2019-04-18 10:49:00 +08:00   ❤️ 1
    咋看不到小程序码了?
    dabaibai
        43
    dabaibai  
       2019-04-18 11:35:42 +08:00   ❤️ 1
    不喜欢微信小程序 略了.
    微信做了不该做的事情
    w4mxl
        44
    w4mxl  
       2019-04-18 16:53:22 +08:00   ❤️ 1
    做的不错哦,支持一下。😄
    一些小细节给您反馈一下:
    - 话题详情页的骨架感觉有点乱呢;
    - 搜索 Tab 的 logo 和小程序的 logo 保持一致统一感好点;
    - 节点 Tab 我第一次时没加载出来;
    - 我的 Tab 如果没登录[登出]按钮感觉还是隐藏了好点
    w4mxl
        45
    w4mxl  
       2019-04-18 16:56:27 +08:00   ❤️ 1
    @azhi @mornlight 顺带感谢二位,sov2ex 和 V2EX plus 很好,都有在用 😎
    jokyme
        46
    jokyme  
    OP
       2019-04-18 19:18:55 +08:00
    @gneplove 每个页面都可以用一个单独的 json 文件进行配置的
    jokyme
        47
    jokyme  
    OP
       2019-04-18 19:19:17 +08:00
    @slogon 小程序码在最后一张图片
    jokyme
        48
    jokyme  
    OP
       2019-04-18 19:27:25 +08:00
    @w4mxl 提的几点建议都不错,
    下一版的骨架屏打算用工具生成。
    个人中心的页面在下个版本会加入很多功能,所以,也会改的。
    观察的很仔细,tab 的 logo 是随手在 iconfont 找的,Logo 是另外画的,可以考虑改成一致。
    节点加载不出来的问题好像蛮多人反馈的,已经改完了,明天发布。
    sangmong
        49
    sangmong  
       2019-04-18 20:38:49 +08:00   ❤️ 1
    iPad 上首页导航栏显示不出来
    goodjojo
        50
    goodjojo  
       2019-04-18 21:22:29 +08:00 via iPhone   ❤️ 1
    支持一波!
    alan0liang
        51
    alan0liang  
       2019-04-18 21:28:22 +08:00 via Android   ❤️ 1
    支持下
    顺便说一句 千呼万唤“始”出来 (我刚背 马上要期中考试了
    SingeeKing
        52
    SingeeKing  
       2019-04-18 21:42:43 +08:00   ❤️ 1
    不知道确切但按照我之前的经验猜测一下 bug 产生的原因
    1. HTTPS 证书链有问题或协议版本(支持得太低和太高都不行)
    2. 可以添加一个底部 margin/padding 值先设置为 0 再设置为 env(safe-area-inset-top)、constant(safe-area-inset-top),也就是需要写三行来保证适配
    hljjhb
        53
    hljjhb  
       2019-04-19 00:29:39 +08:00 via Android   ❤️ 1
    体验意外地好
    jokyme
        54
    jokyme  
    OP
       2019-04-19 01:09:23 +08:00
    @sangmong iPad 在模拟请求时会访问 PC 网站,现在只对手机端的做了适配。平板的适配已经提上日程,但是放在相对靠后的位置。排版布局在 iPad 上也要重新设计,否则体验很差。
    jokyme
        55
    jokyme  
    OP
       2019-04-19 01:12:15 +08:00
    @SingeeKing 小程序不支持 env(safe-area-inset-top)、constant(safe-area-inset-top) 这两个属性。昨天改了一个版本,检测用户设备是否是 iPhoneX,然后设置 bottom
    jokyme
        56
    jokyme  
    OP
       2019-04-19 01:12:48 +08:00
    @hljjhb
    @goodjojo
    感谢支持 :)
    huixun
        57
    huixun  
       2019-04-19 01:12:55 +08:00 via iPhone   ❤️ 1
    为什么要非官方,直接对接成官方不好么
    jokyme
        58
    jokyme  
    OP
       2019-04-19 01:16:19 +08:00
    @huixun 哈哈哈,能对接成官方小程序当然最好了。
    (但是找不到人对接...)
    w4mxl
        59
    w4mxl  
       2019-04-19 07:27:27 +08:00 via Android   ❤️ 1
    @jokyme #48 你说的生成工具能说一下是哪个吗?
    sometimehappy
        60
    sometimehappy  
       2019-04-19 10:13:15 +08:00   ❤️ 1
    这...
    SingeeKing
        61
    SingeeKing  
       2019-04-19 11:58:03 +08:00   ❤️ 1
    @jokyme #55 我实测是支持的……
    cccicl
        62
    cccicl  
       2019-04-19 14:42:31 +08:00   ❤️ 1
    可以,支持
    bao3
        63
    bao3  
       2019-04-19 22:12:10 +08:00 via iPhone   ❤️ 1
    @nanaw #3 这个小程序很好啊,就算浏览器能打开,也不如在微信里方便
    jokyme
        64
    jokyme  
    OP
       2019-04-20 10:15:22 +08:00
    @w4mxl 之前看过一篇用 vue-skeleton-webpack-plugin 生成骨架屏的文章,但是没有去实践。
    jokyme
        65
    jokyme  
    OP
       2019-04-20 10:16:05 +08:00
    @SingeeKing 0.0 我等下加上在真机上试一试
    forson
        66
    forson  
       2019-04-22 21:23:17 +08:00 via iPhone
    有个小 bug,左右滑动页面切换 tab 是,会出现错位,tab 和内容不一致,例如 tab 显示的交易,内容是酷工作的内容
    cccicl
        67
    cccicl  
       2019-06-14 09:26:13 +08:00
    图没了
    diyisoft
        68
    diyisoft  
       2019-06-14 12:59:07 +08:00
    挺好的,很漂亮,集成了 sov2ex。v2ex-swift 是站内大佬 @finb 的作品,都挺好的。谢谢
    sunny2580839896
        69
    sunny2580839896  
       2019-06-14 14:03:35 +08:00
    看到微信两个字就头疼,该*的微信还不倒闭
    slogon
        70
    slogon  
       2019-06-14 14:04:24 +08:00
    为啥我看不到图?。。。
    unco020511
        71
    unco020511  
       2019-06-14 14:15:20 +08:00
    只有我看不到图吗
    hyserendipity
        72
    hyserendipity  
       2019-06-15 21:06:56 +08:00 via iPhone
    v 站网页版体验很好,所以小程序可以但没必要。
    luckyx
        73
    luckyx  
       2019-06-16 13:30:47 +08:00
    回来看看代码
    qqq8724
        74
    qqq8724  
       2019-07-29 09:16:36 +08:00
    老哥 迁移之后的 V2EX CLUB 登录不上是怎么回事
    fazero
        75
    fazero  
       2019-08-07 12:46:25 +08:00
    开源地址在哪
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   926 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:27 · PVG 06:27 · LAX 14:27 · JFK 17:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.