【AI提示词】微信公众号文章发布技术规范
·
微信公众号文章发布技术规范
一、编码与格式规范
1. 文本编码要求
⚠️ 重要:禁止使用UTF-8编码直接上传文本
问题原因:
- 微信后台对UTF-8编码的中文处理可能出现乱码
- 部分特殊字符在UTF-8下显示异常
- 与微信内部编码格式不兼容
正确做法:
✓ 使用GBK或GB2312编码保存文本文件
✓ 或者直接使用微信编辑器粘贴纯文本
✓ 避免使用BOM头的UTF-8文件
编码转换示例:
# Linux/Mac 转换UTF-8到GBK
iconv -f UTF-8 -t GBK input.txt > output.txt
# Python转换
with open('input.txt', 'r', encoding='utf-8') as f:
content = f.read()
with open('output.txt', 'w', encoding='gbk') as f:
f.write(content)
2. 字体规范
⚠️ 汉字必须使用黑体或微软雅黑
/* 微信公众号推荐字体栈 */
font-family:
"PingFang SC", /* 苹方 - iOS优先 */
"Hiragino Sans GB", /* 冬青黑体 - Mac优先 */
"Microsoft YaHei", /* 微软雅黑 - Windows优先 */
"WenQuanYi Micro Hei", /* 文泉驿 - Linux */
"Noto Sans CJK SC", /* Google思源黑体 */
sans-serif;
禁止使用的字体:
- ❌ 宋体(在移动端显示效果差)
- ❌ 楷体、仿宋(不够正式)
- ❌ 艺术字体(可读性差)
- ❌ 自定义WebFont(微信内置浏览器不支持)
3. 字体大小规范
| 元素 | 字体大小 | 字重 | 行高 |
|---|---|---|---|
| 标题 | 18-20px | bold | 1.4 |
| 正文 | 15-16px | normal | 1.6-1.8 |
| 小标题 | 16-17px | bold | 1.5 |
| 注释/说明 | 13-14px | normal | 1.5 |
| 引用 | 14-15px | normal | 1.6 |
二、图片规范
1. 封面图
尺寸:900 x 383 像素(2.35:1比例)
格式:JPG 或 PNG
大小:不超过 2MB
建议:
- 主体内容居中偏上
- 避免底部放重要信息(被标题遮挡)
- 文字与背景对比度要高
2. 正文配图
宽度:900px(最佳)或 640px(最小)
格式:JPG(照片)、PNG(图标/截图)
大小:单张不超过 2MB
GIF:不超过 300KB,帧率不超过 15fps
3. 图片上传注意事项
⚠️ 禁止:
- 使用Base64编码的图片
- 直接粘贴Word中的图片
- 使用外链图片(可能被屏蔽)
- 图片文件名包含中文或特殊字符
✓ 正确做法:
- 先保存到本地再上传
- 使用英文或数字命名
- 压缩后再上传
三、内容格式规范
1. 段落格式
段落间距:1.5-2倍行距
段前/段后:8-12px
首行缩进:不建议(移动端显示效果差)
对齐方式:左对齐(避免两端对齐导致字间距不均)
2. 颜色规范
/* 推荐配色 */
主文字:#333333 或 #3f3f3f
次要文字:#666666 或 #888888
引用/注释:#999999
链接颜色:#576b95(微信蓝)
背景高亮:#f7f7f7 或 #fffbe5
/* 禁止使用 */
纯黑:#000000(刺眼)
亮红、亮绿等鲜艳色(不专业)
3. 特殊字符处理
⚠️ 需要转义或避免使用的字符:
- & 替换为 &
- < 替换为 <
- > 替换为 >
- 连续空格会被合并,使用 或 text-indent
- 特殊引号 "" '' 替换为普通引号 ""
- emoji 适度使用,过多会导致加载慢
四、HTML标签白名单
1. 支持的标签
<!-- 基础排版 -->
<p>段落</p>
<br>换行
<!-- 标题 -->
<h1>-<h3>标题(建议只用h2、h3)
<!-- 文字样式 -->
<strong> / <b> 加粗
<em> / <i> 斜体
<span> 行内容器
<!-- 列表 -->
<ul> / <ol> / <li> 列表
<!-- 引用 -->
<blockquote> 引用块
<!-- 分割线 -->
<hr> 分割线
<!-- 链接 -->
<a href="">链接</a>
<!-- 图片 -->
<img src="" alt="">
<!-- 视频 -->
<iframe> 腾讯视频等
<video> 部分支持
2. 禁止使用的标签
❌ <script> - 安全原因
❌ <style> - 会被过滤
❌ <link> - 外部样式
❌ <table> - 移动端显示问题
❌ <div> - 部分属性被过滤
❌ <form> / <input> - 交互元素
❌ <iframe>(非白名单域名)
五、API上传特殊要求
1. 素材上传编码
// 上传图文消息素材时
const formData = new FormData();
// 文本内容需要处理
const content = articleContent
.replace(/[\x00-\x08\x0b-\x0c\x0e-\x1f]/g, '') // 移除控制字符
.replace(/[\ud800-\udfff]/g, ''); // 移除emoji代理对(如有需要)
// 构造请求
const requestData = {
articles: [{
title: title,
content: content,
// 其他字段...
}]
};
// 必须使用JSON格式,不要添加BOM
const jsonStr = JSON.stringify(requestData);
2. 图片素材上传
// 上传永久素材
const formData = new FormData();
formData.append('media', fs.createReadStream(imagePath));
formData.append('description', JSON.stringify({
title: '图片标题',
introduction: '图片描述'
}));
// 注意:description字段本身需要是JSON字符串
3. Access Token刷新
// Token过期处理
const refreshToken = async () => {
const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appId}&secret=${appSecret}`;
try {
const response = await fetch(url);
const data = await response.json();
if (data.access_token) {
// 缓存新token,设置过期时间(7200秒 - 缓冲时间)
cache.set('access_token', data.access_token, 7000);
return data.access_token;
}
} catch (error) {
console.error('Token刷新失败:', error);
throw error;
}
};
六、错误码处理
常见错误及解决方案
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 40001 | access_token失效 | 立即刷新token |
| 40002 | 不合法的凭证类型 | 检查appid和secret |
| 40004 | 不合法的媒体文件类型 | 检查文件格式 |
| 40005 | 不合法的文件类型 | 使用支持的格式 |
| 40006 | 不合法的文件大小 | 压缩文件至2MB以下 |
| 40007 | 不合法的媒体文件id | media_id已过期 |
| 40009 | 不合法的图片文件大小 | 压缩图片 |
| 44002 | POST数据为空 | 检查请求体 |
| 45009 | 接口调用频率限制 | 降低调用频率 |
| 47001 | 解析JSON错误 | 检查JSON格式 |
七、最佳实践清单
发布前检查
- 文本编码为GBK/GB2312(非UTF-8)
- 字体设置为黑体/微软雅黑/苹方
- 图片压缩至2MB以内
- 图片文件名使用英文
- 移除所有
性能优化
- 图片使用CDN加速
- 延迟加载非首屏图片
- 控制单篇文章图片数量(建议不超过20张)
- 使用图片懒加载技术
- 定期清理过期素材
八、快速参考
标准文章模板
<!-- 标题 -->
<h2 style="font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif; font-size: 18px; font-weight: bold; color: #333; line-height: 1.4;">
文章标题
</h2>
<!-- 正文段落 -->
<p style="font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif; font-size: 15px; color: #3f3f3f; line-height: 1.8; margin: 12px 0;">
正文内容...
</p>
<!-- 小标题 -->
<h3 style="font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif; font-size: 16px; font-weight: bold; color: #333; line-height: 1.5; margin-top: 20px;">
小标题
</h3>
<!-- 引用 -->
<blockquote style="font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif; font-size: 14px; color: #666; border-left: 3px solid #576b95; padding-left: 15px; margin: 15px 0; background: #f7f7f7; padding: 10px 15px;">
引用内容...
</blockquote>
<!-- 图片 -->
<img src="图片URL" alt="图片描述" style="max-width: 100%; display: block; margin: 15px auto;">
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)