千呼万唤使出来, V2EX 非官方小程序发布啦! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jokyme

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

  •  
  •   jokyme 2019 年 4 月 17 日 8888 次点击
    这是一个创建于 2563 天前的主题,其中的信息可能已经有所发展或是发生改变。

    经过一周左右时间的开发,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 年 4 月 17 日 via iPhone   1
    可以啊,老弟
    jokyme
        2
    jokyme  
    OP
       2019 年 4 月 17 日
    @rykka 来啦,老弟
    nanaw
        3
    nanaw  
       2019 年 4 月 17 日 via Android   11
    是 app 不好用了还是浏览器打不开了?谁会去专门微信里面看。
    微信在本站风评如何,不用多说了 8
    jokyme
        4
    jokyme  
    OP
       2019 年 4 月 17 日
    @nanaw emmm... 开发这个小程序的初衷并不是让用户专门为了浏览 V2EX 而去玩微信,实际上用户也不会这么做。目标群体是重度使用微信,但是闲时会刷一刷 V2EX 的用户。不用在 App(或浏览器)和微信之间来回切换
    caqiko
        5
    caqiko  
       2019 年 4 月 17 日 via iPhone   1
    在用了!很不错哦
    zdb1115
        6
    zdb1115  
       2019 年 4 月 17 日   1
    厉害了 老兄!
    huai
        7
    huai  
       2019 年 4 月 17 日   1
    骨架图这块是如何做的。有工具?
    zhou00
        8
    zhou00  
       2019 年 4 月 17 日 via iPhone   1
    支持下楼主,用了下,蛮舒服的。可以再加上两点功能,点击头像进详情,艾特后面的用户点击弹出引用内容。另外,安卓打字怎么换行~
    loli
        9
    loli  
       2019 年 4 月 17 日   1
    在用 v2er,唯一吸引我的一点就是点击 @会列出这个人在该主题的所有的回复,其他的各种的第三方都没这个。
    这是个很小众的需求吗?大家看 @是怎么理解上下文的?
    jokyme
        10
    jokyme  
    OP
       2019 年 4 月 17 日
    @huai 也有工具可以生成,我是手写的
    jokyme
        11
    jokyme  
    OP
       2019 年 4 月 17 日
    @zhou00 现在打字好像没办法换行,下个版本可以加进去
    mornlight
        12
    mornlight  
       2019 年 4 月 17 日 via iPhone   1
    不错。有些细节还能再改进:节点页有时候一片白;搜索结果页最底下还是有那个「没有找到任何」的提示;回复框不能换行。欢迎楼主使用 SOV2EX 的 api
    mornlight data-uid=
        13
    mornlight  
       2019 年 4 月 17 日 via iPhone   1
    回复成功之后框里的内容还在……
    jokyme
        14
    jokyme  
    OP
       2019 年 4 月 17 日
    @loli 有考虑实现这一块,但是还没想到好的呈现方式
    devjoe
        15
    devjoe  
       2019 年 4 月 17 日 via iPhone   1
    Logo 都不换下吗
    testsec
        16
    testsec  
       2019 年 4 月 17 日 via iPhone   1
    用过一 V2EX plus
    SuperMia666
        17
    SuperMia666  
       2019 年 4 月 17 日   1
    在用 V2EX plus 回复支持一下,你的字体有点晕
    jokyme
        18
    jokyme  
    OP
       2019 年 4 月 17 日
    @mornlight 呀,看到 SOV2EX 的作者了,感谢大佬提供的 API。
    另外这个版本确实还有很多细节没处理到位,下个版本会一并处理。
    : )
    bccoder
        19
    bccoder  
       2019 年 4 月 17 日 via Android   2
    万人血书取消字体阴影
    jokyme
        20
    jokyme  
    OP
       2019 年 4 月 17 日
    @SuperMia666 有加了一点阴影
    jokyme
        21
    jokyme  
    OP
       2019 年 4 月 17 日
    @bccoder 字体阴影看久了确实眼晕,明天先改一个版本放上去。
    HarveyZh
        22
    HarveyZh  
       2019 年 4 月 17 日 via Android   1
    回复楼层能在当前楼层里面吗? 看到别人回复一个问题 ,我还要向上翻 看问题是啥。
    jokyme
        23
    jokyme  
    OP
       2019 年 4 月 17 日
    @HarveyZh 这个可以有,下个版本考虑加上去
    maxlino
        24
    maxlino  
       2019 年 4 月 17 日 via iPhone   1
    好像“千呼万唤始出来”才对吧?
    jokyme
        25
    jokyme  
    OP
       2019 年 4 月 17 日
    @maxlino 嗯,后面反应过来,发现已经改不了了
    runningman
        26
    runningman  
       2019 年 4 月 17 日 via iPhone   1
    开源吧 会小程序的哥们都可以更新
    devjoe
        27
    devjoe  
       2019 年 4 月 17 日 via iPhone   1
    我是 V2er 的作者,上面回复被你忽视了,为了不必要的麻烦,还请把 Logo 换了,谢谢。
    wedoub
        28
    wedoub  
       2019 年 4 月 17 日 via iPhone   1
    不错不错,支持一波
    simon6661
        29
    simon6661  
       2019 年 4 月 17 日 via iPhone   1
    佩奇呢
    jokyme
        30
    jokyme  
    OP
       2019 年 4 月 17 日
    @devjoe 额,在 google 搜的 Logo,没注意看,明天换一下。
    gogo88
        31
    gogo88  
       2019 年 4 月 17 日 via iPhone   1
    @devjoe 这 logo 确实和 v2er 一毛一样啊
    willku
        32
    willku  
       2019 年 4 月 17 日 via iPhone   1
    666
    WenjieYe
        33
    WenjieYe  
       2019 年 4 月 17 日   1
    支持一波
    ifaii
        34
    ifaii  
       2019 年 4 月 17 日   1
    又可以摸鱼了
    azhi
        35
    azhi  
       2019 年 4 月 17 日   2
    我是 V2EX Plus 的作者,哈哈来啦老弟,可以交流交流
    huangdayu
        36
    huangdayu  
       2019 年 4 月 17 日 via Android   1
    @azhi 插件出了个问题,广告占了一片空白,在右边栏
    azhi
        37
    azhi  
       2019 年 4 月 17 日   1
    我是小程序啊老哥,没投放广告啊
    azhi
        38
    azhi  
       2019 年 4 月 17 日   1
    huangdayu
        39
    huangdayu  
       2019 年 4 月 17 日 via Android   1
    @azhi 抱歉,我搞错了,我以为是 Chrome 插件
    azhi
        40
    azhi  
       2019 年 4 月 18 日   1
    @huangdayu 哈哈没错好像插件也叫 plus,当时小程序起名词穷了
    gneplove
        41
    gneplove  
       2019 年 4 月 18 日   1
    最后一个页面的全屏是怎么做的啊,貌似小程序只能配置所有页面全屏,不能单独配置某一个页面全屏呀?
    slogon
        42
    slogon  
       2019 年 4 月 18 日   1
    咋看不到小程序码了?
    dabaibai
        43
    dabaibai  
       2019 年 4 月 18 日   1
    不喜欢微信小程序 略了.
    微信做了不该做的事情
    w4mxl
        44
    w4mxl  
       2019 年 4 月 18 日   1
    做的不错哦,支持一下。
    一些小细节给您反馈一下:
    - 话题详情页的骨架感觉有点乱呢;
    - 搜索 Tab 的 logo 和小程序的 logo 保持一致统一感好点;
    - 节点 Tab 我第一次时没加载出来;
    - 我的 Tab 如果没登录[登出]按钮感觉还是隐藏了好点
    w4mxl
        45
    w4mxl  
       2019 年 4 月 18 日   1
    @azhi @mornlight 顺带感谢二位,sov2ex 和 V2EX plus 很好,都有在用
    jokyme
        46
    jokyme  
    OP
       2019 年 4 月 18 日
    @gneplove 每个页面都可以用一个单独的 json 文件进行配置的
    jokyme
        47
    jokyme  
    OP
       2019 年 4 月 18 日
    @slogon 小程序码在最后一张图片
    jokyme
        48
    jokyme  
    OP
       2019 年 4 月 18 日
    @w4mxl 提的几点建议都不错,
    下一版的骨架屏打算用工具生成。
    个人中心的页面在下个版本会加入很多功能,所以,也会改的。
    观察的很仔细,tab 的 logo 是随手在 iconfont 找的,Logo 是另外画的,可以考虑改成一致。
    节点加载不出来的问题好像蛮多人反馈的,已经改完了,明天发布。
    sangmong
        49
    sangmong  
       2019 年 4 月 18 日   1
    iPad 上首页导航栏显示不出来
    goodjojo
        50
    goodjojo  
       2019 年 4 月 18 日 via iPhone   1
    支持一波!
    alan0liang
        51
    alan0liang  
       2019 年 4 月 18 日 via Android   1
    支持下
    顺便说一句 千呼万唤“始”出来 (我刚背 马上要期中考试了
    SingeeKing
        52
    SingeeKing  
    PRO
       2019 年 4 月 18 日   1
    不知道确切但按照我之前的经验猜测一下 bug 产生的原因
    1. HTTPS 证书链有问题或协议版本(支持得太低和太高都不行)
    2. 可以添加一个底部 margin/padding 值先设置为 0 再设置为 env(safe-area-inset-top)、constant(safe-area-inset-top),也就是需要写三行来保证适配
    hljjhb
        53
    hljjhb  
       2019 年 4 月 19 日 via Android   1
    体验意外地好
    jokyme
        54
    jokyme  
    OP
       2019 年 4 月 19 日
    @sangmong iPad 在模拟请求时会访问 PC 网站,现在只对手机端的做了适配。平板的适配已经提上日程,但是放在相对靠后的位置。排版布局在 iPad 上也要重新设计,否则体验很差。
    jokyme
        55
    jokyme  
    OP
       2019 年 4 月 19 日
    @SingeeKing 小程序不支持 env(safe-area-inset-top)、constant(safe-area-inset-top) 这两个属性。昨天改了一个版本,检测用户设备是否是 iPhoneX,然后设置 bottom
    jokyme
        56
    jokyme  
    OP
       2019 年 4 月 19 日
    @hljjhb
    @goodjojo
    感谢支持 :)
    huixun
        57
    huixun  
       2019 年 4 月 19 日 via iPhone   1
    为什么要非官方,直接对接成官方不好么
    jokyme
        58
    jokyme  
    OP
       2019 年 4 月 19 日
    @huixun 哈哈哈,能对接成官方小程序当然最好了。
    (但是找不到人对接...)
    w4mxl
        59
    w4mxl  
       2019 年 4 月 19 日 via Android   1
    @jokyme #48 你说的生成工具能说一下是哪个吗?
    sometimehappy
        60
    sometimehappy  
       2019 年 4 月 19 日   1
    这...
    SingeeKing
        61
    SingeeKing  
    PRO
       2019 年 4 月 19 日   1
    @jokyme #55 我实测是支持的……
    cccicl
        62
    cccicl  
       2019 年 4 月 19 日   1
    可以,支持
    bao3
        63
    bao3  
       2019 年 4 月 19 日 via iPhone   1
    @nanaw #3 这个小程序很好啊,就算浏览器能打开,也不如在微信里方便
    jokyme
        64
    jokyme  
    OP
       2019 年 4 月 20 日
    @w4mxl 之前看过一篇用 vue-skeleton-webpack-plugin 生成骨架屏的文章,但是没有去实践。
    jokyme
        65
    jokyme  
    OP
       2019 年 4 月 20 日
    @SingeeKing 0.0 我等下加上在真机上试一试
    forson
        66
    forson  
       2019 年 4 月 22 日 via iPhone
    有个小 bug,左右滑动页面切换 tab 是,会出现错位,tab 和内容不一致,例如 tab 显示的交易,内容是酷工作的内容
    cccicl
        67
    cccicl  
       2019 年 6 月 14 日
    图没了
    diyisoft
        68
    diyisoft  
       2019 年 6 月 14 日
    挺好的,很漂亮,集成了 sov2ex。v2ex-swift 是站内大佬 @finb 的作品,都挺好的。谢谢
    univ
        69
    univ  
       2019 年 6 月 14 日
    看到微信两个字就头疼,该*的微信还不倒闭
    slogon
        70
    slogon  
       2019 年 6 月 14 日
    为啥我看不到图?。。。
    unco020511
        71
    unco020511  
       2019 年 6 月 14 日
    只有我看不到图吗
    hyserendipity
        72
    hyserendipity  
       2019 年 6 月 15 日 via iPhone
    v 站网页版体验很好,所以小程序可以但没必要。
    luckyx
        73
    luckyx  
       2019 年 6 月 16 日
    回来看看代码
    qqq8724
        74
    qqq8724  
       2019 年 7 月 29 日
    老哥 迁移之后的 V2EX CLUB 登录不上是怎么回事
    fazero
        75
    fazero  
       2019 年 8 月 7 日
    开源地址在哪
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5285 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 275ms UTC 07:49 PVG 15:49 LAX 00:49 JFK 03:49
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86