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

Leaf - 一个开发友好、功能完备的开源微信商城框架

  •  
  •   guiqiqi · 2020-01-31 21:55:25 +08:00 · 3416 次点击
    这是一个创建于 1518 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位 v2er 大家新年好,今天想毛遂自荐一下自己写了蛮久的一个小框架 —— Leaf

    Leaf 是我制作的一个微信商城框架,从有这个想法开始到现在有一个基础可用的模型花了有一年半的时间,期间经历过三、四次大范围重构。我一直的想法都是不求快速而希望提高代码质量,所以每一个子模块都会花比较长的时间去认真思考构建。

    开发这个系统的初衷是想实现一个对普通用户易用、并且对开发者友好的 轻型 开源 CMS,这里的轻型指的是对小微企业 /组织 /个人用户足够好用的框架,因为我们不是人人都需要策划双 11 那种大型的系统,所以我更希望它是一个小而精的项目。

    现在,它拥有 3.5k+左右的代码&2k+左右的注释,基于 Python3.5+ 构建,后端使用了 Flask + mongoengine 作为基础框架和 ORM。

    我自己也是一个业余开发者,所以比较清楚各位 coder 们最不想看到的代码是什么样子的,所以我在开发的时候保持着对自己代码的一系列要求:

    • 注释完备:我深知没有注释的代码等于天书这个道理,Leaf 从核心模块到视图函数都有详细的注释。
    • 关于文档:我更希望 Leaf 是一个高扩展性的系统,所以在项目中留下了很多可以扩展的点,这些都需要通过文档来与各位开发者沟通,所以我会为 Leaf 补充完善的二次开发文档。由于个人的精力有限,文档暂时还没有上线,但是我会尽快补全。
    • 类型提示:上面说到项目基于 Python 3.5 开发,这是因为从 3.5 开始引入了 type hinting,这是我个人非常喜欢的一个功能,所以 Leaf 的全部代码都支持类型提示
    • 代码风格:我在整个开发过程中尽可能地维持一致的代码风格,使用 Pylint 评分一直保持在 9 分之上。我知道分数不代表一切,但是希望能够做得更好。

    下面再简单的说一些开发特性:

    • 任务计划支持
    • 事件与回调机制支持
    • 完善的插件系统与插件热插拔支持
    • 基于角色的动态用户权限控制
    • 微信支付 /微信公众平台对接支持
    • ...

    现在项目仍然处在开发阶段,后端部分主要剩下了一些 CRUD 的部分,后期的开发计划具体可以查看readme中的 TODO。而前端部分想寻求有想法的前端小伙伴的帮助(因为我对前端知识了解甚少)。

    因为本人水平有限,所以项目中难免有许多问题,如果有任何问题欢迎大家批评指正。也希望大家喜欢这个项目并持续关注,我会尽力做的更好。

    再说点题外话:项目这两天在微信群和朋友圈进行了轻度的宣传,结果今天在 Traffic 中发现项目被 clone 了十多次,然而到现在为止只有 1 个 star 实在有点桑心~ 如果大家喜欢的话,请点个 star 给我支持哦~

    最后贴上地址:Leaf - 一个开发友好、功能完备的开源微信商城框架

    第 1 条附言  ·  2020-02-01 08:33:33 +08:00
    如果有前端 /UI 的小伙伴有想法的话可以加我的 wechat: doge-gui
    期待和各位一起协作哦~
    9 条回复    2020-02-03 23:41:50 +08:00
    ironMan1995
        1
    ironMan1995  
       2020-01-31 22:13:27 +08:00 via Android   ❤️ 1
    支持,已 star。
    wzw
        2
    wzw  
       2020-01-31 22:18:55 +08:00   ❤️ 1
    来个 demo 或者 演示图
    guiqiqi
        3
    guiqiqi  
    OP
       2020-01-31 22:21:35 +08:00
    @wzw 很抱歉,我很想制作前端部分的内容,但是受限于能力,现在暂时只能完成后端的框架部分,所以可能演示图无法提供。不过您可以去 readme 中查看使用方法,那算是一个简单的例子。
    sugarkeek
        4
    sugarkeek  
       2020-01-31 23:04:57 +08:00   ❤️ 1
    支持一下
    zhuzhibin
        5
    zhuzhibin  
       2020-01-31 23:57:30 +08:00 via iPhone   ❤️ 1
    没有 py 基础 上手吃力么?
    guiqiqi
        6
    guiqiqi  
    OP
       2020-02-01 00:26:25 +08:00
    @zhuzhibin 需要一些基础的 python 知识,不过不会很复杂,跟随文档走应该很快就可以上手了(文档大概两个月之内能够完整上线)
    miao
        7
    miao  
       2020-02-01 00:39:44 +08:00 via Android   ❤️ 1
    非常棒。只能用在微信吗?
    guiqiqi
        8
    guiqiqi  
    OP
       2020-02-01 00:42:26 +08:00
    @miao 感谢支持,目标是全平台的 CMS,微信只是一个载体(用以承载支付和公众号商城);
    如果有兴趣可以简单的翻看源代码,中期开发有支持支付宝支付的打算,也可以单独拿出来当作小型商城来使用哦~
    guiqiqi
        9
    guiqiqi  
    OP
       2020-02-03 23:41:50 +08:00 via iPhone
    @wzw 你好,现有 dev 代码分支的 demo 文件夹中增加了一个 demo 实例,用来从指定 rss 源定时采集更新并推送给指定微信用户的,使用 leaf 框架 50 行左右的代码就可以实现,如果您有兴趣可以去看一下~
    后续会不断的更新 demo 实例
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5623 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:33 · PVG 14:33 · LAX 23:33 · JFK 02:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.