- 源码介绍
Fresns 是一款免费开源的社交网络服务软件,专为跨平台而打造的通用型社区产品,支持灵活多样的内容形态,可以满足多种运营场景,符合时代潮流,更开放且更易于二次开发。
特征:
1、轻量简约
功能灵活多样,可以实现目前已知的任何社交产品的功能,但是主程序非常的轻量简约,按需配置和安装扩展。不需要的功能,不会出现在你的面前干扰你的使用,你需要的功能,可以后台使用,也可以前台所见即所得的使用,甚至可以脱离主程序独立使用。
2、支持跨平台
无论是 Web 网站,还是小程序、快应用,或者是 iOS、Android 等客户端,均可支持管理控制和多形态内容的跨平台运行,实现统一、通用和标准的一体化服务。
3、支持多语言
从数据流层面支持多语言,无需修改主程序、主题、插件、客户端,就可以无限新增各种语言。支持 187 种语言,239 个国家/地区(数据策略符合全球各地区的法律法规),只需要后台简单配置就可实现任意语言和时区的支持。
4、支持选装引擎和模板
网站引擎和主题模板分别可以单独选装和二次开发,并且原生支持多语言 SEO 配置,无论在哪种语言环境里运行或者切换,都无需担心搜索引擎收录问题。运行部署也可以非常的灵活,可以选择集成部署或者像 App 那样独立部署,甚至支持部署多个相同引擎或者不同引擎的站点,可实现一套数据在多种功能形式上差异化运营。
5、灵动的技术架构
主程序不会牵制任何个性化的需求,一切以运营为导向,基于业务需求可以灵活修改。没有固化的主程序,功能也不受制于任何引擎,不仅使用和二次开发非常灵活方便,还不用担心影响主程序,甚至主程序升级也不会覆盖或影响到你的定制功能。让你使用过程中一直专注自己的运营方向,不用担心自己的改动会影响以后的升级。
6、平级菜单模式
用户感知一款产品的功能(空间感),并不取决于 URL,主要来源于 UE 和 UI 层面(面包屑导航),因此产品采用了平级菜单模式,任何一个页面都不限父级或者自己当父级做一级页面。在菜单层面,没有了层级区分,完全由你使用的主题和客户端决定,配置更方便、定制更灵活。
7、后端命名控制
用户感知一款产品的服务(体验感),并不取决于技术逻辑,而是来源于功能点命名,因此产品的任何功能点均可在后台自定义名称。从用户资料内容到互动交互行为等等,你想到的任何功能点和描述点,都可以自定义命名(支持多语言),通过命名塑造用户对产品的认知(无需修改主程序、主题、插件、客户端),实现各种运营场景。
8、公开和私有模式
站点运行模式可公开可私有,私有模式可以打造自己的秘密小圈子,用户加入方式也多种多样,邀请、付费、问答等等方式均可随性支持。如果想要扩展独立的玩法,产品从数据库到接口层面还预留了 More Json 扩展,让你随心定义新参数,结合匹配的主题和客户端,你可以实现目前已知的任何社交产品的功能。
9、产品模式形态多种多样
产品架构和内容形态上支持已知的任何社交产品的功能,包括但不局限于 Blog、CMS、BBS、Wiki、SNS、榜单等等模式,可以实现 Facebook、Twitter、Instagram、Tumblr、领英、知乎、豆瓣、即刻、雪球、懂车帝、猫眼、Soul、TapTap、小红书、知识星球等等形式。
10、用户功能可扩展
支持多用户、多角色、多图标、多色彩、多分值、匿名、头像挂件、钱包等等可扩展的用户功能,开启后可以全员使用,也可以指定角色使用。多用户和多角色可以用于马甲、子品牌、助理等用户场景;多图标可以用于勋章、徽章、身份等级、互动成就、用户状态等展览图标场景,并且图标还支持绑定功能,可用于商品橱窗、秘密树洞、向我提问等功能图标场景。
11、内容形态可灵活扩展
得益于数据流插件机制,通过安装编辑器插件,你可以实现多种内容形态,比如投票、问答、语音、商品、悬赏、辩论、活动、直播、书影音、互动游戏(例:我画你猜)、付费阅读、密码阅读、指定用户或用户角色阅读等等内容形式。
12、高度组件化
前后端分离、动静态分离,支持任何组件独立部署,比如注册、登录、发布、编辑器、个人中心、管理后台等等模块均可独立部署或者集成在现有主程序中,并且支持绑定自定义域名。高度灵活的架构,让你可以随心选配自己喜欢的功能,甚至你可以个性化定制管理后台(后台都可以选装其他方案)。高度组件化不仅能让功能扩展更丰富,也能阻止广告机器人的入侵,因为部署方式灵活,入口也就非标准化,这让关键性操作的地址更具有随机性和不规律,使机器人无从入手。
13、支持跨语言
如果你的现有产品想要实现社交功能,何必“重造轮子”再开发,直接集成 Fresns 产品,不仅节约大量时间成本,还有现成的众多扩展。另外,产品在数据结构规划时就考虑了跨语言的数据流转逻辑,所以将来你发展壮大,想要换编程语言开发,或者多种编程语言混合运行等等,产品从底层上就已经支持,无论你发展多大,都不用担心后顾之忧。
14、支持外载算法
如果你希望有个性化的数据列表,可以自行开发或者安装相应的算法插件,让数据输出更个性化。比如图片、视频、商品、文档等等各类内容,如果需要输出符合用户喜好的结果,不仅需要构建用户喜好画像,还对检索引擎有更高的要求。当主程序满足不了你的需求时,你可以外载指定的插件提供支持,而这一切的操作,都不需要修改主程序、主题、插件、客户端。
15、支持数据流订阅
插件可订阅数据流转动态,无论客户端是 Web 还是 App,都可实现数据流层面的功能扩展,比如用户发表了内容或者上传了文件,插件将收到订阅通知并被唤醒,可执行内容安全性检查、待审核通知管理员或者随机奖励等各种功能行为。
16、命令字框架设计思路
基于大型服务系统的 RPC 思路,设计了独创性的「命令字」框架,通过命令字实现网络通信编程模型,减少处理网络数据的复杂度,提升主程序和插件机制的灵活性,让跨业务跨插件间的交互更方便。从后续的框架扩展来看,单体框架可以支撑多插件,同时后续也能支撑多系统多插件模式,并能以微服务的模式实现系统之间的分布式调用。命令字不仅通信灵活,升级也更方便,当主程序业务或数据库发生变动时,无需插件联动升级,甚至跨编程语言或者 SaaS 运行的时候,也能兼容使用。
Fresns社交网络服务软件 更新日志:
v1.3.0
Bug Fixes
API:上传文件,修复 tableId 传参未做转换的问题
Features
实现可视化安装和升级
实现成员昵称和名称的规则要求
框架:Composer 升级到 v2.1.12
框架:Laravel Framework 升级到 v8.70.2
框架:Bootstrap Icons 升级到 v1.7.0
BREAKING CHANGES
build: laravel migrations
build: laravel seeders