traintime_pda

开源的西电学生信息查询软件

View the Project on GitHub BenderBlog/traintime_pda

Traintime PDA / XDYou 支持页面暨问答页面

最近一次编辑:BenderBlog Rodriguez 2025-06-14

本软件反馈群:

开发者联系方式:

如何获取本软件

如果是正式版软件

如果是测试版软件

所有用户应该使用最新软件,如果使用旧版本软件时候遇到错误,请先更新软件。如果更新时候发生软件无法使用的状况,那您一定用的超级老的版本,请您清空数据或者重新安装吧,抱歉:P

我遇到了错误,如何向开发者反馈

在反馈前,请准备以下信息:

本软件集成了错误汇报系统,当程序产生异常的时候,该系统会捕捉,并在用户同意的情况下通过邮箱方式发送到我的微软邮箱中。该系统相对不人性化,仅汇报报错异常的类型和函数调用信息。我接收到的报错信息基本为 Flutter 框架提供的异常类型和函数调用信息,没有任何关于本程序代码的信息。我在不知道用户干了啥的前提下,这些信息的信息量接近为0。

所以,我希望用户提供报错信息的时候,一定要写明您在遭遇错误的时候您的操作,如果提供录屏更好了。同时,根据我上文提到的报错系统不人性化方面,希望有条件的用户花一点时间看看报错信息的调用函数信息(也就是下面有 #1 这样标号的部分)是否包含 watermeter 字符。如果有这个信息,我调错会更加方便。

反馈方式可以通过本软件反馈群,建议发到二群。如果您有 github 账号,在本项目开启 issue 也是个很不错的方式。我接收到信息后会尽快回复您,并根据错误类型尽快发修复版。

最后,本程序是开源软件,如果问题真的不算太大,我鼓励用户自行修复并发起合并请求,我会很感激的。如果您自己修复时候遇到任何问题,我会很热心地帮助您的。

登录失败了咋办

如果长期提示为“登录后处理”,用户可以退出程序后重新进入。这是由于本程序在登录后,获取学期信息和宿舍信息的等待时间太长,优化登录逻辑为本程序优化一大方向。

如果没有明确说明错误,大概率为账号密码错误,请用户自行登录电脑一站式(ehall.xidian.edu.cn)处理。请在本程序二次登录前,点击“清除登录缓存”按钮。

如果您确保账号密码无误,同时用手机浏览器访问并登录电脑一站式无虞,请点击“查看登录交互”按钮获取登录过程中的日志,并发送给开发者作为错误报告,详情看本 FAQ 第二节。

最后提醒,本程序针对在学本科生和研究生。如果不是这种用户,遇到问题请不要打扰开发组,并请了解左翼民粹主义。

我的日程表桌面小组件咋刷新的?

在主程序刷新课程表信息之后,程序会通知桌面小组件刷新。桌面小组件本身也会自行按照目前时间,刷新当天和明日的课程信息。

对于 iOS 设备,小组件的刷新由定时器控制,理论上在半夜更新今日日程信息和明日日程信息。同时,随着日程结束,经历过的课程应会消失。

对于安卓设备,由于缺乏类似 iOS 的精细时间控制,小部件只能一定程度上保证半夜更新今日日程信息和明日课程信息。同时,当用户切换今日日程信息和明日日程信息时,所有信息都会重新加载并刷新。

电费信息获取相关

研究生电费查询账号需要自行输入,因为无法获取宿舍信息。

根据一站式能源窗口工作人员的描述,目前学校能源系统在半夜十二点进行数据更新。这也就是您在网上交电费时候,半夜十一点半左右无法交电费的理由。我针对这个逻辑,在添加了缓存机制的情况下,写了如下电费获取逻辑:

根据目前获取结果,如果开三个空调的话,一天40千瓦时的电;如果不开空调的话,一天就是20千瓦时的电。希望通过这个功能,同学可以更好地控制日常用电量。

另请注意,由于电费访问过程不稳定,同时为减少程序不稳定性,暂不实现电费计算、绘图功能和小组件。请用户体谅开发者的苦衷,不要再催了。

日程信息获取相关

日程信息包括课程信息、考试信息和物理实验信息。

课程信息和考试信息均通过一站式获取,课程表信息缓存两天,考试信息更新更加频繁。课程信息和考试信息可以强制重新加载,其方式分别为:

物理实验信息通过物理实验服务器获取,该服务访问需要在校园网环境。如不在校园网环境,则加载缓存。由于全新的物理实验信息成绩页面中,成绩以极低分辨率的图片显示,本程序暂不处理成绩信息。

如何导出日程信息?

在日程表页面中,先点击右上角按钮,之后点击任一按钮:

成绩信息获取相关

成绩信息的获取引入了短时缓存机制,尽量在获取信息的准确性和即时性方面取平衡。

在考试信息页面里,点击计算器按钮可以选择科目计算均分,默认选择的逻辑为忽略以下类型科目:

成绩信息是“未知但及格”表示本科目已经通过,但是未查询到具体成绩信息。在一站式成绩页面中,有一列是否及格,那里是”是”但是成绩那一列没有信息就会显示成为这样。

根据 2024-2025 第一学期和第二学期时候的用户反馈,疑似一站式会在考试期间暂停开放本学期成绩查询。

如果您能搞到全校所有学院的保研课程信息,我会很乐意集成的。

同时,根据用户反馈,微信校务行的成绩单功能无论评教与否都能查询成绩。

校园网信息相关

校园网信息分为两个:您自己的校园网账号信息和您目前使用网络的信息。后一种是针对宿舍用路由器的状况。

您自己的校园网账号信息需要输入校园网密码,一般为身份证号后六位。校园网查询系统返回的原始数据,本程序未加处理,故该页面的在线设备信息大概率会出现一个 ip 出现了三次的状况。

另注:截至目前写稿时,学校仅针对娱乐网站,游戏网站进行限流措施,且 Bilibili 和科研数据、SDK 等暂无限流,请用户购买宽带前考虑用途。如果您很需要打游戏或者看肥皂剧,最好还是购买吧。至于电话卡信息,请获取更多来源,货比三家。

如何加入 XDU Planet

XDU Planet 是西电同学博客聚集地,目前由西电开源社区非正式维护。本程序主页第二页为该内容。

如果您有博客,且博客支持 RSS 输出,则可以加入 XDU Planet。如需加入,请在这个文件下面添加您博客的 RSS 输出地址。

如何参与本程序开发?

Traintime PDA / XDYou 是一个大众项目,虽然目前绝大多数代码都是我写的,我很想让各位从各个角度参与进来。目前有以下几个方向适合不懂开发的参与:

以下几个方向如果有大佬能帮我,就更好了

对于数据接口,本程序原则上不接受任何新的接口。如果提供方可以提供通过浏览器 F12 方式得到的路径,则可以考虑。

目前程序我认证的贡献者有三十个,大多数开发者均属于“不懂开发”的贡献者,背景各异。所以您如果有想法,请直接做吧。对于代码实现方面,PR 一般我都会先 Merge,然后融合的,所以不要有太大的负担。

不是西电的同志们如何利用代码?

以下是部分我觉得本程序中有通用价值的部分:

在使用前,请看下文件的授权,以SPDX-License-Identifier开头。如果只有MPL-2.0而且你不方便开源仅对这一个文件的修改的话,和我联系。如果您是想将该软件适配到您学校,在绝大多数的可能范围内我可以给您部分功能代码的闭源许可。但需要注意的是,本人是反对通过学校基本服务来获取利润的,这样的商业化路子长久不了,而且有黑产之嫌。

计划写一个本代码的查看指南,请各位期待。在适配过程中有任何问题,请大胆地和我联系。