当前位置: 首页 > news >正文

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

大家好,我是小锋老师,最近更新《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(云函数)微信云开发托管
服务端 SDKwx-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作为全局状态中心:

字段类型说明
envstring云开发环境 ID
userInfoobject/null当前用户信息(含 balance、memberNo 等)
isAdminboolean是否管理员
isLoggedInboolean是否已登录
loginCheckedboolean启动期登录检查是否完成

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)

ActionController方法权限
user.loginuserCtrllogin公开
user.getProfileuserCtrlgetProfile公开
user.updateNameuserCtrlupdateName已登录
shop.getInfoshopCtrlgetInfo已登录
shop.updateInfoshopCtrlupdateInfo管理员
member.listmemberCtrllist管理员
member.getByMemberNomemberCtrlgetByMemberNo管理员
finance.rechargefinanceCtrlrecharge管理员
finance.consumefinanceCtrlconsume管理员
finance.getMyRecordsfinanceCtrlgetMyRecords已登录
finance.getMemberRecordsfinanceCtrlgetMemberRecords管理员
system.getItemssystemCtrlgetItems管理员
system.addItemsystemCtrladdItem管理员
system.deleteItemsystemCtrldeleteItem管理员
system.getPricessystemCtrlgetPrices管理员
system.addPricesystemCtrladdPrice管理员
system.deletePricesystemCtrldeletePrice管理员
system.getAlertssystemCtrlgetAlerts管理员
system.dismissAlertsystemCtrldismissAlert管理员
system.getAdminLogssystemCtrlgetAdminLogs管理员
initDb.runinitDbCtrlrun开发期免鉴权

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 — 用户/会员表

字段类型说明
_idstring文档 ID(自动生成)
openidstring微信 OpenID(唯一标识)
phonestring手机号(授权绑定)
namestring用户姓名
balancenumber会员余额(元)
memberNostring/null4位会员编号(首次充值时生成)
firstRechargeTimedate首次充值时间
createTimedate创建时间
updateTimedate最后更新时间

t_admin — 管理员表

字段类型说明
_idstring文档 ID
openidstring管理员微信 OpenID
phonestring手机号
namestring管理员姓名

t_shop — 店铺信息表

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

7.2.2 交易流水集合

t_recharge_record — 充值记录

字段类型说明
memberNostring会员编号
userOpenidstring会员 OpenID
userPhonestring会员手机号
amountnumber充值金额
adminOpenidstring操作管理员 OpenID
adminPhonestring管理员手机号
createTimedate充值时间

t_consume_record — 消费记录

字段类型说明
memberNostring会员编号
userOpenidstring会员 OpenID
userPhonestring会员手机号
projectstring消费项目名称
amountnumber消费金额
adminOpenidstring操作管理员 OpenID
adminPhonestring管理员手机号
createTimedate消费时间

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手机号授权登录codeuserInfo + 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) │ │ │ └───────────────┼───────────────┘ ▼ 三级权限判定 公开 < 已登录 < 管理员
层级条件可访问接口
公开仅需 OpenIDuser.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继续改即可。

http://www.cnnetsun.cn/news/1655784.html

相关文章:

  • 基于HYDRUS1D的环评文件土壤污染物垂直入渗模拟预测
  • 【2025最新】基于SpringBoot+Vue的母婴商城系统管理系统源码+MyBatis+MySQL
  • 运维系列【仅供参考】:【Docker】容器生命周期管理:从优雅停止到高效清理的实战技巧
  • 异地(异机)备份的实现
  • PyCharm配置PySide6工具链避坑指南:解决虚拟环境路径、命令报错那些事儿
  • FPGA实战:S29GL064N Flash芯片在DE2-115开发板上的高效读写控制
  • 利用快马平台AI能力,五分钟快速原型一个AutoClaw式简易爬虫
  • 115. OOM(内存不足),高内存消耗,基本故障排除步骤
  • 无组织废气治理进入AI报告审核阶段:IACheck助力质控水平全面提升
  • 3大核心功能突破JSON可视化难题:vue-json-pretty革新前端数据展示体验
  • 跨平台性能监控实战:从本地到服务器的全面指南
  • 从零构建STM32F429智能控制终端:基于TouchGFX GUI与FreeRTOS的多任务IO调度实践
  • 比话降AI和嘎嘎降AI哪个好知网用户怎么选
  • 革新性AI角色交互平台:SillyTavern的突破性技术与应用场景
  • QMCDecode打破QQ音乐格式垄断:实现音乐文件自由掌控的开源解决方案
  • Windows 11终极优化指南:使用Win11Debloat快速清理系统臃肿
  • 科研自用umat:晶体塑性耦合扩展有限元实现裂纹扩展
  • ComfyUI-WanVideoWrapper全流程实战指南:从入门到专业视频生成
  • 别再只盯着Xilinx官方板卡了:用UD PCIe-403信号处理模块搭建高性价比算法验证平台(含FPGA选型指南)
  • 拯救录音质量!用MATLAB实现手机录音降噪的3种方法对比(含Butterworth/FFT/小波变换)
  • 五大赛道齐亮相!第四届世界科学智能大赛启动报名,首设人文科学赛道
  • Phi-3-mini-4k-instruct-ggufGPU算力优化:CUDA Graphs加速下P99延迟降低42%实测
  • Postman团队版协作踩坑实录:我们是如何被‘英文界面’拖慢项目进度的
  • Godot PCK文件解包终极指南:3分钟掌握游戏资源提取
  • 当滑块遇上润滑油:用MATLAB玩转流体润滑仿真
  • 百度网盘提取码智能查询工具:3秒破解资源访问密码的终极方案
  • I2Cdevlib-MPU9150九轴传感器驱动深度解析
  • 告别FSMC,用STC32G的LCM模块驱动8080屏:实测ILI9341驱动代码与官方库函数配置详解
  • 怕 AI 短剧平台抽成?自研 AI 短剧创作系统贴牌合作,全部收益自留
  • 3种方案打造专属个人视频平台:H-Player V2完全部署指南