聚惠星商城dts-shop三十分钟跑通:微信小程序商城API对接实战
【免费下载链接】dts-shop微信小程序,小程序商城,商城,springboot框架,vue管理系统,java后台项目地址: https://gitcode.com/gh_mirrors/dt/dts-shop
聚惠星商城(dts-shop)是一套用 SpringBoot + Vue + 原生微信小程序搭起来的商城方案:Java 后台把商品、购物车、订单、支付、优惠券、团购这些电商必备环节都做完了,仓库里同时带着小程序端、Vue 管理后台和数据库脚本。你不需要自己从零设计商城架构,只要把环境配好、把一条下单链路跑通,剩下的就是换成自己的商品和支付参数。下面按你实际动手的顺序讲:先确认它适不适合你,再启动,再走通一单,最后讲排错和扩展。
先看清仓库里有什么,判断它能不能接你的业务
读完这一节,你能在十分钟内容确定 dts-shop 的边界在哪里,哪些功能直接可用、哪些要自己改。
仓库按模块拆分,六个部分各司其职:
| 模块 | 职责 |
|---|---|
| wx-mini-program | 用户端小程序页面与接口封装 |
| dts-wx-api | 小程序调用的 REST 接口,监听 8070 端口 |
| dts-admin-api | 管理后台接口 |
| admin-ui | Vue 写的管理后台前端 |
| dts-core | 文件存储、短信、物流查询、通知等公共能力 |
| dts-dao | MyBatis 数据访问层 |
项目支持单店铺与多店铺入驻两种模式,doc/ 目录下有现成的表结构 SQL(dts-shop-表结构和数据-20200326.sql),导入后就能直接看到演示数据。
把后端和小程序启动起来
读完这一节,你能让微信开发者工具里的小程序请求本地后端并拿到 errno 为 0 的响应。
启动顺序是:拉代码、导数据库、配应用凭证、起后端、改前端接口地址。
git clone https://gitcode.com/gh_mirrors/dt/dts-shop- 导入 doc/ 下的 SQL 到 MySQL,并在 dts-core/src/main/resources/ 的 application-*.yml 里填好数据源;
- 在同样的配置里填你自己的微信小程序 AppID 和 AppSecret,没有这两样,登录和支付都走不通;
- 用 IDE 或
mvn spring-boot:run启动 dts-wx-api 模块,后端默认监听 8070 端口; - 微信开发者工具导入 wx-mini-program 目录,填入你的 AppID;
- 修改接口地址指向本机:
// wx-mini-program/config/api.js var WxApiRoot = 'http://localhost:8070/wx/';所有小程序端接口地址都集中在这一个文件里,后面调试换环境只改这一处。注意:支付环节需要正式 AppID 加商户号,测试号下会停在收银台。
走通一单:从看商品到付钱的六次接口调用
读完这一节,你能按表格顺序在真机上跑完"浏览 → 加购 → 确认订单 → 下单 → 支付 → 查物流"这条主链路,并知道每一步代码在哪个文件里。
小程序端的下单逻辑集中在 wx-mini-program/pages/checkout/checkout.js,后台对应 dts-wx-api/src/main/java/com/qiguliuxing/dts/wx/web/ 里的各 Controller。整条链路其实就下面这张表:
| 步骤 | 接口 | 说明 |
|---|---|---|
| 1. 浏览 | goods/list、goods/detail | 分页列表 + 详情,支持 page/size 参数 |
| 2. 加购 | cart/add | 立即购买则走 cart/fastadd |
| 3. 确认订单 | cart/checkout | 传 cartId、addressId、couponId,返回运费、优惠后实付金额 |
| 4. 提交订单 | order/submit | 成功后返回 orderId |
| 5. 唤起支付 | order/prepay | 返回 timeStamp、paySign 等参数 |
| 6. 售后跟踪 | order/list、order/expressTrace | 查订单与物流轨迹 |
第 5 步拿到参数后直接透传给 wx.requestPayment 即可:
wx.requestPayment({ timeStamp: payParam.timeStamp, nonceStr: payParam.nonceStr, package: payParam.packageValue, paySign: payParam.paySign });写代码前先记住三条约定
读完这一节,你能在发第一个请求前就避开"token 没带、errno 看错、分页参数不对"这三个最常见的坑。
- 身份凭证:登录成功后 token 存进小程序本地缓存,之后每个请求都在请求头里带
X-Dts-Token字段,封装逻辑在 wx-mini-program/utils/util.js,不要自己另起一套头。 - 错误码:
errno === 0表示成功;errno === 501表示登录态失效,代码会自动清缓存并跳回登录页;业务错误集中在 WxResponseCode.java 里,7xx 段覆盖商品与订单(如 711 库存不足、725 订单当前状态不能取消),740 段是优惠券(如 743 券已过期)。 - 分页:列表类接口统一接收 page 和 size,前端翻页直接透传即可。
遇到 501、支付失败或页面空白,按这份清单排
读完这一节,你能在常见故障上花不超过五分钟定位原因,而不是从头翻代码。
- 请求普遍返回 501:会话过期,重新走一次 wx.login 换 code 调 auth/login_by_weixin 即可,utils/user.js 里已有封装。
- 小程序完全没数据:先核对 config/api.js 里的端口与路径是否和后端 8070 一致,再看开发者工具的域名白名单配置。
- 支付一直失败:九成是 AppID 与商户配置不匹配,或 order/prepay 返回的参数没原样透传;其次检查商户平台回调域名是否配置。
- 报 711 库存不足:去管理后台(演示账号 dtsadmin / dtsadmin)核对商品库存。
- 团购下单报 730:活动已过期,检查后台的活动时间配置。
想动手扩展,从这几个目录进手
读完这一节,你新增接口或更换第三方服务时,能第一时间找到该改哪个文件。
新增一个小程序接口,照着 WxAuthController 等 Controller 的写法加一个类,再在 config/api.js 里登记路径即可。要替换文件存储、短信或物流服务商,实现都在 dts-core/src/main/java/com/qiguliuxing/dts/core/ 下的 storage 与 notify 包里,按接口换成你自己的实现就行。管理后台的新功能则同时动 dts-admin-api 的 Controller 和 admin-ui/src/api/ 下的对应 JS 文件。数据层字段调整集中在 dts-dao,改完记得同步 doc/ 里的 SQL 脚本。
把上面六步走完,你手里会有一个能真实收单、发货、发券的商城:接口约定清晰、错误码可读、主链路只有六次调用。从演示走向生产,剩下的工作量基本就集中在支付参数、存储服务和商品数据这三件事上,代码骨架不用再动。
【免费下载链接】dts-shop微信小程序,小程序商城,商城,springboot框架,vue管理系统,java后台项目地址: https://gitcode.com/gh_mirrors/dt/dts-shop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考