2020 年 5 月 20 日「长乐未央」公司成立七周年,新域名正式启用 - clwy.cn
通知
2020年05月20日 14:30
目前新版本已经正式发布上线。
后端架构
后端整站采用了Ruby On Rails 6.0
版本开发。
- 除用户模块外,其他所有功能模块均采用引擎的方式开发
- 数据库已由 MySQL 迁移到 PostgreSQL
- 所使用的的 Gem 包一览:
# Use postgresql as the database for Active Record
gem 'pg', '>= 0.18', '< 2.0'
# A performance dashboard for Postgres
gem 'pghero'
# Use Redis adapter to run Action Cable in production
gem 'redis'
# redis 高速连接库,自动使用,无需配置
gem 'hiredis'
# 实现点击数
gem 'redis-objects'
# 用户
gem 'devise'
# 异步邮件
gem 'devise-async'
# 第三方登录
gem 'omniauth-qq'
gem 'omniauth-github'
# OAuth Provider
gem 'doorkeeper'
gem 'doorkeeper-i18n'
# 权限管理
gem 'cancancan'
# 跨域
gem 'rack-cors'
gem 'rack-utf8_sanitizer'
# 分页
gem 'kaminari'
# 字体图标
gem 'font-awesome-rails'
# 配置文件
gem 'dotenv-rails'
# 上传
gem 'carrierwave', '~> 1.0'
gem 'carrierwave-aliyun'
gem 'aliyun-sdk'
# 自动给中、英文间加入合理的空格
gem 'auto-correct'
# 验证码
gem 'rucaptcha'
gem 'recaptcha'
# 支付宝
gem 'alipay', '~> 0.15.0'
# 微信支付
gem 'wx_pay'
# html、css 标签过滤
gem 'sanitize'
# 表情
gem 'twemoji'
# markdown 转 html
gem 'redcarpet'
# 代码高亮
gem 'rouge'
# 转换 html 处理流
gem 'html-pipeline'
# AutoCorrect for html-pipeline
gem 'html-pipeline-auto-correct'
# 异常管理
gem 'exception-track'
# 服务状态
gem 'status-page'
# Active Storage 阿里云支持
gem 'activestorage-aliyun'
# 队列
gem 'sidekiq'
# 定时任务,/sidekiq 中多了 Cron
gem 'sidekiq-cron'
# 点赞、关注
gem 'action-store'
# 系统设置,自动缓存
gem 'rails-settings-cached'
# 无限分类
gem 'awesome_nested_set'
# 关联模型 select
gem 'form-select'
# Cache
gem 'second_level_cache'
# Rails Enum 扩展
gem 'enumize'
# ActionText 轻量版本,去掉 Trix 与 ActiveStorage 集成
gem 'actiontext-lite'
# 二维码
gem 'rqrcode'
# 中国城市,省市区街道四级联动
gem 'china_city', git: 'https://github.com/canon4ever/china_city.git'
# 搜索
gem 'elasticsearch-model', '~> 6'
gem 'elasticsearch-rails', '~> 6'
前端架构部分
由Stimulus构建。
- 后台部分,已经完全去掉了 jQuery。
- 前台部分还有部分插件依赖,还在去 jQuery 过程中。
- Ajax 请求,则由
@rails/ujs
包中的 Rails.ajax 方法处理。 - 所使用的 npm 包一览:
"dependencies": {
"@popperjs/core": "^2.2.0",
"@rails/actioncable": "^6.0.0",
"@rails/activestorage": "^6.0.0",
"@rails/ujs": "^6.0.0",
"@rails/webpacker": "4.2.2",
"@silvermine/videojs-quality-selector": "^1.2.3",
"autosize": "^4.0.2",
"clipboard": "^2.0.6",
"dropzone": "^5.7.0",
"flickity": "^2.2.1",
"jquery": "^3.4.1",
"rails-erb-loader": "^5.5.2",
"rellax": "^1.12.1",
"stimulus": "^1.1.1",
"timeago.js": "^4.0.2",
"tributejs": "^5.1.3",
"turbolinks": "^5.2.0",
"vanilla-lazyload": "^15.1.1",
"video.js": "^7.7.5"
},
主要变化有:
新增栏目
视频相关
- Premium 用户,可以播放 4K 视频
- 视频格式由以前的 MP4,变成了现在所使用的 HLS
- 登录用户,会自动记录播放时间。下次播放时,会从上一次的进度继续播放。
- 视频播放页底部可以发布笔记了(目前限 PC 可用)。免费会员可以发布 5 篇,Premium 会员则没有限制。
待开发
- iOS、安卓 App(采用最新版的 React Native 重构,目前进度 60%)
- 社区(后台部分已经完成,前台待开发)
- 直播(未开工)
- 招聘(未开工)
- 商城(未开工)