吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2592|回复: 45
收起左侧

[原创工具] Education-Clock 适合学校电脑使用的信息看板

  [复制链接]
ReturnLog 发表于 2024-12-8 11:42

Education Clock v3.6

[!NOTE]

软件具有-桌面时钟 -课程表 -天气预报 -自动新闻联播 -定时关机 -消息通知栏 -随机点名等功能

写在前面:消息通知栏服务需要使用云服务器或虚拟主机,对于不需要此功能的用户现计划实现在相同位置显示其它东西的功能,如有好的建议欢迎讨论

-Education Clock.png

信息

版本:v3.6

时间:2024年12月7日

协议:GPLv3

GitHub仓库: https://github.com/Return-Log/Education-Clock

有建议与问题请提交Issues: https://github.com/Return-Log/Education-Clock/issues

功能说明

[!WARNING]

设置信息存储在./data下,修改设置会自动保存,操作不可逆,请注意进行数据备份

课程表

显示课程表

到达设定时间后对应课程加粗并使用高亮边框

主界面可以选择显示其它时间课程表以适应调休

更改课程表

[!WARNING]

修改项后务必点击表格空白处以保存,直接关闭窗口可能会导致数据丢失

插入课程表

对应日期为空时,点插入行按钮会自动添加一行

不为空时需选择一行,点击插入按钮会在选中行下方插入一行

删除课程表

选中要删除的行点击删除按钮即可删除

更改课程表

双击需更改的单元格即可进行更改

日期须符合HH:MM格式

倒计时

设置

事件最多4个字符,也不要设置过长的倒计时(大于9999天),否则会导致窗口显示超出范围

天气预报

使用和风天气的格点天气服务

API可在和风天气开发平台自行注册获得

[!CAUTION]

注意经纬度不要填反

通知栏

信息显示规则

  • 以时间倒序显示近7天数据

  • 支持markdown格式

  • 当过滤群组名字包含“管理组”关键字时,对应群组信息头用黄色显示

[!WARNING]

通知栏信息编码为base64加密存储,只能在设置界面更改

本地公告板设置

按设置界面提示填写远程数据库信息
过滤设置
  • 可选机器人名称,发件人昵称,群聊名字进行过滤
  • 有多个过滤项时使用逗号分隔
  • 过滤项间彼此互不干扰

服务端设置

数据库设置

数据库中构建如下表

CREATE TABLE IF NOT EXISTS `messages` (
    `id` INT AUTO_INCREMENT PRIMARY KEY, -- 自增主键
    `robot_name` VARCHAR(255) NOT NULL, -- 机器人名称
    `sender_name` VARCHAR(255) NOT NULL, -- 发送者名称
    `message_content` TEXT NOT NULL, -- 消息内容
    `timestamp` DATETIME NOT NULL, -- 时间戳
    `conversationTitle` VARCHAR(255) NOT NULL -- 群聊标题
);

[!IMPORTANT]

记得放行 3306 MySQL服务默认端口

添加数据
本质

可以使用你自己的程序执行如下语句进行插入

INSERT INTO `messages` (`robot_name`, `sender_name`, `message_content`, `timestamp`, `conversationTitle`) VALUES
('机器人名字', '发送者名称', '展示的消息内容', '时间戳(2024-11-04 15:00:04)', '群聊名称');
使用钉钉机器人
在钉钉中创建机器人

需自建一个组织,机器人每月有3000次调用限制

开放平台传送门: https://open-dev.dingtalk.com/fe ... 2Frobot#/corp/robot

在自建组织中创建一个机器人应用,将应用凭证中三个项记下来

对应机器人开发管理中添加服务器出口IP(调用钉钉服务端API时的合法IP列表)和消息接收地址(用于接收POST过来的消息)

服务器配置

python版本: 3.10.14 使用flask框架

./dingtalk-service/app.py 为服务端需运行软件

将app.py中以下部分改为你自己的配置信息

"""以省略上方代码"""

# 数据库配置
db_config = {  # 数据库配置
    "host": "localhost",
    "user": "",
    "password": "",
    "database": ""
}

# 钉钉机器人配置(多个机器人)
robots = {  # 机器人应用凭证
    "": {  # AppKey
        "agent_id": "",  # AgentId
        "app_secret": ""  # AppSecret
    }
    # 可以继续增加更多的机器人配置
}

"""中间部分已省略"""

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=10240, debug=True)  # 改为自己的端口

宝塔面板项目管理:

  • 启动方式uwsgi
  • 通讯协议wsgi
  • 这里添加可外网访问的端口(提示冲突就更换一个)
  • 添加可外网访问的域名
使用机器人

在自建组织下添加一个内部群,添加上自定义机器人,@机器人 即可发送信息,一切顺利话此时数据库中已有这条信息

自动关机

一天中多个关机时间使用逗号分隔

到达时间会弹出确认倒计时窗口,点取消即可终止关机

新闻联播

到达7:30会自动使用默认浏览器访问央视网,根据是否有声音播放模拟鼠标双击进行全屏操作,到达7:30自动关闭浏览器窗口

模块默认为关闭状态

随机点名

点击主界面按钮即可打开窗口,点击开始后滚动名字1秒后随机显示一个名字(两次名字不会重复)

添加名字直接将excel表中整列名字复制粘贴即可(记得删掉表头和没用的换行符)


Copyright © 2024  Log  All rights reserved.

免费评分

参与人数 4吾爱币 +10 热心值 +4 收起 理由
洪世贤 + 1 + 1 用心讨论,共获提升!
laiXQ + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
schtg + 1 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

bester 发表于 2024-12-8 22:39
提个问,用的啥打包的?nuikia? 我用nuikia打包出来的直接运行,会不显示界面,一定要点一下任务栏中的我运行的这个程序才出现界面,这个是否有遇到过?
 楼主| ReturnLog 发表于 2024-12-15 17:09
zyqking 发表于 2024-12-10 20:02
这个可用在希沃白板上吗?课程背景能换成上课进度条吗?上过的课与后面还没上的课直观区别一下

到达时间的课程会加一个高亮边框,将一个课程的结束时间与下一个课程开始时间设为一样也是很直观的,进度条可以尝试一下
 楼主| ReturnLog 发表于 2024-12-8 11:46
本帖最后由 ReturnLog 于 2024-12-8 11:51 编辑

工作日无法处理消息,使用python 3.11开发,界面使用pyqt6实现,目前仅支持win10以上64位系统
chenbin8467645 发表于 2024-12-8 21:27
厉害了,感谢分享
kyahaha 发表于 2024-12-9 07:47
好东西,支持一下
dipingxian001 发表于 2024-12-9 10:23
等下下来试试,谢谢分享
xieyinghao 发表于 2024-12-9 10:31

感谢楼主的分享,666
jsdhmqh 发表于 2024-12-9 10:52
不错的功能
wjsmsra 发表于 2024-12-9 12:19
公告板怎样设置?
flylujun 发表于 2024-12-9 16:33
界面上看着还不错
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-23 02:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表