Skip to content

真实工程实践

这一组文章来自一套长期维护的多端系统:一个 PHP/Yaf 服务端,同时支撑 PC 管理后台、移动 H5 和微信小程序。

文章不会按源码目录逐个介绍,而是挑开发中反复出现的问题,用短流程图、简化项目代码和检查清单讲清楚。

代码保留了真实项目中的工程模式,但已经删除生产地址、凭据、客户数据、内部业务名称和特殊常量。

第一次来,建议这样读

  1. 一次需求到底要改哪里:先看懂多端系统的完整请求链。
  2. PC、H5 和小程序怎样统一 API:统一成功、失败、登录与重复提交。
  3. 旧系统怎样一步步改:不停止业务,也不做高风险推倒重来。

这三篇建立整体视角,后面的文章可以按当前问题直接选择。

服务端开发

Yaf 多应用项目怎样整理

适合遇到多个入口、多个应用目录、共享模型和公共库的 PHP 项目。重点说明入口、控制器、业务服务、配置和共享代码各自负责什么。

事务、幂等和补偿怎么配合

适合订单、库存、支付、预约等不能重复执行的写操作。用白话解释数据库事务、重复请求、外部调用超时和失败恢复。

前端与小程序

Vue 2 多端项目怎样继续维护

对比 PC 后台和移动 H5 的路由、请求层、Vuex 与组件库使用方式,给出不用一次重写的整理方法。

微信内 H5 为什么总有“偶现问题”

说明登录回跳、页面恢复、弱网、重复点击和宿主 SDK 为什么容易互相影响,以及怎样用简单状态机解决。

原生小程序怎样组织才不乱

AppPageComponentrequestsession 开始,讲清登录、授权、分包、性能和联调。

分享经验但不泄露项目

私有项目怎么写成公开技术文章

介绍怎样挑选代码、重写示例、合成数据、扫描构建产物,并区分“项目现状”和“推荐方案”。

按问题快速选择

你现在遇到的问题建议阅读
一个需求不知道会影响哪些仓库多端系统全景图
三个客户端对同一接口判断不一样跨端 API 契约
Yaf 控制器和公共库越来越大Yaf 多应用架构
写操作偶尔重复或状态不一致高一致性业务工作流
Vue 2 路由、全局方法和 UI 库混在一起Vue 2 多端工程治理
H5 登录后回不来或重复弹窗移动 H5 可靠性
小程序登录、定位和页面生命周期互相打架原生小程序架构
想升级旧技术栈又担心风险渐进式治理路线
想分享项目经验但担心泄密私有源码公开写作

每篇文章都遵守的写法

  • 先说明问题,不先堆术语;
  • 一次只解释一条主流程;
  • 代码片段尽量短,并说明它解决什么;
  • 同时写成功路径和失败路径;
  • 最后给出可以直接复制的检查清单。

如果只准备读一篇,从一次需求到底要改哪里开始。

为复用而记录,为理解而整理。