技术说明
整体方案

| 名称 | 后端描述 |
|---|---|
| 后端开发语言 | php |
| 后端开发框架 | lumen/doctrine/dingo |
| 前端开发语言 | HTML5/CSS3/ES6/小程序开发框架 |
| 前端开发框架 | VueJS,Taro,Wepy |
| 数据库 | mysql |
| 队列 | redis/rabbitmq |
| 缓存 | redis/memcached |
| cdn/oss | 七牛云、阿里OSS |
| 图数据库 | neo4j |
| 搜索 | ES |
| 日志搜集 | Setntry/ELK |
| 持续集成 | Git, Gitlib Ci |
OSS&CDN方案
支持方案: 七牛, 阿里OSS,微信
- 前后端分离
系统前端生成多的css, js - 图片, 视频
前端技术方案
各端
PC
- vue-router/vuex
- vue+iview组件封装
移动端h5
h5端使用Taro
Taro 是一套遵循 React 语法规范的 多端开发 解决方案。现如今市面上端的形态多种多样,Web、React-Native、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。
使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动小程序、H5、React-Native 等)运行的代码。
Taro官网
微信小程序
- Taro
- Wepy
混合应用
- h5页面内嵌, 与原生应用双向通讯
工具链
- webpack 资源打包/开发/发布
- 基于vue-cli 3的开发框架
- 命令行工具spx-cli, 用于安装/发布模块包
- 基于vue-cli 3的插件, 生成样板代码 基础配置 注册模块等
组件库
- 基于vue的pc端基础组件库
- 基于iview的业务组件
前后端协作
- yapi管理接口及文档 mock数据
- spa应用, 通过yapi约定接口, 分别开发
后端技术方案
语言
php 7.4框架
前后端分离, 后端脱离传统系统的后端页面渲染. 专心只做API服务端, 因此在技术选型上选择了, 轻量级的lumen框架.
- Lumen
为速度而生的 Laravel 框架. Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
laravel官网
lumen官网 - Dingo
- doctrine orm
- 支持 master slave
- 开发模式
service repository entity
工具链
- 包管理 - composer
- 异常处理 - Sentry
- API - swagger
- doctrine
使用服务
- mysql
- redis
- neo4j
- 队列服务
- rabbitmq
- redis
- cdn+oss存储, 目前只支持 七牛云、阿里OSS
部署方案
传统部署方案
kubernetes方案
目前支持阿里云 华为云
技术栈
- kubernets
- docker
- helm
- helmfile
- 持续集成: gitlab-ci
