feat: 实现微博签到小程序功能

- 实现签到主页面,包含签到按钮、连续天数、今日状态展示
- 实现签到记录页面,包含日历视图和签到历史列表
- 实现个人中心页面,包含用户信息和签到统计
- 后端实现签到、查询状态、查询历史三个接口
- 使用 Supabase 存储签到记录数据
- 采用星空主题设计,深蓝紫渐变背景 + 金色星光强调色
- 完成所有接口测试和前后端匹配验证
- 通过 ESLint 检查和编译验证
This commit is contained in:
jaystar
2026-03-16 11:17:17 +08:00
commit e209fe02a4
64 changed files with 26475 additions and 0 deletions

80
eslint.config.mjs Normal file
View File

@@ -0,0 +1,80 @@
import { FlatCompat } from '@eslint/eslintrc';
import { fileURLToPath } from 'node:url';
import path from 'node:path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
});
export default [
...compat.extends('taro/react'),
{
rules: {
'react/jsx-uses-react': 'off',
'react/react-in-jsx-scope': 'off',
'jsx-quotes': ['error', 'prefer-double'],
'react-hooks/exhaustive-deps': 'off',
},
},
{
files: ['src/**/*.{js,jsx,ts,tsx}'],
ignores: ['src/network.ts'],
rules: {
'no-restricted-syntax': [
'error',
{
selector:
"MemberExpression[object.name='process'][property.name='env']",
message:
'请勿在 src 目录下直接使用 process.env\n如需获取 URL 请求前缀,请使用已经注入全局的 PROJECT_DOMAIN',
},
{
selector:
":matches(ExportNamedDeclaration, ExportDefaultDeclaration) :matches([id.name='Network'], [declaration.id.name='Network'])",
message:
"禁止自行定义 Network项目已提供 src/network.ts请直接使用: import { Network } from '@/network'",
},
],
'no-restricted-properties': [
'error',
{
object: 'Taro',
property: 'request',
message:
"请使用 Network.request 替代 Taro.request导入方式: import { Network } from '@/network'",
},
{
object: 'Taro',
property: 'uploadFile',
message:
"请使用 Network.uploadFile 替代 Taro.uploadFile导入方式: import { Network } from '@/network'",
},
{
object: 'Taro',
property: 'downloadFile',
message:
"请使用 Network.downloadFile 替代 Taro.downloadFile导入方式: import { Network } from '@/network'",
},
],
},
},
{
files: ['src/pages/index/index.tsx'],
rules: {
'no-restricted-syntax': [
'error',
{
selector: 'JSXText[value=/应用开发中/]',
message:
'检测到首页 (src/pages/index/index) 仍为默认占位页面,这会导致用户无法进入新增页面,请根据用户需求开发实际的首页功能和界面。如果已经开发了新的首页,也需要删除旧首页,并更新 src/app.config.ts 文件',
},
],
},
},
{
ignores: ['dist/**', 'dist-*/**', 'node_modules/**'],
},
];