news 2026/5/31 0:57:49

做久坐提醒+拉伸指导工具,设定工作时长,久坐超一小时自动提醒,推送三分钟简易拉伸动作(图文步骤),记录每日拉伸次数。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
做久坐提醒+拉伸指导工具,设定工作时长,久坐超一小时自动提醒,推送三分钟简易拉伸动作(图文步骤),记录每日拉伸次数。

1. 实际应用场景描述

在现代办公环境中,许多白领、程序员、设计师等长时间坐在电脑前工作,容易导致:

- 颈椎、腰椎问题

- 血液循环不畅

- 精神疲劳

虽然知道要活动,但往往忘记或拖延。

本工具适用于办公室、居家办公、学生自习等场景,帮助用户:

- 设定工作时长

- 久坐超过 1 小时自动提醒

- 推送 3 分钟简易拉伸动作(图文步骤)

- 记录每日拉伸次数,形成健康数据

2. 痛点分析

痛点 影响 解决方案

忘记起身活动 健康问题累积 自动提醒

不知道做什么拉伸 动作不科学或放弃 提供标准图文指导

缺乏坚持动力 难以养成习惯 记录数据,可视化进步

提醒方式单一 容易被忽略 可扩展为桌面弹窗/声音/消息推送

3. 核心逻辑讲解

1. 计时逻辑

- 启动后记录开始工作时间

- 每隔 1 小时检查是否超时

- 超时则触发提醒

2. 提醒与推送

- 弹出窗口或打印到终端

- 从预设拉伸动作库中随机选取一组 3 分钟动作

- 显示图文步骤(文本模拟)

3. 数据记录

- 每次完成拉伸,记录日期和次数

- 数据存储在 JSON 文件

- 可统计每日/每周拉伸频率

4. 扩展性

- 接入 GUI(Tkinter/PyQt)

- 接入系统通知(plyer)

- 接入数据库存储长期数据

- 接入 BI 工具分析健康趋势

4. 项目结构

stretch_reminder/

├── data/

│ └── stretch_data.json # 拉伸动作库

│ └── record.json # 拉伸记录

├── modules/

│ ├── __init__.py

│ ├── timer.py # 计时与提醒

│ ├── stretcher.py # 拉伸动作选择与展示

│ └── recorder.py # 记录拉伸次数

├── main.py # 主程序入口

├── README.md # 说明文档

└── requirements.txt # 依赖

5. 核心代码

"modules/timer.py"

import time

class WorkTimer:

def __init__(self, work_minutes=60):

self.work_seconds = work_minutes * 60

self.start_time = None

def start(self):

self.start_time = time.time()

def check_overdue(self):

if self.start_time is None:

return False

elapsed = time.time() - self.start_time

return elapsed > self.work_seconds

"modules/stretcher.py"

import random

STRETCH_DATA = [

{

"name": "颈部放松",

"steps": [

"坐直,缓慢将头向右侧倾斜,左耳靠近左肩,保持15秒",

"换左侧重复",

"前后点头各10次"

]

},

{

"name": "肩部绕环",

"steps": [

"双肩向上耸起,保持5秒",

"向后绕环10次",

"向前绕环10次"

]

},

{

"name": "背部伸展",

"steps": [

"猫牛式:双手双膝撑地,吸气塌腰抬头,呼气拱背低头",

"重复10次"

]

}

]

def get_random_stretch():

return random.choice(STRETCH_DATA)

"modules/recorder.py"

import json

import os

from datetime import date

RECORD_PATH = "../data/record.json"

def record_stretch():

today = str(date.today())

if os.path.exists(RECORD_PATH):

with open(RECORD_PATH, 'r', encoding='utf-8') as f:

data = json.load(f)

else:

data = {}

data[today] = data.get(today, 0) + 1

with open(RECORD_PATH, 'w', encoding='utf-8') as f:

json.dump(data, f, ensure_ascii=False, indent=2)

"main.py"

from modules.timer import WorkTimer

from modules.stretcher import get_random_stretch

from modules.recorder import record_stretch

import time

def main():

work_minutes = int(input("设置工作时长(分钟): ") or 60)

timer = WorkTimer(work_minutes)

print("工作计时开始... (按Ctrl+C停止)")

timer.start()

try:

while True:

time.sleep(10) # 每10秒检查一次

if timer.check_overdue():

print("\n⏰ 您已久坐超过 {} 分钟,请起来活动!".format(work_minutes))

stretch = get_random_stretch()

print(f"\n🧘 推荐拉伸: {stretch['name']}")

for step in stretch['steps']:

print(f" - {step}")

input("完成拉伸后按回车记录次数...")

record_stretch()

print("✅ 今日拉伸次数已记录")

timer.start() # 重置计时

except KeyboardInterrupt:

print("\n程序已退出")

if __name__ == "__main__":

main()

6. README.md

# 久坐提醒 + 拉伸指导工具

基于 Python 的健康辅助工具,定时提醒久坐用户进行拉伸,并记录每日拉伸次数。

## 功能

- 自定义工作时长

- 超时自动提醒

- 随机推送 3 分钟拉伸动作

- 记录每日拉伸次数

## 使用方法

1. 安装依赖:`pip install -r requirements.txt`

2. 运行:`python main.py`

3. 设置工作时长,程序会自动提醒并指导拉伸

## 数据存储

- 拉伸动作库:`data/stretch_data.json`

- 拉伸记录:`data/record.json`

7. 核心知识点卡片

知识点 说明

定时器逻辑 基于时间戳判断是否超时

随机选择

"random.choice" 实现动作随机推送

JSON 数据存储 轻量级持久化记录

模块化设计 分离计时、动作、记录逻辑

大数据与BI延伸 可分析长期健康趋势,生成报表

8. 总结

本项目是一个久坐提醒 + 拉伸指导工具,结合了大数据与商务智能中的数据采集与分析理念,帮助用户养成健康习惯。

后续可扩展:

- GUI 界面(Tkinter/PyQt)

- 系统通知(plyer)

- 数据库存储(SQLite/MySQL)

- BI 可视化(Matplotlib/Power BI 接口)

如果你需要,可以生成

"requirements.txt" 并打包成带 GUI 的完整版本,甚至提供 Web 仪表盘查看拉伸统计。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 15:02:34

私有化会议选型指南:内网流量免费、API深度对接、IM一键入会

什么是私有化音视频会议? 私有化音视频会议,是指将会议系统部署在企业自己的服务器或私有云环境中,而非使用公有云服务。所有音视频流、会议录制、参会记录等数据都存储在企业可控的基础设施内,真正做到"数据不出网、安全看…

作者头像 李华
网站建设 2026/5/28 21:40:00

让opencode+GLM-4.7+SKILL一起服务

让opencodeGLM-4.7SKILL一起服务 缘起 随着克劳德的限制越来越严,追寻一个替代品,也迫上眉睫。最近opencode冒出来了,GLM-4.7好像也风评不错,而关于prompt,也慢慢进化出了skill,这个周末,刚好来试试。 过…

作者头像 李华
网站建设 2026/5/29 21:32:20

真正的高手,都是贝叶斯主义者

有人问我:在这个黑天鹅乱飞、高不确定性、模糊混沌的世界,到底有没有一种底层逻辑,能让人稳赢? 一开始,我很想回答“没有”,后来,转念一想,如果非要说一个,那就是—— …

作者头像 李华
网站建设 2026/5/28 21:24:25

期货交易平台数据分析系统开题报告

期货交易平台数据分析系统开题报告 一、选题背景 随着金融市场全球化、数字化进程加速,期货市场作为资本市场的重要组成部分,交易量持续攀升,交易品种不断丰富,涵盖农产品、金属、能源、金融衍生品等多个领域。期货交易具有杠杆性…

作者头像 李华
网站建设 2026/5/28 23:18:18

得物Java面试被问:RocketMQ的消息轨迹追踪实现

一、核心设计理念 1.1 追踪目标 text 复制 下载 四大追踪维度: 1. 生产轨迹:消息从哪个应用、哪个机器、什么时间发送 2. 存储轨迹:消息在Broker的存储状态、投递时间 3. 消费轨迹:消息被哪个消费者、何时消费、消费结果 4. 事…

作者头像 李华
网站建设 2026/5/30 5:57:30

Flutter实战:从零实现俄罗斯方块(三)交互控制与事件处理

Flutter实战:从零实现俄罗斯方块(三)交互控制与事件处理 文章目录 Flutter实战:从零实现俄罗斯方块(三)交互控制与事件处理摘要前言一、键盘事件监听1.1 RawKeyboardListener的基本用法1.2 如何映射按键到游…

作者头像 李华