# 微博签到小程序设计指南
## 品牌定位
**应用定位**:微博签到打卡工具,帮助用户养成持续签到的习惯
**设计风格**:星空主题、仪式感、成就感
**目标用户**:微博用户,希望通过签到获得奖励的用户
**核心意象**:点亮星空——每次签到都是点亮夜空中的一颗星,连续签到让星空更加璀璨
---
## 配色方案
### 主色板
| 颜色名称 | Tailwind 类名 | 色值 | 意象来源 |
|---------|--------------|------|---------|
| 星空蓝(主色) | `bg-blue-600` | #2563eb | 深夜星空的底色 |
| 星光金(强调色) | `text-yellow-400` | #facc15 | 星星的光芒 |
| 月光蓝(辅助色) | `text-blue-300` | #93c5fd | 柔和的月光 |
### 中性色
| 颜色名称 | Tailwind 类名 | 色值 | 用途 |
|---------|--------------|------|------|
| 深空灰 | `bg-gray-900` | #111827 | 页面背景 |
| 夜空灰 | `bg-gray-800` | #1f2937 | 卡片背景 |
| 星云灰 | `bg-gray-700` | #374151 | 次级背景 |
| 银河白 | `text-white` | #ffffff | 主要文字 |
| 星尘灰 | `text-gray-400` | #9ca3af | 次要文字 |
### 语义色
| 状态 | Tailwind 类名 | 色值 |
|-----|--------------|------|
| 成功/已签到 | `text-green-400` | #4ade80 |
| 警告/未签到 | `text-orange-400` | #fb923c |
| 信息/提示 | `text-blue-400` | #60a5fa |
---
## 字体规范
### 字体选择
- **标题字体**:使用系统默认字体(微信小程序限制)
- **正文字体**:使用系统默认字体
### 字体层级
| 层级 | Tailwind 类名 | 字号 | 行高 | 用途 |
|-----|--------------|------|------|------|
| H1 | `text-3xl font-bold` | 30px | 36px | 签到主标题 |
| H2 | `text-2xl font-bold` | 24px | 32px | 页面标题 |
| H3 | `text-xl font-semibold` | 20px | 28px | 卡片标题 |
| Body | `text-base` | 16px | 24px | 正文内容 |
| Caption | `text-sm` | 14px | 20px | 说明文字 |
---
## 间距系统
### 页面边距
- 页面左右边距:`px-4`(16px)
- 页面上下边距:`py-6`(24px)
### 组件间距
- 卡片间距:`gap-4`(16px)
- 列表项间距:`gap-3`(12px)
- 按钮组间距:`gap-2`(8px)
---
## 组件规范
### 1. 签到按钮(核心组件)
```tsx
// 主签到按钮
签到
// 已签到状态
已签到
```
### 2. 卡片容器
```tsx
{/* 卡片内容 */}
```
### 3. 列表项
```tsx
内容
时间
```
### 4. 统计卡片
```tsx
连续签到
7 天
```
### 5. 空状态
```tsx
暂无签到记录
开始你的第一次签到吧
```
---
## 导航结构
### TabBar 配置
```typescript
{
tabBar: {
color: '#9ca3af',
selectedColor: '#2563eb',
backgroundColor: '#111827',
borderStyle: 'black',
list: [
{
pagePath: 'pages/index/index',
text: '签到',
iconPath: './assets/tabbar/star.png',
selectedIconPath: './assets/tabbar/star-active.png'
},
{
pagePath: 'pages/record/index',
text: '记录',
iconPath: './assets/tabbar/calendar.png',
selectedIconPath: './assets/tabbar/calendar-active.png'
},
{
pagePath: 'pages/profile/index',
text: '我的',
iconPath: './assets/tabbar/user.png',
selectedIconPath: './assets/tabbar/user-active.png'
}
]
}
}
```
### 页面跳转规范
- TabBar 页面跳转:使用 `Taro.switchTab()`
- 普通页面跳转:使用 `Taro.navigateTo()`
---
## 小程序约束
### 包体积限制
- 主包大小:不超过 2MB
- 分包大小:单个分包不超过 2MB
- 总大小:不超过 20MB
### 图片策略
- 使用 CDN 图片链接
- 本地图标使用 PNG 格式(TabBar 必须是本地 PNG)
- 图片压缩后使用
### 性能优化
- 避免过深的组件嵌套
- 列表使用虚拟滚动(长列表场景)
- 图片懒加载
- 避免频繁的 `setState`
---
## 跨端兼容注意事项
### H5/小程序兼容
- Text 换行:垂直排列的 Text 必须添加 `block` 类
- Input 样式:必须用 View 包裹,样式放外层
- Fixed 布局:使用 inline style,避免 Tailwind fixed+flex 失效
### 平台检测
```tsx
const isWeapp = Taro.getEnv() === Taro.ENV_TYPE.WEAPP
```
---
## 设计禁忌
**禁止使用**:
- ❌ 微博橙色默认配色
- ❌ 纯白色背景(不符合星空主题)
- ❌ 过于功能导向的冷冰冰设计
- ❌ 缺乏情感共鸣的界面元素
- ❌ 复杂的动画效果(影响性能)