导航
擅长什么 项目拆解 技术栈 踩坑笔记 聊聊合作
全栈开发 · 微信生态 / 商户系统

需求里没写清的边界,
我先把它们变成能跑通的代码。

做小程序,也写它背后的接口。比起功能有多炫,我更在意状态怎么流转、钱走哪条路、异常发生时系统会不会悄悄算错。这里放的是我处理问题的方式,和一些能公开的复盘。

当前站点为示例模板,姓名、项目与联系方式均为占位内容。

关注 分销建模 支付链路 状态机 小程序 跨端打包 接口联调 边界场景
01 —

我擅长什么

不是「会哪些框架」,是「哪类问题交给我比较放心」。

A / 01

分销与层级关系

推广链可以无限延伸,但分佣、审核、冻结只认明确的规则。把「谁是谁的上级」和「此刻能不能分钱」拆成两件事。

关系建模状态机
A / 02

支付与资金路径

钱的路径一步都不能含糊:谁收、谁分、重复通知怎么处理、失败之后怎么回滚。接口写完,还要能对得上账。

回调幂等资金合规
A / 03

跨端与真机

小程序里跑得通,不等于 App 壳里跑得通。登录态、硬件权限、打印指令,每一项都要在真机上重新验一遍。

uni-app真机调试
A / 04

联调与边界

ID 映射、异常分支、重复通知、并发写……先把边界场景列成清单再动手,比事后补洞省事得多。

接口契约排障
02 —

项目拆解

两个脱敏后的案例,重点不是做成了什么,是当时为什么这么取舍。

CASE 01 · 关系与状态

推广关系的审核与冻结

扫码注册要绑定推荐人,但审核不通过不能算上级;冻结期间不分佣,解冻后要保留原来的层级。

脱敏示例
01 背景

业务方希望「先绑定、后审核」,同时支持冻结与多次解冻,且历史佣金不能被后来的比例变动影响。

02 约束

推广链可以无限延伸;佣金按发生时比例锁定;历史数据不允许重算,否则对账会全乱。

03 方案

把「绑定字段」与「上级字段」拆开,审核通过才写上级;冻结区间单独建表记录多次起止;佣金台账写入时锁定金额。

04 取舍

放弃实时重算层级,换来台账可查、边界清晰、对账不返工。多一张表,少一堆说不清的例外。

CASE 02 · 跨端与适配

同一套业务,跑进小程序和 App 壳

业务不变,运行环境从微信小程序换成 Android App 之后,登录与蓝牙打印的行为全变了。

脱敏示例
01 背景

一套收银业务要同时交付小程序和 App,两端共用大部分页面与接口。

02 约束

登录态来源不同,蓝牙权限与生命周期不同,打印指令在两端的表现也不一致。

03 方案

抽一层设备适配,把登录与打印做成可替换实现,业务代码只依赖抽象接口,不感知当前运行在哪个端。

04 取舍

多一层抽象,但真机回归范围从「整套业务」缩到「适配层」,后续加新端不用重写页面。

03 —

技术栈与工具

常用而已,不是炫耀清单;遇到合适的工具会换。

前端 / 跨端

Vue 3Viteuni-app 3微信小程序原生uView Plus

后端 / 数据

JavaSpringMySQLHTTP 网关调用接口签名

工程化

Git 分支协作HBuilderX微信开发者工具Code Review 清单

排障

真机调试抓包日志比对边界场景清单回调重放
05 — 聊聊合作

有难缠的边界问题,
或者只是想对一下方案?

需求评审、方案对齐、联调排障都能聊。我的习惯是先把边界列清楚,再谈怎么实现。

给我发邮件
hello@example.com
GitHub · @yourname 公众号 · 小满的开发笔记
微信 · man_dev(示例)