


前言

背景介绍
-
天猫超市卡充赠

-
778红包



开发挑战
-
熟悉 Web 开发、React、Ice 框架; -
无 Weex / Muise 开发经验; -
首次接入长颈鹿平台,无支付宝收银台对接经验。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

信息获取
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
⚠️ 关键痛点:API 使用受机型、系统版本、框架环境多重影响,且文档未统一归集。例如,uni-api 的 Cashier.pay 目前仅支持鸿蒙设备,iOS/Android 需降级至 WindVane 方案。
-
构建面向AI的结构化研发知识库
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/docs├── framework/ # 框架规范│ ├── muise-intro.md│ ├── weex-limitations.md│ └── dark-mode-guide.md├── component/ # 组件使用规范│ ├── appear-tracking.md│ ├── tbs-hooks-usage.md│ └── loading-toast.md├── api/ # 接口与能力调用│ ├── payment-alipay.md│ ├── windvane-call.md│ └── mtop-request.md├── best-practices/ # 最佳实践│ ├── folder-structure.md│ ├── type-definition.md│ └── tracker-patterns.md└── templates/ # 模板文件 ├── component-template.md └── tracking-spec-template.md
-
所有文档使用 Markdown 格式,标题层级清晰; -
添加 YAML Front Matter 元信息,便于检索与分类:
---title: 支付宝收银台接入指南tags: [payment, alipay, casher, windvane]platform: muise, weexenv: ios, android, harmonyauthor: xxxlast_updated: 2025-08-25related_components: - @ali/uni-api---
-
建立“问题-解法”体系
原因:uni-api.Cashier.pay 当前仅支持鸿蒙系统。
解决方案:
-
判断 canIUse(Cashier?.pay) 和 process.env.Weex2; -
不支持时降级至 WindVane 方案; -
统一返回 Promise 格式。
if (canIUse(Cashier?.pay) && process.env.Weex2) { // 使用 Cashier} else { // 降级 WindVane}
-
提炼“可复用模式”
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
🎯 目标:让 AI 能基于“模式语言”快速生成正确代码。
从“人找知识” → “知识智能嵌入上下文” → “知识驱动AI自动编码”

信息整合分析
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

实际编码实践
rules: - name: 标签与结构规范 description: | Weex 环境仅支持有限标签: - 文案使用 <span> - 图片使用 <img> - 跳转使用 <div onClick={() => tracker.open(DETAIL_URL, { append: true })}> - name: 样式规范 description: | - 优先使用 Flex 布局 - background 必须拆分为 background-color - fontFamily 必须内联设置 - name: 类型安全 description: | 所有变量必须使用 TypeScript 显式声明类型,禁止 any 和 implicit any - name: 组件结构 description: | 组件目录清晰,拆分合理: - components/Button/ - index.tsx - style.ts - types.ts - name: 埋点规范 description: | 曝光埋点: - 使用 @ali/tbs-appear 的 <Appear> 组件 - 整体容器曝光 action 自定义,arg1 区分 - 每个 item 单独曝光 点击埋点: - arg1 固定为 Search_giraffe_ItemClick - 自定义参数放入 args 字段 - name: 监控告警 description: | 使用 jstracker 上报: - success: true / false 标识成功率(如红包领取) - 失败处上报错误量级日志 - name: 依赖管理 description: | - appear 组件:@ali/tbs-appear - hook 工具:@ali/tbs-hooks - Loading / Toast:uni-api - 数据请求:@ali/universal-mtop
-
输入准备:构建高质量上下文
-
将开发规范整理为 docs/ 目录:
-
docs/style-guide.md -
docs/tracking.md -
docs/api.md -
docs/charge.md(支付流程说明) -
配置 muise-project.mdc 实现硬性约束 -
提供当前项目中的类型定义与已有组件
-
示例提问(Prompt 设计)
红包产品定义:1. 红包数量:2/3个,否则不展示2. 红包状态:未解锁、待领取、已领取展示倒计时、已使用● 每个红包项显示金额、门槛、行动名称● 针对红包的不同状态行动点有不同的展示文案和样式,具体见设计稿● 整体容器和每个 item 都需要曝光埋点● 使用 Appear 组件,arg1 分别为 "Search_giraffeExposure" 和 "Search_giraffe_ItemExposure"● 点击事件埋点 arg1=Search_giraffe_ItemClick● 使用 Flex 布局,颜色适配暗黑模式● 所有字段使用 TypeScript 类型定义
-
快速搭建 UI 结构与 JSX 模板 -
自动引入 Appear 组件并配置曝光 -
基本符合 Flex 布局要求
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
补充样式细节:字体大小、间距、圆角、阴影 -
使用内联样式重写 fontFamily 和 background-color -
手动调整节点层级以匹配 Weex 渲染逻辑
-
抽象通用 useTracking Hook,统一管理 tracker 实例 -
约束所有曝光使用 <Appear> 组件封装 -
规范 arg1 命名空间,避免冲突
-
创建 types/index.ts 统一导出公共 interface -
删除重复定义,引用统一类型文件
- name: 禁止引用未定义组件description: 不得使用项目中不存在的组件,如 CustomButton、BaseCard- name: Tracker 使用规范description: 必须通过 useTracker() 获取实例,禁止 window.tracker- name: 状态逻辑最小化description: 不得添加需求外的状态字段或 action
✅ 实现“问题 → 修复 → 规则化 → 防复发”闭环
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
🔑 核心认知:
AI 不是“全自动编码机器人”,而是“高阶编程协作者”。
真正的提效,来自于将经验转化为规则,将文档转化为上下文,将人工踩坑变为前置约束。

AI编程提效成果
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
组件标准化封装:AI 快速生成符合规范的 UI 组件; -
埋点自动化:通过规则约束,确保曝光与点击埋点全覆盖; -
监控一体化:成功率、错误量级监控与主逻辑同步产出。

AI 编程的边界与进化方向
-
在上下文明确、任务边界清晰的场景下表现优异; -
当输入文档过多时,存在“信息稀释”风险,影响准确性; -
单靠“喂全文档”并非最优解。
|
|
|
|
|
|
|
|
|
|
|
|

