大家好,我是小锋老师,最近更新《2027版  小店会员管理微信小程序系统视频教程(适合理发店,宠物店等各种小店),使用 云函数 + 云数据库,商业级项目实战,Cursor + Calude AI编程 2小时轻松搞定》专辑,感谢大家支持。

本课程主要结合AI编程 Cursor 实现一个开源商业项目是-小店会员管理微信小程序系统,使用微信云函数和云数据库。讲解内容包括需求分析,架构和设计,利用Cursor AI编程实现Plan沟通项目方案,Agent生成项目,Agent修复bug和完善功能。

视频教程+课件+源码打包下载 :

链接:https://pan.baidu.com/s/1Oo7dtFf_Zt7hJyl6aYX6TA?pwd=1234
提取码:1234

小店会员管理微信小程序系统视频教程(适合理发店,宠物店等各种小店),使用 云函数 + 云数据库,商业级项目实战,Cursor + Calude AI编程 2小时轻松搞定

项目演示以及需求分析

小店会员微信小程序开发需求

一、技术栈
  • 微信小程序云开发(纯云函数 + 云数据库)

二、用户角色
  • VIP 会员:普通用户

  • 管理员:通过数据库配置的多个管理员(老板、店长等),支持多 openid

三、TabBar 页面结构

1. “关于我们”页面

  • 门店轮播图(管理员后台可动态编辑)

  • 会员余额显示

  • 充值按钮 → 跳转至新页面,展示:

    • 老板微信二维码

    • 联系电话

    • 导航地图(地址由管理员配置)

  • 店铺介绍区域(支持富文本,管理员可动态编辑业务介绍、价格等)

2. “消费记录”页面

  • 展示当前会员的消费记录(项目、金额、时间)

3. “个人中心”页面

  • 显示/编辑:姓名(可编辑)

  • 绑定手机号(首次登录强制授权,绑定后不可编辑)

  • 显示余额

  • 会员编号:仅在首次充值后显示(未充值隐藏)

四、管理员功能(仅在管理员用户 TabBar 显示“系统管理”)

系统管理页面包含以下模块:

  • 店铺管理

    • 上传门店轮播图(多张)

    • 设置导航地址(经纬度/位置)

    • 上传老板微信二维码

    • 编辑联系电话

    • 编辑店铺介绍内容

  • 会员管理

    • 按会员编号/手机号查询

    • 按时间筛选

    • 会员充值(输入会员编号 → 增加余额)

    • 会员扣费(输入会员编号 → 扣除余额,生成消费记录)

  • 消费项目管理

    • 增删常用消费项目(如“洗剪吹”、“烫发”)

    • 增删常用价格模板(如 30 元、100 元)

    • 扣费时可选择预设项目或手动输入项目名称和金额

  • 消费记录查看

    • 查看所有会员的消费记录(管理员视角)

五、核心业务规则
  • 首次进入:必须授权手机号并绑定 openid,否则无法使用任何功能。

  • 会员编号:4 位数字(0001~9999),仅首次充值时自动生成,全局唯一,不重复。

  • 充值/扣费:统一通过会员编号操作,管理员输入编号即可定位会员。

  • 消费记录格式年月日时分 - 消费项目 - 消费金额

六、安全与防护(云函数层面)
  1. 权限校验

    • 所有云函数入口必须使用 cloud.getWXContext().OPENID 获取 openid,并校验该用户是否有权执行操作。

    • 普通用户只能操作自己的数据(除管理员外)。

    • 管理员操作需验证 openid 是否在管理员列表中。

  2. 防刷限制

    • 每个微信用户每月最多调用 500 次云函数。

    • 每个管理员用户每月最多调用 20 万次云函数。

    • 使用云数据库记录调用次数(字段:openid、手机号、时间戳),按月统计。

    • 若 24 小时内总调用量超过 1 万次,在管理员端顶部显示红色警报横幅(不自动消失,需管理员手动关闭)。

  3. 日志记录

    • 管理员操作日志表:openid、手机号、操作时间(精确到秒)、操作详情(例如“为会员 0001 充值 100 元”)。

    • 会员操作日志表:openid、手机号、操作时间、操作详情(例如“登录”)。

七、开发要求
  • 所有云函数调用前必须校验 openid。

  • 管理员操作需记录详细日志。

  • 前端需遵循微信小程序设计规范,保证用户体验。

  • 底部开源信息须保留,但可设计为小字号或折叠,不影响主界面。

注册微信小程序以及新建微信小程序项目

注册微信小程序

要开发微信小程序项目,首先是必须注册一个微信小程序:https://mp.weixin.qq.com/cgi-bin/wx

注册好后,登录微信小程序,在开发与服务 - > 开发管理 - > 开发设置 里可以找到AppID(小程序ID)和AppSecret(小程序秘钥),我们开发小程序项目需要用到这个两个参数。小程序秘钥可以点击右侧“生成”链接,生成下,切记一定不能泄露出去。

新建微信小程序项目

打开微信开发者工具,点新建项目,选择项目目录,输入项目名称,后端服务选微信云开发,然后点“创建”按钮。

这样的话,我们就把小程序项目新建完了。

利用Cursor AI编程 Plan沟通项目方案

小店会员微信小程序开发需求

一、技术栈
  • 微信小程序云开发(纯云函数 + 云数据库)

二、用户角色
  • VIP 会员:普通用户

  • 管理员:通过数据库配置的多个管理员(老板、店长等),支持多 openid

三、TabBar 页面结构

1. “关于我们”页面

  • 门店轮播图(管理员后台可动态编辑)

  • 会员余额显示

  • 充值按钮 → 跳转至新页面,展示:

    • 老板微信二维码

    • 联系电话

    • 导航地图(地址由管理员配置)

  • 店铺介绍区域(支持富文本,管理员可动态编辑业务介绍、价格等)

2. “消费记录”页面

  • 展示当前会员的消费记录(项目、金额、时间)

3. “个人中心”页面

  • 显示/编辑:姓名(可编辑)

  • 绑定手机号(首次登录强制授权,绑定后不可编辑)

  • 显示余额

  • 会员编号:仅在首次充值后显示(未充值隐藏)

四、管理员功能(仅在管理员用户 TabBar 显示“系统管理”)

系统管理页面包含以下模块:

  • 店铺管理

    • 上传门店轮播图(多张)

    • 设置导航地址(经纬度/位置)

    • 上传老板微信二维码

    • 编辑联系电话

    • 编辑店铺介绍内容

  • 会员管理

    • 按会员编号/手机号查询

    • 按时间筛选

    • 会员充值(输入会员编号 → 增加余额)

    • 会员扣费(输入会员编号 → 扣除余额,生成消费记录)

  • 消费项目管理

    • 增删常用消费项目(如“洗剪吹”、“烫发”)

    • 增删常用价格模板(如 30 元、100 元)

    • 扣费时可选择预设项目或手动输入项目名称和金额

  • 消费记录查看

    • 查看所有会员的消费记录(管理员视角)

五、核心业务规则
  • 首次进入:必须授权手机号并绑定 openid,否则无法使用任何功能。

  • 会员编号:4 位数字(0001~9999),仅首次充值时自动生成,全局唯一,不重复。

  • 充值/扣费:统一通过会员编号操作,管理员输入编号即可定位会员。

  • 消费记录格式年月日时分 - 消费项目 - 消费金额

六、安全与防护(云函数层面)
  1. 权限校验

    • 所有云函数入口必须使用 cloud.getWXContext().OPENID 获取 openid,并校验该用户是否有权执行操作。

    • 普通用户只能操作自己的数据(除管理员外)。

    • 管理员操作需验证 openid 是否在管理员列表中。

  2. 防刷限制

    • 每个微信用户每月最多调用 500 次云函数。

    • 每个管理员用户每月最多调用 20 万次云函数。

    • 使用云数据库记录调用次数(字段:openid、手机号、时间戳),按月统计。

    • 若 24 小时内总调用量超过 1 万次,在管理员端顶部显示红色警报横幅(不自动消失,需管理员手动关闭)。

  3. 日志记录

    • 管理员操作日志表:openid、手机号、操作时间(精确到秒)、操作详情(例如“为会员 0001 充值 100 元”)。

    • 会员操作日志表:openid、手机号、操作时间、操作详情(例如“登录”)。

七、开发要求
  • 所有云函数调用前必须校验 openid。

  • 管理员操作需记录详细日志。

  • 前端需遵循微信小程序设计规范,保证用户体验。

  • 底部开源信息须保留,但可设计为小字号或折叠,不影响主界面。

首先打开cursor ,导入项目。

然后把需求贴到对话框里,模型选Opus4.6,模式选Plan。然后点提交。

大概几分钟后,Opus4.6大模型就给出你设计方案:

如果你有哪里不满意的话,可以继续 Plan沟通,知道方案你满意为止。

录制过程有个小插曲,突然死机了。锋哥有重新搞了一遍提示词生成项目,所以最终方案看下面的。大家可能生成的也和我不一样,都没关系,用AI都可以改的。

1. 项目概述

┌─────────────────────────────────────────────────────────┐
│                    微信客户端(用户侧)                    │
│  ┌─────────────────────────────────────────────────────┐ │
│  │              微信小程序(miniprogram/)               │ │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────────────┐  │ │
│  │  │  Pages   │  │Components│  │  Utils            │  │ │
│  │  │ 12个页面  │  │ 自定义组件│  │ api/auth/util    │  │ │
│  │  └──────────┘  └──────────┘  └──────────────────┘  │ │
│  └───────────────────────┬─────────────────────────────┘ │
└──────────────────────────┼──────────────────────────────┘
                           │ wx.cloud.callFunction
                           ▼
┌─────────────────────────────────────────────────────────┐
│                  微信云开发平台(Serverless)              │
│  ┌─────────────────────────────────────────────────────┐ │
│  │           云函数 xiaodian(Node.js)                  │ │
│  │  ┌────────────┐  ┌──────────────┐  ┌────────────┐  │ │
│  │  │ Middleware  │  │  Controllers  │  │   Utils    │  │ │
│  │  │ 鉴权/限流   │  │  业务逻辑层    │  │  辅助工具  │  │ │
│  │  │ /日志      │  │ user/shop/    │  │            │  │ │
│  │  │            │  │ member/finance│  │            │  │ │
│  │  │            │  │ /system       │  │            │  │ │
│  │  └────────────┘  └──────────────┘  └────────────┘  │ │
│  └───────────────────────┬─────────────────────────────┘ │
│                          │ cloud.database()               │
│  ┌───────────────────────▼─────────────────────────────┐ │
│  │              云数据库(文档型 NoSQL)                   │ │
│  │  13 个集合:t_user / t_admin / t_shop / ...          │ │
│  └─────────────────────────────────────────────────────┘ │
│  ┌─────────────────────────────────────────────────────┐ │
│  │              云存储(图片/文件)                       │ │
│  │  轮播图 / 二维码 等静态资源                            │ │
│  └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘

1.1 产品定位

基于微信云开发的小店会员管理系统,面向线下实体小店(如美发店、美容店等),提供会员注册、余额充值、消费扣费、消费记录查询等核心功能。

1.2 核心功能

角色 功能模块 说明
会员 关于我们 店铺轮播图、余额展示、充值入口、导航地图、店铺介绍
会员 消费记录 个人消费历史,支持分页加载
会员 个人中心 查看/编辑姓名、手机号、余额、会员编号
管理员 店铺管理 轮播图、导航地址、微信二维码、联系电话、店铺介绍
管理员 会员管理 会员列表、按时间/编号/手机号搜索筛选
管理员 会员充值 通过会员编号或手机号查询并充值
管理员 消费管理 选择/输入消费项目和金额,执行扣费
管理员 项目管理 管理常用消费项目和常用价格

2. 系统架构总览


2.1 架构特点

  • Serverless 架构:无需自建服务器,云函数按需执行,自动弹性伸缩

  • 单云函数路由:所有业务逻辑集中在一个云函数 xiaodian 中,通过 action 参数路由分发

  • 中间件管道:请求经过 鉴权 → 限流 → 业务处理 → 日志记录 的标准流程

  • 前后端一体化:微信云开发天然打通鉴权(openid),无需传统的 token/session 机制


3. 技术栈

层级 技术选型 版本/说明
客户端框架 微信小程序原生 WXML + WXSS + JS
基础库 微信小程序基础库 3.15.1
服务端运行时 Node.js(云函数) 微信云开发托管
服务端 SDK wx-server-sdk ~2.6.3
数据库 微信云数据库 文档型 NoSQL(类 MongoDB)
文件存储 微信云存储 图片/静态资源
身份认证 微信 OpenID + 手机号授权 内置鉴权
开发工具 微信开发者工具 编译/调试/部署一体化
代码加载策略 按需注入 lazyCodeLoading: "requiredComponents"

4. 目录结构

xiaodian2/
├── project.config.json              # 微信开发者工具项目配置
├── project.private.config.json      # 本地私有配置覆盖
├── README.md                        # 项目说明文档
├── ARCHITECTURE.md                  # 架构技术设计文档(本文档)
│
├── miniprogram/                     # ===== 小程序前端 =====
│   ├── app.js                       # 全局入口(云初始化、登录检查)
│   ├── app.json                     # 页面路由、TabBar、窗口配置
│   ├── app.wxss                     # 全局样式
│   ├── sitemap.json                 # 搜索索引规则
│   │
│   ├── custom-tab-bar/              # 自定义 TabBar 组件
│   │   ├── index.js                 # 动态 Tab 逻辑(管理员/会员切换)
│   │   ├── index.json
│   │   ├── index.wxml
│   │   └── index.wxss
│   │
│   ├── components/                  # 公共组件
│   │   └── footer/                  # 底部版权组件
│   │
│   ├── utils/                       # 工具函数
│   │   ├── api.js                   # 云函数调用统一封装
│   │   ├── auth.js                  # 登录态管理与守卫
│   │   └── util.js                  # 通用格式化工具
│   │
│   └── pages/                       # ===== 页面目录 =====
│       ├── about/                   # Tab1 - 关于我们(店铺首页)
│       ├── records/                 # Tab2 - 消费记录
│       ├── profile/                 # Tab3(会员) - 个人中心
│       ├── admin/                   # Tab3(管理员) - 系统管理面板
│       ├── login/                   # 登录授权页(手机号授权)
│       ├── recharge-info/           # 充值方式展示(二维码)
│       ├── shop-manage/             # 店铺信息管理
│       ├── member-manage/           # 会员列表管理
│       ├── member-recharge/         # 会员充值操作
│       ├── consume-manage/          # 消费扣费操作
│       ├── item-manage/             # 消费项目管理
│       └── shop-intro-edit/         # 店铺介绍富文本编辑
│
└── cloudfunctions/                  # ===== 云函数 =====
    └── xiaodian/                    # 唯一业务云函数
        ├── index.js                 # 入口 & 路由分发
        ├── config.json              # 超时配置 & 开放接口权限
        ├── package.json             # npm 依赖声明
        │
        ├── middleware/              # 中间件层
        │   ├── auth.js              # 鉴权(用户/管理员身份判定)
        │   ├── rateLimit.js         # 频率限制(月限/日统计/警报)
        │   └── logger.js            # 操作日志(管理员/会员分表记录)
        │
        ├── controllers/             # 业务控制器层
        │   ├── user.js              # 用户:登录、资料查看/修改
        │   ├── shop.js              # 店铺:信息查看/更新
        │   ├── member.js            # 会员:列表查询、编号查询
        │   ├── finance.js           # 财务:充值、消费、记录查询
        │   ├── system.js            # 系统:项目/价格/警报/日志管理
        │   └── initDb.js            # 开发期数据库初始化
        │
        └── utils/
            └── helper.js            # 辅助工具(会员编号生成等)

5. 前端架构设计

5.1 应用生命周期

App.onLaunch
    │
    ├── 1. wx.cloud.init()           初始化云环境
    │
    ├── 2. initDb.run                开发期自动初始化数据库集合
    │
    └── 3. checkLogin()              异步检查登录态
           │
           ├── 调用 user.getProfile
           │
           ├── 已登录 → 设置 globalData(userInfo/isAdmin/isLoggedIn)
           │
           └── 未登录 → loginChecked = true,等待页面级处理

5.2 全局状态管理

使用 App.globalData 作为全局状态中心:

字段 类型 说明
env string 云开发环境 ID
userInfo object/null 当前用户信息(含 balance、memberNo 等)
isAdmin boolean 是否管理员
isLoggedIn boolean 是否已登录
loginChecked boolean 启动期登录检查是否完成

5.3 页面结构与导航

采用自定义 TabBar 实现动态角色导航:

Tab 位 会员视角 管理员视角
Tab 1 关于我们 关于我们
Tab 2 消费记录 消费记录
Tab 3 个人中心 系统管理

管理员 Tab3 自动切换为「系统管理」面板,通过 custom-tab-bar 组件根据 isAdmin 动态渲染。

5.4 登录态守卫

页面 onShow / onLoad
    │
    └── auth.checkLogin(page)
           │
           ├── loginChecked && isLoggedIn → 正常加载数据
           ├── loginChecked && !isLoggedIn → 跳转 /pages/login/login
           └── !loginChecked → 注册 loginReadyCallback,等待 App 回调

5.5 API 调用封装

utils/api.js 统一封装所有云函数调用:

callCloud(action, data)
    → wx.cloud.callFunction({ name: 'xiaodian', data: { action, ...data } })
    → result.code === 0 ? resolve(result.data) : reject + Toast 提示
  • 云函数名固定为 xiaodian

  • 所有接口通过 action 字符串路由(如 user.loginfinance.recharge

  • 统一错误处理与用户提示


6. 后端架构设计(云函数)

6.1 单入口路由架构

所有请求统一进入 xiaodian 云函数的 exports.main,通过 event.action 路由到对应 Controller:

请求进入 (event.action)
    │
    ├── 1. 路由校验        action 是否在 ROUTE_MAP 中
    ├── 2. OpenID 提取     cloud.getWXContext().OPENID
    ├── 3. 开发期分支      DEV_NO_AUTH_ACTIONS → 直接执行
    ├── 4. 鉴权中间件      authenticate(openid)
    ├── 5. 限流中间件      checkRateLimit(openid, isAdmin, phone)
    ├── 6. 注册校验        非 PUBLIC_ACTIONS 须已绑定手机号
    ├── 7. 权限校验        ADMIN_ACTIONS 须 isAdmin === true
    ├── 8. 执行业务        ROUTE_MAP[action](event, authResult)
    ├── 9. 异步日志        logOperation(authInfo, action, event)
    └── 10. 返回结果       { code: 0, data } 或 { code: 非0, message }

6.2 路由映射表(ROUTE_MAP)

Action Controller 方法 权限
user.login userCtrl login 公开
user.getProfile userCtrl getProfile 公开
user.updateName userCtrl updateName 已登录
shop.getInfo shopCtrl getInfo 已登录
shop.updateInfo shopCtrl updateInfo 管理员
member.list memberCtrl list 管理员
member.getByMemberNo memberCtrl getByMemberNo 管理员
finance.recharge financeCtrl recharge 管理员
finance.consume financeCtrl consume 管理员
finance.getMyRecords financeCtrl getMyRecords 已登录
finance.getMemberRecords financeCtrl getMemberRecords 管理员
system.getItems systemCtrl getItems 管理员
system.addItem systemCtrl addItem 管理员
system.deleteItem systemCtrl deleteItem 管理员
system.getPrices systemCtrl getPrices 管理员
system.addPrice systemCtrl addPrice 管理员
system.deletePrice systemCtrl deletePrice 管理员
system.getAlerts systemCtrl getAlerts 管理员
system.dismissAlert systemCtrl dismissAlert 管理员
system.getAdminLogs systemCtrl getAdminLogs 管理员
initDb.run initDbCtrl run 开发期免鉴权

6.3 中间件层

6.3.1 鉴权中间件(auth.js)

authenticate(openid)
    │
    ├── 查询 t_user → 判断 registered(是否有 phone)
    ├── 查询 t_admin → 判断 isAdmin
    │
    └── 返回 { openid, registered, isAdmin, userInfo, phone }

6.3.2 限流中间件(rateLimit.js)

维度 规则 阈值
普通用户月限 按 openid + 月份统计 500 次/月
管理员月限 所有管理员合计统计 200,000 次/月
全局日统计 按日期统计所有调用 10,000 次/日触发警报

限流流程:

checkRateLimit(openid, isAdmin, phone)
    │
    ├── 查询/创建 t_rate_limit 月度计数记录(原子 inc)
    │
    ├── 管理员 → 汇总当月所有管理员调用,>200,000 则限制
    ├── 普通用户 → 当前用户当月 >500 则限制
    │
    └── 异步触发 checkDailyAlert(today)
         ├── 更新 t_daily_count 日统计
         └── >10,000 且无未关闭警报 → 写入 t_alert

6.3.3 日志中间件(logger.js)

logOperation(authInfo, action, event)
    │
    ├── 管理员 → 写入 t_admin_log
    ├── 已注册会员 → 写入 t_member_log
    └── 未注册用户 → 不记录

日志内容包含:openid、phone、action、可读详情(buildDetail 映射)、时间戳。

6.4 统一响应格式

// 成功
{ "code": 0, "data": { ... } }

// 业务错误
{ "code": 400, "message": "无效的操作" }
{ "code": 401, "message": "身份验证失败,无法获取openid" }
{ "code": 403, "message": "请先完成手机号授权登录" }
{ "code": 403, "message": "权限不足,需要管理员权限" }
{ "code": 429, "message": "本月云函数调用次数已达上限(500次)" }
{ "code": 500, "message": "服务器内部错误" }

7. 数据库设计

7.1 数据库类型

微信云数据库,文档型 NoSQL(类 MongoDB),通过 wx-server-sdkcloud.database() 访问。

7.2 集合(表)设计

7.2.1 核心业务集合

t_user — 用户/会员表

字段 类型 说明
_id string 文档 ID(自动生成)
openid string 微信 OpenID(唯一标识)
phone string 手机号(授权绑定)
name string 用户姓名
balance number 会员余额(元)
memberNo string/null 4位会员编号(首次充值时生成)
firstRechargeTime date 首次充值时间
createTime date 创建时间
updateTime date 最后更新时间

t_admin — 管理员表

字段 类型 说明
_id string 文档 ID
openid string 管理员微信 OpenID
phone string 手机号
name string 管理员姓名

t_shop — 店铺信息表

字段 类型 说明
_id string 文档 ID
轮播图、地址坐标、二维码、联系电话、店铺介绍等 mixed 店铺展示信息

7.2.2 交易流水集合

t_recharge_record — 充值记录

字段 类型 说明
memberNo string 会员编号
userOpenid string 会员 OpenID
userPhone string 会员手机号
amount number 充值金额
adminOpenid string 操作管理员 OpenID
adminPhone string 管理员手机号
createTime date 充值时间

t_consume_record — 消费记录

字段 类型 说明
memberNo string 会员编号
userOpenid string 会员 OpenID
userPhone string 会员手机号
project string 消费项目名称
amount number 消费金额
adminOpenid string 操作管理员 OpenID
adminPhone string 管理员手机号
createTime date 消费时间

7.2.3 配置集合

集合 说明
t_consume_item 常用消费项目(如洗剪吹、烫发)
t_price_item 常用价格选项(如 30 元、100 元)

7.2.4 安全与运维集合

集合 说明
t_rate_limit 月度调用频率统计(按 openid + yearMonth)
t_daily_count 每日调用总量统计
t_alert 异常警报记录(超阈值自动生成)
t_admin_log 管理员操作日志
t_member_log 会员操作日志
t_counter 计数器(会员编号自增序列,0001-9999)

7.3 集合关系图

t_admin ─────┐
             │ openid
t_user ──────┤◄──── t_recharge_record
  │          │         ▲ adminOpenid
  │ memberNo │         │
  │          │    t_consume_record
  │          │         ▲ adminOpenid
  │          │
  │          ├──── t_rate_limit(按 openid 统计)
  │          ├──── t_admin_log(管理员操作)
  │          └──── t_member_log(会员操作)
  │
  └── t_counter(会员编号序列生成器)

t_shop ── 独立(单条文档,存储店铺配置信息)
t_consume_item / t_price_item ── 独立配置项
t_daily_count / t_alert ── 运维监控

8. 接口设计(API)

8.1 调用方式

所有接口通过统一方式调用:

wx.cloud.callFunction({
  name: 'xiaodian',
  data: {
    action: 'module.method',
    // ...业务参数
  }
})

8.2 接口分类

用户模块(user)
接口 说明 入参 出参
user.login 手机号授权登录 code userInfo + isAdmin
user.getProfile 获取个人资料 - userInfo{ needLogin }
user.updateName 修改姓名 name { success }
店铺模块(shop)
接口 说明 入参 出参
shop.getInfo 获取店铺信息 - 店铺配置对象
shop.updateInfo 更新店铺信息 各店铺字段 更新结果
会员模块(member)
接口 说明 入参 出参
member.list 会员列表 筛选/分页参数 列表 + 分页
member.getByMemberNo 按编号查会员 memberNo 会员信息
财务模块(finance)
接口 说明 入参 出参
finance.recharge 充值 memberNo/phone, amount 会员最新余额
finance.consume 消费扣费 memberNo, project, amount 会员最新余额
finance.getMyRecords 我的消费记录 page, pageSize 分页记录列表
finance.getMemberRecords 会员记录(管理员) memberNo, page, pageSize 消费+充值记录
系统模块(system)
接口 说明
system.getItems / addItem / deleteItem 消费项目 CRUD
system.getPrices / addPrice / deletePrice 常用价格 CRUD
system.getAlerts / dismissAlert 警报查看/关闭
system.getAdminLogs 管理员操作日志

9. 安全机制

9.1 身份认证

                       微信授权体系
                           │
           ┌───────────────┼───────────────┐
           ▼               ▼               ▼
      OpenID 自动获取   手机号授权      管理员白名单
    (cloud.getWXContext) (getPhoneNumber)  (t_admin)
           │               │               │
           └───────────────┼───────────────┘
                           ▼
                    三级权限判定
                 公开 < 已登录 < 管理员
层级 条件 可访问接口
公开 仅需 OpenID user.loginuser.getProfile
已登录 OpenID + 已绑定手机号 所有非管理员接口
管理员 OpenID + t_admin 存在记录 ADMIN_ACTIONS 列表中的接口

9.2 调用频率限制

对象 限额 超限行为
普通用户 500 次/月 返回 429,拒绝服务
管理员(全体) 200,000 次/月 返回 429,拒绝服务
全局日统计 10,000 次/日 自动生成 t_alert 警报

9.3 业务安全校验

  • 充值金额:必须 > 0 且 <= 100,000 元

  • 消费金额:必须 > 0 且 <= 100,000 元,且不超过会员余额

  • 姓名修改:非空且 <= 20 字符

  • 会员编号:4 位数字(0001-9999),通过 t_counter 原子自增保证唯一性

利用Cursor AI编程 Agent生成项目

我们点Build生成项目

大概等待20分钟左右,项目生成完成了。

我们把项目导入微信开发者工具,尝试运行。

利用Cursor AI编程 Agent修复bug和完善功能

我们用得是旗舰模型Opus4.6,目前生成的项目基本也没啥问题,我测试了一遍。假如大家还有不满意的话,可以然AI继续改即可。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐