阅界资讯

小程序 + WPF 扫码核销:一个门店闭环,我用了 3 天跑通原型(附完整 C# 代码)

阅阅界编辑部2阅读6分钟

《小程序 + WPF 扫码核销:一个门店闭环,我用了 3 天跑通原型(附完整 C# 代码)》是近期博客园技术区的好帖,信息密度大。下面分段讲清它的核心内容,看到结尾你就知道该怎么做了。

一、背景:门店为什么需要扫码核销 做外包这些年,我接过不少「门店核销」的活:餐饮取餐、美容预约到店、票务核验、会员卡消费……需求听起来就一句话—— 顾客出示一个码,店员一扫,这笔就算完成 。但真做起来,甲方往往会漏掉三件事: 谁来 看数据 ?(今天核销了多少、谁操作的) 断网了 还能不能核销 ? 同一个人 扫两次 怎么办? 一篇文章讲清一套最小可用的闭环: 小程序负责「扫」、.NET WebAPI 负责「判」、WPF 桌面端负责「看和打」 。三端解耦,各自能独立升级。 二、整体架构:三端各管什么 [代码示例略] 小程序 :调相机扫码拿到核销码,走 wx.login 拿身份,核销成功后请求订阅消息。

一、背景:门店为什么需要扫码核销 做外包这些年,我接过不少「门店核销」的活:餐饮取餐、美容预约到店、票务核验、会员卡消费……需求听起来就一句话—— 顾客出示一个码,店员一扫,这笔就算完成 。但真做起来,甲方往往会漏掉三件事: 谁来 看数据 ?(今天核销了多少、谁操作的) 断网了 还能不能核销 ? 同一个人 扫两次 怎么办? 一篇文章讲清一套最小可用的闭环: 小程序负责「扫」、.NET WebAPI 负责「判」、WPF 桌面端负责「看和打」 。三端解耦,各自能独立升级。 二、整体架构:三端各管什么 [代码示例略] 小程序 :调相机扫码拿到核销码,走 wx.login 拿身份,核销成功后请求订阅消息。 WebAPI :核心是核销接口—— 并发安全和防重复核销 都在这层做。

一、背景:门店为什么需要扫码核销 做外包这些年,我接过不少「门店核销」的活:餐饮取餐、美容预约到店、票务核验、会员卡消费……需求听起来就一句话—— 顾客出示一个码,店员一扫,这笔就算完成 。但真做起来,甲方往往会漏掉三件事: 谁来 看数据 ?(今天核销了多少、谁操作的) 断网了 还能不能核销 ? 同一个人 扫两次 怎么办? 一篇文章讲清一套最小可用的闭环: 小程序负责「扫」、.NET WebAPI 负责「判」、WPF 桌面端负责「看和打」 。三端解耦,各自能独立升级。 二、整体架构:三端各管什么 [代码示例略] 小程序 :调相机扫码拿到核销码,走 wx.login 拿身份,核销成功后请求订阅消息。 WebAPI :核心是核销接口—— 并发安全和防重复核销 都在这层做。 WPF :门店电脑上的管理后台,本地存一份 SQLite 核销记录,断网也能查历史、打小票。

一、背景:门店为什么需要扫码核销 做外包这些年,我接过不少「门店核销」的活:餐饮取餐、美容预约到店、票务核验、会员卡消费……需求听起来就一句话—— 顾客出示一个码,店员一扫,这笔就算完成 。但真做起来,甲方往往会漏掉三件事: 谁来 看数据 ?(今天核销了多少、谁操作的) 断网了 还能不能核销 ? 同一个人 扫两次 怎么办? 一篇文章讲清一套最小可用的闭环: 小程序负责「扫」、.NET WebAPI 负责「判」、WPF 桌面端负责「看和打」 。三端解耦,各自能独立升级。 二、整体架构:三端各管什么 [代码示例略] 小程序 :调相机扫码拿到核销码,走 wx.login 拿身份,核销成功后请求订阅消息。 WebAPI :核心是核销接口—— 并发安全和防重复核销 都在这层做。 WPF :门店电脑上的管理后台,本地存一份 SQLite 核销记录,断网也能查历史、打小票。 三、小程序端:扫码 + 微信授权 + 订阅消息 1. 调起相机扫码 [代码示例略] 2. 微信授权登录(code2session 换 openid) 小程序端只拿 code , 真正的 openid 必须在后端换 ,因为 session_key 绝不能下发给前端: [代码示例略] 后端(.NET WebAPI): [代码示例略] 3. 订阅消息下发(核销成功提醒) access_token 有效期 7200 秒, 必须服务端缓存 ,不能每次调用现取: [代码示例略] 四、服务端:.NET WebAPI 核销接口(幂等是核心) 重复核销 是这类系统最高频的事故:顾客连扫两次、店员手抖点两下。

一、背景:门店为什么需要扫码核销 做外包这些年,我接过不少「门店核销」的活:餐饮取餐、美容预约到店、票务核验、会员卡消费……需求听起来就一句话—— 顾客出示一个码,店员一扫,这笔就算完成 。但真做起来,甲方往往会漏掉三件事: 谁来 看数据 ?(今天核销了多少、谁操作的) 断网了 还能不能核销 ? 同一个人 扫两次 怎么办? 一篇文章讲清一套最小可用的闭环: 小程序负责「扫」、.NET WebAPI 负责「判」、WPF 桌面端负责「看和打」 。三端解耦,各自能独立升级。 二、整体架构:三端各管什么 [代码示例略] 小程序 :调相机扫码拿到核销码,走 wx.login 拿身份,核销成功后请求订阅消息。 WebAPI :核心是核销接口—— 并发安全和防重复核销 都在这层做。 WPF :门店电脑上的管理后台,本地存一份 SQLite 核销记录,断网也能查历史、打小票。 三、小程序端:扫码 + 微信授权 + 订阅消息 1. 调起相机扫码 [代码示例略] 2. 微信授权登录(code2session 换 openid) 小程序端只拿 code , 真正的 openid 必须在后端换 ,因为 session_key 绝不能下发给前端: [代码示例略] 后端(.NET WebAPI): [代码示例略] 3. 订阅消息下发(核销成功提醒) access_token 有效期 7200 秒, 必须服务端缓存 ,不能每次调用现取: [代码示例略] 四、服务端:.NET WebAPI 核销接口(幂等是核心) 重复核销 是这类系统最高频的事故:顾客连扫两次、店员手抖点两下。解决思路是「核销码唯一 + 行锁 + 状态判定」。

建议先收藏再实操:挑其中一个点今天就试试,跑通了再看下一个。知识只有过手才是你的,你准备先试哪一点? 来源|博客园《小程序 + WPF 扫码核销:一个门店闭环,我用了 3 天跑通原型(附完整 C# 代码)》,https://www.cnblogs.com/freebirdyyy/p/23201935.html

程序员技术场技术后端

评论(0)

暂无评论,来抢第一条。