├── README.md
├── app.js
├── app.json
├── app.wxss
├── pages
├── answer_chapter
│ ├── chapter.js
│ ├── chapter.json
│ ├── chapter.wxml
│ └── chapter.wxss
├── answer_classify
│ ├── classify.js
│ ├── classify.json
│ ├── classify.wxml
│ └── classify.wxss
├── answer_common
│ ├── movie-list.wxml
│ └── movie-list.wxss
├── answer_info
│ ├── info.js
│ ├── info.json
│ ├── info.wxml
│ └── info.wxss
├── answer_mark
│ ├── mark.js
│ ├── mark.json
│ ├── mark.wxml
│ └── mark.wxss
├── answer_simulate_info
│ ├── simulate_info.js
│ ├── simulate_info.json
│ ├── simulate_info.wxml
│ └── simulate_info.wxss
├── answer_simulate_tip
│ ├── simulate_tip.js
│ ├── simulate_tip.json
│ ├── simulate_tip.wxml
│ └── simulate_tip.wxss
├── common
│ └── movie-list.wxml
├── custom-swiper
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── index
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── logs
│ ├── logs.js
│ ├── logs.json
│ ├── logs.wxml
│ └── logs.wxss
└── mark
│ ├── mark.js
│ ├── mark.json
│ ├── mark.wxml
│ └── mark.wxss
├── public
├── core
│ ├── Q.js
│ └── object-assign.js
├── images
│ ├── 1.png
│ ├── 2-1.png
│ ├── 2.png
│ ├── 3.png
│ ├── error-1.png
│ ├── error.png
│ ├── exam-results-bg.jpg
│ ├── exam-results-cs.png
│ ├── exam-results-csz.png
│ ├── exam-results-ss.png
│ ├── exam-results-ssz.png
│ ├── success-1.png
│ └── success.png
└── js
│ └── douban.js
└── utils
└── util.js
/README.md:
--------------------------------------------------------------------------------
1 | # 微信小程序-题库
2 |
3 | ### 说明:
4 |
5 | 实现题库功能,特色:
6 | - 判断题型和单选题型
7 | - 做题进度和对错显示
8 |
9 | ### 数据接口:
10 |
11 | - https://api.getweapp.com/vendor/com1217
12 |
13 | ### 目录结构:
14 |
15 | - public — 存放项目公共库文件
16 | - pages — 存放项目页面文件
17 | - utils — 存放项目日期处理文件
18 |
19 | ### 开发环境:
20 |
21 | 微信web开发者工具 v0.11.112301
22 |
23 | ### 项目截图:
24 |
25 | https://www.getweapp.com/project?projectId=584c4f78e8ff074c22472f75
26 |
27 | ### 感谢:
28 |
29 | 本项目原始版本由HuBinAdd提供:https://github.com/HuBinAdd/calculate-swiperList
30 |
--------------------------------------------------------------------------------
/app.js:
--------------------------------------------------------------------------------
1 | //app.js
2 | const https = require('public/js/douban.js');
3 |
4 | if(!Object.assign) {
5 | Object.assign = require('public/core/object-assign.js')
6 | }
7 |
8 | App({
9 | onLaunch: function () {
10 | //调用API从本地缓存中获取数据
11 | var logs = wx.getStorageSync('1217_logs') || false;
12 | if(logs){
13 | this.globalData = logs;
14 | }else{
15 |
16 | }
17 | },
18 | getUserInfo:function(cb){
19 | var that = this;
20 | wx.getLocation({
21 | type: 'wgs84',
22 | success: function(res) {
23 | that.globalData.getLocation = `${res.latitude},${res.longitude}` //纬,经
24 | }
25 | })
26 | if(this.globalData.hasLogin){
27 | typeof cb == "function" && cb(this.globalData.userInfo);
28 | }else{
29 | //调用登录接口
30 | wx.login({
31 | success: function (data) {
32 | https.login('weixin/small/1.0?m=SmallApp&c=weixin&a=login',{code:data.code}).then((data) =>{
33 | if(!!(data.data.status - 0) ){
34 | that.globalData.openid = data.data.data;
35 | that.globalData.hasLogin = true;
36 | wx.getUserInfo({
37 | success: function (res) {
38 | that.globalData.userInfo = res.userInfo;
39 | wx.setStorageSync('1217_logs', that.globalData);//储存用户信息
40 | typeof cb == "function" && cb(that.globalData.userInfo)
41 | }
42 | })
43 | }else{//登录失败
44 |
45 | }
46 | });
47 |
48 | },
49 | fail:function(){
50 | typeof cb == "function" && cb(false)
51 | }
52 | })
53 | }
54 | },
55 | globalData:{
56 | hasLogin:false,//是否登陆
57 | userInfo:null,//用户信息
58 | openid:null,//用户唯一标识
59 | city:null//用户唯一标识
60 | }
61 | })
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages":[
3 | "pages/index/index",
4 | "pages/answer_chapter/chapter",
5 | "pages/answer_classify/classify",
6 | "pages/answer_simulate_info/simulate_info",
7 | "pages/answer_mark/mark",
8 | "pages/answer_simulate_tip/simulate_tip",
9 | "pages/answer_info/info"
10 | ],
11 | "window":{
12 | "backgroundTextStyle":"light",
13 | "backgroundColor":"#f6f6f6",
14 | "navigationBarBackgroundColor": "#38393c",
15 | "navigationBarTitleText": "学车题库",
16 | "navigationBarTextStyle":"white",
17 | "enablePullDownRefresh":true
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/app.wxss:
--------------------------------------------------------------------------------
1 | /**app.wxss**/
2 | page{
3 | font-family: Arial,"Microsoft Yahei","微软雅黑", sans-serif;
4 | font-size: 24rpx;
5 | background: #eee;
6 | color: #333;
7 | }
8 |
9 | /* CSS Document */
10 |
11 | .row:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
12 |
13 | .row { display: inline-table; } /* Hides from IE-mac \*/
14 |
15 | html .row { height: 1%; }
16 |
17 | .row { display: block; } /* End hide from IE-mac */
18 |
19 | .col-hg-1, .col-hg-2, .col-hg-3, .col-hg-4, .col-hg-5, .col-hg-6, .col-hg-7, .col-hg-8, .col-hg-9, .col-hg-10, .col-hg-11, .col-hg-12 { float: left; box-sizing: border-box;}
20 |
21 | .col-hg-12 { width: 100%; }
22 |
23 | .col-hg-11 { width: 91.6667%; }
24 |
25 | .col-hg-10 { width: 83.3333%; }
26 |
27 | .col-hg-9 { width: 75%; }
28 |
29 | .col-hg-8 { width: 66.6667%;}
30 |
31 | .col-hg-7 { width: 40%; }
32 |
33 | .col-hg-6 { width: 50%; }
34 |
35 | .col-hg-5 { width: 41.6667%; }
36 |
37 | .col-hg-4 { width: 33.3333%; }
38 |
39 | .col-hg-3 { width: 25%; }
40 |
41 | .col-hg-2 { width: 16.6667%; }
42 |
43 | .col-hg-1 { width: 8.33333%; }
44 |
45 | /*classify-lists*/
46 | .classify-exer-lists{
47 | background: #fff;
48 | margin-top: 10rpx;
49 | }
50 | .classify-exer-lists.first{
51 | margin-top: 0;
52 | }
53 |
54 | .classify-exer-lists .classify-exer-list{
55 | position: relative;
56 | padding: 27rpx 0 27rpx 90rpx;
57 | border-bottom: 1rpx solid #f6f6f6;
58 | font-size: 30rpx;
59 | line-height: 46rpx;
60 | }
61 |
62 | .classify-exer-lists .classify-exer-list .icon-exer{
63 | position: absolute;
64 | left: 30rpx;
65 | top: 50%;
66 | transform: translate3d(0, -50%, 0px);
67 | -webkit-transform: translate3d(0, -50%, 0px);
68 | width: 40rpx;
69 | height: 40rpx;
70 | border-radius: 20rpx;
71 | background: #fc8f02 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAABWUlEQVQ4y6WVsUpjURCGvwnR1cbKgEXYaq1MHkBBCIJW1iu+irXd4mtYWW29SGzFFGqpIIqCEIslpYKfRU4gXO5JbuLfnMvM/T9m5lzmorbVa2fXb0pUB06BN2AP+KCaBC7LM0PtVgRNVS2dVSubqnqm6jVgqSLjMSLMAtUa8AQsVATuAv+ywIj4VH/OUuHUliPidd4Z1sqCal2t50yT8rWM5w/QUxslsAbQA04K8XX1YvQddgrJX+qDejsOVRspdqc2C56O6UbLZngPbAPLQFdtJkA3vbIVEc+ztEwydIAfCdQFPoGdiOjnfNnBj6BpCfRSaHMSbGKFo1kCfxkugkvgTN2YC6i2U5svDDfRXnruplzWWHbLbbWvnqsrY/GVFOurrYInf8vAAXAF7EfEYGymA2A/5Q4rVziPihUufhdI2k6h3gD/gWPg/RuwI2AVtTXnT6qoa7X9BT+zVy5f6mfUAAAAAElFTkSuQmCC") no-repeat center/20rpx 22rpx;
72 | overflow: hidden;
73 | }
74 | .classify-exer-lists .classify-exer-list.left{border-right: 1rpx solid #f6f6f6;}
75 |
76 | .classify-exer-lists .classify-exer-list .special-exer-tip{
77 | position: absolute;
78 | left: 30rpx;
79 | top: 50%;
80 | transform: translate3d(0, -50%, 0px);
81 | -webkit-transform: translate3d(0, -50%, 0px);
82 | width: 40rpx;
83 | height: 40rpx;
84 | background: #73d263;
85 | border-radius: 20rpx;
86 | font-size: 24rpx;
87 | color: #fff;
88 | text-align: center;
89 | line-height: 40rpx;
90 | }
91 | .classify-exer-lists.num .classify-exer-list{
92 | counter-increment: my;
93 | }
94 | .classify-exer-lists.num .classify-exer-list:after{
95 | position: absolute;
96 | left: 30rpx;
97 | top: 50%;
98 | transform: translate3d(0, -50%, 0px);
99 | -webkit-transform: translate3d(0, -50%, 0px);
100 | width: 40rpx;
101 | height: 40rpx;
102 | content: counter(my);
103 | background: #0ae;
104 | border-radius: 20rpx;
105 | font-size: 24rpx;
106 | color: #fff;
107 | text-align: center;
108 | line-height: 40rpx;
109 | }
110 | .classify-exer-lists.num .classify-exer-list .classify-exam-num{
111 | position: absolute;
112 | right: 30rpx;
113 | top: 50%;
114 | transform: translate3d(0, -50%, 0px);
115 | -webkit-transform: translate3d(0, -50%, 0px);
116 | font-size: 24rpx;
117 | color: #999;
118 | vertical-align: middle;
119 | }
120 | .classify-exer-lists.num .classify-exer-list .classify-exam-num .icon-label-class{
121 | display: inline-block;
122 | width: 12rpx;
123 | height: 20rpx;
124 | margin-left: 4rpx;
125 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAYAAABit09LAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAA4ElEQVQoz43Rr0qEQRiF8We/9SYMgoIIFoPFC7CsxWSyaJHTDGI2LqggosUHDGtQEEyLYcU/WC0Gr8gyGtZvdn3j8GPeOWdQ79UeU6YBzoAbdXMiTPIBbABX6takG0nyCfSAC3W7Cgv+AtaBY3V3HHbGD9Ql4BnoJ7EKC14AXoDzJJdVWPBcwddJTquw4FngFbht+N90u1NWvwGDJP1amPmy8jdM04IWgXfg5Af9Sa0uA0/AUZJBa+HqCjACDpPctf6Mugo8AvtJHtre3VHXgCGwl2RYa2EGOAB2kowmFfkNyq5O87vOCYoAAAAASUVORK5CYII=")no-repeat center/10rpx 18rpx;
126 | }
127 | .metadata{
128 | display: table;
129 | height: 300px;
130 | width: 100%;
131 | }
132 | .metadata view{display: table-cell; vertical-align:middle; text-align:center; color: #999;}
--------------------------------------------------------------------------------
/pages/answer_chapter/chapter.js:
--------------------------------------------------------------------------------
1 | const https = require('../../public/js/douban.js');
2 |
3 | if(!Object.assign) {
4 | Object.assign = require('../../public/core/object-assign.js')
5 | }
6 |
7 | //获取应用实例
8 | var app = getApp();
9 | Page({
10 | data: {
11 | column:[{
12 | class:'num',
13 | option:[
14 | {
15 | "id": "3",
16 | "title": "安全ssss行车、文明驾驶基础知识",
17 | "count": "284"
18 | }
19 | ]
20 | }],
21 | },
22 | onLoad (params) {
23 | this.data.subject = params.subject;
24 | this.data.type = params.type;
25 | var that = this;
26 | https.chapter('weixin/small/1.0?m=SmallApp&c=weixin&a=chapter',{subject:params.subject,type:params.type}).then((data) =>{
27 | if(data.data.status == 1){
28 | that.data.subject = params.subject;
29 | that.data.column[0].option = data.data.data;
30 | that.setData(that.data);
31 | }
32 | })
33 | this.setData(this.data);
34 | },
35 | onUnload(){//页面卸载
36 |
37 | }
38 | });
--------------------------------------------------------------------------------
/pages/answer_chapter/chapter.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "章节练习",
3 | "enablePullDownRefresh":false
4 | }
--------------------------------------------------------------------------------
/pages/answer_chapter/chapter.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{option.exerTip}}
4 |
5 | {{option.title}}
6 | {{option.count}}
7 |
8 |
--------------------------------------------------------------------------------
/pages/answer_chapter/chapter.wxss:
--------------------------------------------------------------------------------
1 | /* pages/answer_chapter/chapter.wxss */
--------------------------------------------------------------------------------
/pages/answer_classify/classify.js:
--------------------------------------------------------------------------------
1 | const https = require('../../public/js/douban.js');
2 |
3 | if(!Object.assign) {
4 | Object.assign = require('../../public/core/object-assign.js')
5 | }
6 |
7 |
8 | //获取应用实例
9 | var app = getApp();
10 | Page({
11 | data: {
12 | isLoading:false,
13 | subject:'kemu1',
14 | column:[{},{},{class:'num'}]
15 | },
16 | onLoad (params) {
17 | this.data.subject = params.subject;
18 | this.data.type = params.type;
19 | var that = this;
20 | https.classify('weixin/small/1.0?m=SmallApp&c=weixin&a=special',{subject:params.subject,type:params.type}).then((data) =>{
21 | if(data.data.status == 1){
22 | data = data.data.data;
23 | this.data.column[0].option = data[0];
24 | this.data.column[1].option = data[1];
25 | this.data.column[2].option = data[2];
26 | this.data.isLoading = true;
27 | that.setData(that.data);
28 | }
29 | })
30 | this.setData(this.data);
31 | },
32 | onUnload(){//页面卸载
33 |
34 | }
35 | });
--------------------------------------------------------------------------------
/pages/answer_classify/classify.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "专项练习",
3 | "enablePullDownRefresh":false
4 | }
--------------------------------------------------------------------------------
/pages/answer_classify/classify.wxml:
--------------------------------------------------------------------------------
1 |
2 | 加载中...
3 |
4 |
5 |
6 | {{option.exerTip}}
7 |
8 | {{option.text}}
9 | {{option.examNum}}
10 |
11 |
12 |
--------------------------------------------------------------------------------
/pages/answer_classify/classify.wxss:
--------------------------------------------------------------------------------
1 | /* pages/answer_classify/classify.wxss */
--------------------------------------------------------------------------------
/pages/answer_common/movie-list.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{item.tip}} {{item.content}}
8 |
9 |
10 |
11 |
12 |
13 | {{item.tip}} {{item.content}}
14 |
15 |
16 |
17 | {{item.tip}} {{item.content}}
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | {{item.tip}} {{item.content}}
32 |
33 |
34 |
35 |
36 |
37 | {{item.tip}} {{item.content}}
38 |
39 |
40 |
41 | {{item.tip}} {{item.content}}
42 |
43 |
44 |
45 |
46 |
47 |
48 | 确定
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | {{itemList.tip}}
57 |
58 |
59 |
60 |
61 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 | {{index+1}}
81 | {{index+1}}
82 | {{index+1}}
83 |
84 |
85 |
86 |
87 |
88 |
89 | 试题详解
90 | {{itemList.tip}}
91 |
92 |
93 |
--------------------------------------------------------------------------------
/pages/answer_common/movie-list.wxss:
--------------------------------------------------------------------------------
1 | /**index.wxss**/
2 | page{
3 | box-sizing: border-box;
4 | padding-bottom: 116rpx;
5 | overflow: auto;
6 | }
7 | .header{
8 | display: block;
9 | padding: 27rpx 30rpx 36rpx;
10 | font-size: 30rpx;
11 | line-height: 48rpx;
12 | background: #fff;
13 | }
14 | .xuanz {
15 | display:inline-block;
16 | width: 80rpx;
17 | height: 34rpx;
18 | margin: -5rpx 0 0;
19 | border-radius: 5rpx;
20 | background: #00bcd5;
21 | font-size: 24rpx;
22 | color: #fff;
23 | text-align: center;
24 | line-height: 36rpx;
25 | vertical-align: middle;
26 | }
27 | .poster{
28 | display: block;
29 | padding: 0 30rpx;
30 | height: 348rpx;
31 | margin: auto;
32 | background: #fff;
33 | }
34 | .poster image,.poster video{
35 | width: 100%;
36 | height: 348rpx;
37 | background-color: #eeeeee;
38 | }
39 | .container{
40 | background: #fff;
41 | }
42 | .list{
43 | position: relative;
44 | padding: 27rpx 30rpx 27rpx 94rpx;
45 | border-bottom: 1px solid #eee;
46 | font-size: 28rpx;
47 | color: #333;
48 | }
49 | .list.error{
50 | padding-left: 94rpx;
51 | background:#fbfbfb url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADzUlEQVRYw8WYXWhcRRTHf7kgYhkQxIeKEfOiRkOL1NJEjba1VvygaTFN8ZPADKUi6kMR1BcF8T1Kix/gzIMEQa1QW1/KpjVSPxDcxioiiNG0NKLdgEYnNZU28WHu3UyuN9m5d3ez/6fdc+fc89uZ2TNnThsFZKXqArYAm4HrgOuBS1LD/gF+BH4ARoGSMPrnvLHacoLtAJ6K4fJqHvgI2C+MPtpQQCvVZuAV4LYCYFkqAS8Io8t1A1qp9uFmrRl6WRj9UiFAK9Vq4DCwvklwiUpAnzB6NhjQStUBfAFc1WS4RN8Bdwijp2sCWqmuAL4HVq8QnA95szB6zjdGGQNLLYADWAN8nDYuArRSvQasawFcovusVHt9Q3WJrVS3AF+3EM7XNcLoM7B4Bk2g82zguCxdCBz3VvIhArBS3QusDXB8H7gW2Ar8mwOsgktXHcBIwPj7rVQ3VgGB5wMDPSKMPiuMHgFuJWw2zwLdwuiyMHoSkIGxngOI4py3MdCpL/kgjD4B9AAzy4z/LYb7xbNtD4y1y0olIuCBQAeAA1aqaqEgjD6JO5/PZYytAD3C6InEYKXaCewLjHUZcFeEK5lCFQEjVqpNHuS3QC+L9+QUsEEYfcqDexD4IEcsgC0RLkHm1SdWquq2EEaPsVDpzOOW1Z+5fuDDAnHWRsDVBRwBRlPLXcatRrdfmFqpBoADBWO0t1mp5gs6J9oa/6v/JyvVLuC9Ot49HdXhnKhkpdqWATdYJxzAqkYAzgJ/Ztj/aMC75+oFrAA3CaOPpx8Iow/hTo96jsaZCJgu6Pw7qSRspdpjpXrYgyzjTpyZAu8HqETA6QbBDQBvAu9aqe72IL/BpaAikKci4GTeX4U7Ifwk3I8rJBKV4ptgApkk8/M5Y41FQPAdlYWzdSIFl5Xnjlmp7kzN5O3A3zniHYlwZfbFQIftqWXdyfJJ+NPUTJaBwcBYU8DxSBg9BRwKdBr34AYIO1uP+XsSCG1/vCOMvtAWB1sH1LzlA58BLwKdwOuBgRINAr8CrwJdAePbhdGT/p3kCHBPzqDNkhFGK1h8J3mi1VSxZoFnki9VwHjzP9tqOuBxYXQ1Z2Z1Fg4SXpY3Wm8Io5/0DUv1Zr4CNqww3GFhdF/auFSx0ItrHq2UDmbBQY3+oJVqGHi0yXBDwui9Sz1cttwSRj8GPE19JdNSqgAPLQdXEzCG3A/cAAw3COwiMAR0CqNrVtx5m+hdwG6gH2jPCfYT7tx+Wxg9HuqUC9ADvRTX6e8BunE3wyuBy4E54C9cy2MS+BL4HBhNNydD9B9GSDnjSVkY2QAAAABJRU5ErkJggg==") no-repeat 30rpx center/40rpx 40rpx;
52 | color: #f46263;
53 | }
54 | .list.success{
55 | padding-left: 94rpx;
56 | background:#fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADNklEQVRYw82Zz0sWQRjHP272FwQdyi6RlkIOUVFpaUXqRSprkK5BRGkx1wg6Rl2nsoKkLl2KSZPwYoK/EzwkU1Codco6CHkvCzrsrr27777vu7u+vq/f07L7zM5nZp9n5plnK0ghaVU90AI0A7uAaqAyZPYHWAC+AGPAWyP0h6R9VSQE6wSuACfSDAwYAR4boV8WFVBa1QrcBg6kBAtrBrhlhB5aM6C06iFwtUhgYT0yQnelApRW7QAGgH3rBOdrFjhjhP4WG1BaVQNMAFvXGc7XEnDMCD1fEFBatR2wwJYSwfn6CdQboX9k3nQiDIfLAIfX53D4ZgBQWvUE2FMGOF+1HsOqVj+xtOoort9tBDUaod9BcAaflpsqQ8/8CwdAWnUad7sqld4DL4DfOZ7XSKvaVwGBGyWE6zNC7zdCXwCOA79y2N0EqJBWVQPzMV9eDLjzmTekVV+BnTnsqx2go0Rw/RFwLUBVnjYdlUBTCeAGjNDnQnCHgUFgc552zQ5Qt85w/UbosyG4Q8B4ATiAOof8UwzQBzQAl1PAvYqYuQZgKgYcQFVlAcPFDL+ZllbNAaPEyyP7jNAyBNeIuxnETZQ3OwUMAs+N0OPE89nXEQFxJCFcNkCEtoX3RiP0JPlT/gEjdGBlyPC5RHBxAAEuSavuhyBHgZMRtn05AmKC7ENVbMCVGHbXpFU9IcgR3J0gEy78WRuJHxBRWnGAxZjGXd75JBNyDOgEnueAmwQ2pYQDWKyQVr0B2hM06jFCX8tn4C3CU8RzoXwadLxRJlG3tOpeHjg/INYKBzDm4C7ESXVdWvUgAu6IN+C0PhdWv2OEXgCmUzTuzgwcaVWTB5cqWiM0bYT+4r/sLu4ZOKm6pFUC+I4bLMXUHQieSeaAmiJ3klbzRujdEHTki+WmimJZBfROUb3lJgN6/RMdRFcWPgG1ZYL7bIQO5KdRa9UpYLkMcMte3wFlAXq1kQbcgk6ptAQ0hOsykYAe5BxwELc0tt6aBQ56fWZpwxcwC+6X3gvacMu2xdIM0FYIDtIV0a8SzAOTaBQ3GzJxGyROwT3QvUAr/39D1JCd9/3FrVj4vyGGjNAfk/b1Dw7sAipN98OLAAAAAElFTkSuQmCC") no-repeat 30rpx center/40rpx 40rpx;
57 | color: #6c0;
58 | }
59 | .list.error .number,.list.success .number{
60 | display: none;
61 | }
62 | .number{
63 | position: absolute;
64 | left: 30rpx;
65 | top: 50%;
66 | width: 40rpx;
67 | height: 40rpx;
68 | margin: -20rpx 0 0;
69 | border: 1rpx solid #f6f6f6;
70 | border-radius: 20rpx;
71 | text-align: center;
72 | line-height: 40rpx;
73 | font-size: 28rpx;
74 | font-weight: lighter;
75 | color: #666;
76 | }
77 | .list.active{
78 | background: #fbfbfb;
79 | }
80 | .list.active .number{
81 | background: #eee;
82 | color: #777;
83 | }
84 | .list.active-success{
85 | background: #fbfbfb;
86 | color: #54d16f;
87 | }
88 | .list.active-success .number{
89 | background: #54d16f;
90 | color: #fff;
91 | }
92 | .btn-bg{
93 | border-bottom: 1px solid #f6f6f6;
94 | background: #fff;
95 | overflow: hidden;
96 | }
97 | .btn{
98 | display: block;
99 | width: 690rpx;
100 | height: 80rpx;
101 | margin: 20rpx auto;
102 | background: #fed835;
103 | border-radius: 10rpx;
104 | text-align: center;
105 | font-size: 30rpx;
106 | color: #3d3d3c;
107 | line-height: 80rpx;
108 | }
109 | .analysis{
110 | margin: 20rpx 0 0;
111 | padding:25rpx 30rpx 40rpx;
112 | border-top: 1rpx solid #eee;
113 | border-bottom: 1rpx solid #eee;
114 | background: #fff;
115 | font-size: 28rpx;
116 | line-height: 48rpx;
117 | color: #666;
118 | }
119 | .analysis .analysis-header{
120 | padding: 8rpx 0;
121 | font-size: 34rpx;
122 | color: #00bcd5;
123 | }
124 |
125 | .footer-layer{
126 | position: fixed;
127 | top: 0;
128 | left: 0;
129 | width: 100%;
130 | height: 100%;
131 | background: rgba(0,0,0,.5);
132 | }
133 | .footer{
134 | position: fixed;
135 | box-sizing: border-box;
136 | bottom: 0;
137 | width: 100%;
138 | transform: translate3d(0, 100%, 0px);
139 | -webkit-transform: translate3d(0, 100%, 0px);
140 | z-index: 100;
141 | }
142 | .count{
143 | position: absolute;
144 | box-sizing: border-box;
145 | top: -93rpx;
146 | width: 100%;
147 | padding: 30rpx 30rpx;
148 | background: #fff;
149 | font-size: 24rpx;
150 | overflow: hidden;
151 | zoom:1;
152 | z-index:1000;
153 | }
154 | .count view{
155 | float: right;
156 | line-height: 34rpx;
157 | }
158 | .count .collect{
159 | float: left;
160 | height: 40rpx;
161 | padding-left: 45rpx;
162 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADpklEQVRYw82XTWhjVRTHf43TpA2peS1t09LWtnTambx0oXHUfuFGF4ILQXSnRZjFdYRB0M1UncHxY+PCjSLeiisdEWZcNKQrwU3oRxYmEtJI2xSxlDSEvCQvkYil9LnwjdY2rx8xTT3weLx77jn39/7n3Xe4DVRpUsoG4H3gdXPoY+BdIYRRTb4L1YIAL4+MjLw9Pj6OYRgsLi7eSiaTq8A31SSzVamGDbipqioOh4OmpiZUVQV4x/TVBwR4cWho6GJnZ+ffA11dXQwMDHiB5+oJcsNU4F9mjt2oC4iU8pm+vr6Hu7u7D/l6e3vp6el5XEr5VD0Umamkxn9V5VQgUspxj8fzZH9/v+WcwcFBOjo6npZSXjlLRY5U44AqM6dJ3HACFdzAJeBRVVU/m5qaOlHi2dlZA3gViAJrQgj9WBDzLzlsLjgCeM3ny3a7vVNRFNrb21FVlba2thOBaJpGIpEgm82i6zo7OztpYA1YNa814GdgQwhhNEgpfcBdt9vtVRQFt9vN/ntzc/NpFLa0crmMruvouk6hUEDXdfL5PMVicRV4/gLw+eTkpNfn89VkQStzOp04nU4ObvuVlZVLCwsLX9iA8ZN8gGdl5tpP2ICtVCp1biDb29sAKRvw5vz8/F46na47RDqdJhgM7gFv2IQQ3wHTgUBgL5PJ1BUiEAjsAdNCiHs2ACHEHeBqIpEgl8udOUQmk9kPcQfggfvOYDD408TERAZ41uVy1WzbHrRcLkc8HkfTtFeEEF9bTpRSXguFQoamaUatTdM0IxQKGVLKayeivg9TKpXOD2IfzEw4HK4ZyHEQR3Xfbzc2Nmr2bWxubgLMVwOitra21gxEURT4q6meL4iZy7KhHQXi+7+AnEVpvNWAXDaDa6mIZZuvCCKlfMjlcrU0NjYeu0A2myWbzR47z+Fw4HQ6W6WUXZX8VmffY8uSTqdJJBIkk8kfAdvw8PAjqqri8XgsYxRFoVwuq8ChVm9VGq9VWYrFIktLSwQCgV+TyeRLwGPAlfX19em5ubnN5eVlSqVSxdijymOlyKGy7O7uEo1GiUajBeBD4BMhxB+m2wC+klLei8Vi12Ox2Ft+v9/t9/ux2f55V7vdDvDgaUB+SKVStwuFAi0tLcTjccLh8A7wKfCBECJfKUgI8TvwkZTyy0gkcjMSibw2NjbWODo6Sj6fZ2trC+D7SrGW5xop5XXgNuAE7gK3hBC/cAqTUg4B7wEvAL8BM0KI2Upz/wSgSkSFeEdfwAAAAABJRU5ErkJggg==") no-repeat left center/34rpx 34rpx;
163 | font-size: 24rpx;
164 | color: #666;
165 | line-height: 44rpx;
166 | }
167 | .count .collect.active{
168 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4JGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwNjcgNzkuMTU3NzQ3LCAyMDE1LzAzLzMwLTIzOjQwOjQyICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTYtMTEtMDhUMTM6NDA6MTcrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNi0xMS0wOFQxMzo0MjowNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTYtMTEtMDhUMTM6NDI6MDUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTY5YWMyMTAtOWVkZi1kZTQ2LTk5NmQtYWU0MDdhNGZjYzk0PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU2OWFjMjEwLTllZGYtZGU0Ni05OTZkLWFlNDA3YTRmY2M5NDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU2OWFjMjEwLTllZGYtZGU0Ni05OTZkLWFlNDA3YTRmY2M5NDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1NjlhYzIxMC05ZWRmLWRlNDYtOTk2ZC1hZTQwN2E0ZmNjOTQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTYtMTEtMDhUMTM6NDA6MTcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PljAfWcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAdpJREFUeNrM2D2IE1EQwPFfFrv4gY1YWaind5dG8AsbGy1sRBQsBA2IRCGFiofo+cWBnYhgdXI2okYEtbQSrOxELOUOLBQRG7/gQFRIbEYQWZLsJptk4BU7b968/5vZnff2lVqLc3JKCVdxKp5vYAatTF7KNZDIL0dwEUujXcGhvM6SHsZdTtFfyuszL8hBrE/RT2DfIEHO5+zrK8gebGrTvw27BgEy3WPE+gKyAzu7sNuNLUWCTBdka0kXNiuwEZuxN4Pv/TiO11jA97bVMSprCWMx4Yb4DMcwjlX6I58CaD7aAt7grXKtVWotzlXwKCYfhszjQIJbQ4QQWbidxJcwbNme4MMIgHxMMIXmECGaOJPgCapDgmmiqlx7/LegNXBsSBCN/yvrHdQHCHI0ApBa4mcHBFPH3U57TdEw9Zijq01vFhcGBdFp931YAMjTPMeAyYLK+UiAVPKAVEYFpIiITOQBGS8AZDIryBosKwBkJVZnAcmSlldxLu0pKknWXP4j73AYW+PXoYr3/QZpl5ZvOBs1oRHXEE3ci/fqXIcT+/IsIM9TdL/iDmQtruNnis0PXMM63MTvFJtnWUBe4CS+xoT3Y7VToeskn3E6UvwgFvEFJ/AybcCfAQDkI1qKmpVvGwAAAABJRU5ErkJggg==") no-repeat left center/34rpx 34rpx;
169 | }
170 | .count .remove{
171 | float: left;
172 | height: 40rpx;
173 | padding-left: 45rpx;
174 | margin-left: 20rpx;
175 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAACJElEQVRYw+2Yv2sUQRTHPxsN6oGNWkgs/AkaxMrX2Nv5B4QjhYidlaAoaGUVsdTCxkYrIRitbexs/IbUAX/GiIpyRFEkJLlY7Ayc6+zt3O7tkWK/zdvhPd77zJub3ZtJiJCkaeAacCwmPkcfgRkzexgTnERAXQQeVADK6pKZ3a8EJqkFdIAdwBPgKdCNmVBAZ4ELwCawz8w6/YK3FySbcFAAV8zsQ9k2SZp1YAlwAnjZL35sgNx7ykL1TNKrWxRcBLbc89yhmr72PH8uCk4AJE268WaPbwM4BDx34ylgAdhWAio2V+Ka9S6RtAwcqNiNYevXGPAmYrYbQyoYm2vJL+UEaQv9Uq6RtnmQzTGoug5yPOsws0811q2m/16Uko4Ad4FnZjbMN362ThuYBi6b2eusP7RUbeAcMFNzU265Ou2QMwS26uzPmsH8e/FPLJjfNWs1g61n6hWCRUmSSdqV42tJOl2FuhSYpKvAK+BRTsidNEzXRwoGnHR2Msd/0NnjowZbcTbvw+43zo9Rg9WuBqwBa8C2mhqwBmyrgvm/O60cv79W2DlqsN/OrhfErRYlylPRpUqebgPvgRc5/pvONzdMMH9yyr34MLNvwL0+/kVgsaC2zx+80gotZdkuDir/MxgPOUMQ3509LGkKeNtvZiXUBfYDp9x4JRZsDrgBHAUe19ky4AswG3IEuyBpL+lB4wywm3+vp6oqIT1LzgPnzWwpFPQXmWmH01EtJWMAAAAASUVORK5CYII=") no-repeat left center/38rpx 38rpx;
176 | font-size: 24rpx;
177 | color: #666;
178 | line-height: 44rpx;
179 | }
180 | .count .page{
181 | height:40rpx;
182 | padding: 0 0 0 47rpx;
183 | font-size: 24rpx;
184 | color: #999;
185 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAD5klEQVRYw+2XXYhVVRTHf/fcSUv7mj6oTGusLCeEQv5CUULoQKaUfWBYKfOWmSD10kPQQ1A9Dn2BVEJRKVE+SGAGUUahWK0JVMihaFIHY1CxGkxtvm4PZ+87izP33Lsn6M31svdea6///p9191nnfys4M7OrgNXAAqDKZDsC7JT0HU3MzOYBK4FOoNJgy8/ADkkHoqPikruBHuAyWtsmSU+XkHgOeBloS8B5SdILdSJmtgr4OCHR2+eS7iuQeD6QmIq9IWljxcxmAwPB+RewAdgPjABZ8NfCeDXwCnBHWK+StC2QWAj0Bv9RYD3wGzDmKl8L89nAm8C84F/eBjzp2D0jaUsT9gfNbDlwGLgIuB/YFmIr3L5uSV82wfnJzB4B9gViD2aOFcAXreoo6Q/g27C80YUujlVtQSLiHAD6w/KCDDjbKqmBjYax0Zt11syqiTinwjiWMfH7Q9pN9/vGnG/ckUslEnFqWWLC/25FIuOJebUG+f7NqCXi1M/LgOkuMJoIMFw43M8rkkYScWJONQPOuMCsRIDOMB5vQK7dzNoTcTpiZTJgqwu8ambnN8s0sxeB+WHZ60Lxu1EFNrdiYGabgQvD8mBs8VuBx4JzEPjUPaG324DFYX4a6JR0JGCcB+wBFOJ9wFc0vnd3A7eH+a/AIv/R6wUWJpb0b+AuSfsKTzktEJibiHMMWCDpeKUA9ATQDVxfkjgUqrVJ0omSkleBdcCjwDUlOCeAT4C3JJ3hnDWw4k8zi1yh3UrelMbdvjbgd+AzSXuagZrZzeQ/zQ3kn4EiziFgu6T9k4iYWQ+5FpmW8AC7gC5Jk94IM3sfWJtYiO2SHqoTMbMN5EIl2gB5l/XCqEbegCL5vcASf9nM7DVgo8M5HKpRFFgdbs8WSWsqZnYT8EtwHgNWS9pVUvI5wLvA0uBaJ+ntEFsMfBP8/eTq7ccSnPnAR+R9CeDxDHjK7VlfRgJA0oCkLiZa+z0uvNTNHy4jEXD6gGVMyIglGXCt27OXNIt/J3y/mRnGP4uNroTMIHlXBZheVGiVVgDBGsmA6BuegkKLZ4/+V4UWD/IKzZNLJVLfd06hFc/LAK8/hhMB/mlAJM6notBiTlsGnHSBWxIBFoXxqPPFxtZuZh2tAMxsJhNyYSQDPnTxHjO7rknyDDN7HZgTXLtd+IcwVoF3zOzyJjiXAu8BM6Irtvge4Fm391AJxiVA1KMngbmShtwBO8kbFeSv5mAJzpVM9B0D7vQfvQ+ANa1KGqwPWCGp3ztD/9gB3JuIsxtYJulUUQasBB4AriC/SMXbfxr4XlJPM3QzWwt0ueoVbQj4WlJdZP8L63FDgiqLXDsAAAAASUVORK5CYII=") no-repeat left center/34rpx 34rpx;
186 | line-height: 44rpx;
187 | }
188 | .count .error{
189 | height:40rpx;
190 | margin-right: 30rpx;
191 | padding-left: 50rpx;
192 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADzUlEQVRYw8WYXWhcRRTHf7kgYhkQxIeKEfOiRkOL1NJEjba1VvygaTFN8ZPADKUi6kMR1BcF8T1Kix/gzIMEQa1QW1/KpjVSPxDcxioiiNG0NKLdgEYnNZU28WHu3UyuN9m5d3ez/6fdc+fc89uZ2TNnThsFZKXqArYAm4HrgOuBS1LD/gF+BH4ARoGSMPrnvLHacoLtAJ6K4fJqHvgI2C+MPtpQQCvVZuAV4LYCYFkqAS8Io8t1A1qp9uFmrRl6WRj9UiFAK9Vq4DCwvklwiUpAnzB6NhjQStUBfAFc1WS4RN8Bdwijp2sCWqmuAL4HVq8QnA95szB6zjdGGQNLLYADWAN8nDYuArRSvQasawFcovusVHt9Q3WJrVS3AF+3EM7XNcLoM7B4Bk2g82zguCxdCBz3VvIhArBS3QusDXB8H7gW2Ar8mwOsgktXHcBIwPj7rVQ3VgGB5wMDPSKMPiuMHgFuJWw2zwLdwuiyMHoSkIGxngOI4py3MdCpL/kgjD4B9AAzy4z/LYb7xbNtD4y1y0olIuCBQAeAA1aqaqEgjD6JO5/PZYytAD3C6InEYKXaCewLjHUZcFeEK5lCFQEjVqpNHuS3QC+L9+QUsEEYfcqDexD4IEcsgC0RLkHm1SdWquq2EEaPsVDpzOOW1Z+5fuDDAnHWRsDVBRwBRlPLXcatRrdfmFqpBoADBWO0t1mp5gs6J9oa/6v/JyvVLuC9Ot49HdXhnKhkpdqWATdYJxzAqkYAzgJ/Ztj/aMC75+oFrAA3CaOPpx8Iow/hTo96jsaZCJgu6Pw7qSRspdpjpXrYgyzjTpyZAu8HqETA6QbBDQBvAu9aqe72IL/BpaAikKci4GTeX4U7Ifwk3I8rJBKV4ptgApkk8/M5Y41FQPAdlYWzdSIFl5Xnjlmp7kzN5O3A3zniHYlwZfbFQIftqWXdyfJJ+NPUTJaBwcBYU8DxSBg9BRwKdBr34AYIO1uP+XsSCG1/vCOMvtAWB1sH1LzlA58BLwKdwOuBgRINAr8CrwJdAePbhdGT/p3kCHBPzqDNkhFGK1h8J3mi1VSxZoFnki9VwHjzP9tqOuBxYXQ1Z2Z1Fg4SXpY3Wm8Io5/0DUv1Zr4CNqww3GFhdF/auFSx0ItrHq2UDmbBQY3+oJVqGHi0yXBDwui9Sz1cttwSRj8GPE19JdNSqgAPLQdXEzCG3A/cAAw3COwiMAR0CqNrVtx5m+hdwG6gH2jPCfYT7tx+Wxg9HuqUC9ADvRTX6e8BunE3wyuBy4E54C9cy2MS+BL4HBhNNydD9B9GSDnjSVkY2QAAAABJRU5ErkJggg==") no-repeat left center/40rpx 40rpx;
193 | font-size: 24rpx;
194 | color:#999;
195 | vertical-align: middle;
196 | line-height: 44rpx;
197 | }
198 | .count .success{
199 | height:40rpx;
200 | margin-right: 30rpx;
201 | padding-left: 50rpx;
202 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADNklEQVRYw82Zz0sWQRjHP272FwQdyi6RlkIOUVFpaUXqRSprkK5BRGkx1wg6Rl2nsoKkLl2KSZPwYoK/EzwkU1Codco6CHkvCzrsrr27777vu7u+vq/f07L7zM5nZp9n5plnK0ghaVU90AI0A7uAaqAyZPYHWAC+AGPAWyP0h6R9VSQE6wSuACfSDAwYAR4boV8WFVBa1QrcBg6kBAtrBrhlhB5aM6C06iFwtUhgYT0yQnelApRW7QAGgH3rBOdrFjhjhP4WG1BaVQNMAFvXGc7XEnDMCD1fEFBatR2wwJYSwfn6CdQboX9k3nQiDIfLAIfX53D4ZgBQWvUE2FMGOF+1HsOqVj+xtOoort9tBDUaod9BcAaflpsqQ8/8CwdAWnUad7sqld4DL4DfOZ7XSKvaVwGBGyWE6zNC7zdCXwCOA79y2N0EqJBWVQPzMV9eDLjzmTekVV+BnTnsqx2go0Rw/RFwLUBVnjYdlUBTCeAGjNDnQnCHgUFgc552zQ5Qt85w/UbosyG4Q8B4ATiAOof8UwzQBzQAl1PAvYqYuQZgKgYcQFVlAcPFDL+ZllbNAaPEyyP7jNAyBNeIuxnETZQ3OwUMAs+N0OPE89nXEQFxJCFcNkCEtoX3RiP0JPlT/gEjdGBlyPC5RHBxAAEuSavuhyBHgZMRtn05AmKC7ENVbMCVGHbXpFU9IcgR3J0gEy78WRuJHxBRWnGAxZjGXd75JBNyDOgEnueAmwQ2pYQDWKyQVr0B2hM06jFCX8tn4C3CU8RzoXwadLxRJlG3tOpeHjg/INYKBzDm4C7ESXVdWvUgAu6IN+C0PhdWv2OEXgCmUzTuzgwcaVWTB5cqWiM0bYT+4r/sLu4ZOKm6pFUC+I4bLMXUHQieSeaAmiJ3klbzRujdEHTki+WmimJZBfROUb3lJgN6/RMdRFcWPgG1ZYL7bIQO5KdRa9UpYLkMcMte3wFlAXq1kQbcgk6ptAQ0hOsykYAe5BxwELc0tt6aBQ56fWZpwxcwC+6X3gvacMu2xdIM0FYIDtIV0a8SzAOTaBQ3GzJxGyROwT3QvUAr/39D1JCd9/3FrVj4vyGGjNAfk/b1Dw7sAipN98OLAAAAAElFTkSuQmCC") no-repeat left center/40rpx 40rpx;
203 | font-size: 24rpx;
204 | color:#999;
205 | vertical-align: middle;
206 | line-height: 44rpx;
207 | }
208 | .clear { zoom:1; overflow:hidden!important; }
209 | .status-lists{
210 | max-height: 500rpx;
211 | padding: 0 0 24rpx;
212 | border-top: 1rpx solid #eaeaea;
213 | background: #fff;
214 | z-index: 100;
215 | overflow: auto;
216 | }
217 | .status-lists .status-list{
218 | float: left;
219 | width: 98rpx;
220 | height: 98rpx;
221 | margin: 24rpx 0 0 20rpx;
222 | border-radius: 50rpx;
223 | border: 1rpx solid #ccc;
224 | font-size: 30rpx;
225 | line-height: 98rpx;
226 | text-align: center;
227 | color: #ccc;
228 | }
229 | .status-lists .status-list.active{
230 | color:#999;
231 | border-color:#999;
232 | background: #f6f6f6;
233 | }
234 | .status-lists .status-list.error{
235 | color:#f46263;
236 | border-color:#f46263;
237 | }
238 | .status-lists .status-list.success{
239 | color:#54d16f;
240 | border-color:#54d16f;
241 | }
242 |
243 | .status-lists .status-list.error.active{
244 | color:#f46263;
245 | border-color:#f46263;
246 | background: #fff3f3;
247 | }
248 |
249 | .status-lists .status-list.success.active{
250 | color:#54d16f;
251 | border-color:#54d16f;
252 | background: #f7fff0;
253 | }
254 |
255 | /**swiper**/
256 | page{
257 | height:100%;
258 | }
259 | .swiper-lists{
260 | position: relative;
261 | width: 100%;
262 | min-height:100%;
263 | overflow-x: hidden;
264 | }
265 | .swiper-lists .swiper-list{
266 | position: absolute;
267 | width: 100%;
268 | height:100%;
269 | }
270 | .swiper-lists .swiper-list.prev{
271 | top: 0;
272 | transform: translate3d(-100%, 0 , 0px);
273 | -webkit-transform: translate3d(-100%, 0 , 0px);
274 | }
275 | .swiper-lists .swiper-list.next{
276 | top: 0;
277 | transform: translate3d(100%, 0 , 0px);
278 | -webkit-transform: translate3d(100%, 0 , 0px);
279 | }
--------------------------------------------------------------------------------
/pages/answer_info/info.js:
--------------------------------------------------------------------------------
1 | const https = require('../../public/js/douban.js');
2 |
3 | if(!Object.assign) {
4 | Object.assign = require('../../public/core/object-assign.js')
5 | }
6 | //index.js
7 | //获取应用实例
8 | var app = getApp();
9 | Page({
10 | data: {
11 | userType:'xuechetiku',
12 | mid:null,//模拟考ID
13 | isShowNewExam:true,//是否显示后台答案统计
14 | isNewExam:false,//是否使用后台答案。为true时必须isShowNewExam也为true
15 | isLoading:false,//加载
16 | swiper:{
17 | active:0
18 | },
19 | layerlayer:{
20 | isLayerShow:false,//默认弹窗
21 | layerAnimation:{},//弹窗动画
22 | },
23 | storeUrl:'weixin/small/1.0?m=SmallApp&c=weixin&a=collection',//收藏URL
24 | answerUrl:'weixin/small/1.0?m=SmallApp&c=weixin&a=submitAnswer',//提交答案URL
25 | answers:{
26 | isShowRemove:false,//是否显示移除按钮
27 | onLoadUrl:'weixin/small/1.0?m=SmallApp&c=weixin&a=questionID',//题目号链接
28 | start:0,//初始题号
29 | end:0,//结束题号
30 | allLists:[],//题号数据
31 | activeNum:0,//当前条数
32 | showActiveNum:0,//当前显示条数
33 | onceLoadLength:5,//一次向俩端加载条数
34 | url:'weixin/small/1.0?m=SmallApp&c=weixin&a=getQuestion',//题目详情链接
35 | isShowTip:false//默认是否显示提示
36 | }
37 | },
38 | //单选逻辑
39 | tapRadio:function(e){
40 | //判断是否为已答题
41 | if(this.data.answers.allLists[this.data.answers.activeNum].isNoFirst){
42 | return false;
43 | }
44 | var thisOption=e.currentTarget.dataset.option,
45 | list = this.data.answers.allLists[this.data.answers.activeNum].options.map(function(option,i){
46 | if(thisOption == option.tip){
47 | if(!option.isSelect){
48 | // option.isActive = true;
49 | option.isSelect = true;
50 | }else{
51 | // option.isActive = false;
52 | option.isSelect = false;
53 | }
54 | }
55 | return option
56 | });
57 | this.data.answers.allLists[this.data.answers.activeNum].options = list;
58 | this.tapSelect(e);
59 | },
60 | //多选逻辑
61 | tapCheckbox:function(e){
62 | //判断是否为已答题
63 | if(this.data.answers.allLists[this.data.answers.activeNum].isNoFirst){
64 | return false;
65 | }
66 | var thisOption=e.currentTarget.dataset.option,
67 | list = this.data.answers.allLists[this.data.answers.activeNum].options.map(function(option,i){
68 | if(thisOption == option.tip){
69 | if(!option.isSelect){
70 | // option.isActive = true;
71 | option.isSelect = true;
72 | }else{
73 | // option.isActive = false;
74 | option.isSelect = false;
75 | }
76 | }
77 | return option
78 | });
79 | this.data.answers.allLists[this.data.answers.activeNum].options = list;
80 | this.setSwiperList();
81 | this.setData(this.data);
82 | },
83 | //答案判断逻辑
84 | tapSelect:function(e){
85 | //判断是否为已答题
86 | if(this.data.answers.allLists[this.data.answers.activeNum].isNoFirst){
87 | return false;
88 | }
89 |
90 | var answered = 0,bool=true;
91 | this.data.answers.allLists[this.data.answers.activeNum].options.forEach(function(option,i){
92 | //解析答案数字编码
93 | if(option.isSelect){
94 | switch(option.tip){
95 | case 'A':
96 | answered = + 16;
97 | break;
98 | case 'B':
99 | answered = + 32;
100 | break;
101 | case 'C':
102 | answered = + 64;
103 | break;
104 | case 'D':
105 | answered = + 128;
106 | break;
107 | default:
108 | console.log('超出设定');
109 | }
110 | }
111 | if(option.isSelect && !option.correct){
112 | bool=false;
113 | }
114 | if(!option.isSelect && option.correct){
115 | bool=false;
116 | }
117 | });
118 | //存放本次答案数字编码
119 | this.data.answers.allLists[this.data.answers.activeNum].answered = answered;
120 |
121 | //改变题目状态为已答
122 | if(bool){
123 | //修正答案统计
124 | if(this.data.answers.allLists[this.data.answers.activeNum].isAnswer == 0){
125 | this.data.answers.success++;
126 | }
127 | //修正答案统计
128 | if(this.data.answers.allLists[this.data.answers.activeNum].isAnswer == 2){
129 | this.data.answers.success++;
130 | this.data.answers.error--;
131 | }
132 | //设置为对题
133 | this.data.answers.allLists[this.data.answers.activeNum].isAnswer = 1;
134 | }else{
135 | //修正答案统计
136 | if(this.data.answers.allLists[this.data.answers.activeNum].isAnswer == 0){
137 | this.data.answers.error++;
138 | }
139 | //修正答案统计
140 | if(this.data.answers.allLists[this.data.answers.activeNum].isAnswer == 1){
141 | this.data.answers.success--;
142 | this.data.answers.error++;
143 | }
144 | //设置为错题
145 | this.data.answers.allLists[this.data.answers.activeNum].isAnswer = 2;
146 | }
147 | //改变为已答题状态
148 | this.data.answers.allLists[this.data.answers.activeNum].isNoFirst = true;
149 | this.data.isShowTip = !bool;
150 | this.setSwiperList();
151 | this.setData(this.data);
152 | //延迟加载滑动
153 | if(this.data.answers.activeNum + 1 < this.data.answers.allLists.length){
154 | setTimeout(() => this.onSwiper('left'),200);
155 | }
156 | //传答案
157 | https.setAnswer(this.data.answerUrl,{
158 | questionID:this.data.answers.allLists[this.data.answers.activeNum].id,
159 | answer:this.data.answers.allLists[this.data.answers.activeNum].isAnswer,
160 | choose:this.data.answers.allLists[this.data.answers.activeNum].answered,
161 | subject:this.data.subject
162 | })
163 | },
164 | //页码切换列表效果
165 | pageClick:function(){
166 | var layerAnimation = wx.createAnimation({
167 | transformOrigin: "50% 50%",
168 | duration: 500,
169 | timingFunction: "ease",
170 | delay: 0
171 | });
172 | if(!this.data.layerlayer.isLayerShow){
173 | layerAnimation.translate3d(0,0,0).step();
174 | }else{
175 | layerAnimation.translate3d(0,'100%',0).step();
176 | }
177 | this.data.layerlayer.isLayerShow = !this.data.layerlayer.isLayerShow;
178 | this.data.layerlayer.layerAnimation = layerAnimation;
179 | this.setData(this.data);
180 | },
181 | //页码切换列表收缩
182 | layerFooterClick:function(){
183 | var layerAnimation = wx.createAnimation({
184 | transformOrigin: "50% 50%",
185 | duration: 500,
186 | timingFunction: "ease",
187 | delay: 0
188 | });
189 | layerAnimation.translate3d(0,'100%',0).step();
190 | this.data.layerlayer.isLayerShow = false;
191 | this.data.layerlayer.layerAnimation = layerAnimation;
192 | this.setData(this.data);
193 | },
194 | //移除错题逻辑
195 | setRemoveList:function(e){
196 | var isStore = 0 ;
197 | //传答案
198 | https.setAnswer(this.data.answerUrl,{
199 | questionID:this.data.answers.allLists[this.data.answers.activeNum].id,
200 | answer:1,//改变为对题
201 | choose:this.data.answers.allLists[this.data.answers.activeNum].correctAnswerNum,//改变为正确答案
202 | subject:this.data.subject
203 | }).then((data) =>{
204 | this.initAnswer(() => {
205 | if(this.data.answers.allLists.length < 1){
206 | wx.showModal({
207 | tip:'提示',
208 | content: '恭喜您已经没有错题了,即将返回首页' ,
209 | showCancel:false,
210 | confirmText:'知道了',
211 | success: function(res) {
212 | wx.navigateBack(1)
213 | }
214 | })
215 | }
216 | });
217 | })
218 | },
219 | //收藏逻辑
220 | collectList:function(){
221 | var isStore = 0 ;
222 | this.data.answers.allLists[this.data.answers.activeNum].isStore = !this.data.answers.allLists[this.data.answers.activeNum].isStore;
223 | this.setData( this.data);
224 | isStore = this.data.answers.allLists[this.data.answers.activeNum].isStore? 1 : 0 ;
225 | https.setStore(this.data.storeUrl,{
226 | userType:'xuechetiku',
227 | questionID:this.data.answers.allLists[this.data.answers.activeNum].id,
228 | collection:isStore,
229 | subject:this.data.subject
230 | }).then( data => {
231 | if(this.data.type == 'wdsc'){
232 | this.initAnswer(() => {
233 | if(this.data.answers.allLists.length < 1){
234 | wx.showModal({
235 | tip:'提示',
236 | content: '您已经没有收藏了,即将返回首页' ,
237 | showCancel:false,
238 | confirmText:'知道了',
239 | success: function(res) {
240 | wx.navigateBack(1)
241 | }
242 | })
243 | }
244 | });
245 | this.setData(this.data);
246 | }
247 | })
248 | .catch( e => {
249 | this.callBackError(e.message);
250 | });
251 | },
252 | //剔除当前选项操作
253 | initAnswer:function(callBack){
254 | this.data.isLoading = false;
255 | this.setData(this.data);
256 |
257 | var list = this.data.answers.allLists.splice(this.data.answers.activeNum,1)[0];
258 | //改变对题错题数字
259 | if(list.isAnswer == 1){
260 | this.data.answers.success--;
261 | }else if(list.isAnswer == 2){
262 | this.data.answers.error--;
263 | }
264 | //改变显示位置
265 | if(this.data.answers.activeNum > this.data.answers.allLists.length - 1){
266 | this.data.answers.activeNum = this.data.answers.allLists.length - 1;
267 | this.data.answers.showActiveNum = this.data.answers.allLists.length - 1;
268 | }
269 | if(this.data.answers.activeNum < 0 ){
270 | this.data.answers.activeNum = 0;
271 | this.data.answers.showActiveNum = 0;
272 | }
273 | //改变显示位置
274 |
275 | this.getSubject(callBack);
276 |
277 | },
278 | //题号变更逻辑
279 | setActiveNum:function(e){
280 | var thisOption=e.currentTarget.dataset.option - 0;
281 | this.data.answers.activeNum = thisOption;
282 | this.data.answers.showActiveNum = thisOption;
283 | this.data.isLoading = false;
284 | this.layerFooterClick();
285 | this.getSubject();
286 | },
287 | //swiper切换
288 | setEvent:function(e){
289 | this.data.swiper.touchstartEvent = e;
290 | return false;
291 | },
292 | //滑动结束
293 | touchEnd:function(e){
294 | this.onSwiper(this.getDirection(this.data.swiper.touchstartEvent,e));
295 | return false;
296 | },
297 | //swiper切换
298 | onSwiper:function(dire){
299 | var that = this,
300 | active = 0,
301 | storeSetTime,
302 | animationO = wx.createAnimation({
303 | transformOrigin: "50% 50%",
304 | duration: 200,
305 | timingFunction: "linear",
306 | delay: 0
307 | }),
308 | animationT = wx.createAnimation({
309 | transformOrigin: "50% 50%",
310 | duration: 200,
311 | timingFunction: "linear",
312 | delay: 0
313 | }),
314 | animationS = wx.createAnimation({
315 | transformOrigin: "50% 50%",
316 | duration: 200,
317 | timingFunction: "linear",
318 | delay: 0
319 | });
320 |
321 | if(!this.$isLock){//锁屏控制
322 |
323 | this.$isLock = true;
324 |
325 | if(dire == 'bottom' || dire == 'top' || !dire){
326 | this.$isLock = false;
327 | return false;
328 | }
329 |
330 | if(this.data.answers.activeNum >= this.data.answers.allLists.length - 1 && dire == 'left'){
331 | this.$isLock = false;
332 | return false;
333 | }
334 | if(this.data.answers.activeNum <= 0 && dire == 'right'){
335 | this.$isLock = false;
336 | return false;
337 | }
338 |
339 | if(dire == 'right'){
340 | animationO.translate3d('0',0,0).step();
341 | animationT.translate3d('100%',0,0).step();
342 | if(this.data.answers.activeNum > this.data.answers.start){
343 | active = - 1;
344 | }else{
345 | this.$isLock = false;
346 | return;
347 | }
348 | }
349 | if(dire == 'left'){
350 | animationT.translate3d('-100%',0,0).step();
351 | animationS.translate3d('0',0,0).step();
352 | if(this.data.answers.activeNum < this.data.answers.end){
353 | active = 1;
354 | }else{
355 | this.$isLock = false;
356 | return;
357 | }
358 | }
359 |
360 | this.data.swiper.animationO = animationO.export();
361 | this.data.swiper.animationT = animationT.export();
362 | this.data.swiper.animationS = animationS.export();
363 | this.data.answers.showActiveNum = this.data.answers.activeNum + active;
364 | this.setData(this.data);
365 | setTimeout(function(){
366 | that.setHtmlsetHtml(active);
367 | },200);
368 | }
369 | },
370 | //修改页面至正常位置
371 | setHtmlsetHtml:function(active){
372 | var animationO = wx.createAnimation({
373 | transformOrigin: "50% 50%",
374 | duration: 0,
375 | delay: 0
376 | }),
377 | animationT = wx.createAnimation({
378 | transformOrigin: "50% 50%",
379 | duration: 0,
380 | delay: 0
381 | }),
382 | animationS = wx.createAnimation({
383 | transformOrigin: "50% 50%",
384 | duration: 0,
385 | delay: 0
386 | });
387 | animationO.translate3d('-100%',0,0).step();
388 | animationT.translate3d('0',0,0).step();
389 | animationS.translate3d('100%',0,0).step();
390 | this.data.answers.activeNum = this.data.answers.activeNum + active;
391 | this.data.answers.showActiveNum = this.data.answers.activeNum;
392 | this.data.swiper.animationO = animationO;
393 | this.data.swiper.animationT = animationT;
394 | this.data.swiper.animationS = animationS;
395 | this.setSwiperList();
396 | this.setData(this.data);
397 | //调用加载数据方法
398 | if((this.data.answers.activeNum-this.data.answers.start == 2 && this.data.answers.start > 0) || (this.data.answers.activeNum+2 == this.data.answers.end && this.data.answers.end+1 < this.data.answers.allLists.length)){
399 | this.getSubject();
400 | }
401 | //调用滑动结束回调
402 | if(this.isLockCall && typeof this.isLockCall == 'function'){
403 | this.isLockCall();
404 | this.isLockCall = false;
405 | }
406 | this.$isLock = false;
407 | },
408 | //获得手势方向
409 | getDirection:function(startEvent,endEvent){
410 | var x = endEvent.changedTouches[0].clientX - startEvent.changedTouches[0].clientX,
411 | y = endEvent.changedTouches[0].clientY - startEvent.changedTouches[0].clientY,
412 | pi=360*Math.atan(y/x)/(2*Math.PI);
413 | if(pi<25 && pi>-25 && x>0 && Math.abs(x) > 10){
414 | return 'right';
415 | }
416 | if(pi<25 && pi>-25 && x<0 && Math.abs(x) > 10){
417 | return 'left';
418 | }
419 | if((pi<-75 || pi>750) && y>0 && Math.abs(y) > 10){
420 | return 'bottom';
421 | }
422 | if((pi<-75 || pi>75) && y<0 && Math.abs(y) > 10){
423 | return 'top';
424 | }
425 | },
426 | //切换题目逻辑
427 | getSubject:function(callBack){
428 | var that=this,start = this.data.answers.activeNum - this.data.answers.onceLoadLength,end = this.data.answers.activeNum + this.data.answers.onceLoadLength,params;
429 | start = start > 0 ? start : 0 ;
430 | end = end+1 >= this.data.answers.allLists.length ? this.data.answers.allLists.length : end ;
431 | //存放下次展示allallList数据
432 | params = this.data.answers.allLists.slice(start,end+1);
433 | //存放展示allallList数据ID
434 | params = params.map(function(data){
435 | //后台需要int型
436 | return data.id-0
437 | });
438 | https.find(this.data.answers.url,{questionID:params,subject:this.data.subject},{
439 | isNewExam:this.data.isShowNewExam && this.data.isNewExam
440 | })
441 | .then(d => {
442 | //注册滑动结束回调
443 | if(this.$isLock){
444 | this.isLockCall = ((d) => {
445 | typeof callBack == 'function' && callBack();
446 | return this.callBackGetSubject(d,start,end);
447 | })(d)
448 | }else{
449 | typeof callBack == 'function' && callBack();
450 | this.callBackGetSubject(d,start,end);
451 | }
452 | })
453 | .catch(e => {
454 | this.callBackError(e.message);
455 | })
456 | },
457 | //详情数据加载的回调
458 | callBackGetSubject:function(d,start,end){
459 | var bool = true;
460 | d.data.forEach((data,i) => {
461 | if(!!this.data.answers.allLists[start+ i] && this.data.answers.allLists[start+ i].id == data.id){
462 | this.data.answers.allLists[start+ i] = Object.assign({},data,this.data.answers.allLists[start + i]);
463 | }else{
464 | bool = false;
465 | }
466 | })
467 | if(!bool){
468 | this.getSubject();
469 | return false;
470 | }
471 | this.data.answers.list = d.data;
472 | this.data.isLoading = true;
473 | this.data.answers.list = d.data;
474 | this.data.answers.start = start;
475 | this.data.answers.end = end;
476 | this.setSwiperList();
477 | this.setData(this.data);
478 | },
479 | setSwiperList(){
480 | var oldStar = this.data.answers.activeNum-1,
481 | oldEnd = this.data.answers.activeNum+1,
482 | star = oldStar >= 0 ? oldStar : 0 ,
483 | end = oldEnd <= this.data.answers.allLists.length ? oldEnd : this.data.answers.allLists.length;
484 | this.data.swiper.list = this.data.answers.allLists.slice(star,end+1);
485 |
486 | if(oldStar < 0 ){
487 | this.data.swiper.list.unshift({});
488 | }
489 | if(oldEnd > this.data.answers.allLists.length){
490 | this.data.swiper.list.push({});
491 | }
492 | },
493 | //错误的回调
494 | callBackError:function(e){
495 | wx.showModal({
496 | title: '错误',
497 | content: '错误提示是:'+ e ,
498 | showCancel:false,
499 | confirmText:'确认关闭',
500 | success: function(res) {
501 | // if (res.confirm) {
502 | // console.log('用户点击确定')
503 | // }
504 | }
505 | })
506 | },
507 | onLoad (params) {
508 | this.data.subject = params.subject;//科目类别
509 | this.data.type = params.type;//科目类别
510 | this.data.mid = params.mid || null;//模拟考ID
511 | if(params.type == 'wdct' || params.type == 'wdsc'){//判断题型分析是否引用后台答案
512 | this.data.isShowNewExam = true;
513 | this.data.isNewExam = true;
514 | }else if(params.type == 'sjlx'){
515 | this.data.isShowNewExam = false;
516 | }
517 | https.initialize(this.data.answers.onLoadUrl,{
518 | subject:params.subject,
519 | type:params.type,
520 | chapterID:params.chapterID || null,
521 | mnksRecordID:this.data.mid
522 | },{
523 | isNewExam:this.data.isShowNewExam && this.data.isNewExam,
524 | isShowNewExam:this.data.isShowNewExam
525 | })
526 | .then(d => {
527 | if(params.type != 'wdct' && params.type != 'wdsc'){//判断题型分析是否改变初始位置
528 | this.data.answers.activeNum = d.activeNum || 0;
529 | this.data.answers.showActiveNum = d.activeNum || 0;
530 | }
531 | if(params.type == 'wdct'){
532 | this.data.answers.isShowRemove = true;
533 | }
534 | this.data.answers.allLists = d.data;
535 | this.data.answers.success = d.success;
536 | this.data.answers.error = d.error;
537 | this.data.answers.loading = false;
538 | this.setData(this.data);
539 | this.getSubject();
540 | })
541 | .catch(e => {
542 | this.callBackError(e.message);
543 | // this.setData({ subtitle: '获取数据异常', movies: [], loading: false })
544 | // console.error(e)
545 | });
546 | },
547 | onUnload(){//页面卸载
548 |
549 | }
550 | });
--------------------------------------------------------------------------------
/pages/answer_info/info.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "练习",
3 | "enablePullDownRefresh":false
4 | }
--------------------------------------------------------------------------------
/pages/answer_info/info.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
34 |
35 |
36 |
37 | 加载中...
38 |
39 |
40 |
41 |
42 |
43 |
44 | 暂无数据
45 |
46 |
--------------------------------------------------------------------------------
/pages/answer_info/info.wxss:
--------------------------------------------------------------------------------
1 | /*引入answer_info的css文件*/
2 | @import "../answer_common/movie-list.wxss";
--------------------------------------------------------------------------------
/pages/answer_mark/mark.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | var app = getApp();
4 |
5 | Page({
6 | data: {
7 | subject:'kemu1',//题目类型
8 | score:'100',//得分
9 | passScore:90,//及格分数
10 | error:0,//模拟考错题数
11 | mid:null,//模拟考ID
12 | grades:'',//等级
13 | minutes:'45',
14 | seconds:'00'
15 | },
16 | gotoWDCT(){
17 | if(this.data.error > 0){
18 | wx.redirectTo({
19 | url: `../../pages/answer_info/info?subject=${this.data.subject}&type=wdct&mid=${this.data.mid}`
20 | })
21 | }else{
22 | wx.showModal({
23 | title:'提示',
24 | content: '恭喜您,暂无错题。即将返回首页!',
25 | showCancel:false,
26 | confirmText:'知道了',
27 | confirmColor:'#00bcd5',
28 | success: function(res) {
29 | wx.redirectTo({
30 | url: `../../pages/index/index`
31 | })
32 | }
33 | })
34 | }
35 | },
36 | onLoad (params) {
37 | var time = params.time,
38 | minutes = Math.floor(time/60),
39 | seconds = time%60,
40 | grades = params.mark;
41 | this.data.minutes =minutes > 9 ? minutes: '0' + minutes;
42 | this.data.seconds = seconds > 9 ? seconds: '0' + seconds;
43 | this.data.subject = params.subject;
44 | this.data.score = grades;
45 | this.data.mid = params.mid;
46 | this.data.error = params.error;
47 | if(grades >= this.data.passScore){
48 | this.data.grades = 'active';
49 | }
50 | var that = this;
51 |
52 | app.getUserInfo(function(){
53 | that.data.hasUserInfo = true;
54 | that.data.userInfo = app.globalData.userInfo;
55 | that.setData(that.data)
56 | })
57 | },
58 | onShareAppMessage: function () {
59 | return {
60 | title: `我在“学车题库”题做得到${this.data.score}分,等你来挑战.....`,
61 | desc: '2017年考驾照最新学车题库,90%学员都在使用',
62 | path: '/pages/answer_mark/mark'
63 | }
64 | }
65 | });
--------------------------------------------------------------------------------
/pages/answer_mark/mark.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "考试成绩",
3 | "enablePullDownRefresh":false
4 | }
--------------------------------------------------------------------------------
/pages/answer_mark/mark.wxml:
--------------------------------------------------------------------------------
1 |
11 | 经学车啦鉴定,送您称号
12 |
13 |
14 |
15 |
16 |
17 | 重新考试
18 | 错题回顾
19 |
--------------------------------------------------------------------------------
/pages/answer_mark/mark.wxss:
--------------------------------------------------------------------------------
1 | /*考试结果*/
2 | page{
3 | background: #fff;
4 | text-align: center;
5 | }
6 | .score-header {
7 | position: relative;
8 | display: inline-block;
9 | margin: 71rpx 0 0 6rpx;
10 | padding: 0 0 80rpx 140rpx;
11 | font-size: 28rpx;
12 | text-align: left;
13 | }
14 | .score-header .score-name {
15 | padding: 1rpx 0 15rpx 0;
16 | }
17 | .score-header .score-toux {
18 | position: absolute;
19 | left: 0;
20 | width: 110rpx;
21 | height: 110rpx;
22 | border-radius: 55rpx;
23 | background: #c8d9a5;
24 | overflow: hidden;
25 | }
26 | .score-header .score-toux image {
27 | width: 100%;
28 | height: 100%;
29 | }
30 | .score-header .score-info {
31 | font-size: 24rpx;
32 | }
33 | .score-header .score-info .red {
34 | display: inline;
35 | color: #f33;
36 | }
37 | .score-header .score-info .score-num,.score-header .score-info .score-time{
38 | display: inline;
39 | }
40 | .score-header .score-time {
41 | padding-left: 20rpx;
42 | }
43 | .score-chao-tip {
44 | padding: 7rpx 0 0;
45 | font-size: 24rpx;
46 | text-align: center;
47 | }
48 | .score-chao-box {
49 | position: relative;
50 | width: 750rpx;
51 | height: 638rpx;
52 | background: url(http://imagecdn.xuechela.com/mnks/weixin/images/exam-results-bg.jpg) no-repeat center bottom;
53 | background-size: 750rpx 454rpx;
54 | }
55 | .score-chao-box .score-chao {
56 | position: absolute;
57 | left: 50%;
58 | -webkit-transform: translate3d(-50%, 0, 0px);
59 | transform: translate3d(-50%, 0, 0px);
60 | top:25rpx;
61 | width: 539rpx;
62 | height: 121rpx;
63 | margin-left: 8rpx;
64 | background: url(http://imagecdn.xuechela.com/mnks/weixin/images/exam-results-ssz.png) no-repeat;
65 | background-size: 539rpx auto;
66 | }
67 | .score-chao-box .score-img {
68 | position: absolute;
69 | width: 421rpx;
70 | height: 280rpx;
71 | left: 165rpx;
72 | top: 294rpx;
73 | background: url(http://imagecdn.xuechela.com/mnks/weixin/images/exam-results-ss.png) no-repeat;
74 | background-size: 421rpx 280rpx;
75 | }
76 | .score-chao-box.active .score-chao {
77 | background: url(http://imagecdn.xuechela.com/mnks/weixin/images/exam-results-csz.png) no-repeat;
78 | background-size: 539rpx auto;
79 | }
80 | .score-chao-box.active .score-img {
81 | background: url(http://imagecdn.xuechela.com/mnks/weixin/images/exam-results-cs.png) no-repeat;
82 | background-size: 421rpx 280rpx;
83 | }
84 | .score-fx {
85 | padding: 40rpx 0;
86 | font-size: 28rpx;
87 | text-align: center;
88 | vertical-align: middle;
89 | }
90 | .score-fx view {
91 | margin-right: 13rpx;
92 | vertical-align: middle;
93 | }
94 | .score-fx .iconfont {
95 | margin-left: 10rpx;
96 | vertical-align: middle;
97 | }
98 | .score-operation {
99 | padding: 40rpx 0;
100 | border-top: 1px solid #f6f6f6;
101 | text-align: center;
102 | }
103 | .score-operation .score-operation-btn {
104 | display: inline-block;
105 | width: 230rpx;
106 | height: 60rpx;
107 | margin: 0 47rpx;
108 | border-radius: 30rpx;
109 | background: #0ae;
110 | line-height: 60rpx;
111 | font-size: 26rpx;
112 | color: #fff;
113 | text-align: center;
114 | }
115 |
--------------------------------------------------------------------------------
/pages/answer_simulate_info/simulate_info.js:
--------------------------------------------------------------------------------
1 | const https = require('../../public/js/douban.js');
2 |
3 | if(!Object.assign) {
4 | Object.assign = require('../../public/core/object-assign.js')
5 | }
6 | //index.js
7 | //获取应用实例
8 | var app = getApp();
9 | Page({
10 | params:{
11 |
12 | },
13 | data: {
14 | hourLong:45*60,//答题时长,单位秒
15 | time:'45:00',//答题时长,单位秒
16 | maxError:10,//最大错题数
17 | userType:'xuechetiku',
18 | isShowNewExam:false,//是否显示后台答案统计
19 | isNewExam:false,//是否使用后台答案。为true时必须isShowNewExam也为true
20 | isLoading:false,//加载
21 | swiper:{
22 | active:0
23 | },
24 | layerlayer:{
25 | isLayerShow:false,//默认弹窗
26 | layerAnimation:{},//弹窗动画
27 | },
28 | answerUrl:'weixin/small/1.0?m=SmallApp&c=weixin&a=mnksHandPaper',//交卷URL
29 | answers:{
30 | onLoadUrl:'weixin/small/1.0?m=SmallApp&c=weixin&a=questionID',//题目号链接
31 | start:0,//初始题号
32 | end:0,//结束题号
33 | allLists:[],//题号数据
34 | activeNum:0,//当前条数
35 | showActiveNum:0,//当前显示条数
36 | onceLoadLength:5,//一次向俩端加载条数
37 | url:'weixin/small/1.0?m=SmallApp&c=weixin&a=getQuestion',//题目详情链接
38 | isShowTip:false//默认是否显示提示
39 | }
40 | },
41 | //单选逻辑
42 | tapRadio:function(e){
43 | //判断是否为已答题
44 | if(this.data.answers.allLists[this.data.answers.activeNum].isNoFirst){
45 | return false;
46 | }
47 | var thisOption=e.currentTarget.dataset.option,
48 | list = this.data.answers.allLists[this.data.answers.activeNum].options.map(function(option,i){
49 | if(thisOption == option.tip){
50 | if(!option.isSelect){
51 | // option.isActive = true;
52 | option.isSelect = true;
53 | }else{
54 | // option.isActive = false;
55 | option.isSelect = false;
56 | }
57 | }
58 | return option
59 | });
60 | this.data.answers.allLists[this.data.answers.activeNum].options = list;
61 | this.tapSelect(e);
62 | },
63 | //多选逻辑
64 | tapCheckbox:function(e){
65 | //判断是否为已答题
66 | if(this.data.answers.allLists[this.data.answers.activeNum].isNoFirst){
67 | return false;
68 | }
69 | var thisOption=e.currentTarget.dataset.option,
70 | list = this.data.answers.allLists[this.data.answers.activeNum].options.map(function(option,i){
71 | if(thisOption == option.tip){
72 | if(!option.isSelect){
73 | // option.isActive = true;
74 | option.isSelect = true;
75 | }else{
76 | // option.isActive = false;
77 | option.isSelect = false;
78 | }
79 | }
80 | return option
81 | });
82 | this.data.answers.allLists[this.data.answers.activeNum].options = list;
83 | this.setSwiperList();
84 | this.setData(this.data);
85 | },
86 | //答案判断逻辑
87 | tapSelect:function(e){
88 | //判断是否为已答题
89 | if(this.data.answers.allLists[this.data.answers.activeNum].isNoFirst){
90 | return false;
91 | }
92 |
93 | var answered = 0,bool=true,that=this;
94 | this.data.answers.allLists[this.data.answers.activeNum].options.forEach(function(option,i){
95 | //解析答案数字编码
96 | if(option.isSelect){
97 | switch(option.tip){
98 | case 'A':
99 | answered = + 16;
100 | break;
101 | case 'B':
102 | answered = + 32;
103 | break;
104 | case 'C':
105 | answered = + 64;
106 | break;
107 | case 'D':
108 | answered = + 128;
109 | break;
110 | default:
111 | console.log('超出设定');
112 | }
113 | }
114 | if(option.isSelect && !option.correct){
115 | bool=false;
116 | }
117 | if(!option.isSelect && option.correct){
118 | bool=false;
119 | }
120 | });
121 | //存放本次答案数字编码
122 | this.data.answers.allLists[this.data.answers.activeNum].answered = answered;
123 |
124 | //改变题目状态为已答
125 | if(bool){
126 | //修正答案统计
127 | if(this.data.answers.allLists[this.data.answers.activeNum].isAnswer == 0){
128 | this.data.answers.success++;
129 | }
130 | //修正答案统计
131 | if(this.data.answers.allLists[this.data.answers.activeNum].isAnswer == 2){
132 | this.data.answers.success++;
133 | this.data.answers.error--;
134 | }
135 | //设置为对题
136 | this.data.answers.allLists[this.data.answers.activeNum].isAnswer = 1;
137 | }else{
138 | //修正答案统计
139 | if(this.data.answers.allLists[this.data.answers.activeNum].isAnswer == 0){
140 | this.data.answers.error++;
141 | }
142 | //修正答案统计
143 | if(this.data.answers.allLists[this.data.answers.activeNum].isAnswer == 1){
144 | this.data.answers.success--;
145 | this.data.answers.error++;
146 | }
147 | //设置为错题
148 | this.data.answers.allLists[this.data.answers.activeNum].isAnswer = 2;
149 | }
150 | //改变为已答题状态
151 | this.data.answers.allLists[this.data.answers.activeNum].isNoFirst = true;
152 | this.data.isShowTip = !bool;
153 | this.setSwiperList();
154 | this.setData(this.data);
155 | if(this.data.maxError+1 == this.data.answers.error){
156 | wx.showModal({
157 | title:'提示',
158 | content: `您已答错了${this.data.answers.error}题,成绩不合格,是否继续答题?` ,
159 | showCancel:true,
160 | cancelText:'继续答题',
161 | cancelColor:'#00bcd5',
162 | confirmText:'交卷',
163 | confirmColor:'#00bcd5',
164 | success: function(res) {
165 | if (res.confirm) {
166 | that.setSubmit();
167 | }else{
168 | if(that.data.answers.activeNum + 1 < that.data.answers.allLists.length){
169 | setTimeout(() => that.onSwiper('left'),200);
170 | }
171 | }
172 | }
173 | });
174 | }else if(that.data.answers.activeNum + 1 < that.data.answers.allLists.length){
175 | setTimeout(() => that.onSwiper('left'),200);
176 | }
177 | if(this.data.answers.activeNum + 1 == that.data.answers.allLists.length){
178 | this.submitTip();
179 | }
180 | },
181 | //页码切换列表效果
182 | pageClick:function(){
183 | var layerAnimation = wx.createAnimation({
184 | transformOrigin: "50% 50%",
185 | duration: 500,
186 | timingFunction: "ease",
187 | delay: 0
188 | });
189 | if(!this.data.layerlayer.isLayerShow){
190 | layerAnimation.translate3d(0,0,0).step();
191 | }else{
192 | layerAnimation.translate3d(0,'100%',0).step();
193 | }
194 | this.data.layerlayer.isLayerShow = !this.data.layerlayer.isLayerShow;
195 | this.data.layerlayer.layerAnimation = layerAnimation;
196 | this.setData(this.data);
197 | },
198 | //页码切换列表收缩
199 | layerFooterClick:function(){
200 | var layerAnimation = wx.createAnimation({
201 | transformOrigin: "50% 50%",
202 | duration: 500,
203 | timingFunction: "ease",
204 | delay: 0
205 | });
206 | layerAnimation.translate3d(0,'100%',0).step();
207 | this.data.layerlayer.isLayerShow = false;
208 | this.data.layerlayer.layerAnimation = layerAnimation;
209 | this.setData(this.data);
210 | },
211 | //题号变更逻辑
212 | setActiveNum:function(e){
213 | var thisOption=e.currentTarget.dataset.option - 0;
214 | this.data.answers.activeNum = thisOption;
215 | this.data.answers.showActiveNum = thisOption;
216 | this.data.isLoading = false;
217 | this.layerFooterClick();
218 | this.getSubject();
219 | },
220 | //swiper切换
221 | setEvent:function(e){
222 | this.data.swiper.touchstartEvent = e;
223 | return false;
224 | },
225 | //滑动结束
226 | touchEnd:function(e){
227 | this.onSwiper(this.getDirection(this.data.swiper.touchstartEvent,e));
228 | return false;
229 | },
230 | //swiper切换
231 | onSwiper:function(dire){
232 | var that = this,
233 | active = 0,
234 | storeSetTime,
235 | animationO = wx.createAnimation({
236 | transformOrigin: "50% 50%",
237 | duration: 200,
238 | timingFunction: "linear",
239 | delay: 0
240 | }),
241 | animationT = wx.createAnimation({
242 | transformOrigin: "50% 50%",
243 | duration: 200,
244 | timingFunction: "linear",
245 | delay: 0
246 | }),
247 | animationS = wx.createAnimation({
248 | transformOrigin: "50% 50%",
249 | duration: 200,
250 | timingFunction: "linear",
251 | delay: 0
252 | });
253 |
254 | if(!this.$isLock){//锁屏控制
255 |
256 | this.$isLock = true;
257 |
258 | if(dire == 'bottom' || dire == 'top' || !dire){
259 | this.$isLock = false;
260 | return false;
261 | }
262 |
263 | if(this.data.answers.activeNum >= this.data.answers.allLists.length - 1 && dire == 'left'){
264 | this.$isLock = false;
265 | return false;
266 | }
267 |
268 | if(this.data.answers.activeNum <= 0 && dire == 'right'){
269 | this.$isLock = false;
270 | return false;
271 | }
272 |
273 | if(dire == 'right'){
274 | animationO.translate3d('0',0,0).step();
275 | animationT.translate3d('100%',0,0).step();
276 | if(this.data.answers.activeNum > this.data.answers.start){
277 | active = - 1;
278 | }else{
279 | this.$isLock = false;
280 | return;
281 | }
282 | }
283 | if(dire == 'left'){
284 | animationT.translate3d('-100%',0,0).step();
285 | animationS.translate3d('0',0,0).step();
286 | if(this.data.answers.activeNum < this.data.answers.end){
287 | active = 1;
288 | }else{
289 | this.$isLock = false;
290 | return;
291 | }
292 | }
293 | this.data.swiper.animationO = animationO.export();
294 | this.data.swiper.animationT = animationT.export();
295 | this.data.swiper.animationS = animationS.export();
296 | this.data.answers.showActiveNum = this.data.answers.activeNum + active;
297 |
298 | this.setData(this.data);
299 |
300 | setTimeout(function(){
301 | that.setHtmlsetHtml(active);
302 | },200);
303 | }
304 | },
305 | //修改页面至正常位置
306 | setHtmlsetHtml:function(active){
307 | var animationO = wx.createAnimation({
308 | transformOrigin: "50% 50%",
309 | duration: 0,
310 | delay: 0
311 | }),
312 | animationT = wx.createAnimation({
313 | transformOrigin: "50% 50%",
314 | duration: 0,
315 | delay: 0
316 | }),
317 | animationS = wx.createAnimation({
318 | transformOrigin: "50% 50%",
319 | duration: 0,
320 | delay: 0
321 | });
322 | animationO.translate3d('-100%',0,0).step();
323 | animationT.translate3d('0',0,0).step();
324 | animationS.translate3d('100%',0,0).step();
325 | this.data.swiper.active = this.data.swiper.active + active;
326 | this.data.answers.activeNum = this.data.answers.activeNum + active;
327 | this.data.answers.showActiveNum = this.data.answers.activeNum;
328 | this.data.swiper.animationO = animationO;
329 | this.data.swiper.animationT = animationT;
330 | this.data.swiper.animationS = animationS;
331 | this.setSwiperList();
332 | this.setData(this.data);
333 | //调用加载数据方法
334 | if( (this.data.swiper.active == 2 && this.data.answers.start > 0) || (this.data.swiper.active+2 == this.data.answers.list.length && this.data.answers.end+1 < this.data.answers.allLists.length)){
335 | this.getSubject();
336 | }
337 | //调用滑动结束回调
338 | if(this.isLockCall && typeof this.isLockCall == 'function'){
339 | this.isLockCall();
340 | this.isLockCall = false;
341 | }
342 | this.$isLock = false;
343 | },
344 | //获得手势方向
345 | getDirection:function(startEvent,endEvent){
346 | var x = endEvent.changedTouches[0].clientX - startEvent.changedTouches[0].clientX,
347 | y = endEvent.changedTouches[0].clientY - startEvent.changedTouches[0].clientY,
348 | pi=360*Math.atan(y/x)/(2*Math.PI);
349 | if(pi<25 && pi>-25 && x>0 && Math.abs(x) > 10){
350 | return 'right';
351 | }
352 | if(pi<25 && pi>-25 && x<0 && Math.abs(x) > 10){
353 | return 'left';
354 | }
355 | if((pi<-75 || pi>750) && y>0 && Math.abs(y) > 10){
356 | return 'bottom';
357 | }
358 | if((pi<-75 || pi>75) && y<0 && Math.abs(y) > 10){
359 | return 'top';
360 | }
361 | },
362 | //切换题目逻辑
363 | getSubject:function(callBack){
364 | var that=this,start = this.data.answers.activeNum - this.data.answers.onceLoadLength,end = this.data.answers.activeNum + this.data.answers.onceLoadLength,params;
365 | start = start > 0 ? start : 0 ;
366 | end = end+1 >= this.data.answers.allLists.length ? this.data.answers.allLists.length : end ;
367 | //存放下次展示allallList数据
368 | params = this.data.answers.allLists.slice(start,end+1);
369 | //存放展示allallList数据ID
370 | params = params.map(function(data){
371 | //后台需要int型
372 | return data.id-0
373 | });
374 | https.find(this.data.answers.url,{questionID:params,subject:this.data.subject},{
375 | isNewExam:this.data.isShowNewExam && this.data.isNewExam
376 | })
377 | .then(d => {
378 | //注册滑动结束回调
379 | if(this.$isLock){
380 | this.isLockCall = ((d) => {
381 | return this.callBackGetSubject(d,start,end);
382 | })(d)
383 | }else{
384 | this.callBackGetSubject(d,start,end);
385 | }
386 | if(typeof callBack == 'function'){
387 | callBack();
388 | }
389 | })
390 | .catch(e => {
391 | this.callBackError(e.message);
392 | })
393 | },
394 | //详情数据加载的回调
395 | callBackGetSubject:function(d,start,end){
396 | d.data.forEach((data,i) => {
397 | this.data.answers.allLists[start+ i] = Object.assign({},data,this.data.answers.allLists[start + i]);
398 | })
399 | this.data.answers.list = d.data;
400 | this.data.isLoading = true;
401 | this.data.answers.list = d.data;
402 | this.data.answers.start = start;
403 | this.data.answers.end = end;
404 | this.data.swiper.active = this.data.answers.activeNum-this.data.answers.start;
405 | this.setSwiperList();
406 | this.setData(this.data);
407 | },
408 | //错误的回调
409 | callBackError:function(e){
410 | wx.showModal({
411 | title: '错误',
412 | content: '错误提示是:'+ e ,
413 | showCancel:false,
414 | confirmText:'确认关闭',
415 | success: function(res) {
416 | // if (res.confirm) {
417 | // console.log('用户点击确定')
418 | // }
419 | }
420 | })
421 | },
422 | //交卷
423 | submitTip:function(){
424 | const that = this;
425 | if(this.data.answers.allLists.length > this.data.answers.error + this.data.answers.success){
426 | wx.showModal({
427 | title:'提示',
428 | content: `您已经回答了${this.data.answers.error + this.data.answers.success}题,还有${this.data.answers.allLists.length - this.data.answers.error - this.data.answers.success}题未答,确定要交卷吗?` ,
429 | showCancel:true,
430 | cancelText:'继续答题',
431 | cancelColor:'#00bcd5',
432 | confirmText:'交卷',
433 | confirmColor:'#00bcd5',
434 | success: function(res) {
435 | if (res.confirm) {
436 | that.setSubmit();
437 | }
438 | }
439 | });
440 | }else{
441 | wx.showModal({
442 | title:'提示',
443 | content: '已经是最后一道题了了,交卷后可立即查看成绩',
444 | showCancel:false,
445 | confirmText:'知道了',
446 | confirmColor:'#00bcd5',
447 | success: function(res) {
448 | that.setSubmit();
449 | }
450 | })
451 | }
452 | },
453 | //提交函数
454 | setSubmit:function(){
455 | var record = this.data.answers.allLists.map((option,i) => {
456 | return {
457 | id:option.id,
458 | answer:option.isAnswer,
459 | choose:option.answered || 0
460 | };
461 | });
462 | https.setExamInfo(this.data.answerUrl,{
463 | subject:this.data.subject,
464 | type:this.data.type,record,
465 | subject:this.data.subject,
466 | useTime:this.params.seconds,
467 | city:app.globalData.getLocation
468 | },{}
469 | )
470 | .then((data) =>{
471 | if(data.data.status == 1){
472 | wx.redirectTo({
473 | url: `../../pages/answer_mark/mark?subject=${this.data.subject}&type=${this.data.type}&time=${this.params.seconds}&mark=${data.data.data.score}&mid=${data.data.data.mid}&error=${this.data.answers.error}`
474 | })
475 | }
476 | })
477 | },
478 | //计时
479 | setTime:function(){
480 | let that = this,seconds = Math.floor((new Date().getTime() - this.data.startTime)/1000),minutes = 0;
481 | this.params.seconds = seconds;
482 | if(seconds >= this.data.hourLong){
483 | this.params.seconds = this.data.hourLong;
484 | this.data.time = '00:00';
485 | this.setData(this.data);
486 | wx.showModal({
487 | title:'提示',
488 | content: '考试时间已到,交卷后可立即查看成绩',
489 | showCancel:false,
490 | confirmText:'知道了',
491 | confirmColor:'#00bcd5',
492 | success: function(res) {
493 | that.setSubmit();
494 | }
495 | })
496 | }else{
497 | seconds = this.data.hourLong - seconds;
498 | minutes = Math.floor(seconds/60);
499 | seconds = seconds%60;
500 | this.data.time = `${minutes > 9 ? minutes: '0' + minutes}:${seconds > 9 ? seconds: '0' + seconds}`;
501 | this.setData(this.data);
502 | this.swiperTime = setTimeout(()=>{
503 | this.setTime();
504 | },1000);
505 | }
506 |
507 | },
508 | setSwiperList(){
509 | var oldStar = this.data.answers.activeNum-1,
510 | oldEnd = this.data.answers.activeNum+1,
511 | star = oldStar >= 0 ? oldStar : 0 ,
512 | end = oldEnd <= this.data.answers.allLists.length ? oldEnd : this.data.answers.allLists.length;
513 | this.data.swiper.list = this.data.answers.allLists.slice(star,end+1);
514 |
515 | if(oldStar < 0 ){
516 | this.data.swiper.list.unshift({});
517 | }
518 | if(oldEnd > this.data.answers.allLists.length){
519 | this.data.swiper.list.push({});
520 | }
521 | },
522 | onLoad (params) {
523 | var that = this;
524 | this.data.subject = params.subject;
525 | this.data.type = params.type;
526 | if(params.subject == 'kemu3'){
527 | this.data.maxError = 5;
528 | }
529 | https.initialize(this.data.answers.onLoadUrl,{subject:params.subject,type:params.type},{
530 | isNewExam:this.data.isShowNewExam && this.data.isNewExam,
531 | isShowNewExam:this.data.isShowNewExam
532 | })
533 | .then(d => {
534 | this.data.answers.allLists = d.data;
535 | this.data.answers.success = d.success;
536 | this.data.answers.error = d.error;
537 | this.data.answers.loading = false;
538 | this.setData(this.data);
539 | this.getSubject(() => {
540 | this.data.startTime = new Date().getTime();
541 | this.setTime();
542 | });
543 | })
544 | .catch(e => {
545 | this.callBackError(e.message);
546 | // this.setData({ subtitle: '获取数据异常', movies: [], loading: false })
547 | // console.error(e)
548 | });
549 | },
550 | onHide(){
551 | clearInterval(this.swiperTime);
552 | },
553 | onUnload(){//页面卸载
554 | clearInterval(this.swiperTime);
555 | }
556 | });
--------------------------------------------------------------------------------
/pages/answer_simulate_info/simulate_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "模拟考试",
3 | "enablePullDownRefresh":false
4 | }
--------------------------------------------------------------------------------
/pages/answer_simulate_info/simulate_info.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
32 |
33 |
34 |
35 |
36 | 加载中...
37 |
38 |
39 |
--------------------------------------------------------------------------------
/pages/answer_simulate_info/simulate_info.wxss:
--------------------------------------------------------------------------------
1 | /*引入answer_info的css文件*/
2 | @import "../answer_common/movie-list.wxss";
3 | .count .submit{
4 | float: left;
5 | height: 40rpx;
6 | padding-left: 48rpx;
7 | background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAmCAYAAAClI5npAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAB+klEQVRYw+3YsW7TUBQG4M9ugkBCYmBgYQI6Gd7CgMgDsCIEElAJGGGER6ALIMoD0IUJEJLfgQG8FJhYAImBkYQmDL4mRcROY7uZ8i+Rr+3z/+c/J9dXJ1Iiyy/jOs5gjIluESHGJ2xJk+1ykSzfxO2OCedhU5rcjWT5AK/C4lO8DQ7EHROWMS/gZlgb9HAvXDyWJhtLyPylLB9jA/djrIcbW0sgL/E8/K7HGIWLQ0sUUHKNYkVtoP/PI1kedUb3f6ySa9yrea0vy5/gmOZ/yQg/FU03nPVAb87LVzvy4FbVjToBYwwU9WrjwNC0zAsISJMR3nTkQCWqBWR5HDIYS5NmDhTNF2MiTWa6UN+EvMcJWd6mBN9wDr8WFQAncaQh+d5EKlEn4DdOhSzaODAJsRYUkCa7+Noy+7moa8IezmKtpQO7+CBNZrpQV4I1vOso0cMqylAnYIIMx1uS/1DjYH0Tpsn5TvIv9pSZqD71VGwcjVATq64J+7ii2AdmWRjhO7Yb75TqSxDj2T6ye9HGnHlN+BBHaxz4Isujg3EgTYZ40Ca7/aDro/dKwErASkAjAaWIUZtAC6LkimPTM9uwYbAmKLn6MT6Gi2tLFFBy7USy/BJeh4VlDCgu4kZYG5Qjmke4s0QH+DuiKTEdUp1WfP0OYkgV4bM9Q6o/oYd766BUmX4AAAAASUVORK5CYII=')no-repeat left center/32rpx 38rpx;
8 | line-height: 44rpx;
9 | color: #00bcd5;
10 | }
11 | .count .time{
12 | float: left;
13 | height: 40rpx;
14 | padding-left: 48rpx;
15 | margin-left: 40rpx;
16 | background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAEvklEQVRYw72Ya4hVVRTHf1dNKo2mooePHpraOBoa89ecCDXJSiNLQ8UgFEFLR5PsQ1hGZSVBlFE5pVEKfQiicnoaVIj5GCeXimlZ6qSVOpaajU4kitWHvY9u95x777yu68vea++11vmddc5+ZkgRM2sPLANOAGMlnaCVxcxeBq4H7pe0L+5vk+JQAmwFRgJ3A48XAGoCMAsYBmw1s5tim3aRQymwCjjPN70AvJPjAf2Ba4FOQJF/0TqgFtgFbJR0MsV1JfAYMB+4CFhjZvdK+jAxyEQP2Ri0nWEY2N0ATABGAz3yJGcP8DHwvqQVKbHKgE+AS3zTaEmVp8DM7GrgB+B84AgwTNKGKMiNwKMeKJYdwG7gP6ALUAy0jWy+BhZI+iyK2wVYC1zlmwZLWpWA1QDdfUc/Sd9Fzs/51CeyD1gCrAC2xT+vmV0O9ASGAhOjzFZIKo/sLwV+BC4GjgNdM2a2HLjD24yRtCxy+ggY5dU/gHnA4qaMVDMbDzwNXOeb1gO3Szoc2PTBDTqALRkzq8SNvkWSHowCrgJu9uq7wDRJdSkPbgcsxA2AKZKOZAF8CXjYq7uA0ghuKrAI2NRG0j3AU8CcKMjnAdQ8SfelQXnpBkwFxgEDs2VO0mxgeuCzNupfDDwBDMmkBTCzZ4C5AdSTeT5Vb9zgARgu6as89pNw/yjAe5LGxzZpE2zfAKoyH5SXk1nq2TK3FHjeq+PMbHBeMGCBL4/iPk1BRNIcYKdX38oJ5j/JrV59pBBrZCQTfdnDzEbkytgUX/4l6c0CQyFpLbDJqzNTwcysLZD8hK8VGiqQF305wk/MDTLWF+js61+cRbDVQf3UVBOCFQf17WeLStIvwO9e7ZkGlmRrp6QDLXjWn83w2e3LXmlgHROwZgRuH9R7NcM/WZaSHcYZYMkqkHeCTJFa4G9fX2Jmg5ro/2/ME4LV+7JbU6kkHQKGeLUDUJW2Xc4hRb7cmwa235e9zezCZsBt4PSiD267XNpI9+QT/pQGtsOXGfJvmbPBrQHKgqbVZtYvl4+ZXQF09WpNGthm4KCv39YcMA+3DhgEHAPOdc+2shwu4SevbgAm6TiQHD5m0gKRVM3pybId0D+H+SxffiNpT1rG4PQq38nMRtECkbQFEDBZ0utpNmZWDCRbnjfCvkyK8bfAAKBWUmcKKGZWhfvsByRdFval7cdmB1l7tYBQ0z0UwANxfwMwSauBCq/OMLNpBYAaiTu8AHwZn8yyZQx/7kv2SRVmNrmVoZJD70HcCa2BtMkRYzDB1tfM5rcCVHkAVQ+USfonzTaTJ9AFwFJgjG/aCMyVtLyJQAOBZ4HhvmklbrT+nM0n04igQ3FXAaGswx1Mq4Ht8Y2OmWWAa3CrwKQAKJFySRXkkHwZuwv4ADgHt1z8CtwSmdXi7jIOeb0Idy11ZWRXhZtsB3h9lqRXmgxmZncCn3p1P1Ai6bCZjcGdDcY2JuPActw11Ns+7vdAie97SFLqlJTtJB5C1QF9JO2NbLrilpqeuMu77rjB9Btul1ADbI7/IzPrgLtU6e2bZkhaGDOkzfzFwLYASpKas6vNKmbW0cMl54yBktaHNmnTxTHc4aCmEFC4oPW4f81wc9nR2OZ/5mGpo9o/EroAAAAASUVORK5CYII=')no-repeat left center/38rpx 38rpx;
17 | line-height: 44rpx;
18 | color: #999;
19 | }
--------------------------------------------------------------------------------
/pages/answer_simulate_tip/simulate_tip.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | var app = getApp();
4 |
5 | Page({
6 | data: {
7 | subject:'kemu1',//题目类型
8 | type:'mnks'//题目类型
9 | },
10 | onLoad (params) {
11 | var that = this;
12 | this.data.subject = params.subject;
13 | this.data.type = params.type;
14 | app.getUserInfo(function(){
15 | that.data.hasUserInfo = true;
16 | that.data.userInfo = app.globalData.userInfo;
17 | that.setData(that.data)
18 | })
19 | }
20 | });
--------------------------------------------------------------------------------
/pages/answer_simulate_tip/simulate_tip.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "模拟考试",
3 | "enablePullDownRefresh":false
4 | }
--------------------------------------------------------------------------------
/pages/answer_simulate_tip/simulate_tip.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{userInfo.nickName}}
6 |
7 | 考试数量:100题
8 | 考试时间:45分钟
9 | 合格标准:满分100分,90分及格
10 | 出题规则:按公安规定比例随机抽取
11 |
12 | 开始考试
--------------------------------------------------------------------------------
/pages/answer_simulate_tip/simulate_tip.wxss:
--------------------------------------------------------------------------------
1 | page{
2 | background: #fff;
3 | }
4 | .simulate-tx{
5 | width: 180rpx;
6 | height: 180rpx;
7 | margin:82rpx auto 0;
8 | border: 10rpx solid #edf2f2;
9 | border-radius: 100rpx;
10 | overflow: hidden;
11 | }
12 | .simulate-tx image{
13 | width: 100%;
14 | height:100%;
15 | }
16 | .simulate-name{
17 | padding: 16rpx 0 38rpx;
18 | font-size: 40rpx;
19 | text-align: center;
20 | }
21 | .simulate-info{
22 | width: 632rpx;
23 | margin: auto;
24 | padding: 33rpx 28rpx;
25 | border: 1rpx solid #e3e5e5;
26 | border-radius: 10rpx;
27 | background: #f2f5f5;
28 | font-size: 28rpx;
29 | color: #666;
30 | line-height: 48rpx;
31 | }
32 | .simulate-btn{
33 | width: 690rpx;
34 | height: 88rpx;
35 | margin:30rpx auto 0;
36 | background: #fed835;
37 | border-radius: 10rpx;
38 | font-size: 36rpx;
39 | color: #3d3d3c;
40 | text-align: center;
41 | line-height: 88rpx;
42 | }
--------------------------------------------------------------------------------
/pages/common/movie-list.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{item.tip}} {{item.content}}
8 |
9 |
10 |
11 |
12 |
13 | {{item.tip}} {{item.content}}
14 |
15 |
16 |
17 | {{item.tip}} {{item.content}}
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | {{item.tip}} {{item.content}}
32 |
33 |
34 |
35 |
36 |
37 | {{item.tip}} {{item.content}}
38 |
39 |
40 |
41 | {{item.tip}} {{item.content}}
42 |
43 |
44 |
45 |
46 |
47 |
48 | 确定
49 |
50 |
51 |
52 |
53 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 | 试题详解
89 | {{itemList.tip}}
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 | {{index+1}}
98 | {{index+1}}
99 | {{index+1}}
100 |
101 |
102 |
103 |
104 |
105 |
115 |
116 |
--------------------------------------------------------------------------------
/pages/custom-swiper/index.js:
--------------------------------------------------------------------------------
1 | const https = require('../../public/js/douban.js')
2 |
3 | //index.js
4 | //获取应用实例
5 | var app = getApp()
6 | Page({
7 | data: {
8 | onLoadUrl:'?m=Exam&c=Server&a=getQuestionID',
9 | active:0
10 | },
11 | onLoad (params) {
12 | https.initialize(this.data.onLoadUrl,{page:params.id,'option_type':2})
13 | .then(d => {
14 | this.data.lists = d.data;
15 | this.setData(this.data);
16 | })
17 | .catch(e => {
18 | // this.setData({ subtitle: '获取数据异常', movies: [], loading: false })
19 | // console.error(e)
20 | })
21 | },
22 | setEvent:function(e){
23 | this.data.touchstartEvent = e;
24 | },
25 | click:function(e){
26 | var that = this,
27 | active = this.data.active,
28 | dire = this.getDirection(this.data.touchstartEvent,e),
29 | storeSetTime,
30 | animationO = wx.createAnimation({
31 | transformOrigin: "50% 50%",
32 | duration: 1000,
33 | timingFunction: "ease",
34 | delay: 0
35 | }),
36 | animationT = wx.createAnimation({
37 | transformOrigin: "50% 50%",
38 | duration: 1000,
39 | timingFunction: "ease",
40 | delay: 0
41 | }),
42 | animationS = wx.createAnimation({
43 | transformOrigin: "50% 50%",
44 | duration: 1000,
45 | timingFunction: "ease",
46 | delay: 0
47 | });
48 | if(!this.$isLock){//锁屏控制
49 | this.$isLock = true;
50 | if(dire == 'bottom' || dire == 'top'){
51 | return false;
52 | }
53 | if(dire == 'right'){
54 | animationO.translate3d('0',0,0).step();
55 | animationT.translate3d('100%',0,0).step();
56 | if(this.data.active > 0){
57 | active = this.data.active - 1;
58 | }else{
59 | this.$isLock = false;
60 | return;
61 | }
62 | }
63 | if(dire == 'left'){
64 | animationT.translate3d('-100%',0,0).step();
65 | animationS.translate3d('0',0,0).step();
66 | active = this.data.active + 1;
67 | if(this.data.active < 9 ){
68 | active = this.data.active + 1;
69 | }else{
70 | this.$isLock = false;
71 | return;
72 | }
73 | }
74 | this.setData({
75 | animationO:animationO.export(),
76 | animationT:animationT.export(),
77 | animationS:animationS.export(),
78 | lists:this.data.lists,
79 | active:this.data.active
80 | });
81 | setTimeout(function(){
82 | that.setHtmlsetHtml(active);
83 | },1000);
84 | }
85 | },
86 | //修改页面至正常位置
87 | setHtmlsetHtml:function(active){
88 | var animationO = wx.createAnimation({
89 | transformOrigin: "50% 50%",
90 | duration: 0,
91 | timingFunction: "ease",
92 | delay: 0
93 | }),
94 | animationT = wx.createAnimation({
95 | transformOrigin: "50% 50%",
96 | duration: 0,
97 | timingFunction: "ease",
98 | delay: 0
99 | }),
100 | animationS = wx.createAnimation({
101 | transformOrigin: "50% 50%",
102 | duration: 0,
103 | timingFunction: "ease",
104 | delay: 0
105 | });
106 | animationO.translate3d('-100%',0,0).step();
107 | animationT.translate3d('0',0,0).step();
108 | animationS.translate3d('100%',0,0).step();
109 | this.setData({
110 | lists:this.data.lists,
111 | animationO,
112 | animationT,
113 | animationS,
114 | active
115 | });
116 | this.$isLock = false;
117 | },
118 | //获得手势方向
119 | getDirection:function(startEvent,endEvent){
120 | var x = endEvent.changedTouches[0].clientX - startEvent.changedTouches[0].clientX,
121 | y = endEvent.changedTouches[0].clientY - startEvent.changedTouches[0].clientY,
122 | pi=360*Math.atan(y/x)/(2*Math.PI);
123 | if(pi<30 && pi>-30 && x>0 && Math.abs(x) > 20){
124 | return 'right';
125 | }
126 | if(pi<30 && pi>-30 && x<0 && Math.abs(x) > 20){
127 | return 'left';
128 | }
129 | if((pi<-60 || pi>60) && y>0 && Math.abs(y) > 20){
130 | return 'bottom';
131 | }
132 | if((pi<-60 || pi>60) && y<0 && Math.abs(y) > 20){
133 | return 'top';
134 | }
135 | }
136 | })
--------------------------------------------------------------------------------
/pages/custom-swiper/index.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/custom-swiper/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{item}}
4 | {{item}}
5 | {{item}}
6 |
7 |
--------------------------------------------------------------------------------
/pages/custom-swiper/index.wxss:
--------------------------------------------------------------------------------
1 | /**index.wxss**/
2 | .swiper-lists{
3 | position: relative;
4 | width: 100%;
5 | height:300rpx;
6 | background: #eee;
7 | overflow: hidden;
8 | }
9 | .swiper-lists .swiper-list{
10 | position: absolute;
11 | width: 100%;
12 | height:100%;
13 | }
14 | .swiper-lists .swiper-list.prev{
15 | top: 0;
16 | transform: translate3d(-100%, 0 , 0px);
17 | }
18 | .swiper-lists .swiper-list.next{
19 | top: 0;
20 | transform: translate3d(100%, 0 , 0px);
21 | }
--------------------------------------------------------------------------------
/pages/index/index.js:
--------------------------------------------------------------------------------
1 | //app.js
2 | const https = require('../../public/js/douban.js');
3 |
4 | if(!Object.assign) {
5 | Object.assign = require('public/core/object-assign.js')
6 | }
7 |
8 | //index.js
9 | //获取应用实例
10 | var app = getApp();
11 | Page({
12 | data: {
13 | swiper:{
14 | imgUrls:[
15 | 'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
16 | 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
17 | 'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
18 | ],
19 | indicatorDots: true,
20 | autoplay: true,
21 | interval: 5000,
22 | duration: 1000
23 | },
24 | examInlets:[{
25 | subjectHeader:'科目一题库',
26 | subject:'kemu1',//题目类型
27 | titleTota:1311,//题目总数
28 | highest:0,//题目总数
29 | collection:0,//收藏题数
30 | answerError:0,//答错题数
31 | },
32 | {
33 | subjectHeader:'科目四题库',
34 | subject:'kemu3',//题目类型
35 | titleTota:1311,//题目总数
36 | highest:0,//题目总数
37 | collection:0,//收藏题数
38 | answerError:0,//答错题数
39 | }
40 | ]
41 | },
42 | tapInletsMk(e){
43 | var subject = e.currentTarget.dataset.urlparem;
44 | // if(!app.globalData.hasLogin){
45 | // wx.showModal({
46 | // title:'提示',
47 | // content: '您未登录,无法看到收藏',
48 | // showCancel:true,
49 | // cancelText:'知道了',
50 | // cancelColor:'#00bcd5',
51 | // confirmText:'去登录',
52 | // confirmColor:'#00bcd5',
53 | // success: function(res) {
54 |
55 | // }
56 | // })
57 | // }else{
58 | wx.navigateTo({
59 | url: `../../pages/answer_simulate_tip/simulate_tip?subject=${subject}&type=mnks`
60 | })
61 | // }
62 | },
63 | tapInletsSC:function(e){
64 | var that = this,
65 | subject = e.currentTarget.dataset.urlparem,
66 | collection = e.currentTarget.dataset.collection - 0;
67 | if(!!collection){
68 | wx.navigateTo({
69 | url: `../../pages/answer_info/info?subject=${subject}&type=wdsc`
70 | })
71 | }else{
72 | if(!app.globalData.hasLogin){
73 | wx.showModal({
74 | title:'提示',
75 | content: '您未登录,无法看到收藏',
76 | showCancel:true,
77 | cancelText:'知道了',
78 | cancelColor:'#00bcd5',
79 | confirmText:'去登录',
80 | confirmColor:'#00bcd5',
81 | success: function(res) {
82 |
83 | }
84 | })
85 | }else{
86 | wx.showModal({
87 | title:'提示',
88 | content: '未发现您的收藏',
89 | showCancel:false,
90 | confirmText:'知道了',
91 | confirmColor:'#00bcd5',
92 | success: function(res) {
93 |
94 | }
95 | })
96 | }
97 | }
98 | },
99 | tapInletsCT:function(e){
100 | var subject = e.currentTarget.dataset.urlparem,
101 | answerError = e.currentTarget.dataset.answererror - 0;
102 | if(!!answerError){
103 | wx.navigateTo({
104 | url: `../../pages/answer_info/info?subject=${subject}&type=wdct`
105 | })
106 | }else{
107 | if(!app.globalData.hasLogin){
108 | wx.showModal({
109 | title:'提示',
110 | content: '您未登录,无法看到错题',
111 | showCancel:true,
112 | cancelText:'知道了',
113 | cancelColor:'#00bcd5',
114 | confirmText:'去登录',
115 | confirmColor:'#00bcd5',
116 | success: function(res) {
117 |
118 | }
119 | })
120 | }else{
121 | wx.showModal({
122 | title:'提示',
123 | content: '恭喜您,暂无错题。',
124 | showCancel:false,
125 | confirmText:'知道了',
126 | confirmColor:'#00bcd5',
127 | success: function(res) {
128 |
129 | }
130 | })
131 | }
132 | }
133 | },
134 | onLoad(){
135 | var that= this;
136 | app.getUserInfo(function(){
137 | https.index('weixin/small/1.0?m=SmallApp&c=weixin&a=homepage').then((data) =>{
138 | if(data.data.status == 1){
139 | that.data.examInlets = data.data.data.examInlets
140 | that.data.swiper.imgUrls = data.data.data.imgUrls;
141 | that.setData(that.data);
142 | }
143 | })
144 | });
145 | },
146 | onShow(){
147 | this.onLoad();
148 | }
149 | });
--------------------------------------------------------------------------------
/pages/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "学车题库",
3 | "enablePullDownRefresh":true
4 | }
--------------------------------------------------------------------------------
/pages/index/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | {{item.subjectHeader}}
11 | 共{{item.titleTota}}题
12 |
13 |
14 |
15 | 模拟考试
16 | 最高成绩: {{item.highest}}分
17 |
18 |
19 | 收藏
20 | ({{item.collection}})
21 |
22 |
23 | 答错
24 | ({{item.answerError}})
25 |
26 |
27 |
28 |
29 | 专项练习
30 |
31 |
32 |
33 | 章节练习
34 |
35 |
36 |
37 | 随机练习
38 |
39 |
40 |
41 | 顺序练习
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/pages/index/index.wxss:
--------------------------------------------------------------------------------
1 | /**index.wxss**/
2 | .index-banner image{
3 | width: 100%;
4 | min-height: 300rpx;
5 | }
6 | .index-exam-h1{
7 | padding: 26rpx 30rpx 16rpx;
8 | background: #fff;
9 | border-bottom: 1px solid #eeeeeb;
10 | font-size: 34rpx;
11 | }
12 | .index-exam-h1 .index-exam-span{
13 | display: inline-block;
14 | font-size:26rpx;
15 | color:#a9a9a9;
16 | }
17 | .index-exam-inlets{
18 | margin-bottom: 10rpx;
19 | background: #fff;
20 | }
21 | .index-exam-inlets .index-exam-inlets-mk{
22 | position: relative;
23 | height: 180rpx;
24 | padding: 48rpx 0 0 175rpx;
25 | border-right: 1px solid #eeeeeb;
26 | border-bottom: 1px solid #eeeeeb;
27 | font-size: 30rpx;
28 | color:#666;
29 | }
30 | .index-exam-inlets .index-exam-inlets-mk:after{
31 | position: absolute;
32 | left: 46rpx;
33 | top: 50%;
34 | transform: translate3d(0, -50%, 0px);
35 | -webkit-transform: translate3d(0, -50%, 0px);
36 | width: 110rpx;
37 | height: 110rpx;
38 | content: '';
39 | border-radius: 55rpx;
40 | background: #24c5d9 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAxCAYAAAB3aZEhAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADRElEQVRo3u2aS4wMURSGv9PdxnPEmCAixMKKnYitxEJs7MZKmIiFhNiIkHhFBBskghAShEwyKxsrZiHBgnhsGI/BToJ4JtorDL9FVZvqO9X10F2qezJ/0unKuadu/19X3XtP3y6TtBDoAoqAaB0VgHfAUTP7DlACrgGT8nZWhyYBuyt0rQwCMKdyUALKQDvwHliDd+nG5O2whgT8BlYCm/1YeahV+iRP1/N2mphImqUhHavEC4GcZr0aYeoMCwZhLG+HKVSMg2l5jcI0q0q1GiR1AEfwJgb54HvMbMDJKwDjgMEM/BXwpuKfZhZbnZQi2trx1p2gzgEDTqwLOAn8yACm6Pe7EHhTD8yg/wrmfA3JmwNMzQAkqLFJkkoxbW77hJC8p8BDvNuh0TLgF/CtXpiPwE6gzTdaBJ4M+zSzS8ClDEBSqyaMmZWB/XkbTKMRNTWPwjSrRmGaVVHlTCfQg7dgVabmTWbW7+SNByZn7POtmcWuY1HrzERguRObCfQ7sS7gbIYgv4C5wOt6YMLKmbCVeEZMP/WqRMJfwY0oZ+4DVzOE+Q18qRfmA7DF/1YqY+aRm2RmfUBfhjCJFVXOfAYO522wlr3AcWHYQYspuKExpdVhHgN38DYuz/+NBjYBb+XtMK0kVW0tt+qVAf6O65EB4yqqnJkN9FI9c3Sb2XMnrwNvHyDJz+Yi8NLMYjcn/km1xoykBRquxSHnr1M67Wuw/xWSrkhaH7Vo/gyJhW0nTUn5+dMbCLIKrxgGWBYFE1YPtYXEbgMXfdCojTrDq8AvZwAC0BMF8wLo9k3If382zKHZDeBGIwymAFlLdaXea2arW26dkbTBGYOng40tAyNpowNyyk3IDUZSm6QT/mw0LyZ3qwNyPCwpT5glAXOfJc2vkbfNATlYq8M8YaZJehIw+UXSAidnuwNyKKrDXMeMpHZJDxyg+X7bAQdkb1xnFZibecD4Htok3Q2YfiXpjAOyK0lHTfEcgKSSpHs1SqAdSfowSZ8YekJjtf/eqN0Ww6vMH5vZuyRAwE1gUSC81cwOxp1b6eB/qOwO7JgrNJD41nJOLv8noKUpPM2UV7Kkuw009LxZiWz+yisA/WZ2IYO+q/QHyj5ZTsxFdR0AAAAASUVORK5CYII=') no-repeat center/51rpx 49rpx;
41 | }
42 | .index-exam-inlets .index-exam-inlets-mk .small{
43 | padding: 17rpx 0 0;
44 | font-size: 22rpx;
45 | color: #999;
46 | }
47 | .index-exam-inlets .index-exam-inlets-sc,.index-exam-inlets .index-exam-inlets-ct{
48 | position: relative;
49 | height: 90rpx;
50 | padding: 0 0 0 160rpx;
51 | border-bottom: 1px solid #eeeeeb;
52 | font-size: 22rpx;
53 | color: #999;
54 | line-height: 90rpx;
55 | }
56 | .index-exam-inlets .index-exam-inlets-sc view,.index-exam-inlets .index-exam-inlets-ct view{
57 | display: inline-block;
58 | }
59 | .index-exam-inlets .index-exam-inlets-sc:after,.index-exam-inlets .index-exam-inlets-ct:after{
60 | position: absolute;
61 | left: 103rpx;
62 | top: 50%;
63 | content: '';
64 | transform: translate3d(0, -50%, 0px);
65 | -webkit-transform: translate3d(0, -50%, 0px);
66 | }
67 | .index-exam-inlets .index-exam-inlets-sc:after{
68 | width: 40rpx;
69 | height: 38rpx;
70 | background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAmCAYAAAC29NkdAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAACxElEQVRYw82YS0hVQRjHf9evghalaQ+kqKCS6W2PITXK3JQRaEWEFrTThAp6GG2CIGppizAoXLTrQYvAVhK0aNNjWiQVDLYIKlqUmblo1VSLc4zr4zyu99x7/MPh3DPff775cZjzzdzJkJCc1fuAK8B7oEWU+ZNE3hkJwc0GHgIzgWrgLXA5idwlSSQB2ny4UXU6qxPJnRTgmXHPc4CWaQHorN4LLJ8kdG5aAAIXAto3O6s3pQrorK4C6kMsZ1MFJPjtjarVWT0vFUBndRlwLMImQEcqgP7AceroqbQAT8f0VTqrm4oK6Kw+BCzKocv5qQJmAgAqgAqgFFgALMy6lwIH/XguegJ8AgaBIeAL8BX4BgwDg6LMjwmAzuo2oAGY7w9aBpT792JqyL9GgO+ABW5nnNV/iwySiz4ntRYXSn0lwMm0KQL0FGjPADirW4E7aRNl6YEocxj8MiPK3AXq8L6qtNU9Cvcf0Id8hrcb7k8R7pIoM2blmVAHndWzgPvA/iLDtYsyPeMbM0FuZ3UXCWyXYqpJlHk0WSAT1stZfQLoLiDYELBHlHkVZAitg6LMDaARb4lKWv3A1jC4SEAfsg/vL2XSui7KfIgyxV1J6mP6clFDHFMkoLN6GbCxAIA1iQACOwsAB7DSWb00CcDaAgECbEkCsK6AgNV5ATqrFwMbCgio8wIEdhFRzLP0GNgGtOJt4+NofdQhUxRgnA9kADgqyuwWZV6KMveAKqArRt8lwIp8ALeHxH4BF4G1osyYvaQoMyzKdOJNj96IMUJLWCCgs7oSWBMQvgWsFmWuijK/g3KIMm9EmWagGXgXYAs9YAp7gweYOP/6gBpRpkOU+UhMiTK9osw6vCO5kXHhHVMF/Jn1ewA4Iso0ijIv4oJNAnoNWAXczGouD+sTtd06DswFekSZ4amCBeSuxZt/z0WZ10G+f389qRuBr4ozAAAAAElFTkSuQmCC') no-repeat center/40rpx 38rpx;
71 | }
72 | .index-exam-inlets .index-exam-inlets-ct:after{
73 | width: 40rpx;
74 | height: 38rpx;
75 | background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADzUlEQVRYw8WYX4hVRRzHP3sgohAawgejlXzR1CUJDXcrS82USlqldWXKiYUiiqgeJKheCsR3FSUNxAcZYioD//Qid7UN+0Pg1VQkiCyNNsq70GyxuYru9jDnXGePZ/fOOffevd+ne39nfuf3uTNzf/ObXxsFZKXqAFYBK4G5wDzgttSwK8BPwI/AAFASRv+SN1ZbTrD1wBsxXF6NA4eAXcLoYw0FtFKtBLYCjxQAy1IJeE8YXa4b0Eq1EzdrzdAWYfQHhQCtVLOAI8BDTYJLVAK6hdGjwYBWqjnAt8A9TYZLdA54TBg9XBPQSnU3cB6YNU1wPuSDwugx3xhlDCy1AA7gAeCLtHECoJVqB7C4BXCJnrZSbfYN1SW2Ui0BTrYQztdsYfTvMHEG9wU6jwaOy9L1wHEfJR8iACvVU8CiAMdPgfuA1cC1HGAVXLqaA/QHjH/GSrWgCgi8GxjoBWH0ZWF0P/AwYbN5GegURpeF0YPAS4Gx3gGI4py3PNCpO/kgjD4FdAEjU4z/M4b71bOtC4y10Uo1IwLWBjoAHLBSVQsFYfQZ3Pn8X8bYCtAljL6YGKxUG4CdgbHuAJ6IcCVTqCKg30q1woM8Cyxj4p4cApYKoy95cM8Bn+WIBbAqwiXIvPrSSlXdFsLo09ysdMZxy+rPXA/weYE4iyLg3gKOAAOp5S7jVqPTL0ytVL3AgYIx2tusVOMFnROtjv/Vt8hKtRH4pI53D0d1OCcqWamezYDrqxMO4M5GAI4CNsP+dwPePVYvYAVYKIw+kX4gjD6MOz3qORpHImC4oPNfpJKwlepVK9XzHmQZd+KMFHg/QCUCfmsQXC+wB/jYSvWkB/kDLgUVgbwUAWfy/ircCeEn4R5cIZGoFN8EE8gkmV/NGet0BATfUbl5tl5MwWXlueNWqsdTM/ko8G+OeEcjXJl9I9BhXWpZNzB1Ev4qNZNloC8w1hBwIhJGDwGHA50ueHC9hJ2tx/09CYS2P/YLo6+3xcEWAzVv+cDXwPvAfODDwECJ+oA/gO1AR8D4dmH0oH8nOQqsyRm0WdonjH4ZJt5JXms1VaxR4K3kSxUw3vxvt5oOeFEYXc2ZWZ2Fg4SX5Y3WbmH0675hst7M98DSaYY7IozuThsnKxaW4ZpH06WDWXBQoz9opdLApibDbRNGb57s4ZTlljBaAW9SX8k0mSqAnAquJmAMuQu4H9ANArsBbAPmC6NrVtx5m+gdwCtAD9CeE+xn3Lm9Vxh9IdQpF6AHejuu098FdOJuhjOBu4Ax4B9cy2MQ+A74BhhINydD9D+taTphIl3q3AAAAABJRU5ErkJggg==') no-repeat center/40rpx 38rpx;
76 | }
77 | .index-exam-inlets-list{
78 | height: 110rpx;
79 | padding:24rpx 0 0 0;
80 | border-right: 1px solid #eeeeeb;
81 | text-align: center;
82 | font-size: 22rpx;
83 | color: #999;
84 | }
85 | .index-exam-inlets-list .text{
86 | padding: 4rpx 0 16rpx;
87 | }
88 | .index-exam-inlets-list .icon-index-zx{
89 | display: inline-block;
90 | width: 32rpx;
91 | height: 29rpx;
92 | background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAdCAYAAADLnm6HAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAB/0lEQVRIx+3XTYiNURgH8N+de4nxsVMjmuysiCglJRspIdmR5OugrKwpNmRhISU9GyXGQsqCNEWTptko2YyPjc1EMRubmcVgZizuuXnd7h3X3Jss7n/znI/nPM//POec3v9bUkBK6Sk2RkSfBkgpbcES/NAeKpiIiJeVlNIKnMBm7MJ4k+R3cajNxPUxByrow6XMSjMC+NLJ5BlfSwU2vZjE54hY2YRxP8qYbjNxGdMRMVYpDH7PttRsVUSMdboEPYX24mxnO51kLlRadcwv4GBe08oRlLLvCO5FRMONNSKwsEnAW9gwj02exgNM/YlA7ewXNQl0Dmew3K/7MhfK+IbBbBuiSGACW5sxjYghDM2jAl100UUX/zdKkFJajwuqqmgYVyLi3T8hkFJai/e5/xGrMYN1EfG25pgFyw4s0xlBMoHnFVzNg8ci4nZK6TDu4Lzq57eG+9jb4QI8qeBhrsBAHhzNtrfO+RW2qx7bTJuJe3KM17/Jr6z5XmAN9kTE47r5pZ0kEBGTRVG6D49y92JEXGq7wC2g9gquqQqOMeyOiNG2ov4NgZTSDZzFJxxRvQ/9GI+ID4UK7cRxrcvymiYcxvWIaHhsFRzI7VV4VpgbwbZC/zI2zWOT+3HTHJrwlOqlK2OBqiyfxZs635M4qqoJW/k37MmVGoyIqWZOPwHrh4vqVQjC/AAAAABJRU5ErkJggg==') no-repeat center/32rpx 29rpx;
93 | }
94 | .index-exam-inlets-list .icon-index-zj{
95 | display: inline-block;
96 | width: 32rpx;
97 | height: 29rpx;
98 | background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAdCAYAAADLnm6HAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADq0lEQVRIx7XXW4jVVRQG8N+xMsnMJMGIkhGjGyFId5JSUqjsCmVXr9kOzcruZdpDaalgKiXmsmKSNIWahvShogeLICPIDCwCqSiLwBI1BAupHvY+zD85c5yZxvN0zrfX5dtrr9up6eEnpTQVL+BEzMNzEfF3d+3UeuB4Op7A8AIdxNH4A/MjYvERIZBSmlgcn1Ogl/As9mBuiQLsKtFY1isEUkqT8HjF8Uosj4hvD5EbgvvwVIXI8xGxtEcEUkq34jGMLNAaLI2ILw9DuKUQeahAP2FRRKzoEoGU0rWYg4sLtKmE9NOuhLRiZziexqQC/YC5EbG2IYGU0ljMx0UF2ox5EfFJdxw3IHJuIXJzgXYUIhugllI6Q06ocRXHCyPi/f/juAGR8+REvb5AWzGrllL6HOfjK9wQEd/3puMGRAZiLcbj9z74q5wNxhUppVOOoPNBuAqnFuhALaU0VK7juyuy72EVNkXEwV5wfDnu1ZEH8BYWVJNwCKbhSQwo8C657lu7+zQppcGYXBwPqxwtxqqI+I7GZdhXTpRHcGHlqB2vRcTGLtz2LtyBPgXeURy/HRG7q/K1wxgbJ9fxnRV4GzZgTUT8XOQGYAomYFRFdmOJXltnPmoppXVF6IMmRIbhgXKrwZWj5diH+zGwYH9ivdyutzaxOQpTaiml3Rgk1//qiFjXROnYEt7bDrkpbEdreabdTWxcV6J1Yz0CZ+NVXFJkdmIh1kbEniaGrixPcwza6p2tE9mjcIs81EZUCM+uVsFl8hC5qaK7GC9GxE49+KSUTpLLey76F3izPNTepXEVtCDJ71pXai9KH3fR8UjMxPQKvKpcZntVttk4rsnvPQ9DC/yFvPW804nOGHmSji3QXjyDVyJiXyOdWkppCVbUG0MnhkfJDerqAu2XJ9qycj6xOGop559hQbOekVI6GTNqKaV/CtaKZRGxrYnSCEzF7Ap8AP3K9zfKZbY0sdGCWXi4HoHRcsM4vsi0yX2hGfsTcI/8xv3wegnzj010LpVb/bQKPLlWDvvKXexRHWXyjbwnvNyTdbvi+PZy42qZL8L6iPitURWMl9vvhALtxxJ5gPzSRafHYYbcPU8r8IclSv/pF82q4Ey5FGdW4NVY2VmLTSmdLufInAr8plx+DXfKrqzl/eXW+aCOPyMfyQnbXmRGy2O33sT2yt20NSJ+bWa/W/+MUkrXyOv2mAJ9LT/RBeX3Viw5dPPtNQIVImfJCVvP6HZ599/SXVv/ArTaVUDlXtj0AAAAAElFTkSuQmCC') no-repeat center/32rpx 29rpx;
99 |
100 | }
101 | .index-exam-inlets-list .icon-index-sj{
102 | display: inline-block;
103 | width: 32rpx;
104 | height: 29rpx;
105 | background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAbCAYAAAAdx42aAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAACt0lEQVRIx73XXYhWZRAH8N/RLcSlWPsALzJCFPtGCRIyV/qwItRYEjYMCr0YFKVSwUCCuokKK0IjYYKyq7CuMim6iiz7uClaRRBNvNCCKLaL/IqyLs7z4uFlfX13ad+5OvPMnJn/+T/PMzOnMskSETNwAv/ijsw83LRPmWwA+Acj6Mc3EXFj01j1AECLiV14Er/h7hYTVUQ8hAU4g2P4PjNP/A8Jr8Y8XIu/Svw3cYt6S+7PzMNVRIxioPHu3/gEb2fm3nEmvRKrsAIP6rzFJ7GsiohtuBnX4HrMbDh9iqcy82gXyR/FG7iusXwEP+MUripszHZh649VbUGuKLQtxobiDMOZ+UGH5C/j2aL+gB34KjOPtPldhrm4FevocAgjog/P4fmy9HRmbh/D761WsIv5dMgx/ZK3ICKWY09R12Tmuw3bVryoPlQrM/O7bpO35JJ1IDM/xiNFfSciFjfMN+Ec7p1I8q4AFBB78EJRd0fEtPK8EUva93o8Mq5CFBFfYBC7M/OxiSYdNwMNeVx9pYYjYmnPAZQKuaGlNraiZwzIzF34EDfgpZ4BiIiFpZDAE/gVz0TEA5MOICJW4GtsKSycxcpi/igi5kwagIgYVFM+Badb65n5ZQE0DZ9HxF0TAdDxGkbEenULhc2Z+foYPjuxtqgbsT0zz3fJ7EB7M5qqbkYLS7Dbiml1OXwXC/QaNhV1RN2M9uFoE0xEXI45mF/in68i4pWy2K/ufnMbsfdjXWYe6OJrhvCqCx0UjuMX/Klu9wPq29P68JEqIk5helu8bwuV73dDZQNEv3ogGcJS9HVw/xFDVUQMF8rP4Cfsb59cJyJlGp6NWTiLUSRuL8nvy8zfezmUvqeuHwcxmJmj9GAqjogBfIY7cQiLMvOPlr0X/wV96hHsOO5pJu+ZRMRQRDw8lu0/gO7lPSuhDlwAAAAASUVORK5CYII=') no-repeat center/32rpx 27rpx;
106 | }
107 | .index-exam-inlets-list .icon-index-sx{
108 | display: inline-block;
109 | width: 32rpx;
110 | height: 29rpx;
111 | background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAaCAYAAADWm14/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAACM0lEQVRIx72WPUwUURSFP1gQNQIiwb9IY2ysjC4m2FHYGTsTG4INOUFjiBWx8odCYqmdp/OHxISE0saGwoRoXAsbGyslWOgiZBWDqFjMWzM7jhh2Z/Y09827d+ecd/feebdACiQNFYvFQ6VS6R05o+0f+9PAN+BIirguYBjYDvxqgLsV+NqSQrAf+BAee20vJfz9QAnoyiAB5bQM3I6tLwOTcaft98DeDMgBqMmApD1AGXgVTrgP6LO9lhVhEq2J5+vBngVGgE7gYl7kaQLGgRXbi7bnw97kFt9ZnwBJ18JyLOa/C3RKGspLwJ8akLQK7AAWgF0xfzfw0vbJ3ARIGgHuE7VfAegIvhWgJwgasF2SdBCYBXYCGw1yL1fb8FawA7YX41GSTgNPiWrhTCBdB1YzSMD3FkkTRL3/wPaFtChJy0R/xTHbr7NKP0RFeBx4BkxsEjcGvABOZUm+ZUhqbfwttagWYQfwiNoL5gewTFRsc7bv5XGoahF2A+c2iXuYB3lcwEdqb7cvwChg4LHtJ1WHpDbgKNBO4i6pA+ttALY3gErcI+kmUctdSvyoH8isE1IHEkl3gAPAFdufE+4FYBDYRuMDyVraQNIDLAEV21kMHf9VkcRssOfzJoe/B5JBYB54bnuwGQKSGZgOdrgZ5DUCJI0Ch4Grtt82S0D1S9gLfAp7N4huu0Is5o3tmRDbB0wRzQ4/Gzx8pdqG48FWgoAk5oCZsG4HTgC7iT7X9aIAlH8DdAyWNHeuIlsAAAAASUVORK5CYII=') no-repeat center/32rpx 26rpx;
112 | }
--------------------------------------------------------------------------------
/pages/logs/logs.js:
--------------------------------------------------------------------------------
1 | //logs.js
2 | var util = require('../../utils/util.js')
3 | Page({
4 | data: {
5 | logs: []
6 | },
7 | onLoad: function () {
8 | this.setData({
9 | logs: (wx.getStorageSync('logs') || []).map(function (log) {
10 | return util.formatTime(new Date(log))
11 | })
12 | })
13 | }
14 | })
15 |
--------------------------------------------------------------------------------
/pages/logs/logs.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "查看启动日志"
3 | }
--------------------------------------------------------------------------------
/pages/logs/logs.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{index + 1}}. {{log}}
5 |
6 |
7 |
--------------------------------------------------------------------------------
/pages/logs/logs.wxss:
--------------------------------------------------------------------------------
1 | .log-list {
2 | display: flex;
3 | flex-direction: column;
4 | padding: 40rpx;
5 | }
6 | .log-item {
7 | margin: 10rpx;
8 | }
9 |
--------------------------------------------------------------------------------
/pages/mark/mark.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | swiper:{
7 | imgUrls:[
8 | 'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
9 | 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
10 | 'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
11 | ],
12 | indicatorDots: true,
13 | autoplay: true,
14 | interval: 5000,
15 | duration: 1000
16 | },
17 | examInlets:[{
18 | subjectHeader:'科目一题库',
19 | subject:'kemu1',//题目类型
20 | titleTota:1311,//题目总数
21 | highest:98,//题目总数
22 | collection:22,//收藏题数
23 | answerError:32,//答错题数
24 | },
25 | {
26 | subjectHeader:'科目四题库',
27 | subject:'kemu3',//题目类型
28 | titleTota:1311,//题目总数
29 | highest:98,//题目总数
30 | collection:22,//收藏题数
31 | answerError:32,//答错题数
32 | }
33 | ]
34 | },
35 | tapInletsMk(e){
36 | var subject = e.currentTarget.dataset.urlparem;
37 | app.getUserInfo(function(info){
38 | if(!!info){
39 | wx.navigateTo({
40 | url: `../../pages/answer_simulate_tip/simulate_tip?subject=${subject}`
41 | })
42 | }else{
43 |
44 | }
45 | });
46 | },
47 | onLoad(){
48 | },
49 | onShow(){
50 | }
51 | });
--------------------------------------------------------------------------------
/pages/mark/mark.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/mark/mark.wxml:
--------------------------------------------------------------------------------
1 |
2 | pages/mark/mark.wxml
3 |
--------------------------------------------------------------------------------
/pages/mark/mark.wxss:
--------------------------------------------------------------------------------
1 | /* pages/mark/mark.wxss */
--------------------------------------------------------------------------------
/public/core/Q.js:
--------------------------------------------------------------------------------
1 | // vim:ts=4:sts=4:sw=4:
2 | /*!
3 | *
4 | * Copyright 2009-2016 Kris Kowal under the terms of the MIT
5 | * license found at https://github.com/kriskowal/q/blob/v1/LICENSE
6 | *
7 | * With parts by Tyler Close
8 | * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found
9 | * at http://www.opensource.org/licenses/mit-license.html
10 | * Forked at ref_send.js version: 2009-05-11
11 | *
12 | * With parts by Mark Miller
13 | * Copyright (C) 2011 Google Inc.
14 | *
15 | * Licensed under the Apache License, Version 2.0 (the "License");
16 | * you may not use this file except in compliance with the License.
17 | * You may obtain a copy of the License at
18 | *
19 | * http://www.apache.org/licenses/LICENSE-2.0
20 | *
21 | * Unless required by applicable law or agreed to in writing, software
22 | * distributed under the License is distributed on an "AS IS" BASIS,
23 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24 | * See the License for the specific language governing permissions and
25 | * limitations under the License.
26 | *
27 | */
28 |
29 | (function (definition) {
30 | "use strict";
31 |
32 | // This file will function properly as a