项目设计文档方案1
方案说明:
方案使用yii2-advanced作为基础开发框架,按功能需求将网站系统分成了不同的独立应用实现。 每个应用绑定不同的二级域名。 图片文件资源使用独立应用上传到统一的存储目录,并绑定二级域名统一访问。 网站前台应用按功能又分成了多个应用,各个应用之间需要实现共享登录状态。
App-api Api数据访问接口应用 App-mobile 手机版网站 App-obeject-storage 统一图片文件资源上传应用 App-wechat 微信功能应用 App-backend 网站后台 App-frontend 网站前台(根据功能又分成多个应用) Static 静态资源目录(css/js/img) Storage 统一图片文件资源上传目录
目录说明:
共享登录状态实现:
由于网站前台应用分成了多个应用,每个应用绑定了不同的二级域名,不同应用之间需要共享登录状态。 Yii2提供了redis扩展,可以使用redis服务保存session和缓存数据,并结合yii2 session域名配置可以实现登录状态共享。
图片文件资源上传实现:
由于网站按系统功能需求分成了多个应用,每个应用绑定了不同的二级域名,各应用可能存在上传图片文件的需求。 图片文件资源使用独立应用object-storage上传到统一的存储目录,并将存储目录绑定二级域名。 在其他应用中使用curl的方式调用object-storage的文件上传接口上传文件,并获得返回的文件存储链接。 使用nginx的缓存代理服务缓存静态文件资源。
文件上传存储服务也可以使用阿里云OSS存储服务或者Amazon S3存储服务方案代替。
系统日志保存到mongodb:
由于网站按系统功能需求分成了多个应用,每个应用绑定了不同的二级域名,各应用的系统日志配置MongoDbTarget保存到mongodb。
API开发方式:
网站API开发实现使用Yii2提供的RESTful Web Services架构规范。
项目设计文档方案2
方案说明:
方案使用yii2-advanced作为基础开发框架,按功能需求将网站系统分成了不同的独立应用实现。 每个应用绑定不同的二级域名,各个应用需求功能划分独立,不需要共享登录状态。 图片文件资源使用独立应用上传到统一的存储目录,并绑定二级域名统一访问上传资源文件。
App-api Api数据访问接口应用 App-mobile 手机版网站 App-obeject-storage 统一图片文件资源上传应用 App-wechat 微信功能应用 App-backend 网站后台 App-frontend 网站前台 Static 静态资源目录(css/js/img) Storage 统一图片文件资源上传目录
目录说明:
项目设计文档方案3
方案说明:
方案使用yii2-basic作为基础开发框架,按功能需求将网站系统分成了不同的独立应用实现。 每个应用作为单独的系统开发,单独部署,互不影响,只共享数据库。 每个应用绑定不同的二级域名,各个应用需求功能划分独立,不需要共享登录状态。 图片文件资源上传不使用单独的应用上传,而是在各个独立应用中自行上传到统一的存储目录,并将上传目录绑定二级域名统一访问上传资源文件。
App-api Api数据访问接口应用 App-mobile 手机版网站 App-wechat 微信功能应用 App-backend 网站后台 App-frontend 网站前台
目录说明: