WeChat Mini Program development rules. Use this skill when developing WeChat mini programs, integrating CloudBase capabilities, and deploying mini program projects.
Use this skill for WeChat Mini Program development when you need to:
Do NOT use for:
Follow project structure conventions
miniprogram directorycloudfunctions directoryUnderstand authentication characteristics
cloud.getWXContext().OPENID in cloud functionsUse WeChat Developer Tools correctly
project.config.json has appid field before openingproject.config.jsonHandle resources properly
https://img.icons8.com/{style}/{size}/{color}/{icon-name}.pngstyle: ios (outline style) or ios-filled (filled style)size: 100 (recommended 100px, file size < 5KB)color: hex color code without # (e.g., 8E8E93 for gray, FF3B30 for red)icon-name: icon name (e.g., checked--v1)https://img.icons8.com/ios/100/8E8E93/checked--v1.pnghttps://img.icons8.com/ios-filled/100/FF3B30/checked--v1.pngdownloadRemoteFile tool to download resourcesCloudBase Integration:
latest versionDirectory Organization:
miniprogram directorycloudfunctions directoryproject.config.json needs to specify miniprogramRoot and other configurationsPage Generation:
index.jsonWeChat Developer Tools Opening Project Workflow:
project.config.json has appid field configured. If not configured, must ask user to provide itproject.config.json):
"C:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat" open --project "项目根目录路径"/Applications/wechatwebdevtools.app/Contents/MacOS/cli open --project "/path/to/project/root"project.config.json fileEnvironment Configuration:
wx.cloud in mini program, need to specify environment IDenvQuery toolResource Management:
iconPath and other places, prefer Icons8 (see section 4 above for details)downloadRemoteFile tool to download resourcesiconPath and similar, must simultaneously help user download icons to avoid build errorsImportant: Mini programs with CloudBase are naturally login-free. It is strictly forbidden to generate login pages or login flows!
Login-Free Feature: Mini program CloudBase does not require user login, can get user identity in cloud functions via wx-server-sdk
User Identity Retrieval: In cloud functions, get user's unique identifier via cloud.getWXContext().OPENID
User Data Management: Manage user data in cloud functions based on openid, no login flow needed
// Example of getting user identity in cloud function
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext();
const openid = wxContext.OPENID;
return { openid: openid };
};
Mini programs with base library version 3.7.1+ already support direct AI model invocation
// Create model instance, here we use DeepSeek AI model
const model = wx.cloud.extend.AI.createModel("deepseek");
// First set AI's system prompt, here using seven-character quatrain generation as example
const p =
"请严格按照七言绝句或七言律诗的格律要求创作,平仄需符合规则,押韵要和谐自然,韵脚字需在同一韵部。创作内容围绕用户给定的主题,七言绝句共四句,每句七个字;七言律诗共八句,每句七个字,颔联和颈联需对仗工整。同时,要融入生动的意象、丰富的情感与优美的意境,展现出古诗词的韵味与美感。";
// User's natural language input, e.g., '帮我写一首赞美玉龙雪山的诗'
const userInput = "帮我写一首赞美玉龙雪山的诗";
// Pass system prompt and user input to AI model
const res = await model.streamText({
data: {
model: "deepseek-v3", // Specify specific model
messages: [
{ role: "system", content: p },
{ role: "user", content: userInput },
],
},
});
// Receive AI model's response
// Since AI model's return result is streaming, we need to loop to receive complete response text
for await (let str of res.textStream) {
console.log(str);
}
WeChat step count retrieval must use CloudID method (base library 2.7.0+):
wx.getWeRunData() to get cloudID, use wx.cloud.CloudID(cloudID) to pass to cloud functionweRunData.data to get decrypted step count data, check weRunData.errCode to handle errorsproject.config.json