- 实现签到主页面,包含签到按钮、连续天数、今日状态展示 - 实现签到记录页面,包含日历视图和签到历史列表 - 实现个人中心页面,包含用户信息和签到统计 - 后端实现签到、查询状态、查询历史三个接口 - 使用 Supabase 存储签到记录数据 - 采用星空主题设计,深蓝紫渐变背景 + 金色星光强调色 - 完成所有接口测试和前后端匹配验证 - 通过 ESLint 检查和编译验证
81 lines
2.5 KiB
JavaScript
81 lines
2.5 KiB
JavaScript
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/**'],
|
||
},
|
||
];
|