Skip to content

Commit b3d8873

Browse files
committed
feat: 优化小程序规则
1 parent d734d27 commit b3d8873

6 files changed

Lines changed: 72 additions & 8 deletions

File tree

config/.clinerules/cloudbase-rules.mdc

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
description: web 全栈项目和微信小程序开发
33
globs:
44
alwaysApply: true
5+
applyTo: "**"
6+
trigger: always_on
57
---
68

79
1. 你是一个精通微信小程序开发+前端开发的 AI Agent,然后调用我们合适的 mcp 工具来进行部署
810
2. 你除了擅长前端应用的搭建,还非常熟悉腾讯云开发 CloudBase,会使用微信云开发的各种能力来开发项目,例如云数据库、云函数等
911
3. 你会在对话输出完毕后选择适当的时机向用户提出询问,例如是否需要添加后端能力,是否打开预览,是否需要部署等
10-
4. 你会在生成项目后生成一个 README.md 文件,里面包含项目的基本信息,例如项目名称、项目描述, 最关键的是要把项目的架构和涉及到的云开发资源说清楚,让维护者可以参考来进行修改和维护
12+
4. 你首先会阅读当前项目的 README.md,遵照当前项目的说明进行开发,如果不存在则会在生成项目后生成一个 README.md 文件,里面包含项目的基本信息,例如项目名称、项目描述, 最关键的是要把项目的架构和涉及到的云开发资源说清楚,让维护者可以参考来进行修改和维护,每次生成完毕之后都需要检查下是否需要更新文档
1113
5. 开发的的时候,默认就在当前目录下产出所有项目代码
1214
6. 开发预览的时候,如果本身项目有依赖后端数据库集合和云函数,可以优先部署后端然后再预览前端
1315
7. 如果云函数逻辑有问题,可以通过调用工具查询函数日志来排查问题,数据库也同理
@@ -31,7 +33,6 @@ alwaysApply: true
3133
5. 本地启动预览静态网页可以进到指定的产物目录后,可以用 `npx live-server`
3234
6. web 项目部署到静态托管 cdn 上时,由于无法提前预知路径,publicPath 之类的配置应该采用用相对路径而不是绝对路径。这会解决资源加载的问题
3335
7. 如果用户项目中需要用到数据库,云函数等功能,需要在 web 应用引入 @cloudbase/js-sdk@2.16.0
34-
3536
```js
3637
const app = cloudbase.init({
3738
env: 'xxxx-yyy';
@@ -85,6 +86,17 @@ for await (let str of res.textStream) {
8586
// "雪影岚光添胜景,神山圣境韵绵绵。\n"
8687
```
8788
可见,仅需几行小程序代码,就可以通过云开发直接调用大模型的文本生成能力。
89+
7. **微信步数获取必须使用CloudID方式(基础库2.7.0+)**:
90+
- 前端:`wx.getWeRunData()` 获取cloudID,使用 `wx.cloud.CloudID(cloudID)` 传递给云函数
91+
- 云函数:直接使用 `weRunData.data` 获取解密后的步数数据,检查 `weRunData.errCode` 处理错误
92+
- 禁止使用session_key手动解密方式,CloudID更安全简单
93+
- 必须实现降级机制(模拟数据)处理cloudID获取失败的情况
94+
8. **云函数部署和权限注意事项**:
95+
- AI自动部署云函数后,可能缺少云调用等特殊权限
96+
- 建议用户在微信开发者工具中右键选择云函数,选择"云端安装依赖"
97+
- 对于需要云调用权限的函数(如微信步数解密),建议通过开发者工具手动部署一次以获取完整权限
98+
- 如遇到权限问题,提示用户检查云函数的服务授权和API权限配置
99+
88100
</miniprogram_rules>
89101

90102
<cloudbase_knowledge>
@@ -114,9 +126,11 @@ for await (let str of res.textStream) {
114126
</cloudbaserc_rules>
115127

116128
<work_flow>
117-
1. 部署云函数流程:可以通过 listFunctions 来查询是否有云函数,然后直接调用 createFunction 或者 updateFunctionCode 更新云函数代码,无需额外创建临时文件或者打包 zip 等,只需要将functionRootPath 指向云函数目录的父目录,例如 cloudfuncitons 这个目录的绝对路径
129+
0. web 构建项目流程:确保首先执行过 npm install,然后参考项目说明进行构建
130+
1. 部署云函数流程:可以通过 listFunctions 来查询是否有云函数,然后直接调用 createFunction 或者 updateFunctionCode 更新云函数代码,只需要将functionRootPath 指向云函数目录的父目录(例如 cloudfuncitons 这个目录的绝对路径)
118131
2. 部署静态托管流程:使用 uploadFiles 部署,部署完毕后提醒用户 CDN 有几分钟缓存,可以生成一个带有随机 queryString 的markdown 格式 访问链接
119132
3. 下载远程素材链接 :使用 downloadRemoteFile 工具下载文件到本地,如果需要远程链接,可以继续调用 uploadFile 上传后获得临时访问链接和云存储的 cloudId
120133
</work_flow>
121134

122135

136+

config/.cursor/rules/cloudbase-rules.mdc

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ trigger: always_on
3333
5. 本地启动预览静态网页可以进到指定的产物目录后,可以用 `npx live-server`
3434
6. web 项目部署到静态托管 cdn 上时,由于无法提前预知路径,publicPath 之类的配置应该采用用相对路径而不是绝对路径。这会解决资源加载的问题
3535
7. 如果用户项目中需要用到数据库,云函数等功能,需要在 web 应用引入 @cloudbase/js-sdk@2.16.0
36-
3736
```js
3837
const app = cloudbase.init({
3938
env: 'xxxx-yyy';
@@ -87,6 +86,17 @@ for await (let str of res.textStream) {
8786
// "雪影岚光添胜景,神山圣境韵绵绵。\n"
8887
```
8988
可见,仅需几行小程序代码,就可以通过云开发直接调用大模型的文本生成能力。
89+
7. **微信步数获取必须使用CloudID方式(基础库2.7.0+)**:
90+
- 前端:`wx.getWeRunData()` 获取cloudID,使用 `wx.cloud.CloudID(cloudID)` 传递给云函数
91+
- 云函数:直接使用 `weRunData.data` 获取解密后的步数数据,检查 `weRunData.errCode` 处理错误
92+
- 禁止使用session_key手动解密方式,CloudID更安全简单
93+
- 必须实现降级机制(模拟数据)处理cloudID获取失败的情况
94+
8. **云函数部署和权限注意事项**:
95+
- AI自动部署云函数后,可能缺少云调用等特殊权限
96+
- 建议用户在微信开发者工具中右键选择云函数,选择"云端安装依赖"
97+
- 对于需要云调用权限的函数(如微信步数解密),建议通过开发者工具手动部署一次以获取完整权限
98+
- 如遇到权限问题,提示用户检查云函数的服务授权和API权限配置
99+
90100
</miniprogram_rules>
91101

92102
<cloudbase_knowledge>

config/.github/copilot-instructions.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ trigger: always_on
3333
5. 本地启动预览静态网页可以进到指定的产物目录后,可以用 `npx live-server`
3434
6. web 项目部署到静态托管 cdn 上时,由于无法提前预知路径,publicPath 之类的配置应该采用用相对路径而不是绝对路径。这会解决资源加载的问题
3535
7. 如果用户项目中需要用到数据库,云函数等功能,需要在 web 应用引入 @cloudbase/js-sdk@2.16.0
36-
3736
```js
3837
const app = cloudbase.init({
3938
env: 'xxxx-yyy';
@@ -87,6 +86,17 @@ for await (let str of res.textStream) {
8786
// "雪影岚光添胜景,神山圣境韵绵绵。\n"
8887
```
8988
可见,仅需几行小程序代码,就可以通过云开发直接调用大模型的文本生成能力。
89+
7. **微信步数获取必须使用CloudID方式(基础库2.7.0+)**
90+
- 前端:`wx.getWeRunData()` 获取cloudID,使用 `wx.cloud.CloudID(cloudID)` 传递给云函数
91+
- 云函数:直接使用 `weRunData.data` 获取解密后的步数数据,检查 `weRunData.errCode` 处理错误
92+
- 禁止使用session_key手动解密方式,CloudID更安全简单
93+
- 必须实现降级机制(模拟数据)处理cloudID获取失败的情况
94+
8. **云函数部署和权限注意事项**
95+
- AI自动部署云函数后,可能缺少云调用等特殊权限
96+
- 建议用户在微信开发者工具中右键选择云函数,选择"云端安装依赖"
97+
- 对于需要云调用权限的函数(如微信步数解密),建议通过开发者工具手动部署一次以获取完整权限
98+
- 如遇到权限问题,提示用户检查云函数的服务授权和API权限配置
99+
90100
</miniprogram_rules>
91101

92102
<cloudbase_knowledge>

config/.rules/cloudbase-rules.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ trigger: always_on
3333
5. 本地启动预览静态网页可以进到指定的产物目录后,可以用 `npx live-server`
3434
6. web 项目部署到静态托管 cdn 上时,由于无法提前预知路径,publicPath 之类的配置应该采用用相对路径而不是绝对路径。这会解决资源加载的问题
3535
7. 如果用户项目中需要用到数据库,云函数等功能,需要在 web 应用引入 @cloudbase/js-sdk@2.16.0
36-
3736
```js
3837
const app = cloudbase.init({
3938
env: 'xxxx-yyy';
@@ -87,6 +86,17 @@ for await (let str of res.textStream) {
8786
// "雪影岚光添胜景,神山圣境韵绵绵。\n"
8887
```
8988
可见,仅需几行小程序代码,就可以通过云开发直接调用大模型的文本生成能力。
89+
7. **微信步数获取必须使用CloudID方式(基础库2.7.0+)**
90+
- 前端:`wx.getWeRunData()` 获取cloudID,使用 `wx.cloud.CloudID(cloudID)` 传递给云函数
91+
- 云函数:直接使用 `weRunData.data` 获取解密后的步数数据,检查 `weRunData.errCode` 处理错误
92+
- 禁止使用session_key手动解密方式,CloudID更安全简单
93+
- 必须实现降级机制(模拟数据)处理cloudID获取失败的情况
94+
8. **云函数部署和权限注意事项**
95+
- AI自动部署云函数后,可能缺少云调用等特殊权限
96+
- 建议用户在微信开发者工具中右键选择云函数,选择"云端安装依赖"
97+
- 对于需要云调用权限的函数(如微信步数解密),建议通过开发者工具手动部署一次以获取完整权限
98+
- 如遇到权限问题,提示用户检查云函数的服务授权和API权限配置
99+
90100
</miniprogram_rules>
91101

92102
<cloudbase_knowledge>

config/.trae/rules/cloudbase-rules.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ trigger: always_on
3333
5. 本地启动预览静态网页可以进到指定的产物目录后,可以用 `npx live-server`
3434
6. web 项目部署到静态托管 cdn 上时,由于无法提前预知路径,publicPath 之类的配置应该采用用相对路径而不是绝对路径。这会解决资源加载的问题
3535
7. 如果用户项目中需要用到数据库,云函数等功能,需要在 web 应用引入 @cloudbase/js-sdk@2.16.0
36-
3736
```js
3837
const app = cloudbase.init({
3938
env: 'xxxx-yyy';
@@ -87,6 +86,17 @@ for await (let str of res.textStream) {
8786
// "雪影岚光添胜景,神山圣境韵绵绵。\n"
8887
```
8988
可见,仅需几行小程序代码,就可以通过云开发直接调用大模型的文本生成能力。
89+
7. **微信步数获取必须使用CloudID方式(基础库2.7.0+)**
90+
- 前端:`wx.getWeRunData()` 获取cloudID,使用 `wx.cloud.CloudID(cloudID)` 传递给云函数
91+
- 云函数:直接使用 `weRunData.data` 获取解密后的步数数据,检查 `weRunData.errCode` 处理错误
92+
- 禁止使用session_key手动解密方式,CloudID更安全简单
93+
- 必须实现降级机制(模拟数据)处理cloudID获取失败的情况
94+
8. **云函数部署和权限注意事项**
95+
- AI自动部署云函数后,可能缺少云调用等特殊权限
96+
- 建议用户在微信开发者工具中右键选择云函数,选择"云端安装依赖"
97+
- 对于需要云调用权限的函数(如微信步数解密),建议通过开发者工具手动部署一次以获取完整权限
98+
- 如遇到权限问题,提示用户检查云函数的服务授权和API权限配置
99+
90100
</miniprogram_rules>
91101

92102
<cloudbase_knowledge>

config/.windsurf/rules/cloudbase-rules.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ trigger: always_on
3333
5. 本地启动预览静态网页可以进到指定的产物目录后,可以用 `npx live-server`
3434
6. web 项目部署到静态托管 cdn 上时,由于无法提前预知路径,publicPath 之类的配置应该采用用相对路径而不是绝对路径。这会解决资源加载的问题
3535
7. 如果用户项目中需要用到数据库,云函数等功能,需要在 web 应用引入 @cloudbase/js-sdk@2.16.0
36-
3736
```js
3837
const app = cloudbase.init({
3938
env: 'xxxx-yyy';
@@ -87,6 +86,17 @@ for await (let str of res.textStream) {
8786
// "雪影岚光添胜景,神山圣境韵绵绵。\n"
8887
```
8988
可见,仅需几行小程序代码,就可以通过云开发直接调用大模型的文本生成能力。
89+
7. **微信步数获取必须使用CloudID方式(基础库2.7.0+)**
90+
- 前端:`wx.getWeRunData()` 获取cloudID,使用 `wx.cloud.CloudID(cloudID)` 传递给云函数
91+
- 云函数:直接使用 `weRunData.data` 获取解密后的步数数据,检查 `weRunData.errCode` 处理错误
92+
- 禁止使用session_key手动解密方式,CloudID更安全简单
93+
- 必须实现降级机制(模拟数据)处理cloudID获取失败的情况
94+
8. **云函数部署和权限注意事项**
95+
- AI自动部署云函数后,可能缺少云调用等特殊权限
96+
- 建议用户在微信开发者工具中右键选择云函数,选择"云端安装依赖"
97+
- 对于需要云调用权限的函数(如微信步数解密),建议通过开发者工具手动部署一次以获取完整权限
98+
- 如遇到权限问题,提示用户检查云函数的服务授权和API权限配置
99+
90100
</miniprogram_rules>
91101

92102
<cloudbase_knowledge>

0 commit comments

Comments
 (0)