feat: 新增短链接工具,优化日历提醒功能

1. 新增完整短链接工具服务,包括前端页面、后端API与数据库支持
2. 新增移动端日历提醒工具与鉴权配置
3. 优化日历事件编辑与展示:
   - 添加事件循环重复设置
   - 新增全天事件支持
   - 时间选择器自动对齐15分钟间隔
   - 保存状态加载动画
   - 事件卡片显示重复规则
4. 更新API基础地址与路由配置
5. 新增SSL证书文件与相关工具静态资源
This commit is contained in:
yangxiangyuan
2026-07-28 16:23:37 +08:00
parent 212dbc4e1d
commit 154b79c8f1
18 changed files with 3508 additions and 23 deletions
@@ -28,6 +28,7 @@ export default function CalendarScreen() {
const [selectedDate, setSelectedDate] = useState<Date | null>(null);
const [modalVisible, setModalVisible] = useState(false);
const [selectedEvent, setSelectedEvent] = useState<Event | null>(null);
const [saving, setSaving] = useState(false);
const loadEvents = useCallback(async () => {
try {
@@ -139,10 +140,13 @@ export default function CalendarScreen() {
const handleToggleComplete = async (event: Event) => {
try {
setSaving(true);
await eventApi.updateEvent(event.id, { completed: !event.completed });
await loadEvents();
} catch (error) {
showError('更新失败', error);
} finally {
setSaving(false);
}
};
@@ -170,6 +174,7 @@ export default function CalendarScreen() {
const handleSaveEvent = async (eventData: Partial<Event>) => {
try {
setSaving(true);
if (selectedEvent) {
await eventApi.updateEvent(selectedEvent.id, eventData);
} else {
@@ -184,6 +189,8 @@ export default function CalendarScreen() {
await loadEvents();
} catch (error) {
showError('保存失败', error);
} finally {
setSaving(false);
}
};