diff --git a/qianduan/.cloudbase/container/debug.json b/qianduan/.cloudbase/container/debug.json
new file mode 100644
index 0000000..0d44458
--- /dev/null
+++ b/qianduan/.cloudbase/container/debug.json
@@ -0,0 +1 @@
+{"containers":[],"config":{}}
\ No newline at end of file
diff --git a/qianduan/.eslintrc.js b/qianduan/.eslintrc.js
new file mode 100644
index 0000000..115cc02
--- /dev/null
+++ b/qianduan/.eslintrc.js
@@ -0,0 +1,31 @@
+/*
+ * Eslint config file
+ * Documentation: https://eslint.org/docs/user-guide/configuring/
+ * Install the Eslint extension before using this feature.
+ */
+module.exports = {
+ env: {
+ es6: true,
+ browser: true,
+ node: true,
+ },
+ ecmaFeatures: {
+ modules: true,
+ },
+ parserOptions: {
+ ecmaVersion: 2018,
+ sourceType: 'module',
+ },
+ globals: {
+ wx: true,
+ App: true,
+ Page: true,
+ getCurrentPages: true,
+ getApp: true,
+ Component: true,
+ requirePlugin: true,
+ requireMiniProgram: true,
+ },
+ // extends: 'eslint:recommended',
+ rules: {},
+}
diff --git a/qianduan/app.js b/qianduan/app.js
new file mode 100644
index 0000000..1ed57c4
--- /dev/null
+++ b/qianduan/app.js
@@ -0,0 +1,19 @@
+// app.js
+App({
+ onLaunch() {
+ // 展示本地存储能力
+ const logs = wx.getStorageSync('logs') || []
+ logs.unshift(Date.now())
+ wx.setStorageSync('logs', logs)
+
+ // 登录
+ wx.login({
+ success: res => {
+ // 发送 res.code 到后台换取 openId, sessionKey, unionId
+ }
+ })
+ },
+ globalData: {
+ userInfo: null
+ }
+})
diff --git a/qianduan/app.json b/qianduan/app.json
new file mode 100644
index 0000000..12e025a
--- /dev/null
+++ b/qianduan/app.json
@@ -0,0 +1,28 @@
+{
+ "pages": [
+ "pages/index/index",
+ "pages/student/rules/rule2/rule2",
+ "pages/student/rules/rule1/rule1",
+ "pages/student/diandang/dd-yes/dd-yes",
+ "pages/student/diandang/dd-not/dd-not",
+ "pages/student/rank/rank",
+ "pages/student/dm/dm",
+ "pages/student/student",
+ "pages/teacher/Mode-arrive/Mode-arrive",
+ "pages/teacher/mode2/mode2",
+ "pages/teacher/Mode-quiz/Mode-quiz",
+ "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "pages/teacher/Trank/rank-Mode2/rank-Mode2",
+ "pages/teacher/Mode-quiz_2/Mode-quiz_2",
+ "pages/teacher/teacher"
+ ],
+ "window": {
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "Weixin",
+ "navigationBarBackgroundColor": "#ffffff"
+ },
+ "style": "v2",
+ "componentFramework": "glass-easel",
+ "sitemapLocation": "sitemap.json",
+ "lazyCodeLoading": "requiredComponents"
+}
\ No newline at end of file
diff --git a/qianduan/app.wxss b/qianduan/app.wxss
new file mode 100644
index 0000000..06c6fc9
--- /dev/null
+++ b/qianduan/app.wxss
@@ -0,0 +1,10 @@
+/**app.wxss**/
+.container {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
+ padding: 200rpx 0;
+ box-sizing: border-box;
+}
diff --git a/qianduan/guize.png b/qianduan/guize.png
new file mode 100644
index 0000000..3c4e509
Binary files /dev/null and b/qianduan/guize.png differ
diff --git a/qianduan/image/1.png b/qianduan/image/1.png
new file mode 100644
index 0000000..1752d54
Binary files /dev/null and b/qianduan/image/1.png differ
diff --git a/qianduan/image/2.png b/qianduan/image/2.png
new file mode 100644
index 0000000..b67266c
Binary files /dev/null and b/qianduan/image/2.png differ
diff --git a/qianduan/image/3.png b/qianduan/image/3.png
new file mode 100644
index 0000000..80e9394
Binary files /dev/null and b/qianduan/image/3.png differ
diff --git a/qianduan/image/4.png b/qianduan/image/4.png
new file mode 100644
index 0000000..3cec5a3
Binary files /dev/null and b/qianduan/image/4.png differ
diff --git a/qianduan/image/5.png b/qianduan/image/5.png
new file mode 100644
index 0000000..cd6880c
Binary files /dev/null and b/qianduan/image/5.png differ
diff --git a/qianduan/image/6.png b/qianduan/image/6.png
new file mode 100644
index 0000000..bdd8249
Binary files /dev/null and b/qianduan/image/6.png differ
diff --git a/qianduan/image/LV1.png b/qianduan/image/LV1.png
new file mode 100644
index 0000000..27530f2
Binary files /dev/null and b/qianduan/image/LV1.png differ
diff --git a/qianduan/image/Mode1.png b/qianduan/image/Mode1.png
new file mode 100644
index 0000000..8452dd1
Binary files /dev/null and b/qianduan/image/Mode1.png differ
diff --git a/qianduan/image/Mode2.png b/qianduan/image/Mode2.png
new file mode 100644
index 0000000..adde450
Binary files /dev/null and b/qianduan/image/Mode2.png differ
diff --git a/qianduan/image/T.png b/qianduan/image/T.png
new file mode 100644
index 0000000..0550a00
Binary files /dev/null and b/qianduan/image/T.png differ
diff --git a/qianduan/image/Trank.png b/qianduan/image/Trank.png
new file mode 100644
index 0000000..9a4dd2a
Binary files /dev/null and b/qianduan/image/Trank.png differ
diff --git a/qianduan/image/Trank1.png b/qianduan/image/Trank1.png
new file mode 100644
index 0000000..f4dcbd6
Binary files /dev/null and b/qianduan/image/Trank1.png differ
diff --git a/qianduan/image/back.png b/qianduan/image/back.png
new file mode 100644
index 0000000..0801aef
Binary files /dev/null and b/qianduan/image/back.png differ
diff --git a/qianduan/image/ball.png b/qianduan/image/ball.png
new file mode 100644
index 0000000..9db878a
Binary files /dev/null and b/qianduan/image/ball.png differ
diff --git a/qianduan/image/card.png b/qianduan/image/card.png
new file mode 100644
index 0000000..b9639a2
Binary files /dev/null and b/qianduan/image/card.png differ
diff --git a/qianduan/image/dd.png b/qianduan/image/dd.png
new file mode 100644
index 0000000..eb3e58f
Binary files /dev/null and b/qianduan/image/dd.png differ
diff --git a/qianduan/image/dd背景.jpg b/qianduan/image/dd背景.jpg
new file mode 100644
index 0000000..8c3d2eb
Binary files /dev/null and b/qianduan/image/dd背景.jpg differ
diff --git a/qianduan/image/fanhui.png b/qianduan/image/fanhui.png
new file mode 100644
index 0000000..0323249
Binary files /dev/null and b/qianduan/image/fanhui.png differ
diff --git a/qianduan/image/fanhui2.png b/qianduan/image/fanhui2.png
new file mode 100644
index 0000000..9c6f49c
Binary files /dev/null and b/qianduan/image/fanhui2.png differ
diff --git a/qianduan/image/green.png b/qianduan/image/green.png
new file mode 100644
index 0000000..7fd9e85
Binary files /dev/null and b/qianduan/image/green.png differ
diff --git a/qianduan/image/green1.png b/qianduan/image/green1.png
new file mode 100644
index 0000000..8f3afa7
Binary files /dev/null and b/qianduan/image/green1.png differ
diff --git a/qianduan/image/green2.png b/qianduan/image/green2.png
new file mode 100644
index 0000000..61ce663
Binary files /dev/null and b/qianduan/image/green2.png differ
diff --git a/qianduan/image/guize.png b/qianduan/image/guize.png
new file mode 100644
index 0000000..3c4e509
Binary files /dev/null and b/qianduan/image/guize.png differ
diff --git a/qianduan/image/home.png b/qianduan/image/home.png
new file mode 100644
index 0000000..5150860
Binary files /dev/null and b/qianduan/image/home.png differ
diff --git a/qianduan/image/hotboss.png b/qianduan/image/hotboss.png
new file mode 100644
index 0000000..50f9005
Binary files /dev/null and b/qianduan/image/hotboss.png differ
diff --git a/qianduan/image/hu.png b/qianduan/image/hu.png
new file mode 100644
index 0000000..10d5223
Binary files /dev/null and b/qianduan/image/hu.png differ
diff --git a/qianduan/image/index背景.png b/qianduan/image/index背景.png
new file mode 100644
index 0000000..a9003c8
Binary files /dev/null and b/qianduan/image/index背景.png differ
diff --git a/qianduan/image/lanren.png b/qianduan/image/lanren.png
new file mode 100644
index 0000000..e5e88fd
Binary files /dev/null and b/qianduan/image/lanren.png differ
diff --git a/qianduan/image/music.png b/qianduan/image/music.png
new file mode 100644
index 0000000..2a7787b
Binary files /dev/null and b/qianduan/image/music.png differ
diff --git a/qianduan/image/nobody.png b/qianduan/image/nobody.png
new file mode 100644
index 0000000..d21d408
Binary files /dev/null and b/qianduan/image/nobody.png differ
diff --git a/qianduan/image/p1.png b/qianduan/image/p1.png
new file mode 100644
index 0000000..6392deb
Binary files /dev/null and b/qianduan/image/p1.png differ
diff --git a/qianduan/image/p2.png b/qianduan/image/p2.png
new file mode 100644
index 0000000..2cb00ef
Binary files /dev/null and b/qianduan/image/p2.png differ
diff --git a/qianduan/image/rank.png b/qianduan/image/rank.png
new file mode 100644
index 0000000..2b56496
Binary files /dev/null and b/qianduan/image/rank.png differ
diff --git a/qianduan/image/rank1.png b/qianduan/image/rank1.png
new file mode 100644
index 0000000..e5c2127
Binary files /dev/null and b/qianduan/image/rank1.png differ
diff --git a/qianduan/image/rank背景.png b/qianduan/image/rank背景.png
new file mode 100644
index 0000000..419e21d
Binary files /dev/null and b/qianduan/image/rank背景.png differ
diff --git a/qianduan/image/rule1背景.jpg b/qianduan/image/rule1背景.jpg
new file mode 100644
index 0000000..6b17b1a
Binary files /dev/null and b/qianduan/image/rule1背景.jpg differ
diff --git a/qianduan/image/smileboss.png b/qianduan/image/smileboss.png
new file mode 100644
index 0000000..3fc4794
Binary files /dev/null and b/qianduan/image/smileboss.png differ
diff --git a/qianduan/image/student背景.png b/qianduan/image/student背景.png
new file mode 100644
index 0000000..1b2ad07
Binary files /dev/null and b/qianduan/image/student背景.png differ
diff --git a/qianduan/image/teacher.png b/qianduan/image/teacher.png
new file mode 100644
index 0000000..f110936
Binary files /dev/null and b/qianduan/image/teacher.png differ
diff --git a/qianduan/image/vs.png b/qianduan/image/vs.png
new file mode 100644
index 0000000..265a839
Binary files /dev/null and b/qianduan/image/vs.png differ
diff --git a/qianduan/image/yezi.png b/qianduan/image/yezi.png
new file mode 100644
index 0000000..fb7e0a5
Binary files /dev/null and b/qianduan/image/yezi.png differ
diff --git a/qianduan/image/yu.png b/qianduan/image/yu.png
new file mode 100644
index 0000000..f08a51c
Binary files /dev/null and b/qianduan/image/yu.png differ
diff --git a/qianduan/image/yu2.png b/qianduan/image/yu2.png
new file mode 100644
index 0000000..0e690f5
Binary files /dev/null and b/qianduan/image/yu2.png differ
diff --git a/qianduan/image/zi.png b/qianduan/image/zi.png
new file mode 100644
index 0000000..70fdecd
Binary files /dev/null and b/qianduan/image/zi.png differ
diff --git a/qianduan/image/云对话框.png b/qianduan/image/云对话框.png
new file mode 100644
index 0000000..92da411
Binary files /dev/null and b/qianduan/image/云对话框.png differ
diff --git a/qianduan/image/学生背景.png b/qianduan/image/学生背景.png
new file mode 100644
index 0000000..7a04193
Binary files /dev/null and b/qianduan/image/学生背景.png differ
diff --git a/qianduan/image/排行.png b/qianduan/image/排行.png
new file mode 100644
index 0000000..f105821
Binary files /dev/null and b/qianduan/image/排行.png differ
diff --git a/qianduan/image/游戏规则.png b/qianduan/image/游戏规则.png
new file mode 100644
index 0000000..b564add
Binary files /dev/null and b/qianduan/image/游戏规则.png differ
diff --git a/qianduan/minitest/minitest-1.json b/qianduan/minitest/minitest-1.json
new file mode 100644
index 0000000..1a10b67
--- /dev/null
+++ b/qianduan/minitest/minitest-1.json
@@ -0,0 +1,8514 @@
+{
+ "meta": {
+ "caseId": "85b100f1-fc91-4825-af29-698a75e0bc35",
+ "caseName": "minitest-1",
+ "remarks": "",
+ "version": "0.0.1",
+ "startTime": 1728302131182,
+ "endTime": 1728302363373,
+ "appid": "wx0e62d159b9194ece",
+ "casePath": "",
+ "caseType": "normal",
+ "commonParams": [
+ {
+ "key": "1728302363398",
+ "name": "",
+ "value": ""
+ }
+ ]
+ },
+ "env": {
+ "wxapplibVersion": "3.6.0",
+ "devtoolsVersion": "1.06.2407120",
+ "openid": "o6zAJs4MGYG_3fGMCEX0XxFq9jlg",
+ "entry": {
+ "path": "pages/index/index",
+ "query": "",
+ "scene": 1001
+ },
+ "mock": [
+ "all"
+ ],
+ "maxWaitFor": 10000,
+ "ignoreSelectors": [],
+ "mockAPIs": [],
+ "cleanCache": [
+ "none"
+ ],
+ "groupTouch": false,
+ "replaySetting": {
+ "screenshot": "none"
+ },
+ "simulatorType": "wechat",
+ "device": "iPhone X",
+ "recordAPIs": [
+ "getStorageSync",
+ "setStorageSync",
+ "chooseMessageFile",
+ "uploadFile",
+ "request",
+ "chooseImage"
+ ]
+ },
+ "commands": [
+ {
+ "layer": "tool",
+ "commandType": "operate",
+ "command": "startRecord",
+ "waitfor": 0,
+ "timeStamp": 1728302131182,
+ "desc": ""
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "99ed1f79-54f5-4b03-a816-e8cfc0b88981",
+ "ruleName": "getStorageSync",
+ "apiName": "getStorageSync",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "[1728302090041,1728301958673,1728301810418,1728301745981,1728300313627,1728299767469,1728204565780,1728203651181,1728203557781,1728203436092,1728203300986,1728203252332,1728203128401,1728202925719,1728202556111,1728202530067]"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ "logs"
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "9e169cac-8705-4011-a15b-88166a0cf4a3",
+ "ruleName": "setStorageSync",
+ "apiName": "setStorageSync",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {},
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ "logs",
+ [
+ 1728302134352,
+ 1728302090041,
+ 1728301958673,
+ 1728301810418,
+ 1728301745981,
+ 1728300313627,
+ 1728299767469,
+ 1728204565780,
+ 1728203651181,
+ 1728203557781,
+ 1728203436092,
+ 1728203300986,
+ 1728203252332,
+ 1728203128401,
+ 1728202925719,
+ 1728202556111,
+ 1728202530067
+ ]
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "text.text2",
+ "value": null,
+ "childName": "main",
+ "path": "pages/index/index",
+ "text": "我是老师",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 183,
+ "clientY": 557.5499877929688,
+ "force": 1,
+ "pageX": 183,
+ "pageY": 557.5499877929688,
+ "screenX": 339.20001220703125,
+ "screenY": 621.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 183,
+ "clientY": 557.5499877929688,
+ "force": 1,
+ "pageX": 183,
+ "pageY": 557.5499877929688,
+ "screenX": 339.20001220703125,
+ "screenY": 621.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.text2",
+ ".text2",
+ "/text[2]"
+ ],
+ "timeStamp": 8806,
+ "waitfor": 8806,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "text.text2",
+ "value": null,
+ "childName": "main",
+ "path": "pages/index/index",
+ "text": "我是老师",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 183,
+ "clientY": 557.5499877929688,
+ "pageX": 183,
+ "pageY": 557.5499877929688,
+ "screenX": 339.20001220703125,
+ "screenY": 621.6000366210938
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "text.text2",
+ ".text2",
+ "/text[2]"
+ ],
+ "timeStamp": 8899,
+ "waitfor": 93,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "text.text2",
+ "value": null,
+ "childName": "main",
+ "path": "pages/index/index",
+ "text": "我是老师",
+ "eventData": {
+ "detail": {
+ "x": 183,
+ "y": 557.5499877929688
+ },
+ "changedTouches": [
+ {
+ "clientX": 183,
+ "clientY": 557.5499877929688,
+ "force": 1,
+ "pageX": 183,
+ "pageY": 557.5499877929688,
+ "screenX": 339.20001220703125,
+ "screenY": 621.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 183,
+ "clientY": 557.5499877929688,
+ "force": 1,
+ "pageX": 183,
+ "pageY": 557.5499877929688,
+ "screenX": 339.20001220703125,
+ "screenY": 621.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.text2",
+ ".text2",
+ "/text[2]"
+ ],
+ "timeStamp": 8900,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "text.md",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": "导入学生名单",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 189.40000915527344,
+ "clientY": 133.5500030517578,
+ "force": 1,
+ "pageX": 189.40000915527344,
+ "pageY": 133.5500030517578,
+ "screenX": 345.6000061035156,
+ "screenY": 197.60000610351562
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 189.40000915527344,
+ "clientY": 133.5500030517578,
+ "force": 1,
+ "pageX": 189.40000915527344,
+ "pageY": 133.5500030517578,
+ "screenX": 345.6000061035156,
+ "screenY": 197.60000610351562
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.md",
+ ".md",
+ "/view[4]/text"
+ ],
+ "timeStamp": 12615,
+ "waitfor": 3715,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "text.md",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": "导入学生名单",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 189.40000915527344,
+ "clientY": 133.5500030517578,
+ "pageX": 189.40000915527344,
+ "pageY": 133.5500030517578,
+ "screenX": 345.6000061035156,
+ "screenY": 197.60000610351562
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "text.md",
+ ".md",
+ "/view[4]/text"
+ ],
+ "timeStamp": 12676,
+ "waitfor": 61,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "text.md",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": "导入学生名单",
+ "eventData": {
+ "detail": {
+ "x": 189.40000915527344,
+ "y": 133.5500030517578
+ },
+ "changedTouches": [
+ {
+ "clientX": 189.40000915527344,
+ "clientY": 133.5500030517578,
+ "force": 1,
+ "pageX": 189.40000915527344,
+ "pageY": 133.5500030517578,
+ "screenX": 345.6000061035156,
+ "screenY": 197.60000610351562
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 189.40000915527344,
+ "clientY": 133.5500030517578,
+ "force": 1,
+ "pageX": 189.40000915527344,
+ "pageY": 133.5500030517578,
+ "screenX": 345.6000061035156,
+ "screenY": 197.60000610351562
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.md",
+ ".md",
+ "/view[4]/text"
+ ],
+ "timeStamp": 12677,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "6dba5895-9cea-470c-aeff-da2fa3d4e786",
+ "ruleName": "chooseMessageFile",
+ "apiName": "chooseMessageFile",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"errMsg\":\"chooseMessageFile:ok\",\"tempFiles\":[{\"name\":\"软件工程学生名单.xlsx\",\"size\":9551,\"time\":1727872769,\"path\":\"http://tmp/B3v2pAJwQpKw8e13e46edcca8259284fda49551e10b2.xlsx\",\"type\":\"file\"}]}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "count": 1,
+ "type": "file",
+ "extension": [
+ "xls",
+ "xlsx"
+ ]
+ }
+ ],
+ "mediaFiles": {
+ "http://tmp/B3v2pAJwQpKw8e13e46edcca8259284fda49551e10b2.xlsx": "B3v2pAJwQpKw8e13e46edcca8259284fda49551e10b2.xlsx"
+ }
+ },
+ "desc": ""
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "886a4a05-062f-4138-a1f8-782817cd9454",
+ "ruleName": "uploadFile",
+ "apiName": "uploadFile",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"statusCode\":200,\"data\":\"{\\\"message\\\":\\\"导入成功!\\\"}\",\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"POST, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"29\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"cookies\":[],\"errMsg\":\"uploadFile:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://127.0.0.1:8000/api/upload-students/",
+ "filePath": "http://tmp/B3v2pAJwQpKw8e13e46edcca8259284fda49551e10b2.xlsx",
+ "name": "file"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 173.40000915527344,
+ "clientY": 313.5500183105469,
+ "force": 1,
+ "pageX": 173.40000915527344,
+ "pageY": 313.5500183105469,
+ "screenX": 329.6000061035156,
+ "screenY": 377.6000061035156
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 173.40000915527344,
+ "clientY": 313.5500183105469,
+ "force": 1,
+ "pageX": 173.40000915527344,
+ "pageY": 313.5500183105469,
+ "screenX": 329.6000061035156,
+ "screenY": 377.6000061035156
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 19997,
+ "waitfor": 7320,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 173.40000915527344,
+ "clientY": 313.5500183105469,
+ "pageX": 173.40000915527344,
+ "pageY": 313.5500183105469,
+ "screenX": 329.6000061035156,
+ "screenY": 377.6000061035156
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 20114,
+ "waitfor": 117,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {
+ "x": 173.40000915527344,
+ "y": 313.5500183105469
+ },
+ "changedTouches": [
+ {
+ "clientX": 173.40000915527344,
+ "clientY": 313.5500183105469,
+ "force": 1,
+ "pageX": 173.40000915527344,
+ "pageY": 313.5500183105469,
+ "screenX": 329.6000061035156,
+ "screenY": 377.6000061035156
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 173.40000915527344,
+ "clientY": 313.5500183105469,
+ "force": 1,
+ "pageX": 173.40000915527344,
+ "pageY": 313.5500183105469,
+ "screenX": 329.6000061035156,
+ "screenY": 377.6000061035156
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 20114,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchstart",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 陈雨涵\n学号: 102201716\n取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 403.1499938964844,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 403.1499938964844,
+ "screenX": 421.6000061035156,
+ "screenY": 467.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 403.1499938964844,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 403.1499938964844,
+ "screenX": 421.6000061035156,
+ "screenY": 467.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 21075,
+ "waitfor": 961,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchend",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 陈雨涵\n学号: 102201716\n取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 403.1499938964844,
+ "pageX": 265.3999938964844,
+ "pageY": 403.1499938964844,
+ "screenX": 421.6000061035156,
+ "screenY": 467.20001220703125
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 21160,
+ "waitfor": 85,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "confirm",
+ "target": "/view[3]/modal",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 陈雨涵\n学号: 102201716\n取消\n确定",
+ "eventData": {
+ "changedTouches": [],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 21161,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "tap",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 陈雨涵\n学号: 102201716\n取消\n确定",
+ "eventData": {
+ "detail": {
+ "x": 265.3999938964844,
+ "y": 403.1499938964844
+ },
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 403.1499938964844,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 403.1499938964844,
+ "screenX": 421.6000061035156,
+ "screenY": 467.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 403.1499938964844,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 403.1499938964844,
+ "screenX": 421.6000061035156,
+ "screenY": 467.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 21161,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchstart",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "点到模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 578.3500366210938,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 578.3500366210938,
+ "screenX": 421.6000061035156,
+ "screenY": 642.4000244140625
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 578.3500366210938,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 578.3500366210938,
+ "screenX": 421.6000061035156,
+ "screenY": 642.4000244140625
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/button[1]"
+ ],
+ "timeStamp": 21879,
+ "waitfor": 718,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchend",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "点到模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 578.3500366210938,
+ "pageX": 265.3999938964844,
+ "pageY": 578.3500366210938,
+ "screenX": 421.6000061035156,
+ "screenY": 642.4000244140625
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/button[1]"
+ ],
+ "timeStamp": 21989,
+ "waitfor": 110,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "tap",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "点到模式",
+ "eventData": {
+ "detail": {
+ "x": 265.3999938964844,
+ "y": 578.3500366210938
+ },
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 578.3500366210938,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 578.3500366210938,
+ "screenX": 421.6000061035156,
+ "screenY": 642.4000244140625
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 578.3500366210938,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 578.3500366210938,
+ "screenX": 421.6000061035156,
+ "screenY": 642.4000244140625
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/button[1]"
+ ],
+ "timeStamp": 21989,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "99f6bdff-ce68-4aac-8587-de3d96c891c1",
+ "ruleName": "request ",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://127.0.0.1:8000/api/get_student_info/102201716/",
+ "filterId": "ced3fb25-9ade-4a7e-b05c-39e9a05c4df3",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"陈雨涵\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://127.0.0.1:8000/api/get_student_info/102201716/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "view",
+ "command": "touchstart",
+ "target": "/view[3]/label[1]/view",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 96.60000610351562,
+ "clientY": 256.75,
+ "force": 1,
+ "pageX": 96.60000610351562,
+ "pageY": 256.75,
+ "screenX": 252.8000030517578,
+ "screenY": 320.8000183105469
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 96.60000610351562,
+ "clientY": 256.75,
+ "force": 1,
+ "pageX": 96.60000610351562,
+ "pageY": 256.75,
+ "screenX": 252.8000030517578,
+ "screenY": 320.8000183105469
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/label[1]/view"
+ ],
+ "timeStamp": 23632,
+ "waitfor": 1643,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "view",
+ "command": "touchend",
+ "target": "/view[3]/label[1]/view",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 96.60000610351562,
+ "clientY": 256.75,
+ "pageX": 96.60000610351562,
+ "pageY": 256.75,
+ "screenX": 252.8000030517578,
+ "screenY": 320.8000183105469
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/label[1]/view"
+ ],
+ "timeStamp": 23742,
+ "waitfor": 110,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "view",
+ "command": "tap",
+ "target": "/view[3]/label[1]/view",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 96.60000610351562,
+ "y": 256.75
+ },
+ "changedTouches": [
+ {
+ "clientX": 96.60000610351562,
+ "clientY": 256.75,
+ "force": 1,
+ "pageX": 96.60000610351562,
+ "pageY": 256.75,
+ "screenX": 252.8000030517578,
+ "screenY": 320.8000183105469
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 96.60000610351562,
+ "clientY": 256.75,
+ "force": 1,
+ "pageX": 96.60000610351562,
+ "pageY": 256.75,
+ "screenX": 252.8000030517578,
+ "screenY": 320.8000183105469
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/label[1]/view"
+ ],
+ "timeStamp": 23743,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "90f1af6a-07b1-4da8-bf84-320e5e062ff0",
+ "ruleName": "request 1",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://127.0.0.1:8000/api/update_student_score/",
+ "filterId": "f2f029ba-28ae-4f61-8675-e55ab30fa976",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"success\":true},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"POST, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"17\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://127.0.0.1:8000/api/update_student_score/",
+ "method": "POST",
+ "data": {
+ "student_id": "102201716",
+ "score": 1
+ }
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 43,
+ "clientY": 45.55000305175781,
+ "force": 1,
+ "pageX": 43,
+ "pageY": 45.55000305175781,
+ "screenX": 199.1999969482422,
+ "screenY": 286.3999938964844
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 43,
+ "clientY": 45.55000305175781,
+ "force": 1,
+ "pageX": 43,
+ "pageY": 45.55000305175781,
+ "screenX": 199.1999969482422,
+ "screenY": 286.3999938964844
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[2]"
+ ],
+ "timeStamp": 25132,
+ "waitfor": 1389,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 43,
+ "clientY": 45.55000305175781,
+ "pageX": 43,
+ "pageY": 45.55000305175781,
+ "screenX": 199.1999969482422,
+ "screenY": 286.3999938964844
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[2]"
+ ],
+ "timeStamp": 25218,
+ "waitfor": 86,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 43,
+ "y": 45.55000305175781
+ },
+ "changedTouches": [
+ {
+ "clientX": 43,
+ "clientY": 45.55000305175781,
+ "force": 1,
+ "pageX": 43,
+ "pageY": 45.55000305175781,
+ "screenX": 199.1999969482422,
+ "screenY": 286.3999938964844
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 43,
+ "clientY": 45.55000305175781,
+ "force": 1,
+ "pageX": 43,
+ "pageY": 45.55000305175781,
+ "screenX": 199.1999969482422,
+ "screenY": 286.3999938964844
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[2]"
+ ],
+ "timeStamp": 25218,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "",
+ "command": "scroll",
+ "target": "/",
+ "path": "pages/teacher/teacher",
+ "eventData": {
+ "scrollDetail": {
+ "scrollTop": 76,
+ "scrollLeft": 0
+ }
+ },
+ "targetCandidates": [],
+ "timeStamp": 26633,
+ "waitfor": 1415,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 242.35000610351562,
+ "force": 1,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3500061035156,
+ "screenX": 332.8000183105469,
+ "screenY": 383.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 242.35000610351562,
+ "force": 1,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3500061035156,
+ "screenX": 332.8000183105469,
+ "screenY": 383.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 36223,
+ "waitfor": 9590,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 242.35000610351562,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3500061035156,
+ "screenX": 332.8000183105469,
+ "screenY": 383.20001220703125
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 36298,
+ "waitfor": 75,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {
+ "x": 176.59999084472656,
+ "y": 318.3500061035156
+ },
+ "changedTouches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 242.35000610351562,
+ "force": 1,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3500061035156,
+ "screenX": 332.8000183105469,
+ "screenY": 383.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 242.35000610351562,
+ "force": 1,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3500061035156,
+ "screenX": 332.8000183105469,
+ "screenY": 383.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 36299,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchstart",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 王丽华\n学号: 102201702\n取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 266.20001220703125,
+ "clientY": 406.3500671386719,
+ "force": 1,
+ "pageX": 266.20001220703125,
+ "pageY": 482.3500671386719,
+ "screenX": 422.3999938964844,
+ "screenY": 547.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 266.20001220703125,
+ "clientY": 406.3500671386719,
+ "force": 1,
+ "pageX": 266.20001220703125,
+ "pageY": 482.3500671386719,
+ "screenX": 422.3999938964844,
+ "screenY": 547.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 37321,
+ "waitfor": 1022,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchend",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 王丽华\n学号: 102201702\n取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 266.20001220703125,
+ "clientY": 406.3500671386719,
+ "pageX": 266.20001220703125,
+ "pageY": 482.3500671386719,
+ "screenX": 422.3999938964844,
+ "screenY": 547.2000122070312
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 37406,
+ "waitfor": 85,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "confirm",
+ "target": "/view[3]/modal",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 王丽华\n学号: 102201702\n取消\n确定",
+ "eventData": {
+ "changedTouches": [],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 37407,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "tap",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 王丽华\n学号: 102201702\n取消\n确定",
+ "eventData": {
+ "detail": {
+ "x": 266.20001220703125,
+ "y": 482.3500671386719
+ },
+ "changedTouches": [
+ {
+ "clientX": 266.20001220703125,
+ "clientY": 406.3500671386719,
+ "force": 1,
+ "pageX": 266.20001220703125,
+ "pageY": 482.3500671386719,
+ "screenX": 422.3999938964844,
+ "screenY": 547.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 266.20001220703125,
+ "clientY": 406.3500671386719,
+ "force": 1,
+ "pageX": 266.20001220703125,
+ "pageY": 482.3500671386719,
+ "screenX": 422.3999938964844,
+ "screenY": 547.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 37407,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchstart",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "点到模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 267.8000183105469,
+ "clientY": 503.1500244140625,
+ "force": 1,
+ "pageX": 267.8000183105469,
+ "pageY": 579.1500244140625,
+ "screenX": 424,
+ "screenY": 644
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 267.8000183105469,
+ "clientY": 503.1500244140625,
+ "force": 1,
+ "pageX": 267.8000183105469,
+ "pageY": 579.1500244140625,
+ "screenX": 424,
+ "screenY": 644
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/button[1]"
+ ],
+ "timeStamp": 38078,
+ "waitfor": 671,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchend",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "点到模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 267.8000183105469,
+ "clientY": 503.1500244140625,
+ "pageX": 267.8000183105469,
+ "pageY": 579.1500244140625,
+ "screenX": 424,
+ "screenY": 644
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/button[1]"
+ ],
+ "timeStamp": 38157,
+ "waitfor": 79,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "tap",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "点到模式",
+ "eventData": {
+ "detail": {
+ "x": 267.8000183105469,
+ "y": 579.1500244140625
+ },
+ "changedTouches": [
+ {
+ "clientX": 267.8000183105469,
+ "clientY": 503.1500244140625,
+ "force": 1,
+ "pageX": 267.8000183105469,
+ "pageY": 579.1500244140625,
+ "screenX": 424,
+ "screenY": 644
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 267.8000183105469,
+ "clientY": 503.1500244140625,
+ "force": 1,
+ "pageX": 267.8000183105469,
+ "pageY": 579.1500244140625,
+ "screenX": 424,
+ "screenY": 644
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/button[1]"
+ ],
+ "timeStamp": 38157,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "81c16262-f3ed-470c-9c5d-037b08e1aeed",
+ "ruleName": "request 2",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://127.0.0.1:8000/api/get_student_info/102201702/",
+ "filterId": "083cda4e-b904-4087-ad81-4da545d0a5e0",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"王丽华\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://127.0.0.1:8000/api/get_student_info/102201702/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "view",
+ "command": "touchstart",
+ "target": "/view[3]/label[2]/view",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 259,
+ "clientY": 255.9499969482422,
+ "force": 1,
+ "pageX": 259,
+ "pageY": 255.9499969482422,
+ "screenX": 415.20001220703125,
+ "screenY": 396.8000183105469
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 259,
+ "clientY": 255.9499969482422,
+ "force": 1,
+ "pageX": 259,
+ "pageY": 255.9499969482422,
+ "screenX": 415.20001220703125,
+ "screenY": 396.8000183105469
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/label[2]/view"
+ ],
+ "timeStamp": 39794,
+ "waitfor": 1637,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "view",
+ "command": "touchend",
+ "target": "/view[3]/label[2]/view",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 259,
+ "clientY": 255.9499969482422,
+ "pageX": 259,
+ "pageY": 255.9499969482422,
+ "screenX": 415.20001220703125,
+ "screenY": 396.8000183105469
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/label[2]/view"
+ ],
+ "timeStamp": 39888,
+ "waitfor": 94,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "view",
+ "command": "tap",
+ "target": "/view[3]/label[2]/view",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 259,
+ "y": 255.9499969482422
+ },
+ "changedTouches": [
+ {
+ "clientX": 259,
+ "clientY": 255.9499969482422,
+ "force": 1,
+ "pageX": 259,
+ "pageY": 255.9499969482422,
+ "screenX": 415.20001220703125,
+ "screenY": 396.8000183105469
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 259,
+ "clientY": 255.9499969482422,
+ "force": 1,
+ "pageX": 259,
+ "pageY": 255.9499969482422,
+ "screenX": 415.20001220703125,
+ "screenY": 396.8000183105469
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/label[2]/view"
+ ],
+ "timeStamp": 39889,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "1145ed8e-e1df-40e0-8b81-7f5e1734d5b4",
+ "ruleName": "request 3",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://127.0.0.1:8000/api/update_student_score/",
+ "filterId": "324ff2f1-2cf1-4b2b-a1ac-0357555d6187",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"success\":true},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"POST, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"17\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://127.0.0.1:8000/api/update_student_score/",
+ "method": "POST",
+ "data": {
+ "student_id": "102201702",
+ "score": -1
+ }
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 34.350006103515625,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 34.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 175.1999969482422
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 34.350006103515625,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 34.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 175.1999969482422
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[2]"
+ ],
+ "timeStamp": 41329,
+ "waitfor": 1440,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 34.350006103515625,
+ "pageX": 34.19999694824219,
+ "pageY": 34.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 175.1999969482422
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[2]"
+ ],
+ "timeStamp": 41430,
+ "waitfor": 101,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 34.19999694824219,
+ "y": 34.350006103515625
+ },
+ "changedTouches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 34.350006103515625,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 34.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 175.1999969482422
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 34.350006103515625,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 34.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 175.1999969482422
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[2]"
+ ],
+ "timeStamp": 41432,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 175,
+ "clientY": 317.5500183105469,
+ "force": 1,
+ "pageX": 175,
+ "pageY": 317.5500183105469,
+ "screenX": 331.20001220703125,
+ "screenY": 458.3999938964844
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 175,
+ "clientY": 317.5500183105469,
+ "force": 1,
+ "pageX": 175,
+ "pageY": 317.5500183105469,
+ "screenX": 331.20001220703125,
+ "screenY": 458.3999938964844
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 43119,
+ "waitfor": 1687,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 175,
+ "clientY": 317.5500183105469,
+ "pageX": 175,
+ "pageY": 317.5500183105469,
+ "screenX": 331.20001220703125,
+ "screenY": 458.3999938964844
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 43214,
+ "waitfor": 95,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {
+ "x": 175,
+ "y": 317.5500183105469
+ },
+ "changedTouches": [
+ {
+ "clientX": 175,
+ "clientY": 317.5500183105469,
+ "force": 1,
+ "pageX": 175,
+ "pageY": 317.5500183105469,
+ "screenX": 331.20001220703125,
+ "screenY": 458.3999938964844
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 175,
+ "clientY": 317.5500183105469,
+ "force": 1,
+ "pageX": 175,
+ "pageY": 317.5500183105469,
+ "screenX": 331.20001220703125,
+ "screenY": 458.3999938964844
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 43214,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchstart",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 张雨晴\n学号: 102201718\n取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 268.6000061035156,
+ "clientY": 404.75,
+ "force": 1,
+ "pageX": 268.6000061035156,
+ "pageY": 404.75,
+ "screenX": 424.8000183105469,
+ "screenY": 545.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 268.6000061035156,
+ "clientY": 404.75,
+ "force": 1,
+ "pageX": 268.6000061035156,
+ "pageY": 404.75,
+ "screenX": 424.8000183105469,
+ "screenY": 545.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 44334,
+ "waitfor": 1120,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchend",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 张雨晴\n学号: 102201718\n取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 268.6000061035156,
+ "clientY": 404.75,
+ "pageX": 268.6000061035156,
+ "pageY": 404.75,
+ "screenX": 424.8000183105469,
+ "screenY": 545.6000366210938
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 44420,
+ "waitfor": 86,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "confirm",
+ "target": "/view[3]/modal",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 张雨晴\n学号: 102201718\n取消\n确定",
+ "eventData": {
+ "changedTouches": [],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 44421,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "tap",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 张雨晴\n学号: 102201718\n取消\n确定",
+ "eventData": {
+ "detail": {
+ "x": 268.6000061035156,
+ "y": 404.75
+ },
+ "changedTouches": [
+ {
+ "clientX": 268.6000061035156,
+ "clientY": 404.75,
+ "force": 1,
+ "pageX": 268.6000061035156,
+ "pageY": 404.75,
+ "screenX": 424.8000183105469,
+ "screenY": 545.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 268.6000061035156,
+ "clientY": 404.75,
+ "force": 1,
+ "pageX": 268.6000061035156,
+ "pageY": 404.75,
+ "screenX": 424.8000183105469,
+ "screenY": 545.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 44421,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchstart",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "点到模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 581.550048828125,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 581.550048828125,
+ "screenX": 421.6000061035156,
+ "screenY": 722.4000244140625
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 581.550048828125,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 581.550048828125,
+ "screenX": 421.6000061035156,
+ "screenY": 722.4000244140625
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/button[1]"
+ ],
+ "timeStamp": 46157,
+ "waitfor": 1736,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchend",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "点到模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 581.550048828125,
+ "pageX": 265.3999938964844,
+ "pageY": 581.550048828125,
+ "screenX": 421.6000061035156,
+ "screenY": 722.4000244140625
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/button[1]"
+ ],
+ "timeStamp": 46243,
+ "waitfor": 86,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "tap",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "点到模式",
+ "eventData": {
+ "detail": {
+ "x": 265.3999938964844,
+ "y": 581.550048828125
+ },
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 581.550048828125,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 581.550048828125,
+ "screenX": 421.6000061035156,
+ "screenY": 722.4000244140625
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 581.550048828125,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 581.550048828125,
+ "screenX": 421.6000061035156,
+ "screenY": 722.4000244140625
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/button[1]"
+ ],
+ "timeStamp": 46243,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "e52737ac-30a8-47a2-ad14-fb624ffde264",
+ "ruleName": "request 4",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://127.0.0.1:8000/api/get_student_info/102201718/",
+ "filterId": "b85d9c47-dc49-4382-9ed4-d8aa94101bb7",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"张雨晴\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://127.0.0.1:8000/api/get_student_info/102201718/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "view",
+ "command": "touchstart",
+ "target": "/view[3]/label[1]/view",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 95.80000305175781,
+ "clientY": 251.15000915527344,
+ "force": 1,
+ "pageX": 95.80000305175781,
+ "pageY": 251.15000915527344,
+ "screenX": 252,
+ "screenY": 392
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 95.80000305175781,
+ "clientY": 251.15000915527344,
+ "force": 1,
+ "pageX": 95.80000305175781,
+ "pageY": 251.15000915527344,
+ "screenX": 252,
+ "screenY": 392
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/label[1]/view"
+ ],
+ "timeStamp": 47798,
+ "waitfor": 1555,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "view",
+ "command": "touchend",
+ "target": "/view[3]/label[1]/view",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 95.80000305175781,
+ "clientY": 251.15000915527344,
+ "pageX": 95.80000305175781,
+ "pageY": 251.15000915527344,
+ "screenX": 252,
+ "screenY": 392
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/label[1]/view"
+ ],
+ "timeStamp": 47899,
+ "waitfor": 101,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "view",
+ "command": "tap",
+ "target": "/view[3]/label[1]/view",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 95.80000305175781,
+ "y": 251.15000915527344
+ },
+ "changedTouches": [
+ {
+ "clientX": 95.80000305175781,
+ "clientY": 251.15000915527344,
+ "force": 1,
+ "pageX": 95.80000305175781,
+ "pageY": 251.15000915527344,
+ "screenX": 252,
+ "screenY": 392
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 95.80000305175781,
+ "clientY": 251.15000915527344,
+ "force": 1,
+ "pageX": 95.80000305175781,
+ "pageY": 251.15000915527344,
+ "screenX": 252,
+ "screenY": 392
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/label[1]/view"
+ ],
+ "timeStamp": 47900,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "59796609-3d2e-496e-b311-629609742bba",
+ "ruleName": "request 5",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://127.0.0.1:8000/api/update_student_score/",
+ "filterId": "54a933a8-e35d-4d0e-be53-18035edc1df8",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"success\":true},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"POST, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"17\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/update_student_score/",
+ "method": "POST",
+ "data": {
+ "student_id": "102201718",
+ "score": 1
+ }
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.rank-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 332.6000061035156,
+ "clientY": 36.75,
+ "force": 1,
+ "pageX": 332.6000061035156,
+ "pageY": 36.75,
+ "screenX": 488.8000183105469,
+ "screenY": 177.60000610351562
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 332.6000061035156,
+ "clientY": 36.75,
+ "force": 1,
+ "pageX": 332.6000061035156,
+ "pageY": 36.75,
+ "screenX": 488.8000183105469,
+ "screenY": 177.60000610351562
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.rank-image",
+ ".rank-image",
+ "/image[3]"
+ ],
+ "timeStamp": 48924,
+ "waitfor": 1024,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.rank-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 332.6000061035156,
+ "clientY": 36.75,
+ "pageX": 332.6000061035156,
+ "pageY": 36.75,
+ "screenX": 488.8000183105469,
+ "screenY": 177.60000610351562
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.rank-image",
+ ".rank-image",
+ "/image[3]"
+ ],
+ "timeStamp": 49026,
+ "waitfor": 102,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.rank-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 332.6000061035156,
+ "y": 36.75
+ },
+ "changedTouches": [
+ {
+ "clientX": 332.6000061035156,
+ "clientY": 36.75,
+ "force": 1,
+ "pageX": 332.6000061035156,
+ "pageY": 36.75,
+ "screenX": 488.8000183105469,
+ "screenY": 177.60000610351562
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 332.6000061035156,
+ "clientY": 36.75,
+ "force": 1,
+ "pageX": 332.6000061035156,
+ "pageY": 36.75,
+ "screenX": 488.8000183105469,
+ "screenY": 177.60000610351562
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.rank-image",
+ ".rank-image",
+ "/image[3]"
+ ],
+ "timeStamp": 49026,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "d7741f46-0790-4d72-8b19-4966d9d00f9e",
+ "ruleName": "request 6",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/leaderboard/",
+ "filterId": "ad55297d-cfc4-468d-8aea-89aa62553d8e",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":[{\"name\":\"陈雨涵\",\"score\":\"1.0\"},{\"name\":\"张雨晴\",\"score\":\"1.0\"},{\"name\":\"黄晨\",\"score\":\"0.0\"},{\"name\":\"张伟\",\"score\":\"0.0\"},{\"name\":\"陈静怡\",\"score\":\"0.0\"}],\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"228\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/leaderboard/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 39.149993896484375,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 39.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 180
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 35,
+ "clientY": 39.149993896484375,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 39.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 180
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/view/image[11]"
+ ],
+ "timeStamp": 51230,
+ "waitfor": 2204,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 39.149993896484375,
+ "pageX": 35,
+ "pageY": 39.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 180
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/view/image[11]"
+ ],
+ "timeStamp": 51322,
+ "waitfor": 92,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 35,
+ "y": 39.149993896484375
+ },
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 39.149993896484375,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 39.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 180
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 35,
+ "clientY": 39.149993896484375,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 39.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 180
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/view/image[11]"
+ ],
+ "timeStamp": 51324,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "38daeb47-bd30-4039-b5f3-1fb02ccd7d7d",
+ "ruleName": "request 7",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/get_student_info/undefined/",
+ "filterId": "81f9e303-e8a9-4ff3-9588-4090560a7a42",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"error\":\"Student not found\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"30\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":404,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/get_student_info/undefined/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 39.80000305175781,
+ "clientY": 41.55000305175781,
+ "force": 1,
+ "pageX": 39.80000305175781,
+ "pageY": 41.55000305175781,
+ "screenX": 196,
+ "screenY": 182.40000915527344
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 39.80000305175781,
+ "clientY": 41.55000305175781,
+ "force": 1,
+ "pageX": 39.80000305175781,
+ "pageY": 41.55000305175781,
+ "screenX": 196,
+ "screenY": 182.40000915527344
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[2]"
+ ],
+ "timeStamp": 52819,
+ "waitfor": 1495,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 39.80000305175781,
+ "clientY": 41.55000305175781,
+ "pageX": 39.80000305175781,
+ "pageY": 41.55000305175781,
+ "screenX": 196,
+ "screenY": 182.40000915527344
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[2]"
+ ],
+ "timeStamp": 52912,
+ "waitfor": 93,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/Mode-arrive/Mode-arrive",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 39.80000305175781,
+ "y": 41.55000305175781
+ },
+ "changedTouches": [
+ {
+ "clientX": 39.80000305175781,
+ "clientY": 41.55000305175781,
+ "force": 1,
+ "pageX": 39.80000305175781,
+ "pageY": 41.55000305175781,
+ "screenX": 196,
+ "screenY": 182.40000915527344
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 39.80000305175781,
+ "clientY": 41.55000305175781,
+ "force": 1,
+ "pageX": 39.80000305175781,
+ "pageY": 41.55000305175781,
+ "screenX": 196,
+ "screenY": 182.40000915527344
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[2]"
+ ],
+ "timeStamp": 52914,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 318.3499755859375,
+ "force": 1,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3499755859375,
+ "screenX": 332.8000183105469,
+ "screenY": 459.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 318.3499755859375,
+ "force": 1,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3499755859375,
+ "screenX": 332.8000183105469,
+ "screenY": 459.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 54484,
+ "waitfor": 1570,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 318.3499755859375,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3499755859375,
+ "screenX": 332.8000183105469,
+ "screenY": 459.20001220703125
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 54568,
+ "waitfor": 84,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "text.dm-text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": " 开始点名",
+ "eventData": {
+ "detail": {
+ "x": 176.59999084472656,
+ "y": 318.3499755859375
+ },
+ "changedTouches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 318.3499755859375,
+ "force": 1,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3499755859375,
+ "screenX": 332.8000183105469,
+ "screenY": 459.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 176.59999084472656,
+ "clientY": 318.3499755859375,
+ "force": 1,
+ "pageX": 176.59999084472656,
+ "pageY": 318.3499755859375,
+ "screenX": 332.8000183105469,
+ "screenY": 459.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dm-text",
+ ".dm-text",
+ "/text[1]"
+ ],
+ "timeStamp": 54570,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchstart",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 周子涵\n学号: 102201724\n取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 260.6000061035156,
+ "clientY": 402.3500671386719,
+ "force": 1,
+ "pageX": 260.6000061035156,
+ "pageY": 402.3500671386719,
+ "screenX": 416.8000183105469,
+ "screenY": 543.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 260.6000061035156,
+ "clientY": 402.3500671386719,
+ "force": 1,
+ "pageX": 260.6000061035156,
+ "pageY": 402.3500671386719,
+ "screenX": 416.8000183105469,
+ "screenY": 543.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 55332,
+ "waitfor": 762,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchend",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 周子涵\n学号: 102201724\n取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 260.6000061035156,
+ "clientY": 402.3500671386719,
+ "pageX": 260.6000061035156,
+ "pageY": 402.3500671386719,
+ "screenX": 416.8000183105469,
+ "screenY": 543.2000122070312
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 55418,
+ "waitfor": 86,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "confirm",
+ "target": "/view[3]/modal",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 周子涵\n学号: 102201724\n取消\n确定",
+ "eventData": {
+ "changedTouches": [],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 55419,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "tap",
+ "target": "/view[3]/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/teacher/teacher",
+ "text": "学生姓名: 周子涵\n学号: 102201724\n取消\n确定",
+ "eventData": {
+ "detail": {
+ "x": 260.6000061035156,
+ "y": 402.3500671386719
+ },
+ "changedTouches": [
+ {
+ "clientX": 260.6000061035156,
+ "clientY": 402.3500671386719,
+ "force": 1,
+ "pageX": 260.6000061035156,
+ "pageY": 402.3500671386719,
+ "screenX": 416.8000183105469,
+ "screenY": 543.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 260.6000061035156,
+ "clientY": 402.3500671386719,
+ "force": 1,
+ "pageX": 260.6000061035156,
+ "pageY": 402.3500671386719,
+ "screenX": 416.8000183105469,
+ "screenY": 543.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[3]/modal"
+ ],
+ "timeStamp": 55419,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchstart",
+ "target": "button.confirm-button2",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "提问模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 97.4000015258789,
+ "clientY": 582.35009765625,
+ "force": 1,
+ "pageX": 97.4000015258789,
+ "pageY": 582.35009765625,
+ "screenX": 253.60000610351562,
+ "screenY": 723.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 97.4000015258789,
+ "clientY": 582.35009765625,
+ "force": 1,
+ "pageX": 97.4000015258789,
+ "pageY": 582.35009765625,
+ "screenX": 253.60000610351562,
+ "screenY": 723.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button2",
+ ".confirm-button2",
+ "/button[2]"
+ ],
+ "timeStamp": 56223,
+ "waitfor": 804,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchend",
+ "target": "button.confirm-button2",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "提问模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 97.4000015258789,
+ "clientY": 582.35009765625,
+ "pageX": 97.4000015258789,
+ "pageY": 582.35009765625,
+ "screenX": 253.60000610351562,
+ "screenY": 723.2000122070312
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "button.confirm-button2",
+ ".confirm-button2",
+ "/button[2]"
+ ],
+ "timeStamp": 56309,
+ "waitfor": 86,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "tap",
+ "target": "button.confirm-button2",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "提问模式",
+ "eventData": {
+ "detail": {
+ "x": 97.4000015258789,
+ "y": 582.35009765625
+ },
+ "changedTouches": [
+ {
+ "clientX": 97.4000015258789,
+ "clientY": 582.35009765625,
+ "force": 1,
+ "pageX": 97.4000015258789,
+ "pageY": 582.35009765625,
+ "screenX": 253.60000610351562,
+ "screenY": 723.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 97.4000015258789,
+ "clientY": 582.35009765625,
+ "force": 1,
+ "pageX": 97.4000015258789,
+ "pageY": 582.35009765625,
+ "screenX": 253.60000610351562,
+ "screenY": 723.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button2",
+ ".confirm-button2",
+ "/button[2]"
+ ],
+ "timeStamp": 56310,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "",
+ "command": "scroll",
+ "target": "/",
+ "path": "pages/teacher/teacher",
+ "eventData": {
+ "scrollDetail": {
+ "scrollTop": 76,
+ "scrollLeft": 0
+ }
+ },
+ "targetCandidates": [],
+ "timeStamp": 60460,
+ "waitfor": 4150,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchstart",
+ "target": "button.confirm-button2",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "提问模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 504.75,
+ "force": 1,
+ "pageX": 94.20000457763672,
+ "pageY": 580.75,
+ "screenX": 250.40000915527344,
+ "screenY": 645.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 504.75,
+ "force": 1,
+ "pageX": 94.20000457763672,
+ "pageY": 580.75,
+ "screenX": 250.40000915527344,
+ "screenY": 645.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button2",
+ ".confirm-button2",
+ "/button[2]"
+ ],
+ "timeStamp": 66741,
+ "waitfor": 6281,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchend",
+ "target": "button.confirm-button2",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "提问模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 504.75,
+ "pageX": 94.20000457763672,
+ "pageY": 580.75,
+ "screenX": 250.40000915527344,
+ "screenY": 645.6000366210938
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "button.confirm-button2",
+ ".confirm-button2",
+ "/button[2]"
+ ],
+ "timeStamp": 66866,
+ "waitfor": 125,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "tap",
+ "target": "button.confirm-button2",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "提问模式",
+ "eventData": {
+ "detail": {
+ "x": 94.20000457763672,
+ "y": 580.75
+ },
+ "changedTouches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 504.75,
+ "force": 1,
+ "pageX": 94.20000457763672,
+ "pageY": 580.75,
+ "screenX": 250.40000915527344,
+ "screenY": 645.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 504.75,
+ "force": 1,
+ "pageX": 94.20000457763672,
+ "pageY": 580.75,
+ "screenX": 250.40000915527344,
+ "screenY": 645.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button2",
+ ".confirm-button2",
+ "/button[2]"
+ ],
+ "timeStamp": 66868,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "",
+ "command": "scroll",
+ "target": "/",
+ "path": "pages/teacher/teacher",
+ "eventData": {
+ "scrollDetail": {
+ "scrollTop": 0,
+ "scrollLeft": 0
+ }
+ },
+ "targetCandidates": [],
+ "timeStamp": 83264,
+ "waitfor": 10000,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "",
+ "command": "scroll",
+ "target": "/",
+ "path": "pages/teacher/teacher",
+ "eventData": {
+ "scrollDetail": {
+ "scrollTop": 76,
+ "scrollLeft": 0
+ }
+ },
+ "targetCandidates": [],
+ "timeStamp": 84653,
+ "waitfor": 1389,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchstart",
+ "target": "button.confirm-button2",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "提问模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 507.1500244140625,
+ "force": 1,
+ "pageX": 94.20000457763672,
+ "pageY": 583.1500244140625,
+ "screenX": 250.40000915527344,
+ "screenY": 648
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 507.1500244140625,
+ "force": 1,
+ "pageX": 94.20000457763672,
+ "pageY": 583.1500244140625,
+ "screenX": 250.40000915527344,
+ "screenY": 648
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button2",
+ ".confirm-button2",
+ "/button[2]"
+ ],
+ "timeStamp": 86393,
+ "waitfor": 1740,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchend",
+ "target": "button.confirm-button2",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "提问模式",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 507.1500244140625,
+ "pageX": 94.20000457763672,
+ "pageY": 583.1500244140625,
+ "screenX": 250.40000915527344,
+ "screenY": 648
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "button.confirm-button2",
+ ".confirm-button2",
+ "/button[2]"
+ ],
+ "timeStamp": 86494,
+ "waitfor": 101,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "tap",
+ "target": "button.confirm-button2",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "提问模式",
+ "eventData": {
+ "detail": {
+ "x": 94.20000457763672,
+ "y": 583.1500244140625
+ },
+ "changedTouches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 507.1500244140625,
+ "force": 1,
+ "pageX": 94.20000457763672,
+ "pageY": 583.1500244140625,
+ "screenX": 250.40000915527344,
+ "screenY": 648
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 94.20000457763672,
+ "clientY": 507.1500244140625,
+ "force": 1,
+ "pageX": 94.20000457763672,
+ "pageY": 583.1500244140625,
+ "screenX": 250.40000915527344,
+ "screenY": 648
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button2",
+ ".confirm-button2",
+ "/button[2]"
+ ],
+ "timeStamp": 86496,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "",
+ "command": "scroll",
+ "target": "/",
+ "path": "pages/teacher/teacher",
+ "eventData": {
+ "scrollDetail": {
+ "scrollTop": 0,
+ "scrollLeft": 0
+ }
+ },
+ "targetCandidates": [],
+ "timeStamp": 100777,
+ "waitfor": 10000,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "text.dao",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": "导出数据",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 279.8000183105469,
+ "clientY": 39.94999694824219,
+ "force": 1,
+ "pageX": 279.8000183105469,
+ "pageY": 39.94999694824219,
+ "screenX": 436,
+ "screenY": 180.8000030517578
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 279.8000183105469,
+ "clientY": 39.94999694824219,
+ "force": 1,
+ "pageX": 279.8000183105469,
+ "pageY": 39.94999694824219,
+ "screenX": 436,
+ "screenY": 180.8000030517578
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dao",
+ ".dao",
+ "/text[4]"
+ ],
+ "timeStamp": 101703,
+ "waitfor": 926,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "text.dao",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": "导出数据",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 279.8000183105469,
+ "clientY": 39.94999694824219,
+ "pageX": 279.8000183105469,
+ "pageY": 39.94999694824219,
+ "screenX": 436,
+ "screenY": 180.8000030517578
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "text.dao",
+ ".dao",
+ "/text[4]"
+ ],
+ "timeStamp": 101789,
+ "waitfor": 86,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "text.dao",
+ "value": null,
+ "childName": "main",
+ "path": "pages/teacher/teacher",
+ "text": "导出数据",
+ "eventData": {
+ "detail": {
+ "x": 279.8000183105469,
+ "y": 39.94999694824219
+ },
+ "changedTouches": [
+ {
+ "clientX": 279.8000183105469,
+ "clientY": 39.94999694824219,
+ "force": 1,
+ "pageX": 279.8000183105469,
+ "pageY": 39.94999694824219,
+ "screenX": 436,
+ "screenY": 180.8000030517578
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 279.8000183105469,
+ "clientY": 39.94999694824219,
+ "force": 1,
+ "pageX": 279.8000183105469,
+ "pageY": 39.94999694824219,
+ "screenX": 436,
+ "screenY": 180.8000030517578
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.dao",
+ ".dao",
+ "/text[4]"
+ ],
+ "timeStamp": 101789,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "b114fd20-8129-4ade-8cca-17559fab4934",
+ "ruleName": "request export_students_scores",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/export_students_scores",
+ "filterId": "7926383c-32b1-43b5-89ee-55e00665ccd6",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{},\"header\":{\"Content-Type\":\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\"Content-Disposition\":\"attachment; filename=students_scores.xlsx\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"POST, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"5903\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/export_students_scores",
+ "method": "POST",
+ "responseType": "arraybuffer"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 26.200000762939453,
+ "clientY": 37.55000305175781,
+ "force": 1,
+ "pageX": 26.200000762939453,
+ "pageY": 37.55000305175781,
+ "screenX": 182.40000915527344,
+ "screenY": 178.40000915527344
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 26.200000762939453,
+ "clientY": 37.55000305175781,
+ "force": 1,
+ "pageX": 26.200000762939453,
+ "pageY": 37.55000305175781,
+ "screenX": 182.40000915527344,
+ "screenY": 178.40000915527344
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 109692,
+ "waitfor": 7903,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 26.200000762939453,
+ "clientY": 37.55000305175781,
+ "pageX": 26.200000762939453,
+ "pageY": 37.55000305175781,
+ "screenX": 182.40000915527344,
+ "screenY": 178.40000915527344
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 109807,
+ "waitfor": 115,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 26.200000762939453,
+ "y": 37.55000305175781
+ },
+ "changedTouches": [
+ {
+ "clientX": 26.200000762939453,
+ "clientY": 37.55000305175781,
+ "force": 1,
+ "pageX": 26.200000762939453,
+ "pageY": 37.55000305175781,
+ "screenX": 182.40000915527344,
+ "screenY": 178.40000915527344
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 26.200000762939453,
+ "clientY": 37.55000305175781,
+ "force": 1,
+ "pageX": 26.200000762939453,
+ "pageY": 37.55000305175781,
+ "screenX": 182.40000915527344,
+ "screenY": 178.40000915527344
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 109807,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 31.149993896484375,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 31.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 172
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 35,
+ "clientY": 31.149993896484375,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 31.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 172
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 112803,
+ "waitfor": 2996,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 31.149993896484375,
+ "pageX": 35,
+ "pageY": 31.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 172
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 112943,
+ "waitfor": 140,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 35,
+ "y": 31.149993896484375
+ },
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 31.149993896484375,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 31.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 172
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 35,
+ "clientY": 31.149993896484375,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 31.149993896484375,
+ "screenX": 191.1999969482422,
+ "screenY": 172
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 112943,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 24.600000381469727,
+ "clientY": 35.149993896484375,
+ "force": 1,
+ "pageX": 24.600000381469727,
+ "pageY": 35.149993896484375,
+ "screenX": 180.8000030517578,
+ "screenY": 176
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 24.600000381469727,
+ "clientY": 35.149993896484375,
+ "force": 1,
+ "pageX": 24.600000381469727,
+ "pageY": 35.149993896484375,
+ "screenX": 180.8000030517578,
+ "screenY": 176
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 120895,
+ "waitfor": 7952,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 24.600000381469727,
+ "clientY": 35.149993896484375,
+ "pageX": 24.600000381469727,
+ "pageY": 35.149993896484375,
+ "screenX": 180.8000030517578,
+ "screenY": 176
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 121027,
+ "waitfor": 132,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 24.600000381469727,
+ "y": 35.149993896484375
+ },
+ "changedTouches": [
+ {
+ "clientX": 24.600000381469727,
+ "clientY": 35.149993896484375,
+ "force": 1,
+ "pageX": 24.600000381469727,
+ "pageY": 35.149993896484375,
+ "screenX": 180.8000030517578,
+ "screenY": 176
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 24.600000381469727,
+ "clientY": 35.149993896484375,
+ "force": 1,
+ "pageX": 24.600000381469727,
+ "pageY": 35.149993896484375,
+ "screenX": 180.8000030517578,
+ "screenY": 176
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 121027,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "",
+ "command": "scroll",
+ "target": "/",
+ "path": "pages/teacher/teacher",
+ "eventData": {
+ "scrollDetail": {
+ "scrollTop": 76,
+ "scrollLeft": 0
+ }
+ },
+ "targetCandidates": [],
+ "timeStamp": 133098,
+ "waitfor": 10000,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "",
+ "command": "scroll",
+ "target": "/",
+ "path": "pages/teacher/teacher",
+ "eventData": {
+ "scrollDetail": {
+ "scrollTop": 76,
+ "scrollLeft": 0
+ }
+ },
+ "targetCandidates": [],
+ "timeStamp": 136875,
+ "waitfor": 3777,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "",
+ "command": "scroll",
+ "target": "/",
+ "path": "pages/teacher/teacher",
+ "eventData": {
+ "scrollDetail": {
+ "scrollTop": 0,
+ "scrollLeft": 0
+ }
+ },
+ "targetCandidates": [],
+ "timeStamp": 137742,
+ "waitfor": 867,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 31.949996948242188,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 31.949996948242188,
+ "screenX": 191.1999969482422,
+ "screenY": 272.8000183105469
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 35,
+ "clientY": 31.949996948242188,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 31.949996948242188,
+ "screenX": 191.1999969482422,
+ "screenY": 272.8000183105469
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 138188,
+ "waitfor": 446,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 31.949996948242188,
+ "pageX": 35,
+ "pageY": 31.949996948242188,
+ "screenX": 191.1999969482422,
+ "screenY": 272.8000183105469
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 138335,
+ "waitfor": 147,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 35,
+ "y": 31.949996948242188
+ },
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 31.949996948242188,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 31.949996948242188,
+ "screenX": 191.1999969482422,
+ "screenY": 272.8000183105469
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 35,
+ "clientY": 31.949996948242188,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 31.949996948242188,
+ "screenX": 191.1999969482422,
+ "screenY": 272.8000183105469
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 138338,
+ "waitfor": 3,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 31.000003814697266,
+ "clientY": 34.34999084472656,
+ "force": 1,
+ "pageX": 31.000003814697266,
+ "pageY": 34.34999084472656,
+ "screenX": 187.1999969482422,
+ "screenY": 275.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 31.000003814697266,
+ "clientY": 34.34999084472656,
+ "force": 1,
+ "pageX": 31.000003814697266,
+ "pageY": 34.34999084472656,
+ "screenX": 187.1999969482422,
+ "screenY": 275.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 139401,
+ "waitfor": 1063,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 31.000003814697266,
+ "clientY": 34.34999084472656,
+ "pageX": 31.000003814697266,
+ "pageY": 34.34999084472656,
+ "screenX": 187.1999969482422,
+ "screenY": 275.20001220703125
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 139518,
+ "waitfor": 117,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 31.000003814697266,
+ "y": 34.34999084472656
+ },
+ "changedTouches": [
+ {
+ "clientX": 31.000003814697266,
+ "clientY": 34.34999084472656,
+ "force": 1,
+ "pageX": 31.000003814697266,
+ "pageY": 34.34999084472656,
+ "screenX": 187.1999969482422,
+ "screenY": 275.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 31.000003814697266,
+ "clientY": 34.34999084472656,
+ "force": 1,
+ "pageX": 31.000003814697266,
+ "pageY": 34.34999084472656,
+ "screenX": 187.1999969482422,
+ "screenY": 275.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 139519,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 30.349990844726562,
+ "force": 1,
+ "pageX": 30.200000762939453,
+ "pageY": 30.349990844726562,
+ "screenX": 186.40000915527344,
+ "screenY": 271.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 30.349990844726562,
+ "force": 1,
+ "pageX": 30.200000762939453,
+ "pageY": 30.349990844726562,
+ "screenX": 186.40000915527344,
+ "screenY": 271.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 139885,
+ "waitfor": 366,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 30.349990844726562,
+ "pageX": 30.200000762939453,
+ "pageY": 30.349990844726562,
+ "screenX": 186.40000915527344,
+ "screenY": 271.20001220703125
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 139995,
+ "waitfor": 110,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.back-image",
+ "value": null,
+ "path": "pages/teacher/teacher",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 30.200000762939453,
+ "y": 30.349990844726562
+ },
+ "changedTouches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 30.349990844726562,
+ "force": 1,
+ "pageX": 30.200000762939453,
+ "pageY": 30.349990844726562,
+ "screenX": 186.40000915527344,
+ "screenY": 271.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 30.349990844726562,
+ "force": 1,
+ "pageX": 30.200000762939453,
+ "pageY": 30.349990844726562,
+ "screenX": 186.40000915527344,
+ "screenY": 271.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.back-image",
+ ".back-image",
+ "/image[3]"
+ ],
+ "timeStamp": 139997,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "timeStamp": 140693,
+ "waitfor": 696,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "timeStamp": 141276,
+ "waitfor": 583,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "timeStamp": 141747,
+ "waitfor": 471,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "timeStamp": 142212,
+ "waitfor": 465,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "timeStamp": 142716,
+ "waitfor": 504,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "timeStamp": 143221,
+ "waitfor": 505,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "timeStamp": 143708,
+ "waitfor": 487,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "timeStamp": 144199,
+ "waitfor": 491,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "timeStamp": 144657,
+ "waitfor": 458,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "text.text3",
+ "value": null,
+ "childName": "main",
+ "path": "pages/index/index",
+ "text": "我是学生",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 181.40000915527344,
+ "clientY": 633.5499877929688,
+ "force": 1,
+ "pageX": 181.40000915527344,
+ "pageY": 633.5499877929688,
+ "screenX": 337.6000061035156,
+ "screenY": 697.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 181.40000915527344,
+ "clientY": 633.5499877929688,
+ "force": 1,
+ "pageX": 181.40000915527344,
+ "pageY": 633.5499877929688,
+ "screenX": 337.6000061035156,
+ "screenY": 697.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.text3",
+ ".text3",
+ "/text[3]"
+ ],
+ "timeStamp": 146402,
+ "waitfor": 1745,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "text.text3",
+ "value": null,
+ "childName": "main",
+ "path": "pages/index/index",
+ "text": "我是学生",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 181.40000915527344,
+ "clientY": 633.5499877929688,
+ "pageX": 181.40000915527344,
+ "pageY": 633.5499877929688,
+ "screenX": 337.6000061035156,
+ "screenY": 697.6000366210938
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "text.text3",
+ ".text3",
+ "/text[3]"
+ ],
+ "timeStamp": 146514,
+ "waitfor": 112,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "text.text3",
+ "value": null,
+ "childName": "main",
+ "path": "pages/index/index",
+ "text": "我是学生",
+ "eventData": {
+ "detail": {
+ "x": 181.40000915527344,
+ "y": 633.5499877929688
+ },
+ "changedTouches": [
+ {
+ "clientX": 181.40000915527344,
+ "clientY": 633.5499877929688,
+ "force": 1,
+ "pageX": 181.40000915527344,
+ "pageY": 633.5499877929688,
+ "screenX": 337.6000061035156,
+ "screenY": 697.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 181.40000915527344,
+ "clientY": 633.5499877929688,
+ "force": 1,
+ "pageX": 181.40000915527344,
+ "pageY": 633.5499877929688,
+ "screenX": 337.6000061035156,
+ "screenY": 697.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "text.text3",
+ ".text3",
+ "/text[3]"
+ ],
+ "timeStamp": 146516,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchstart",
+ "target": "button.submit-text",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "登录",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 191,
+ "clientY": 631.9500122070312,
+ "force": 1,
+ "pageX": 191,
+ "pageY": 631.9500122070312,
+ "screenX": 347.20001220703125,
+ "screenY": 696
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 191,
+ "clientY": 631.9500122070312,
+ "force": 1,
+ "pageX": 191,
+ "pageY": 631.9500122070312,
+ "screenX": 347.20001220703125,
+ "screenY": 696
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.submit-text",
+ ".submit-text",
+ "/button"
+ ],
+ "timeStamp": 149956,
+ "waitfor": 3440,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchend",
+ "target": "button.submit-text",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "登录",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 191,
+ "clientY": 631.9500122070312,
+ "pageX": 191,
+ "pageY": 631.9500122070312,
+ "screenX": 347.20001220703125,
+ "screenY": 696
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "button.submit-text",
+ ".submit-text",
+ "/button"
+ ],
+ "timeStamp": 150054,
+ "waitfor": 98,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "tap",
+ "target": "button.submit-text",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "登录",
+ "eventData": {
+ "detail": {
+ "x": 191,
+ "y": 631.9500122070312
+ },
+ "changedTouches": [
+ {
+ "clientX": 191,
+ "clientY": 631.9500122070312,
+ "force": 1,
+ "pageX": 191,
+ "pageY": 631.9500122070312,
+ "screenX": 347.20001220703125,
+ "screenY": 696
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 191,
+ "clientY": 631.9500122070312,
+ "force": 1,
+ "pageX": 191,
+ "pageY": 631.9500122070312,
+ "screenX": 347.20001220703125,
+ "screenY": 696
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.submit-text",
+ ".submit-text",
+ "/button"
+ ],
+ "timeStamp": 150054,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "touchstart",
+ "target": "/view[1]/view/view[1]/input",
+ "childName": "input",
+ "path": "pages/student/student",
+ "text": "请输入学号",
+ "eventData": {
+ "detail": {}
+ },
+ "targetCandidates": [
+ "/view[1]/view/view[1]/input"
+ ],
+ "timeStamp": 150904,
+ "waitfor": 850,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "touchend",
+ "target": "/view[1]/view/view[1]/input",
+ "childName": "input",
+ "path": "pages/student/student",
+ "text": "请输入学号",
+ "eventData": {
+ "detail": {}
+ },
+ "targetCandidates": [
+ "/view[1]/view/view[1]/input"
+ ],
+ "timeStamp": 150905,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "tap",
+ "target": "/view[1]/view/view[1]/input",
+ "childName": "input",
+ "path": "pages/student/student",
+ "text": "请输入学号",
+ "eventData": {
+ "detail": {
+ "x": 193.40000915527344,
+ "y": 251.9499969482422
+ }
+ },
+ "targetCandidates": [
+ "/view[1]/view/view[1]/input"
+ ],
+ "timeStamp": 150905,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "input",
+ "target": "/view[1]/view/view[1]/input",
+ "value": "102201701",
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "value": "102201701",
+ "cursor": 9,
+ "keyCode": 49
+ }
+ },
+ "targetCandidates": [
+ "/view[1]/view/view[1]/input"
+ ],
+ "timeStamp": 154321,
+ "waitfor": 3416,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "touchstart",
+ "target": "/view[1]/view/view[2]/input",
+ "childName": "input",
+ "path": "pages/student/student",
+ "text": "请输入姓名",
+ "eventData": {
+ "detail": {}
+ },
+ "targetCandidates": [
+ "/view[1]/view/view[2]/input"
+ ],
+ "timeStamp": 155496,
+ "waitfor": 1175,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "touchend",
+ "target": "/view[1]/view/view[2]/input",
+ "childName": "input",
+ "path": "pages/student/student",
+ "text": "请输入姓名",
+ "eventData": {
+ "detail": {}
+ },
+ "targetCandidates": [
+ "/view[1]/view/view[2]/input"
+ ],
+ "timeStamp": 155566,
+ "waitfor": 70,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "tap",
+ "target": "/view[1]/view/view[2]/input",
+ "childName": "input",
+ "path": "pages/student/student",
+ "text": "请输入姓名",
+ "eventData": {
+ "detail": {
+ "x": 218.40000915527344,
+ "y": 308.8000183105469
+ }
+ },
+ "targetCandidates": [
+ "/view[1]/view/view[2]/input"
+ ],
+ "timeStamp": 155567,
+ "waitfor": 1,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "input",
+ "target": "/view[1]/view/view[2]/input",
+ "value": "李龙龙",
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "value": "李龙龙",
+ "cursor": 3
+ }
+ },
+ "targetCandidates": [
+ "/view[1]/view/view[2]/input"
+ ],
+ "timeStamp": 156955,
+ "waitfor": 1388,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchstart",
+ "target": "button.upload-button",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "选择图片",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 251,
+ "clientY": 371.1499938964844,
+ "force": 1,
+ "pageX": 251,
+ "pageY": 371.1499938964844,
+ "screenX": 407.20001220703125,
+ "screenY": 435.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 251,
+ "clientY": 371.1499938964844,
+ "force": 1,
+ "pageX": 251,
+ "pageY": 371.1499938964844,
+ "screenX": 407.20001220703125,
+ "screenY": 435.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.upload-button",
+ ".upload-button",
+ "/view[1]/view/view[3]/button"
+ ],
+ "timeStamp": 158115,
+ "waitfor": 1160,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchend",
+ "target": "button.upload-button",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "选择图片",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 251,
+ "clientY": 371.1499938964844,
+ "pageX": 251,
+ "pageY": 371.1499938964844,
+ "screenX": 407.20001220703125,
+ "screenY": 435.20001220703125
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "button.upload-button",
+ ".upload-button",
+ "/view[1]/view/view[3]/button"
+ ],
+ "timeStamp": 158161,
+ "waitfor": 46,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "tap",
+ "target": "button.upload-button",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "选择图片",
+ "eventData": {
+ "detail": {
+ "x": 251,
+ "y": 371.1499938964844
+ },
+ "changedTouches": [
+ {
+ "clientX": 251,
+ "clientY": 371.1499938964844,
+ "force": 1,
+ "pageX": 251,
+ "pageY": 371.1499938964844,
+ "screenX": 407.20001220703125,
+ "screenY": 435.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 251,
+ "clientY": 371.1499938964844,
+ "force": 1,
+ "pageX": 251,
+ "pageY": 371.1499938964844,
+ "screenX": 407.20001220703125,
+ "screenY": 435.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.upload-button",
+ ".upload-button",
+ "/view[1]/view/view[3]/button"
+ ],
+ "timeStamp": 158163,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "26f30e57-a308-4e27-9619-217363d638a2",
+ "ruleName": "chooseImage",
+ "apiName": "chooseImage",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"errMsg\":\"chooseImage:ok\",\"tempFilePaths\":[\"http://tmp/LjIb4BfzdxX839e0589601c5d5d3c04e919297b00ad8.png\"],\"tempFiles\":[{\"path\":\"http://tmp/LjIb4BfzdxX839e0589601c5d5d3c04e919297b00ad8.png\",\"size\":2848}]}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "count": 1,
+ "sizeType": [
+ "compressed"
+ ],
+ "sourceType": [
+ "album",
+ "camera"
+ ]
+ }
+ ],
+ "mediaFiles": {
+ "http://tmp/LjIb4BfzdxX839e0589601c5d5d3c04e919297b00ad8.png": "LjIb4BfzdxX839e0589601c5d5d3c04e919297b00ad8.png"
+ }
+ },
+ "desc": ""
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "494fe356-50e7-46c8-94e8-40d0f109322a",
+ "ruleName": "request 8",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "filterId": "6861f34c-0375-46cc-99d3-4faa0a991797",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"李龙龙\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "button",
+ "command": "touchstart",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 203,
+ "clientY": 439.95001220703125,
+ "force": 1,
+ "pageX": 203,
+ "pageY": 439.95001220703125,
+ "screenX": 359.20001220703125,
+ "screenY": 504
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 203,
+ "clientY": 439.95001220703125,
+ "force": 1,
+ "pageX": 203,
+ "pageY": 439.95001220703125,
+ "screenX": 359.20001220703125,
+ "screenY": 504
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/view[1]/view/button[1]"
+ ],
+ "timeStamp": 163591,
+ "waitfor": 5428,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "touchend",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 203,
+ "clientY": 439.95001220703125,
+ "pageX": 203,
+ "pageY": 439.95001220703125,
+ "screenX": 359.20001220703125,
+ "screenY": 504
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/view[1]/view/button[1]"
+ ],
+ "timeStamp": 163661,
+ "waitfor": 70,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "button",
+ "command": "tap",
+ "target": "button.confirm-button",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "确定",
+ "eventData": {
+ "detail": {
+ "x": 203,
+ "y": 439.95001220703125
+ },
+ "changedTouches": [
+ {
+ "clientX": 203,
+ "clientY": 439.95001220703125,
+ "force": 1,
+ "pageX": 203,
+ "pageY": 439.95001220703125,
+ "screenX": 359.20001220703125,
+ "screenY": 504
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 203,
+ "clientY": 439.95001220703125,
+ "force": 1,
+ "pageX": 203,
+ "pageY": 439.95001220703125,
+ "screenX": 359.20001220703125,
+ "screenY": 504
+ }
+ ]
+ },
+ "targetCandidates": [
+ "button.confirm-button",
+ ".confirm-button",
+ "/view[1]/view/button[1]"
+ ],
+ "timeStamp": 163663,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "4eaa5375-fd53-4b0a-ad60-4a8d3c036cc3",
+ "ruleName": "request 9",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "filterId": "1d395030-8fd6-41d7-a55e-20c1e447b38b",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"李龙龙\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.yu-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 71.80000305175781,
+ "clientY": 203.15000915527344,
+ "force": 1,
+ "pageX": 71.80000305175781,
+ "pageY": 203.15000915527344,
+ "screenX": 228,
+ "screenY": 367.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 71.80000305175781,
+ "clientY": 203.15000915527344,
+ "force": 1,
+ "pageX": 71.80000305175781,
+ "pageY": 203.15000915527344,
+ "screenX": 228,
+ "screenY": 367.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.yu-image",
+ ".yu-image",
+ "/image[6]"
+ ],
+ "timeStamp": 165165,
+ "waitfor": 1502,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.yu-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 71.80000305175781,
+ "clientY": 203.15000915527344,
+ "pageX": 71.80000305175781,
+ "pageY": 203.15000915527344,
+ "screenX": 228,
+ "screenY": 367.20001220703125
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.yu-image",
+ ".yu-image",
+ "/image[6]"
+ ],
+ "timeStamp": 165259,
+ "waitfor": 94,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.yu-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 71.80000305175781,
+ "y": 203.15000915527344
+ },
+ "changedTouches": [
+ {
+ "clientX": 71.80000305175781,
+ "clientY": 203.15000915527344,
+ "force": 1,
+ "pageX": 71.80000305175781,
+ "pageY": 203.15000915527344,
+ "screenX": 228,
+ "screenY": 367.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 71.80000305175781,
+ "clientY": 203.15000915527344,
+ "force": 1,
+ "pageX": 71.80000305175781,
+ "pageY": 203.15000915527344,
+ "screenX": 228,
+ "screenY": 367.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.yu-image",
+ ".yu-image",
+ "/image[6]"
+ ],
+ "timeStamp": 165261,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "07bec8fa-5e9c-4692-ac2c-1a2ea072485f",
+ "ruleName": "request 10",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "filterId": "a2bc8d88-1f51-4e06-9cde-d8a3f8cdac6a",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"李龙龙\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.card-image",
+ "value": null,
+ "path": "pages/student/dm/dm",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 303,
+ "clientY": 601.5499877929688,
+ "force": 1,
+ "pageX": 303,
+ "pageY": 601.5499877929688,
+ "screenX": 459.20001220703125,
+ "screenY": 665.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 303,
+ "clientY": 601.5499877929688,
+ "force": 1,
+ "pageX": 303,
+ "pageY": 601.5499877929688,
+ "screenX": 459.20001220703125,
+ "screenY": 665.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.card-image",
+ ".card-image",
+ "/image[1]"
+ ],
+ "timeStamp": 168010,
+ "waitfor": 2749,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.card-image",
+ "value": null,
+ "path": "pages/student/dm/dm",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 303,
+ "clientY": 601.5499877929688,
+ "pageX": 303,
+ "pageY": 601.5499877929688,
+ "screenX": 459.20001220703125,
+ "screenY": 665.6000366210938
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.card-image",
+ ".card-image",
+ "/image[1]"
+ ],
+ "timeStamp": 168084,
+ "waitfor": 74,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.card-image",
+ "value": null,
+ "path": "pages/student/dm/dm",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 303,
+ "y": 601.5499877929688
+ },
+ "changedTouches": [
+ {
+ "clientX": 303,
+ "clientY": 601.5499877929688,
+ "force": 1,
+ "pageX": 303,
+ "pageY": 601.5499877929688,
+ "screenX": 459.20001220703125,
+ "screenY": 665.6000366210938
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 303,
+ "clientY": 601.5499877929688,
+ "force": 1,
+ "pageX": 303,
+ "pageY": 601.5499877929688,
+ "screenX": 459.20001220703125,
+ "screenY": 665.6000366210938
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.card-image",
+ ".card-image",
+ "/image[1]"
+ ],
+ "timeStamp": 168086,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "timeStamp": 169085,
+ "waitfor": 999,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "confirmModal",
+ "text": "确定"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/dm/dm",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 36.75,
+ "force": 1,
+ "pageX": 30.200000762939453,
+ "pageY": 36.75,
+ "screenX": 186.40000915527344,
+ "screenY": 200.8000030517578
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 36.75,
+ "force": 1,
+ "pageX": 30.200000762939453,
+ "pageY": 36.75,
+ "screenX": 186.40000915527344,
+ "screenY": 200.8000030517578
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image[6]"
+ ],
+ "timeStamp": 175049,
+ "waitfor": 5964,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/dm/dm",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 36.75,
+ "pageX": 30.200000762939453,
+ "pageY": 36.75,
+ "screenX": 186.40000915527344,
+ "screenY": 200.8000030517578
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image[6]"
+ ],
+ "timeStamp": 175150,
+ "waitfor": 101,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/dm/dm",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 30.200000762939453,
+ "y": 36.75
+ },
+ "changedTouches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 36.75,
+ "force": 1,
+ "pageX": 30.200000762939453,
+ "pageY": 36.75,
+ "screenX": 186.40000915527344,
+ "screenY": 200.8000030517578
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 30.200000762939453,
+ "clientY": 36.75,
+ "force": 1,
+ "pageX": 30.200000762939453,
+ "pageY": 36.75,
+ "screenX": 186.40000915527344,
+ "screenY": 200.8000030517578
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image[6]"
+ ],
+ "timeStamp": 175152,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "5d5febbb-e4f4-4a34-9055-02396792d240",
+ "ruleName": "request 11",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "filterId": "81bdca72-a4e1-4c7a-bc5f-aa2acdb263a2",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"李龙龙\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.paihang-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 80.60000610351562,
+ "clientY": 297.5500183105469,
+ "force": 1,
+ "pageX": 80.60000610351562,
+ "pageY": 297.5500183105469,
+ "screenX": 236.8000030517578,
+ "screenY": 461.6000061035156
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 80.60000610351562,
+ "clientY": 297.5500183105469,
+ "force": 1,
+ "pageX": 80.60000610351562,
+ "pageY": 297.5500183105469,
+ "screenX": 236.8000030517578,
+ "screenY": 461.6000061035156
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.paihang-image",
+ ".paihang-image",
+ "/image[5]"
+ ],
+ "timeStamp": 176989,
+ "waitfor": 1837,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.paihang-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 80.60000610351562,
+ "clientY": 297.5500183105469,
+ "pageX": 80.60000610351562,
+ "pageY": 297.5500183105469,
+ "screenX": 236.8000030517578,
+ "screenY": 461.6000061035156
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.paihang-image",
+ ".paihang-image",
+ "/image[5]"
+ ],
+ "timeStamp": 177049,
+ "waitfor": 60,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.paihang-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 80.60000610351562,
+ "y": 297.5500183105469
+ },
+ "changedTouches": [
+ {
+ "clientX": 80.60000610351562,
+ "clientY": 297.5500183105469,
+ "force": 1,
+ "pageX": 80.60000610351562,
+ "pageY": 297.5500183105469,
+ "screenX": 236.8000030517578,
+ "screenY": 461.6000061035156
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 80.60000610351562,
+ "clientY": 297.5500183105469,
+ "force": 1,
+ "pageX": 80.60000610351562,
+ "pageY": 297.5500183105469,
+ "screenX": 236.8000030517578,
+ "screenY": 461.6000061035156
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.paihang-image",
+ ".paihang-image",
+ "/image[5]"
+ ],
+ "timeStamp": 177051,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "13b0e0bb-7b27-4518-bc23-5277a90105f5",
+ "ruleName": "request 12",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/leaderboard/",
+ "filterId": "f0d4014b-ec8a-4e38-a20d-c75e7100fc2e",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":[{\"name\":\"陈雨涵\",\"score\":\"1.0\"},{\"name\":\"张雨晴\",\"score\":\"1.0\"},{\"name\":\"黄晨\",\"score\":\"0.0\"},{\"name\":\"张伟\",\"score\":\"0.0\"},{\"name\":\"陈静怡\",\"score\":\"0.0\"}],\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"228\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/leaderboard/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rank/rank",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 31.80000114440918,
+ "clientY": 33.55000305175781,
+ "force": 1,
+ "pageX": 31.80000114440918,
+ "pageY": 33.55000305175781,
+ "screenX": 188,
+ "screenY": 197.60000610351562
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 31.80000114440918,
+ "clientY": 33.55000305175781,
+ "force": 1,
+ "pageX": 31.80000114440918,
+ "pageY": 33.55000305175781,
+ "screenX": 188,
+ "screenY": 197.60000610351562
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/view/image[11]"
+ ],
+ "timeStamp": 179065,
+ "waitfor": 2014,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rank/rank",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 31.80000114440918,
+ "clientY": 33.55000305175781,
+ "pageX": 31.80000114440918,
+ "pageY": 33.55000305175781,
+ "screenX": 188,
+ "screenY": 197.60000610351562
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/view/image[11]"
+ ],
+ "timeStamp": 179173,
+ "waitfor": 108,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rank/rank",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 31.80000114440918,
+ "y": 33.55000305175781
+ },
+ "changedTouches": [
+ {
+ "clientX": 31.80000114440918,
+ "clientY": 33.55000305175781,
+ "force": 1,
+ "pageX": 31.80000114440918,
+ "pageY": 33.55000305175781,
+ "screenX": 188,
+ "screenY": 197.60000610351562
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 31.80000114440918,
+ "clientY": 33.55000305175781,
+ "force": 1,
+ "pageX": 31.80000114440918,
+ "pageY": 33.55000305175781,
+ "screenX": 188,
+ "screenY": 197.60000610351562
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/view/image[11]"
+ ],
+ "timeStamp": 179175,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "aed0cf38-d0ea-49cd-a1e7-138242ec9264",
+ "ruleName": "request 13",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "filterId": "fd16fe82-5a6b-4a15-8928-4c115c469711",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"李龙龙\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.dd-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 56.600006103515625,
+ "clientY": 415.1499938964844,
+ "force": 1,
+ "pageX": 56.600006103515625,
+ "pageY": 415.1499938964844,
+ "screenX": 212.8000030517578,
+ "screenY": 579.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 56.600006103515625,
+ "clientY": 415.1499938964844,
+ "force": 1,
+ "pageX": 56.600006103515625,
+ "pageY": 415.1499938964844,
+ "screenX": 212.8000030517578,
+ "screenY": 579.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.dd-image",
+ ".dd-image",
+ "/image[3]"
+ ],
+ "timeStamp": 180635,
+ "waitfor": 1460,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.dd-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 56.600006103515625,
+ "clientY": 415.1499938964844,
+ "pageX": 56.600006103515625,
+ "pageY": 415.1499938964844,
+ "screenX": 212.8000030517578,
+ "screenY": 579.2000122070312
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.dd-image",
+ ".dd-image",
+ "/image[3]"
+ ],
+ "timeStamp": 180719,
+ "waitfor": 84,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.dd-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 56.600006103515625,
+ "y": 415.1499938964844
+ },
+ "changedTouches": [
+ {
+ "clientX": 56.600006103515625,
+ "clientY": 415.1499938964844,
+ "force": 1,
+ "pageX": 56.600006103515625,
+ "pageY": 415.1499938964844,
+ "screenX": 212.8000030517578,
+ "screenY": 579.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 56.600006103515625,
+ "clientY": 415.1499938964844,
+ "force": 1,
+ "pageX": 56.600006103515625,
+ "pageY": 415.1499938964844,
+ "screenX": 212.8000030517578,
+ "screenY": 579.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.dd-image",
+ ".dd-image",
+ "/image[3]"
+ ],
+ "timeStamp": 180719,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "view",
+ "command": "touchstart",
+ "target": "/view[2]/label[1]/view",
+ "value": null,
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 88.60000610351562,
+ "clientY": 551.1500244140625,
+ "force": 1,
+ "pageX": 88.60000610351562,
+ "pageY": 551.1500244140625,
+ "screenX": 244.8000030517578,
+ "screenY": 615.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 88.60000610351562,
+ "clientY": 551.1500244140625,
+ "force": 1,
+ "pageX": 88.60000610351562,
+ "pageY": 551.1500244140625,
+ "screenX": 244.8000030517578,
+ "screenY": 615.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[2]/label[1]/view"
+ ],
+ "timeStamp": 182852,
+ "waitfor": 2133,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "view",
+ "command": "touchend",
+ "target": "/view[2]/label[1]/view",
+ "value": null,
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 88.60000610351562,
+ "clientY": 551.1500244140625,
+ "pageX": 88.60000610351562,
+ "pageY": 551.1500244140625,
+ "screenX": 244.8000030517578,
+ "screenY": 615.2000122070312
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[2]/label[1]/view"
+ ],
+ "timeStamp": 182937,
+ "waitfor": 85,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "view",
+ "command": "tap",
+ "target": "/view[2]/label[1]/view",
+ "value": null,
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 88.60000610351562,
+ "y": 551.1500244140625
+ },
+ "changedTouches": [
+ {
+ "clientX": 88.60000610351562,
+ "clientY": 551.1500244140625,
+ "force": 1,
+ "pageX": 88.60000610351562,
+ "pageY": 551.1500244140625,
+ "screenX": 244.8000030517578,
+ "screenY": 615.2000122070312
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 88.60000610351562,
+ "clientY": 551.1500244140625,
+ "force": 1,
+ "pageX": 88.60000610351562,
+ "pageY": 551.1500244140625,
+ "screenX": 244.8000030517578,
+ "screenY": 615.2000122070312
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[2]/label[1]/view"
+ ],
+ "timeStamp": 182939,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "touchstart",
+ "target": "/modal/view/input",
+ "childName": "input",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "请输入典当积分",
+ "eventData": {
+ "detail": {}
+ },
+ "targetCandidates": [
+ "/modal/view/input"
+ ],
+ "timeStamp": 184021,
+ "waitfor": 1082,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "touchend",
+ "target": "/modal/view/input",
+ "childName": "input",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "请输入典当积分",
+ "eventData": {
+ "detail": {}
+ },
+ "targetCandidates": [
+ "/modal/view/input"
+ ],
+ "timeStamp": 184023,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "tap",
+ "target": "/modal/view/input",
+ "childName": "input",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "请输入典当积分",
+ "eventData": {
+ "detail": {
+ "x": 187,
+ "y": 357.5500183105469
+ }
+ },
+ "targetCandidates": [
+ "/modal/view/input"
+ ],
+ "timeStamp": 184023,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "input",
+ "command": "input",
+ "target": "/modal/view/input",
+ "value": "2",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "value": "2",
+ "cursor": 1,
+ "keyCode": 50
+ }
+ },
+ "targetCandidates": [
+ "/modal/view/input"
+ ],
+ "timeStamp": 185013,
+ "waitfor": 990,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchstart",
+ "target": "/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 274.20001220703125,
+ "clientY": 395.95001220703125,
+ "force": 1,
+ "pageX": 274.20001220703125,
+ "pageY": 395.95001220703125,
+ "screenX": 430.3999938964844,
+ "screenY": 460
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 274.20001220703125,
+ "clientY": 395.95001220703125,
+ "force": 1,
+ "pageX": 274.20001220703125,
+ "pageY": 395.95001220703125,
+ "screenX": 430.3999938964844,
+ "screenY": 460
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/modal"
+ ],
+ "timeStamp": 185603,
+ "waitfor": 590,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "touchend",
+ "target": "/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "取消\n确定",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 274.20001220703125,
+ "clientY": 395.95001220703125,
+ "pageX": 274.20001220703125,
+ "pageY": 395.95001220703125,
+ "screenX": 430.3999938964844,
+ "screenY": 460
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/modal"
+ ],
+ "timeStamp": 185672,
+ "waitfor": 69,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "confirm",
+ "target": "/modal",
+ "value": null,
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "取消\n确定",
+ "eventData": {
+ "changedTouches": [],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/modal"
+ ],
+ "timeStamp": 185672,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "modal",
+ "command": "tap",
+ "target": "/modal",
+ "value": null,
+ "childName": "confirm",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "取消\n确定",
+ "eventData": {
+ "detail": {
+ "x": 274.20001220703125,
+ "y": 395.95001220703125
+ },
+ "changedTouches": [
+ {
+ "clientX": 274.20001220703125,
+ "clientY": 395.95001220703125,
+ "force": 1,
+ "pageX": 274.20001220703125,
+ "pageY": 395.95001220703125,
+ "screenX": 430.3999938964844,
+ "screenY": 460
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 274.20001220703125,
+ "clientY": 395.95001220703125,
+ "force": 1,
+ "pageX": 274.20001220703125,
+ "pageY": 395.95001220703125,
+ "screenX": 430.3999938964844,
+ "screenY": 460
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/modal"
+ ],
+ "timeStamp": 185672,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "486bb94b-dbcc-4d0e-b11b-3e9117510149",
+ "ruleName": "request 14",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/create_pledge/",
+ "filterId": "53c127c4-9f87-46a3-97f7-85eedbc41d02",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"message\":\"典当信息已保存\",\"pledge_id\":36},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"POST, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"50\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":201,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/create_pledge/",
+ "method": "POST",
+ "data": {
+ "studentId": "102201701",
+ "studentName": "李龙龙",
+ "pledgeScore": "2"
+ }
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "c77dcf38-64f2-4160-ad8d-50938730bf8f",
+ "ruleName": "request 15",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "filterId": "7936fe13-785c-4861-ab86-2a02d8093571",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"李龙龙\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.dd-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 79.80000305175781,
+ "clientY": 415.95001220703125,
+ "force": 1,
+ "pageX": 79.80000305175781,
+ "pageY": 415.95001220703125,
+ "screenX": 236,
+ "screenY": 480
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 79.80000305175781,
+ "clientY": 415.95001220703125,
+ "force": 1,
+ "pageX": 79.80000305175781,
+ "pageY": 415.95001220703125,
+ "screenX": 236,
+ "screenY": 480
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.dd-image",
+ ".dd-image",
+ "/image[3]"
+ ],
+ "timeStamp": 186933,
+ "waitfor": 1261,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.dd-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 79.80000305175781,
+ "clientY": 415.95001220703125,
+ "pageX": 79.80000305175781,
+ "pageY": 415.95001220703125,
+ "screenX": 236,
+ "screenY": 480
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.dd-image",
+ ".dd-image",
+ "/image[3]"
+ ],
+ "timeStamp": 187024,
+ "waitfor": 91,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.dd-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 79.80000305175781,
+ "y": 415.95001220703125
+ },
+ "changedTouches": [
+ {
+ "clientX": 79.80000305175781,
+ "clientY": 415.95001220703125,
+ "force": 1,
+ "pageX": 79.80000305175781,
+ "pageY": 415.95001220703125,
+ "screenX": 236,
+ "screenY": 480
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 79.80000305175781,
+ "clientY": 415.95001220703125,
+ "force": 1,
+ "pageX": 79.80000305175781,
+ "pageY": 415.95001220703125,
+ "screenX": 236,
+ "screenY": 480
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.dd-image",
+ ".dd-image",
+ "/image[3]"
+ ],
+ "timeStamp": 187026,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "/view[2]/label[2]/text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "否",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 299,
+ "clientY": 547.9500122070312,
+ "force": 1,
+ "pageX": 299,
+ "pageY": 547.9500122070312,
+ "screenX": 455.20001220703125,
+ "screenY": 612
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 299,
+ "clientY": 547.9500122070312,
+ "force": 1,
+ "pageX": 299,
+ "pageY": 547.9500122070312,
+ "screenX": 455.20001220703125,
+ "screenY": 612
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[2]/label[2]/text"
+ ],
+ "timeStamp": 188702,
+ "waitfor": 1676,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "/view[2]/label[2]/text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "否",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 299,
+ "clientY": 547.9500122070312,
+ "pageX": 299,
+ "pageY": 547.9500122070312,
+ "screenX": 455.20001220703125,
+ "screenY": 612
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view[2]/label[2]/text"
+ ],
+ "timeStamp": 188787,
+ "waitfor": 85,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "/view[2]/label[2]/text",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/diandang/dd-yes/dd-yes",
+ "text": "否",
+ "eventData": {
+ "detail": {
+ "x": 299,
+ "y": 547.9500122070312
+ },
+ "changedTouches": [
+ {
+ "clientX": 299,
+ "clientY": 547.9500122070312,
+ "force": 1,
+ "pageX": 299,
+ "pageY": 547.9500122070312,
+ "screenX": 455.20001220703125,
+ "screenY": 612
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 299,
+ "clientY": 547.9500122070312,
+ "force": 1,
+ "pageX": 299,
+ "pageY": 547.9500122070312,
+ "screenX": 455.20001220703125,
+ "screenY": 612
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view[2]/label[2]/text"
+ ],
+ "timeStamp": 188789,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/diandang/dd-not/dd-not",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 37.55000305175781,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 37.55000305175781,
+ "screenX": 190.40000915527344,
+ "screenY": 278.3999938964844
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 37.55000305175781,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 37.55000305175781,
+ "screenX": 190.40000915527344,
+ "screenY": 278.3999938964844
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image[4]"
+ ],
+ "timeStamp": 191416,
+ "waitfor": 2627,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/diandang/dd-not/dd-not",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 37.55000305175781,
+ "pageX": 34.19999694824219,
+ "pageY": 37.55000305175781,
+ "screenX": 190.40000915527344,
+ "screenY": 278.3999938964844
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image[4]"
+ ],
+ "timeStamp": 191509,
+ "waitfor": 93,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/diandang/dd-not/dd-not",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 34.19999694824219,
+ "y": 37.55000305175781
+ },
+ "changedTouches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 37.55000305175781,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 37.55000305175781,
+ "screenX": 190.40000915527344,
+ "screenY": 278.3999938964844
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 37.55000305175781,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 37.55000305175781,
+ "screenX": 190.40000915527344,
+ "screenY": 278.3999938964844
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image[4]"
+ ],
+ "timeStamp": 191511,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "1586830e-470f-40af-8b92-87fa1da60168",
+ "ruleName": "request 16",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "filterId": "297b5768-a563-4211-908e-33e87beb0aa1",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"李龙龙\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.guize-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 325.3999938964844,
+ "clientY": 85.55000305175781,
+ "force": 1,
+ "pageX": 325.3999938964844,
+ "pageY": 85.55000305175781,
+ "screenX": 481.6000061035156,
+ "screenY": 326.3999938964844
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 325.3999938964844,
+ "clientY": 85.55000305175781,
+ "force": 1,
+ "pageX": 325.3999938964844,
+ "pageY": 85.55000305175781,
+ "screenX": 481.6000061035156,
+ "screenY": 326.3999938964844
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.guize-image",
+ ".guize-image",
+ "/image[4]"
+ ],
+ "timeStamp": 193131,
+ "waitfor": 1620,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.guize-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 325.3999938964844,
+ "clientY": 85.55000305175781,
+ "pageX": 325.3999938964844,
+ "pageY": 85.55000305175781,
+ "screenX": 481.6000061035156,
+ "screenY": 326.3999938964844
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.guize-image",
+ ".guize-image",
+ "/image[4]"
+ ],
+ "timeStamp": 193223,
+ "waitfor": 92,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.guize-image",
+ "value": null,
+ "path": "pages/student/student",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 325.3999938964844,
+ "y": 85.55000305175781
+ },
+ "changedTouches": [
+ {
+ "clientX": 325.3999938964844,
+ "clientY": 85.55000305175781,
+ "force": 1,
+ "pageX": 325.3999938964844,
+ "pageY": 85.55000305175781,
+ "screenX": 481.6000061035156,
+ "screenY": 326.3999938964844
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 325.3999938964844,
+ "clientY": 85.55000305175781,
+ "force": 1,
+ "pageX": 325.3999938964844,
+ "pageY": 85.55000305175781,
+ "screenX": 481.6000061035156,
+ "screenY": 326.3999938964844
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.guize-image",
+ ".guize-image",
+ "/image[4]"
+ ],
+ "timeStamp": 193225,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 277.3999938964844,
+ "clientY": 242.35000610351562,
+ "force": 1,
+ "pageX": 277.3999938964844,
+ "pageY": 242.35000610351562,
+ "screenX": 433.6000061035156,
+ "screenY": 383.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 277.3999938964844,
+ "clientY": 242.35000610351562,
+ "force": 1,
+ "pageX": 277.3999938964844,
+ "pageY": 242.35000610351562,
+ "screenX": 433.6000061035156,
+ "screenY": 383.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 195016,
+ "waitfor": 1791,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 277.3999938964844,
+ "clientY": 242.35000610351562,
+ "pageX": 277.3999938964844,
+ "pageY": 242.35000610351562,
+ "screenX": 433.6000061035156,
+ "screenY": 383.20001220703125
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 195085,
+ "waitfor": 69,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {
+ "x": 277.3999938964844,
+ "y": 242.35000610351562
+ },
+ "changedTouches": [
+ {
+ "clientX": 277.3999938964844,
+ "clientY": 242.35000610351562,
+ "force": 1,
+ "pageX": 277.3999938964844,
+ "pageY": 242.35000610351562,
+ "screenX": 433.6000061035156,
+ "screenY": 383.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 277.3999938964844,
+ "clientY": 242.35000610351562,
+ "force": 1,
+ "pageX": 277.3999938964844,
+ "pageY": 242.35000610351562,
+ "screenX": 433.6000061035156,
+ "screenY": 383.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 195085,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 258.20001220703125,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 258.20001220703125,
+ "pageY": 239.15000915527344,
+ "screenX": 414.3999938964844,
+ "screenY": 380
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 258.20001220703125,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 258.20001220703125,
+ "pageY": 239.15000915527344,
+ "screenX": 414.3999938964844,
+ "screenY": 380
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 197855,
+ "waitfor": 2770,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 258.20001220703125,
+ "clientY": 239.15000915527344,
+ "pageX": 258.20001220703125,
+ "pageY": 239.15000915527344,
+ "screenX": 414.3999938964844,
+ "screenY": 380
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 197989,
+ "waitfor": 134,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {
+ "x": 258.20001220703125,
+ "y": 239.15000915527344
+ },
+ "changedTouches": [
+ {
+ "clientX": 258.20001220703125,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 258.20001220703125,
+ "pageY": 239.15000915527344,
+ "screenX": 414.3999938964844,
+ "screenY": 380
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 258.20001220703125,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 258.20001220703125,
+ "pageY": 239.15000915527344,
+ "screenX": 414.3999938964844,
+ "screenY": 380
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 197991,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 239.15000915527344,
+ "screenX": 421.6000061035156,
+ "screenY": 380
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 239.15000915527344,
+ "screenX": 421.6000061035156,
+ "screenY": 380
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 201883,
+ "waitfor": 3892,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 239.15000915527344,
+ "pageX": 265.3999938964844,
+ "pageY": 239.15000915527344,
+ "screenX": 421.6000061035156,
+ "screenY": 380
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 202009,
+ "waitfor": 126,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {
+ "x": 265.3999938964844,
+ "y": 239.15000915527344
+ },
+ "changedTouches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 239.15000915527344,
+ "screenX": 421.6000061035156,
+ "screenY": 380
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 265.3999938964844,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 265.3999938964844,
+ "pageY": 239.15000915527344,
+ "screenX": 421.6000061035156,
+ "screenY": 380
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 202011,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 33.400001525878906,
+ "clientY": 35.94999694824219,
+ "force": 1,
+ "pageX": 33.400001525878906,
+ "pageY": 35.94999694824219,
+ "screenX": 189.60000610351562,
+ "screenY": 176.8000030517578
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 33.400001525878906,
+ "clientY": 35.94999694824219,
+ "force": 1,
+ "pageX": 33.400001525878906,
+ "pageY": 35.94999694824219,
+ "screenX": 189.60000610351562,
+ "screenY": 176.8000030517578
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 202956,
+ "waitfor": 945,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 33.400001525878906,
+ "clientY": 35.94999694824219,
+ "pageX": 33.400001525878906,
+ "pageY": 35.94999694824219,
+ "screenX": 189.60000610351562,
+ "screenY": 176.8000030517578
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 203073,
+ "waitfor": 117,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 33.400001525878906,
+ "y": 35.94999694824219
+ },
+ "changedTouches": [
+ {
+ "clientX": 33.400001525878906,
+ "clientY": 35.94999694824219,
+ "force": 1,
+ "pageX": 33.400001525878906,
+ "pageY": 35.94999694824219,
+ "screenX": 189.60000610351562,
+ "screenY": 176.8000030517578
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 33.400001525878906,
+ "clientY": 35.94999694824219,
+ "force": 1,
+ "pageX": 33.400001525878906,
+ "pageY": 35.94999694824219,
+ "screenX": 189.60000610351562,
+ "screenY": 176.8000030517578
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 203075,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 32.600006103515625,
+ "clientY": 35.149993896484375,
+ "force": 1,
+ "pageX": 32.600006103515625,
+ "pageY": 35.149993896484375,
+ "screenX": 188.8000030517578,
+ "screenY": 176
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 32.600006103515625,
+ "clientY": 35.149993896484375,
+ "force": 1,
+ "pageX": 32.600006103515625,
+ "pageY": 35.149993896484375,
+ "screenX": 188.8000030517578,
+ "screenY": 176
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 203963,
+ "waitfor": 888,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 32.600006103515625,
+ "clientY": 35.149993896484375,
+ "pageX": 32.600006103515625,
+ "pageY": 35.149993896484375,
+ "screenX": 188.8000030517578,
+ "screenY": 176
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 204081,
+ "waitfor": 118,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 32.600006103515625,
+ "y": 35.149993896484375
+ },
+ "changedTouches": [
+ {
+ "clientX": 32.600006103515625,
+ "clientY": 35.149993896484375,
+ "force": 1,
+ "pageX": 32.600006103515625,
+ "pageY": 35.149993896484375,
+ "screenX": 188.8000030517578,
+ "screenY": 176
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 32.600006103515625,
+ "clientY": 35.149993896484375,
+ "force": 1,
+ "pageX": 32.600006103515625,
+ "pageY": 35.149993896484375,
+ "screenX": 188.8000030517578,
+ "screenY": 176
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 204083,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 267,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 267,
+ "pageY": 239.15000915527344,
+ "screenX": 423.20001220703125,
+ "screenY": 403.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 267,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 267,
+ "pageY": 239.15000915527344,
+ "screenX": 423.20001220703125,
+ "screenY": 403.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 205795,
+ "waitfor": 1712,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 267,
+ "clientY": 239.15000915527344,
+ "pageX": 267,
+ "pageY": 239.15000915527344,
+ "screenX": 423.20001220703125,
+ "screenY": 403.20001220703125
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 205905,
+ "waitfor": 110,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {
+ "x": 267,
+ "y": 239.15000915527344
+ },
+ "changedTouches": [
+ {
+ "clientX": 267,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 267,
+ "pageY": 239.15000915527344,
+ "screenX": 423.20001220703125,
+ "screenY": 403.20001220703125
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 267,
+ "clientY": 239.15000915527344,
+ "force": 1,
+ "pageX": 267,
+ "pageY": 239.15000915527344,
+ "screenX": 423.20001220703125,
+ "screenY": 403.20001220703125
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 205908,
+ "waitfor": 3,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchstart",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 264.6000061035156,
+ "clientY": 244.75,
+ "force": 1,
+ "pageX": 264.6000061035156,
+ "pageY": 244.75,
+ "screenX": 420.8000183105469,
+ "screenY": 408.8000183105469
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 264.6000061035156,
+ "clientY": 244.75,
+ "force": 1,
+ "pageX": 264.6000061035156,
+ "pageY": 244.75,
+ "screenX": 420.8000183105469,
+ "screenY": 408.8000183105469
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 210530,
+ "waitfor": 4622,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "touchend",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 264.6000061035156,
+ "clientY": 244.75,
+ "pageX": 264.6000061035156,
+ "pageY": 244.75,
+ "screenX": 420.8000183105469,
+ "screenY": 408.8000183105469
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 210656,
+ "waitfor": 126,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "text",
+ "command": "tap",
+ "target": "/view/view[2]/view[1]/text[2]",
+ "value": null,
+ "childName": "main",
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "进阶规则",
+ "eventData": {
+ "detail": {
+ "x": 264.6000061035156,
+ "y": 244.75
+ },
+ "changedTouches": [
+ {
+ "clientX": 264.6000061035156,
+ "clientY": 244.75,
+ "force": 1,
+ "pageX": 264.6000061035156,
+ "pageY": 244.75,
+ "screenX": 420.8000183105469,
+ "screenY": 408.8000183105469
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 264.6000061035156,
+ "clientY": 244.75,
+ "force": 1,
+ "pageX": 264.6000061035156,
+ "pageY": 244.75,
+ "screenX": 420.8000183105469,
+ "screenY": 408.8000183105469
+ }
+ ]
+ },
+ "targetCandidates": [
+ "/view/view[2]/view[1]/text[2]"
+ ],
+ "timeStamp": 210658,
+ "waitfor": 2,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 29.550003051757812,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 29.550003051757812,
+ "screenX": 191.1999969482422,
+ "screenY": 193.60000610351562
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 35,
+ "clientY": 29.550003051757812,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 29.550003051757812,
+ "screenX": 191.1999969482422,
+ "screenY": 193.60000610351562
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 215309,
+ "waitfor": 4651,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 29.550003051757812,
+ "pageX": 35,
+ "pageY": 29.550003051757812,
+ "screenX": 191.1999969482422,
+ "screenY": 193.60000610351562
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 215411,
+ "waitfor": 102,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 35,
+ "y": 29.550003051757812
+ },
+ "changedTouches": [
+ {
+ "clientX": 35,
+ "clientY": 29.550003051757812,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 29.550003051757812,
+ "screenX": 191.1999969482422,
+ "screenY": 193.60000610351562
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 35,
+ "clientY": 29.550003051757812,
+ "force": 1,
+ "pageX": 35,
+ "pageY": 29.550003051757812,
+ "screenX": 191.1999969482422,
+ "screenY": 193.60000610351562
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 215411,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 29.399999618530273,
+ "clientY": 31.150009155273438,
+ "force": 1,
+ "pageX": 29.399999618530273,
+ "pageY": 31.150009155273438,
+ "screenX": 185.60000610351562,
+ "screenY": 195.1999969482422
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 29.399999618530273,
+ "clientY": 31.150009155273438,
+ "force": 1,
+ "pageX": 29.399999618530273,
+ "pageY": 31.150009155273438,
+ "screenX": 185.60000610351562,
+ "screenY": 195.1999969482422
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 219987,
+ "waitfor": 4576,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 29.399999618530273,
+ "clientY": 31.150009155273438,
+ "pageX": 29.399999618530273,
+ "pageY": 31.150009155273438,
+ "screenX": 185.60000610351562,
+ "screenY": 195.1999969482422
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 220129,
+ "waitfor": 142,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 29.399999618530273,
+ "y": 31.150009155273438
+ },
+ "changedTouches": [
+ {
+ "clientX": 29.399999618530273,
+ "clientY": 31.150009155273438,
+ "force": 1,
+ "pageX": 29.399999618530273,
+ "pageY": 31.150009155273438,
+ "screenX": 185.60000610351562,
+ "screenY": 195.1999969482422
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 29.399999618530273,
+ "clientY": 31.150009155273438,
+ "force": 1,
+ "pageX": 29.399999618530273,
+ "pageY": 31.150009155273438,
+ "screenX": 185.60000610351562,
+ "screenY": 195.1999969482422
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 220129,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchstart",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 30.350006103515625,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 30.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 194.40000915527344
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 30.350006103515625,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 30.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 194.40000915527344
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 225503,
+ "waitfor": 5374,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "touchend",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {},
+ "changedTouches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 30.350006103515625,
+ "pageX": 34.19999694824219,
+ "pageY": 30.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 194.40000915527344
+ }
+ ],
+ "touches": []
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 225629,
+ "waitfor": 126,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "tagName": "image",
+ "command": "tap",
+ "target": "image.fanhui-image",
+ "value": null,
+ "path": "pages/student/rules/rule1/rule1",
+ "text": "",
+ "eventData": {
+ "detail": {
+ "x": 34.19999694824219,
+ "y": 30.350006103515625
+ },
+ "changedTouches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 30.350006103515625,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 30.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 194.40000915527344
+ }
+ ],
+ "touches": [
+ {
+ "clientX": 34.19999694824219,
+ "clientY": 30.350006103515625,
+ "force": 1,
+ "pageX": 34.19999694824219,
+ "pageY": 30.350006103515625,
+ "screenX": 190.40000915527344,
+ "screenY": 194.40000915527344
+ }
+ ]
+ },
+ "targetCandidates": [
+ "image.fanhui-image",
+ ".fanhui-image",
+ "/image"
+ ],
+ "timeStamp": 225629,
+ "waitfor": 0,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "pageframe"
+ },
+ {
+ "timeStamp": 229165,
+ "waitfor": 3536,
+ "desc": "",
+ "commandType": "operate",
+ "layer": "native",
+ "command": "navigateLeft",
+ "text": ""
+ },
+ {
+ "layer": "appservice",
+ "command": "mock",
+ "rule": {
+ "ruleId": "e9b17b55-978d-40cb-8803-fd467772c57d",
+ "ruleName": "request 17",
+ "apiName": "request",
+ "enable": true,
+ "verifyFail": false,
+ "isOneTime": true,
+ "filterList": [
+ {
+ "propName": "url",
+ "propRegString": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "filterId": "d6ff8ec1-4c63-4e7a-aaa7-5df5735234ae",
+ "matchType": "string",
+ "matchTypeLabel": "全匹配"
+ }
+ ],
+ "returnConfig": {
+ "returnType": "succ",
+ "generateType": "manual",
+ "manual": {
+ "succ": {
+ "resStr": "{\"data\":{\"name\":\"李龙龙\",\"score\":\"0.0\"},\"header\":{\"Content-Type\":\"application/json\",\"Vary\":\"Accept, Cookie\",\"Allow\":\"GET, OPTIONS\",\"X-Frame-Options\":\"DENY\",\"Content-Length\":\"46\",\"X-Content-Type-Options\":\"nosniff\",\"Referrer-Policy\":\"same-origin\"},\"statusCode\":200,\"cookies\":[],\"accelerateType\":\"none\",\"errMsg\":\"request:ok\"}"
+ },
+ "fail": {
+ "resStr": ""
+ }
+ }
+ },
+ "originArgs": [
+ {
+ "url": "http://10.133.64.210:8000/api/get_student_info/102201701/",
+ "method": "GET"
+ }
+ ],
+ "mediaFiles": {}
+ },
+ "desc": ""
+ },
+ {
+ "timeStamp": 232191,
+ "waitfor": 3026,
+ "desc": "",
+ "layer": "tool",
+ "commandType": "operate",
+ "command": "stopRecord"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/qianduan/minitest/test.config.json b/qianduan/minitest/test.config.json
new file mode 100644
index 0000000..c1ea4f8
--- /dev/null
+++ b/qianduan/minitest/test.config.json
@@ -0,0 +1,9 @@
+{
+ "treeData": [
+ {
+ "title": "minitest-1",
+ "caseId": "85b100f1-fc91-4825-af29-698a75e0bc35",
+ "rootPath": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/qianduan/minitest/testFile/85b100f1-fc91-4825-af29-698a75e0bc35/B3v2pAJwQpKw8e13e46edcca8259284fda49551e10b2.xlsx b/qianduan/minitest/testFile/85b100f1-fc91-4825-af29-698a75e0bc35/B3v2pAJwQpKw8e13e46edcca8259284fda49551e10b2.xlsx
new file mode 100644
index 0000000..50b256c
Binary files /dev/null and b/qianduan/minitest/testFile/85b100f1-fc91-4825-af29-698a75e0bc35/B3v2pAJwQpKw8e13e46edcca8259284fda49551e10b2.xlsx differ
diff --git a/qianduan/minitest/testFile/85b100f1-fc91-4825-af29-698a75e0bc35/LjIb4BfzdxX839e0589601c5d5d3c04e919297b00ad8.png b/qianduan/minitest/testFile/85b100f1-fc91-4825-af29-698a75e0bc35/LjIb4BfzdxX839e0589601c5d5d3c04e919297b00ad8.png
new file mode 100644
index 0000000..1752d54
Binary files /dev/null and b/qianduan/minitest/testFile/85b100f1-fc91-4825-af29-698a75e0bc35/LjIb4BfzdxX839e0589601c5d5d3c04e919297b00ad8.png differ
diff --git a/qianduan/pages/index/index.js b/qianduan/pages/index/index.js
new file mode 100644
index 0000000..3b39048
--- /dev/null
+++ b/qianduan/pages/index/index.js
@@ -0,0 +1,12 @@
+Page({
+ goToStudent() {
+ wx.navigateTo({
+ url: '../student/student?fromIndex=true'
+ });
+ },
+ goToTeacher() {
+ wx.navigateTo({
+ url: '../teacher/teacher'
+ });
+ }
+ });
\ No newline at end of file
diff --git a/qianduan/pages/index/index.json b/qianduan/pages/index/index.json
new file mode 100644
index 0000000..b55b5a2
--- /dev/null
+++ b/qianduan/pages/index/index.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {
+ }
+}
\ No newline at end of file
diff --git a/qianduan/pages/index/index.wxml b/qianduan/pages/index/index.wxml
new file mode 100644
index 0000000..5706a3a
--- /dev/null
+++ b/qianduan/pages/index/index.wxml
@@ -0,0 +1,12 @@
+
+
+"简单"一点
+
+
+
+
+
+
+
+我是老师
+我是学生
diff --git a/qianduan/pages/index/index.wxss b/qianduan/pages/index/index.wxss
new file mode 100644
index 0000000..602196a
--- /dev/null
+++ b/qianduan/pages/index/index.wxss
@@ -0,0 +1,115 @@
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+ z-index: -2;
+}
+.teacher-image {
+ position: absolute; /* 绝对定位 */
+ left: 50px; /* 距离左侧200px */
+ top: 222px; /* 距离顶部150px */
+ width: 260px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.text1 {
+ position: absolute; /* 绝对定位 */
+ left: 28px; /* 距离左侧50px */
+ top:135px; /* 距离顶部50px */
+ font-size: 55px; /* 字号 */
+ margin: 10psx; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 2;
+}
+.green1-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 180px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 1; /* 设置z-index,确保在前面 */
+}
+.green2-image {
+ position: absolute; /* 绝对定位 */
+ left: 125px; /* 距离左侧200px */
+ top: 258px; /* 距离顶部150px */
+ width: 250px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 1; /* 设置z-index,确保在前面 */
+}
+.music-image {
+ position: absolute; /* 绝对定位 */
+ left: 310px; /* 距离左侧200px */
+ top: 90px; /* 距离顶部150px */
+ width: 80px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.home-image {
+ position: absolute; /* 绝对定位 */
+ left: 15px; /* 距离左侧200px */
+ top: 30px; /* 距离顶部150px */
+ width: 40px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.rectangle1 {
+ position: absolute;
+ left: 3px; /* 矩形左上角的横坐标 */
+ top: 25px; /* 矩形左上角的纵坐标 */
+ width: 60px; /* 矩形的宽度 */
+ height: 40px; /* 矩形的高度 */
+ border-radius: 50px; /* 圆角边框 */
+ background-color:#fff4e6 ;
+ border: 3px dashed #e1b474; /* 矩形的边框 */
+ z-index: 1;
+}
+.rectangle2 {
+ position: absolute;
+ left: 80px; /* 矩形左上角的横坐标 */
+ top: 520px; /* 矩形左上角的纵坐标 */
+ width: 200px; /* 矩形的宽度 */
+ height: 60px; /* 矩形的高度 */
+ border-radius: 28px; /* 圆角边框 */
+ background-color:#2b84fe ;
+ border: 1px dashed #bbbbbb; /* 矩形的边框 */
+ z-index: 1;
+}
+.rectangle3 {
+ position: absolute;
+ left: 80px; /* 矩形左上角的横坐标 */
+ top: 600px; /* 矩形左上角的纵坐标 */
+ width: 200px; /* 矩形的宽度 */
+ height: 60px; /* 矩形的高度 */
+ border-radius: 28px; /* 圆角边框 */
+ background-color:#ffdb17 ;
+ border: 1px dashed #bbbbbb; /* 矩形的边框 */
+ z-index: 1;
+}
+.text2 {
+ position: absolute; /* 绝对定位 */
+ left: 105px; /* 距离左侧50px */
+ top:530px; /* 距离顶部50px */
+ font-size: 34px; /* 字号 */
+ margin: 10psx; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f2f2f0; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 2;
+}
+.text3 {
+ position: absolute; /* 绝对定位 */
+ left: 105px; /* 距离左侧50px */
+ top:610px; /* 距离顶部50px */
+ font-size: 34px; /* 字号 */
+ margin: 10psx; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #694b4b; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 2;
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/diandang/dd-not/dd-not.js b/qianduan/pages/student/diandang/dd-not/dd-not.js
new file mode 100644
index 0000000..048ae36
--- /dev/null
+++ b/qianduan/pages/student/diandang/dd-not/dd-not.js
@@ -0,0 +1,13 @@
+// pages/student/diandang/dd-not/dd-not.js
+Page({
+ goyes() {
+ wx.navigateTo({
+ url: '/pages/student/diandang/dd-yes/dd-yes',
+ });
+ },
+ goback() {
+ wx.navigateTo({
+ url: '/pages/student/student',
+ });
+ },
+})
\ No newline at end of file
diff --git a/qianduan/pages/student/diandang/dd-not/dd-not.json b/qianduan/pages/student/diandang/dd-not/dd-not.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/qianduan/pages/student/diandang/dd-not/dd-not.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/diandang/dd-not/dd-not.wxml b/qianduan/pages/student/diandang/dd-not/dd-not.wxml
new file mode 100644
index 0000000..3a48560
--- /dev/null
+++ b/qianduan/pages/student/diandang/dd-not/dd-not.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+回答问题前使用积分进行抵押,如果老师给分在2分以上,积分返还并增加;如果老师给分在2分以下,则抵押的积分被扣除。
+
+
+
+你一定会后悔的
+
diff --git a/qianduan/pages/student/diandang/dd-not/dd-not.wxss b/qianduan/pages/student/diandang/dd-not/dd-not.wxss
new file mode 100644
index 0000000..3b3f61d
--- /dev/null
+++ b/qianduan/pages/student/diandang/dd-not/dd-not.wxss
@@ -0,0 +1,129 @@
+/* pages/student/diandang/dd-yes/dd-yes.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+
+
+.rectangle1 {
+ position: absolute;
+ flex-direction: row; /* 元素横向排列 */
+ left: 0px; /* 矩形左上角的横坐标 */
+ top: 526px; /* 矩形左上角的纵坐标 */
+ width: 372px; /* 矩形的宽度 */
+ height: 47px; /* 矩形的高度 */
+ background-color: #e9b464; /* 矩形的背景颜色 */
+ border: 2px solid #bbbbbb; /* 矩形的边框 */
+ z-index: 1;
+ display: flex; /* 使用 flexbox 布局 */
+ align-items: center; /* 垂直居中 */
+ justify-content: space-around; /* 水平分布 */
+}
+.radio-label {
+ display: flex;
+ align-items: center;
+ margin-right: 5px; /* 元素之间的间距 */
+}
+
+.radio-input {
+ display: none;
+}
+
+.radio-custom {
+ width: 20px;
+ height: 20px;
+ border: 2px solid #333;
+ border-radius: 50%;
+ position: relative;
+ margin-right: 5px;
+}
+
+.radio-input:checked + .radio-custom {
+ border-color: green; /* 选中后边框颜色 */
+}
+
+.radio-input:checked + .radio-custom::after {
+ content: "";
+ display: block;
+ width: 12px;
+ height: 12px;
+ background-color: green; /* 选中后圆点颜色 */
+ border-radius: 50%;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.radio-text {
+ font-size: 18px;
+ color: #333333;
+}
+.rectangle2 {
+ position: absolute;
+ left: 0px; /* 矩形左上角的横坐标 */
+ top: 577px; /* 矩形左上角的纵坐标 */
+ width: 372px; /* 矩形的宽度 */
+ height: 130px; /* 矩形的高度 */
+ background-color: #cd8b01; /* 矩形的背景颜色 */
+ z-index: 2
+}
+.custom-text {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧50px */
+ top:589px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f2de12; /* 文本颜色 */
+
+ padding: 10px; /* 内边距 */
+ z-index: 3
+}
+.boss-image {
+ position: absolute; /* 绝对定位 */
+ left: 100px; /* 距离左侧200px */
+ top: 185px; /* 距离顶部150px */
+ width: 300px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.dd-image {
+ position: absolute; /* 绝对定位 */
+ left: 128px; /* 距离左侧200px */
+ top: 50px; /* 距离顶部150px */
+ width: 120px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.yun-image {
+ position: absolute; /* 绝对定位 */
+ left: 50px; /* 距离左侧200px */
+ top: 250px; /* 距离顶部150px */
+ width: 160px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.boss-text {
+ position: absolute; /* 绝对定位 */
+ left: 48px; /* 距离左侧50px */
+ top:275px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 5
+}
+
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/diandang/dd-yes/dd-yes.js b/qianduan/pages/student/diandang/dd-yes/dd-yes.js
new file mode 100644
index 0000000..c90710e
--- /dev/null
+++ b/qianduan/pages/student/diandang/dd-yes/dd-yes.js
@@ -0,0 +1,71 @@
+Page({
+ data: {
+ studentName: '',
+ studentId: '',
+ showInputModal: false, // 控制输入框的显示
+ pledgeScore: 0, // 典当积分
+ },
+
+ onLoad(options) {
+ // 从前一个页面获取学生信息
+ this.setData({
+ studentId: options.studentId,
+ studentName: options.studentName,
+ });
+ },
+
+ goback() {
+ wx.navigateTo({
+ url: '/pages/student/student',
+ });
+ },
+
+ confirmPledge() {
+ // 显示输入框
+ this.setData({ showInputModal: true });
+ },
+
+ cancelPledge() {
+ wx.navigateTo({
+ url: '/pages/student/diandang/dd-not/dd-not',
+ });
+ },
+
+ closeInputModal() {
+ this.setData({ showInputModal: false });
+ // wx.navigateTo({
+ // url: '/pages/student/student',
+ // });
+ },
+
+ handlePledgeInput(e) {
+ this.setData({ pledgeScore: e.detail.value });
+ },
+
+ submitPledge() {
+ const { studentId, studentName, pledgeScore } = this.data;
+
+ // 发送请求保存典当信息
+ wx.request({
+ url: 'http://127.0.0.1:8000/api/create_pledge/',
+ method: 'POST',
+ data: {
+ studentId: studentId,
+ studentName: studentName,
+ pledgeScore: pledgeScore,
+ },
+ success: (res) => {
+ if (res.statusCode === 201) {
+ wx.showToast({ title: '典当信息已保存', icon: 'success' });
+ this.closeInputModal(); // 关闭输入框
+ wx.navigateBack(); // 返回上一页
+ } else {
+ wx.showToast({ title: '典当失败', icon: 'none' });
+ }
+ },
+ fail: () => {
+ wx.showToast({ title: '请求失败,请检查网络', icon: 'none' });
+ }
+ });
+ },
+ });
\ No newline at end of file
diff --git a/qianduan/pages/student/diandang/dd-yes/dd-yes.json b/qianduan/pages/student/diandang/dd-yes/dd-yes.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/qianduan/pages/student/diandang/dd-yes/dd-yes.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/diandang/dd-yes/dd-yes.wxml b/qianduan/pages/student/diandang/dd-yes/dd-yes.wxml
new file mode 100644
index 0000000..6bf0bb6
--- /dev/null
+++ b/qianduan/pages/student/diandang/dd-yes/dd-yes.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+回答问题前使用积分进行抵押,如果老师给分在2分以上,积分返还并增加;如果老师给分在2分以下,则抵押的积分被扣除。
+
+
+
+你是否要进行
+积分典当呢?
+
+
+
+
+
+
+
+
diff --git a/qianduan/pages/student/diandang/dd-yes/dd-yes.wxss b/qianduan/pages/student/diandang/dd-yes/dd-yes.wxss
new file mode 100644
index 0000000..cc30086
--- /dev/null
+++ b/qianduan/pages/student/diandang/dd-yes/dd-yes.wxss
@@ -0,0 +1,124 @@
+/* pages/student/diandang/dd-yes/dd-yes.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+
+
+.rectangle1 {
+ position: absolute;
+ flex-direction: row; /* 元素横向排列 */
+ left: 0px; /* 矩形左上角的横坐标 */
+ top: 526px; /* 矩形左上角的纵坐标 */
+ width: 372px; /* 矩形的宽度 */
+ height: 47px; /* 矩形的高度 */
+ background-color: #e9b464; /* 矩形的背景颜色 */
+ border: 2px solid #bbbbbb; /* 矩形的边框 */
+ z-index: 3;
+ display: flex; /* 使用 flexbox 布局 */
+ align-items: center; /* 垂直居中 */
+ justify-content: space-around; /* 水平分布 */
+}
+.radio-label {
+ display: flex;
+ align-items: center;
+ margin-right: 5px; /* 元素之间的间距 */
+}
+
+.radio-input {
+ display: none;
+}
+
+.radio-custom {
+ width: 20px;
+ height: 20px;
+ border: 2px solid #333;
+ border-radius: 50%;
+ position: relative;
+ margin-right: 5px;
+}
+
+.radio-input:checked + .radio-custom {
+ border-color: green; /* 选中后边框颜色 */
+}
+
+.radio-input:checked + .radio-custom::after {
+ content: "";
+ display: block;
+ width: 12px;
+ height: 12px;
+ background-color: green; /* 选中后圆点颜色 */
+ border-radius: 50%;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+.rectangle2 {
+ position: absolute;
+ left: 0px; /* 矩形左上角的横坐标 */
+ top: 577px; /* 矩形左上角的纵坐标 */
+ width: 372px; /* 矩形的宽度 */
+ height: 130px; /* 矩形的高度 */
+ background-color: #cd8b01; /* 矩形的背景颜色 */
+ z-index: 2
+}
+.custom-text {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧50px */
+ top:589px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f2de12; /* 文本颜色 */
+
+ padding: 10px; /* 内边距 */
+ z-index: 3
+}
+.boss-image {
+ position: absolute; /* 绝对定位 */
+ left: 180px; /* 距离左侧200px */
+ top: 348px; /* 距离顶部150px */
+ width: 220px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 1; /* 设置z-index,确保在前面 */
+}
+.dd-image {
+ position: absolute; /* 绝对定位 */
+ left: 128px; /* 距离左侧200px */
+ top: 50px; /* 距离顶部150px */
+ width: 120px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.yun-image {
+ position: absolute; /* 绝对定位 */
+ left: 50px; /* 距离左侧200px */
+ top: 250px; /* 距离顶部150px */
+ width: 160px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.boss-text {
+ position: absolute; /* 绝对定位 */
+ left: 55px; /* 距离左侧50px */
+ top:275px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4
+}
+
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/dm/dm.js b/qianduan/pages/student/dm/dm.js
new file mode 100644
index 0000000..68b296e
--- /dev/null
+++ b/qianduan/pages/student/dm/dm.js
@@ -0,0 +1,138 @@
+Page({
+ data: {
+ showModal: false,
+ mystudentName: '',
+ mystudentId: '',
+ myscore: 0,
+ studentName: '',
+ studentId: '',
+ socket: null, // 保存WebSocket连接
+ },
+ goBack() {
+ wx.navigateTo({
+ url: '/pages/student/student',
+ });
+ },
+
+ onLoad(options) {
+ // 获取传递的数据
+ this.setData({
+ mystudentId: options.studentId,
+ mystudentName: options.studentName,
+ myscore: options.score,
+ });
+ this.connectWebSocket();
+ this.fetchStudentInfo();
+ },
+
+ // 连接 WebSocket
+ connectWebSocket() {
+ const socket = wx.connectSocket({
+ url: 'ws://127.0.0.1:8000/ws/classroom/',
+ });
+
+ socket.onMessage((message) => {
+ const data = JSON.parse(message.data);
+ if (data.action === 'student_picked') {
+ this.setData({
+ showModal: true,
+ studentName: data.name,
+ studentId: data.student_id,
+ });
+ // 弹窗显示被点中的学生
+ wx.showModal({
+ title: '点名结果',
+ content: `被点中的同学:姓名: ${this.data.studentName} 学号: ${this.data.studentId}`,
+ showCancel: false,
+ success: (res) => {
+ if (res.confirm) {
+ this.setData({ showModal: false });
+ }
+ }
+ });
+ }
+ });
+ this.setData({ socket });
+ },
+
+ // 豁免卡机制
+ useExemptionCard() {
+ wx.showModal({
+ title: '使用豁免卡',
+ content: `确认使用豁免卡吗?
+ 购买点名豁免卡,可以实现点名豁免一次,一张需要10积分。(只有提问时可使用)`,
+ success: (res) => {
+ if (res.confirm) {
+ // 更新积分
+ const newScore = this.data.myscore - 10;
+ this.setData({ myscore: newScore });
+
+ // 发送豁免卡信息给教师端
+ this.sendExemptionCardInfo();
+ } else {
+ // 用户选择不使用豁免卡
+ wx.showToast({ title: '未使用豁免卡', icon: 'none' });
+ }
+ }
+ });
+ },
+
+ sendExemptionCardInfo() {
+ const { mystudentId, mystudentName, myscore, socket } = this.data;
+
+ // 通过 WebSocket 向教师端发送豁免卡信息
+ const message = {
+ action: 'use_exemption_card',
+ studentId: mystudentId,
+ studentName: mystudentName,
+ newScore: myscore, // 更新后的积分
+ };
+
+ if (socket) {
+ socket.send({
+ data: JSON.stringify(message),
+ success: () => {
+ wx.showToast({ title: '豁免卡信息已发送', icon: 'success' });
+ },
+ fail: () => {
+ wx.showToast({ title: '发送信息失败', icon: 'none' });
+ }
+ });
+ } else {
+ wx.showToast({ title: 'WebSocket连接未建立', icon: 'none' });
+ }
+ },
+
+ // 下拉刷新
+ onPullDownRefresh() {
+ this.fetchStudentInfo(); // 获取最新的学生信息
+ },
+
+ // 从服务器获取学生最新信息
+ fetchStudentInfo() {
+ const { mystudentId } = this.data;
+
+ wx.request({
+ url: `http://127.0.0.1:8000/api/get_student_info/${mystudentId}/`, // 替换为你的 API 地址
+ method: 'GET',
+ success: (res) => {
+ if (res.statusCode === 200) {
+ const { name, score } = res.data;
+ this.setData({
+ mystudentName: name,
+ myscore: score, // 更新当前积分
+ });
+ wx.showToast({ title: '信息更新成功', icon: 'success' });
+ } else {
+ wx.showToast({ title: '获取信息失败', icon: 'none' });
+ }
+ wx.stopPullDownRefresh(); // 停止下拉刷新
+ },
+ fail: () => {
+ wx.showToast({ title: '请求失败,请检查网络', icon: 'none' });
+ wx.stopPullDownRefresh(); // 停止下拉刷新
+ }
+ });
+ },
+
+ });
\ No newline at end of file
diff --git a/qianduan/pages/student/dm/dm.json b/qianduan/pages/student/dm/dm.json
new file mode 100644
index 0000000..331ad4f
--- /dev/null
+++ b/qianduan/pages/student/dm/dm.json
@@ -0,0 +1,3 @@
+{
+ "enablePullDownRefresh": true
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/dm/dm.wxml b/qianduan/pages/student/dm/dm.wxml
new file mode 100644
index 0000000..6f22682
--- /dev/null
+++ b/qianduan/pages/student/dm/dm.wxml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ 姓名:{{mystudentName}}
+
+ 当前积分: {{myscore}}
+
+
+
+
+ 要点名啦
+ 点名豁免卡
+
\ No newline at end of file
diff --git a/qianduan/pages/student/dm/dm.wxss b/qianduan/pages/student/dm/dm.wxss
new file mode 100644
index 0000000..8565539
--- /dev/null
+++ b/qianduan/pages/student/dm/dm.wxss
@@ -0,0 +1,127 @@
+/* pages/student/dm/dm.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+.card-image {
+ position: absolute; /* 绝对定位 */
+ left: 210px; /* 距离左侧200px */
+ top: 510px; /* 距离顶部150px */
+ width: 150px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.green-image {
+ position: absolute; /* 绝对定位 */
+ left: -30px; /* 距离左侧200px */
+ top: -80px; /* 距离顶部150px */
+ width: 300px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.green-image1 {
+ position: absolute; /* 绝对定位 */
+ left: -50px; /* 距离左侧更左边,例如减小到 -100px */
+ top: -90px; /* 距离顶部更高,例如减小到 -100px */
+ width: 350px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.green-image2 {
+ position: absolute; /* 绝对定位 */
+ left: -20px; /* 距离左侧更左边,例如减小到 -100px */
+ top: -45px; /* 距离顶部更高,例如减小到 -100px */
+ width: 350px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.name {
+ position: absolute; /* 绝对定位 */
+ left: 20px; /* 距离左侧50px */
+ top:45px; /* 距离顶部50px */
+ font-size: 24px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#fdc904 ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.circle1 {
+ width: 250px; /* 圆形的宽度 */
+ height: 250px; /* 圆形的高度 */
+ background-color: #ffb6a4; /* 圆形的背景颜色 */
+ border: 5px solid #f1e029; /* 矩形的边框 */
+ box-shadow: 0px 0px 20px 10px rgba(0, 0, 0, 0.5); /* 添加阴影 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 250px;
+ z-index: 3;
+}
+.hu-image {
+ position: absolute; /* 绝对定位 */
+ left: 45px; /* 距离左侧更左边,例如减小到 -100px */
+ top: 250px; /* 距离顶部更高,例如减小到 -100px */
+ width: 270px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 5; /* 设置z-index,确保在前面 */
+}
+.hu-image2 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧更左边,例如减小到 -100px */
+ top: 270px; /* 距离顶部更高,例如减小到 -100px */
+ width: 230px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 5; /* 设置z-index,确保在前面 */
+}
+.dm-text {
+ position: absolute; /* 绝对定位 */
+ left: 75px; /* 距离左侧50px */
+ top:345px; /* 距离顶部50px */
+ font-size: 40px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#767676 ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 7;
+ opacity: 0.9;
+}
+.card-text {
+ position: absolute; /* 绝对定位 */
+ left: 200px; /* 距离左侧50px */
+ top:620px; /* 距离顶部50px */
+ font-size: 25px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#fdc904 ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 7;
+ opacity: 0.9;
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+.grade1 {
+ position: absolute; /* 绝对定位 */
+ left: 20px; /* 距离左侧50px */
+ top:45px; /* 距离顶部50px */
+ font-size: 24px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#fdc904 ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/rank/rank.js b/qianduan/pages/student/rank/rank.js
new file mode 100644
index 0000000..ee6b92c
--- /dev/null
+++ b/qianduan/pages/student/rank/rank.js
@@ -0,0 +1,39 @@
+Page({
+ data: {
+ leaderboard: [], // 存储排行榜数据
+ },
+
+ onLoad() {
+ this.fetchLeaderboard();
+ },
+ goback() {
+ wx.navigateTo({
+ url: '/pages/student/student',
+ });
+ },
+
+ fetchLeaderboard() {
+ wx.request({
+ url: 'http://127.0.0.1:8000/api/leaderboard/', // 获取排行榜的 API
+ method: 'GET',
+ success: (res) => {
+ if (res.statusCode === 200) {
+ this.setData({
+ leaderboard: res.data, // 设置排行榜数据
+ });
+ } else {
+ wx.showToast({
+ title: '获取排行榜失败',
+ icon: 'none',
+ });
+ }
+ },
+ fail: () => {
+ wx.showToast({
+ title: '请求失败,请检查网络',
+ icon: 'none',
+ });
+ }
+ });
+ },
+ });
\ No newline at end of file
diff --git a/qianduan/pages/student/rank/rank.json b/qianduan/pages/student/rank/rank.json
new file mode 100644
index 0000000..331ad4f
--- /dev/null
+++ b/qianduan/pages/student/rank/rank.json
@@ -0,0 +1,3 @@
+{
+ "enablePullDownRefresh": true
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/rank/rank.wxml b/qianduan/pages/student/rank/rank.wxml
new file mode 100644
index 0000000..57cbe00
--- /dev/null
+++ b/qianduan/pages/student/rank/rank.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 学生 积分 排行
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+ {{item.score}} {{index + 1}}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/qianduan/pages/student/rank/rank.wxss b/qianduan/pages/student/rank/rank.wxss
new file mode 100644
index 0000000..9616556
--- /dev/null
+++ b/qianduan/pages/student/rank/rank.wxss
@@ -0,0 +1,370 @@
+/* pages/student/rank/rank.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+.p1-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 500px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.p2-image {
+ position: absolute; /* 绝对定位 */
+ left: 160px; /* 距离左侧200px */
+ top: 480px; /* 距离顶部150px */
+ width: 240px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.vs-image {
+ position: absolute; /* 绝对定位 */
+ left: 120px; /* 距离左侧200px */
+ top: 530px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.rank1-image {
+ position: absolute; /* 绝对定位 */
+ left: 80px; /* 距离左侧200px */
+ top:0px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.rectangle {
+ position: absolute;
+ left: 30px; /* 矩形左上角的横坐标 */
+ top: 100px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 350px; /* 矩形的高度 */
+ background-color: rgba(132, 200, 200, 0.6); /* 原色,透明度50% */
+ z-index: 1;
+ border: 13px solid #bd92f4; /* 矩形的边框 */
+ border-radius: 30px; /* 圆角边框 */
+}
+.rectangle-00 {
+ position: absolute;
+ left: 46px; /* 矩形左上角的横坐标 */
+ top: 155px; /* 矩形左上角的纵坐标 */
+ width: 274px; /* 矩形的宽度 */
+ height: 32px; /* 矩形的高度 */
+ background-color: #ececec;
+ z-index: 3;
+ border-radius: 10px; /* 圆角边框 */
+ opacity: 0.7;
+}
+.rectangle-01 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 192px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #4a65b1;
+ z-index: 3;
+ opacity: 0.9;
+}
+.rectangle-02 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 247px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #8a8eda;
+ z-index: 3;
+ opacity: 0.7;
+}
+.rectangle-03 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 302px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #4a65b1;
+ z-index: 3;
+ opacity: 0.9;
+}
+.rectangle-04 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 357px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #8a8eda;
+ z-index: 3;
+ opacity: 0.7;
+}
+.rectangle-05 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 412px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #4a65b1;
+ z-index: 3;
+ opacity: 0.9;
+ border-radius: 7px; /* 圆角边框 */
+}
+.rank-text {
+ position: absolute; /* 绝对定位 */
+ left: 55px; /* 距离左侧50px */
+ top:140px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4d4dcd; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4
+}
+
+.circle1 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 196px;
+ z-index: 3;
+}
+.circle2 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color:#cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 250px;
+ z-index: 3;
+}
+.circle3 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 305px;
+ z-index: 3;
+}
+.circle4 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 361px;
+ z-index: 3;
+}
+.circle5 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 415px;
+ z-index: 3;
+}
+.image1 {
+ position: absolute; /* 绝对定位 */
+ left: 58px; /* 距离左侧200px */
+ top:203px; /* 距离顶部150px */
+ width: 30px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image2 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:246px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image3 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:292px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image4 {
+ position: absolute; /* 绝对定位 */
+ left: 53px; /* 距离左侧200px */
+ top:359px; /* 距离顶部150px */
+ width: 38px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image5 {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top:395px; /* 距离顶部150px */
+ width: 150px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image6 {
+ position: absolute; /* 绝对定位 */
+ left: 60px; /* 距离左侧200px */
+ top:180px; /* 距离顶部150px */
+ width: 40px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.text1 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:165px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text2 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:220px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text3 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:275px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text8 {
+ position: absolute; /* 绝对定位 */
+ left: 170px; /* 距离左侧50px */
+ top:275px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text4 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:330px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text9 {
+ position: absolute; /* 绝对定位 */
+ left: 170px; /* 距离左侧50px */
+ top:330px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text5 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:388px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text6 {
+ position: absolute; /* 绝对定位 */
+ left: 170px; /* 距离左侧50px */
+ top:165px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text7 {
+ position: absolute; /* 绝对定位 */
+ left: 170px; /* 距离左侧50px */
+ top:220px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text10 {
+ position: absolute; /* 绝对定位 */
+ left: 170px; /* 距离左侧50px */
+ top:388px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/rules/rule1/rule1.js b/qianduan/pages/student/rules/rule1/rule1.js
new file mode 100644
index 0000000..68220ad
--- /dev/null
+++ b/qianduan/pages/student/rules/rule1/rule1.js
@@ -0,0 +1,18 @@
+
+Page({
+ data: {},
+ onLoad() {
+ console.log('规则页面加载');
+ },
+ goBack() {
+ wx.navigateTo({
+ url: '/pages/student/student',
+ });
+ },
+ goTorule2() {
+ console.log('点击了rule2按钮'); // 添加调试信息
+ wx.navigateTo({
+ url: `/pages/student/rules/rule2/rule2`,
+ });
+ },
+ });
\ No newline at end of file
diff --git a/qianduan/pages/student/rules/rule1/rule1.json b/qianduan/pages/student/rules/rule1/rule1.json
new file mode 100644
index 0000000..080cc92
--- /dev/null
+++ b/qianduan/pages/student/rules/rule1/rule1.json
@@ -0,0 +1,3 @@
+{
+ "navigationBarTitleText": "游戏规则"
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/rules/rule1/rule1.wxml b/qianduan/pages/student/rules/rule1/rule1.wxml
new file mode 100644
index 0000000..d263134
--- /dev/null
+++ b/qianduan/pages/student/rules/rule1/rule1.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+ 基础规则
+ 进阶规则
+
+
+
+ (1) 初始积分为0;
+ (2) 每点到一次且到达课堂,即积分+1;
+ (3) 点名回答问题时,能够准确答复所提问的问题,则加0.5分,否则扣1分;准备回答,依据情况加0.5~3分。
+ (4) 积分越高,被点到的概率就越低。
+
+
+
+
diff --git a/qianduan/pages/student/rules/rule1/rule1.wxss b/qianduan/pages/student/rules/rule1/rule1.wxss
new file mode 100644
index 0000000..d303e20
--- /dev/null
+++ b/qianduan/pages/student/rules/rule1/rule1.wxss
@@ -0,0 +1,68 @@
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+
+.header {
+ text-align: center;
+}
+
+.title-image {
+ width: 500rpx;
+ max-height: 300px;
+ margin: -100px auto 0 auto; /* 向上移动20像素 */
+
+}
+
+.rules {
+ background-color:#d8bfab;
+ margin: -60px 50rpx 150rpx 50rpx;
+ border-radius: 34rpx;
+ padding-bottom: 30rpx;
+}
+
+.tab {
+ font-size: 40rpx;
+ display: flex;
+ justify-content: space-around;
+ background-color: #d8bfab;
+ padding: 65rpx 0rpx;
+ border-radius: 34rpx;
+}
+
+.tab text {
+ flex: 1;
+ text-align: center;
+ font-weight: bold;
+ color: #666;
+}
+
+.tab .active {
+ color: #333333;
+ text-decoration: underline; /* 添加下划线 */
+}
+
+.content {
+ margin: 0rpx 50rpx 90rpx 50rpx;
+ background-color: #b89172; /* 棕色背景 */
+ border-radius: 34rpx; /* 圆角 */
+ padding: 50rpx; /* 内边距,确保文本不靠边 */
+}
+
+
+
+.content text {
+ display: block;
+ color: #101010;
+ margin-bottom: 30rpx;
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/rules/rule2/rule2.js b/qianduan/pages/student/rules/rule2/rule2.js
new file mode 100644
index 0000000..1cb07dd
--- /dev/null
+++ b/qianduan/pages/student/rules/rule2/rule2.js
@@ -0,0 +1,15 @@
+
+Page({
+
+ goBack() {
+ wx.navigateTo({
+ url: '/pages/student/student',
+ });
+ },
+ goTorule1() {
+ console.log('点击了rule1按钮'); // 添加调试信息
+ wx.navigateTo({
+ url: `/pages/student/rules/rule1/rule1`,
+ });
+ },
+})
\ No newline at end of file
diff --git a/qianduan/pages/student/rules/rule2/rule2.json b/qianduan/pages/student/rules/rule2/rule2.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/qianduan/pages/student/rules/rule2/rule2.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/rules/rule2/rule2.wxml b/qianduan/pages/student/rules/rule2/rule2.wxml
new file mode 100644
index 0000000..017b183
--- /dev/null
+++ b/qianduan/pages/student/rules/rule2/rule2.wxml
@@ -0,0 +1,17 @@
+
+
+
+
+ 基础规则
+ 进阶规则
+
+
+
+ 点名豁免卡:学生可以使用积分购买“点名豁免卡”,在被点名时使用,可以避免回答问题。
+ 积分抵押典当:学生可以在回答问题前使用积分进行抵押,如果老师给分在2分以上,积分返还并增加;如果老师给分在2分以下,则抵押的积分被扣除。
+
+
+
+
diff --git a/qianduan/pages/student/rules/rule2/rule2.wxss b/qianduan/pages/student/rules/rule2/rule2.wxss
new file mode 100644
index 0000000..3aae1fb
--- /dev/null
+++ b/qianduan/pages/student/rules/rule2/rule2.wxss
@@ -0,0 +1,70 @@
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+
+.header {
+ text-align: center;
+}
+
+.title-image {
+ width: 500rpx;
+ max-height: 300px;
+ margin: -100px auto 0 auto; /* 向上移动20像素 */
+
+}
+
+.rules {
+ background-color:#d8bfab;
+ margin: -60px 50rpx 150rpx 50rpx;
+ border-radius: 34rpx;
+ padding-bottom: 30rpx;
+}
+
+.tab {
+ font-size: 40rpx;
+ display: flex;
+ justify-content: space-around;
+ background-color: #d8bfab;
+ padding: 65rpx 0rpx;
+ border-radius: 34rpx;
+}
+
+.tab text {
+ flex: 1;
+ text-align: center;
+ font-weight: bold;
+ color: #666;
+}
+
+.tab .active {
+ color: #333333;
+ text-decoration: underline; /* 添加下划线 */
+}
+
+.content {
+ margin: 0rpx 50rpx 90rpx 50rpx;
+ background-color: #b89172; /* 棕色背景 */
+ border-radius: 34rpx; /* 圆角 */
+ padding: 50rpx; /* 内边距,确保文本不靠边 */
+}
+
+.bold {
+ font-weight: bold; /* 这将使文本加粗 */
+}
+
+.content text {
+ display: block;
+ color: #101010;
+ margin-bottom: 30rpx;
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/student.js b/qianduan/pages/student/student.js
new file mode 100644
index 0000000..653d9b0
--- /dev/null
+++ b/qianduan/pages/student/student.js
@@ -0,0 +1,173 @@
+Page({
+ data: {
+ studentName: '',
+ studentId: '',
+ avatar: '/image/4.png', // 默认头像
+ showModal: false, // 控制模态框显示
+ score: 0, // 学生积分
+ refreshing: false // 控制下拉刷新的状态
+ },
+
+ onLoad(options) {
+ const app = getApp();
+ const { fromIndex } = options; // 获取参数
+
+ if (fromIndex) {
+ // 清空全局变量和数据
+ app.globalData.studentInfo = null;
+ this.setData({
+ studentName: '',
+ studentId: '',
+ score: 0,
+ avatar: '/image/4.png'
+ });
+ } else if (app.globalData.studentInfo) {
+ const { studentName, studentId, score, avatar } = app.globalData.studentInfo;
+ this.setData({ studentName, studentId, score, avatar });
+ }
+ },
+
+ onShow() {
+ // 页面显示时只更新积分
+ this.updateScore();
+ },
+
+ showLoginModal() {
+ this.setData({ showModal: true });
+ },
+
+ handleInput(e) {
+ const { field } = e.currentTarget.dataset;
+ const value = e.detail.value;
+ this.setData({ [field]: value });
+ },
+
+ confirmInput() {
+ const { studentName, studentId } = this.data;
+
+ if (!studentName || !studentId) {
+ wx.showToast({ title: '请填写完整信息', icon: 'none' });
+ return;
+ }
+
+ this.setData({ showModal: false });
+
+ wx.request({
+ url: `http://127.0.0.1:8000/api/get_student_info/${studentId}/`,
+ method: 'GET',
+ success: (res) => {
+ if (res.statusCode === 200) {
+ this.setData({
+ score: res.data.score,
+ avatar: res.data.avatar || this.data.avatar // 更新头像
+ });
+
+ // 将学生信息存入全局变量
+ const app = getApp();
+ app.globalData.studentInfo = {
+ studentName,
+ studentId,
+ score: res.data.score,
+ avatar: this.data.avatar,
+ };
+ } else {
+ wx.showToast({ title: '信息错误,请重试', icon: 'none' });
+ }
+ },
+ fail: (error) => {
+ wx.showToast({ title: '无法获取学生信息,请检查网络连接', icon: 'none' });
+ }
+ });
+ },
+
+ cancelInput() {
+ this.setData({ showModal: false });
+ },
+
+ // 下拉刷新功能
+ onRefresh() {
+ this.setData({ refreshing: true }); // 开始刷新
+ this.updateScore(); // 更新积分
+ },
+
+ updateScore() {
+ const { studentId } = this.data;
+ if (!studentId) {
+ // wx.showToast({ title: '学生 ID 丢失', icon: 'none' });
+ this.setData({ refreshing: false }); // 刷新结束
+ return;
+ }
+ wx.request({
+ url: `http://127.0.0.1:8000/api/get_student_info/${studentId}/`,
+ method: 'GET',
+ success: (res) => {
+ console.log(res.data); // 打印 API 返回的数据
+ if (res.statusCode === 200) {
+ this.setData({
+ score: res.data.score,
+ refreshing: false // 刷新结束
+ });
+ } else {
+ wx.showToast({ title: '更新失败', icon: 'none' });
+ this.setData({ refreshing: false }); // 刷新结束
+ }
+ },
+ fail: (error) => {
+ wx.showToast({ title: '请求失败,请检查网络', icon: 'none' });
+ this.setData({ refreshing: false }); // 刷新结束
+ }
+ });
+ },
+
+ // 上传头像
+ uploadAvatar() {
+ wx.chooseImage({
+ count: 1,
+ sizeType: ['compressed'],
+ sourceType: ['album', 'camera'],
+ success: (res) => {
+ const tempFilePath = res.tempFilePaths[0];
+ this.setData({ avatar: tempFilePath });
+ },
+ fail: (error) => {
+ wx.showToast({ title: '上传失败,请重试', icon: 'none' });
+ }
+ });
+ },
+
+
+ // 跳转到点名功能
+ rollCall() {
+ wx.navigateTo({
+ // url: '/pages/student/dm/dm?studentId=' + this.data.studentId,
+ url: `/pages/student/dm/dm?studentId=${this.data.studentId}&studentName=${this.data.studentName}&score=${this.data.score}`,
+ });
+ },
+
+ goBack() {
+ wx.navigateTo({
+ url: '/pages/index/index',
+ });
+ },
+
+// 跳转到排行榜
+ goTorank() {
+ console.log('点击了排行榜按钮'); // 添加调试信息
+ wx.navigateTo({
+ url: '/pages/student/rank/rank',
+ });
+},
+ // 跳转到典当页面
+ goToPledge() {
+ console.log('点击了典当按钮'); // 添加调试信息
+ wx.navigateTo({
+ url: `/pages/student/diandang/dd-yes/dd-yes?studentId=${this.data.studentId}&studentName=${this.data.studentName}`,
+ });
+ },
+ goToguize() {
+ console.log('点击了规则按钮'); // 添加调试信息
+ wx.navigateTo({
+ url: `/pages/student/rules/rule1/rule1`,
+ });
+ },
+});
diff --git a/qianduan/pages/student/student.json b/qianduan/pages/student/student.json
new file mode 100644
index 0000000..331ad4f
--- /dev/null
+++ b/qianduan/pages/student/student.json
@@ -0,0 +1,3 @@
+{
+ "enablePullDownRefresh": true
+}
\ No newline at end of file
diff --git a/qianduan/pages/student/student.wxml b/qianduan/pages/student/student.wxml
new file mode 100644
index 0000000..6ce1247
--- /dev/null
+++ b/qianduan/pages/student/student.wxml
@@ -0,0 +1,50 @@
+
+
+
+
+
+ 学号:
+
+
+
+ 姓名:
+
+
+
+ 上传头像:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+规则
+
+
+
+
+
+
+
+ {{studentName}}
+点
+
+名
+当前积分: {{score}}
+
+
+
diff --git a/qianduan/pages/student/student.wxss b/qianduan/pages/student/student.wxss
new file mode 100644
index 0000000..e073b46
--- /dev/null
+++ b/qianduan/pages/student/student.wxss
@@ -0,0 +1,260 @@
+/* pages/student/student.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center -50px;
+}
+.lanren-image {
+ position: absolute; /* 绝对定位 */
+ left: -33px; /* 距离左侧200px */
+ top: 452px; /* 距离顶部150px */
+ width: 410px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.zi-image {
+ position: absolute; /* 绝对定位 */
+ left: 160px; /* 距离左侧200px */
+ top: 132px; /* 距离顶部150px */
+ width: 230px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 1; /* 设置z-index,确保在前面 */
+}
+.dd-image {
+ position: absolute; /* 绝对定位 */
+ left:16px; /* 距离左侧200px */
+ top: 366px; /* 距离顶部150px */
+ width: 100px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.circle1{
+ width: 110px; /* 圆形的宽度 */
+ height: 110px; /* 圆形的高度 */
+ background-color: #951d1d; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 10px;
+ top: 361px;
+ z-index: 1;
+}
+.guize-image {
+ position: absolute; /* 绝对定位 */
+ left:295px; /* 距离左侧200px */
+ top: 50px; /* 距离顶部150px */
+ width: 60px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+}
+.text1 {
+ position: absolute; /* 绝对定位 */
+ left: 288px; /* 距离左侧50px */
+ top:105px; /* 距离顶部50px */
+ font-size: 25px; /* 字号 */
+ margin: 10psx; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 2;
+}
+.paihang-image {
+ position: absolute; /* 绝对定位 */
+ left:8px; /* 距离左侧200px */
+ top: 250px; /* 距离顶部150px */
+ width: 120px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+}
+.yu-image {
+ position: absolute; /* 绝对定位 */
+ left:8px; /* 距离左侧200px */
+ top: 150px; /* 距离顶部150px */
+ width: 150px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+}
+.rectangle1 {
+ position: absolute;
+ left: 16px; /* 矩形左上角的横坐标 */
+ top: 35px; /* 矩形左上角的纵坐标 */
+ width: 85px; /* 矩形的宽度 */
+ height: 85px; /* 矩形的高度 */
+ background-color: #ffffff;
+ z-index: 3;
+ border-radius: 10px; /* 圆角边框 */
+ box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.5);
+}
+.rectangle2 {
+ position: absolute;
+ left: 22px; /* 矩形左上角的横坐标 */
+ top: 42px; /* 矩形左上角的纵坐标 */
+ width: 66px; /* 矩形的宽度 */
+ height: 66px; /* 矩形的高度 */
+ border: 3px solid #e1b474; /* 矩形的边框 */
+ z-index: 3;
+ border-radius: 10px; /* 圆角边框 */
+}
+.bao-image {
+ position: absolute; /* 绝对定位 */
+ left:9px; /* 距离左侧200px */
+ top: 28px; /* 距离顶部150px */
+ width: 100px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+}
+.rectangle3 {
+ position: absolute;
+ left: 90px; /* 矩形左上角的横坐标 */
+ top: 70px; /* 矩形左上角的纵坐标 */
+ width: 107px; /* 矩形的宽度 */
+ height: 50px; /* 矩形的高度 */
+ background-color: #ffffff;
+ z-index: 1;
+ border-radius: 10px; /* 圆角边框 */
+}
+.rectangle4 {
+ position: absolute;
+ left: 93px; /* 矩形左上角的横坐标 */
+ top: 75px; /* 矩形左上角的纵坐标 */
+ width: 100px; /* 矩形的宽度 */
+ height: 40px; /* 矩形的高度 */
+ background-color: #e1b474;
+ z-index: 1;
+ border-radius: 10px; /* 圆角边框 */
+}
+.text2 {
+ position: absolute; /* 绝对定位 */
+ left: 98px; /* 距离左侧50px */
+ top:65px; /* 距离顶部50px */
+ font-size: 22px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 7;
+}
+.text3 {
+ position: absolute; /* 绝对定位 */
+ left: 132px; /* 距离左侧50px */
+ top:145px; /* 距离顶部50px */
+ font-size: 22px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #ffffff; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 7;
+}
+.text4 {
+ position: absolute; /* 绝对定位 */
+ left: 82px; /* 距离左侧50px */
+ top:28px; /* 距离顶部50px */
+ font-size: 19px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #d56868; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 7;
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 290px; /* 距离左侧200px */
+ top: -10px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+.bao-image {
+ position: absolute;
+ left: 9px;
+ top: 28px;
+ width: 100px;
+ height: 100px;
+ border-radius: 50%;
+ z-index: 7;
+}
+
+/* 模态框样式 */
+.modal {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background: rgba(0, 0, 0, 0.5);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ z-index: 8;
+}
+
+.modal-content {
+ background: #ffffff;
+ padding: 20px;
+ border-radius: 10px;
+ width: 80%;
+ z-index: 8;
+}
+
+/* 输入框容器 */
+.input-container {
+ margin-top: 20px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ z-index: 8;
+}
+
+/* 标签样式 */
+.label {
+ font-size: 20px;
+ color: #333;
+ z-index: 8;
+}
+
+/* 输入框样式 */
+.input-field {
+ width: 60%;
+ padding: 10px;
+ font-size: 18px;
+ border: 1px solid #ddd;
+ border-radius: 5px;
+ z-index: 8;
+}
+
+/* 按钮样式 */
+.upload-button {
+ margin-left: 10px;
+ z-index: 8;
+}
+
+.confirm-button, .cancel-button {
+ margin-top: 20px;
+ background-color: #007aff;
+ color: #ffffff;
+ padding: 10px;
+ border-radius: 5px;
+ z-index: 8;
+}
+.submit-text {
+ text-align: center; /* 文本水平居中 */
+ line-height: 50px; /* 设置行高为按钮高度以实现垂直居中 */
+ /* 其他属性保持不变 */
+ background-color: #e1b474;
+ border: 5px solid #ffffff; /* 设置边框颜色和宽度 */
+ border-radius: 15px; /* 设置圆角边框 */
+ width: -80px; /* 设置宽度 */
+ height: 50px; /* 设置高度 */
+ position: absolute; /* 绝对定位 */
+ left: 98px; /* 距离左侧50px */
+ top:600px; /* 距离顶部50px */
+ font-size: 22px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ z-index: 7;
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Mode-arrive/Mode-arrive.js b/qianduan/pages/teacher/Mode-arrive/Mode-arrive.js
new file mode 100644
index 0000000..5687d88
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-arrive/Mode-arrive.js
@@ -0,0 +1,99 @@
+Page({
+ data: {
+ studentId: '',
+ studentName: '',
+ score: 0.0,
+ },
+
+ onLoad(options) {
+ this.setData({
+ studentId: options.studentId,
+ });
+ this.fetchStudentInfo();
+ },
+
+ // 获取学生姓名和积分
+ fetchStudentInfo() {
+ console.log("Student ID:", this.data.studentId); // 检查 studentId 的值
+ wx.request({
+ url: `http://127.0.0.1:8000/api/get_student_info/${this.data.studentId}/`, // 拼接 student_id
+ method: 'GET',
+ success: (res) => {
+ if (res.statusCode === 200 && res.data) {
+ this.setData({
+ studentName: res.data.name,
+ score: res.data.score,
+ });
+ } else if (res.data.error) {
+ wx.showToast({
+ title: res.data.error,
+ icon: 'none',
+ });
+ }
+ },
+ fail: (error) => {
+ console.error('获取学生信息失败:', error);
+ wx.showToast({
+ title: '获取学生信息失败',
+ icon: 'none',
+ });
+ },
+ });
+ },
+
+ // 加分
+ addScore() {
+ this.updateScore(1);
+ },
+
+ // 减分
+ reduceScore() {
+ this.updateScore(-1);
+ },
+
+ // 更新分数到数据库
+ updateScore(change) {
+ const currentScore = parseFloat(this.data.score); // 转换为数字
+ const newScore = (currentScore + change).toFixed(1); // 保留一位小数
+
+ wx.request({
+ url: 'http://127.0.0.1:8000/api/update_student_score/',
+ method: 'POST',
+ data: {
+ student_id: this.data.studentId,
+ score: parseFloat(newScore), // 确保发送为浮点数
+ },
+ success: (res) => {
+ if (res.data.success) {
+ this.setData({ score: parseFloat(newScore) }); // 更新状态
+ wx.showToast({
+ title: change > 0 ? '加分成功' : '扣分成功',
+ icon: 'success',
+ });
+ } else {
+ wx.showToast({
+ title: '更新失败',
+ icon: 'none',
+ });
+ }
+ },
+ fail: (error) => {
+ console.error('更新分数失败:', error);
+ },
+ });
+ },
+ // 跳转到排行榜
+ goTorank() {
+ console.log('点击了排行榜按钮'); // 添加调试信息
+ wx.navigateTo({
+ url: '/pages/teacher/Trank/rank-Mode1/rank-Mode1',
+ });
+ },
+ goBack() {
+ wx.navigateTo({
+ url: '/pages/teacher/teacher',
+ });
+ },
+
+ });
+
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Mode-arrive/Mode-arrive.json b/qianduan/pages/teacher/Mode-arrive/Mode-arrive.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-arrive/Mode-arrive.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Mode-arrive/Mode-arrive.wxml b/qianduan/pages/teacher/Mode-arrive/Mode-arrive.wxml
new file mode 100644
index 0000000..54e0bae
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-arrive/Mode-arrive.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+ 学生姓名: {{studentName}}
+ 当前分数: {{score}}
+ 该同学是否在教室并答到
+
+
+
diff --git a/qianduan/pages/teacher/Mode-arrive/Mode-arrive.wxss b/qianduan/pages/teacher/Mode-arrive/Mode-arrive.wxss
new file mode 100644
index 0000000..ee9f557
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-arrive/Mode-arrive.wxss
@@ -0,0 +1,106 @@
+/* pages/teacher/Mode-arrive/Mode-arrive.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+.ball-image {
+ position: absolute; /* 绝对定位 */
+ left: -30px; /* 距离左侧200px */
+ top: 370px; /* 距离顶部150px */
+ width: 450px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.back-image {
+ position: absolute; /* 绝对定位 */
+ left: 5px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.circle {
+ width: 65px; /* 圆形的宽度 */
+ height: 65px; /* 圆形的高度 */
+ background-color: #80acd2; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 300px;
+ top: 6px;
+ z-index: 3;
+}
+.rank-image {
+ position: absolute; /* 绝对定位 */
+ left: 300px; /* 距离左侧200px */
+ top: 15px; /* 距离顶部150px */
+ width: 65px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.rectangle {
+ position: absolute;
+ left: 30px; /* 矩形左上角的横坐标 */
+ top: 120px; /* 矩形左上角的纵坐标 */
+ width: 320px; /* 矩形的宽度 */
+ height: 180px; /* 矩形的高度 */
+ background-color: #ffffff; /* 原色,透明度50% */
+ z-index: 2;
+ border-radius: 42px; /* 圆角边框 */
+ border: 1px solid #bbbbbb; /* 矩形的边框 */
+ box-shadow: 0px 0px 10px 10px rgba(0, 0, 0, 0.5); /* 添加阴影 */
+ display: flex; /* 使用 flexbox 布局 */
+ align-items: center; /* 垂直居中 */
+ justify-content: space-around; /* 水平分布 */
+}
+.radio-label {
+ display: flex;
+ align-items: center;
+ margin-right: 5px; /* 元素之间的间距 */
+ margin-top: 85px;
+}
+
+.radio-input {
+ display: none;
+
+}
+
+.radio-custom {
+ width: 20px;
+ height: 20px;
+ border: 2px solid #333;
+ border-radius: 50%;
+ position: relative;
+ margin-right: 5px;
+ margin-top:0px;
+}
+
+.radio-input:checked + .radio-custom {
+ border-color: #bd3124; /* 选中后边框颜色 */
+}
+
+.radio-input:checked + .radio-custom::after {
+ content: "";
+ display: block;
+ width: 12px;
+ height: 12px;
+ background-color: #1684fc; /* 选中后圆点颜色 */
+ border-radius: 50%;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+.text1 {
+ position: absolute; /* 绝对定位 */
+ left: 20px; /* 距离左侧50px */
+ top:-20px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 25px; /* 行间距 */
+ color:#4f4f4f ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Mode-quiz/Mode-quiz.js b/qianduan/pages/teacher/Mode-quiz/Mode-quiz.js
new file mode 100644
index 0000000..cec890f
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-quiz/Mode-quiz.js
@@ -0,0 +1,125 @@
+Page({
+ data: {
+ showModal:false,
+ showModalNoPledge: false, // 控制无典当信息弹窗的显示
+ studentId: '',
+ studentName: '',
+ questionScore: 0,// 教师输入的分数
+ currentScore: 0,
+ pledgeScore: 0,
+ pledgeStatus: 0,
+ updatedScore: 0, // 更新后的分数
+ },
+
+
+ onLoad(options) {
+ console.log('Received studentId:', options.studentId); // 检查参数传递是否成功
+ this.setData({
+ studentId: options.studentId,
+ });
+ },
+
+// 处理输入的分数
+handleInputScore(e) {
+ const value = e.detail.value;
+ const numericValue = Number(value);
+
+ // 验证输入是否为有效的数字
+ if (!isNaN(numericValue)) {
+ this.setData({
+ questionScore: numericValue, // 使用 Number 转换为数字
+ });
+ } else {
+ this.setData({
+ questionScore: 0, // 如果不是数字,重置为 0
+ });
+ }
+},
+
+ submitScore() {
+ const { studentId, questionScore } = this.data;
+ console.log('请求数据:', { studentId, questionScore }); // 打印请求数据
+ // 积分必须是一个数字
+ if (isNaN(questionScore)) {
+ wx.showToast({
+ title: '请输入有效的积分',
+ icon: 'none',
+ });
+ return;
+ }
+
+ // 更新学生积分并处理典当
+ wx.request({
+ url: 'http://127.0.0.1:8000/api/update_question_score', // 你的后端 API 地址
+ method: 'POST',
+ data: {
+ studentId: this.data.studentId,
+ questionScore: this.data.questionScore,
+ },
+ success: (res) => {
+ if (res.statusCode === 200) {
+ wx.showToast({
+ title: '积分更新成功',
+ icon: 'success',
+ });
+ // 判断返回的数据中是否有典当信息
+ const { current_score, pledge_score, pledge_status, updated_score} = res.data;
+
+ if (pledge_score && pledge_status === 1) {
+ // 设置数据并弹出典当信息的弹窗
+ this.setData({
+ currentScore: current_score,
+ pledgeScore: pledge_score,
+ showModal: true, // 显示典当信息弹窗
+ });
+ } else {
+ this.setData({
+ updatedScore: updated_score,
+ showModalNoPledge: true, // 显示无典当信息弹窗
+ });
+ }
+ } else {
+ wx.showToast({
+ title: res.data.error || '更新失败',
+ icon: 'none',
+ });
+ }
+ },
+ fail: () => {
+ wx.showToast({
+ title: '请求失败,请检查网络',
+ icon: 'none',
+ });
+ }
+ });
+ },
+
+ // 关闭典当信息弹窗
+ closeModal() {
+ this.setData({
+ showModal: false,
+ });
+ },
+
+
+ // 关闭无典当信息弹窗
+ closeModalNoPledge() {
+ this.setData({
+ showModalNoPledge: false,
+ });
+ },
+
+
+ goTorank() {
+ console.log('点击了排行榜按钮'); // 添加调试信息
+ wx.navigateTo({
+ url: '/pages/teacher/Trank/rank-Mode2/rank-Mode2',
+ });
+ },
+ goBack() {
+ wx.navigateTo({
+ url: '/pages/teacher/teacher',
+ });
+ },
+ });
+
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Mode-quiz/Mode-quiz.json b/qianduan/pages/teacher/Mode-quiz/Mode-quiz.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-quiz/Mode-quiz.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Mode-quiz/Mode-quiz.wxml b/qianduan/pages/teacher/Mode-quiz/Mode-quiz.wxml
new file mode 100644
index 0000000..06f4136
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-quiz/Mode-quiz.wxml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+重复问题
+回答质量
+
+ +0.5
+
+
+ 0.5~3
+
+ -1
+
+
+
+
+
+
+
+
+
+
+ 当前积分: {{currentScore}}
+ 典当积分: {{pledgeScore}}
+
+
+
+
+
+
+
+
+
+ 更新后的积分: {{updatedScore}}
+
+
+
+
+
+
+
diff --git a/qianduan/pages/teacher/Mode-quiz/Mode-quiz.wxss b/qianduan/pages/teacher/Mode-quiz/Mode-quiz.wxss
new file mode 100644
index 0000000..9a6e0ed
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-quiz/Mode-quiz.wxss
@@ -0,0 +1,207 @@
+/* pages/teacher/Mode-arrive/Mode-arrive.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+.ball-image {
+ position: absolute; /* 绝对定位 */
+ left: -30px; /* 距离左侧200px */
+ top: 370px; /* 距离顶部150px */
+ width: 450px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.back-image {
+ position: absolute; /* 绝对定位 */
+ left: 5px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.circle {
+ width: 65px; /* 圆形的宽度 */
+ height: 65px; /* 圆形的高度 */
+ background-color: #80acd2; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 300px;
+ top: 6px;
+ z-index: 3;
+}
+.rank-image {
+ position: absolute; /* 绝对定位 */
+ left: 300px; /* 距离左侧200px */
+ top: 15px; /* 距离顶部150px */
+ width: 65px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.nobody-image {
+ position: absolute; /* 绝对定位 */
+ left: -8px; /* 距离左侧200px */
+ top: 45px; /* 距离顶部150px */
+ width: 400px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.rectangle1 {
+ position: absolute;
+ left: 90px; /* 矩形左上角的横坐标 */
+ top: 305px; /* 矩形左上角的纵坐标 */
+ width: 180px; /* 矩形的宽度 */
+ height: 60px; /* 矩形的高度 */
+ background-color: #ffb6a4;
+ z-index: 3;
+ border: 7px solid #78ba7d; /* 矩形的边框 */
+}
+.rectangle2 {
+ position: absolute;
+ left: 90px; /* 矩形左上角的横坐标 */
+ top: 425px; /* 矩形左上角的纵坐标 */
+ width: 180px; /* 矩形的宽度 */
+ height: 60px; /* 矩形的高度 */
+ background-color: #ffb6a4;
+ z-index: 3;
+ border: 7px solid #78ba7d; /* 矩形的边框 */
+}
+.text1 {
+ position: absolute; /* 绝对定位 */
+ left: 105px; /* 距离左侧50px */
+ top:310px; /* 距离顶部50px */
+ font-size: 28px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text2 {
+ position: absolute; /* 绝对定位 */
+ left: 105px; /* 距离左侧50px */
+ top:430px; /* 距离顶部50px */
+ font-size: 28px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.circle1 {
+ width: 60px; /* 圆形的宽度 */
+ height: 60px; /* 圆形的高度 */
+ background-color: #ffffff; /* 圆形的背景颜色 */
+ border: 5px solid #ffd67b; /* 矩形的边框 */
+
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left:45px;
+ top: 290px;
+ z-index: 3;
+}
+.circle2 {
+ width: 95px; /* 圆形的宽度 */
+ height: 55px; /* 圆形的高度 */
+ background-color: #ffffff; /* 圆形的背景颜色 */
+ border: 5px solid #ffd67b; /* 矩形的边框 */
+
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 10px;
+ top: 390px;
+ z-index: 3;
+}
+.circle3 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #ffffff; /* 圆形的背景颜色 */
+ border: 5px solid #ffd67b; /* 矩形的边框 */
+
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left:255px;
+ top: 350px;
+ z-index: 3;
+}
+.grade1 {
+ position: absolute; /* 绝对定位 */
+ left: -20px; /* 距离左侧50px */
+ top:0px; /* 距离顶部50px */
+ font-size: 22px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#78ba7d ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.grade2 {
+ position: absolute; /* 绝对定位 */
+ left: -5px; /* 距离左侧50px */
+ top:-5px; /* 距离顶部50px */
+ font-size: 22px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#78ba7d ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.grade3 {
+ position: absolute; /* 绝对定位 */
+ left: -10px; /* 距离左侧50px */
+ top:-10px; /* 距离顶部50px */
+ font-size: 26px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#bd3124 ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.rectangle3 {
+ position: absolute;
+ left: 45px; /* 矩形左上角的横坐标 */
+ top: 535px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 50px; /* 矩形的高度 */
+ background-color: #ffffff;
+ z-index: 3;
+ border: 1px solid #bbbbbb; /* 矩形的边框 */
+ border-radius: 46px;
+ box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.5); /* 添加阴影 */
+}
+input {
+ margin-top: 10px;
+ margin-left: 30px;
+ font-size: 16px;
+ color: #333;
+ padding: 5px;
+ z-index: 4;
+ }
+ .confirm-button {
+ width: 80px !important; /* 用于测试优先级问题 */
+ left: -5px; /* 距离左侧50px */
+ top:520px; /* 距离顶部50px */
+ padding: 5px; /* 内边距,控制按钮大小 */
+ font-size: 18px; /* 字号 */
+ color: #fcfcfc; /* 按钮文本颜色 */
+ background-color: #3662e5; /* 按钮背景颜色 */
+ border: 3px solid #e7cd2d; /* 矩形的边框 */
+ border-radius: 7px ; /* 圆角边框 */
+ cursor: pointer; /* 鼠标悬停时变成手指形状 */
+ z-index: 7
+}
+
+/* 悬停效果 */
+.confirm-button:hover {
+ background-color: #0056b3; /* 悬停时按钮颜色 */
+}
diff --git a/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.js b/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.js
new file mode 100644
index 0000000..8aa8a0f
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.js
@@ -0,0 +1,66 @@
+// pages/teacher/Mode-quiz_2/Mode-quiz_2.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.json b/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.wxml b/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.wxml
new file mode 100644
index 0000000..07fb7f7
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.wxml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+重复问题
+回答质量
+
+ +0.5
+
+
+ 0.5~3
+
+ -1
+
+
+
+
+
+
+
+ 该同学已使用
+ 点名豁免卡,
+ 请重新点名
+
+
+
+
diff --git a/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.wxss b/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.wxss
new file mode 100644
index 0000000..e7a9b2e
--- /dev/null
+++ b/qianduan/pages/teacher/Mode-quiz_2/Mode-quiz_2.wxss
@@ -0,0 +1,281 @@
+/* pages/teacher/Mode-arrive/Mode-arrive.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+.ball-image {
+ position: absolute; /* 绝对定位 */
+ left: -30px; /* 距离左侧200px */
+ top: 370px; /* 距离顶部150px */
+ width: 450px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.back-image {
+ position: absolute; /* 绝对定位 */
+ left: 5px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.circle {
+ width: 65px; /* 圆形的宽度 */
+ height: 65px; /* 圆形的高度 */
+ background-color: #80acd2; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 300px;
+ top: 6px;
+ z-index: 3;
+}
+.rank-image {
+ position: absolute; /* 绝对定位 */
+ left: 300px; /* 距离左侧200px */
+ top: 15px; /* 距离顶部150px */
+ width: 65px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.nobody-image {
+ position: absolute; /* 绝对定位 */
+ left: -8px; /* 距离左侧200px */
+ top: 45px; /* 距离顶部150px */
+ width: 400px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.rectangle1 {
+ position: absolute;
+ left: 90px; /* 矩形左上角的横坐标 */
+ top: 305px; /* 矩形左上角的纵坐标 */
+ width: 180px; /* 矩形的宽度 */
+ height: 60px; /* 矩形的高度 */
+ background-color: #ffb6a4;
+ z-index: 3;
+ border: 7px solid #78ba7d; /* 矩形的边框 */
+}
+.rectangle2 {
+ position: absolute;
+ left: 90px; /* 矩形左上角的横坐标 */
+ top: 425px; /* 矩形左上角的纵坐标 */
+ width: 180px; /* 矩形的宽度 */
+ height: 60px; /* 矩形的高度 */
+ background-color: #ffb6a4;
+ z-index: 3;
+ border: 7px solid #78ba7d; /* 矩形的边框 */
+}
+.text1 {
+ position: absolute; /* 绝对定位 */
+ left: 105px; /* 距离左侧50px */
+ top:310px; /* 距离顶部50px */
+ font-size: 28px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text2 {
+ position: absolute; /* 绝对定位 */
+ left: 105px; /* 距离左侧50px */
+ top:430px; /* 距离顶部50px */
+ font-size: 28px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4f4f4f; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.circle1 {
+ width: 60px; /* 圆形的宽度 */
+ height: 60px; /* 圆形的高度 */
+ background-color: #ffffff; /* 圆形的背景颜色 */
+ border: 5px solid #ffd67b; /* 矩形的边框 */
+
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left:45px;
+ top: 290px;
+ z-index: 3;
+}
+.circle2 {
+ width: 95px; /* 圆形的宽度 */
+ height: 55px; /* 圆形的高度 */
+ background-color: #ffffff; /* 圆形的背景颜色 */
+ border: 5px solid #ffd67b; /* 矩形的边框 */
+
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 10px;
+ top: 390px;
+ z-index: 3;
+}
+.circle3 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #ffffff; /* 圆形的背景颜色 */
+ border: 5px solid #ffd67b; /* 矩形的边框 */
+
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left:255px;
+ top: 350px;
+ z-index: 3;
+}
+.grade1 {
+ position: absolute; /* 绝对定位 */
+ left: -20px; /* 距离左侧50px */
+ top:0px; /* 距离顶部50px */
+ font-size: 22px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#78ba7d ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.grade2 {
+ position: absolute; /* 绝对定位 */
+ left: -5px; /* 距离左侧50px */
+ top:-5px; /* 距离顶部50px */
+ font-size: 22px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#78ba7d ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.grade3 {
+ position: absolute; /* 绝对定位 */
+ left: -10px; /* 距离左侧50px */
+ top:-10px; /* 距离顶部50px */
+ font-size: 26px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#bd3124 ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.rectangle3 {
+ position: absolute;
+ left: 45px; /* 矩形左上角的横坐标 */
+ top: 535px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 50px; /* 矩形的高度 */
+ background-color: #ffffff;
+ z-index: 3;
+ border: 1px solid #bbbbbb; /* 矩形的边框 */
+ border-radius: 46px;
+ box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.5); /* 添加阴影 */
+}
+input {
+ margin-top: 10px;
+ margin-left: 30px;
+ font-size: 16px;
+ color: #333;
+ padding: 5px;
+ z-index: 4;
+ }
+ .confirm-button {
+ width: 80px !important; /* 用于测试优先级问题 */
+ left: -5px; /* 距离左侧50px */
+ top:520px; /* 距离顶部50px */
+ padding: 5px; /* 内边距,控制按钮大小 */
+ font-size: 18px; /* 字号 */
+ color: #fcfcfc; /* 按钮文本颜色 */
+ background-color: #3662e5; /* 按钮背景颜色 */
+ border: 3px solid #e7cd2d; /* 矩形的边框 */
+ border-radius: 7px ; /* 圆角边框 */
+ cursor: pointer; /* 鼠标悬停时变成手指形状 */
+ z-index: 4
+}
+
+/* 悬停效果 */
+.confirm-button:hover {
+ background-color: #0056b3; /* 悬停时按钮颜色 */
+}
+.rectangleall {
+ position: absolute;
+ left: 0px; /* 矩形左上角的横坐标 */
+ top: 0px; /* 矩形左上角的纵坐标 */
+ width: 375px; /* 矩形的宽度 */
+ height: 724px; /* 矩形的高度 */
+ background-color: #4F4F4F;
+ z-index: 5;
+ opacity: 0.73;
+}
+.rectangleother {
+ position: absolute;
+ left: 80px; /* 矩形左上角的横坐标 */
+ top: 250px; /* 矩形左上角的纵坐标 */
+ width: 205px; /* 矩形的宽度 */
+ height: 142px; /* 矩形的高度 */
+ background-color: #fdc904;
+ border-radius: 36px;
+ z-index: 5;
+}
+.rectangleother {
+ position: absolute;
+ left: 67px; /* 矩形左上角的横坐标 */
+ top: 252px; /* 矩形左上角的纵坐标 */
+ width: 225px; /* 矩形的宽度 */
+ height: 162px; /* 矩形的高度 */
+ background-color: #fdc904;
+ border-radius: 36px;
+ z-index: 6;
+}
+.rectangleother2 {
+ position: absolute;
+ left: 45px; /* 矩形左上角的横坐标 */
+ top: 230px; /* 矩形左上角的纵坐标 */
+ width: 255px; /* 矩形的宽度 */
+ height: 192px; /* 矩形的高度 */
+ background-color: #ffffff;
+ border: 7px solid #3764dd; /* 矩形的边框 */
+ border-radius: 36px;
+ z-index: 5;
+}
+.text3 {
+ position: absolute; /* 绝对定位 */
+ left: 20px; /* 距离左侧50px */
+ top:0px; /* 距离顶部50px */
+ font-size: 25px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 30px; /* 行间距 */
+ color: #3764dd; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.confirm-button2 {
+ width: 65px !important; /* 用于测试优先级问题 */
+ height: 33px;
+ left: 0px; /* 距离左侧50px */
+ top:120px; /* 距离顶部50px */
+ padding: 5px; /* 内边距,控制按钮大小 */
+ font-size: 16px; /* 字号 */
+ color: #101010; /* 按钮文本颜色 */
+ background-color: #ffffff; /* 按钮背景颜色 */
+ border: 3px solid #bbbbbb; /* 矩形的边框 */
+ border-radius: 4px ; /* 圆角边框 */
+ cursor: pointer; /* 鼠标悬停时变成手指形状 */
+ z-index: 8;
+ box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.5); /* 添加阴影 */
+}
+
+/* 悬停效果 */
+.confirm-button2:hover {
+ background-color: #0056b3; /* 悬停时按钮颜色 */
+}
diff --git a/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.js b/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.js
new file mode 100644
index 0000000..dbaf3c1
--- /dev/null
+++ b/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.js
@@ -0,0 +1,40 @@
+// pages/teacher/rank/rank-Mode1/rank-Mode1.js
+Page({
+ data: {
+ leaderboard: [], // 存储排行榜数据
+ },
+
+ onLoad() {
+ this.fetchLeaderboard();
+ },
+
+ fetchLeaderboard() {
+ wx.request({
+ url: 'http://127.0.0.1:8000/api/leaderboard/', // 获取排行榜的 API
+ method: 'GET',
+ success: (res) => {
+ if (res.statusCode === 200) {
+ this.setData({
+ leaderboard: res.data, // 设置排行榜数据
+ });
+ } else {
+ wx.showToast({
+ title: '获取排行榜失败',
+ icon: 'none',
+ });
+ }
+ },
+ fail: () => {
+ wx.showToast({
+ title: '请求失败,请检查网络',
+ icon: 'none',
+ });
+ }
+ });
+ },
+ goBack() {
+ wx.navigateTo({
+ url: '/pages/teacher/Mode-arrive/Mode-arrive',
+ });
+ },
+})
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.json b/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.wxml b/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.wxml
new file mode 100644
index 0000000..30bca1a
--- /dev/null
+++ b/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.wxml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+ 学生 积分 排行
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+ {{item.score}} {{index + 1}}
+
+
+
+
+
+
diff --git a/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.wxss b/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.wxss
new file mode 100644
index 0000000..084d6a4
--- /dev/null
+++ b/qianduan/pages/teacher/Trank/rank-Mode1/rank-Mode1.wxss
@@ -0,0 +1,617 @@
+/* pages/student/rank/rank.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+.p1-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 500px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.p2-image {
+ position: absolute; /* 绝对定位 */
+ left: 160px; /* 距离左侧200px */
+ top: 480px; /* 距离顶部150px */
+ width: 240px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.vs-image {
+ position: absolute; /* 绝对定位 */
+ left: 120px; /* 距离左侧200px */
+ top: 530px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.rank1-image {
+ position: absolute; /* 绝对定位 */
+ left: 80px; /* 距离左侧200px */
+ top:0px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.rectangle {
+ position: absolute;
+ left: 30px; /* 矩形左上角的横坐标 */
+ top: 100px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 350px; /* 矩形的高度 */
+ background-color: rgba(132, 200, 200, 0.6); /* 原色,透明度50% */
+ z-index: 1;
+ border: 13px solid #bd92f4; /* 矩形的边框 */
+ border-radius: 30px; /* 圆角边框 */
+}
+.rectangle-00 {
+ position: absolute;
+ left: 46px; /* 矩形左上角的横坐标 */
+ top: 155px; /* 矩形左上角的纵坐标 */
+ width: 274px; /* 矩形的宽度 */
+ height: 32px; /* 矩形的高度 */
+ background-color: #ececec;
+ z-index: 3;
+ border-radius: 10px; /* 圆角边框 */
+ opacity: 0.7;
+}
+.rectangle-01 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 192px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #4a65b1;
+ z-index: 3;
+ opacity: 0.9;
+}
+.rectangle-02 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 247px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #8a8eda;
+ z-index: 3;
+ opacity: 0.7;
+}
+.rectangle-03 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 302px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #4a65b1;
+ z-index: 3;
+ opacity: 0.9;
+}
+.rectangle-04 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 357px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #8a8eda;
+ z-index: 3;
+ opacity: 0.7;
+}
+.rectangle-05 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 412px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #4a65b1;
+ z-index: 3;
+ opacity: 0.9;
+ border-radius: 7px; /* 圆角边框 */
+}
+.rank-text {
+ position: absolute; /* 绝对定位 */
+ left: 55px; /* 距离左侧50px */
+ top:140px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4d4dcd; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4
+}
+
+.circle1 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 196px;
+ z-index: 3;
+}
+.circle2 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color:#cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 250px;
+ z-index: 3;
+}
+.circle3 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 305px;
+ z-index: 3;
+}
+.circle4 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 361px;
+ z-index: 3;
+}
+.circle5 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 415px;
+ z-index: 3;
+}
+.image1 {
+ position: absolute; /* 绝对定位 */
+ left: 58px; /* 距离左侧200px */
+ top:203px; /* 距离顶部150px */
+ width: 30px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image2 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:246px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image3 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:292px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image4 {
+ position: absolute; /* 绝对定位 */
+ left: 53px; /* 距离左侧200px */
+ top:359px; /* 距离顶部150px */
+ width: 38px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image5 {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top:395px; /* 距离顶部150px */
+ width: 150px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image6 {
+ position: absolute; /* 绝对定位 */
+ left: 60px; /* 距离左侧200px */
+ top:180px; /* 距离顶部150px */
+ width: 40px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+
+
+
+/* pages/student/rank/rank.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+
+.rank1-image {
+ position: absolute; /* 绝对定位 */
+ left: 80px; /* 距离左侧200px */
+ top:0px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.rectangle {
+ position: absolute;
+ left: 30px; /* 矩形左上角的横坐标 */
+ top: 100px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 350px; /* 矩形的高度 */
+ background-color: #EE5A26; /* 原色,透明度50% */
+ z-index: 1;
+ opacity: 0.74;
+ border: 13px solid #fbae3e; /* 矩形的边框 */
+ border-radius: 30px; /* 圆角边框 */
+}
+.rectangle-00 {
+ position: absolute;
+ left: 46px; /* 矩形左上角的横坐标 */
+ top: 155px; /* 矩形左上角的纵坐标 */
+ width: 274px; /* 矩形的宽度 */
+ height: 32px; /* 矩形的高度 */
+ background-color: #f2de9a;
+ z-index: 3;
+ border-radius: 10px; /* 圆角边框 */
+ opacity: 0.7;
+}
+.rectangle-01 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 192px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #FCCA00;
+ z-index: 3;
+ opacity: 0.45;
+}
+.rectangle-02 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 247px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #F4CE98;
+ z-index: 3;
+ opacity: 0.64;
+}
+.rectangle-03 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 302px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #FCCA00;
+ z-index: 3;
+ opacity: 0.45;
+}
+.rectangle-04 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 357px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #F4CE98;
+ z-index: 3;
+ opacity: 0.64;
+}
+.rectangle-05 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 412px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #FCCA00;
+ z-index: 3;
+ opacity: 0.45;
+ border-radius: 7px; /* 圆角边框 */
+}
+.rank-text {
+ position: absolute; /* 绝对定位 */
+ left: 55px; /* 距离左侧50px */
+ top:140px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #EE5A26; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ opacity: 0.72;
+ z-index: 4
+}
+
+.circle1 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 196px;
+ z-index: 3;
+}
+.circle2 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color:#f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 250px;
+ z-index: 3;
+}
+.circle3 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 305px;
+ z-index: 3;
+}
+.circle4 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 361px;
+ z-index: 3;
+}
+.circle5 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 415px;
+ z-index: 3;
+}
+.image1 {
+ position: absolute; /* 绝对定位 */
+ left: 58px; /* 距离左侧200px */
+ top:203px; /* 距离顶部150px */
+ width: 30px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image2 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:246px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image3 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:292px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image4 {
+ position: absolute; /* 绝对定位 */
+ left: 53px; /* 距离左侧200px */
+ top:359px; /* 距离顶部150px */
+ width: 38px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image5 {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top:395px; /* 距离顶部150px */
+ width: 150px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.LV1-image {
+ position: absolute; /* 绝对定位 */
+ left: 20px; /* 距离左侧200px */
+ top:165px; /* 距离顶部150px */
+ width: 60px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.text1 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:165px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text2 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:220px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text3 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:275px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text8 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:275px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.text4 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:330px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text9 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:330px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.text5 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:388px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text6 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:165px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.text7 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:220px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.text10 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:388px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+.green1-image {
+ position: absolute; /* 绝对定位 */
+ left: 138px; /* 距离左侧200px */
+ top:400px; /* 距离顶部150px */
+ width: 280px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 0; /* 设置z-index,确保在前面 */
+}
+.green2-image {
+ position: absolute; /* 绝对定位 */
+ left: 188px; /* 距离左侧200px */
+ top:50px; /* 距离顶部150px */
+ width: 250px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 0; /* 设置z-index,确保在前面 */
+}
+.green3-image {
+ position: absolute; /* 绝对定位 */
+ left: -50px; /* 距离左侧200px */
+ top:200px; /* 距离顶部150px */
+ width: 250px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 0; /* 设置z-index,确保在前面 */
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.js b/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.js
new file mode 100644
index 0000000..00225ea
--- /dev/null
+++ b/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.js
@@ -0,0 +1,40 @@
+// pages/teacher/rank/rank-Mode1/rank-Mode1.js
+Page({
+ data: {
+ leaderboard: [], // 存储排行榜数据
+ },
+
+ onLoad() {
+ this.fetchLeaderboard();
+ },
+
+ fetchLeaderboard() {
+ wx.request({
+ url: 'http://127.0.0.1:8000/api/leaderboard/', // 获取排行榜的 API
+ method: 'GET',
+ success: (res) => {
+ if (res.statusCode === 200) {
+ this.setData({
+ leaderboard: res.data, // 设置排行榜数据
+ });
+ } else {
+ wx.showToast({
+ title: '获取排行榜失败',
+ icon: 'none',
+ });
+ }
+ },
+ fail: () => {
+ wx.showToast({
+ title: '请求失败,请检查网络',
+ icon: 'none',
+ });
+ }
+ });
+ },
+ goBack() {
+ wx.navigateTo({
+ url: '/pages/teacher/Mode-quiz/Mode-quiz',
+ });
+ },
+})
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.json b/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.wxml b/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.wxml
new file mode 100644
index 0000000..30bca1a
--- /dev/null
+++ b/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.wxml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+ 学生 积分 排行
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+ {{item.score}} {{index + 1}}
+
+
+
+
+
+
diff --git a/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.wxss b/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.wxss
new file mode 100644
index 0000000..084d6a4
--- /dev/null
+++ b/qianduan/pages/teacher/Trank/rank-Mode2/rank-Mode2.wxss
@@ -0,0 +1,617 @@
+/* pages/student/rank/rank.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+.p1-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 500px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.p2-image {
+ position: absolute; /* 绝对定位 */
+ left: 160px; /* 距离左侧200px */
+ top: 480px; /* 距离顶部150px */
+ width: 240px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.vs-image {
+ position: absolute; /* 绝对定位 */
+ left: 120px; /* 距离左侧200px */
+ top: 530px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.rank1-image {
+ position: absolute; /* 绝对定位 */
+ left: 80px; /* 距离左侧200px */
+ top:0px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.rectangle {
+ position: absolute;
+ left: 30px; /* 矩形左上角的横坐标 */
+ top: 100px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 350px; /* 矩形的高度 */
+ background-color: rgba(132, 200, 200, 0.6); /* 原色,透明度50% */
+ z-index: 1;
+ border: 13px solid #bd92f4; /* 矩形的边框 */
+ border-radius: 30px; /* 圆角边框 */
+}
+.rectangle-00 {
+ position: absolute;
+ left: 46px; /* 矩形左上角的横坐标 */
+ top: 155px; /* 矩形左上角的纵坐标 */
+ width: 274px; /* 矩形的宽度 */
+ height: 32px; /* 矩形的高度 */
+ background-color: #ececec;
+ z-index: 3;
+ border-radius: 10px; /* 圆角边框 */
+ opacity: 0.7;
+}
+.rectangle-01 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 192px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #4a65b1;
+ z-index: 3;
+ opacity: 0.9;
+}
+.rectangle-02 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 247px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #8a8eda;
+ z-index: 3;
+ opacity: 0.7;
+}
+.rectangle-03 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 302px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #4a65b1;
+ z-index: 3;
+ opacity: 0.9;
+}
+.rectangle-04 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 357px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #8a8eda;
+ z-index: 3;
+ opacity: 0.7;
+}
+.rectangle-05 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 412px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #4a65b1;
+ z-index: 3;
+ opacity: 0.9;
+ border-radius: 7px; /* 圆角边框 */
+}
+.rank-text {
+ position: absolute; /* 绝对定位 */
+ left: 55px; /* 距离左侧50px */
+ top:140px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #4d4dcd; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4
+}
+
+.circle1 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 196px;
+ z-index: 3;
+}
+.circle2 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color:#cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 250px;
+ z-index: 3;
+}
+.circle3 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 305px;
+ z-index: 3;
+}
+.circle4 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 361px;
+ z-index: 3;
+}
+.circle5 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #cddf8a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 415px;
+ z-index: 3;
+}
+.image1 {
+ position: absolute; /* 绝对定位 */
+ left: 58px; /* 距离左侧200px */
+ top:203px; /* 距离顶部150px */
+ width: 30px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image2 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:246px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image3 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:292px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image4 {
+ position: absolute; /* 绝对定位 */
+ left: 53px; /* 距离左侧200px */
+ top:359px; /* 距离顶部150px */
+ width: 38px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image5 {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top:395px; /* 距离顶部150px */
+ width: 150px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image6 {
+ position: absolute; /* 绝对定位 */
+ left: 60px; /* 距离左侧200px */
+ top:180px; /* 距离顶部150px */
+ width: 40px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+
+
+
+/* pages/student/rank/rank.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+
+.rank1-image {
+ position: absolute; /* 绝对定位 */
+ left: 80px; /* 距离左侧200px */
+ top:0px; /* 距离顶部150px */
+ width: 200px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
+.rectangle {
+ position: absolute;
+ left: 30px; /* 矩形左上角的横坐标 */
+ top: 100px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 350px; /* 矩形的高度 */
+ background-color: #EE5A26; /* 原色,透明度50% */
+ z-index: 1;
+ opacity: 0.74;
+ border: 13px solid #fbae3e; /* 矩形的边框 */
+ border-radius: 30px; /* 圆角边框 */
+}
+.rectangle-00 {
+ position: absolute;
+ left: 46px; /* 矩形左上角的横坐标 */
+ top: 155px; /* 矩形左上角的纵坐标 */
+ width: 274px; /* 矩形的宽度 */
+ height: 32px; /* 矩形的高度 */
+ background-color: #f2de9a;
+ z-index: 3;
+ border-radius: 10px; /* 圆角边框 */
+ opacity: 0.7;
+}
+.rectangle-01 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 192px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #FCCA00;
+ z-index: 3;
+ opacity: 0.45;
+}
+.rectangle-02 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 247px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #F4CE98;
+ z-index: 3;
+ opacity: 0.64;
+}
+.rectangle-03 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 302px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #FCCA00;
+ z-index: 3;
+ opacity: 0.45;
+}
+.rectangle-04 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 357px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #F4CE98;
+ z-index: 3;
+ opacity: 0.64;
+}
+.rectangle-05 {
+ position: absolute;
+ left: 43px; /* 矩形左上角的横坐标 */
+ top: 412px; /* 矩形左上角的纵坐标 */
+ width: 280px; /* 矩形的宽度 */
+ height: 53px; /* 矩形的高度 */
+ background-color: #FCCA00;
+ z-index: 3;
+ opacity: 0.45;
+ border-radius: 7px; /* 圆角边框 */
+}
+.rank-text {
+ position: absolute; /* 绝对定位 */
+ left: 55px; /* 距离左侧50px */
+ top:140px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #EE5A26; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ opacity: 0.72;
+ z-index: 4
+}
+
+.circle1 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 196px;
+ z-index: 3;
+}
+.circle2 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color:#f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 250px;
+ z-index: 3;
+}
+.circle3 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 305px;
+ z-index: 3;
+}
+.circle4 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 361px;
+ z-index: 3;
+}
+.circle5 {
+ width: 45px; /* 圆形的宽度 */
+ height: 45px; /* 圆形的高度 */
+ background-color: #f2de9a; /* 圆形的背景颜色 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 50px;
+ top: 415px;
+ z-index: 3;
+}
+.image1 {
+ position: absolute; /* 绝对定位 */
+ left: 58px; /* 距离左侧200px */
+ top:203px; /* 距离顶部150px */
+ width: 30px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image2 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:246px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image3 {
+ position: absolute; /* 绝对定位 */
+ left: 47px; /* 距离左侧200px */
+ top:292px; /* 距离顶部150px */
+ width: 52px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image4 {
+ position: absolute; /* 绝对定位 */
+ left: 53px; /* 距离左侧200px */
+ top:359px; /* 距离顶部150px */
+ width: 38px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.image5 {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top:395px; /* 距离顶部150px */
+ width: 150px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.LV1-image {
+ position: absolute; /* 绝对定位 */
+ left: 20px; /* 距离左侧200px */
+ top:165px; /* 距离顶部150px */
+ width: 60px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 3; /* 设置z-index,确保在前面 */
+}
+.text1 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:165px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text2 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:220px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text3 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:275px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text8 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:275px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.text4 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:330px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text9 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:330px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.text5 {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:388px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color: #f7f7f7; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 4;
+ opacity: 0.9;
+}
+.text6 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:165px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.text7 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:220px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.text10 {
+position: absolute; /* 绝对定位 */
+left: 170px; /* 距离左侧50px */
+top:388px; /* 距离顶部50px */
+font-size: 20px; /* 字号 */
+margin: 10px; /* 边距 */
+line-height: 20px; /* 行间距 */
+color: #f7f7f7; /* 文本颜色 */
+font-weight: bold;
+padding: 10px; /* 内边距 */
+z-index: 4;
+opacity: 0.9;
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+.fanhui-image {
+ position: absolute; /* 绝对定位 */
+ left: 0px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 7; /* 设置z-index,确保在前面 */
+
+}
+.green1-image {
+ position: absolute; /* 绝对定位 */
+ left: 138px; /* 距离左侧200px */
+ top:400px; /* 距离顶部150px */
+ width: 280px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 0; /* 设置z-index,确保在前面 */
+}
+.green2-image {
+ position: absolute; /* 绝对定位 */
+ left: 188px; /* 距离左侧200px */
+ top:50px; /* 距离顶部150px */
+ width: 250px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 0; /* 设置z-index,确保在前面 */
+}
+.green3-image {
+ position: absolute; /* 绝对定位 */
+ left: -50px; /* 距离左侧200px */
+ top:200px; /* 距离顶部150px */
+ width: 250px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 0; /* 设置z-index,确保在前面 */
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/mode2/mode2.js b/qianduan/pages/teacher/mode2/mode2.js
new file mode 100644
index 0000000..0681fb5
--- /dev/null
+++ b/qianduan/pages/teacher/mode2/mode2.js
@@ -0,0 +1,66 @@
+// pages/teacher/mode2/mode2.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/qianduan/pages/teacher/mode2/mode2.wxml b/qianduan/pages/teacher/mode2/mode2.wxml
new file mode 100644
index 0000000..492c01a
--- /dev/null
+++ b/qianduan/pages/teacher/mode2/mode2.wxml
@@ -0,0 +1,2 @@
+
+pages/teacher/mode2/mode2.wxml
\ No newline at end of file
diff --git a/qianduan/pages/teacher/teacher.js b/qianduan/pages/teacher/teacher.js
new file mode 100644
index 0000000..c4f8ce0
--- /dev/null
+++ b/qianduan/pages/teacher/teacher.js
@@ -0,0 +1,235 @@
+Page({
+ data: {
+ fileList: [],
+ showModal: false,
+ exemptionModalVisible: false, // 控制豁免卡信息弹窗
+ selectedStudent: null,
+ socket: null,
+ exemptionCardInfo: {},// 用于存储豁免卡信息
+ questionScore: 0, // 新增变量,用于存储输入的积分
+ },
+ // 返回页面
+ goBack() {
+ wx.navigateTo({
+ url: '/pages/index/index',
+ });
+ },
+ // 选择文件(点击上传学生按钮)
+ chooseFile: function() {
+ const that = this;
+ wx.chooseMessageFile({
+ count: 1, // 选择文件的数量
+ type: 'file', // 文件类型
+ extension: ['xls', 'xlsx'], // 允许选择 Excel 文件
+ success(res) {
+ const tempFilePaths = res.tempFiles;
+ if (tempFilePaths.length > 0) {
+ // 上传文件
+ that.uploadFile(tempFilePaths[0].path);
+ } else {
+ wx.showToast({
+ title: '未选择文件',
+ icon: 'none'
+ });
+ }
+ }
+ });
+ },
+
+ // 上传文件
+ uploadFile: function(filePath) {
+ wx.uploadFile({
+ url: 'http://127.0.0.1:8000/api/upload-students/', // Django 后端 API
+ filePath: filePath,
+ name: 'file', // 后端接收文件的参数名
+ success(res) {
+ const data = JSON.parse(res.data);
+ if (data.message) {
+ wx.showToast({
+ title: data.message,
+ icon: 'success'
+ });
+ } else if (data.error) {
+ wx.showToast({
+ title: data.error,
+ icon: 'none'
+ });
+ }
+ },
+ fail(err) {
+ wx.showToast({
+ title: '上传失败',
+ icon: 'none'
+ });
+ }
+ });
+ },
+
+ onLoad: function() {
+ this.connectWebSocket();
+ },
+
+ // 建立websock连接
+ connectWebSocket() {
+ const socket = wx.connectSocket({
+ url: 'ws://127.0.0.1:8000/ws/classroom/',
+ });
+
+ socket.onMessage((message) => {
+ const data = JSON.parse(message.data);
+ if (data.action === 'student_picked') {
+ this.setData({
+ selectedStudent: {
+ name: data.name,
+ student_id: data.student_id,
+ },
+ showModal: true,
+ });
+ }else if (data.action === 'exemption_card_used') {
+ this.setData({
+ exemptionCardInfo: {
+ student_id: data.student_id,
+ student_name: data.student_name,
+ new_score: data.new_score,
+ },
+ exemptionModalVisible: true, // 显示豁免卡信息弹窗
+ });
+ }
+ });
+ this.setData({ socket });
+ },
+ // 发起点名
+ pickStudent() {
+ this.data.socket.send({
+ data: JSON.stringify({ action: 'pick_student' }),
+ });
+ },
+ onStudentPicked(student) {
+ this.setData({
+ selectedStudent: student,
+ showModal: true,
+ });
+
+ // 发送点名结果到学生组
+ this.data.socket.send({
+ data: JSON.stringify({
+ action: 'student_picked',
+ name: student.name,
+ student_id: student.student_id,
+ }),
+ });
+ },
+ //关闭点名结果弹窗
+ onModalClose() {
+ this.setData({
+ showModal: false,
+ });
+ },
+
+ // 关闭豁免卡信息弹窗
+ onExemptionModalClose() {
+ this.setData({
+ exemptionModalVisible: false,
+ });
+ },
+
+ // 进入点到模式
+ goToRollCall() {
+ if (!this.data.selectedStudent) {
+ wx.showToast({
+ title: '请先选择一个学生',
+ icon: 'none',
+ });
+ return;
+ }
+ const { student_id: studentId } = this.data.selectedStudent; // 从 selectedStudent 中解构出 studentId
+ wx.navigateTo({
+ url: `/pages/teacher/Mode-arrive/Mode-arrive?studentId=${studentId}`,
+ });
+ },
+
+ // 进入提问模式
+ goToQuestionMode() {
+ if (!this.data.selectedStudent) {
+ wx.showToast({
+ title: '请先选择一个学生',
+ icon: 'none',
+ });
+ return;
+ }
+ const { student_id: studentId } = this.data.selectedStudent; // 从 selectedStudent 中解构出 studentId
+ console.log('Navigating to question mode with studentId:', studentId);
+ wx.navigateTo({
+ url: `/pages/teacher/Mode-quiz/Mode-quiz?studentId=${studentId}`,
+ fail: (err) => {
+ console.log('跳转失败:', err);
+ },
+ });
+ },
+
+ // 跳转到排行榜
+ goTorank() {
+ console.log('点击了排行榜按钮'); // 添加调试信息
+ wx.navigateTo({
+ url: 'pages/teacher/Trank/rank-Mode1/rank-Mode1',
+ });
+ },
+
+ // 导出数据
+ exportScores() {
+ wx.request({
+ url: 'http://127.0.0.1:8000/api/export_students_scores', // 后端 API 地址
+ method: 'POST',
+ responseType: 'arraybuffer', // 确保接收的是文件数据
+ success(res) {
+ if (res.statusCode === 200) {
+ // 将接收到的二进制数据转换为Excel文件并下载
+ const filePath = `${wx.env.USER_DATA_PATH}/students_scores.xlsx`;
+ const fs = wx.getFileSystemManager();
+ fs.writeFile({
+ filePath,
+ data: res.data,
+ encoding: 'binary',
+ success() {
+ wx.openDocument({
+ filePath,
+ fileType: 'xlsx',
+ success() {
+ wx.showToast({
+ title: 'Excel已下载并打开',
+ icon: 'success',
+ });
+ },
+ fail() {
+ wx.showToast({
+ title: '文件打开失败',
+ icon: 'none',
+ });
+ }
+ });
+ },
+ fail() {
+ wx.showToast({
+ title: '文件保存失败',
+ icon: 'none',
+ });
+ }
+ });
+ } else {
+ wx.showToast({
+ title: res.data.error || '导出失败',
+ icon: 'none',
+ });
+ }
+ },
+ fail() {
+ wx.showToast({
+ title: '请求失败,请检查网络',
+ icon: 'none',
+ });
+ }
+ });
+ },
+
+ });
+
\ No newline at end of file
diff --git a/qianduan/pages/teacher/teacher.json b/qianduan/pages/teacher/teacher.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/qianduan/pages/teacher/teacher.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/qianduan/pages/teacher/teacher.wxml b/qianduan/pages/teacher/teacher.wxml
new file mode 100644
index 0000000..a3e6fbf
--- /dev/null
+++ b/qianduan/pages/teacher/teacher.wxml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+ 开始点名
+
+
+
+
+ 学生姓名: {{selectedStudent.name}}
+ 学号: {{selectedStudent.student_id}}
+
+
+
+
+
+
+ 学生姓名: {{exemptionCardInfo.student_name}}
+ 学号: {{exemptionCardInfo.student_id}}
+ 新积分: {{exemptionCardInfo.new_score}}
+
+
+
+
+
+
+ 导入学生名单
+
+
+
+
+请选择点名模式
+您可以选择不同的点名模式进行互动
+
+
+
+导出数据
+
+
diff --git a/qianduan/pages/teacher/teacher.wxss b/qianduan/pages/teacher/teacher.wxss
new file mode 100644
index 0000000..244bcd6
--- /dev/null
+++ b/qianduan/pages/teacher/teacher.wxss
@@ -0,0 +1,172 @@
+/* pages/teacher/teacher.wxss */
+.container {
+ height: 100vh;
+ background-size: cover;
+ background-position: center;
+}
+.circle1 {
+ width: 200px; /* 圆形的宽度 */
+ height: 200px; /* 圆形的高度 */
+ background-color: #ffb6a4; /* 圆形的背景颜色 */
+ border: 5px solid #f1e029; /* 矩形的边框 */
+ box-shadow: 0px 0px 10px 10px rgba(0, 0, 0, 0.5); /* 添加阴影 */
+ border-radius: 50%; /* 将矩形变成圆形 */
+ position: absolute;
+ left: 80px;
+ top: 210px;
+ z-index: 3;
+}
+.hu-image {
+ position: absolute; /* 绝对定位 */
+ left: 70px; /* 距离左侧更左边,例如减小到 -100px */
+ top: 200px; /* 距离顶部更高,例如减小到 -100px */
+ width: 230px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 5; /* 设置z-index,确保在前面 */
+}
+.hu-image2 {
+ position: absolute; /* 绝对定位 */
+ left: 85px; /* 距离左侧更左边,例如减小到 -100px */
+ top: 208px; /* 距离顶部更高,例如减小到 -100px */
+ width: 205px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 5; /* 设置z-index,确保在前面 */
+}
+.dm-text {
+ position: absolute; /* 绝对定位 */
+ left: 80px; /* 距离左侧50px */
+ top:285px; /* 距离顶部50px */
+ font-size: 38px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#767676 ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 7;
+ opacity: 0.9;
+}
+.rectangle {
+ position: absolute;
+ left: 36px; /* 矩形左上角的横坐标 */
+ top: 80px; /* 矩形左上角的纵坐标 */
+ width: 305px; /* 矩形的宽度 */
+ height: 380px; /* 矩形的高度 */
+ background-color: #ffd67b;
+ border-radius: 41px;
+ opacity: 0.18;
+ z-index: 5;
+}
+.rectangle-name {
+ position: absolute;
+ left: 46px; /* 矩形左上角的横坐标 */
+ top: 105px; /* 矩形左上角的纵坐标 */
+ width: 285px; /* 矩形的宽度 */
+ height: 60px; /* 矩形的高度 */
+ background-color: #ffd67b;
+ border-radius: 30px;
+ z-index: 6;
+}
+.md {
+ position: absolute; /* 绝对定位 */
+ left: 60px; /* 距离左侧50px */
+ top:0px; /* 距离顶部50px */
+ font-size: 20px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#3f3f3f ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 7;
+ opacity: 0.9;
+}
+.rectangle-down {
+ position: absolute;
+ left: 36px; /* 矩形左上角的横坐标 */
+ top: 480px; /* 矩形左上角的纵坐标 */
+ width: 305px; /* 矩形的宽度 */
+ height: 200px; /* 矩形的高度 */
+ background-color: #ffd67b;
+ border-radius: 41px;
+ opacity: 0.18;
+ z-index: 5;
+}
+.choice {
+ position: absolute; /* 绝对定位 */
+ left: 80px; /* 距离左侧50px */
+ top:500px; /* 距离顶部50px */
+ font-size: 24px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#6d6d6d ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 9;
+}
+.hudong {
+ position: absolute; /* 绝对定位 */
+ left: 65px; /* 距离左侧50px */
+ top:650px; /* 距离顶部50px */
+ font-size: 18px; /* 字号 */
+ margin: -30px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#656565 ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 9;
+}
+.confirm-button {
+ width: 100px !important; /* 用于测试优先级问题 */
+ left: 80px; /* 距离左侧50px */
+ top:-164px; /* 距离顶部50px */
+ padding: 5px; /* 内边距,控制按钮大小 */
+ font-size: 20px; /* 字号 */
+ color: #ffffff; /* 按钮文本颜色 */
+ background-color: #78ba7d; /* 按钮背景颜色 */
+ border-radius: 4px ; /* 圆角边框 */
+ cursor: pointer; /* 鼠标悬停时变成手指形状 */
+ z-index: 5
+}
+
+
+.confirm-button:hover {
+ background-color: #0056b3; /* 悬停时按钮颜色 */
+}
+
+.confirm-button2 {
+ width: 100px !important; /* 用于测试优先级问题 */
+ left: -85px; /* 距离左侧50px */
+ top:-200px; /* 距离顶部50px */
+ padding: 5px; /* 内边距,控制按钮大小 */
+ font-size: 20px; /* 字号 */
+ color: #ffffff; /* 按钮文本颜色 */
+ background-color: #347acf; /* 按钮背景颜色 */
+ border-radius: 4px ; /* 圆角边框 */
+ cursor: pointer; /* 鼠标悬停时变成手指形状 */
+ z-index: 5
+}
+
+
+ .confirm-button2:hover {
+ background-color: #0056b3; /* 悬停时按钮颜色 */
+ }
+ .dao {
+ position: absolute; /* 绝对定位 */
+ left: 220px; /* 距离左侧50px */
+ top:10px; /* 距离顶部50px */
+ font-size: 25px; /* 字号 */
+ margin: 10px; /* 边距 */
+ line-height: 20px; /* 行间距 */
+ color:#3f3f3f ; /* 文本颜色 */
+ font-weight: bold;
+ padding: 10px; /* 内边距 */
+ z-index: 7;
+ opacity: 0.9;
+}
+.back-image {
+ position: absolute; /* 绝对定位 */
+ left: 5px; /* 距离左侧200px */
+ top: 0px; /* 距离顶部150px */
+ width: 70px; /* 图片宽度 */
+ height: auto; /* 图片高度自适应 */
+ z-index: 2; /* 设置z-index,确保在前面 */
+}
\ No newline at end of file
diff --git a/qianduan/project.config.json b/qianduan/project.config.json
new file mode 100644
index 0000000..a09469d
--- /dev/null
+++ b/qianduan/project.config.json
@@ -0,0 +1,34 @@
+{
+ "compileType": "miniprogram",
+ "libVersion": "trial",
+ "packOptions": {
+ "ignore": [
+ {
+ "value": "/minitest",
+ "type": "folder"
+ }
+ ],
+ "include": []
+ },
+ "setting": {
+ "coverView": true,
+ "es6": true,
+ "postcss": true,
+ "minified": true,
+ "enhance": true,
+ "showShadowRootInWxmlPanel": true,
+ "packNpmRelationList": [],
+ "babelSetting": {
+ "ignore": [],
+ "disablePlugins": [],
+ "outputPath": ""
+ }
+ },
+ "condition": {},
+ "editorSetting": {
+ "tabIndent": "auto",
+ "tabSize": 2
+ },
+ "appid": "wx0e62d159b9194ece",
+ "testRoot": "minitest/"
+}
\ No newline at end of file
diff --git a/qianduan/project.private.config.json b/qianduan/project.private.config.json
new file mode 100644
index 0000000..20e1a21
--- /dev/null
+++ b/qianduan/project.private.config.json
@@ -0,0 +1,155 @@
+{
+ "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+ "projectname": "test-02",
+ "setting": {
+ "compileHotReLoad": true,
+ "urlCheck": false,
+ "bigPackageSizeSupport": true
+ },
+ "condition": {
+ "miniprogram": {
+ "list": [
+ {
+ "name": "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "pathName": "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "pathName": "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/rank/rank",
+ "pathName": "pages/student/rank/rank",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/diandang/dd-yes/dd-yes",
+ "pathName": "pages/student/diandang/dd-yes/dd-yes",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/rules/rule1/rule1",
+ "pathName": "pages/student/rules/rule1/rule1",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/teacher/Mode-quiz/Mode-quiz",
+ "pathName": "pages/teacher/Mode-quiz/Mode-quiz",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/teacher/Mode-arrive/Mode-arrive",
+ "pathName": "pages/teacher/Mode-arrive/Mode-arrive",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/teacher/teacher",
+ "pathName": "pages/teacher/teacher",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/teacher/Mode-quiz_2/Mode-quiz_2",
+ "pathName": "pages/teacher/Mode-quiz_2/Mode-quiz_2",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/diandang/dd-yes/dd-yes",
+ "pathName": "pages/student/diandang/dd-yes/dd-yes",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/teacher/Trank/rank-Mode2/rank-Mode2",
+ "pathName": "pages/teacher/Trank/rank-Mode2/rank-Mode2",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "pathName": "pages/teacher/Trank/rank-Mode1/rank-Mode1",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/teacher/Mode-arrive/Mode-arrive",
+ "pathName": "pages/teacher/Mode-arrive/Mode-arrive",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/rules/rule2/rule2",
+ "pathName": "pages/student/rules/rule2/rule2",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/dm/dm",
+ "pathName": "pages/student/dm/dm",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/diandang/dd-yes/dd-yes",
+ "pathName": "pages/student/diandang/dd-yes/dd-yes",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/rank/rank",
+ "pathName": "pages/student/rank/rank",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/index/index",
+ "pathName": "pages/index/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/student",
+ "pathName": "pages/student/student",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/student/dm/dm",
+ "pathName": "pages/student/dm/dm",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/qianduan/sitemap.json b/qianduan/sitemap.json
new file mode 100644
index 0000000..ca02add
--- /dev/null
+++ b/qianduan/sitemap.json
@@ -0,0 +1,7 @@
+{
+ "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
+ "rules": [{
+ "action": "allow",
+ "page": "*"
+ }]
+}
\ No newline at end of file
diff --git a/qianduan/utils/util.js b/qianduan/utils/util.js
new file mode 100644
index 0000000..764bc2c
--- /dev/null
+++ b/qianduan/utils/util.js
@@ -0,0 +1,19 @@
+const formatTime = date => {
+ const year = date.getFullYear()
+ const month = date.getMonth() + 1
+ const day = date.getDate()
+ const hour = date.getHours()
+ const minute = date.getMinutes()
+ const second = date.getSeconds()
+
+ return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
+}
+
+const formatNumber = n => {
+ n = n.toString()
+ return n[1] ? n : `0${n}`
+}
+
+module.exports = {
+ formatTime
+}