文档章节

ThinkSNS+ 基于 Laravel master 分支,从 1 到 0,再到 0.1

ThinkSNS账号
 ThinkSNS账号
发布于 2017/05/05 16:43
字数 1278
阅读 10
收藏 0
点赞 0
评论 0

什么是 ThinkSNS+

09 年,由北京的团队开发了 ThinkSNS 涉足社交开源行业。这么多年累计不少客户。2014-2016,两年都在维护和开发之前基于 TP 的 ThinkSNS , 慢慢的引入新开发概念。终于,在2016年下半年,我们决定重写这个程序,抛弃之前的每一行代码。框架上,开发人员一致性的选择了 Laravel ,并取了一个看起来像手机厂商给手机命名的名字----ThinkSNS Plus 没错就是 Plus 也就是符号 + 因为我们更希望侧重移动端,这就是 ThinkSNS+。

如何保持和 Laravel 的升级

起初没想过框架升级的问题,后来思考了一个问题,最后会不会像之前版本一样?框架难以升级?所以我们决定每周一对 laravel/laravel 的 master 分支进行合并,为了表示对 Taylor Otwell 以及 Laravel 贡献者的尊重,每一个 commit 在合并的时候都进行了保留。 开源协议

由于 Laravel 本身是 MIT 协议,基于 Laravel 开发,我们也希望 ThinkSNS+ 能为开源社区贡献,所以代码上没有采用私有协议,而是选择了 Apache-2.0 协议进行开源。

前端工作流

这块是一个难以选择的问题,我们希望能由内置 Laravel-Mix 的契合度,又希望构建能更适合我们的应用场景,最后,我们选择 放弃 Laravel-Mix 自己做前端构建,衍生出一个新的问题,我们又希望能和 mix 辅助函数无缝配合,看了源代码后,发现问题太简单了,就是一个 mix-manifest.json 的事情而已,但是这个东西却一波三折。

起初,我们选择在 webpack.config.babel.js 中做生成函数,配合第三方包实现,功能实现了。但是如果是拓展包接入也要使用怎么办?最后开发 webpack-laravel-mix-manifest 这个前端包,来生成这个文件。

拓展设计

首选,拓展设计目前有两个,分别是 plus-component 和 plus-plugin 其实都是由 Composer 中间插件实现。

composer 插件 zhiyicx/plus-install-plugin

plus-component

这个设计其实只是想拓展包可以快速的接入路由模板数据模型这些基础开发,也是中间插件 1.0 版本中唯一实现的拓展方式,存在了长达半年之久,可以快速的写路由、控制器、数据模型,目前我们团队出的应用拓展都是以此方式开发实现。 并封装了 PHP artisan component 命令安装。

plus-plugin

这是一个很年轻的 type 在 composer 插件 1.1 版本中增加的,这个拓展方式实现原理很简单,其实就是 Laravel 的 Service Provider ,熟悉 Laravel 开发都知道,这个服务门面被称之为 "Laravel 拓展" 但是安装并不方便,需要先 composer require vendor/name ,然后在 app.php 的 providers 字段中配置,然后运行命令生成配置文件等。

考虑到 ThinkSNS+ 面向的都是站长、创业者、企业集团等用户,让他们改代码?简直不如杀了他们。所以,萌生了一个想法,如何把这个步骤自动化?让用户只需要 composer require vendor/name 就完成呢?而且,对于例如广播系统的使用,很需要一个这样的东西来方便开发拓展。所以想办法把这个步骤,在 composer require 步骤完成,由此开发了这个模式。

Laravel 的拓展不能直接以这种方式使用哟,因为我们做这个的想法是把配置移交到后台配置。

接口和 SPA

接口,在初期没有完全考虑 REST ful 所以,你能会看到 URL 命名很像 REST ful 规范,实际数据却不是,后续逐步规范化。

这里提到了 API 接口,意味着一个事情,我们抛弃了传统网页,ThinkSNS+ 核心就是一个 用户中心,然后功能全部由拓展实现,目前后台、手机端 都是采用 SPA 调用接口的形式开发。

TS开源版源码官方正版获取唯一渠道:关注公众号“thinksns”,回复“开源版”即可获得最新源码压缩文件地址。

开源代码仓库:

GitHub:https://github.com/zhiyicx/thinksns-plus(点击star,每日关注开发动态。)

咨询Q Q:3298713109

官网:http://www.thinksns.com/

内测申请方式

  提供个人/企业联系方式及认证信息(实名ID/企业营业执照照片或扫描件)及申请说明,发送邮件至lihecong@zhishisoft.com将有机会获得首批内测资格,名额有限,申请从速。

  参与内测请提供以下资料

  1个可接收验证码的手机号

  1个指定邮箱

  1位测试人员姓名

  1个您喜欢的账号昵称

开源不易,为了争取开源,我们团队做了很多努力。把基于 Laravel 的作品展示在大家面前,之后专栏会持续不断的分享 ThinkSNS+ 开发过程中的技术细节。

© 著作权归作者所有

共有 人打赏支持
ThinkSNS账号
粉丝 1
博文 175
码字总数 213147
作品 0
东城
社交系统ThinkSNS Plus 后端1.7.6 与 1.8.0-rc.1更新播报

感谢大家一直以来对ThinkSNS的关注,社交系统ThinkSNS Plus系统一直在不断优化完善。ThinkSNS Plus 后端1.7.6 与 1.8.0-rc.1版 于2018年5月26日发布,后端具体更新详情如下: 社交系统Think...

ThinkSNS账号
05/30
0
0
ThinkSNS 2018年五一劳动节放假及值班通知!

尊敬商企事业单位及粉丝用户:   感谢大家一直以来对ThinkSNS的支持与信任,ThinkSNS也将一如既往地为大家提供更优质的服务与产品。在此全体ThinkSNS成员祝各位新老客户和广大朋友们五一劳...

ThinkSNS账号
04/25
0
0
社交系统ThinkSNS 老用户感恩回馈活动

ThinkSNS V4用户升级加购ThinkSNS+,最低只需1万元 ThinkSNS V4用户升级加购ThinkSNS+详情如下: 加购后提供官方授权证明,提供对应授权服务; 满足快速成交(1周内付款),还可享9.5折优惠,...

ThinkSNS账号
2017/10/18
0
0
社群系统/社交系统“ThinkSNS +”10月30日发送授权源码!

画重点: 本周六(10月28日)20点之前发布最新版本ThinkSNS+,届时电脑web端、手机H5端、Android APP以及iOS APP都会全面更新。 自10月30日起,官方将根据购买源码授权的先后顺序陆续发送源码...

ThinkSNS账号
2017/10/30
0
0
大学创业第一站,首选ThinkSNS

随着科技的进步与时代的发展,互联网浸润生活的方方面面,传统的创业模式在更加成熟稳定的发展中已经受到了较大的限制,留给新入门的创业者机会已经不多,互联网这个充满机会的领域逐渐成为了...

ThinkSNS账号
07/09
0
0
双11整月狂欢购,双福利来袭!!!

致各企业及ThinkSNS广大粉丝用户: 感谢各位对ThinkSNS产品及团队的支持,我们始终专注于产品质量与实用性,保持业内领先水平。为您提供性价比更高的软件系统,开启专业开发服务合作。 1. 产...

ThinkSNS账号
2017/11/06
0
0
社交系统ThinkSNS-plus(TS+)iOS端APP V1.0.2研发播报

本次iOS端APP的V1.0.2版本相对于之前的V1.0版并没有新增功能,修复了5处bug,优化了1处体验,另外,还有十多个我们目前已经发现的bug及体验较差的地方还没有得到修复,我们将会在下一个版本中...

ThinkSNS账号
2017/10/23
0
0
直播源码:直播+内容营销新趋势

经过两年多的发展,直播已经渗透到各种行业,涌现出大量新的创意,“直播+”亦成为新的发展趋势。随着中国网络营销市场规模持续扩大,直播营销产业链发展趋于成熟稳定,而“直播+”作为一种可...

ThinkSNS账号
07/12
0
0
2018年4月社群系统ThinkSNS Plus 后端更新播报

2018年4月社群系统ThinkSNS Plus 后端更新播报信息来源:http://www.thinksns.com/reader/184.html ThinkSNS Plus 最新稳定版 1.7.4 和最新预览版 1.8.0-alpha.5 于2018年4月14日发布,后端具...

ThinkSNS账号
04/18
0
0
如何快速搭建一个社交网站平台?

截至到2017年12月,我国的网民规模已经达到了7.72亿,而手机网民规模也达7.53亿,2017年网络社交娱乐类应用用户规模均保持了高速增长,同时电子商务、网络游戏、网络广告收入水平增速均在20%...

ThinkSNS账号
05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 配置 HTTP 超时设置

当宏,例如 RSS Macro 进行 HTTP 请求的时候,有可能因为请求的时间比较长,而导致超时。你可以通过设置系统参数来避免这个问题。 配置 HTTP 超时设置: 在屏幕的右上角单击 控制台按钮 ,然...

honeymose
9分钟前
0
0
我的第一篇博文

网络界的前辈们好。本人从接触网络到你现在也有4、5年的时间了,期间不断的通过网络学习,当然也没少看大牛们给的建议。 2011年的9月份,如愿以偿的上了“大学”,刚上大学就接触到了一门叫做...

yeahlife
23分钟前
0
0
第十四章NFS服务搭建与配置

14.1 NFS介绍 NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netap...

Linux学习笔记
29分钟前
0
0
双向认证-nginx

1、设置容器 docker run -it --name nginx-test2 -v /home/nginx:/apps -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -p 8183:80 -p 7443:443 -d nginx:stable 2、修改nginx配......

hotsmile
29分钟前
0
0
深入了解 Java 自动内存管理机制及性能优化

一图带你看完本文 一、运行时数据区域 首先来看看Java虚拟机所管理的内存包括哪些区域,就像我们要了解一个房子,我们得先知道这个房子大体构造。根据《Java虚拟机规范(Java SE 7 版)》的规...

Java大蜗牛
31分钟前
4
0
SpringBoot | 第六章:常用注解介绍及简单使用

前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志 配置等。这章节开始,开始总结一些关于springboot的综合开发的知识点。由于SpringBoot本身是基于Spring和SpringMvc...

oKong
32分钟前
7
0
云数据库架构演进与实践

如今,大型企业如金融企业和银行等,在下一代的微服务架构转型要求下,需要基础软件和数据平台能够实现原生的云化,以满足微服务架构的需求。 微服务,也就是一种面向服务的,有特定边界的松...

巨杉数据库
33分钟前
0
0
Linux系统梳理---系统搭建(一):jdk卸载与安装

1.去官网下载符合Linux版本的jdk,暂用jdk-8u171-linux-x64.rpm 2.登陆Linux,进入usr目录,创建java目录(方便管理,可以其他位置):mkdir java 3.上传下载的jdk包至Linux服务器,使用rz指令(sz f...

勤奋的蚂蚁
44分钟前
0
0
Linux Kernel 4.16 系列停止维护,用户应升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16.18 版本的同时,宣布这是 4.16 系列的最后一个维护版本,强烈建议用户立即升级至 4.17 系列。 Linux 4.16 于 2018 年...

六库科技
46分钟前
0
0
JVM 堆内存设置 -Xmx -Xms

在Tomcat的启动参数里可以设置,如下 参数说明: -Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定; -Xmx 此设置控制 Java 堆的最大大...

不开心的时候不要学习
48分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部