子比主题做了这么久,我终于把它的APP端给开源了
玩子比主题的站长,应该都有同感:这主题在PC和手机网页上确实能打,商城、论坛、会员等级一套下来,该有的都有了。
但有个问题一直烦人——没有原生APP。
用户要么忍着网页切来切去,要么去找那些第三方打包工具,体验稀碎。
所以我花了些时间,把这事给干了。
不是套壳,是给子比做了个“亲儿子”
市面上很多所谓的APP,其实就是个网页浏览器套个壳,换个图标就敢叫“移动端”。
我这套方案不一样。
前端用Flutter + TDesign,没选那些冷门框架。Flutter的性能摆在那,TDesig n是腾讯开源的,UI够干净,放在子比这种偏现代简约的风格里,视觉上不违和,甚至比一些网页端还顺眼。
后端单独写了一个REST API插件(zenchyn-zibll-restapi),没直接扒子比本身的函数。为什么?因为主题的函数是写给网页看的,直接暴露给APP,性能和安全都是坑。专门写个插件做数据中转,相当于给子比装了个“专属水龙头”,APP和网页各走各的管道,谁也不抢谁的水。
子比那套复杂的用户体系,我基本上搬过来了
用过子比的都知道,这主题卖得好,不只是因为样子好看,是它那套用户激励体系——VIP等级、勋章墙、积分余额、签到任务……
这些在网页上玩得转,但离开浏览器就废了。
我这版APP,把这套东西无损平移到了移动端:
论坛和文章没搞混:帖子和文章在数据底层是分开的,用起来逻辑清晰,不会出现论坛帖子混进文章列表的情况。
积分余额实时同步:用户在网页上攒的积分、充值的余额、签到升的Lv10等级,APP里能看、能用、能继续攒。这层信任感建立不起来,用户是不会从网页迁到APP的。
暗黑模式做了深度适配:不是简单套个灰色滤镜,是用TDesign组件一层层调过的,深夜刷帖不刺眼。
几个技术细节,懂的都懂
这东西开源出来,我不想让接手的人踩我踩过的坑,所以在代码里留了几处“私心”:
强制FVM锁定Flutter SDK版本:Flutter版本碎片化有多坑,谁折腾过谁知道。你接手的时候,不会因为SDK版本不对跑不起来。
域名动态注入:用–dart-define传参,编译的时候填你自己的域名。既不用改源码,也避免把域名写死。
插件加了层加密(SG17):GPL协议我遵守,核心逻辑你都能看。但防一手直接扒代码二次售卖,在中文开源圈混,这不算过分。
说点实际的
如果你也在玩子比,想要个真正的APP端,这两个仓库拿走:
APP端(Flutter):https://gitee.com/tyopen/zibll-app
API插件(WordPress):https://gitee.com/tyopen/zenchyn-zibll-restapi
插件装好,APP编译时换上你的域名,就能跑起来。
有Bug或者建议,直接提Issues,我看到了都会回。
子比做了这么多年,官方没空做的事,我替他们做了。觉得有用的,拿去用就行。
APP部分页面截图:









如果你觉得这个项目对你有帮助,欢迎分享给身边玩子比的朋友。
也欢迎在评论区聊聊——你的站用子比几年了?最想加个什么功能?
夜雨聆风