-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c424da7
commit e4203d8
Showing
25 changed files
with
902 additions
and
502 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,7 @@ | ||
{ | ||
"version": 1, | ||
"title": "用户协议与隐私政策", | ||
"content": "<p>版本生效日期:2021-10-01</p><p>感谢使用南哪课表!本应用由<b>idealclover</b>开发与发布。我们非常重视用户的隐私保护,绝不会在未经允许的情况下收集您的任何隐私内容。本文尽可能简短,强烈建议您认真阅读。</p><p><b>我们收集的数据</b><br>应用崩溃时产生的日志信息,以便于我们定位bug和改善应用健壮性;</p><p><b>我们不会收集的数据</b><br>用户在APP内进行登录操作时输入的账号与密码,如果您使用记住密码功能,我们会将这些信息存储在用户本地,不会上传至服务器;<br>用户的个人信息与课程信息将同样会存储在用户本地,不会上传至服务器;<br>特殊地,如果使用课表分享功能,课程信息将在服务器按期限进行暂存,如果添加由南哪助手(原NJU助手)提供的讲座信息,您的添加行为将被匿名记录以实现「X人已添加」功能;</p><p><b>集成的第三方 SDK</b><br>集成友盟+SDK,友盟+SDK需要收集您的设备Mac地址、唯一设备识别码(IMEI/android ID/IDFA/OPENUDID/GUID、SIM 卡 IMSI 信息)以提供统计分析服务,并通过地理位置校准报表数据准确性,提供基础反作弊能力。</p>", | ||
"isForce": false, | ||
"confirm_text_first_install": "同意协议,开始导入", | ||
"confirm_text_for_upgrade": "同意协议,开始使用", | ||
"cancel_text": "不同意并退出" | ||
} | ||
"title": "欢迎使用南哪课表!", | ||
"content": "2022.02\n恍惚之间又一年啊\n今年也为南哪课表做了不少工作,推出了讲座系统,支持了自由时间课程,也做了课表的官网和宣传视频,希望大家能喜欢鸭!\n\n2021.08\n又是新的学期啦\n21届的新同学都要来了,瞬间有种自己太老了的感觉hhhhhh\n\n2021.2\n不知不觉小作文更新这么长了~\n\n又是新的一年,新的一学期了。\n\n过去的这一年或许大家都经历了很多,疫情来了,翠翠毕业了,紫荆站关闭了。或许,哪次教务系统更新之后,南哪课表就再也用不起来了。\n\n所以,如果南哪课表还不错,可以在它还在的时候,一起安利给周围的小伙伴吗~\n\n过去的时光,我们都辛苦了,未来,一起加油。\n\n“敬自己一杯,因为值得。”\n\n2020.9\n这是翠翠离开南大的第一个秋天。不过放心,南哪课表还在维护。\n\n离开校园,其实想说的话有很多,但却又不知道从哪里说起,说些什么,却总会在被社会毒打的时候怀念起在南大的快乐时光。\n\n大概,衷心希望学弟学妹们珍惜大学生活w\n\n2020.5\n在付出了另一个¥688后,南哪课表终于上线 APP Store 啦!感谢大家一直以来的支持!\n\n2020.2\n2020年2月全部投喂收入将捐赠以支援湖北疫情\n(2020.3补充:已捐赠)\n\n2019.9\nHi!我是项目作者傻翠~\n\n看起来你已经导入我南教务处成功啦!撒花撒花!\n\n建议大家还是和自己教务系统中的课表对一下~避免出现什么bug~如果有bug的话欢迎反馈给我!设置-反馈中有交流群的群号~\n\n坦率地讲,从安卓移植到全平台是一个痛苦的过程。之前的APP多少是建立在开源项目的基础上,而这个重构项目算是自己从零开始搭起来的。其中也做了不少取舍与妥协,还有可能出现之前所没有过的bug,如果不巧遇到bug,欢迎向我反馈。\n\n写这个项目是一个吃力不讨好的事。单是苹果的开发者账号就要688/年,更不用提为了开发iOS版而单独买的MacBook。所以如果小伙伴想让这个项目持续下去的话,欢迎投喂傻翠。\n\n放心,这个弹框每次导入只会弹出一次,所以不会影响你的正常使用。\n\n希望南哪课表可以陪伴学弟学妹们走过每一学期ww\n\n傻翠", | ||
"content_html": "<p><b>2022.02</b></p><p>恍惚之间又一年啊</p><p>今年也为南哪课表做了不少工作,推出了讲座系统,支持了自由时间课程,也做了课表的官网和宣传视频,希望大家能喜欢鸭!</p><p><b>2021.08</b></p><p>又是新的学期啦</p><p>21届的新同学都要来了,瞬间有种自己太老了的感觉hhhhhh</p><p><b>2021.2</b></p><p>不知不觉小作文更新这么长了~</p><p>又是新的一年,新的一学期了。</p><p>过去的这一年或许大家都经历了很多,疫情来了,翠翠毕业了,紫荆站关闭了。或许,哪次教务系统更新之后,南哪课表就再也用不起来了。</p><p>所以,如果南哪课表还不错,可以在它还在的时候,一起安利给周围的小伙伴吗~</p><p>过去的时光,我们都辛苦了,未来,一起加油。</p><p>“敬自己一杯,因为值得。”</p><p><b>2020.9</b></p><p>这是翠翠离开南大的第一个秋天。不过放心,南哪课表还在维护。</p><p>离开校园,其实想说的话有很多,但却又不知道从哪里说起,说些什么,却总会在被社会毒打的时候怀念起在南大的快乐时光。</p><p>大概,衷心希望学弟学妹们珍惜大学生活w</p><p><b>2020.5</b></p><p>在付出了另一个¥688后,南哪课表终于上线 APP Store 啦!感谢大家一直以来的支持!</p><p><b>2020.2</b></p><p>2020年2月全部投喂收入将捐赠以支援湖北疫情</p><p>(2020.3补充:已捐赠)</p><p><b>2019.9</b></p><p>Hi!我是项目作者傻翠~</p><p>看起来你已经导入我南教务处成功啦!撒花撒花!</p><p>建议大家还是和自己教务系统中的课表对一下~避免出现什么bug~如果有bug的话欢迎反馈给我!设置-反馈中有交流群的群号~</p><p>坦率地讲,从安卓移植到全平台是一个痛苦的过程。之前的APP多少是建立在开源项目的基础上,而这个重构项目算是自己从零开始搭起来的。其中也做了不少取舍与妥协,还有可能出现之前所没有过的bug,如果不巧遇到bug,欢迎向我反馈。</p><p>写这个项目是一个吃力不讨好的事。单是苹果的开发者账号就要688/年,更不用提为了开发iOS版而单独买的MacBook。所以如果小伙伴想让这个项目持续下去的话,欢迎投喂傻翠。</p><p>放心,这个弹框每次导入只会弹出一次,所以不会影响你的正常使用。</p><p>希望南哪课表可以陪伴学弟学妹们走过每一学期ww</p><p>傻翠</p>", | ||
"semester_start_monday": "2022-09-05", | ||
"delay": 10 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"data": [ | ||
true, | ||
true, | ||
false | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
function scheduleHtmlParser() { | ||
let WEEK_WITH_BIAS = [ | ||
"", | ||
"周一", | ||
"周二", | ||
"周三", | ||
"周四", | ||
"周五", | ||
"周六", | ||
"周日", | ||
]; | ||
let name = document.querySelector( | ||
"body > div:nth-child(10) > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1)" | ||
).textContent; | ||
let rst = { name: name, courses: [] }; | ||
let table_1 = document.getElementsByClassName("TABLE_TR_01"); | ||
let table_2 = document.getElementsByClassName("TABLE_TR_02"); | ||
let table = table_1.concat(table_2); | ||
table.forEach((e) => { | ||
let state = e.children[6].innerText; | ||
if (state.includes("已退选")) return; | ||
let course_name = e.children[1].innerText; | ||
let class_number = e.children[0].innerText; | ||
let teacher = e.children[3].innerText; | ||
let test_time = e.children[8].innerText; | ||
let test_location = e.children[9].innerText; | ||
let course_info = e.children[10].innerText; | ||
let info_str = e.children[4].innerText; | ||
let info_list = info_str.split("\n"); | ||
info_list.forEach((i) => { | ||
let week_time = 0; | ||
let strs = i.split(" "); | ||
let start_time = 0; | ||
let time_count = 0; | ||
let weeks = []; | ||
for (let z = 0; z < WEEK_WITH_BIAS.length; z++) { | ||
if (WEEK_WITH_BIAS[z] == strs[0]) week_time = z; | ||
} | ||
let pattern1 = new RegExp("第(\\d{1,2})-(\\d{1,2})节", "i"); | ||
strs.forEach((w) => { | ||
let r = pattern1.exec(w); | ||
if (r) { | ||
start_time = parseInt(r[1]); | ||
time_count = parseInt(r[2]) - parseInt(r[1]); | ||
} | ||
}); | ||
let pattern2 = new RegExp("(\\d{1,2})-(\\d{1,2})周", "i"); | ||
strs.forEach((x) => { | ||
let s = pattern2.exec(x); | ||
if (s) { | ||
if (strs.includes("单周")) { | ||
for (let z = parseInt(s[1]); z <= parseInt(s[2]); z += 2) | ||
weeks.push(z); | ||
} else if (strs.includes("双周")) { | ||
for (let z = parseInt(s[1]); z <= parseInt(s[2]); z += 2) | ||
weeks.push(z); | ||
} else { | ||
for (let z = parseInt(s[1]); z <= parseInt(s[2]); z++) | ||
weeks.push(z); | ||
} | ||
} | ||
}); | ||
let pattern3 = new RegExp("第(\\d{1,2})周", "i"); | ||
strs.forEach((y) => { | ||
let t = pattern3.exec(y); | ||
if (t) { | ||
weeks.push(parseInt(t[1])); | ||
} | ||
}); | ||
let classroom = strs[strs.length - 1]; | ||
rst["courses"].push({ | ||
name: course_name, | ||
classroom: classroom, | ||
class_number: class_number, | ||
teacher: teacher, | ||
test_time: test_time, | ||
test_location: test_location, | ||
link: null, | ||
weeks: weeks, | ||
week_time: week_time, | ||
start_time: start_time, | ||
time_count: time_count, | ||
import_type: 1, | ||
info: course_info, | ||
data: null, | ||
}); | ||
}); | ||
}); | ||
return encodeURIComponent(JSON.stringify(rst)); | ||
} | ||
scheduleHtmlParser(); |
Oops, something went wrong.