营销通微应用开发技能。使用当开发、调试或部署营销通微应用(抽奖、签到、问卷等)时。提供完整的 ES5 语法规范、API 参考和最佳实践。
View on GitHubGavin-js/microapp-skills-marketplace
microapp-sdk
plugins/microapp-sdk/skills/microapp-development/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/Gavin-js/microapp-skills-marketplace/blob/main/plugins/microapp-sdk/skills/microapp-development/SKILL.md -a claude-code --skill microapp-developmentInstallation paths:
.claude/skills/microapp-development/# 营销通微应用开发 Skill (MicroApp Development)
此 Skill 专为营销通微应用开发设计,提供完整的开发规范、API 参考和最佳实践。
## 核心规范
### 1. 代码规范 - ES5 语法 ⚠️
微应用代码直接注入浏览器执行,**必须严格使用 ES5 语法**。
#### 禁止使用的 ES6+ 语法
```javascript
// ❌ 禁止使用
const/let // 必须使用 var
() => {} // 必须使用 function()
`${}` // 必须使用字符串拼接
class // 必须使用 function 构造器
async/await // 必须使用 Promise.then()
?. / ?? // 可选链和空值合并
for...of / forEach // 必须使用 for 循环
```
#### 正确写法示例
```javascript
// ✅ 变量声明
var userName = '张三';
var isLoggedIn = true;
// ✅ 函数定义
function createUser(name, email) {
return {
name: name,
email: email,
createdAt: Date.now()
};
}
// ✅ Promise 使用
FsYxtMicroApp.getCurrentUser().then(function(user) {
console.log('当前用户:', user.name);
}).catch(function(err) {
console.error('获取用户失败:', err);
});
```
### 2. SDK 引入
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>微应用标题</title>
<!-- 引入 Mock SDK(开发环境) -->
<script src="https://ceshi112.fspage.com/ec/h5-landing/release/microAppMockSDK.js"></script>
</head>
<body>
<script>
// JavaScript 代码
</script>
</body>
</html>
```
### 3. SDK 可用性检查
```javascript
function isSdkAvailable() {
return typeof FsYxtMicroApp !== 'undefined';
}
function safeApiCall(apiFunc, fallbackValue) {
if (isSdkAvailable() && apiFunc) {
return apiFunc();
}
return Promise.resolve(fallbackValue);
}
```
## API 参考
### CRM 对象操作
```javascript
// 创建记录
FsYxtMicroApp.object.create(objectType, data);
FsYxtMicroApp.campaignMembers.create(data);
// 查询记录
FsYxtMicroApp.object.query(objectType, query);
FsYxtMicroApp.campaignMembers.query(query);
// 更新记录
FsYxtMicroApp.object.update(objectType, id, data);
// 删除记录
FsYxtMicroApp.object.delete(objectType, id);
```
### 用户与通讯录
```javascript
// 获取当前用户
FsYxtMicroApp.getCurrentUser().then(function(user) {
console.log(user);
});
// 获取企业通讯录
F