|
|
拥有分销功能的商城小程序,微信小程序 + 微信云开发。不用自己买服务器,登录、数据库、云函数都能在云开发里跑。分销只做 二级分销,合规风险最低。支付先用 模拟支付,跑通流程后再接微信支付。
总控提示词:
- <div>你是一个资深全栈工程师。请帮我做一个“拥有二级分销功能的商城小程序”。
- 技术栈固定:
- - 前端:微信小程序原生 + 微信云开发
- - 后端:微信云开发云函数 + 云数据库
- - 支付:先做模拟支付,不接真实微信支付
- - 分销:仅二级分销,上级拿10%,上上级拿5%
- - 全部代码放在当前项目目录,结构清晰,注释完整
- 项目目标:
- 1. 用户微信登录
- 2. 商品列表、商品详情、购物车、下单、模拟支付
- 3. 用户通过邀请码绑定上级,形成二级分销关系
- 4. 订单完成后,自动给上级和上上级分佣
- 5. 分销中心:我的团队、佣金明细、余额、提现申请
- 6. 管理端先用云开发控制台手动管理,不做复杂后台
- 约束:
- 1. 一次只做一个阶段,做完让我测试,不要一次写完所有功能。
- 2. 每次修改只改相关文件,不要重写整个项目。
- 3. 所有云函数要处理幂等,防止重复分佣。
- 4. 分销关系一旦绑定不能更改,不能自己绑自己,不能形成环。
- 5. 代码必须符合微信小程序云开发规范。
- 请先只回复“明白”,等我发第一阶段任务。</div>
复制代码
阶段 1:项目初始化与目录结构
- <div>第一阶段:初始化微信小程序云开发项目结构。
- 请直接创建以下目录和文件:
- cloudfunctions/
- login/
- bindRelation/
- createOrder/
- payOrder/
- settleCommission/
- applyWithdraw/
- getDistributionData/
- miniprogram/
- app.js
- app.json
- app.wxss
- pages/
- index/
- product/
- cart/
- order/
- distribution/
- withdraw/
- components/
- utils/
- images/
- 要求:
- 1. app.json 注册所有页面,底部 tabBar 包含:首页、购物车、分销中心、我的。
- 2. app.js 初始化云开发,env 用占位符 "your-env-id"。
- 3. 每个云函数生成 index.js 和 package.json,package.json 依赖 wx-server-sdk。
- 4. 每个页面生成基础 wxml、wxss、js、json 四件套。
- 5. 先不写复杂逻辑,只搭骨架,保证能导入微信开发者工具。
- 验收:
- - 微信开发者工具能导入项目。
- - 能编译通过,看到 tabBar。
- - 云函数能上传部署。
- 完成后告诉我每个文件的作用,等我测试。</div>
复制代码
阶段 2:数据库设计与云函数基础
- <div>第二阶段:设计云数据库集合并写基础云函数。
- 请创建以下集合:
- 1. users
- 字段:_id, openid, nickname, avatar, inviteCode, parentId, grandParentId, balance, totalCommission, createdAt
- 2. products
- 字段:_id, name, price, image, stock, sales, description, status
- 3. orders
- 字段:_id, orderNo, userId, items, totalAmount, status, payTime, parentId, grandParentId, commissionStatus, createdAt
- 4. commissions
- 字段:_id, orderId, userId, fromUserId, amount, level, status, createdAt
- 5. withdrawals
- 字段:_id, userId, amount, status, account, createdAt, auditTime
- 云函数要求:
- - login:获取 openid,查询或创建用户,生成唯一 inviteCode。
- - bindRelation:接收 inviteCode,绑定上级和上上级,校验不能绑自己、不能重复绑、不能成环。
- - 其他云函数先留空壳,返回 { code: 0, msg: 'ok' }。
- 验收:
- - 云函数能部署。
- - 调用 login 能在数据库创建用户。
- - 调用 bindRelation 能正确写入 parentId 和 grandParentId。
- 不要写商城业务逻辑,只做数据和登录绑定。</div>
复制代码
阶段 3:商城首页、商品详情、购物车
- <div>第三阶段:做商城基础页面。
- 要求:
- 1. 首页 pages/index:
- - 从 products 集合读取商品列表。
- - 展示商品图、名称、价格、销量。
- - 点击进入商品详情。
- 2. 商品详情 pages/product:
- - 展示商品大图、名称、价格、描述、库存。
- - 有“加入购物车”和“立即购买”按钮。
- 3. 购物车 pages/cart:
- - 展示已加入商品,支持增减数量、删除。
- - 显示合计金额。
- - 有“去结算”按钮。
- 4. 购物车数据先存在本地 storage,不急着写数据库。
- 5. 商品图片先用云存储占位图或纯色背景,不要依赖外部图片。
- 验收:
- - 首页能看到商品列表。
- - 能进入详情并加入购物车。
- - 购物车能改数量、算总价。
- 不要写订单和分销逻辑。</div>
复制代码
阶段 4:下单与模拟支付
- <div>第四阶段:做下单与模拟支付。
- 要求:
- 1. 创建订单云函数 createOrder:
- - 接收商品列表、总金额。
- - 生成订单号 orderNo。
- - 写入 orders 集合,status 为 "pending"。
- - 同时记录当前用户的 parentId 和 grandParentId。
- 2. 模拟支付云函数 payOrder:
- - 接收 orderId。
- - 把订单 status 改为 "paid",payTime 写入当前时间。
- - 返回支付成功。
- 3. 订单页面 pages/order:
- - 展示我的订单列表。
- - 显示订单状态:待支付、已支付、已完成。
- - 待支付订单有“模拟支付”按钮。
- 4. 支付成功后清空购物车。
- 验收:
- - 能创建订单。
- - 能模拟支付,订单状态更新。
- - 订单列表能看到记录。
- 不要写佣金结算。</div>
复制代码
阶段 5:二级分销佣金结算
- <div>第五阶段:做二级分销佣金结算。
- 规则:
- - 订单支付完成后,订单所属用户是买家。
- - 买家上级拿订单金额的 10%。
- - 买家上上级拿订单金额的 5%。
- - 自购也按规则给上级分佣,但不给自己分佣。
- - 每个订单只能分佣一次,必须幂等。
- 要求:
- 1. 云函数 settleCommission:
- - 接收 orderId。
- - 查询订单,检查 commissionStatus 是否为 "settled"。
- - 如果已结算,直接返回,不重复分佣。
- - 查询买家 users 记录,取 parentId 和 grandParentId。
- - 给上级写入 commissions,level=1,amount=订单金额*10%。
- - 给上上级写入 commissions,level=2,amount=订单金额*5%。
- - 更新 users 的 balance 和 totalCommission。
- - 更新订单 commissionStatus 为 "settled"。
- 2. 在 payOrder 成功后调用 settleCommission。
- 3. 佣金明细页面可以后面再做,先保证数据正确。
- 验收:
- - 模拟支付后,commissions 集合出现两条记录。
- - 上级和上上级的 balance 增加。
- - 重复调用 settleCommission 不会重复加钱。
- 不要写提现。</div>
复制代码
阶段 6:分销中心与提现申请
- <div>第六阶段:做分销中心页面和提现申请。
- 要求:
- 1. pages/distribution 分销中心:
- - 显示我的邀请码、我的余额、累计佣金。
- - 显示我的上级和上上级昵称。
- - 显示我的下级列表。
- - 显示佣金明细列表:来自哪个订单、金额、级别、时间。
- - 有“申请提现”按钮。
- 2. pages/withdraw 提现页面:
- - 输入提现金额,最低 10 元。
- - 校验金额不能超过余额。
- - 提交后云函数 applyWithdraw:
- - 扣减用户 balance。
- - 写入 withdrawals,status="pending"。
- - 提现记录列表显示状态:待审核、已通过、已拒绝。
- 3. 管理端先不做页面,用云开发控制台手动改 withdrawals 状态。
- 4. 如果审核拒绝,需要手动退回余额,先写清楚操作说明。
- 验收:
- - 分销中心能看到团队和佣金。
- - 能申请提现,余额扣减。
- - 提现记录能显示。
- 不要做复杂后台。</div>
复制代码
阶段 7:合规与测试数据
- <div>第七阶段:补充测试数据和合规提示。
- 要求:
- 1. 在云开发控制台手动添加 3 个测试商品。
- 2. 写一个 initTestData 云函数,一键生成:
- - 测试用户 A(顶级)
- - 测试用户 B(A 的下级)
- - 测试用户 C(B 的下级)
- - 测试订单和佣金记录
- 3. 在分销中心底部加一行小字:
- “本功能仅用于学习测试,仅支持二级分销,禁止多级分销和拉人头。”
- 4. 检查所有云函数:
- - 参数校验
- - 错误返回统一 { code, msg, data }
- - 分佣和提现必须幂等
- 验收:
- - 能一键生成测试数据。
- - 二级分销链路 A→B→C 正确。
- - 订单分佣正确。
- 完成后给出部署和测试步骤。</div>
复制代码
打包/部署提示词(最后发)
- <div>请给出完整部署步骤:
- 1. 微信开发者工具导入项目。
- 2. 开通云开发,替换 app.js 里的 env-id。
- 3. 上传部署所有云函数。
- 4. 创建数据库集合和权限设置。
- 5. 如何用云开发控制台添加商品。
- 6. 如何模拟用户登录和绑定分销关系。
- 7. 如何测试二级分佣和提现。
- 8. 上线前需要注意的微信平台合规事项。
- 请用步骤清单输出,不要写代码。</div>
复制代码
卡住时用的修复提示词
- <div>现在项目出现以下问题:
- 【描述问题,比如:绑定上级失败 / 分佣重复 / 提现余额不对 / 页面报错】
- 请先定位原因,只修改相关文件,不要重写整个项目。
- 给出修改后的完整代码,并说明改了哪里。
- </div>
复制代码
- <div>请检查当前云函数,列出所有可能出 bug 的地方,按严重程度排序,然后只修复最严重的 3 个。
- 不要重写全部代码。</div>
复制代码
使用顺序
- <div>发总控提示词
- 阶段 1 → 测试 → 阶段 2 → 测试 → 阶段 3 → 测试
- 阶段 4 → 阶段 5 → 阶段 6 → 阶段 7
- 最后发部署提示词
- 卡住用修复提示词</div>
复制代码
|
|