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

[开源] 分享自己写的小程序: 掘金小程序

  •  1
     
  •   myvin · 2018-08-21 09:55:51 +08:00 · 2786 次点击
    这是一个创建于 2286 天前的主题,其中的信息可能已经有所发展或是发生改变。

    掘金小程序

    掘金第三方版--非掘金官方小程序

    利益相关

    声明

    这并不是掘金官方小程序(貌似没有搜到掘金 APP 对应的官方小程序),完全为第三方开发者开发,仅用于学习交流,禁止用于其他用途。若要使用官方正版,可访问掘金 官方网站,或下载掘金官方 APP,或访问掘金官方其他途径。

    该小程序所有 API 均来自掘金官方 web 网站和官方 AndroidAPP(以 web 为主),UI 是~~照抄~~参照的掘金官方 AndroidAPP ( ver 5.4.3 )。部分静态资源(icon、图片等)直接从掘金官方 apk 里拷出来的。

    该小程序代码已开源,点击可查看源码 https://github.com/myvin/juejin,欢迎交流学习~~~。也可以先扫描下方的小程序码直接体验。

    效果图

    对应页面可打开掘金官方 APP 对比

    PC 开发者工具录制,会有些卡顿

    文章数据入口调整了,也保留了动画,请酌情忽略 gif 卡顿

    完成度

    APP 里面的东西实在是不少,包括页面和交互,要完全~~照抄~~实现确实需要一些时间和精力,UI 之类的都是简单测量+肉眼调试实现的,下面列出页面和交互的完成度,这里应该只是列出了绝大部分(还是上面那句话,APP 里面的东西实在是不少),未列出、未实现的后续会根据时间、精力来实现。

    实际完成度请以代码为主(线上小程序也会持续更新)。

    页面完成度

    • [x] 启动页
    • [x] 登录、未登录跳转逻辑和页面数据刷新逻辑等
    • [x] HOME、搜索、沸点、小册 TAB 涉及到的上拉、下拉刷新
    • [x] POST、ENTRY (文章类型不同) 详情页
    • [ ] HOME TAB
      • [x] 首页
        • [x] 热门推荐
        • [x] 下部列表
      • [ ] 标签展示相关
    • [ ] 搜索 TAB
      • [x] 顶部轮播
      • [x] 热门文章
      • [ ] 搜索功能相关
      • [ ] 本周最热
      • [ ] 收藏集
        • [ ] ...
      • [ ] 活动
        • [ ] ...
    • [ ] 沸点 TAB
      • [ ] 推荐
        • [x] 顶部热门沸点
        • [x] 沸点列表
        • [x] 沸点详情
      • [ ] 话题
      • [ ] 动态
      • [ ] 发布沸点
    • [ ] 小册 TAB
      • [x] 小册列表
      • [ ] 小册详情
    • [ ] 我的 TAB
      • [ ] 个人主页
        • [x] 文章数据
        • [ ] 编辑
        • [ ] 关注、被关注列表
        • [x] 动态页
        • [x] 沸点页
        • [x] 原创文章页
        • [x] 收藏集
          • [ ] 收藏集详情页
        • [x] 喜欢的文章
        • [x] 关注的标签
          • [ ] 标签详情页
      • [x] 我喜欢的
      • [x] 收藏集
      • [ ] 已购小册
      • [x] 赞过的沸点
      • [x] 阅读过的文章
      • [x] 标签管理
        • [x] 已关注标签
        • [x] 所有标签
          • [x] 推荐标签
          • [x] 所有标签
      • [ ] 夜间模式
      • [x] 意见反馈(和官方 APP 有差异,这里是个简单的关于页)
      • [ ] 设置
        • [ ] ...
    • [x] 登录页
    • [ ] 注册页
    • [ ] 修改密码页
    • [x] 其他完成部分...
    • [ ] 未完待续部分...

    交互完成度

    评论、留言、关注、添加到收藏集、喜欢、发表沸点等暂时均没有实现,因为 APP 里面的东西实在是不少......

    • [ ] 评论
    • [ ] 留言
    • [ ] 关注
    • [ ] 喜欢
    • [ ] 未完待续部分...

    说明

    • 1、话说掘金的 API 域名(二级)真是多啊,小程序后台域名白名单最多只能配 20 个,现在已经占了 16 个了,感觉要完整~~抄完~~实现掘金 APP 版小程序,配额不够啊。不行的话,就只能搭个 server 代理了;
    • 2、个别接口只有 APP 用到了,请求字段需要按照 web 的略作调整;个别接口也要设置对应的 header
    • 3、文章详情页返回的是整片文章的 html 格式的 content,这里使用的是开源的 wxParse 进行富文本解析;
    • 4、由于小程序的限制,第三方的 url 不能在 webview 中打开,所以文章里面的外链能点开算我输;
    • 5、开发时,个别细节需要稍微注意,比如:沸点 tab 页,如果已经滑到了顶部,onShow 获取新数据,否则,不刷新;未登录时,首页 APP 调用的 API 是 get_recommended_entry,~~就是懒~~为了方便小程序里仍然使用 get_entry_by_timeline;其他的不一一赘述,详情可 查看源码
    • 6、由于~~账号权限等问题~~有些 API 需要天时地利人和,部分 API 返回的数据格式没有拿到,所以对应的页面也没有写,比如:系统消息页面(最近一直没有系统消息)等;
    • 7、部分数据可能未完全覆盖,比如:用户消息这块,目前列举出的 categorycollectioncommentfollowcomment-likepin-likepin-comment,可能还会有其他消息类型,遇到了会一一补上;还有动态页,也是同样的问题;可能还有其他没有完全覆盖的数据;
    • 8、点击某些文章进入详情页会提示 illegal token,亦或文章没有正常显示出来,应该是请求参数需要略作调整,或者文章类型需要判断。类似这样的小问题,后续会调整补充;
    • 9、小程序(非小游戏)在于一个 字,应该是一个应用的浓缩精华版,而不应该是一个内容丰富多彩的 APP100% 的复制版,这样会显得比较臃肿,此处应该有 but,该小程序仅仅是出于学习交流的目的,所以这个问题不在我们的考虑范围内;
    • 10、登录现在只能手机号登录,邮箱登录给忘记了,回头一并加上;
    • 11、我也是有人生梦想的人;

    欢迎交流学习~~

    14 条回复    2018-08-23 09:44:54 +08:00
    newbieRenew
        1
    newbieRenew  
       2018-08-21 10:22:53 +08:00
    支持一下,不过这帖子好像被降权了,不出现在“全部”里面。
    chunyu
        2
    chunyu  
       2018-08-21 10:44:00 +08:00
    社区类的小程序 审核需要 ICP 证么?
    myvin
        3
    myvin  
    OP
       2018-08-21 10:45:38 +08:00
    @newbieRenew 为什么会降权啊。。。。
    myvin
        4
    myvin  
    OP
       2018-08-21 10:46:57 +08:00
    @chunyu 这个小程序不是按照社区类来走的,我应该是申请的工具--图片类,至于社区类别个人有没有没有注意,至于是否 ICP 认证不清楚哎。。。。
    newbieRenew
        5
    newbieRenew  
       2018-08-21 10:49:02 +08:00
    @myvin 我也不清楚具体的规则,也没有个明确的公示。
    xi2008wang
        6
    xi2008wang  
       2018-08-21 11:44:21 +08:00
    最近正好需要搞个小程序,赞赞赞
    myvin
        7
    myvin  
    OP
       2018-08-21 12:00:35 +08:00
    @newbieRenew 噢噢,我得好好找找规则了。
    myvin
        8
    myvin  
    OP
       2018-08-21 12:01:39 +08:00
    @xi2008wang 另一个小程序 quietweather 更简单,可以参考下。
    Lyouc
        9
    Lyouc  
       2018-08-21 13:37:05 +08:00   ❤️ 1
    @myvin @chunyu 据我所知,社交,金融理财,医疗明确规定需要 ICP 证。如果其它类别底下,有主推社交相关功能的话,则根据审核人员对于小程序机制的判断,仍然有可能不通过
    achilleo
        10
    achilleo  
       2018-08-21 14:07:56 +08:00
    赞赞赞
    myvin
        11
    myvin  
    OP
       2018-08-21 19:16:14 +08:00
    @Lyouc 那就只能是因为是个半成品,还没有社交的功能?
    myvin
        12
    myvin  
    OP
       2018-08-21 19:16:30 +08:00
    @achilleo 谢谢,互相学习哈~
    Lyouc
        13
    Lyouc  
       2018-08-22 19:54:41 +08:00
    @myvin 看社交是否核心功能,还是辅助性质吧。审核可能过可能不过,也是挺听天由命的
    myvin
        14
    myvin  
    OP
       2018-08-23 09:44:54 +08:00
    @Lyouc 恩,可能是的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2572 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 05:01 · PVG 13:01 · LAX 21:01 · JFK 00:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.