From 7a5d43281b46e1862e99f09d8619d5b7c265e496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=89=E5=AD=90?= Date: Mon, 17 Jan 2022 22:52:51 +0800 Subject: [PATCH 1/7] Add Schedule Api file --- miniprogram/api/Schedule.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 miniprogram/api/Schedule.ts diff --git a/miniprogram/api/Schedule.ts b/miniprogram/api/Schedule.ts new file mode 100644 index 0000000..e69de29 From 75adb97abb3acce4d396678f62e5c02a241903c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=89=E5=AD=90?= Date: Thu, 20 Jan 2022 20:17:32 +0800 Subject: [PATCH 2/7] (#28)Add a api frame (incomplete file) --- miniprogram/api/Schedule.ts | 75 +++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 miniprogram/api/Schedule.ts diff --git a/miniprogram/api/Schedule.ts b/miniprogram/api/Schedule.ts new file mode 100644 index 0000000..29d10b4 --- /dev/null +++ b/miniprogram/api/Schedule.ts @@ -0,0 +1,75 @@ +import { API, HTTPMethod, IParamSetting, GeneralCallbackResult} from "../core/Api"; + +interface IScheduleInput { + + /** + * session + */ + cookie: string; + + /** + * 学期 + */ + semester: string; +} + +interface IScheduleOutput { + +} + +interface IScheduleEvent { + /** + * session 过期 + */ + expire: GeneralCallbackResult; + + /** + * 登录失败 + */ + unauthorized: GeneralCallbackResult; + + /** + * 未知的问题 + */ + error: GeneralCallbackResult; + + /** + * 数据损坏或丢失 + */ + badData: GeneralCallbackResult; +} + + +/** + * Schedule API + * 需要session与semester + * 此 API 用来向教务处发起获取课程表的请求 + * 请求成功后将获得教务处返回的课程表JSON文件 + */ +class Schedlue extends API { + + public override baseUrl: string = "jwc.2333.pub/course_timetable"; + + public override url = "?semester=" + IScheduleInput.semester; + + public override method: HTTPMethod = HTTPMethod.GET; + + public override params: IParamSetting = { + + cookie: { + mapKey: "cookie", + isHeader: true + }, + + semester: { + mapKey: "semester", + } + }; + + public constructor() { + super(); + this.initDebugLabel("Schedule"); + + this.addFailedCallBack(); + } +} \ No newline at end of file From 443f82ea75e8d3b3e29d59b357ae612bd8027733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=89=E5=AD=90?= Date: Thu, 20 Jan 2022 20:30:36 +0800 Subject: [PATCH 3/7] (#28)Add a api frame (incomplete file) --- miniprogram/api/Schedule.ts | 4 +- miniprogram/pages/Account/Account.js | 66 ++++++++++++++++++++ miniprogram/pages/Information/Information.js | 66 ++++++++++++++++++++ miniprogram/pages/Timetable/TestCore.ts | 12 ++-- miniprogram/pages/Timetable/Timetable.js | 66 ++++++++++++++++++++ project.config.json | 13 ++-- 6 files changed, 210 insertions(+), 17 deletions(-) create mode 100644 miniprogram/pages/Account/Account.js create mode 100644 miniprogram/pages/Information/Information.js create mode 100644 miniprogram/pages/Timetable/Timetable.js diff --git a/miniprogram/api/Schedule.ts b/miniprogram/api/Schedule.ts index 29d10b4..6c56199 100644 --- a/miniprogram/api/Schedule.ts +++ b/miniprogram/api/Schedule.ts @@ -48,9 +48,9 @@ interface IScheduleEvent { */ class Schedlue extends API { - public override baseUrl: string = "jwc.2333.pub/course_timetable"; + public override baseUrl: string = "jwc.2333.pub"; - public override url = "?semester=" + IScheduleInput.semester; + public override url = "/course_timetable"; public override method: HTTPMethod = HTTPMethod.GET; diff --git a/miniprogram/pages/Account/Account.js b/miniprogram/pages/Account/Account.js new file mode 100644 index 0000000..68dbb96 --- /dev/null +++ b/miniprogram/pages/Account/Account.js @@ -0,0 +1,66 @@ +// pages/Account/Account.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/Information/Information.js b/miniprogram/pages/Information/Information.js new file mode 100644 index 0000000..1e62a27 --- /dev/null +++ b/miniprogram/pages/Information/Information.js @@ -0,0 +1,66 @@ +// pages/Information/Information.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/Timetable/TestCore.ts b/miniprogram/pages/Timetable/TestCore.ts index b5ae9d5..22044f0 100644 --- a/miniprogram/pages/Timetable/TestCore.ts +++ b/miniprogram/pages/Timetable/TestCore.ts @@ -28,12 +28,12 @@ implements Partial { s.set("be", 12); }, 1000) - // new Login().param({studentId: "1806240113", password: ""}) - // .request().wait({ - // ok: (w) => {console.log("ok", w)}, - // no: (w) => {console.log("no", w)}, - // done: (w) => {console.log("done", w)} - // }); + new Login().param({studentId: "2017060129", password: "hch2000210%"}) + .request().wait({ + ok: (w) => {console.log("ok", w)}, + no: (w) => {console.log("no", w)}, + done: (w) => {console.log("done", w)} + }); } } diff --git a/miniprogram/pages/Timetable/Timetable.js b/miniprogram/pages/Timetable/Timetable.js new file mode 100644 index 0000000..dd50a45 --- /dev/null +++ b/miniprogram/pages/Timetable/Timetable.js @@ -0,0 +1,66 @@ +// pages/Timetable/Timetable.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/project.config.json b/project.config.json index ec8c334..896e718 100644 --- a/project.config.json +++ b/project.config.json @@ -25,7 +25,6 @@ "checkSiteMap": true, "uploadWithSourceMap": true, "compileHotReLoad": false, - "lazyloadPlaceholderEnable": false, "useMultiFrameRuntime": true, "useApiHook": true, "useApiHostProcess": true, @@ -35,18 +34,14 @@ "outputPath": "" }, "enableEngineNative": false, + "bundle": false, "useIsolateContext": false, + "useCompilerModule": true, + "userConfirmedUseCompilerModuleSwitch": false, "userConfirmedBundleSwitch": false, "packNpmManually": false, "packNpmRelationList": [], - "minifyWXSS": true, - "disableUseStrict": false, - "minifyWXML": true, - "showES6CompileOption": false, - "useCompilerPlugins": [ - "typescript", - "sass" - ] + "minifyWXSS": true }, "simulatorType": "wechat", "simulatorPluginLibVersion": {}, From d9825d6d68680d842a3bd898bd94f8a2c3a998aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=89=E5=AD=90?= Date: Thu, 20 Jan 2022 20:38:57 +0800 Subject: [PATCH 4/7] (#28)Add a api frame (incomplete file) --- miniprogram/pages/Account/Account.js | 66 -------------------- miniprogram/pages/Information/Information.js | 66 -------------------- miniprogram/pages/Timetable/Timetable.js | 66 -------------------- project.config.json | 13 ++-- 4 files changed, 9 insertions(+), 202 deletions(-) delete mode 100644 miniprogram/pages/Account/Account.js delete mode 100644 miniprogram/pages/Information/Information.js delete mode 100644 miniprogram/pages/Timetable/Timetable.js diff --git a/miniprogram/pages/Account/Account.js b/miniprogram/pages/Account/Account.js deleted file mode 100644 index 68dbb96..0000000 --- a/miniprogram/pages/Account/Account.js +++ /dev/null @@ -1,66 +0,0 @@ -// pages/Account/Account.js -Page({ - - /** - * 页面的初始数据 - */ - data: { - - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { - - } -}) \ No newline at end of file diff --git a/miniprogram/pages/Information/Information.js b/miniprogram/pages/Information/Information.js deleted file mode 100644 index 1e62a27..0000000 --- a/miniprogram/pages/Information/Information.js +++ /dev/null @@ -1,66 +0,0 @@ -// pages/Information/Information.js -Page({ - - /** - * 页面的初始数据 - */ - data: { - - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { - - } -}) \ No newline at end of file diff --git a/miniprogram/pages/Timetable/Timetable.js b/miniprogram/pages/Timetable/Timetable.js deleted file mode 100644 index dd50a45..0000000 --- a/miniprogram/pages/Timetable/Timetable.js +++ /dev/null @@ -1,66 +0,0 @@ -// pages/Timetable/Timetable.js -Page({ - - /** - * 页面的初始数据 - */ - data: { - - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { - - } -}) \ No newline at end of file diff --git a/project.config.json b/project.config.json index 896e718..ec8c334 100644 --- a/project.config.json +++ b/project.config.json @@ -25,6 +25,7 @@ "checkSiteMap": true, "uploadWithSourceMap": true, "compileHotReLoad": false, + "lazyloadPlaceholderEnable": false, "useMultiFrameRuntime": true, "useApiHook": true, "useApiHostProcess": true, @@ -34,14 +35,18 @@ "outputPath": "" }, "enableEngineNative": false, - "bundle": false, "useIsolateContext": false, - "useCompilerModule": true, - "userConfirmedUseCompilerModuleSwitch": false, "userConfirmedBundleSwitch": false, "packNpmManually": false, "packNpmRelationList": [], - "minifyWXSS": true + "minifyWXSS": true, + "disableUseStrict": false, + "minifyWXML": true, + "showES6CompileOption": false, + "useCompilerPlugins": [ + "typescript", + "sass" + ] }, "simulatorType": "wechat", "simulatorPluginLibVersion": {}, From a8e16f5972a2d8f3ef54144cda3faa6425098a9a Mon Sep 17 00:00:00 2001 From: mrkbear Date: Thu, 20 Jan 2022 20:57:41 +0800 Subject: [PATCH 5/7] (#28) Add output data mod --- miniprogram/api/Schedule.ts | 47 ++++++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/miniprogram/api/Schedule.ts b/miniprogram/api/Schedule.ts index 6c56199..4ba75ce 100644 --- a/miniprogram/api/Schedule.ts +++ b/miniprogram/api/Schedule.ts @@ -13,30 +13,62 @@ interface IScheduleInput { semester: string; } +interface IClassData { + + /** + * 课程名字 + */ + name: string; + + /** + * 上课地点 + */ + room?: string; + + /** + * 课程老师 + */ + teacher?: string; + + /** + * 周数 + */ + week: string; +} + interface IScheduleOutput { -} + /** + * 课程列表 + */ + classList: IClassData[]; + + /** + * 稀疏矩阵编号 + */ + index: number; +}[]; interface IScheduleEvent { /** * session 过期 */ - expire: GeneralCallbackResult; + expire: GeneralCallbackResult; /** * 登录失败 */ - unauthorized: GeneralCallbackResult; + unauthorized: GeneralCallbackResult; /** * 未知的问题 */ - error: GeneralCallbackResult; + error: GeneralCallbackResult; /** * 数据损坏或丢失 */ - badData: GeneralCallbackResult; + badData: GeneralCallbackResult; } @@ -72,4 +104,7 @@ class Schedlue extends API { this.addFailedCallBack(); } -} \ No newline at end of file +} + +export { Schedlue }; +export default Schedlue; \ No newline at end of file From 4da257c2e2f674a112f6ee13373c07b22309c3c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=89=E5=AD=90?= Date: Thu, 20 Jan 2022 22:19:10 +0800 Subject: [PATCH 6/7] (#28)Add Schedule API --- miniprogram/api/Schedule.ts | 58 +++++++++++++------------ miniprogram/pages/Timetable/TestCore.ts | 15 ++++--- 2 files changed, 39 insertions(+), 34 deletions(-) diff --git a/miniprogram/api/Schedule.ts b/miniprogram/api/Schedule.ts index 4ba75ce..042a9bf 100644 --- a/miniprogram/api/Schedule.ts +++ b/miniprogram/api/Schedule.ts @@ -1,4 +1,5 @@ -import { API, HTTPMethod, IParamSetting, GeneralCallbackResult} from "../core/Api"; +import { HTTPMethod, IParamSetting } from "../core/Api"; +import { EduBase } from "./EduBase"; interface IScheduleInput { @@ -36,7 +37,7 @@ interface IClassData { week: string; } -interface IScheduleOutput { +type IScheduleOutput = { /** * 课程列表 @@ -49,38 +50,15 @@ interface IScheduleOutput { index: number; }[]; -interface IScheduleEvent { - /** - * session 过期 - */ - expire: GeneralCallbackResult; - - /** - * 登录失败 - */ - unauthorized: GeneralCallbackResult; - - /** - * 未知的问题 - */ - error: GeneralCallbackResult; - - /** - * 数据损坏或丢失 - */ - badData: GeneralCallbackResult; -} - - /** * Schedule API * 需要session与semester * 此 API 用来向教务处发起获取课程表的请求 * 请求成功后将获得教务处返回的课程表JSON文件 */ -class Schedlue extends API { +class Schedlue extends EduBase { - public override baseUrl: string = "jwc.2333.pub"; + public override baseUrl: string = "https://jwc.2333.pub"; public override url = "/course_timetable"; @@ -102,7 +80,31 @@ class Schedlue extends API { super(); this.initDebugLabel("Schedule"); - this.addFailedCallBack(); + this.useEduCallback((data) => { + const res: IScheduleOutput = []; + + for( let i = 0; i < data.length; i++ ) { + const classList: IClassData[] = []; + const CTTDetails = data[i].CTTDetails ?? []; + + for( let j = 0; j < CTTDetails.length; j++ ) { + + classList.push({ + name: CTTDetails[j].Name, + room: CTTDetails[j].Room, + teacher: CTTDetails[j].Teacher, + week: CTTDetails[j].Week, + }) + } + + res.push({ + classList, + index: data[i].Id + }) + } + return res; + + }); } } diff --git a/miniprogram/pages/Timetable/TestCore.ts b/miniprogram/pages/Timetable/TestCore.ts index 22044f0..b2a4e38 100644 --- a/miniprogram/pages/Timetable/TestCore.ts +++ b/miniprogram/pages/Timetable/TestCore.ts @@ -1,5 +1,6 @@ import { Modular, Manager, ILifetime } from "../../core/Module"; import { Login } from "../../api/Login"; +import { Schedlue } from "../../api/Schedule" import { Storage } from "../../core/Storage"; /** @@ -28,12 +29,14 @@ implements Partial { s.set("be", 12); }, 1000) - new Login().param({studentId: "2017060129", password: "hch2000210%"}) - .request().wait({ - ok: (w) => {console.log("ok", w)}, - no: (w) => {console.log("no", w)}, - done: (w) => {console.log("done", w)} - }); + // new Login().param({studentId: "2017060129", password: ""}) + // .request().wait({ + // ok: (w) => {console.log("ok", w)}, + // no: (w) => {console.log("no", w)}, + // done: (w) => {console.log("done", w)} + // }); + // new Schedlue().param({cookie:"C729D1AB1B17077485ACCD9279135C22",semester:"2020-2021-2"}) + // .request() } } From 529011b0dda2a219f34b6f3c508f7beb979ac550 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=89=E5=AD=90?= Date: Thu, 20 Jan 2022 23:47:02 +0800 Subject: [PATCH 7/7] (#28)Add Schedule API --- miniprogram/api/Schedule.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/miniprogram/api/Schedule.ts b/miniprogram/api/Schedule.ts index 042a9bf..5926916 100644 --- a/miniprogram/api/Schedule.ts +++ b/miniprogram/api/Schedule.ts @@ -57,8 +57,6 @@ type IScheduleOutput = { * 请求成功后将获得教务处返回的课程表JSON文件 */ class Schedlue extends EduBase { - - public override baseUrl: string = "https://jwc.2333.pub"; public override url = "/course_timetable";