瓜奇项目的架构是市面上独一份的,因为追求既要功能强大,又要易用,还要性能好,所以开发周期很长,也非常感激各位的理解和支持。所以这次更新完后,所有付费用户都多送一个后端域名授权以表感谢!后面根据情况,还会陆续送一些域名授权。现在多后端域名还没做完,做完立马送出。
这次更新后,还有几个小补丁,比如换灯箱组件,菜单问题和处理已知问题等,这几天会陆续推出更新。然后集中时间将教程、模板、演示数据等各种配套做好,方便用户快速入手。
有些朋友初次接触感觉无从下手,这个很正常,因为它的创新实在太多了,这项目在有AI协助的情况下还做了两年半,您可以想象它的量级!我稍微梳理一下您看看:
布局:
瓜奇所有页面和页面中的元素都是由构建器生成的, 为了满足更多的布局要求,页面分为模块层、板块层、板块左右侧栏层、页面层、全局侧栏层(包含上、左、右全局侧栏)、全局左侧菜单层、全局顶部和底部。
里面所有数据都分静态数据和动态数据,程序要能自动拼接查询字符串到wp后端返回数据,再各自合并归位渲染。
因为要兼容类似wp那样的子主题机制,项目分base层和custom层,您可以复制base层的任何组件到custom层进行修改,能达到几乎所有内容都能自己DIY的效果,但是需要一点技术。
而且上面说的这些容器和数据都要乘以3,因为有桌面端、平板端、移动端,它们都是可以独立布局的,这样灵活性就强大到另外一个数量级了。
现在正在做移动端,也是可以在构建器中拖拽布局的,那么布局层面就是4倍的量级。各位不用担心,不要觉得这么复杂一定很难维护和扩展,恰恰相反,所有UI和数据都是解耦的,各自只负责自己的业务,不会像传统主题那样牵一发而动全身。
多语言:
我们的项目是真正的多语言,不是一个页面使用翻译接口只翻译文本,我们的每种语言都有自己独立的ID,可以独立设置它们的内容,并且不同语言可以独立部署到不同域名,可以实现 abc.com/en 也可以 en.abc.com ,并且它们都在同一个平台管理!!极大减少了维护负担。
Nuxt 的 i18n 多语言库打包后会将页面路由硬编译到文件中,要改语言只能打包前去改,但是用户不可能每次都自己打包,所以我们用了一个新的机制将其解耦,实现了WP后台也能控制多语言和翻译文本,而且翻译文件在内存异步根据需求获取速度极快。
WordPress端本来想使用现成的多语言插件,比如 WPML 。但是实验下来发现实在太慢了,本来wp接口加载是200毫秒,用了这个插件,立马变成600毫秒,如果是国内服务器,加上众所周知的原因,体验会非常差!对我来说这是绝对不可接受的!所以我自己实现了一套多语言机制,并且加上了自动翻译。
自己实现的多语言机制很灵活,我也将它移植到了设置中,并且设置中的多语言也可以通过接口去自动翻译。将来扩展新的功能,这套机制也是会很容易去适配,不必受限于第三方的约束,也不用花钱买插件。
多前端:
瓜奇是一套真正的Wordpress无头项目(Headless),用户只需要访问前端(Node端),不必关心后台数据是从哪来的,它有一个天然的优势,您可以只用一个后台扩展出N个前端,不同域名不同内容,不同布局,不同用户。
将来您在扩展海外业务的时候这个优势非常重要,比如您要做样机、模型、账户合租、礼品卡等虚拟资源,或者做鞋子、电子烟、工业设备等这种跨度很大的门类,如果都放到一个站,SEO天然没有优势,因为不够垂直和重点,也无法获得用户的信任。此时多前端域名的优势就来了,您只管维护一套数据,维护一套支付系统。要做一个新的独立站,后台增加一个分类,前台增加一个域名即可。这将极大降低您的心智消耗。
当一个站因为某种原因挂掉了,被降权了等,还可以无缝切换到另外一个域名。因为后端是不需要公开访问的,所以安全性也极高。听说Anthropic的新模型Mythos不敢公布,因为太过强大,漏洞扫描能力无敌。当我听说这件事以后立马想到wp的安全性,作为世界上用得最多的CMS系统,黑客也最愿意去研究它的漏洞,可怕的是很多漏洞是没有被公开的,只掌握在一些人手中,在必要的时候使用。
传统主题相当于你的家和你的门都知道在哪,你有钥匙,某些会开锁的人也有钥匙,wp上能用的漏洞你都跑不了,再加上插件和主题作者能力层次不齐,安全问题我都不敢想。咱们瓜奇可以完全不考虑这些问题,因为你不知道我家在哪,就算知道,我也禁止外部访问,你压根没有进去的可能,除非攻破了服务器,那就是另外一个故事了。
缓存
瓜奇之前出现的一些问题,大部分和缓存有关,通过上面的介绍,您可以了解到项目架构的复杂度。3种设备,N种语言,N个前端,N个页面和模块,跨两个不同的编程语言和平台,要保证数据的一致性和性能,还要保证能正确刷新和重建过程,还要重建过程不能太消耗服务器资源、还要不能干扰用户的使用,还要合并缓存数据和动态数据,还要专门给wp后台刷新和构建器配置重建后刷新建立一套机制,复杂度是指数级的。
wp传统主题缓存的是html页面,而PHP没有异步操作,所以只能由用户访问的时候同步创建,创建缓存的时候用户就会明显感觉网站反应迟钝了,而且登录用户不能享受缓存的好处,因为登录用户数据是动态的!!这也增加了服务器的负担。wp的缓存插件考虑到广泛适配性,也不会对主题做专门的优化!
瓜奇的缓存也是我花了最多心思踩了最多坑的地方。前后使用了好多种方案,从各位用户的反馈来看都不理想。现在的这套方案几乎是最完美的。目前瓜奇使用了缓存版本管理机制、标记式的过期机制,而不是删除缓存这种重操作、异步触发热更新机制、缓存模块关联key机制、使用Node自带Sqlite数据库作为缓存媒介取消对内存的消耗,同时管理两套新旧缓存数据。
瓜奇缓存达到的效果是在热更新的时候可以保障数据的一致性、缓存刷新用户无感知、更新内容可以根据缓存key来智能匹配要热更新的页面从而减少服务器消耗,并且不占用内存!Node端访问页面始终是走缓存,不打wp,极端情况不需要动态数据的时候,甚至可以直接把wp关掉!这里再次感谢各位老哥陪我踩坑,才得到目前这么完美的机制!
不需要再安装redis了吧
node端不用了。wp还是需要的。
登录后自动签到领积分这个功能,有点喧宾夺主了,不要强制跳转到去领积分
确实,那加一个开关!
是已经送了吗?还是还没开始送?
还没送,后端多域名功能还没准备好,不过放心,B2都送了好多轮了,有的人都有十几个域名授权了,瓜奇一样的。
是送什么
我第一批付费用户,从自然志。现在一共10个
但是目前瓜奇使用的是jwt 直接把jwt的密钥解密后 还是可以拿到后端的域名 障眼法罢了
jwt 里面的 iss 是可以自定义的,用其他标识即可。
node端走内网IP,nginx 里面限制 wp 只能自己本地IP访问,即便是后端域名别人知道了也只能干瞪眼。
如果你要说服务器被攻破了怎么办,那就不是瓜奇能做的了,安全问题没有100%的解决方案,但是瓜奇的方案至少能让你睡个安稳觉。
wp 的用户太多,很多黑客盯着它研究它,曾经有个老哥现场给我演示了如何让自己变成任意 wp 站点的管理员,并且这漏洞存在了很久,因为没有公开,wp官方也不知道,现在是什么情况不太清楚,但是安全问题肯定还有很多,只是普通小卡拉米没有价值被搞,或者搞了你不知道。
多前端这个功能我吹爆!一个后台管好几个站,数据还隔离,做外贸独立站简直神器。再也不用每个站单独装wp了,维护成本直接砍半。
后端多域名,是可以绑定多个域名的站,各站点之间相互独立吗?
错别字:再块一点
别的不说,现在的UI进来真的让人眼前一亮 保持关注,继续加油春哥👍
隐藏内容挺好的 😍
春哥,换头像的BUG还没修复嘛。