00:00
大家好,今天我要给大家详细介绍一个特殊的项目,它是基于经典开源PHP项目like girl进行的现代化重构版本,把传统的PHP情侣小站完全重构为基于fun和腾讯云cloud base的现代化全站应用。这可不只是技术站的升级,更是从传统开发模式像现代化开发模式的完整转型。先说说重构背景与技术选型,原项目like girl是经典的PHP情侣小站,用的是PHP+MY+j query传统技术站功能很完整,有留言、祝福、恋爱相册这些情侣互动功能,而且开源免费,在情侣网站领域有广泛用户群体。但传统PHP项目有局限性,它对服务器依赖重,需要PHP环境和数据库前后端耦合,维护成本高。部署也复杂,需要有服务器运维知识,所以我们选了现代化技术站来重构,用VIEW3做核心框架,用最新的composition API, 用VX进行状态管理,替代传统的session管理。
01:08
用view router处理路由,用hash模式适配云端部署。用TCSS实现原子化CS提升开发效率,用cloud base作为后端服务,是无服务器架构。用V作为构建工具,开发体验超级速,这样重构优势明显,0服务器运维,Cloud base提供完整后端服务,有现代化体验式SPA应用,用户交互流畅,移动端友好响应式设计,适配各种设备。开发效率高,组件化开发,代码复用性强。再看看项目结构,项目的目录结构是这样的,SRC目录下有admin后台管理模块components、公共组件库pages包含了所有的页面组件router、路由配置store viewx, 状态管理、styles样式文件us工具函数,还有跟组件APP view和应用入口man.JS。这种结构模块化、清晰,前台和后台功能分离,便于团队协作。
02:14
每个目录职责分明,而且我们把前台和后台的路由统一管理,一个应用能同时支持用户端和管理端功能。接着讲讲核心功能实现应用启动会自动获取站点信息。而且应用从一开始就考虑了移动端适配。网站管理是项目核心,用VX管理全局状态,像用户状态、站点信息、统计数据、UI状态等。登录逻辑用local storage持久化用户登录状态,刷新页面用户仍能保持登录。路由系统设计也是亮点,我们要在一个应用里同时支持前台和后台路由,就创建了统一的路由实例。用Hash模式是因为使用cloud bases, 它能完美解决SPA的路由问题,而且用户体验几乎没差别。样式设计采用双重策略,用TEL wind CS提供原子化基础样式,用自定义CSS处理复杂动画和特殊效果,加载动画,四个小球有波浪式效果,体现了对用户体验的重视。响应式设计能让移动端字体自动调整,弹性布局适配不同屏幕,触摸交互也很友好。项目后端用的技术站包括腾讯云、cloud.
03:29
云平台运行时是是note JS数据库是cloud base云数据库存储用cloud base云存储架构模式是SRRS云函数加统一action。路由后端的核心功能模块有很多,认证拈块负责管理员登录认证、token验证和密码修改,有MD5密码加密存储、IP封禁检查等特性,还有严格的安全机制管理。后台模块能进行仪表板数据统计、系统统计分析等。数据配置模块可获取网站基础配置,留言板拈支持留言列表获取、提交和删除等,有分页查询、IP地理位置识别等特性。恋爱相册模块能获取相册列表进行增删改操作,恋爱清单模块可获取清单列表切换完成状态等,文章模块能管理文章列表和详情,设置模块可进行系统设置、读写和自定义设置管理,还有其他像站点配置。
04:29
和IP manage IP管理模块数据库设计沿用了原项目的核心数据表,像login存、管理员账户信息、living存、留言数据等,但是新增了尝试登录后台次数记录的数据表。API调用有统一请求和响应格式,请求时用app.callfunction,其中APP是通过at cloud base jsdk初始化的实例。响应会在result result中包含success表示操作是否成功,Message描述操作结果,Data包含具体数据等。安全特性方面有j wt token机制进行认证与授权,还有IP封禁、系统登录频率限制等防护机制。这个项目针对腾讯云cloud base做了优化,用hassh路由模式解决静态托管路由问题,VT构建优化减小包体积,由统一的错误状态管理提升用户体验。Cloud base能一键部署,无需服务器运维,有自动HTTS和CDN加速,还提供完整的后端服务支持。开发体验也做了很多优化,用composition API有更好的逻辑复用和类型推导,模块化设计让每个功能模块独立,便于维护,所有异步操作都有完善的错误处理机制。总结一下,这个重构项目技术价值高,从PHP到VIEW3。
05:58
技术站升级从传统MVC到现代化SPA架构优化从传统服务器到cloud base无服务器架构,开发体验也从传统开发到现代化工具链,使用价值也不错,零运维成本,性能更好,移动端友好,还易于扩展,学习价值也很大。展示了传统项目现代化改造,现代前端技术站最佳实践云开发平台实际应用和完整开发流程。最后感谢like girl原项目作者的开源贡献,感谢cold body提供的支持。大家对这个重构项目有啥问题,或者想了解传统项目现代化改造的内容,欢迎在评论区讨论。
我来说两句