From 51c36430dab0c7df87289a2fff9bd647d37b03d8 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Sep 2018 13:06:48 +0800 Subject: [PATCH] Initial Commit --- .gitignore | 14 + app.js | 58 ++ app.json | 42 ++ app.wxss | 11 + data/QRcode.js | 789 +++++++++++++++++++++++++ data/data.js | 26 + data/weui.wxss | 1043 +++++++++++++++++++++++++++++++++ db/DBpost.js | 174 ++++++ images/home/dianming1.png | Bin 0 -> 1325 bytes images/home/dianming2.png | Bin 0 -> 1610 bytes images/home/user1.png | Bin 0 -> 2149 bytes images/home/user2.png | Bin 0 -> 1764 bytes manage/absent/absent.js | 251 ++++++++ manage/absent/absent.json | 4 + manage/absent/absent.wxml | 38 ++ manage/absent/absent.wxss | 45 ++ manage/manage.js | 207 +++++++ manage/manage.json | 4 + manage/manage.wxml | 38 ++ manage/manage.wxss | 39 ++ manage/rollcall/rollcall.js | 107 ++++ manage/rollcall/rollcall.json | 4 + manage/rollcall/rollcall.wxml | 24 + manage/rollcall/rollcall.wxss | 31 + manage/select/select.js | 685 ++++++++++++++++++++++ manage/select/select.json | 4 + manage/select/select.wxml | 31 + manage/select/select.wxss | 124 ++++ manage/show/show.js | 165 ++++++ manage/show/show.json | 4 + manage/show/show.wxml | 55 ++ manage/show/show.wxss | 84 +++ pages/post/QRcode/QRcode.js | 118 ++++ pages/post/QRcode/QRcode.json | 4 + pages/post/QRcode/QRcode.wxml | 16 + pages/post/QRcode/QRcode.wxss | 41 ++ pages/post/post.js | 109 ++++ pages/post/post.json | 3 + pages/post/post.wxml | 9 + pages/post/post.wxss | 47 ++ pages/user/guanyu/guanyu.js | 66 +++ pages/user/guanyu/guanyu.json | 4 + pages/user/guanyu/guanyu.wxml | 20 + pages/user/guanyu/guanyu.wxss | 93 +++ pages/user/user.js | 77 +++ pages/user/user.json | 4 + pages/user/user.wxml | 38 ++ pages/user/user.wxss | 93 +++ pages/user/xinxi/xinxi.js | 75 +++ pages/user/xinxi/xinxi.json | 4 + pages/user/xinxi/xinxi.wxml | 33 ++ pages/user/xinxi/xinxi.wxss | 97 +++ project.config.json | 36 ++ welcome/login/login.js | 156 +++++ welcome/login/login.json | 4 + welcome/login/login.wxml | 14 + welcome/login/login.wxss | 43 ++ welcome/signin/signin.js | 410 +++++++++++++ welcome/signin/signin.json | 4 + welcome/signin/signin.wxml | 20 + welcome/signin/signin.wxss | 88 +++ 61 files changed, 5827 insertions(+) create mode 100644 .gitignore create mode 100644 app.js create mode 100644 app.json create mode 100644 app.wxss create mode 100644 data/QRcode.js create mode 100644 data/data.js create mode 100644 data/weui.wxss create mode 100644 db/DBpost.js create mode 100644 images/home/dianming1.png create mode 100644 images/home/dianming2.png create mode 100644 images/home/user1.png create mode 100644 images/home/user2.png create mode 100644 manage/absent/absent.js create mode 100644 manage/absent/absent.json create mode 100644 manage/absent/absent.wxml create mode 100644 manage/absent/absent.wxss create mode 100644 manage/manage.js create mode 100644 manage/manage.json create mode 100644 manage/manage.wxml create mode 100644 manage/manage.wxss create mode 100644 manage/rollcall/rollcall.js create mode 100644 manage/rollcall/rollcall.json create mode 100644 manage/rollcall/rollcall.wxml create mode 100644 manage/rollcall/rollcall.wxss create mode 100644 manage/select/select.js create mode 100644 manage/select/select.json create mode 100644 manage/select/select.wxml create mode 100644 manage/select/select.wxss create mode 100644 manage/show/show.js create mode 100644 manage/show/show.json create mode 100644 manage/show/show.wxml create mode 100644 manage/show/show.wxss create mode 100644 pages/post/QRcode/QRcode.js create mode 100644 pages/post/QRcode/QRcode.json create mode 100644 pages/post/QRcode/QRcode.wxml create mode 100644 pages/post/QRcode/QRcode.wxss create mode 100644 pages/post/post.js create mode 100644 pages/post/post.json create mode 100644 pages/post/post.wxml create mode 100644 pages/post/post.wxss create mode 100644 pages/user/guanyu/guanyu.js create mode 100644 pages/user/guanyu/guanyu.json create mode 100644 pages/user/guanyu/guanyu.wxml create mode 100644 pages/user/guanyu/guanyu.wxss create mode 100644 pages/user/user.js create mode 100644 pages/user/user.json create mode 100644 pages/user/user.wxml create mode 100644 pages/user/user.wxss create mode 100644 pages/user/xinxi/xinxi.js create mode 100644 pages/user/xinxi/xinxi.json create mode 100644 pages/user/xinxi/xinxi.wxml create mode 100644 pages/user/xinxi/xinxi.wxss create mode 100644 project.config.json create mode 100644 welcome/login/login.js create mode 100644 welcome/login/login.json create mode 100644 welcome/login/login.wxml create mode 100644 welcome/login/login.wxss create mode 100644 welcome/signin/signin.js create mode 100644 welcome/signin/signin.json create mode 100644 welcome/signin/signin.wxml create mode 100644 welcome/signin/signin.wxss diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10fa70b --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Windows +[Dd]esktop.ini +Thumbs.db +$RECYCLE.BIN/ + +# macOS +.DS_Store +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes + +# Node.js +node_modules/ diff --git a/app.js b/app.js new file mode 100644 index 0000000..5d16f62 --- /dev/null +++ b/app.js @@ -0,0 +1,58 @@ +var daraObj=require("data/data.js") + + + + +App({ + + /** + * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) + */ + onLaunch: function () { + }, + + /** + * 当小程序启动,或从后台进入前台显示,会触发 onShow + */ + onShow: function (options) { + + }, + + /** + * 当小程序从前台进入后台,会触发 onHide + */ + onHide: function () { + + }, + + /** + * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 + */ + onError: function (msg) { + + }, + + globalData:{ + xingming: "", + xuehao: "", + zhuanye: "", + xueyuan: "", + UQ: "", + nicheng:"", + mima:"", + shijian:"", + didian:"", + renyuan1:"", + renyuan2:"", + shijianchuo:"", + banji1:'', + banji2:'', + banji3:'', + banji4:'', + banji5:'', + queqin: [0], + bingjia: [0], + shijia: [0] + } + +}) diff --git a/app.json b/app.json new file mode 100644 index 0000000..d751e0f --- /dev/null +++ b/app.json @@ -0,0 +1,42 @@ +{ + "pages": [ + + "welcome/login/login", + "manage/show/show", + "manage/manage", + "manage/absent/absent", + "pages/post/post", + "manage/select/select", + "manage/rollcall/rollcall", + "pages/post/QRcode/QRcode", + "pages/user/xinxi/xinxi", + "welcome/signin/signin", + "pages/user/guanyu/guanyu", + "pages/user/user" + + ], + "window": { + "navigationBarBackgroundColor": "#0061bf" + }, + "tabBar": { + "borderStyle": "white", + "selectedColor": "#4A6141", + "color": "#333", + "backgroundColor": "#fff", + "position": "bottom", + "list": [ + { + "pagePath": "pages/post/post", + "text": "点名", + "iconPath": "images/home/dianming1.png", + "selectedIconPath": "images/home/dianming2.png" + }, + { + "pagePath": "pages/user/user", + "text": "个人中心", + "iconPath": "images/home/user1.png", + "selectedIconPath": "images/home/user2.png" + } + ] + } +} \ No newline at end of file diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..ebdc8c7 --- /dev/null +++ b/app.wxss @@ -0,0 +1,11 @@ +/**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/data/QRcode.js b/data/QRcode.js new file mode 100644 index 0000000..89ffd80 --- /dev/null +++ b/data/QRcode.js @@ -0,0 +1,789 @@ +!(function () { + + // alignment pattern + var adelta = [ + 0, 11, 15, 19, 23, 27, 31, + 16, 18, 20, 22, 24, 26, 28, 20, 22, 24, 24, 26, 28, 28, 22, 24, 24, + 26, 26, 28, 28, 24, 24, 26, 26, 26, 28, 28, 24, 26, 26, 26, 28, 28 + ]; + + // version block + var vpat = [ + 0xc94, 0x5bc, 0xa99, 0x4d3, 0xbf6, 0x762, 0x847, 0x60d, + 0x928, 0xb78, 0x45d, 0xa17, 0x532, 0x9a6, 0x683, 0x8c9, + 0x7ec, 0xec4, 0x1e1, 0xfab, 0x08e, 0xc1a, 0x33f, 0xd75, + 0x250, 0x9d5, 0x6f0, 0x8ba, 0x79f, 0xb0b, 0x42e, 0xa64, + 0x541, 0xc69 + ]; + + // final format bits with mask: level << 3 | mask + var fmtword = [ + 0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976, //L + 0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0, //M + 0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed, //Q + 0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b //H + ]; + + // 4 per version: number of blocks 1,2; data width; ecc width + var eccblocks = [ + 1, 0, 19, 7, 1, 0, 16, 10, 1, 0, 13, 13, 1, 0, 9, 17, + 1, 0, 34, 10, 1, 0, 28, 16, 1, 0, 22, 22, 1, 0, 16, 28, + 1, 0, 55, 15, 1, 0, 44, 26, 2, 0, 17, 18, 2, 0, 13, 22, + 1, 0, 80, 20, 2, 0, 32, 18, 2, 0, 24, 26, 4, 0, 9, 16, + 1, 0, 108, 26, 2, 0, 43, 24, 2, 2, 15, 18, 2, 2, 11, 22, + 2, 0, 68, 18, 4, 0, 27, 16, 4, 0, 19, 24, 4, 0, 15, 28, + 2, 0, 78, 20, 4, 0, 31, 18, 2, 4, 14, 18, 4, 1, 13, 26, + 2, 0, 97, 24, 2, 2, 38, 22, 4, 2, 18, 22, 4, 2, 14, 26, + 2, 0, 116, 30, 3, 2, 36, 22, 4, 4, 16, 20, 4, 4, 12, 24, + 2, 2, 68, 18, 4, 1, 43, 26, 6, 2, 19, 24, 6, 2, 15, 28, + 4, 0, 81, 20, 1, 4, 50, 30, 4, 4, 22, 28, 3, 8, 12, 24, + 2, 2, 92, 24, 6, 2, 36, 22, 4, 6, 20, 26, 7, 4, 14, 28, + 4, 0, 107, 26, 8, 1, 37, 22, 8, 4, 20, 24, 12, 4, 11, 22, + 3, 1, 115, 30, 4, 5, 40, 24, 11, 5, 16, 20, 11, 5, 12, 24, + 5, 1, 87, 22, 5, 5, 41, 24, 5, 7, 24, 30, 11, 7, 12, 24, + 5, 1, 98, 24, 7, 3, 45, 28, 15, 2, 19, 24, 3, 13, 15, 30, + 1, 5, 107, 28, 10, 1, 46, 28, 1, 15, 22, 28, 2, 17, 14, 28, + 5, 1, 120, 30, 9, 4, 43, 26, 17, 1, 22, 28, 2, 19, 14, 28, + 3, 4, 113, 28, 3, 11, 44, 26, 17, 4, 21, 26, 9, 16, 13, 26, + 3, 5, 107, 28, 3, 13, 41, 26, 15, 5, 24, 30, 15, 10, 15, 28, + 4, 4, 116, 28, 17, 0, 42, 26, 17, 6, 22, 28, 19, 6, 16, 30, + 2, 7, 111, 28, 17, 0, 46, 28, 7, 16, 24, 30, 34, 0, 13, 24, + 4, 5, 121, 30, 4, 14, 47, 28, 11, 14, 24, 30, 16, 14, 15, 30, + 6, 4, 117, 30, 6, 14, 45, 28, 11, 16, 24, 30, 30, 2, 16, 30, + 8, 4, 106, 26, 8, 13, 47, 28, 7, 22, 24, 30, 22, 13, 15, 30, + 10, 2, 114, 28, 19, 4, 46, 28, 28, 6, 22, 28, 33, 4, 16, 30, + 8, 4, 122, 30, 22, 3, 45, 28, 8, 26, 23, 30, 12, 28, 15, 30, + 3, 10, 117, 30, 3, 23, 45, 28, 4, 31, 24, 30, 11, 31, 15, 30, + 7, 7, 116, 30, 21, 7, 45, 28, 1, 37, 23, 30, 19, 26, 15, 30, + 5, 10, 115, 30, 19, 10, 47, 28, 15, 25, 24, 30, 23, 25, 15, 30, + 13, 3, 115, 30, 2, 29, 46, 28, 42, 1, 24, 30, 23, 28, 15, 30, + 17, 0, 115, 30, 10, 23, 46, 28, 10, 35, 24, 30, 19, 35, 15, 30, + 17, 1, 115, 30, 14, 21, 46, 28, 29, 19, 24, 30, 11, 46, 15, 30, + 13, 6, 115, 30, 14, 23, 46, 28, 44, 7, 24, 30, 59, 1, 16, 30, + 12, 7, 121, 30, 12, 26, 47, 28, 39, 14, 24, 30, 22, 41, 15, 30, + 6, 14, 121, 30, 6, 34, 47, 28, 46, 10, 24, 30, 2, 64, 15, 30, + 17, 4, 122, 30, 29, 14, 46, 28, 49, 10, 24, 30, 24, 46, 15, 30, + 4, 18, 122, 30, 13, 32, 46, 28, 48, 14, 24, 30, 42, 32, 15, 30, + 20, 4, 117, 30, 40, 7, 47, 28, 43, 22, 24, 30, 10, 67, 15, 30, + 19, 6, 118, 30, 18, 31, 47, 28, 34, 34, 24, 30, 20, 61, 15, 30 + ]; + + // Galois field log table + var glog = [ + 0xff, 0x00, 0x01, 0x19, 0x02, 0x32, 0x1a, 0xc6, 0x03, 0xdf, 0x33, 0xee, 0x1b, 0x68, 0xc7, 0x4b, + 0x04, 0x64, 0xe0, 0x0e, 0x34, 0x8d, 0xef, 0x81, 0x1c, 0xc1, 0x69, 0xf8, 0xc8, 0x08, 0x4c, 0x71, + 0x05, 0x8a, 0x65, 0x2f, 0xe1, 0x24, 0x0f, 0x21, 0x35, 0x93, 0x8e, 0xda, 0xf0, 0x12, 0x82, 0x45, + 0x1d, 0xb5, 0xc2, 0x7d, 0x6a, 0x27, 0xf9, 0xb9, 0xc9, 0x9a, 0x09, 0x78, 0x4d, 0xe4, 0x72, 0xa6, + 0x06, 0xbf, 0x8b, 0x62, 0x66, 0xdd, 0x30, 0xfd, 0xe2, 0x98, 0x25, 0xb3, 0x10, 0x91, 0x22, 0x88, + 0x36, 0xd0, 0x94, 0xce, 0x8f, 0x96, 0xdb, 0xbd, 0xf1, 0xd2, 0x13, 0x5c, 0x83, 0x38, 0x46, 0x40, + 0x1e, 0x42, 0xb6, 0xa3, 0xc3, 0x48, 0x7e, 0x6e, 0x6b, 0x3a, 0x28, 0x54, 0xfa, 0x85, 0xba, 0x3d, + 0xca, 0x5e, 0x9b, 0x9f, 0x0a, 0x15, 0x79, 0x2b, 0x4e, 0xd4, 0xe5, 0xac, 0x73, 0xf3, 0xa7, 0x57, + 0x07, 0x70, 0xc0, 0xf7, 0x8c, 0x80, 0x63, 0x0d, 0x67, 0x4a, 0xde, 0xed, 0x31, 0xc5, 0xfe, 0x18, + 0xe3, 0xa5, 0x99, 0x77, 0x26, 0xb8, 0xb4, 0x7c, 0x11, 0x44, 0x92, 0xd9, 0x23, 0x20, 0x89, 0x2e, + 0x37, 0x3f, 0xd1, 0x5b, 0x95, 0xbc, 0xcf, 0xcd, 0x90, 0x87, 0x97, 0xb2, 0xdc, 0xfc, 0xbe, 0x61, + 0xf2, 0x56, 0xd3, 0xab, 0x14, 0x2a, 0x5d, 0x9e, 0x84, 0x3c, 0x39, 0x53, 0x47, 0x6d, 0x41, 0xa2, + 0x1f, 0x2d, 0x43, 0xd8, 0xb7, 0x7b, 0xa4, 0x76, 0xc4, 0x17, 0x49, 0xec, 0x7f, 0x0c, 0x6f, 0xf6, + 0x6c, 0xa1, 0x3b, 0x52, 0x29, 0x9d, 0x55, 0xaa, 0xfb, 0x60, 0x86, 0xb1, 0xbb, 0xcc, 0x3e, 0x5a, + 0xcb, 0x59, 0x5f, 0xb0, 0x9c, 0xa9, 0xa0, 0x51, 0x0b, 0xf5, 0x16, 0xeb, 0x7a, 0x75, 0x2c, 0xd7, + 0x4f, 0xae, 0xd5, 0xe9, 0xe6, 0xe7, 0xad, 0xe8, 0x74, 0xd6, 0xf4, 0xea, 0xa8, 0x50, 0x58, 0xaf + ]; + + // Galios field exponent table + var gexp = [ + 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1d, 0x3a, 0x74, 0xe8, 0xcd, 0x87, 0x13, 0x26, + 0x4c, 0x98, 0x2d, 0x5a, 0xb4, 0x75, 0xea, 0xc9, 0x8f, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, + 0x9d, 0x27, 0x4e, 0x9c, 0x25, 0x4a, 0x94, 0x35, 0x6a, 0xd4, 0xb5, 0x77, 0xee, 0xc1, 0x9f, 0x23, + 0x46, 0x8c, 0x05, 0x0a, 0x14, 0x28, 0x50, 0xa0, 0x5d, 0xba, 0x69, 0xd2, 0xb9, 0x6f, 0xde, 0xa1, + 0x5f, 0xbe, 0x61, 0xc2, 0x99, 0x2f, 0x5e, 0xbc, 0x65, 0xca, 0x89, 0x0f, 0x1e, 0x3c, 0x78, 0xf0, + 0xfd, 0xe7, 0xd3, 0xbb, 0x6b, 0xd6, 0xb1, 0x7f, 0xfe, 0xe1, 0xdf, 0xa3, 0x5b, 0xb6, 0x71, 0xe2, + 0xd9, 0xaf, 0x43, 0x86, 0x11, 0x22, 0x44, 0x88, 0x0d, 0x1a, 0x34, 0x68, 0xd0, 0xbd, 0x67, 0xce, + 0x81, 0x1f, 0x3e, 0x7c, 0xf8, 0xed, 0xc7, 0x93, 0x3b, 0x76, 0xec, 0xc5, 0x97, 0x33, 0x66, 0xcc, + 0x85, 0x17, 0x2e, 0x5c, 0xb8, 0x6d, 0xda, 0xa9, 0x4f, 0x9e, 0x21, 0x42, 0x84, 0x15, 0x2a, 0x54, + 0xa8, 0x4d, 0x9a, 0x29, 0x52, 0xa4, 0x55, 0xaa, 0x49, 0x92, 0x39, 0x72, 0xe4, 0xd5, 0xb7, 0x73, + 0xe6, 0xd1, 0xbf, 0x63, 0xc6, 0x91, 0x3f, 0x7e, 0xfc, 0xe5, 0xd7, 0xb3, 0x7b, 0xf6, 0xf1, 0xff, + 0xe3, 0xdb, 0xab, 0x4b, 0x96, 0x31, 0x62, 0xc4, 0x95, 0x37, 0x6e, 0xdc, 0xa5, 0x57, 0xae, 0x41, + 0x82, 0x19, 0x32, 0x64, 0xc8, 0x8d, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0xe0, 0xdd, 0xa7, 0x53, 0xa6, + 0x51, 0xa2, 0x59, 0xb2, 0x79, 0xf2, 0xf9, 0xef, 0xc3, 0x9b, 0x2b, 0x56, 0xac, 0x45, 0x8a, 0x09, + 0x12, 0x24, 0x48, 0x90, 0x3d, 0x7a, 0xf4, 0xf5, 0xf7, 0xf3, 0xfb, 0xeb, 0xcb, 0x8b, 0x0b, 0x16, + 0x2c, 0x58, 0xb0, 0x7d, 0xfa, 0xe9, 0xcf, 0x83, 0x1b, 0x36, 0x6c, 0xd8, 0xad, 0x47, 0x8e, 0x00 + ]; + + // Working buffers: + // data input and ecc append, image working buffer, fixed part of image, run lengths for badness + var strinbuf = [], eccbuf = [], qrframe = [], framask = [], rlens = []; + // Control values - width is based on version, last 4 are from table. + var version, width, neccblk1, neccblk2, datablkw, eccblkwid; + var ecclevel = 2; + // set bit to indicate cell in qrframe is immutable. symmetric around diagonal + function setmask(x, y) { + var bt; + if (x > y) { + bt = x; + x = y; + y = bt; + } + // y*y = 1+3+5... + bt = y; + bt *= y; + bt += y; + bt >>= 1; + bt += x; + framask[bt] = 1; + } + + // enter alignment pattern - black to qrframe, white to mask (later black frame merged to mask) + function putalign(x, y) { + var j; + + qrframe[x + width * y] = 1; + for (j = -2; j < 2; j++) { + qrframe[(x + j) + width * (y - 2)] = 1; + qrframe[(x - 2) + width * (y + j + 1)] = 1; + qrframe[(x + 2) + width * (y + j)] = 1; + qrframe[(x + j + 1) + width * (y + 2)] = 1; + } + for (j = 0; j < 2; j++) { + setmask(x - 1, y + j); + setmask(x + 1, y - j); + setmask(x - j, y - 1); + setmask(x + j, y + 1); + } + } + + //======================================================================== + // Reed Solomon error correction + // exponentiation mod N + function modnn(x) { + while (x >= 255) { + x -= 255; + x = (x >> 8) + (x & 255); + } + return x; + } + + var genpoly = []; + + // Calculate and append ECC data to data block. Block is in strinbuf, indexes to buffers given. + function appendrs(data, dlen, ecbuf, eclen) { + var i, j, fb; + + for (i = 0; i < eclen; i++) + strinbuf[ecbuf + i] = 0; + for (i = 0; i < dlen; i++) { + fb = glog[strinbuf[data + i] ^ strinbuf[ecbuf]]; + if (fb != 255) /* fb term is non-zero */ + for (j = 1; j < eclen; j++) + strinbuf[ecbuf + j - 1] = strinbuf[ecbuf + j] ^ gexp[modnn(fb + genpoly[eclen - j])]; + else + for (j = ecbuf; j < ecbuf + eclen; j++) + strinbuf[j] = strinbuf[j + 1]; + strinbuf[ecbuf + eclen - 1] = fb == 255 ? 0 : gexp[modnn(fb + genpoly[0])]; + } + } + + //======================================================================== + // Frame data insert following the path rules + + // check mask - since symmetrical use half. + function ismasked(x, y) { + var bt; + if (x > y) { + bt = x; + x = y; + y = bt; + } + bt = y; + bt += y * y; + bt >>= 1; + bt += x; + return framask[bt]; + } + + //======================================================================== + // Apply the selected mask out of the 8. + function applymask(m) { + var x, y, r3x, r3y; + + switch (m) { + case 0: + for (y = 0; y < width; y++) + for (x = 0; x < width; x++) + if (!((x + y) & 1) && !ismasked(x, y)) + qrframe[x + y * width] ^= 1; + break; + case 1: + for (y = 0; y < width; y++) + for (x = 0; x < width; x++) + if (!(y & 1) && !ismasked(x, y)) + qrframe[x + y * width] ^= 1; + break; + case 2: + for (y = 0; y < width; y++) + for (r3x = 0, x = 0; x < width; x++ , r3x++) { + if (r3x == 3) + r3x = 0; + if (!r3x && !ismasked(x, y)) + qrframe[x + y * width] ^= 1; + } + break; + case 3: + for (r3y = 0, y = 0; y < width; y++ , r3y++) { + if (r3y == 3) + r3y = 0; + for (r3x = r3y, x = 0; x < width; x++ , r3x++) { + if (r3x == 3) + r3x = 0; + if (!r3x && !ismasked(x, y)) + qrframe[x + y * width] ^= 1; + } + } + break; + case 4: + for (y = 0; y < width; y++) + for (r3x = 0, r3y = ((y >> 1) & 1), x = 0; x < width; x++ , r3x++) { + if (r3x == 3) { + r3x = 0; + r3y = !r3y; + } + if (!r3y && !ismasked(x, y)) + qrframe[x + y * width] ^= 1; + } + break; + case 5: + for (r3y = 0, y = 0; y < width; y++ , r3y++) { + if (r3y == 3) + r3y = 0; + for (r3x = 0, x = 0; x < width; x++ , r3x++) { + if (r3x == 3) + r3x = 0; + if (!((x & y & 1) + !(!r3x | !r3y)) && !ismasked(x, y)) + qrframe[x + y * width] ^= 1; + } + } + break; + case 6: + for (r3y = 0, y = 0; y < width; y++ , r3y++) { + if (r3y == 3) + r3y = 0; + for (r3x = 0, x = 0; x < width; x++ , r3x++) { + if (r3x == 3) + r3x = 0; + if (!(((x & y & 1) + (r3x && (r3x == r3y))) & 1) && !ismasked(x, y)) + qrframe[x + y * width] ^= 1; + } + } + break; + case 7: + for (r3y = 0, y = 0; y < width; y++ , r3y++) { + if (r3y == 3) + r3y = 0; + for (r3x = 0, x = 0; x < width; x++ , r3x++) { + if (r3x == 3) + r3x = 0; + if (!(((r3x && (r3x == r3y)) + ((x + y) & 1)) & 1) && !ismasked(x, y)) + qrframe[x + y * width] ^= 1; + } + } + break; + } + return; + } + + // Badness coefficients. + var N1 = 3, N2 = 3, N3 = 40, N4 = 10; + + // Using the table of the length of each run, calculate the amount of bad image + // - long runs or those that look like finders; called twice, once each for X and Y + function badruns(length) { + var i; + var runsbad = 0; + for (i = 0; i <= length; i++) + if (rlens[i] >= 5) + runsbad += N1 + rlens[i] - 5; + // BwBBBwB as in finder + for (i = 3; i < length - 1; i += 2) + if (rlens[i - 2] == rlens[i + 2] + && rlens[i + 2] == rlens[i - 1] + && rlens[i - 1] == rlens[i + 1] + && rlens[i - 1] * 3 == rlens[i] + // white around the black pattern? Not part of spec + && (rlens[i - 3] == 0 // beginning + || i + 3 > length // end + || rlens[i - 3] * 3 >= rlens[i] * 4 || rlens[i + 3] * 3 >= rlens[i] * 4) + ) + runsbad += N3; + return runsbad; + } + + // Calculate how bad the masked image is - blocks, imbalance, runs, or finders. + function badcheck() { + var x, y, h, b, b1; + var thisbad = 0; + var bw = 0; + + // blocks of same color. + for (y = 0; y < width - 1; y++) + for (x = 0; x < width - 1; x++) + if ((qrframe[x + width * y] && qrframe[(x + 1) + width * y] + && qrframe[x + width * (y + 1)] && qrframe[(x + 1) + width * (y + 1)]) // all black + || !(qrframe[x + width * y] || qrframe[(x + 1) + width * y] + || qrframe[x + width * (y + 1)] || qrframe[(x + 1) + width * (y + 1)])) // all white + thisbad += N2; + + // X runs + for (y = 0; y < width; y++) { + rlens[0] = 0; + for (h = b = x = 0; x < width; x++) { + if ((b1 = qrframe[x + width * y]) == b) + rlens[h]++; + else + rlens[++h] = 1; + b = b1; + bw += b ? 1 : -1; + } + thisbad += badruns(h); + } + + // black/white imbalance + if (bw < 0) + bw = -bw; + + var big = bw; + var count = 0; + big += big << 2; + big <<= 1; + while (big > width * width) + big -= width * width, count++; + thisbad += count * N4; + + // Y runs + for (x = 0; x < width; x++) { + rlens[0] = 0; + for (h = b = y = 0; y < width; y++) { + if ((b1 = qrframe[x + width * y]) == b) + rlens[h]++; + else + rlens[++h] = 1; + b = b1; + } + thisbad += badruns(h); + } + return thisbad; + } + + function genframe(instring) { + var x, y, k, t, v, i, j, m; + + // find the smallest version that fits the string + t = instring.length; + version = 0; + do { + version++; + k = (ecclevel - 1) * 4 + (version - 1) * 16; + neccblk1 = eccblocks[k++]; + neccblk2 = eccblocks[k++]; + datablkw = eccblocks[k++]; + eccblkwid = eccblocks[k]; + k = datablkw * (neccblk1 + neccblk2) + neccblk2 - 3 + (version <= 9); + if (t <= k) + break; + } while (version < 40); + + // FIXME - insure that it fits insted of being truncated + width = 17 + 4 * version; + + // allocate, clear and setup data structures + v = datablkw + (datablkw + eccblkwid) * (neccblk1 + neccblk2) + neccblk2; + for (t = 0; t < v; t++) + eccbuf[t] = 0; + strinbuf = instring.slice(0); + + for (t = 0; t < width * width; t++) + qrframe[t] = 0; + + for (t = 0; t < (width * (width + 1) + 1) / 2; t++) + framask[t] = 0; + + // insert finders - black to frame, white to mask + for (t = 0; t < 3; t++) { + k = 0; + y = 0; + if (t == 1) + k = (width - 7); + if (t == 2) + y = (width - 7); + qrframe[(y + 3) + width * (k + 3)] = 1; + for (x = 0; x < 6; x++) { + qrframe[(y + x) + width * k] = 1; + qrframe[y + width * (k + x + 1)] = 1; + qrframe[(y + 6) + width * (k + x)] = 1; + qrframe[(y + x + 1) + width * (k + 6)] = 1; + } + for (x = 1; x < 5; x++) { + setmask(y + x, k + 1); + setmask(y + 1, k + x + 1); + setmask(y + 5, k + x); + setmask(y + x + 1, k + 5); + } + for (x = 2; x < 4; x++) { + qrframe[(y + x) + width * (k + 2)] = 1; + qrframe[(y + 2) + width * (k + x + 1)] = 1; + qrframe[(y + 4) + width * (k + x)] = 1; + qrframe[(y + x + 1) + width * (k + 4)] = 1; + } + } + + // alignment blocks + if (version > 1) { + t = adelta[version]; + y = width - 7; + for (; ;) { + x = width - 7; + while (x > t - 3) { + putalign(x, y); + if (x < t) + break; + x -= t; + } + if (y <= t + 9) + break; + y -= t; + putalign(6, y); + putalign(y, 6); + } + } + + // single black + qrframe[8 + width * (width - 8)] = 1; + + // timing gap - mask only + for (y = 0; y < 7; y++) { + setmask(7, y); + setmask(width - 8, y); + setmask(7, y + width - 7); + } + for (x = 0; x < 8; x++) { + setmask(x, 7); + setmask(x + width - 8, 7); + setmask(x, width - 8); + } + + // reserve mask-format area + for (x = 0; x < 9; x++) + setmask(x, 8); + for (x = 0; x < 8; x++) { + setmask(x + width - 8, 8); + setmask(8, x); + } + for (y = 0; y < 7; y++) + setmask(8, y + width - 7); + + // timing row/col + for (x = 0; x < width - 14; x++) + if (x & 1) { + setmask(8 + x, 6); + setmask(6, 8 + x); + } + else { + qrframe[(8 + x) + width * 6] = 1; + qrframe[6 + width * (8 + x)] = 1; + } + + // version block + if (version > 6) { + t = vpat[version - 7]; + k = 17; + for (x = 0; x < 6; x++) + for (y = 0; y < 3; y++ , k--) + if (1 & (k > 11 ? version >> (k - 12) : t >> k)) { + qrframe[(5 - x) + width * (2 - y + width - 11)] = 1; + qrframe[(2 - y + width - 11) + width * (5 - x)] = 1; + } + else { + setmask(5 - x, 2 - y + width - 11); + setmask(2 - y + width - 11, 5 - x); + } + } + + // sync mask bits - only set above for white spaces, so add in black bits + for (y = 0; y < width; y++) + for (x = 0; x <= y; x++) + if (qrframe[x + width * y]) + setmask(x, y); + + // convert string to bitstream + // 8 bit data to QR-coded 8 bit data (numeric or alphanum, or kanji not supported) + v = strinbuf.length; + + // string to array + for (i = 0; i < v; i++) + eccbuf[i] = strinbuf.charCodeAt(i); + strinbuf = eccbuf.slice(0); + + // calculate max string length + x = datablkw * (neccblk1 + neccblk2) + neccblk2; + if (v >= x - 2) { + v = x - 2; + if (version > 9) + v--; + } + + // shift and repack to insert length prefix + i = v; + if (version > 9) { + strinbuf[i + 2] = 0; + strinbuf[i + 3] = 0; + while (i--) { + t = strinbuf[i]; + strinbuf[i + 3] |= 255 & (t << 4); + strinbuf[i + 2] = t >> 4; + } + strinbuf[2] |= 255 & (v << 4); + strinbuf[1] = v >> 4; + strinbuf[0] = 0x40 | (v >> 12); + } + else { + strinbuf[i + 1] = 0; + strinbuf[i + 2] = 0; + while (i--) { + t = strinbuf[i]; + strinbuf[i + 2] |= 255 & (t << 4); + strinbuf[i + 1] = t >> 4; + } + strinbuf[1] |= 255 & (v << 4); + strinbuf[0] = 0x40 | (v >> 4); + } + // fill to end with pad pattern + i = v + 3 - (version < 10); + while (i < x) { + strinbuf[i++] = 0xec; + // buffer has room if (i == x) break; + strinbuf[i++] = 0x11; + } + + // calculate and append ECC + + // calculate generator polynomial + genpoly[0] = 1; + for (i = 0; i < eccblkwid; i++) { + genpoly[i + 1] = 1; + for (j = i; j > 0; j--) + genpoly[j] = genpoly[j] + ? genpoly[j - 1] ^ gexp[modnn(glog[genpoly[j]] + i)] : genpoly[j - 1]; + genpoly[0] = gexp[modnn(glog[genpoly[0]] + i)]; + } + for (i = 0; i <= eccblkwid; i++) + genpoly[i] = glog[genpoly[i]]; // use logs for genpoly[] to save calc step + + // append ecc to data buffer + k = x; + y = 0; + for (i = 0; i < neccblk1; i++) { + appendrs(y, datablkw, k, eccblkwid); + y += datablkw; + k += eccblkwid; + } + for (i = 0; i < neccblk2; i++) { + appendrs(y, datablkw + 1, k, eccblkwid); + y += datablkw + 1; + k += eccblkwid; + } + // interleave blocks + y = 0; + for (i = 0; i < datablkw; i++) { + for (j = 0; j < neccblk1; j++) + eccbuf[y++] = strinbuf[i + j * datablkw]; + for (j = 0; j < neccblk2; j++) + eccbuf[y++] = strinbuf[(neccblk1 * datablkw) + i + (j * (datablkw + 1))]; + } + for (j = 0; j < neccblk2; j++) + eccbuf[y++] = strinbuf[(neccblk1 * datablkw) + i + (j * (datablkw + 1))]; + for (i = 0; i < eccblkwid; i++) + for (j = 0; j < neccblk1 + neccblk2; j++) + eccbuf[y++] = strinbuf[x + i + j * eccblkwid]; + strinbuf = eccbuf; + + // pack bits into frame avoiding masked area. + x = y = width - 1; + k = v = 1; // up, minus + /* inteleaved data and ecc codes */ + m = (datablkw + eccblkwid) * (neccblk1 + neccblk2) + neccblk2; + for (i = 0; i < m; i++) { + t = strinbuf[i]; + for (j = 0; j < 8; j++ , t <<= 1) { + if (0x80 & t) + qrframe[x + width * y] = 1; + do { // find next fill position + if (v) + x--; + else { + x++; + if (k) { + if (y != 0) + y--; + else { + x -= 2; + k = !k; + if (x == 6) { + x--; + y = 9; + } + } + } + else { + if (y != width - 1) + y++; + else { + x -= 2; + k = !k; + if (x == 6) { + x--; + y -= 8; + } + } + } + } + v = !v; + } while (ismasked(x, y)); + } + } + + // save pre-mask copy of frame + strinbuf = qrframe.slice(0); + t = 0; // best + y = 30000; // demerit + // for instead of while since in original arduino code + // if an early mask was "good enough" it wouldn't try for a better one + // since they get more complex and take longer. + for (k = 0; k < 8; k++) { + applymask(k); // returns black-white imbalance + x = badcheck(); + if (x < y) { // current mask better than previous best? + y = x; + t = k; + } + if (t == 7) + break; // don't increment i to a void redoing mask + qrframe = strinbuf.slice(0); // reset for next pass + } + if (t != k) // redo best mask - none good enough, last wasn't t + applymask(t); + + // add in final mask/ecclevel bytes + y = fmtword[t + ((ecclevel - 1) << 3)]; + // low byte + for (k = 0; k < 8; k++ , y >>= 1) + if (y & 1) { + qrframe[(width - 1 - k) + width * 8] = 1; + if (k < 6) + qrframe[8 + width * k] = 1; + else + qrframe[8 + width * (k + 1)] = 1; + } + // high byte + for (k = 0; k < 7; k++ , y >>= 1) + if (y & 1) { + qrframe[8 + width * (width - 7 + k)] = 1; + if (k) + qrframe[(6 - k) + width * 8] = 1; + else + qrframe[7 + width * 8] = 1; + } + return qrframe; + } + + + + + var _canvas = null; + + var api = { + + get ecclevel() { + return ecclevel; + }, + + set ecclevel(val) { + ecclevel = val; + }, + + get size() { + return _size; + }, + + set size(val) { + _size = val + }, + + get canvas() { + return _canvas; + }, + + set canvas(el) { + _canvas = el; + }, + + getFrame: function (string) { + return genframe(string); + }, + //这里的utf16to8(str)是对Text中的字符串进行转码,让其支持中文 + utf16to8: function (str) { + var out, i, len, c; + + out = ""; + len = str.length; + for (i = 0; i < len; i++) { + c = str.charCodeAt(i); + if ((c >= 0x0001) && (c <= 0x007F)) { + out += str.charAt(i); + } else if (c > 0x07FF) { + out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F)); + out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F)); + out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); + } else { + out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F)); + out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); + } + } + return out; + }, + /** + * 新增$this参数,传入组件的this,兼容在组件中生成 + */ + draw: function (str, canvas, cavW, cavH, $this, ecc) { + var that = this; + ecclevel = ecc || ecclevel; + canvas = canvas || _canvas; + if (!canvas) { + console.warn('No canvas provided to draw QR code in!') + return; + } + + var size = Math.min(cavW, cavH); + str = that.utf16to8(str);//增加中文显示 + + var frame = that.getFrame(str), + // 组件中生成qrcode需要绑定this + ctx = wx.createCanvasContext(canvas, $this), + px = Math.round(size / (width + 8)); + var roundedSize = px * (width + 8), + offset = Math.floor((size - roundedSize) / 2); + size = roundedSize; + //ctx.clearRect(0, 0, cavW, cavW); + ctx.setFillStyle('#ffffff') + ctx.fillRect(0, 0, cavW, cavW); + ctx.setFillStyle('#000000'); + for (var i = 0; i < width; i++) { + for (var j = 0; j < width; j++) { + if (frame[j * width + i]) { + ctx.fillRect(px * (4 + i) + offset, px * (4 + j) + offset, px, px); + } + } + } + ctx.draw(); + } + } + module.exports = { api } + // exports.draw = api; + +})(); \ No newline at end of file diff --git a/data/data.js b/data/data.js new file mode 100644 index 0000000..798a42c --- /dev/null +++ b/data/data.js @@ -0,0 +1,26 @@ +var xingming = ""; +var xuehao = ""; +var zhuanye = ""; +var xueyuan = ""; +var shijian = ""; +var didian = ""; +var jiaoshi = ""; +var renyuan1 = ""; +var renyuan2 = ""; +var shijiancuo = ""; + + +module.exports = { + xingming: xingming, + xuehao: xuehao, + zhuanye: zhuanye, + xueyuan: xueyuan, + shijian: shijian, + didian: didian, + jiaoshi: jiaoshi, + renyuan1: renyuan1, + renyuan2: renyuan2, + shijianchuo: shijiancuo, + + +} \ No newline at end of file diff --git a/data/weui.wxss b/data/weui.wxss new file mode 100644 index 0000000..0d55528 --- /dev/null +++ b/data/weui.wxss @@ -0,0 +1,1043 @@ +/*! + * weui.js v1.1.0 (https://github.com/weui/weui-wxss) + * Copyright 2016, wechat ui team + * MIT license + */ +page { + line-height: 1.6; + font-family: -apple-system-font, "Helvetica Neue", sans-serif; +} +icon { + vertical-align: middle; +} +.weui-cells { + position: relative; + margin-top: 1.17647059em; + background-color: #FFFFFF; + line-height: 1.41176471; + font-size: 17px; +} +.weui-cells:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #D9D9D9; + color: #D9D9D9; +} +.weui-cells:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #D9D9D9; + color: #D9D9D9; +} +.weui-cells__title { + margin-top: .77em; + margin-bottom: .3em; + padding-left: 15px; + padding-right: 15px; + color: #999999; + font-size: 14px; +} +.weui-cells_after-title { + margin-top: 0; +} +.weui-cells__tips { + margin-top: .3em; + color: #999999; + padding-left: 15px; + padding-right: 15px; + font-size: 14px; +} +.weui-cell { + padding: 10px 15px; + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} +.weui-cell:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #D9D9D9; + color: #D9D9D9; + left: 15px; +} +.weui-cell:first-child:before { + display: none; +} +.weui-cell_active { + background-color: #ECECEC; +} +.weui-cell_primary { + -webkit-box-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; +} +.weui-cell__bd { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; +} +.weui-cell__ft { + text-align: right; + color: #999999; +} +.weui-cell_access { + color: inherit; +} +.weui-cell__ft_in-access { + padding-right: 13px; + position: relative; +} +.weui-cell__ft_in-access:after { + content: " "; + display: inline-block; + height: 6px; + width: 6px; + border-width: 2px 2px 0 0; + border-color: #C8C8CD; + border-style: solid; + -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0); + transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0); + position: relative; + top: -2px; + position: absolute; + top: 50%; + margin-top: -4px; + right: 2px; +} +.weui-cell_link { + color: #586C94; + font-size: 14px; +} +.weui-cell_link:active { + background-color: #ECECEC; +} +.weui-cell_link:first-child:before { + display: block; +} +.weui-icon-radio { + margin-left: 3.2px; + margin-right: 3.2px; +} +.weui-icon-checkbox_circle, +.weui-icon-checkbox_success { + margin-left: 4.6px; + margin-right: 4.6px; +} +.weui-check__label:active { + background-color: #ECECEC; +} +.weui-check { + position: absolute; + left: -9999px; +} +.weui-check__hd_in-checkbox { + padding-right: 0.35em; +} +.weui-cell__ft_in-radio { + padding-left: 0.35em; +} +.weui-cell_input { + padding-top: 0; + padding-bottom: 0; +} +.weui-label { + width: 105px; + word-wrap: break-word; + word-break: break-all; +} +.weui-input { + height: 2.58823529em; + min-height: 2.58823529em; + line-height: 2.58823529em; + width: 100%; +} +.weui-toptips { + position: fixed; + -webkit-transform: translateZ(0); + transform: translateZ(0); + top: 0; + left: 0; + right: 0; + padding: 5px; + font-size: 14px; + text-align: center; + color: #FFFFFF; + z-index: 5000; + word-wrap: break-word; + word-break: break-all; +} +.weui-toptips_warn { + background-color: #E64340; +} +.weui-textarea { + display: block; + width: 100%; +} +.weui-textarea-counter { + color: #B2B2B2; + text-align: right; +} +.weui-textarea-counter_warn { + color: #E64340; +} +.weui-cell_warn { + color: #E64340; +} +.weui-form-preview { + position: relative; + background-color: #FFFFFF; +} +.weui-form-preview:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #D9D9D9; + color: #D9D9D9; +} +.weui-form-preview:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #D9D9D9; + color: #D9D9D9; +} +.weui-form-preview__value { + font-size: 14px; +} +.weui-form-preview__value_in-hd { + font-size: 26px; +} +.weui-form-preview__hd { + position: relative; + padding: 10px 15px; + text-align: right; + line-height: 2.5em; +} +.weui-form-preview__hd:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #D9D9D9; + color: #D9D9D9; + left: 15px; +} +.weui-form-preview__bd { + padding: 10px 15px; + font-size: .9em; + text-align: right; + color: #999999; + line-height: 2; +} +.weui-form-preview__ft { + position: relative; + line-height: 50px; + display: -webkit-box; + display: -webkit-flex; + display: flex; +} +.weui-form-preview__ft:after { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #D5D5D6; + color: #D5D5D6; +} +.weui-form-preview__item { + overflow: hidden; +} +.weui-form-preview__label { + float: left; + margin-right: 1em; + min-width: 4em; + color: #999999; + text-align: justify; + text-align-last: justify; +} +.weui-form-preview__value { + display: block; + overflow: hidden; + word-break: normal; + word-wrap: break-word; +} +.weui-form-preview__btn { + position: relative; + display: block; + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + color: #3CC51F; + text-align: center; +} +.weui-form-preview__btn:after { + content: " "; + position: absolute; + left: 0; + top: 0; + width: 1px; + bottom: 0; + border-left: 1rpx solid #D5D5D6; + color: #D5D5D6; +} +.weui-form-preview__btn:first-child:after { + display: none; +} +.weui-form-preview__btn_active { + background-color: #EEEEEE; +} +.weui-form-preview__btn_default { + color: #999999; +} +.weui-form-preview__btn_primary { + color: #0BB20C; +} +.weui-cell_select { + padding: 0; +} +.weui-select { + position: relative; + padding-left: 15px; + padding-right: 30px; + height: 2.58823529em; + min-height: 2.58823529em; + line-height: 2.58823529em; + border-right: 1rpx solid #D9D9D9; +} +.weui-select:before { + content: " "; + display: inline-block; + height: 6px; + width: 6px; + border-width: 2px 2px 0 0; + border-color: #C8C8CD; + border-style: solid; + -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0); + transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0); + position: relative; + top: -2px; + position: absolute; + top: 50%; + right: 15px; + margin-top: -4px; +} +.weui-select_in-select-after { + padding-left: 0; +} +.weui-cell__hd_in-select-after, +.weui-cell__bd_in-select-before { + padding-left: 15px; +} +.weui-cell_vcode { + padding-right: 0; +} +.weui-vcode-img { + margin-left: 5px; + height: 2.58823529em; + vertical-align: middle; +} +.weui-vcode-btn { + display: inline-block; + height: 2.58823529em; + margin-left: 5px; + padding: 0 0.6em 0 0.7em; + border-left: 1px solid #E5E5E5; + line-height: 2.58823529em; + vertical-align: middle; + font-size: 17px; + color: #3CC51F; + white-space: nowrap; +} +.weui-vcode-btn:active { + color: #52a341; +} +.weui-cell_switch { + padding-top: 6px; + padding-bottom: 6px; +} +.weui-uploader__hd { + display: -webkit-box; + display: -webkit-flex; + display: flex; + padding-bottom: 10px; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} +.weui-uploader__title { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; +} +.weui-uploader__info { + color: #B2B2B2; +} +.weui-uploader__bd { + margin-bottom: -4px; + margin-right: -9px; + overflow: hidden; +} +.weui-uploader__file { + float: left; + margin-right: 9px; + margin-bottom: 9px; +} +.weui-uploader__img { + display: block; + width: 79px; + height: 79px; +} +.weui-uploader__file_status { + position: relative; +} +.weui-uploader__file_status:before { + content: " "; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.5); +} +.weui-uploader__file-content { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + color: #FFFFFF; +} +.weui-uploader__input-box { + float: left; + position: relative; + margin-right: 9px; + margin-bottom: 9px; + width: 77px; + height: 77px; + border: 1px solid #D9D9D9; +} +.weui-uploader__input-box:before, +.weui-uploader__input-box:after { + content: " "; + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + background-color: #D9D9D9; +} +.weui-uploader__input-box:before { + width: 2px; + height: 39.5px; +} +.weui-uploader__input-box:after { + width: 39.5px; + height: 2px; +} +.weui-uploader__input-box:active { + border-color: #999999; +} +.weui-uploader__input-box:active:before, +.weui-uploader__input-box:active:after { + background-color: #999999; +} +.weui-uploader__input { + position: absolute; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; +} +.weui-article { + padding: 20px 15px; + font-size: 15px; +} +.weui-article__section { + margin-bottom: 1.5em; +} +.weui-article__h1 { + font-size: 18px; + font-weight: 400; + margin-bottom: .9em; +} +.weui-article__h2 { + font-size: 16px; + font-weight: 400; + margin-bottom: .34em; +} +.weui-article__h3 { + font-weight: 400; + font-size: 15px; + margin-bottom: .34em; +} +.weui-article__p { + margin: 0 0 .8em; +} +.weui-msg { + padding-top: 36px; + text-align: center; +} +.weui-msg__link { + display: inline; + color: #586C94; +} +.weui-msg__icon-area { + margin-bottom: 30px; +} +.weui-msg__text-area { + margin-bottom: 25px; + padding: 0 20px; +} +.weui-msg__title { + margin-bottom: 5px; + font-weight: 400; + font-size: 20px; +} +.weui-msg__desc { + font-size: 14px; + color: #999999; +} +.weui-msg__opr-area { + margin-bottom: 25px; +} +.weui-msg__extra-area { + margin-bottom: 15px; + font-size: 14px; + color: #999999; +} +@media screen and (min-height: 438px) { + .weui-msg__extra-area { + position: fixed; + left: 0; + bottom: 0; + width: 100%; + text-align: center; + } +} +.weui-flex { + display: -webkit-box; + display: -webkit-flex; + display: flex; +} +.weui-flex__item { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; +} +.weui-btn { + margin-top: 15px; +} +.weui-btn:first-child { + margin-top: 0; +} +.weui-btn-area { + margin: 1.17647059em 15px 0.3em; +} +.weui-agree { + display: block; + padding: .5em 15px; + font-size: 13px; +} +.weui-agree__text { + color: #999999; +} +.weui-agree__link { + display: inline; + color: #586C94; +} +.weui-agree__checkbox { + position: absolute; + left: -9999px; +} +.weui-agree__checkbox-icon { + position: relative; + top: 2px; + display: inline-block; + border: 1px solid #D1D1D1; + background-color: #FFFFFF; + border-radius: 3px; + width: 11px; + height: 11px; +} +.weui-agree__checkbox-icon-check { + position: absolute; + top: 1px; + left: 1px; +} +.weui-footer { + color: #999999; + font-size: 14px; + text-align: center; +} +.weui-footer_fixed-bottom { + position: fixed; + bottom: .52em; + left: 0; + right: 0; +} +.weui-footer__links { + font-size: 0; +} +.weui-footer__link { + display: inline-block; + vertical-align: top; + margin: 0 .62em; + position: relative; + font-size: 14px; + color: #586C94; +} +.weui-footer__link:before { + content: " "; + position: absolute; + left: 0; + top: 0; + width: 1px; + bottom: 0; + border-left: 1rpx solid #C7C7C7; + color: #C7C7C7; + left: -0.65em; + top: .36em; + bottom: .36em; +} +.weui-footer__link:first-child:before { + display: none; +} +.weui-footer__text { + padding: 0 .34em; + font-size: 12px; +} +.weui-grids { + border-top: 1rpx solid #D9D9D9; + border-left: 1rpx solid #D9D9D9; + overflow: hidden; +} +.weui-grid { + position: relative; + float: left; + padding: 20px 10px; + width: 33.33333333%; + box-sizing: border-box; + border-right: 1rpx solid #D9D9D9; + border-bottom: 1rpx solid #D9D9D9; +} +.weui-grid_active { + background-color: #ECECEC; +} +.weui-grid__icon { + display: block; + width: 28px; + height: 28px; + margin: 0 auto; +} +.weui-grid__label { + margin-top: 5px; + display: block; + text-align: center; + color: #000000; + font-size: 14px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.weui-loading { + margin: 0 5px; + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + -webkit-animation: weuiLoading 1s steps(12, end) infinite; + animation: weuiLoading 1s steps(12, end) infinite; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat; + background-size: 100%; +} +@-webkit-keyframes weuiLoading { + 0% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } + 100% { + -webkit-transform: rotate3d(0, 0, 1, 360deg); + transform: rotate3d(0, 0, 1, 360deg); + } +} +@keyframes weuiLoading { + 0% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } + 100% { + -webkit-transform: rotate3d(0, 0, 1, 360deg); + transform: rotate3d(0, 0, 1, 360deg); + } +} +.weui-badge { + display: inline-block; + padding: .15em .4em; + min-width: 8px; + border-radius: 18px; + background-color: #F43530; + color: #FFFFFF; + line-height: 1.2; + text-align: center; + font-size: 12px; + vertical-align: middle; +} +.weui-badge_dot { + padding: .4em; + min-width: 0; +} +.weui-loadmore { + width: 65%; + margin: 1.5em auto; + line-height: 1.6em; + font-size: 14px; + text-align: center; +} +.weui-loadmore__tips { + display: inline-block; + vertical-align: middle; +} +.weui-loadmore_line { + border-top: 1px solid #E5E5E5; + margin-top: 2.4em; +} +.weui-loadmore__tips_in-line { + position: relative; + top: -0.9em; + padding: 0 .55em; + background-color: #FFFFFF; + color: #999999; +} +.weui-loadmore__tips_in-dot { + position: relative; + padding: 0 .16em; + width: 4px; + height: 1.6em; +} +.weui-loadmore__tips_in-dot:before { + content: " "; + position: absolute; + top: 50%; + left: 50%; + margin-top: -1px; + margin-left: -2px; + width: 4px; + height: 4px; + border-radius: 50%; + background-color: #E5E5E5; +} +.weui-panel { + background-color: #FFFFFF; + margin-top: 10px; + position: relative; + overflow: hidden; +} +.weui-panel:first-child { + margin-top: 0; +} +.weui-panel:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #E5E5E5; + color: #E5E5E5; +} +.weui-panel:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #E5E5E5; + color: #E5E5E5; +} +.weui-panel__hd { + padding: 14px 15px 10px; + color: #999999; + font-size: 13px; + position: relative; +} +.weui-panel__hd:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #E5E5E5; + color: #E5E5E5; + left: 15px; +} +.weui-media-box { + padding: 15px; + position: relative; +} +.weui-media-box:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #E5E5E5; + color: #E5E5E5; + left: 15px; +} +.weui-media-box:first-child:before { + display: none; +} +.weui-media-box__title { + font-weight: 400; + font-size: 17px; + width: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-wrap: normal; + word-wrap: break-word; + word-break: break-all; +} +.weui-media-box__desc { + color: #999999; + font-size: 13px; + line-height: 1.2; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} +.weui-media-box__info { + margin-top: 15px; + padding-bottom: 5px; + font-size: 13px; + color: #CECECE; + line-height: 1em; + list-style: none; + overflow: hidden; +} +.weui-media-box__info__meta { + float: left; + padding-right: 1em; +} +.weui-media-box__info__meta_extra { + padding-left: 1em; + border-left: 1px solid #CECECE; +} +.weui-media-box__title_in-text { + margin-bottom: 8px; +} +.weui-media-box_appmsg { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} +.weui-media-box__thumb { + width: 100%; + height: 100%; + vertical-align: top; +} +.weui-media-box__hd_in-appmsg { + margin-right: .8em; + width: 60px; + height: 60px; + line-height: 60px; + text-align: center; +} +.weui-media-box__bd_in-appmsg { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + min-width: 0; +} +.weui-media-box_small-appmsg { + padding: 0; +} +.weui-cells_in-small-appmsg { + margin-top: 0; +} +.weui-cells_in-small-appmsg:before { + display: none; +} +.weui-progress { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; +} +.weui-progress__bar { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; +} +.weui-progress__opr { + margin-left: 15px; + font-size: 0; +} +.weui-navbar { + display: -webkit-box; + display: -webkit-flex; + display: flex; + position: absolute; + z-index: 500; + top: 0; + width: 100%; + border-bottom: 1rpx solid #CCCCCC; +} +.weui-navbar__item { + position: relative; + display: block; + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + padding: 13px 0; + text-align: center; + font-size: 0; +} +.weui-navbar__item.weui-bar__item_on { + color: #1AAD19; +} +.weui-navbar__slider { + position: absolute; + content: " "; + left: 0; + bottom: 0; + width: 6em; + height: 3px; + background-color: #1AAD19; + -webkit-transition: -webkit-transform .3s; + transition: -webkit-transform .3s; + transition: transform .3s; + transition: transform .3s, -webkit-transform .3s; +} +.weui-navbar__title { + display: inline-block; + font-size: 15px; + max-width: 8em; + width: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-wrap: normal; +} +.weui-tab { + position: relative; + height: 100%; +} +.weui-tab__panel { + box-sizing: border-box; + height: 100%; + padding-top: 50px; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.weui-search-bar { + position: relative; + padding: 8px 10px; + display: -webkit-box; + display: -webkit-flex; + display: flex; + box-sizing: border-box; + background-color: #EFEFF4; + border-top: 1rpx solid #D7D6DC; + border-bottom: 1rpx solid #D7D6DC; +} +.weui-icon-search { + margin-right: 8px; + font-size: inherit; +} +.weui-icon-search_in-box { + position: absolute; + left: 10px; + top: 7px; +} +.weui-search-bar__text { + display: inline-block; + font-size: 14px; + vertical-align: middle; +} +.weui-search-bar__form { + position: relative; + -webkit-box-flex: 1; + -webkit-flex: auto; + flex: auto; + border-radius: 5px; + background: #FFFFFF; + border: 1rpx solid #E6E6EA; +} +.weui-search-bar__box { + position: relative; + padding-left: 30px; + padding-right: 30px; + width: 100%; + box-sizing: border-box; + z-index: 1; +} +.weui-search-bar__input { + height: 28px; + line-height: 28px; + font-size: 14px; +} +.weui-icon-clear { + position: absolute; + top: 0; + right: 0; + padding: 7px 8px; + font-size: 0; +} +.weui-search-bar__label { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + border-radius: 3px; + text-align: center; + color: #9B9B9B; + background: #FFFFFF; + line-height: 28px; +} +.weui-search-bar__cancel-btn { + margin-left: 10px; + line-height: 28px; + color: #09BB07; + white-space: nowrap; +} diff --git a/db/DBpost.js b/db/DBpost.js new file mode 100644 index 0000000..fd882d9 --- /dev/null +++ b/db/DBpost.js @@ -0,0 +1,174 @@ + +class DBPost { + constructor(url) { + this.storageKeyName1 = 'xingming'; + this.storageKeyName2 = 'xuehao'; + this.storageKeyName3 = 'zhuanye'; + this.storageKeyName4 = 'xueyuan'; + this.storageKeyName8 = 'shijian'; + this.storageKeyName9 = 'didian'; + this.storageKeyName10 = 'jiaoshi'; + this.storageKeyName11 = 'renyuan1'; + this.storageKeyName12 = 'renyuan2'; + this.storageKeyName13 = 'shijianchuo'; + this.storageKeyName15 = 'admin'; + + + } + + + getxingmingData() { + var res1 = wx.getStorageSync(this.storageKeyName1); + return res1; + } + getadminData() { + var res15 = wx.getStorageSync(this.storageKeyName15); + return res15; + } + getxuehaoData() { + var res2 = wx.getStorageSync(this.storageKeyName2); + return res2; + } + getzhuanyeData() { + var res3 = wx.getStorageSync(this.storageKeyName3); + return res3; + } + getxueyuanData() { + var res4 = wx.getStorageSync(this.storageKeyName4); + return res4; + } + + getshijianData() { + var res8 = wx.getStorageSync(this.storageKeyName8); + if (!res8) { + res8 = require('../data/data.js').shijian; + this.execSetStorageSync8(res8); + } + return res8; + } + getdidianData() { + var res9 = wx.getStorageSync(this.storageKeyName9); + if (!res9) { + res9 = require('../data/data.js').didian; + this.execSetStorageSync9(res9); + } + return res9; + } + getjiaoshiData() { + var res10 = wx.getStorageSync(this.storageKeyName10); + if (!res10) { + res10 = require('../data/data.js').jiaoshi; + this.execSetStorageSync10(res10); + } + return res10; + } + getrenyuan1Data() { + var res11 = wx.getStorageSync(this.storageKeyName11); + if (!res11) { + res11 = require('../data/data.js').renyuan1; + this.execSetStorageSync11(res11); + } + return res11; + } + getrenyuan2Data() { + var res12 = wx.getStorageSync(this.storageKeyName12); + if (!res12) { + res12 = require('../data/data.js').renyuan2; + this.execSetStorageSync12(res12); + } + return res12; + } + getshijianchuoData() { + var res13 = wx.getStorageSync(this.storageKeyName13); + if (!res13) { + res13 = require('../data/data.js').shijianchuo; + this.execSetStorageSync13(res13); + } + return res13; + } + + + + execSetStorageSync1(data) { + wx.setStorageSync(this.storageKeyName1, data); + } + execSetStorageSync2(data) { + wx.setStorageSync(this.storageKeyName2, data); + } + execSetStorageSync3(data) { + wx.setStorageSync(this.storageKeyName3, data); + } + execSetStorageSync4(data) { + wx.setStorageSync(this.storageKeyName4, data); + } + execSetStorageSync8(data) { + wx.setStorageSync(this.storageKeyName8, data); + } + execSetStorageSync9(data) { + wx.setStorageSync(this.storageKeyName9, data); + } + execSetStorageSync10(data) { + wx.setStorageSync(this.storageKeyName10, data); + } + execSetStorageSync11(data) { + wx.setStorageSync(this.storageKeyName11, data); + } + execSetStorageSync12(data) { + wx.setStorageSync(this.storageKeyName12, data); + } + execSetStorageSync13(data) { + wx.setStorageSync(this.storageKeyName13, data); + } + execSetStorageSync14(num,data) { + wx.setStorageSync(num, data); + } + execSetStorageSync15(data) { + wx.setStorageSync(this.storageKeyName15, data); + } + + + + newdianming(num,newdianming) { + this.execSetStorageSync14(num,newdianming); + } + newshijian(newshijian){ + this.execSetStorageSync8(newshijian); + } + newdidian(newdidian){ + this.execSetStorageSync9(newdidian); + } + newjiaoshi(newjiaoshi){ + this.execSetStorageSync10(newjiaoshi); + } + newrenyuan1(newrenyuan1){ + this.execSetStorageSync11(newrenyuan1); + } + newrenyuan2(newrenyuan2) { + this.execSetStorageSync12(newrenyuan2); + } + newshijianchuo(newshijianchuo) { + this.execSetStorageSync13(newshijianchuo); + } + + newxingming(newxingming) { + this.execSetStorageSync1(newxingming); + } + newxuehao(a) { + this.execSetStorageSync2(a); + } + newzhuanye(a) { + this.execSetStorageSync3(a); + } + newxueyuan(a) { + this.execSetStorageSync4(a); + } + newadmin(a) { + this.execSetStorageSync15(a); + } + + +} + + + +export { DBPost } \ No newline at end of file diff --git a/images/home/dianming1.png b/images/home/dianming1.png new file mode 100644 index 0000000000000000000000000000000000000000..c7db67bf0ff2bf3cc2d31650dcb48c502dc1f6cc GIT binary patch literal 1325 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 IM6N<$f}1nvJOBUy literal 0 HcmV?d00001 diff --git a/images/home/user1.png b/images/home/user1.png new file mode 100644 index 0000000000000000000000000000000000000000..6032af72d996ddb7ea5cb695b73c81eecbe3db46 GIT binary patch literal 2149 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 + + + + + + + + + 学号 + + + {{multiArray[0][multiIndex[0]]}} {{multiArray[1][multiIndex[1]]}} {{multiArray[2][multiIndex[2]]}} + + + + + + 原因 + + + {{yuanyinArray[0][yuanyinIndex[0]]}} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manage/absent/absent.wxss b/manage/absent/absent.wxss new file mode 100644 index 0000000..df173b0 --- /dev/null +++ b/manage/absent/absent.wxss @@ -0,0 +1,45 @@ +/* manage/absent/absent.wxss */ +.allpage{ + display: flex; + flex-direction: column; + align-items: center; +} +.SRCS{ + height: 350rpx; + width: 500rpx; +} +.section { + display: flex; + flex-direction: row; + align-items: center; + margin-top: 60rpx; +} + +.picker { + border-bottom-color: #000; + border-bottom-style: solid; + border-bottom-width: thin; + margin-left: 100rpx; + width: 410rpx; +} +.xuehao-png{ + height: 30rpx; + width: 40rpx; + margin-right: 20rpx; +} +.txt { + font-size: 120%; +} +.btn-area { + margin-top: 40rpx; + box-sizing: border-box; + width: 80%; + padding: 0 30rpx; +} +.kongbai{ + margin-top: 100rpx; +} +.signin { + height: 462rpx; + width: 750rpx; +} diff --git a/manage/manage.js b/manage/manage.js new file mode 100644 index 0000000..1835ede --- /dev/null +++ b/manage/manage.js @@ -0,0 +1,207 @@ +// welcome/signin/signin.js +import { DBPost } from '../db/DBpost.js'; +var app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + multiArray: [['第一周', '第二周', '第三周', '第四周', '第五周', '第六周', '第七周', '第八周', '第九周', '第十周', '十一周', '十二周', '十三周', '十四周', '十五周', '十六周', '十七周', '十八周', '十九周'], ['周一', '周二', '周三', '周四', '周五'], ['一二节', '三四节', '五六节', '七八节', '九十节']], + multiIndex: [0, 0, 0], + renyuanArray: [['老师本人', '白正奇', '韩湛瑶', '辛原旭', '赵英博', '刚蔚杰', '高源东', '张震', '李英男', '王宁'], ['', '白正奇', '韩湛瑶', '辛原旭', '赵英博', '刚蔚杰', '高源东', '张震', '李英男', '王宁']], + renyuanIndex: [0, 0], + disabled: true, //是否可用 + opacity: 0.4, //不透明度 + newzhoushu: 0, //周数 + newxingqi: 0, //星期 + newjieshu: 0, //节数 + newshijian:0, //时间 + newrenyuan1: 0, //查课人员1 + newrenyuan2: 0 , //查课人员2 + newdidian:0, //地点 + newjiaoshi:0, //教师 + newshijianchuo:0 //时间戳 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + + bindKeyInput1: function (e) { //输入地点 + var dbPost = new DBPost(); + this.setData({ + newdidian: e.detail.value + }) + dbPost.newdidian(this.data.newdidian); + this.setData({ + didian: dbPost.getdidianData() + }); + console.log('填写地点为', this.data.newdidian); + + if (this.data.newdidian !=0 && this.data.newjiaoshi != 0) { //判断点击态 + this.setData({ + disabled: false, + opacity: 1 + }) + } else { + this.setData({ + disabled: true, + opacity: 0.4 + }) + } + }, + bindKeyInput2: function (e) { //输入教师 + var dbPost = new DBPost(); + this.setData({ + newjiaoshi: e.detail.value + }) + dbPost.newjiaoshi(this.data.newjiaoshi); + this.setData({ + jiaoshi: dbPost.getjiaoshiData() + }); + console.log('填写教师为', this.data.newjiaoshi); + if (this.data.newdidian != 0 && this.data.newjiaoshi != 0) { //判断点击态 + this.setData({ + disabled: false, + opacity: 1 + }) + } else { + this.setData({ + disabled: true, + opacity: 0.4 + }) + } + }, + + + + + + + + bindMultiPickerChange1: function (e) { + console.log('picker1发送选择改变,携带值为', e.detail.value) + this.setData({ + multiIndex: e.detail.value + }) + this.setData({ + newzhoushu: this.data.multiArray[0][this.data.multiIndex[0]] + }) + this.setData({ + newxingqi: this.data.multiArray[1][this.data.multiIndex[1]] + }) + this.setData({ + newjieshu: this.data.multiArray[2][this.data.multiIndex[2]] + }) + console.log('周数:', this.data.newzhoushu); + console.log('星期:', this.data.newxingqi); + console.log('节数:', this.data.newjieshu); + this.setData({ + newshijian: this.data.newzhoushu + "_" + this.data.newxingqi + "_" +this.data.newjieshu + }) + var dbPost = new DBPost(); + dbPost.newshijian(this.data.newshijian); + this.setData({ + shijian: dbPost.getshijianData() + }); + console.log('填写时间为', this.data.newshijian); + }, + + + bindMultiPickerChange2: function (e) { + console.log('picker2发送选择改变,携带值为', e.detail.value) + this.setData({ + renyuanIndex: e.detail.value + }) + this.setData({ + newrenyuan1: this.data.renyuanArray[0][this.data.renyuanIndex[0]] + }) + this.setData({ + newrenyuan2: this.data.renyuanArray[1][this.data.renyuanIndex[1]] + }) + var dbPost = new DBPost(); + dbPost.newrenyuan1(this.data.newrenyuan1); + this.setData({ + renyuan1: dbPost.getrenyuan1Data() + }); + dbPost.newrenyuan2(this.data.newrenyuan2); + this.setData({ + renyuan2: dbPost.getrenyuan2Data() + }); + console.log('填写人员1为', this.data.newrenyuan1); + console.log('填写人员2为', this.data.newrenyuan2); + }, + + + + + + + + //提交按钮确认 + sumit: function () { + wx.redirectTo({ url: 'rollcall/rollcall' }) + }, + + + + + + + + + +}) \ No newline at end of file diff --git a/manage/manage.json b/manage/manage.json new file mode 100644 index 0000000..e9b25c9 --- /dev/null +++ b/manage/manage.json @@ -0,0 +1,4 @@ +{ + "navigationBarBackgroundColor": "#14aeee", + "navigationBarTitleText": "享受这令人愉悦的折磨吧" +} \ No newline at end of file diff --git a/manage/manage.wxml b/manage/manage.wxml new file mode 100644 index 0000000..907fe8d --- /dev/null +++ b/manage/manage.wxml @@ -0,0 +1,38 @@ + + + + + + 时间 + + {{multiArray[0][multiIndex[0]]}}_{{multiArray[1][multiIndex[1]]}}_{{multiArray[2][multiIndex[2]]}} + + + + + + + 地点 + + + + + 教师 + + + + + + 人员 + + {{renyuanArray[0][renyuanIndex[0]]}}_{{renyuanArray[1][renyuanIndex[1]]}} + + + + + + + + + + \ No newline at end of file diff --git a/manage/manage.wxss b/manage/manage.wxss new file mode 100644 index 0000000..b45444a --- /dev/null +++ b/manage/manage.wxss @@ -0,0 +1,39 @@ +/* manage/manage.wxss */ +@import "../welcome/signin/signin.wxss"; + +.allpage { + display: flex; + flex-direction: column; + align-items: center; +} + +.SRCS { + height: 350rpx; + width: 500rpx; +} + +.picker { + border-bottom-color: #000; + border-bottom-style: solid; + border-bottom-width: thin; + margin-left: 100rpx; + width: 410rpx; +} + +.shijian-png { + height: 40rpx; + width: 40rpx; + margin-right: 20rpx; +} + +.didian-png { + height: 40rpx; + width: 30rpx; + margin-right: 25rpx; + margin-left: 5rpx; +} +.jiaoshi-png{ + height: 32rpx; + width: 48rpx; + margin-right: 12rpx; +} diff --git a/manage/rollcall/rollcall.js b/manage/rollcall/rollcall.js new file mode 100644 index 0000000..21f86dc --- /dev/null +++ b/manage/rollcall/rollcall.js @@ -0,0 +1,107 @@ +// manage/rollcall/rollcall.js +import { DBPost } from '../../db/DBpost.js'; +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + scanQRCode: function () { + var that = this; + wx.scanCode({ + success: function (res) { + var dbPost = new DBPost(); + var res1 = res.result; + console.log(res.result); + if (res1.length == 19) { + that.setData({ + num: res.result.substring(0, 9) + }) + that.setData({ + newdianming: '正常' + }) + dbPost.newdianming(that.data.num, that.data.newdianming); + console.log(that.data.newdianming, that.data.num) + wx.showToast({ + title: "点名成功", + duration: 100, + mask: true, + icon: "success" + }) + } + else if (res1.length != 19) { + wx.showModal({ + title: "警告", + content: "您扫描了错误的二维码!请检查!", + showCancel: false, + confirmText: "继续" + }) + } + }, + fail: function (e) { + console.log(e); + } + }) + }, + sumit: function () { + wx.redirectTo({ url: '../absent/absent' }) + } +}) \ No newline at end of file diff --git a/manage/rollcall/rollcall.json b/manage/rollcall/rollcall.json new file mode 100644 index 0000000..8cef94d --- /dev/null +++ b/manage/rollcall/rollcall.json @@ -0,0 +1,4 @@ +{ + "navigationBarBackgroundColor": "#14aeee", + "navigationBarTitleText": "正在查课中……" +} \ No newline at end of file diff --git a/manage/rollcall/rollcall.wxml b/manage/rollcall/rollcall.wxml new file mode 100644 index 0000000..29b4077 --- /dev/null +++ b/manage/rollcall/rollcall.wxml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/manage/rollcall/rollcall.wxss b/manage/rollcall/rollcall.wxss new file mode 100644 index 0000000..6622459 --- /dev/null +++ b/manage/rollcall/rollcall.wxss @@ -0,0 +1,31 @@ +/* manage/rollcall/rollcall.wxss */ +/* welcome/signin/signin.wxss */ + +page { + background-color: #fff; +} + +.allpage { + display: flex; + flex-direction: column; + align-items: center; +} + +.signin { + height: 462rpx; + width: 750rpx; +} + + +.btn-area { + margin-top: 40rpx; + box-sizing: border-box; + width: 80%; + padding: 0 30rpx; +} +.kongbai{ + margin-top: 300rpx; +} +.kongbai1{ + margin-top: 20rpx; +} \ No newline at end of file diff --git a/manage/select/select.js b/manage/select/select.js new file mode 100644 index 0000000..3e1ebc6 --- /dev/null +++ b/manage/select/select.js @@ -0,0 +1,685 @@ +// welcome/signin/signin.js +import { DBPost } from '../../db/DBpost.js'; +var app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + multiArray: [['1705', '其他学院暂缓开通'], ['112', '113', '114', '115', '116', '117', '121', '122', '211', '212', '213', '221', '222']], + multiIndex: [0, 0], + xueyuan: 0, //1705 + banji: 0, //213 + xueyuanbanji: 0, + num: 0, + disabled:true,//添加班级 + opacity:0.4, + disabled1: true,//统计结果 + opacity1: 0.4, + disabled2: true,//显示结果 + opacity2: 0.4, + num: 0, + querennum: 0, + bingjianum: 0, + shijianum: 0 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + + + + + bindMultiPickerChange: function (e) { + console.log('picker发送选择改变,携带值为', e.detail.value) + this.setData({ + multiIndex: e.detail.value + }) + this.setData({ + xueyuan: this.data.multiArray[0][this.data.multiIndex[0]] + }) + this.setData({ + banji: this.data.multiArray[1][this.data.multiIndex[1]] + }) + console.log('学院号', this.data.xueyuan); + console.log('班级号', this.data.banji); + this.setData({ + disabled:false + }) + this.setData({ + opacity: 1 + }) + }, + bindMultiPickerColumnChange: function (e) { + console.log('修改的列为', e.detail.column, ',值为', e.detail.value); + var data = { + multiArray: this.data.multiArray, + multiIndex: this.data.multiIndex + }; + data.multiIndex[e.detail.column] = e.detail.value; + switch (e.detail.column) { + case 0: + switch (data.multiIndex[0]) { + case 0: + data.multiArray[1] = ['112', '113', '114', '115', '116', '117', '121', '122', '211', '212', '213', '221', '222'];//1.2 + break; + case 1: + data.multiArray[1] = ['暂缓开通'];//2.2 + break; + } + data.multiIndex[1] = 0; + break; + data.multiIndex[2] = 0; + console.log(data.multiIndex); + break; + } + this.setData(data); + }, + queren: function () { + + + this.setData({ + disabled1: false + }) + this.setData({ + opacity1: 1 + }) + this.setData({ + num: this.data.num + 1 + }) + this.setData({ + xueyuanbanji: this.data.xueyuan + this.data.banji + }) + console.log(this.data.num) + switch (this.data.num) { + case 1: + app.globalData.banji1= this.data.xueyuanbanji + console.log('banji1', app.globalData.banji1) + break; + case 2: + + app.globalData.banji2 = this.data.xueyuanbanji + console.log('banji2', app.globalData.banji2) + break; + case 3: + app.globalData.banji3 = this.data.xueyuanbanji + console.log('banji3', app.globalData.banji3) + break; + case 4: + app.globalData.banji4 = this.data.xueyuanbanji + console.log('banji4', app.globalData.banji4) + break; + case 5: + app.globalData.banji5 = this.data.xueyuanbanji + console.log('banji5', app.globalData.banji5) + break; + default: + wx.showModal({ + title: "警告", + content: "最多只能填写五个班级", + showCancel: false, + confirmText: "继续" + }) + } + }, + tiaozhuan:function(){ + wx.redirectTo({ url: '../show/show' }) + }, + + tongji:function(){ + wx.showToast({ + title: '正在统计', + icon: 'loading', + duration: 2000 + }) + app.globalData.queqin.splice(0, 1) + app.globalData.shijia.splice(0, 1) + app.globalData.bingjia.splice(0, 1) + console.log('banji1', app.globalData.banji1) + console.log('banji2', app.globalData.banji2) + console.log('banji3', app.globalData.banji3) + console.log('banji4', app.globalData.banji4) + console.log('banji5', app.globalData.banji5) + this.switchbanji(app.globalData.banji1); + this.switchbanji(app.globalData.banji2); + this.switchbanji(app.globalData.banji3); + this.switchbanji(app.globalData.banji4); + this.switchbanji(app.globalData.banji5); + this.show(); + this.setData({ + disabled2: false + }) + this.setData({ + opacity2: 1 + }) + wx.showToast({ + title: '统计成功', + icon: 'success', + duration: 2000 + }) + }, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + switchbanji: function (e) { + switch (e) { + case "1705112": { + for (var i = 170511201; i <= 170511238; i++) { //112 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705113": { + for (var i = 170511301; i <= 170511337; i++) { //113 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705114": { + for (var i = 170511401; i <= 170511437; i++) { //114 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705115": { + for (var i = 170511501; i <= 170511537; i++) { //115 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705116": { + for (var i = 170511601; i <= 170511637; i++) { //116 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705117": { + for (var i = 170511701; i <= 170511738; i++) { //117 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705211": { + for (var i = 170521101; i <= 170521136; i++) { //211 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705212": { + for (var i = 170521201; i <= 170521236; i++) { //212 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705213": { + for (var i = 170521301; i <= 170521337; i++) { //213 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705122": { + for (var i = 170512201; i <= 170512239; i++) { //122 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705121": { + for (var i = 170512101; i <= 170512139; i++) { //121 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705221": { + for (var i = 170522101; i <= 170522137; i++) { //221 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + case "1705222": { + for (var i = 170522201; i <= 170522237; i++) { //222 + var j = i.toString(); + var info = wx.getStorageSync(j) + console.log(info) + switch (info) { + case "": + { + app.globalData.queqin.push(i); + this.setData({ + querennum: this.data.querennum + 1 + }) + console.log(this.data.querennum) + } break; + case "事假": + { + app.globalData.shijia.push(i); + this.setData({ + shijianum: this.data.shijianum + 1 + }) + console.log(this.data.shijianum) + } break; + case "病假": + { + app.globalData.bingjia.push(i); + this.setData({ + bingjianum: this.data.bingjianum + 1 + }) + console.log(this.data.bingjianum) + } break; + } + } + } break; + } + }, + show: function () { + var k = this.data.querennum; + + for (var i = 0; i <= (k - 1); i++) { + console.log(app.globalData.queqin[i]) + } + + } + +}) \ No newline at end of file diff --git a/manage/select/select.json b/manage/select/select.json new file mode 100644 index 0000000..79e4aa2 --- /dev/null +++ b/manage/select/select.json @@ -0,0 +1,4 @@ +{ + "navigationBarBackgroundColor": "#14aeee", + "navigationBarTitleText": "选择班级" +} \ No newline at end of file diff --git a/manage/select/select.wxml b/manage/select/select.wxml new file mode 100644 index 0000000..5bef28b --- /dev/null +++ b/manage/select/select.wxml @@ -0,0 +1,31 @@ + + + + + + + 班级 + + {{multiArray[0][multiIndex[0]]}}-{{multiArray[1][multiIndex[1]]}} + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manage/select/select.wxss b/manage/select/select.wxss new file mode 100644 index 0000000..d5507ad --- /dev/null +++ b/manage/select/select.wxss @@ -0,0 +1,124 @@ +/* manage/select/select.wxss */ +/* welcome/signin/signin.wxss */ + +page { + background-color: #fff; +} + +.allpage { + display: flex; + flex-direction: column; + align-items: center; +} + +.signin { + height: 462rpx; + width: 750rpx; +} + +.item { + display: flex; + flex-direction: row; + align-items: center; + margin-top: 60rpx; +} + +.section { + display: flex; + flex-direction: row; + align-items: center; + margin-top: 60rpx; +} + +.picker { + border-bottom-color: #000; + border-bottom-style: solid; + border-bottom-width: thin; + margin-left: 100rpx; + width: 290rpx; +} + +.input { + border-bottom-color: #000; + border-bottom-style: solid; + border-bottom-width: thin; + margin-left: 100rpx; + width: 410rpx; +} + +.txt { + font-size: 120%; +} + +.png { + height: 40rpx; + width: 40rpx; + margin-right: 20rpx; +} +.xuehao-png{ + height: 30rpx; + width: 40rpx; + margin-right: 20rpx; +} + +.mini-btn { + margin-left: 20rpx; +} + +.mima { + display: flex; + flex-direction: row; + align-items: center; + margin-top: 60rpx; +} +.mima-input{ + border-bottom-color: #000; + border-bottom-style: solid; + border-bottom-width: thin; + margin-left: 30rpx; + width: 410rpx; +} +.btn-area { + margin-top: 40rpx; + box-sizing: border-box; + width: 80%; + padding: 0 30rpx; +} +.kongbai1{ + margin-top: 50rpx; +} +.kongbai2{ + margin-top: 150rpx; +} + +/* manage/rollcall/rollcall.wxss */ +/* welcome/signin/signin.wxss */ + +page { + background-color: #fff; +} + +.allpage { + display: flex; + flex-direction: column; + align-items: center; +} + +.signin { + height: 462rpx; + width: 750rpx; +} + + +.btn-area1 { + margin-top: 40rpx; + box-sizing: border-box; + width: 370rpx; + padding: 0 30rpx; +} + +.btn2{ + display: flex; + flex-direction: row; + align-items: center; +} \ No newline at end of file diff --git a/manage/show/show.js b/manage/show/show.js new file mode 100644 index 0000000..09447ce --- /dev/null +++ b/manage/show/show.js @@ -0,0 +1,165 @@ +// manage/show1/show1.js +import { DBPost } from '../../db/DBpost.js'; +var app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + queqin: app.globalData.queqin, + shijia: app.globalData.shijia, + bingjia: app.globalData.bingjia, + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var dbPost = new DBPost(); + this.setData({ + xingming: dbPost.getxingmingData(), + xuehao: dbPost.getxuehaoData(), + zhuanye: dbPost.getzhuanyeData(), + xueyuan: dbPost.getxueyuanData(), + admin: dbPost.getadminData(), + }); + this.setData({ + jiaoshi: dbPost.getjiaoshiData() + }); + this.setData({ + shijian: dbPost.getshijianData() + }); + this.setData({ + didian: dbPost.getdidianData() + }); + this.setData({ + renyuan1: dbPost.getrenyuan1Data() + }); + this.setData({ + renyuan2: dbPost.getrenyuan2Data() + }); + this.setData({ + banji1: app.globalData.banji1 + }); + this.setData({ + banji2: app.globalData.banji2 + }); + this.setData({ + banji3: app.globalData.banji3 + }); + this.setData({ + banji4: app.globalData.banji4 + }); + this.setData({ + banji5: app.globalData.banji5 + }); + this.setData({ + newqueqin: app.globalData.queqin.join(' ') + }) + this.setData({ + newshijia: app.globalData.shijia.join(' '), + }) + this.setData({ + newbingjia: app.globalData.bingjia.join(' ') + }) + console.log(this.data.jiaoshi, this.data.shijian, this.data.didian, this.data.renyuan1, this.data.renyuan2) + console.log('1', this.data.banji1,'2',this.data.banji2,'3',this.data.banji3,'4',this.data.banji4,'5',this.data.banji5) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + post:function(){ + var that=this; + var dbPost = new DBPost(); + wx.request({ + url: 'http://maoye.club/yingbo/res/API/shangchuan.php', //仅为示例,并非真实的接口地址 + data: { + time:that.data.shijian, + add:that.data.didian, + teacher:that.data.jiaoshi, + ren1:that.data.renyuan1, + ren2:that.data.renyuan2, + class1:that.data.banji1, + class2: that.data.banji2, + class3: that.data.banji3, + class4: that.data.banji4, + class5: that.data.banji5, + queqin:that.data.newqueqin, + bingjia:that.data.newbingjia, + shijia:that.data.newshijia + }, + header: { + 'content-type': 'application/json' // 默认值 + }, + success: function (res) { + app.globalData.queqin=""; + app.globalData.shijia=""; + app.globalData.bingjia=""; + app.globalData.banji1 = ""; + app.globalData.banji2 = ""; + app.globalData.banji3 = ""; + app.globalData.banji4 = ""; + app.globalData.banji5 = ""; + wx.clearStorage(); + console.log(that.data.xuehao) + dbPost.newxuehao(that.data.xuehao); + dbPost.newxingming(that.data.xingming); + dbPost.newzhuanye(that.data.zhuanye); + dbPost.newxueyuan(that.data.xueyuan); + dbPost.newadmin(that.data.admin); + wx.switchTab({ url: '../../pages/post/post' }); + console.log(res.data); + + } + }) + + } +}) \ No newline at end of file diff --git a/manage/show/show.json b/manage/show/show.json new file mode 100644 index 0000000..875c331 --- /dev/null +++ b/manage/show/show.json @@ -0,0 +1,4 @@ +{ + "navigationBarBackgroundColor": "#14aeee", + "navigationBarTitleText": "查课结果显示" +} \ No newline at end of file diff --git a/manage/show/show.wxml b/manage/show/show.wxml new file mode 100644 index 0000000..b1d3a01 --- /dev/null +++ b/manage/show/show.wxml @@ -0,0 +1,55 @@ + + + + + 查课信息 + + 查课时间:{{shijian}} + + + 查课地点:{{didian}} + + + 教师:{{jiaoshi}} + + + 查课人员:{{renyuan1}} {{renyuan2}} + + + 班级:{{banji1}} {{banji2}} {{banji3}} {{banji4}} {{banji5}} + + + 缺勤 + + + + + 学号: {{item}} + + + + 病假 + + + + + 学号: {{item}} + + + + 事假 + + + + + 学号: {{item}} + + + + + + + + + + \ No newline at end of file diff --git a/manage/show/show.wxss b/manage/show/show.wxss new file mode 100644 index 0000000..1ea5ed6 --- /dev/null +++ b/manage/show/show.wxss @@ -0,0 +1,84 @@ +/* manage/show/show.wxss */ + + + +.detail-item { + display: flex; + margin-left: 30rpx; + border-bottom: 1px solid RGBA(217, 217, 217, 0.4); + height: 85rpx; + align-items: center; +} + +.detail-item:last-child { + border-bottom: none; +} + +.detail-item image { + height: 40rpx; + width: 40rpx; +} + +.detail-item text { + color: #7f8389; + font-size: 24rpx; + flex: 1; + margin-left: 30rpx; +} + +.detail-item .detail-item-btn { + width: 50rpx; + color: #d9d9d9; + height: 40rpx; + margin-right: 20rpx; + text-align: center; +} + +.detail-item .detail-item-btn::after { + display: inline-block; + content: ''; + width: 16rpx; + height: 16rpx; + color: #d9d9d9; + margin-top: 8rpx; + border: 3rpx #d9d9d9 solid; + border-top-color: transparent; + border-left-color: transparent; + transform: rotate(-45deg); +} + +.xinxi { + font-size: 150%; + margin-left: 30rpx; + margin-top: 20rpx; + margin-bottom: 30rpx; +} + +.item { + margin-left: 30rpx; +} + +.kongbai { + margin-top: 20rpx; +} + +.queqin { + text-align: right; + font-size: 150%; + margin-right: 30rpx; + margin-bottom: 20rpx; + border-bottom: 3rpx dashed #d9d9d9; +} +.btn-area1 { + margin-top: 40rpx; + box-sizing: border-box; + width: 80%; + padding: 0 30rpx; + margin-bottom: 50rpx; +} + +.btn2{ + display: flex; + flex-direction:column; + align-items: center; +} diff --git a/pages/post/QRcode/QRcode.js b/pages/post/QRcode/QRcode.js new file mode 100644 index 0000000..a8f6e16 --- /dev/null +++ b/pages/post/QRcode/QRcode.js @@ -0,0 +1,118 @@ +// pages/main/index.js +import { DBPost } from '../../../db/DBpost.js'; +var app = getApp(); +var QR = require("../../../data/QRcode.js"); +Page({ + data: { + canvasHidden: false, + maskHidden: true, + imagePath: '', + placeholder: '1525873266' //默认二维码生成文本 + }, + onLoad: function (options) { + // 页面初始化 options为页面跳转所带来的参数 + var dbPost = new DBPost(); + var xuehao1 = dbPost.getxuehaoData(); + var shijianchuo1 = xuehao1+dbPost.getshijianchuoData(); + this.setData({ + placeholder: shijianchuo1.toString() //数字转字符串 + }); + console.log(this.data.placeholder) + var size = this.setCanvasSize();//动态设置画布大小 + var initUrl = this.data.placeholder; + this.createQrCode(initUrl, "mycanvas", size.w, size.h); + wx.setScreenBrightness({ + value: 1 + }) + + }, + onReady: function () { + }, + onShow: function () { + + // 页面显示 + }, + onHide: function () { + // 页面隐藏 + }, + + onUnload: function () { + // 页面关闭 + + }, + //适配不同屏幕大小的canvas + setCanvasSize: function () { + var size = {}; + try { + var res = wx.getSystemInfoSync(); + var scale = 750 / 686;//不同屏幕下canvas的适配比例;设计稿是750宽 + var width = res.windowWidth / scale; + var height = width;//canvas画布为正方形 + size.w = width; + size.h = height; + } catch (e) { + // Do something when catch error + console.log("获取设备信息失败" + e); + } + return size; + }, + createQrCode: function (url, canvasId, cavW, cavH) { + //调用插件中的draw方法,绘制二维码图片 + QR.api.draw(url, canvasId, cavW, cavH); + setTimeout(() => { this.canvasToTempImage(); }, 1000); + + }, + //获取临时缓存照片路径,存入data中 + canvasToTempImage: function () { + var that = this; + wx.canvasToTempFilePath({ + canvasId: 'mycanvas', + success: function (res) { + var tempFilePath = res.tempFilePath; + console.log(tempFilePath); + that.setData({ + imagePath: tempFilePath, + // canvasHidden:true + }); + }, + fail: function (res) { + console.log(res); + } + }); + }, + //点击图片进行预览,长按保存分享图片 + previewImg: function (e) { + var img = this.data.imagePath; + console.log(img); + wx.previewImage({ + current: img, // 当前显示图片的http链接 + urls: [img] // 需要预览的图片http链接列表 + }) + }, + formSubmit: function (e) { + var that = this; + var url = e.detail.value.url; + that.setData({ + maskHidden: false, + }); + wx.showToast({ + title: '生成中...', + icon: 'loading', + duration: 2000 + }); + var st = setTimeout(function () { + wx.hideToast() + var size = that.setCanvasSize(); + //绘制二维码 + that.createQrCode(url, "mycanvas", size.w, size.h); + that.setData({ + maskHidden: true + }); + clearTimeout(st); + }, 2000) + + }, + sumit: function () { + wx.switchTab({ url: '../post' }) + } +}) \ No newline at end of file diff --git a/pages/post/QRcode/QRcode.json b/pages/post/QRcode/QRcode.json new file mode 100644 index 0000000..bc7c1d4 --- /dev/null +++ b/pages/post/QRcode/QRcode.json @@ -0,0 +1,4 @@ +{ +"navigationBarBackgroundColor": "#0061bf", + "navigationBarTitleText": "正在签到" +} \ No newline at end of file diff --git a/pages/post/QRcode/QRcode.wxml b/pages/post/QRcode/QRcode.wxml new file mode 100644 index 0000000..5136ff5 --- /dev/null +++ b/pages/post/QRcode/QRcode.wxml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/post/QRcode/QRcode.wxss b/pages/post/QRcode/QRcode.wxss new file mode 100644 index 0000000..0e9a4df --- /dev/null +++ b/pages/post/QRcode/QRcode.wxss @@ -0,0 +1,41 @@ +/* pages/main/index.wxss */ +.container-box{background-color: #efeff4;height: 100vh} +.img-box{padding: 32rpx;background-color: #fff;border-bottom: 1rpx solid #e5e5e5;position: relative} +.img-box image{width: 686rpx;height: 686rpx;background-color: #f9f9f9} +.input-row{ + margin: 30rpx auto; + border-bottom: 1rpx solid #e5e5e5; + border-top: 1rpx solid #e5e5e5; + display: flex; + align-items: center; + height: 88rpx; + padding: 0 32rpx; + background-color: #fff; + font-size: 34rpx; + color: #000 +} + +.input-row input{margin-left: 100rpx;flex: 1} +.mybtn{width:686rpx;margin: 60rpx auto } +.mask{position: fixed;top: 0;left: 0;z-index: 3; width: 100%;height: 100%;opacity: 0;} +.canvas-box{position: fixed;top:999999rpx;left: 0} +.btn-area { + margin-top: 40rpx; + box-sizing: border-box; + width: 80%; + padding: 0 30rpx; +} +.kongbai{ + margin-top: 100rpx; +} +.btn{ + display: flex; + flex-direction: column; + align-items: center; +} +.btn-area { + margin-top: 40rpx; + box-sizing: border-box; + width: 80%; + padding: 0 30rpx; +} \ No newline at end of file diff --git a/pages/post/post.js b/pages/post/post.js new file mode 100644 index 0000000..b5a38d1 --- /dev/null +++ b/pages/post/post.js @@ -0,0 +1,109 @@ +import { + DBPost +} from '../../db/DBpost.js'; +Page({ + + /** + * 页面的初始数据 + */ + data: { + newdianming: 0, + num: 0, + disabled: true, + admin: 0 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function(options) { + wx.checkIsSupportSoterAuthentication({ + success(res) { + console.log(res.supportMode); + // res.supportMode = [] 不具备任何被SOTER支持的生物识别方式 + // res.supportMode = ['fingerPrint'] 只支持指纹识别 + // res.supportMode = ['fingerPrint', 'facial'] 支持指纹识别和人脸识别 + } + }) + var dbPost = new DBPost(); + this.setData({ + admin: dbPost.getadminData(), + }); + wx.setScreenBrightness({ + value: 0.5 + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function() { + + }, + sumit: function() { + wx.navigateTo({ + url: 'QRcode/QRcode' + }) + var timestamp = Date.parse(new Date()); + timestamp = timestamp / 1000; + console.log("当前时间戳为:" + timestamp); + this.setData({ + newshijianchuo: timestamp + 0 + }) + var dbPost = new DBPost(); + dbPost.newshijianchuo(this.data.newshijianchuo); + this.setData({ + shijianchuo: dbPost.getshijianchuoData() + }); + }, + + guanli: function() { + if (this.data.admin != 0) { + wx.redirectTo({ + url: '../../manage/manage' + }) + } + } +}) \ No newline at end of file diff --git a/pages/post/post.json b/pages/post/post.json new file mode 100644 index 0000000..13ead9e --- /dev/null +++ b/pages/post/post.json @@ -0,0 +1,3 @@ +{ +"navigationBarBackgroundColor": "#003b97" +} \ No newline at end of file diff --git a/pages/post/post.wxml b/pages/post/post.wxml new file mode 100644 index 0000000..432de11 --- /dev/null +++ b/pages/post/post.wxml @@ -0,0 +1,9 @@ + + + + + + 立即签到 + + + diff --git a/pages/post/post.wxss b/pages/post/post.wxss new file mode 100644 index 0000000..91cb0d5 --- /dev/null +++ b/pages/post/post.wxss @@ -0,0 +1,47 @@ +.allPost { + display: flex; + flex-direction: column; + align-items: center; +} + +.postImgXH { + width: 200rpx; + height: 200rpx; + margin-bottom:30rpx; +} + +.postImgCLT { + height: 125rpx; + width: 500rpx; + margin-bottom: 90rpx; +} + +.postImgXXT { + height: 45rpx; + width: 450rpx; + margin-bottom: 100rpx; +} + +.callNameView { + margin-top: 200rpx; + border: 1px solid #fff; + width: 200rpx; + height: 80rpx; + border-radius: 5px; + text-align: center; +} + +.callNameText { + font-size: 30rpx; + font-weight: bold; + line-height: 80rpx; + color: #fff; +} + +page { + background-image: url(http://supcache.wanyuanyin.cn/data/maoye.club/yingbo/rcs/images/background.png); + background-repeat: no-repeat; + background-size:100% 100%; + border:none; + background-color: #003b97; +} diff --git a/pages/user/guanyu/guanyu.js b/pages/user/guanyu/guanyu.js new file mode 100644 index 0000000..170da5c --- /dev/null +++ b/pages/user/guanyu/guanyu.js @@ -0,0 +1,66 @@ +// pages/user/guanyu/guanyu.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/user/guanyu/guanyu.json b/pages/user/guanyu/guanyu.json new file mode 100644 index 0000000..3c40169 --- /dev/null +++ b/pages/user/guanyu/guanyu.json @@ -0,0 +1,4 @@ +{ + "navigationBarBackgroundColor": "#003b97", + "navigationBarTitleText": "关于" +} \ No newline at end of file diff --git a/pages/user/guanyu/guanyu.wxml b/pages/user/guanyu/guanyu.wxml new file mode 100644 index 0000000..d3e6339 --- /dev/null +++ b/pages/user/guanyu/guanyu.wxml @@ -0,0 +1,20 @@ + + + + + + + + 说明: 本小程序致力于提高查课的效率。 + + + 版本: 1.0 + + + + + Designed by Rain Sun + 计算机科学技术学院 团委学生会学习部 + All Rights Reserved + + \ No newline at end of file diff --git a/pages/user/guanyu/guanyu.wxss b/pages/user/guanyu/guanyu.wxss new file mode 100644 index 0000000..6912dca --- /dev/null +++ b/pages/user/guanyu/guanyu.wxss @@ -0,0 +1,93 @@ +/* pages/user/guanyu/guanyu.wxss */ + +.GAP { + display: flex; + flex-direction: column; + align-items: center; +} + +.SB { + background-color: #003b97; + height: 210rpx; + width: 100%; + display: flex; + flex-direction: row; + align-items: center; +} + +.studyplus { + height: 150rpx; + width: 600rpx; + margin-bottom: 15rpx; + margin-left: 150rpx; + margin-top: 15rpx; + margin-right: 150rpx; +} + +.category-item { + width: 100%; + margin: 20rpx 0; + background-color: #fff; +} + +.detail-item { + display: flex; + margin-left: 30rpx; + border-bottom: 1px solid RGBA(217, 217, 217, 0.4); + height: 85rpx; + align-items: center; +} + +.detail-item:last-child { + border-bottom: none; +} + +.detail-item image { + height: 40rpx; + width: 40rpx; +} + +.detail-item text { + color: #7f8389; + font-size: 24rpx; + flex: 1; + margin-left: 30rpx; +} + +.detail-item .detail-item-btn { + width: 50rpx; + color: #d9d9d9; + height: 40rpx; + margin-right: 20rpx; + text-align: center; +} + +.detail-item .detail-item-btn::after { + display: inline-block; + content: ''; + width: 16rpx; + height: 16rpx; + color: #d9d9d9; + margin-top: 8rpx; + border: 3rpx #d9d9d9 solid; + border-top-color: transparent; + border-left-color: transparent; + transform: rotate(-45deg); +} + +.kongbai { + margin-bottom: 670rpx; +} + +.BT { + color: #7f8389; + font-size: 20rpx; + flex: 1; + +} + +.banquan { + display: flex; + flex-direction: column; + align-items: center; +} diff --git a/pages/user/user.js b/pages/user/user.js new file mode 100644 index 0000000..93773a0 --- /dev/null +++ b/pages/user/user.js @@ -0,0 +1,77 @@ +// pages/user/user.js +var app = getApp(); +import { DBPost } from '../../db/DBpost.js'; +Page({ + + /** + * 页面的初始数据 + */ + data: { + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + xinxi:function(event){ + wx.navigateTo({ + url: 'xinxi/xinxi', + }) + }, + guanyu: function (event) { + wx.navigateTo({ + url: 'guanyu/guanyu', + }) + } + +}) \ No newline at end of file diff --git a/pages/user/user.json b/pages/user/user.json new file mode 100644 index 0000000..e1b1392 --- /dev/null +++ b/pages/user/user.json @@ -0,0 +1,4 @@ +{ + "navigationBarBackgroundColor": "#003b97", + "navigationBarTitleText": "个人中心" +} \ No newline at end of file diff --git a/pages/user/user.wxml b/pages/user/user.wxml new file mode 100644 index 0000000..ae594ae --- /dev/null +++ b/pages/user/user.wxml @@ -0,0 +1,38 @@ + + + + + + + + 校训: 明德博学,求是创新 + + + + + + + 账号信息 + + + + + 关于 + + + + + + + + 更多功能即将来临! + + + + \ No newline at end of file diff --git a/pages/user/user.wxss b/pages/user/user.wxss new file mode 100644 index 0000000..c363a45 --- /dev/null +++ b/pages/user/user.wxss @@ -0,0 +1,93 @@ +/* pages/user/user.wxss */ + +.allPage { + display: flex; + flex-direction: column; +} + +.PNQ { + display: flex; + flex-direction: row; + align-items: center; + background-color: #003b97; +} + +.UP { + height: 150rpx; + width: 150rpx; + border-radius: 50%; + margin: 30rpx; + overflow:hidden; +} + +.NQ { + display: flex; + flex-direction: column; +} + +.UN { + color: #fff; + font-weight: bold; + font-size: 130%; + margin-bottom: 20rpx; + +} + +.UQ { + color: #fff; + font-size: small; + font-weight: 200; +} +page{ + background-color: #eee; +} + + + +.category-item { + width: 100%; + margin: 20rpx 0; + border-top: 1rpx solid #d9d9d9; + border-bottom: 1rpx solid #d9d9d9; + background-color: #fff; +} +.detail-item{ + display: flex; + margin-left: 30rpx; + border-bottom: 1px solid RGBA(217, 217, 217, .4); + height:85rpx; + align-items: center; +} +.detail-item:last-child{ + border-bottom:none; +} +.detail-item image{ + height: 40rpx; + width:40rpx; + +} +.detail-item text{ + color:#7F8389; + font-size:24rpx; + flex:1; + margin-left: 30rpx; +} +.detail-item .detail-item-btn{ + width: 50rpx; + color: #d9d9d9; + height: 40rpx; + margin-right: 20rpx; + text-align: center; +} +.detail-item .detail-item-btn::after{ + display: inline-block; + content:''; + width: 16rpx; + height: 16rpx; + color: #d9d9d9; + margin-top: 8rpx; + border:3rpx #d9d9d9 solid; + border-top-color:transparent; + border-left-color:transparent; + transform: rotate(-45deg); +} \ No newline at end of file diff --git a/pages/user/xinxi/xinxi.js b/pages/user/xinxi/xinxi.js new file mode 100644 index 0000000..3fdc667 --- /dev/null +++ b/pages/user/xinxi/xinxi.js @@ -0,0 +1,75 @@ +// pages/user/xinxi/xinxi.js +var app = getApp(); +import { DBPost } from '../../../db/DBpost.js'; +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + var dbPost = new DBPost(); + this.setData({ + xingming:dbPost.getxingmingData(), + xuehao:dbPost.getxuehaoData(), + zhuanye:dbPost.getzhuanyeData(), + xueyuan:dbPost.getxueyuanData(), + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, +}) \ No newline at end of file diff --git a/pages/user/xinxi/xinxi.json b/pages/user/xinxi/xinxi.json new file mode 100644 index 0000000..e9500a4 --- /dev/null +++ b/pages/user/xinxi/xinxi.json @@ -0,0 +1,4 @@ +{ + "navigationBarBackgroundColor": "#003b97", + "navigationBarTitleText": "账号信息" +} \ No newline at end of file diff --git a/pages/user/xinxi/xinxi.wxml b/pages/user/xinxi/xinxi.wxml new file mode 100644 index 0000000..b1f9940 --- /dev/null +++ b/pages/user/xinxi/xinxi.wxml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + 姓名: {{xingming}} + + + + 学号: {{xuehao}} + + + + 专业: {{zhuanye}} + + + + 学院: {{xueyuan}} + + + + 校训: 明德博学,求是创新 + + + + \ No newline at end of file diff --git a/pages/user/xinxi/xinxi.wxss b/pages/user/xinxi/xinxi.wxss new file mode 100644 index 0000000..a4095f5 --- /dev/null +++ b/pages/user/xinxi/xinxi.wxss @@ -0,0 +1,97 @@ +/* pages/user/xinxi/xinxi.wxss */ +/* pages/user/user.wxss */ + +.allPage { + display: flex; + flex-direction: column; +} + +.PNQ { + display: flex; + flex-direction: row; + align-items: center; + background-color: #003b97; +} + +.UP { + height: 150rpx; + width: 150rpx; + border-radius: 50%; + margin: 30rpx; + overflow:hidden; +} + +.NQ { + display: flex; + flex-direction: column; +} + +.UN { + color: #fff; + font-weight: bold; + font-size: 130%; +} + + +page{ + background-color: #eee; +} + + + +.category-item { + width: 100%; + margin: 20rpx 0; + border-top: 1rpx solid #d9d9d9; + border-bottom: 1rpx solid #d9d9d9; + background-color: #fff; +} +.detail-item{ + display: flex; + margin-left: 30rpx; + border-bottom: 1px solid RGBA(217, 217, 217, .4); + height:85rpx; + align-items: center; +} +.detail-item:last-child{ + border-bottom:none; +} +.detail-item image{ + height: 40rpx; + width:40rpx; + +} +.detail-item text{ + color:#7F8389; + font-size:24rpx; + flex:1; + margin-left: 30rpx; +} +.detail-item .detail-item-btn{ + width: 50rpx; + color: #d9d9d9; + height: 40rpx; + margin-right: 20rpx; + text-align: center; +} +.detail-item .detail-item-btn::after{ + display: inline-block; + content:''; + width: 16rpx; + height: 16rpx; + color: #d9d9d9; + margin-top: 8rpx; + border:3rpx #d9d9d9 solid; + border-top-color:transparent; + border-left-color:transparent; + transform: rotate(-45deg); +} +.btn-area{ + margin-top: 60rpx; + box-sizing: border-box; + width: 100%; + padding: 0 30rpx; +} +.kongbai{ + margin-bottom: 200rpx; +} diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..4afb693 --- /dev/null +++ b/project.config.json @@ -0,0 +1,36 @@ +{ + "description": "项目配置文件。", + "packOptions": { + "ignore": [] + }, + "setting": { + "urlCheck": false, + "es6": true, + "postcss": true, + "minified": true, + "newFeature": true + }, + "compileType": "miniprogram", + "libVersion": "2.2.5", + "appid": "wx0df150c438e4c8f0", + "projectname": "studyPlus", + "isGameTourist": false, + "condition": { + "search": { + "current": -1, + "list": [] + }, + "conversation": { + "current": -1, + "list": [] + }, + "game": { + "currentL": -1, + "list": [] + }, + "miniprogram": { + "current": -1, + "list": [] + } + } +} \ No newline at end of file diff --git a/welcome/login/login.js b/welcome/login/login.js new file mode 100644 index 0000000..0dac09c --- /dev/null +++ b/welcome/login/login.js @@ -0,0 +1,156 @@ +// welcome/login/login.js +import { DBPost } from '../../db/DBpost.js'; +Page({ + + /** + * 页面的初始数据 + */ + data: { + xuehao:0, + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + zhuce:function(){ + wx.navigateTo({ + url: '../signin/signin' + }) + }, + denglu: function () { + wx.showLoading({ + title: '登录中', + }) + var that = this; + var dbPost = new DBPost(); + wx.login({ + success: function (res) { + if (res.code) { + wx.request({ + url: 'http://maoye.club/yingbo/rcs/API/login.php', + data: { + code: res.code + }, + success: function (result) { + console.log(result); + if (result.data != null) { + dbPost.newxuehao(result.data.xueHao); + dbPost.newxingming(result.data.xingMing); + dbPost.newzhuanye(result.data.zhuanYe); + dbPost.newxueyuan(result.data.xueYuan); + dbPost.newadmin(result.data.admin); + that.data.xuehao = result.data.xueHao; + console.log(that.data.xuehao); + } + if (!that.data.xuehao) { + wx.hideLoading() + wx.showModal({ + title: '警告', + content: '您还未曾注册过~', + confirmText: '注册账号', + cancelText: '联系客服', + confirmColor: '#10aeff', + success: function (res) { + if (res.confirm) { + wx.navigateTo({ + url: '../signin/signin' + }) + console.log('用户点击注册') + } else if (res.cancel) { + wx.showModal({ + title: '联系客服', + content: 'QQ:1144131090', + confirmColor: '#10aeff', + success: function (res) { + if (res.confirm) { + console.log('用户点击确定') + } else if (res.cancel) { + console.log('用户点击取消') + } + } + }) + console.log('用户点击联系客服') + } + } + }) + + } + else { + wx.hideLoading() + wx.switchTab({ + url: '../../pages/post/post' + }) + } + } + }) + } else { + console.log('获取失败' + res.errMsg) + } + } + }); + + + + + + + + + + + + } +}) \ No newline at end of file diff --git a/welcome/login/login.json b/welcome/login/login.json new file mode 100644 index 0000000..0014a0e --- /dev/null +++ b/welcome/login/login.json @@ -0,0 +1,4 @@ +{ + "navigationBarBackgroundColor": "#10aeff", + "navigationBarTitleText": "长春理工大学点名系统" +} \ No newline at end of file diff --git a/welcome/login/login.wxml b/welcome/login/login.wxml new file mode 100644 index 0000000..81c984a --- /dev/null +++ b/welcome/login/login.wxml @@ -0,0 +1,14 @@ + + + + + + + + + + + + Design by RainSun + RCS : Roll-Calling System + \ No newline at end of file diff --git a/welcome/login/login.wxss b/welcome/login/login.wxss new file mode 100644 index 0000000..ce76248 --- /dev/null +++ b/welcome/login/login.wxss @@ -0,0 +1,43 @@ +/* welcome/login/login.wxss */ + +page { + background-color: #fff; +} + +.allpage { + display: flex; + flex-direction: column; + align-items: center; +} + +.SRCS { + + height: 900rpx; + width: 100%; +} + + +.btn-area { + margin-top: 40rpx; + box-sizing: border-box; + width: 370rpx; + padding: 0 30rpx; +} + +.btn2{ + display: flex; + flex-direction: row; + align-items: center; +} +.txt { + margin-top: 100rpx; + color: #7f8389; + font-size: 15rpx; + flex: 1; +} +.txt1 { + + color: #7f8389; + font-size: 15rpx; + flex: 1; +} diff --git a/welcome/signin/signin.js b/welcome/signin/signin.js new file mode 100644 index 0000000..0019877 --- /dev/null +++ b/welcome/signin/signin.js @@ -0,0 +1,410 @@ +// welcome/signin/signin.js +import { DBPost } from '../../db/DBpost.js'; +var app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + multiArray: [['1705', '其他学院暂缓开通'], ['112', '113', '114', '115', '116', '117', '121', '122', '211', '212', '213', '221', '222'], ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38']], + multiIndex: [0, 0, 0], + newnicheng: '', + newmima: '', + disabled: true, + disabled1: true, //是否可用 + opacity: 0.4, //不透明度 + yanzhengjishu:0,//验证计数 + newxuehao:0, //验证学号 + changdu:false,//密码长度 + xueyuan:0, //1705 + banji:0, //213 + geren:0, //28 + openid:0 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + + + + + + + + + + bindMultiPickerChange: function (e) { + this.setData({ + disabled1:false + }) + console.log('picker发送选择改变,携带值为', e.detail.value) + this.setData({ + multiIndex: e.detail.value + }) + this.setData({ + xueyuan: this.data.multiArray[0][this.data.multiIndex[0]] //学院号!!!!! + }) + this.setData({ + banji: this.data.multiArray[1][this.data.multiIndex[1]] + }) + this.setData({ + geren: this.data.multiArray[2][this.data.multiIndex[2]] + }) + console.log('学院号', this.data.xueyuan); + console.log('班级号', this.data.banji); + console.log('学号', this.data.geren); + }, + bindMultiPickerColumnChange: function (e) { + console.log('修改的列为', e.detail.column, ',值为', e.detail.value); + var data = { + multiArray: this.data.multiArray, + multiIndex: this.data.multiIndex + }; + + data.multiIndex[e.detail.column] = e.detail.value; + switch (e.detail.column) { + case 0: + switch (data.multiIndex[0]) { + case 0: + data.multiArray[1] = ['112', '113', '114', '115', '116', '117', '121', '122', '211', '212', '213', '221', '222'];//1.2 + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38'];//1.2.1 + break; + case 1: + data.multiArray[1] = ['暂缓开通'];//2.2 + data.multiArray[2] = ['暂缓开通'];//2.2.1 + break; + } + data.multiIndex[1] = 0; + data.multiIndex[2] = 0; + break; + case 1: + switch (data.multiIndex[0]) { + case 0: + switch (data.multiIndex[1]) { + case 0: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38']; + break; + case 1: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37']; + break; + case 2: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37']; + break; + case 3: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37']; + break; + case 4: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37']; + break; + case 5: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38']; + break; + case 6: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39']; + break; + case 7: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39']; + break; + case 8: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36']; + break; + case 9: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36']; + break; + case 10: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37']; + break; + case 11: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37']; + break; + case 12: + data.multiArray[2] = ['01', '02', '03', '04', '05', '06', '07', '08', '09','10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37']; + break; + + } + + + break; + + case 1: + switch (data.multiIndex[1]) { + case 0: + data.multiArray[2] = [' ']; + break; + case 1: + data.multiArray[2] = [' ']; + break; + case 2: + data.multiArray[2] = [' ']; + break; + } + break; + } + data.multiIndex[2] = 0; + console.log(data.multiIndex); + break; + } + + this.setData(data); + }, + + + + + + + //判断长度 + IsTel: function (s) { + if (s != null) { + var length = s.length; + if (length == 6) { + return true; + } else { + return false; + } + } + }, + //密码的输入框 + mima: function (e) { + var that = this + console.log('输入值为',e.detail.value) + var isTel = that.IsTel(e.detail.value) + that.setData({ + changdu:isTel + }) + console.log('点击态判断',that.data.changdu) + if (isTel&&that.data.yanzhengjishu!=0) { + that.setData({ + disabled: false, + opacity: 1 + }) + } else { + that.setData({ + disabled: true, + opacity: 0.4 + }) + } + var dbPost = new DBPost(); + that.setData({ + newmima: e.detail.value + }) + dbPost.newmima(that.data.newmima); + }, + + + + //提交按钮确认 + sumit: function () { + var that=this; + var dbPost = new DBPost(); + wx.showModal({ + title: '确认', + content: '如果您绑定了他人的学号,将给您造成很大的麻烦', + confirmText: '继续绑定', + cancelText: '重新选择', + confirmColor: '#10aeff', + success: function (res) { + if (res.confirm) { + wx.login({ + success: function (res) { + if (res.code) { + wx.request({ + url: 'http://maoye.club/yingbo/rcs/API/bangding.php', + data: { + code: res.code, + xuehao:that.data.newxuehao + }, + success: function (result) { + console.log(result); + dbPost.newxuehao(result.data.xueHao); + dbPost.newxingming(result.data.xingMing); + dbPost.newzhuanye(result.data.zhuanYe); + dbPost.newxueyuan(result.data.xueYuan); + dbPost.newadmin(result.data.admin); + that.data.xuehao = result.data.xueHao; + console.log(that.data.xuehao); + wx.switchTab({ url: '../../pages/post/post' }) + wx.showToast({ + title: '注册成功', + icon: 'success', + duration: 2000 + }) + } + }) + } else { + console.log('获取失败' + res.errMsg) + } + } + }); + console.log('用户点击继续绑定') + } else if (res.cancel) { + console.log('用户点击重新选择') + } + } + }) + + + + + + + + + + + + + + + + + + }, + + + + yanzheng:function () { //验证 + var a = this.data.xueyuan + var b = this.data.banji + var c = this.data.geren + this.setData({ + newxuehao:(a+b+c) + }) +var that=this; + + wx.request({ + url: 'http://maoye.club/yingbo/rcs/API/yanzheng.php', //仅为示例,并非真实的接口地址 + data: { + code:that.data.newxuehao + }, + header: { + 'content-type': 'application/json' // 默认值 + }, + success: function (res) { + console.log(res.data); + if(res.data==null){ + that.data.openid=1; + }else{ + that.data.openid = res.data.openid; + } + console.log(that.data.openid) + if(!that.data.openid){ + wx.showToast({ + title: '验证成功', + icon: 'success', + duration: 2000 + }) + if (that.data.yanzhengjishu != 0) { //判断是否可以点击完成注册 + that.setData({ + disabled: false, + opacity: 1 + }) + } else { + that.setData({ + disabled: true, + opacity: 0.4 + }) + } + }else{ + that.setData({ + disabled: true, + opacity: 0.4 + }) + wx.showModal({ + title: '警告', + content: '此学号已经被其他人绑定', + confirmText: '重新选择', + cancelText: '联系客服', + confirmColor: '#10aeff', + success: function (res) { + if (res.confirm) { + console.log('用户点击重新选择') + } else if (res.cancel) { + wx.showModal({ + title: '联系客服', + content: 'QQ:1144131090', + confirmColor: '#10aeff', + success: function (res) { + if (res.confirm) { + console.log('用户点击确定') + } else if (res.cancel) { + console.log('用户点击取消') + } + } + }) + console.log('用户点击联系客服') + } + } + }) + } + } + }) + this.setData({ + yanzhengjishu:this.data.yanzhengjishu+1 //验证计数 + }) + console.log('验证计数',this.data.yanzhengjishu) + console.log('上传学号为',this.data.newxuehao) + console.log(this.data.openid) + + } + + + + + + +}) \ No newline at end of file diff --git a/welcome/signin/signin.json b/welcome/signin/signin.json new file mode 100644 index 0000000..7f43cca --- /dev/null +++ b/welcome/signin/signin.json @@ -0,0 +1,4 @@ +{ + "navigationBarBackgroundColor": "#10aeff", + "navigationBarTitleText": "欢迎加入RCS大家庭" +} \ No newline at end of file diff --git a/welcome/signin/signin.wxml b/welcome/signin/signin.wxml new file mode 100644 index 0000000..7be3b1a --- /dev/null +++ b/welcome/signin/signin.wxml @@ -0,0 +1,20 @@ + + + + + + + 学号 + + {{multiArray[0][multiIndex[0]]}}-{{multiArray[1][multiIndex[1]]}}-{{multiArray[2][multiIndex[2]]}} + + + + + + + + + + + \ No newline at end of file diff --git a/welcome/signin/signin.wxss b/welcome/signin/signin.wxss new file mode 100644 index 0000000..0a21589 --- /dev/null +++ b/welcome/signin/signin.wxss @@ -0,0 +1,88 @@ +/* welcome/signin/signin.wxss */ + +page { + background-color: #fff; +} + +.allpage { + display: flex; + flex-direction: column; + align-items: center; +} + +.signin { + height: 462rpx; + width: 750rpx; +} + +.item { + display: flex; + flex-direction: row; + align-items: center; + margin-top: 60rpx; +} + +.section { + display: flex; + flex-direction: row; + align-items: center; + margin-top: 60rpx; +} + +.picker { + border-bottom-color: #000; + border-bottom-style: solid; + border-bottom-width: thin; + margin-left: 100rpx; + width: 290rpx; +} + +.input { + border-bottom-color: #000; + border-bottom-style: solid; + border-bottom-width: thin; + margin-left: 100rpx; + width: 410rpx; +} + +.txt { + font-size: 120%; +} + +.png { + height: 40rpx; + width: 40rpx; + margin-right: 20rpx; +} +.xuehao-png{ + height: 30rpx; + width: 40rpx; + margin-right: 20rpx; +} + +.minibtn { + margin-left: 20rpx; +} + +.mima { + display: flex; + flex-direction: row; + align-items: center; + margin-top: 60rpx; +} +.mima-input{ + border-bottom-color: #000; + border-bottom-style: solid; + border-bottom-width: thin; + margin-left: 30rpx; + width: 410rpx; +} +.btn-area { + margin-top: 40rpx; + box-sizing: border-box; + width: 80%; + padding: 0 30rpx; +} +.kongbai{ + margin-top: 170rpx; +} \ No newline at end of file