├── .gitignore
├── LICENSE
├── README.md
├── app.js
├── app.json
├── app.wxss
├── config.default.js
├── images
├── core
│ ├── bbq.png
│ ├── bbq@disabled.png
│ ├── bx.png
│ ├── bx@disabled.png
│ ├── cj.png
│ ├── cj@disabled.png
│ ├── common
│ │ ├── down.png
│ │ ├── down_w.png
│ │ ├── left_g.png
│ │ ├── right_g.png
│ │ └── up.png
│ ├── df.png
│ ├── df@disabled.png
│ ├── es
│ │ └── list.png
│ ├── jy.png
│ ├── jy@disabled.png
│ ├── kb.png
│ ├── kb@disabled.png
│ ├── kjs.png
│ ├── kjs
│ │ ├── building-icon.png
│ │ ├── classTime-icon.png
│ │ ├── classroom-icon.png
│ │ ├── day-icon.png
│ │ └── week-icon.png
│ ├── kjs@disabled.png
│ ├── ks.png
│ ├── ks@disabled.png
│ ├── mht.png
│ ├── mht@disabled.png
│ ├── sdf.png
│ ├── sdf
│ │ └── sdf-bg.png
│ ├── sdf@disabled.png
│ ├── xs.png
│ ├── xs
│ │ ├── clear.png
│ │ └── search-sign.png
│ ├── xs@disabled.png
│ ├── ykt.png
│ ├── ykt
│ │ └── card-bg.png
│ ├── ykt@disabled.png
│ ├── zs.png
│ ├── zs@disabled.png
│ ├── zw.png
│ └── zw@disabled.png
├── headimg.jpg
├── index
│ ├── book.png
│ ├── card.png
│ ├── findbook.png
│ ├── index.png
│ ├── index@active.png
│ ├── loading.gif
│ ├── love.png
│ ├── love@active.png
│ ├── more.png
│ ├── more@active.png
│ ├── news.png
│ ├── news@active.png
│ ├── nothing.png
│ ├── qf.png
│ └── tri.png
├── more
│ ├── about_bg.jpg
│ ├── aboutmiao.png
│ ├── close.png
│ ├── enter.png
│ ├── envelope.png
│ ├── fanka.png
│ ├── gx.png
│ ├── help.png
│ ├── issue.png
│ ├── lanshan.png
│ ├── logo.png
│ ├── setting.png
│ ├── title.png
│ ├── tushuzheng.png
│ └── wave.png
└── news
│ ├── all.png
│ ├── all@colour.png
│ ├── all@gray.png
│ ├── file.png
│ ├── jw.png
│ ├── jw@colour.png
│ ├── jw@gray.png
│ ├── jz.png
│ ├── jz@colour.png
│ ├── jz@gray.png
│ ├── new.png
│ ├── sj.png
│ ├── sj@colour.png
│ ├── sj@gray.png
│ ├── xb.png
│ ├── xb@colour.png
│ ├── xb@gray.png
│ ├── xm.png
│ ├── xm@colour.png
│ ├── xm@gray.png
│ ├── xy.png
│ ├── xy@colour.png
│ └── xy@gray.png
├── pages
├── authorize
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── core
│ ├── bbq
│ │ ├── bbq.js
│ │ ├── bbq.json
│ │ ├── bbq.wxml
│ │ └── bbq.wxss
│ ├── cj
│ │ ├── cj.js
│ │ ├── cj.json
│ │ ├── cj.wxml
│ │ └── cj.wxss
│ ├── jy
│ │ ├── jy.js
│ │ ├── jy.json
│ │ ├── jy.wxml
│ │ └── jy.wxss
│ ├── kb
│ │ ├── kb.js
│ │ ├── kb.json
│ │ ├── kb.wxml
│ │ └── kb.wxss
│ ├── kjs
│ │ ├── kjs.js
│ │ ├── kjs.json
│ │ ├── kjs.wxml
│ │ └── kjs.wxss
│ ├── ks
│ │ ├── ks.js
│ │ ├── ks.json
│ │ ├── ks.wxml
│ │ └── ks.wxss
│ ├── mht
│ │ ├── mht.js
│ │ ├── mht.json
│ │ ├── mht.wxml
│ │ └── mht.wxss
│ ├── xs
│ │ ├── xs.js
│ │ ├── xs.json
│ │ ├── xs.wxml
│ │ └── xs.wxss
│ ├── ykt
│ │ ├── ykt.js
│ │ ├── ykt.json
│ │ ├── ykt.wxml
│ │ └── ykt.wxss
│ └── zs
│ │ ├── detail
│ │ ├── detail.js
│ │ ├── detail.json
│ │ ├── detail.wxml
│ │ └── detail.wxss
│ │ ├── zs.js
│ │ ├── zs.json
│ │ ├── zs.wxml
│ │ └── zs.wxss
├── index
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── more
│ ├── about.js
│ ├── about.json
│ ├── about.wxml
│ ├── about.wxss
│ ├── append.js
│ ├── append.json
│ ├── append.wxml
│ ├── append.wxss
│ ├── issues.js
│ ├── issues.json
│ ├── issues.wxml
│ ├── issues.wxss
│ ├── login.js
│ ├── login.json
│ ├── login.wxml
│ ├── login.wxss
│ ├── more.js
│ ├── more.json
│ ├── more.wxml
│ └── more.wxss
├── news
│ ├── detail
│ │ ├── detail.js
│ │ ├── detail.wxml
│ │ └── detail.wxss
│ ├── jw
│ │ ├── jw_detail.js
│ │ ├── jw_detail.json
│ │ ├── jw_detail.wxml
│ │ └── jw_detail.wxss
│ ├── news.js
│ ├── news.json
│ ├── news.wxml
│ ├── news.wxss
│ ├── xb
│ │ ├── xb_detail.js
│ │ ├── xb_detail.json
│ │ ├── xb_detail.wxml
│ │ └── xb_detail.wxss
│ ├── xm
│ │ ├── xm_detail.js
│ │ ├── xm_detail.json
│ │ ├── xm_detail.wxml
│ │ └── xm_detail.wxss
│ └── xy
│ │ ├── xy_detail.js
│ │ ├── xy_detail.json
│ │ ├── xy_detail.wxml
│ │ └── xy_detail.wxss
└── setting
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── sitemap.json
├── utils
├── ald-stat-conf.js
├── ald-stat.js
├── base64.min.js
├── md5.min.js
├── mta_analysis.js
└── util.js
└── wxParse
├── html2json.js
├── htmlparser.js
├── showdown.js
├── wxDiscode.js
├── wxParse.js
├── wxParse.wxml
└── wxParse.wxss
/.gitignore:
--------------------------------------------------------------------------------
1 | project.config.json
2 | config.js
3 | .DS_Store
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 莞香小喵
2 | ===
3 | 官网:http://www.gxgk.cc
4 |
5 | > **莞香小喵**
6 | 是一款**微信小程序**
7 | >
8 | > 前端源码fork自重庆邮电大学[we重邮微信小程序](https://github.com/mcc108/wecqupt),遵守AGPLV3协议开源,已取得作者许可。
9 | 后端由**莞香广科团队**自主开发的[广科小喵公众号后端程序](https://github.com/paicha/gxgk-wechat-server)
10 | >
11 | > 同**广科小喵微信公众号**服务于**广东科技学院**,提供多元化的校园功能,有别于公众号的一种全新的连接用户与服务的方式,无需下载与安装即可在微信内被便捷地获取和传播,同时具有出色的使用体验。
12 |
13 | ---
14 |
15 |
16 |
17 |
18 |
19 | ---
20 |
21 | ## 开源许可证 License AGPLv3
22 |
23 | 请认真阅读并遵守以下开源协议
24 |
25 | `AGPLv3` [GNU Affero General Public License v3.0](https://github.com/lanshan-studio/wecqupt/blob/master/LICENSE)
26 |
27 | Ps: 维护者为专业后端,业余前端,如有错漏敬请指正,目前维护人员均已毕业,后续维护....
28 |
29 | 强烈谴责本校《广科微生活》小程序不遵守AGPLv3,闭源同时Copy该项目借阅信息与我要找书等功能代码。仅此告知,望自珍重。
30 |
31 | ---
32 |
33 | ## 版本日志
34 |
35 | > 版本号命名规则 vX.Y.Z
36 | >
37 | > X: 主版本号, Y: 次版本号, Z: 修订号
38 | >
39 | > 修饰后缀词(可选) - alpha: 内测版, beta: 公测版, 无(默认): 正式版
40 |
41 | ### v2.0.0 正式版
42 | * 2018.08.25 发布
43 | * 功能重构
44 | * 因为重构了后端,不得已前端也需要修改,阉割了很多功能,之后慢慢填上
45 |
46 | ### v1.0.0 正式版
47 | * 2017.04.18 发布
48 | * 新增功能
49 | * 完成用户反馈与图片上传
50 |
51 | ### v0.0.7 公测版
52 | * 2017.03.07 发布
53 | * 新增功能
54 | * 对未绑定用户开放空课室查询和图书查询
55 | * 适配教师课表
56 | * 无借书显示图书馆卡片
57 | * 修复BUG
58 | * 修复空教室scroll-view无法滑动
59 | * 修复资讯页面网络出错提示ok
60 | * 修复打开单页面显示登录状态失效
61 | * 调整课表指正时间
62 | * 修复空课室框架出错
63 | * 修正主页滑动异常
64 |
65 | ### v0.0.6 公测版
66 | * 2017.02.21 发布
67 | * 新增功能
68 | * 上线空教室查询
69 |
70 | ### v0.0.5 公测版
71 | * 2017.02.17 发布
72 | * 新增功能
73 | * 学生查询增加考试安排,成绩查询查看
74 | * 修复BUG
75 | * 修复成绩功能分享时读取自身缓存
76 | * 修复首页课表框架
77 | * 修复课表分享出错
78 | * 统一接口格式
79 | * 修复校园卡数据出错提示
80 | * 修复网络连接出错首页按钮可点击
81 | * 修复课表可滑动到第0周
82 |
83 | ### v0.0.4 公测版
84 | * 2017.02.16 发布
85 | * 新增功能
86 | * 增加课表显示
87 |
88 | ### v0.0.3 公测版
89 | * 2017.02.11 发布
90 | * 修复BUG
91 | * 修复ios卡片无法正常载入文件
92 | * 修复重复刷新卡片问题
93 | * 修复打开重复登录问题
94 | * 优化banner显示
95 | * 增加班级排名专业排名显示
96 | * 修复卡号长度导致界面错位
97 |
98 | ### v0.0.2 公测版
99 | * 2017.02.06 发布
100 | * 提交腾讯审核版本
101 |
102 | ### v0.0.1 内测体验版
103 | * 2017.02.04 [发布预告](http://mp.weixin.qq.com/s/HGxbRmTZaFqwZ3NqBEkeSw)
104 |
105 | ---
106 |
107 | ## 分支管理
108 |
109 | ```
110 | gxgk-wechat-app
111 | ├─ master // 默认分支(开发测试版本所用分支)
112 | ├─ stable // 稳定分支(正式版本所用分支;高级保护分支,只允许管理员操作,通常由master分支-Merge而来)
113 | └─ [other] // 其他开发分支(只允许该项目Collaborators创建及push分支)
114 | ```
115 |
116 | ---
117 |
118 |
119 | > @ 重庆邮电大学 - 蓝山工作室 https://lanshan.studio
120 |
121 | > @ 广东科技学院 - 莞香广科团队 http://www.gxgk.cc
122 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages": [
3 | "pages/index/index",
4 | "pages/authorize/index",
5 | "pages/core/kb/kb",
6 | "pages/core/ykt/ykt",
7 | "pages/core/cj/cj",
8 | "pages/core/jy/jy",
9 | "pages/core/xs/xs",
10 | "pages/core/ks/ks",
11 | "pages/core/zs/zs",
12 | "pages/core/kjs/kjs",
13 | "pages/core/zs/detail/detail",
14 | "pages/core/mht/mht",
15 | "pages/news/news",
16 | "pages/news/xy/xy_detail",
17 | "pages/news/xb/xb_detail",
18 | "pages/news/jw/jw_detail",
19 | "pages/news/xm/xm_detail",
20 | "pages/more/more",
21 | "pages/more/login",
22 | "pages/more/append",
23 | "pages/more/issues",
24 | "pages/more/about",
25 | "pages/setting/index",
26 | "pages/core/bbq/bbq"
27 | ],
28 | "window": {
29 | "navigationBarBackgroundColor": "#079df2",
30 | "navigationBarTextStyle": "white",
31 | "navigationBarTitleText": "莞香小喵",
32 | "backgroundColor": "#079df2",
33 | "backgroundTextStyle": "light",
34 | "enablePullDownRefresh": true
35 | },
36 | "tabBar": {
37 | "color": "#7f848a",
38 | "selectedColor": "#696969",
39 | "backgroundColor": "#f7f6fb",
40 | "list": [
41 | {
42 | "pagePath": "pages/index/index",
43 | "text": "首页",
44 | "iconPath": "images/index/index.png",
45 | "selectedIconPath": "images/index/index@active.png"
46 | },
47 | {
48 | "pagePath": "pages/news/news",
49 | "text": "资讯",
50 | "iconPath": "images/index/news.png",
51 | "selectedIconPath": "images/index/news@active.png"
52 | },
53 | {
54 | "pagePath": "pages/more/more",
55 | "text": "个人",
56 | "iconPath": "images/index/more.png",
57 | "selectedIconPath": "images/index/more@active.png"
58 | }
59 | ]
60 | },
61 | "navigateToMiniProgramAppIdList": [
62 | "wxc788f5aef8a73386",
63 | "wx4a326c92f0674dd7"
64 | ],
65 | "networkTimeout": {
66 | "request": 20000,
67 | "uploadFile": 30000,
68 | "downloadFile": 30000
69 | },
70 | "sitemapLocation": "sitemap.json"
71 | }
--------------------------------------------------------------------------------
/app.wxss:
--------------------------------------------------------------------------------
1 | /**app.wxss**/
2 | page{
3 | font-family: -apple-system-font, Helvetica Neue, Helvetica, sans-serif;
4 | font-size: 10pt;
5 | line-height: 150%;
6 | color: #666;
7 | min-height: 100%;
8 | position: relative;
9 | display: flex;
10 | flex-direction: column;
11 | align-items: stretch;
12 | }
13 | .container {
14 | position: relative;
15 | flex: 1;
16 | display: flex;
17 | flex-direction: column;
18 | min-height: 100%;
19 | padding-bottom: 100rpx;
20 | box-sizing: border-box;
21 | }
22 |
23 | .remind-box {
24 | flex: 1;
25 | display: flex;
26 | flex-direction: column;
27 | align-items: center;
28 | justify-content: center;
29 | padding-bottom: 300rpx;
30 | }
31 | .remind-img {
32 | width: 250rpx;
33 | height: 179rpx;
34 | }
35 | .remind-text {
36 | font-size: 12pt;
37 | line-height: 150%;
38 | }
39 | .remind-btn {
40 | margin-top: 20rpx;
41 | font-size: 9pt;
42 | padding: 5rpx 20rpx;
43 | text-align: center;
44 | background-color: #079df2;
45 | border-radius: 3px;
46 | border-bottom: 2px solid #079df2;
47 | color: #fff;
48 | }
49 |
50 | .fix_tip{
51 | position: fixed;
52 | bottom: 50rpx;
53 | left: 0;
54 | width: 100%;
55 | text-align: center;
56 | opacity: 0;
57 | transform: translate3d(0, 80rpx, 0);
58 | transition: all .5s cubic-bezier(0.19, 1, 0.22, 1)
59 | }
60 | .fix_tip.active{
61 | opacity: 1;
62 | transform: translate3d(0, 0, 0);
63 | }
64 | .fix_tip text{
65 | font-size: 9pt;
66 | line-height: 100%;
67 | padding: 10rpx 20rpx;
68 | border-radius: 10rpx;
69 | background: rgba(66,66,66,.6);
70 | color: #fff;
71 | }
--------------------------------------------------------------------------------
/config.default.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | mta_app_id: "",
3 | dsn_url: "",
4 | ald: {
5 | app_key: ''
6 | },
7 | server: ''
8 | }
--------------------------------------------------------------------------------
/images/core/bbq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/bbq.png
--------------------------------------------------------------------------------
/images/core/bbq@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/bbq@disabled.png
--------------------------------------------------------------------------------
/images/core/bx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/bx.png
--------------------------------------------------------------------------------
/images/core/bx@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/bx@disabled.png
--------------------------------------------------------------------------------
/images/core/cj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/cj.png
--------------------------------------------------------------------------------
/images/core/cj@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/cj@disabled.png
--------------------------------------------------------------------------------
/images/core/common/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/common/down.png
--------------------------------------------------------------------------------
/images/core/common/down_w.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/common/down_w.png
--------------------------------------------------------------------------------
/images/core/common/left_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/common/left_g.png
--------------------------------------------------------------------------------
/images/core/common/right_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/common/right_g.png
--------------------------------------------------------------------------------
/images/core/common/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/common/up.png
--------------------------------------------------------------------------------
/images/core/df.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/df.png
--------------------------------------------------------------------------------
/images/core/df@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/df@disabled.png
--------------------------------------------------------------------------------
/images/core/es/list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/es/list.png
--------------------------------------------------------------------------------
/images/core/jy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/jy.png
--------------------------------------------------------------------------------
/images/core/jy@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/jy@disabled.png
--------------------------------------------------------------------------------
/images/core/kb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/kb.png
--------------------------------------------------------------------------------
/images/core/kb@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/kb@disabled.png
--------------------------------------------------------------------------------
/images/core/kjs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/kjs.png
--------------------------------------------------------------------------------
/images/core/kjs/building-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/kjs/building-icon.png
--------------------------------------------------------------------------------
/images/core/kjs/classTime-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/kjs/classTime-icon.png
--------------------------------------------------------------------------------
/images/core/kjs/classroom-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/kjs/classroom-icon.png
--------------------------------------------------------------------------------
/images/core/kjs/day-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/kjs/day-icon.png
--------------------------------------------------------------------------------
/images/core/kjs/week-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/kjs/week-icon.png
--------------------------------------------------------------------------------
/images/core/kjs@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/kjs@disabled.png
--------------------------------------------------------------------------------
/images/core/ks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/ks.png
--------------------------------------------------------------------------------
/images/core/ks@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/ks@disabled.png
--------------------------------------------------------------------------------
/images/core/mht.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/mht.png
--------------------------------------------------------------------------------
/images/core/mht@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/mht@disabled.png
--------------------------------------------------------------------------------
/images/core/sdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/sdf.png
--------------------------------------------------------------------------------
/images/core/sdf/sdf-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/sdf/sdf-bg.png
--------------------------------------------------------------------------------
/images/core/sdf@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/sdf@disabled.png
--------------------------------------------------------------------------------
/images/core/xs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/xs.png
--------------------------------------------------------------------------------
/images/core/xs/clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/xs/clear.png
--------------------------------------------------------------------------------
/images/core/xs/search-sign.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/xs/search-sign.png
--------------------------------------------------------------------------------
/images/core/xs@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/xs@disabled.png
--------------------------------------------------------------------------------
/images/core/ykt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/ykt.png
--------------------------------------------------------------------------------
/images/core/ykt/card-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/ykt/card-bg.png
--------------------------------------------------------------------------------
/images/core/ykt@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/ykt@disabled.png
--------------------------------------------------------------------------------
/images/core/zs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/zs.png
--------------------------------------------------------------------------------
/images/core/zs@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/zs@disabled.png
--------------------------------------------------------------------------------
/images/core/zw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/zw.png
--------------------------------------------------------------------------------
/images/core/zw@disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/core/zw@disabled.png
--------------------------------------------------------------------------------
/images/headimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/headimg.jpg
--------------------------------------------------------------------------------
/images/index/book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/book.png
--------------------------------------------------------------------------------
/images/index/card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/card.png
--------------------------------------------------------------------------------
/images/index/findbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/findbook.png
--------------------------------------------------------------------------------
/images/index/index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/index.png
--------------------------------------------------------------------------------
/images/index/index@active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/index@active.png
--------------------------------------------------------------------------------
/images/index/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/loading.gif
--------------------------------------------------------------------------------
/images/index/love.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/love.png
--------------------------------------------------------------------------------
/images/index/love@active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/love@active.png
--------------------------------------------------------------------------------
/images/index/more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/more.png
--------------------------------------------------------------------------------
/images/index/more@active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/more@active.png
--------------------------------------------------------------------------------
/images/index/news.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/news.png
--------------------------------------------------------------------------------
/images/index/news@active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/news@active.png
--------------------------------------------------------------------------------
/images/index/nothing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/nothing.png
--------------------------------------------------------------------------------
/images/index/qf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/qf.png
--------------------------------------------------------------------------------
/images/index/tri.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/index/tri.png
--------------------------------------------------------------------------------
/images/more/about_bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/about_bg.jpg
--------------------------------------------------------------------------------
/images/more/aboutmiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/aboutmiao.png
--------------------------------------------------------------------------------
/images/more/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/close.png
--------------------------------------------------------------------------------
/images/more/enter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/enter.png
--------------------------------------------------------------------------------
/images/more/envelope.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/envelope.png
--------------------------------------------------------------------------------
/images/more/fanka.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/fanka.png
--------------------------------------------------------------------------------
/images/more/gx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/gx.png
--------------------------------------------------------------------------------
/images/more/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/help.png
--------------------------------------------------------------------------------
/images/more/issue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/issue.png
--------------------------------------------------------------------------------
/images/more/lanshan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/lanshan.png
--------------------------------------------------------------------------------
/images/more/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/logo.png
--------------------------------------------------------------------------------
/images/more/setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/setting.png
--------------------------------------------------------------------------------
/images/more/title.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/title.png
--------------------------------------------------------------------------------
/images/more/tushuzheng.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/tushuzheng.png
--------------------------------------------------------------------------------
/images/more/wave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/more/wave.png
--------------------------------------------------------------------------------
/images/news/all.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/all.png
--------------------------------------------------------------------------------
/images/news/all@colour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/all@colour.png
--------------------------------------------------------------------------------
/images/news/all@gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/all@gray.png
--------------------------------------------------------------------------------
/images/news/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/file.png
--------------------------------------------------------------------------------
/images/news/jw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/jw.png
--------------------------------------------------------------------------------
/images/news/jw@colour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/jw@colour.png
--------------------------------------------------------------------------------
/images/news/jw@gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/jw@gray.png
--------------------------------------------------------------------------------
/images/news/jz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/jz.png
--------------------------------------------------------------------------------
/images/news/jz@colour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/jz@colour.png
--------------------------------------------------------------------------------
/images/news/jz@gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/jz@gray.png
--------------------------------------------------------------------------------
/images/news/new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/new.png
--------------------------------------------------------------------------------
/images/news/sj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/sj.png
--------------------------------------------------------------------------------
/images/news/sj@colour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/sj@colour.png
--------------------------------------------------------------------------------
/images/news/sj@gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/sj@gray.png
--------------------------------------------------------------------------------
/images/news/xb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/xb.png
--------------------------------------------------------------------------------
/images/news/xb@colour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/xb@colour.png
--------------------------------------------------------------------------------
/images/news/xb@gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/xb@gray.png
--------------------------------------------------------------------------------
/images/news/xm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/xm.png
--------------------------------------------------------------------------------
/images/news/xm@colour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/xm@colour.png
--------------------------------------------------------------------------------
/images/news/xm@gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/xm@gray.png
--------------------------------------------------------------------------------
/images/news/xy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/xy.png
--------------------------------------------------------------------------------
/images/news/xy@colour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/xy@colour.png
--------------------------------------------------------------------------------
/images/news/xy@gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/images/news/xy@gray.png
--------------------------------------------------------------------------------
/pages/authorize/index.js:
--------------------------------------------------------------------------------
1 | //more.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | canIUse: wx.canIUse('button.open-type.getUserInfo'),
7 | hasUserInfo: false
8 | },
9 | getUserInfo: function(e) {
10 | const that = this
11 | // 授权成功才会返回detail
12 | if (e.detail.userInfo) {
13 | that.setData({
14 | 'hasUserInfo': true
15 | })
16 | app.getUserInfo().then(function () {
17 | wx.reLaunch({
18 | url: '/pages/index/index',
19 | })
20 | })
21 | } else {
22 | wx.showToast({
23 | title: '不同意授权无法正常使用小程序哦(′⌒`)',
24 | icon: 'none',
25 | duration: 2500
26 | })
27 | }
28 | },
29 | onShow: function() {
30 | const that = this
31 | var myinterval = setInterval(function() {
32 | wx.getUserInfo({
33 | success: function(res) {
34 | clearInterval(myinterval)
35 | if (!that.data.hasUserInfo) {
36 | that.setData({
37 | 'hasUserInfo': true
38 | })
39 | wx.navigateBack()
40 | }
41 | }
42 | })
43 | }, 5000)
44 | },
45 |
46 | });
--------------------------------------------------------------------------------
/pages/authorize/index.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/authorize/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 授权登录
7 | 请允许“莞香小喵”获取登录授权
8 |
9 |
--------------------------------------------------------------------------------
/pages/authorize/index.wxss:
--------------------------------------------------------------------------------
1 | .container {
2 | text-align: center;
3 | }
4 | .icon {
5 | text-align: center;
6 | margin: 120rpx auto 30rpx auto;
7 | }
8 | .icon-img{
9 | width: 178rpx;
10 | height: 178rpx;
11 | margin: 0 auto;
12 | }
13 | .title {
14 | font-size: 34rpx;
15 | color: #353535;
16 | text-align: center;
17 | margin-bottom: 60rpx;
18 | }
19 | .tip {
20 | font-size: 32rpx;
21 | color: #888888;
22 | text-align: center;
23 | }
24 | .auth-btn{
25 | width: 480rpx;
26 | height: 88rpx;
27 | line-height: 88rpx;
28 | text-align: center;
29 | padding: 0;
30 | margin:60rpx auto 10rpx;
31 | background-color: #079df2;
32 | color: #fff;
33 | border: 0px;
34 | }
35 |
--------------------------------------------------------------------------------
/pages/core/bbq/bbq.js:
--------------------------------------------------------------------------------
1 | // pages/core/bbq/bbq.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 |
9 | },
10 |
11 | /**
12 | * 生命周期函数--监听页面加载
13 | */
14 | onLoad: function (options) {
15 |
16 | },
17 |
18 | /**
19 | * 生命周期函数--监听页面初次渲染完成
20 | */
21 | onReady: function () {
22 |
23 | },
24 |
25 | /**
26 | * 生命周期函数--监听页面显示
27 | */
28 | onShow: function () {
29 |
30 | },
31 |
32 | /**
33 | * 生命周期函数--监听页面隐藏
34 | */
35 | onHide: function () {
36 |
37 | },
38 |
39 | /**
40 | * 生命周期函数--监听页面卸载
41 | */
42 | onUnload: function () {
43 |
44 | },
45 |
46 | /**
47 | * 页面相关事件处理函数--监听用户下拉动作
48 | */
49 | onPullDownRefresh: function () {
50 |
51 | },
52 |
53 | /**
54 | * 页面上拉触底事件的处理函数
55 | */
56 | onReachBottom: function () {
57 |
58 | },
59 |
60 | /**
61 | * 用户点击右上角分享
62 | */
63 | onShareAppMessage: function () {
64 |
65 | }
66 | })
--------------------------------------------------------------------------------
/pages/core/bbq/bbq.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/pages/core/bbq/bbq.wxml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pages/core/bbq/bbq.wxss:
--------------------------------------------------------------------------------
1 | /* pages/core/bbq/bbq.wxss */
--------------------------------------------------------------------------------
/pages/core/cj/cj.js:
--------------------------------------------------------------------------------
1 | //cj.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | remind: '加载中',
7 | cjInfo: [
8 |
9 | ],
10 | xqNum: {
11 | grade: '',
12 | semester: ''
13 | },
14 | xqName: {
15 | grade: '',
16 | semester: ''
17 | },
18 | share_id: ''
19 | },
20 | //分享
21 | onShareAppMessage: function() {
22 | var id = this.data.share_id
23 | return {
24 | title: this.data.real_name + '的成绩单',
25 | desc: '快来莞香小喵查询你的期末成绩单',
26 | path: `/pages/index/index?r=/pages/core/cj/cj|id:${id}`,
27 | success: function(res) {
28 | // 分享成功
29 | },
30 | fail: function(res) {
31 | // 分享失败
32 | }
33 | };
34 | },
35 | //下拉更新
36 | onPullDownRefresh: function() {
37 | var _this = this;
38 | _this.getData(_this.data.share_id);
39 | },
40 | onLoad: function(options) {
41 | var _this = this;
42 | //判断并读取缓存
43 | if (app.cache.cj && !options.id) {
44 | _this.cjRender(app.cache.cj);
45 | }
46 | app.loginLoad().then(function() {
47 | _this.loginHandler.call(_this, options);
48 | });
49 | },
50 | loginHandler: function(options) {
51 | var _this = this;
52 | var share_id = options.id || '';
53 |
54 | _this.getData(share_id);
55 | },
56 | cjRender: function(data) {
57 | this.setData({
58 | account: data.account,
59 | real_name: data.real_name,
60 | share_id: data.share_id,
61 | rank: data.rank || null,
62 | cjInfo: data.score,
63 | xqName: data.year + '学年 第' + data.term + '学期',
64 | update_time: data.update_time || null,
65 | remind: ''
66 | });
67 | },
68 | getData: function(share_id) {
69 | var _this = this;
70 | var share_id = share_id;
71 | wx.showNavigationBarLoading();
72 | app.wx_request("/school_sys/api_score", "GET", {
73 | 'share_id': share_id
74 | }).then(function(res) {
75 | if (res.data && res.data.status === 200) {
76 | var _data = res.data.data;
77 | if (!_data) {
78 | app.removeCache('cj');
79 | _this.setData({
80 | remind: res.data.msg || '未知错误'
81 | });
82 | wx.hideNavigationBarLoading()
83 | wx.stopPullDownRefresh();
84 | return;
85 | }
86 | if (_data.score && Object.keys(_data.score).length != 0) {
87 | //保存成绩缓存
88 | app.saveCache('cj', _data);
89 | _this.cjRender(_data);
90 | } else {
91 | _this.setData({
92 | remind: '暂无数据'
93 | });
94 | }
95 | } else {
96 | app.removeCache('cj');
97 | _this.setData({
98 | remind: res.data.msg || '未知错误'
99 | });
100 | }
101 | wx.hideNavigationBarLoading()
102 | wx.stopPullDownRefresh();
103 | }).catch(function(res) {
104 | _this.setData({
105 | remind: '网络错误'
106 | });
107 | console.warn('网络错误');
108 | wx.hideNavigationBarLoading();
109 | wx.stopPullDownRefresh();
110 | });
111 | }
112 | });
--------------------------------------------------------------------------------
/pages/core/cj/cj.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#ffcb63",
3 | "navigationBarTitleText": "成绩查询" ,
4 | "backgroundColor": "#ffcb63",
5 | "enablePullDownRefresh": true
6 | }
--------------------------------------------------------------------------------
/pages/core/cj/cj.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{remind}}
9 |
10 |
11 |
12 |
20 |
21 |
22 |
23 |
24 | {{xqName}}
25 |
26 |
27 |
28 |
29 | {{rank.avgGpa==null? '暂无':rank.avgGpa}}
30 | 学期绩点
31 |
32 |
33 | {{rank.class_rank ? rank.class_rank: '暂无'}}
34 | 班级排名
35 |
36 |
37 | {{rank.credits ? rank.credits: '暂无'}}
38 | 学期总学分
39 |
40 |
41 |
42 |
43 |
44 | {{item.lesson_name}}
45 |
46 | 平时分:{{item.pscj ? item.pscj: '暂无'}}
47 | |
48 | 卷面分:{{item.qmcj ? item.qmcj: '暂无'}}
49 | |
50 | 综合成绩:{{item.score}}
51 |
52 |
53 |
54 |
55 |
56 |
57 | 补考成绩:{{item.bkcj}}
58 |
59 |
60 |
61 |
62 |
63 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/pages/core/cj/cj.wxss:
--------------------------------------------------------------------------------
1 | /**cj.wxss**/
2 |
3 | .container {
4 | padding-left: 30rpx;
5 | padding-right: 30rpx;
6 | background-color: #f7f7f7;
7 | }
8 |
9 | .cj-header {
10 | display: flex;
11 | flex-flow: row nowrap;
12 | justify-content: space-between;
13 | align-items: center;
14 | padding: 50rpx 0;
15 | }
16 |
17 | .cj-text {
18 | display: flex;
19 | flex-flow: column nowrap;
20 | justify-content: flex-start;
21 | padding-left: 25rpx;
22 | }
23 |
24 | .cj-header-title {
25 | font-size: 20pt;
26 | font-weight: bold;
27 | line-height: 150%;
28 | margin-bottom: 15rpx;
29 | color: #222;
30 | }
31 |
32 | .cj-header-info {
33 | font-size: 11pt;
34 | line-height: 160%;
35 | color: #888;
36 | }
37 |
38 | .cj-bg {
39 | display: block;
40 | width: 200rpx;
41 | height: 200rpx;
42 | padding-right: 5rpx;
43 | opacity: 0.3;
44 | }
45 |
46 | .cj-info-ctn {
47 | display: flex;
48 | flex-flow: column nowrap;
49 | align-items: stretch;
50 | border-radius: 3px;
51 | background: #fff;
52 | margin-bottom: 20rpx;
53 | }
54 |
55 | .cj-grade {
56 | display: flex;
57 | flex-flow: column nowrap;
58 | align-items: center;
59 | padding: 25rpx 30rpx;
60 | }
61 |
62 | .cj-grade-logo {
63 | width: 100rpx;
64 | height: 100rpx;
65 | }
66 |
67 | .cj-grade-term {
68 | flex: 1;
69 | color: #666;
70 | font-size: 15pt;
71 | font-weight: 600;
72 | line-height: 160%;
73 | text-align: center;
74 | padding-bottom: 10rpx;
75 | }
76 |
77 | .cj-grade-fst {
78 | display: flex;
79 | flex-flow: column nowrap;
80 | }
81 |
82 | .cj-grade-info {
83 | display: flex;
84 | width: 100%;
85 | text-align: center;
86 | align-items: center;
87 | }
88 |
89 | .cj-grade-info text {
90 | display: block;
91 | font-weight: bold;
92 | }
93 |
94 | .cj-grade-jd,.cj-grade-bj,.cj-grade-zy {
95 | flex: 1;
96 | }
97 |
98 | .cj-grade-jd-num {
99 | color: #58c2ff;
100 | font-size: 18px;
101 | padding-bottom: 3px;
102 | }
103 |
104 | .cj-grade-bj-num {
105 | color: #58c2ff;
106 | font-size: 18px;
107 | padding-bottom: 3px;
108 | }
109 |
110 | .cj-grade-zy-num {
111 | color: #58c2ff;
112 | font-size: 18px;
113 | padding-bottom: 3px;
114 | }
115 |
116 | .grade-comment {
117 | color: #999;
118 | font-size: 26rpx;
119 | }
120 |
121 | .cj-info-box {
122 | display: flex;
123 | flex-flow: column nowrap;
124 | align-items: stretch;
125 | padding: 5rpx 30rpx 15rpx;
126 | }
127 |
128 | .cj-info {
129 | background: #fff;
130 | font-size: 11pt;
131 | display: flex;
132 | flex-flow: column wrap-reverse;
133 | justify-content: space-between;
134 | border-top: 1px solid #eee;
135 | padding: 25rpx 20rpx 20rpx 20rpx;
136 | }
137 |
138 | .cj-info-name {
139 | font-size: 12pt;
140 | font-weight: 600;
141 | }
142 |
143 | .cj-info-socre-box {
144 | display: flex;
145 | flex-flow: row nowrap;
146 | padding-top: 13rpx;
147 | justify-content: space-between;
148 | }
149 |
150 | .cj-info-socre {
151 | font-size: 10pt;
152 | align-items: center;
153 | color: #999;
154 | }
155 |
156 | .cj-info-socre-red {
157 | font-size: 10pt;
158 | align-items: center;
159 | color: #ff0000;
160 | }
161 |
162 | .cj-footer {
163 | display: flex;
164 | flex-flow: row nowrap;
165 | justify-content: center;
166 | color: #999;
167 | }
168 |
--------------------------------------------------------------------------------
/pages/core/jy/jy.js:
--------------------------------------------------------------------------------
1 | //jy.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | remind: '加载中',
7 | jyData: {
8 | book_list: [], //当前借阅列表
9 | books_num: 0, //当前借阅量
10 | history: 0, //历史借阅量
11 | dbet: 0, //欠费
12 | nothing: true //当前是否有借阅
13 | },
14 | historyData: {
15 | book_list: [], //当前借阅列表
16 | books_num: 0, //当前借阅量
17 | history: 0, //历史借阅量
18 | dbet: 0, //欠费
19 | nothing: true //当前是否有借阅
20 | },
21 | yjxjTap: false, //点击一键续借,
22 | history: false
23 | },
24 | onLoad: function(options) {
25 | var _this = this;
26 | app.loginLoad().then(function() {
27 | _this.loadData();
28 | });
29 | },
30 | onPullDownRefresh: function() {
31 | this.loadData();
32 | wx.stopPullDownRefresh()
33 | },
34 | onShareAppMessage: function () {
35 | return {
36 | title: '借阅查询',
37 | desc: '莞香小喵 - 借阅查询',
38 | path: `/pages/index/index?r=/pages/core/jy/jy`
39 | };
40 | },
41 | loadData: function() {
42 | var _this = this;
43 | wx.showNavigationBarLoading();
44 | _this.getBookList();
45 | _this.getBookHistory();
46 | _this.getInfo();
47 | },
48 | getInfo: function () {
49 | var _this = this;
50 | app.wx_request("/library/xcx_info", "GET").then(function (res) {
51 | if (res.data && res.data.status === 200) {
52 | var info = res.data.data;
53 | if (info) {
54 | var jyData = _this.data.jyData;
55 | jyData.arrears_money = info.arrears_money
56 | jyData.real_name = info.real_name
57 | _this.setData({
58 | jyData: jyData,
59 | remind: ''
60 | });
61 | }
62 | } else if (res.data.status === 402) {
63 | // 未绑定
64 | _this.setData({
65 | remind: "未绑定账号"
66 | });
67 | wx.redirectTo({
68 | url: '/pages/more/append?type=library'
69 | })
70 | }
71 | else {
72 | _this.setData({
73 | remind: res.data.msg || '未知错误'
74 | });
75 | }
76 | wx.hideNavigationBarLoading();
77 | }).catch(function (res) {
78 | console.log(res)
79 | if (_this.data.remind == '加载中') {
80 | _this.setData({
81 | remind: '网络错误'
82 | });
83 | }
84 | console.warn('网络错误');
85 | wx.hideNavigationBarLoading();
86 | });
87 | },
88 | getBookHistory: function () {
89 | var _this = this;
90 | app.wx_request("/library/xcx_history", "GET").then(function (res) {
91 | if (res.data && res.data.status === 200) {
92 | var book_list = res.data.data;
93 | if (book_list.length == 0) {
94 | _this.setData({
95 | nothing: true
96 | });
97 | } else {
98 | var jyData = _this.data.jyData;
99 | jyData.book_list = book_list;
100 | jyData.books_num = book_list.length;
101 | jyData.nothing = false
102 | _this.setData({
103 | historyData: jyData,
104 | remind: ''
105 | });
106 | }
107 | } else {
108 | _this.setData({
109 | remind: res.data.msg || '未知错误'
110 | });
111 | }
112 | wx.hideNavigationBarLoading();
113 | }).catch(function (res) {
114 | console.log(res)
115 | if (_this.data.remind == '加载中') {
116 | _this.setData({
117 | remind: '网络错误'
118 | });
119 | }
120 | console.warn('网络错误');
121 | wx.hideNavigationBarLoading();
122 | });
123 | },
124 | getBookList: function() {
125 | var _this = this;
126 | app.wx_request("/library/xcx_record", "GET").then(function(res) {
127 | if (res.data && res.data.status === 200) {
128 | var book_list = res.data.data;
129 | if (book_list.length == 0) {
130 | _this.setData({
131 | nothing: true
132 | });
133 | } else {
134 | var jyData = _this.data.jyData;
135 | jyData.book_list = book_list;
136 | jyData.books_num = book_list.length;
137 | jyData.nothing = false
138 | _this.setData({
139 | jyData: jyData,
140 | remind: ''
141 | });
142 | }
143 | } else {
144 | _this.setData({
145 | remind: res.data.msg || '未知错误'
146 | });
147 | }
148 | wx.hideNavigationBarLoading();
149 | }).catch(function(res) {
150 | console.log(res)
151 | if (_this.data.remind == '加载中') {
152 | _this.setData({
153 | remind: '网络错误'
154 | });
155 | }
156 | console.warn('网络错误');
157 | wx.hideNavigationBarLoading();
158 | });
159 | },
160 | renew: function() {
161 | var _this = this;
162 | app.wx_request("/library/xcx_renew", "GET").then(function (res) {
163 | if (res.data && res.data.status === 200) {
164 | var rewnew_info = res.data.data;
165 | var outdated_num = rewnew_info['outdated_num']
166 | var renew_num = rewnew_info['renew_num']
167 | var book_num = rewnew_info['book_num']
168 | if (outdated_num === 0 && renew_num == 0) {
169 | app.showErrorModal("还书期限大于7天,目前不需要续借", "续借提示");
170 | } else if (outdated_num === book_num && renew_num === 0){
171 | app.showErrorModal("续借失败!全部书籍逾期未还, 请尽快到图书馆还书", "续借提示");
172 | } else if (renew_num === 0 && outdated_num > 0) {
173 | app.showErrorModal(outdated_num + "本书籍逾期未还, 请尽快到图书馆还书, 其他图书目前不需要续借", "续借提示");
174 | } else if (renew_num > 0 && outdated_num > 0) {
175 | app.showErrorModal(outdated_num + "续借成功!部分书籍逾期未还,请尽快到图书馆还书", "续借提示");
176 | } else if (renew_num > 0) {
177 | app.showErrorModal(outdated_num + "续借成功!每本书只能续借一次", "续借提示");
178 | }
179 | console.log(rewnew_info)
180 | _this.setData({
181 | yjxjTap: false
182 | });
183 | wx.hideToast()
184 | } else {
185 | _this.setData({
186 | remind: res.data.msg || '未知错误'
187 | });
188 | }
189 | wx.hideNavigationBarLoading();
190 | }).catch(function (res) {
191 | console.log(res)
192 | if (_this.data.remind == '加载中') {
193 | _this.setData({
194 | remind: '网络错误'
195 | });
196 | }
197 | console.warn('网络错误');
198 | wx.hideNavigationBarLoading();
199 | })
200 | },
201 | renewBook: function() {
202 | var _this = this;
203 | if (!_this.data.yjxjTap) {
204 | //按键加锁
205 | _this.setData({
206 | yjxjTap: true
207 | });
208 | app.showLoadToast("续借中")
209 | //续借
210 | _this.renew();
211 | //刷新用户信息
212 | _this.getBookList();
213 | // _this.getInfo();
214 | }
215 | },
216 | tapType: function(e) {
217 | if (e.currentTarget.dataset.type == 'record') {
218 | this.setData({
219 | history: false
220 | });
221 | } else {
222 | this.setData({
223 | history: true
224 | });
225 | }
226 | }
227 | });
--------------------------------------------------------------------------------
/pages/core/jy/jy.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#73b4ef",
3 | "navigationBarTitleText": "借阅信息" ,
4 | "backgroundColor": "#73b4ef"
5 | }
--------------------------------------------------------------------------------
/pages/core/jy/jy.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{remind}}
8 |
9 |
10 |
11 |
12 |
13 | 姓名
14 |
15 | {{jyData.real_name}}
16 |
17 |
18 |
19 |
20 | 当前借阅
21 | 历史借阅
22 |
23 | {{jyData.books_num}}
24 | {{historyData.books_num}}
25 | 本
26 |
27 |
28 |
29 | 欠费
30 |
31 | {{jyData.arrears_money}}
32 | 元
33 |
34 |
35 |
36 |
37 |
38 |
39 | 借阅记录
40 |
41 |
42 |
43 | 历史借阅
44 |
45 |
46 |
47 |
48 | 当前无借阅
49 |
50 |
51 |
52 |
53 |
54 |
55 | {{itemName.title}}
56 |
57 |
58 |
59 | 图书条码:
60 | {{itemName.barcode}}
61 |
62 |
63 | 流通状态:
64 | {{itemName.circle_status}}
65 |
66 |
67 |
68 |
69 | 收藏部门:
70 | {{itemName.department}}
71 |
72 |
73 | 应还日期:
74 | {{itemName.deadline}}
75 |
76 |
77 |
78 |
79 |
80 |
83 |
84 |
85 |
86 | 今年还没借过书哦
87 |
88 |
89 |
90 |
91 |
92 |
93 | {{itemName.title}}
94 |
95 |
96 |
97 | 图书条码:
98 | {{itemName.barcode}}
99 |
100 |
101 |
102 |
103 | 操作类型:
104 | {{itemName.operate_type}}
105 |
106 |
107 | 操作日期:
108 | {{itemName.operate_time}}
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/pages/core/jy/jy.wxss:
--------------------------------------------------------------------------------
1 | /**jy.wxss**/
2 |
3 | .container {
4 | background-color: #f7f7f7;
5 | }
6 |
7 | .user-jy {
8 | display: flex;
9 | background: #fefefe;
10 | border-bottom: 1rpx solid #eee;
11 | }
12 |
13 | .user-jy-item {
14 | flex: 1;
15 | display: flex;
16 | flex-direction: column;
17 | justify-content: flex-start;
18 | font-size: 11pt;
19 | line-height: 150%;
20 | height: 150rpx;
21 | padding: 20rpx;
22 | border-right: 1rpx solid #eee;
23 | }
24 |
25 | .user-jy-dbet {
26 | border: none;
27 | }
28 |
29 | .user-jy-hd {
30 | color: #777;
31 | }
32 |
33 | .user-jy-bd {
34 | display: flex;
35 | justify-content: center;
36 | }
37 |
38 | .user-jy-name {
39 | font-size: 25px;
40 | color: #73b4ef;
41 | font-weight: bold;
42 | line-height: 150%;
43 | padding: 19rpx 20rpx 0 30rpx;
44 | }
45 |
46 | .user-jy-value {
47 | font-size: 37px;
48 | color: #73b4ef;
49 | font-weight: bold;
50 | line-height: 150%;
51 | padding: 0 20rpx 0 30rpx;
52 | }
53 |
54 | .user-jy-text {
55 | color: #999;
56 | font-size: 14px;
57 | line-height: 200%;
58 | align-self: flex-end;
59 | }
60 |
61 | .book-list {
62 | display: flex;
63 | flex-direction: column;
64 | align-items: stretch;
65 | padding: 5rpx 30rpx 25rpx 30rpx;
66 | }
67 |
68 | .choose-type {
69 | display: flex;
70 | flex-direction: row;
71 | align-items: stretch;
72 | padding: 10rpx 30rpx 0rpx 30rpx;
73 | margin: 10rpx 10rpx 0 10rpx;
74 | }
75 |
76 | .current-type {
77 | color: #fff;
78 | line-height: 200%;
79 | background-color: #62adf5;
80 | width: 25%;
81 | border-radius: 10px;
82 | font-size: 10pt;
83 | display: flex;
84 | align-items: center;
85 | justify-content: center;
86 | margin: 0rpx 5rpx 15rpx 5rpx;
87 | }
88 |
89 | .yuan-dian {
90 | width: 10rpx;
91 | height: 10rpx;
92 | border-radius: 5rpx;
93 | background-color: #fff;
94 | }
95 |
96 | .jyjl {
97 | padding-left: 10rpx;
98 | }
99 |
100 | .book-wraper {
101 | display: flex;
102 | flex-direction: column;
103 | align-items: stretch;
104 | justify-content: space-between;
105 | overflow: hidden;
106 | padding: 35rpx 30rpx 10rpx;
107 | margin-bottom: 20rpx;
108 | background: #fff;
109 | border-radius: 3px;
110 | }
111 |
112 | .book-name {
113 | font-size: 21px;
114 | line-height: 135%;
115 | white-space: nowrap;
116 | text-overflow: ellipsis;
117 | overflow: hidden;
118 | color: #6a94cd;
119 | }
120 |
121 | .book-info {
122 | display: flex;
123 | align-items: flex-end;
124 | justify-content: space-between;
125 | margin-top: 25rpx;
126 | font-size: 12px;
127 | color: #888;
128 | }
129 |
130 | .book-date {
131 | display: flex;
132 | align-items: flex-end;
133 | justify-content: space-between;
134 | margin-top: 5rpx;
135 | font-size: 12px;
136 | color: #888;
137 | }
138 |
139 | .yhrq-value {
140 | font-size: 12px;
141 | white-space: nowrap;
142 | text-overflow: ellipsis;
143 | overflow: hidden;
144 | }
145 |
146 | .book-img {
147 | height: 13pt;
148 | width: 13pt;
149 | margin-top: 2pt;
150 | margin-right: 10rpx;
151 | }
152 | button {
153 | margin: 0;
154 | padding: 0;
155 | }
156 | .yjxj {
157 | width: 110rpx;
158 | height: 110rpx;
159 | border-radius: 50rpx;
160 | box-shadow: 2px 2px 5px #999;
161 | background-color: #72adfa;
162 | position: fixed;
163 | left: 75%;
164 | top: 85%;
165 | display: flex;
166 | align-items: center;
167 | justify-content: center;
168 | }
169 | .yjxj-check {
170 | background-color: #1f7bff;
171 | }
172 |
173 | .yjxj text {
174 | color: #fff;
175 | font-size: 14px;
176 | width: 30px;
177 | line-height:1.5;
178 | }
179 |
--------------------------------------------------------------------------------
/pages/core/kb/kb.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#73b4ef",
3 | "navigationBarTitleText": "我的课表",
4 | "backgroundColor": "#73b4ef",
5 | "enablePullDownRefresh": true
6 | }
--------------------------------------------------------------------------------
/pages/core/kjs/kjs.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#9f8bea",
3 | "navigationBarTitleText": "空教室",
4 | "backgroundColor": "#9f8bea"
5 | }
--------------------------------------------------------------------------------
/pages/core/kjs/kjs.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{remind}}
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | {{item}}
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | {{item}}
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | {{item}}
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 | {{item.time}}
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | {{item}}
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 | {{item}}
81 |
82 |
83 |
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/pages/core/kjs/kjs.wxss:
--------------------------------------------------------------------------------
1 | /**kjs.wxss**/
2 |
3 | page {
4 | position: relative;
5 | height: 100%;
6 | }
7 |
8 | .container {
9 | background: #fff;
10 | padding-bottom: 480rpx;
11 | box-sizing: border-box;
12 | }
13 |
14 | scroll-view {
15 | width:auto;
16 | }
17 |
18 | /* ==========================================================================
19 | main-roomUl
20 | ============================================================================ */
21 | .main-roomUl {
22 |
23 | display: flex;
24 | flex-flow: column nowrap;
25 | padding: 30rpx 45rpx;
26 | height: 600px;
27 | }
28 | .roomUl-floor {
29 |
30 | display: flex;
31 | /*width: 600rpx;*/
32 | flex-flow: column nowrap;
33 | margin-top: 20rpx;
34 | padding: 0 0 0 65rpx;
35 | /*background: url('/images/core/kjs/classroom-icon.png') no-repeat;*/
36 | /*微信暂不支持静态bgimg文件,改用服务器url*/
37 | background: url('https://cache.gxgkcat.com/wxapp/core/kjs/classroom-icon.png') no-repeat;
38 | background-size: 30rpx 25rpx;
39 | background-position: 15rpx 8rpx;
40 | }
41 | .floor {
42 |
43 | flex: 1;
44 | width: 600rpx;
45 | display: flex;
46 | flex-wrap: wrap;
47 | }
48 | .floor text {
49 |
50 | padding-bottom: 25rpx;
51 | width: 120rpx;
52 | font-size: 11pt;
53 | letter-spacing: 0.1rem;
54 | text-align: center;
55 | }
56 |
57 | /* ==========================================================================
58 | main-condition
59 | ============================================================================ */
60 | .main-condition {
61 |
62 | position: fixed;
63 | bottom: 0;
64 | left: 0;
65 | z-index: 100;
66 | display: flex;
67 | flex-flow: column wrap;
68 | width: 100%;
69 | height: 480rpx;
70 | border-top: 1rpx solid #F1F1F2;
71 | padding-bottom: env(safe-area-inset-bottom);
72 | padding-bottom: constant(safe-area-inset-bottom);
73 | }
74 | .condition {
75 |
76 | box-sizing: border-box;
77 | padding: 0;
78 | width: 100%;
79 | height: 120rpx;
80 | white-space: nowrap;
81 | }
82 | .condition-li {
83 |
84 | display: inline-block;
85 | width: 111rpx;
86 | height: 120rpx;
87 | line-height: 120rpx;
88 | text-align: center;
89 | }
90 | .building-condition .condition-li {
91 | width: 115rpx;
92 | }
93 | .day-condition .condition-li {
94 | width: 115rpx;
95 | }
96 | .week-active,
97 | .day-active,
98 | .classTime-active,
99 | .building-active {
100 | color: #FFF;
101 | font-weight: 900;
102 | }
103 | .scroll-space {
104 |
105 | display: inline-block;
106 | width: 30rpx;
107 | height: 30rpx;
108 | }
109 |
110 |
111 | /* main-condition > condition-week
112 | ============================================================================ */
113 | .condition-week {
114 |
115 | background-color: #FBFAF8;
116 | }
117 | .week-active {
118 |
119 | /*background: url('/images/core/kjs/week-icon.png') no-repeat;*/
120 | /*微信暂不支持静态bgimg文件,改用服务器url*/
121 | background: url('https://cache.gxgkcat.com/wxapp/core/kjs/week-icon.png') no-repeat;
122 | background-size: 100rpx 100rpx;
123 | background-position: 50% 50%;
124 | }
125 |
126 |
127 | /* main-condition > condition-day
128 | ============================================================================ */
129 | .condition-day {
130 |
131 | background-color: #F1F1F2;
132 | }
133 | .day-active {
134 |
135 | /*background: url('/images/core/kjs/day-icon.png') no-repeat;*/
136 | /*微信暂不支持静态bgimg文件,改用服务器url*/
137 | background: url('https://cache.gxgkcat.com/wxapp/core/kjs/day-icon.png') no-repeat;
138 | background-size: 100rpx 100rpx;
139 | background-position: 50% 50%;
140 | }
141 |
142 | /* main-condition > condition-classTime
143 | ============================================================================ */
144 | .condition-classTime {
145 |
146 | background-color: #FBFAF8;
147 | overflow: hidden;
148 | }
149 | .classTime-active {
150 |
151 | /*background: url('/images/core/kjs/classTime-icon.png') no-repeat;*/
152 | /*微信暂不支持静态bgimg文件,改用服务器url*/
153 | background: url('https://cache.gxgkcat.com/wxapp/core/kjs/classTime-icon.png') no-repeat;
154 | background-size: 100rpx 100rpx;
155 | background-position: 50% 50%;
156 | }
157 |
158 | /* main-condition > condition-building
159 | ============================================================================ */
160 | .condition-building {
161 |
162 | background-color: #F1F1F2;
163 | overflow: hidden;
164 | }
165 | .building-active {
166 |
167 | /*background: url('/images/core/kjs/building-icon.png') no-repeat;*/
168 | /*微信暂不支持静态bgimg文件,改用服务器url*/
169 | background: url('https://cache.gxgkcat.com/wxapp/core/kjs/building-icon.png') no-repeat;
170 | background-size: 100rpx 100rpx;
171 | background-position: 50% 50%;
172 | }
173 |
--------------------------------------------------------------------------------
/pages/core/ks/ks.js:
--------------------------------------------------------------------------------
1 | //ks.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | remind: '加载中',
7 | list: [],
8 | first: 1,
9 | teacher: false,
10 | id: '',
11 | name: '',
12 | share_id: ''
13 | },
14 | togglePage: function (e) {
15 | var id = e.currentTarget.id, data = {};
16 | data.show = [];
17 | for (var i = 0, len = this.data.class.length; i < len; i++) {
18 | data.show[i] = false;
19 | }
20 | if (this.data.first) {
21 | this.setData(data);
22 | this.data.first = 0;
23 | }
24 | data.show[id] = !this.data.show[id];
25 | this.setData(data);
26 | },
27 | //分享
28 | onShareAppMessage: function () {
29 | var id = this.data.share_id
30 | return {
31 | title: this.data.name + '的考试安排',
32 | desc: '莞香小喵 - 考试安排',
33 | path: `/pages/index/index?r=/pages/core/ks/ks|id:${id}`
34 | };
35 | },
36 | //下拉更新
37 | onPullDownRefresh: function () {
38 | var _this = this;
39 | _this.loginHandler({
40 | id: '',
41 | });
42 | },
43 | onLoad: function (options) {
44 | var _this = this;
45 | app.loginLoad().then(function () {
46 | _this.loginHandler.call(_this, options);
47 | });
48 | },
49 | //让分享时自动登录
50 | loginHandler: function (options) {
51 | var _this = this;
52 | var data = {
53 | share_id: options.id || ''
54 | };
55 | //判断并读取缓存
56 | if (app.cache.ks && !options.id) {
57 | ksRender(app.cache.ks);
58 | }
59 | function ksRender(list) {
60 | if (!list || !list.length) {
61 | _this.setData({
62 | remind: '无考试安排'
63 | });
64 | return false;
65 | }
66 | var days = ['一', '二', '三', '四', '五', '六', '日'];
67 | for (var i = 0, len = list.length; i < len; ++i) {
68 | list[i].open = false;
69 | list[i].index = i;
70 | list[i].day = days[list[i].day - 1];
71 | list[i].time = list[i].time.trim().replace('—', '~');
72 | //list[i].lesson = list[i].lesson.replace(',','-');
73 | //倒计时提醒
74 | if (list[i].days > 0) {
75 | list[i].countdown = '还有' + list[i].days + '天考试';
76 | list[i].place = '(' + list[i].time + ')' + list[i].room;
77 | } else if (list[i].days < 0) {
78 | list[i].countdown = '考试已过了' + (-list[i].days) + '天';
79 | list[i].place = '';
80 | } else {
81 | list[i].countdown = '今天考试';
82 | list[i].place = '(' + list[i].time + ')' + list[i].room;
83 | }
84 | }
85 | list[0].open = true;
86 | _this.setData({
87 | list: list,
88 | remind: ''
89 | });
90 | }
91 | wx.showNavigationBarLoading();
92 | app.wx_request("/exam/api_exam_schedule", "GET", data).then(function (res) {
93 | if (res.data && res.data.status === 200) {
94 | var data = res.data.data;
95 | if (data) {
96 | if (!options.id) {
97 | //保存考试缓存
98 | app.saveCache('ks', data.exam);
99 | }
100 | ksRender(data.exam);
101 | _this.setData({
102 | id: data.account,
103 | name: data.real_name,
104 | share_id: data.share_id
105 | });
106 | } else { _this.setData({ remind: '暂无数据' }); }
107 |
108 | } else {
109 | app.removeCache('ks');
110 | _this.setData({
111 | remind: res.data.msg || '未知错误'
112 | });
113 | }
114 | wx.hideNavigationBarLoading();
115 | wx.stopPullDownRefresh();
116 | }).catch(function (res) {
117 | if (_this.data.remind == '加载中') {
118 | _this.setData({
119 | remind: '网络错误'
120 | });
121 | }
122 | console.warn('网络错误');
123 | wx.hideNavigationBarLoading();
124 | wx.stopPullDownRefresh();
125 | })
126 | },
127 | // 展示考试详情
128 | slideDetail: function (e) {
129 | var id = e.currentTarget.dataset.id,
130 | list = this.data.list;
131 | // 每次点击都将当前open换为相反的状态并更新到视图,视图根据open的值来切换css
132 | for (var i = 0, len = list.length; i < len; ++i) {
133 | if (i == id) {
134 | list[i].open = !list[i].open;
135 | } else {
136 | list[i].open = false;
137 | }
138 | }
139 | this.setData({
140 | list: list
141 | });
142 | }
143 | });
144 |
--------------------------------------------------------------------------------
/pages/core/ks/ks.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#73b4ef",
3 | "navigationBarTitleText": "考试安排",
4 | "backgroundColor": "#73b4ef"
5 | }
--------------------------------------------------------------------------------
/pages/core/ks/ks.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{remind}}
9 |
10 |
11 |
12 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | 【{{item.type}}】{{item.course}}
29 |
30 |
31 | {{item.countdown}}
32 | {{item.place}}
33 |
34 |
35 |
36 |
37 |
38 |
39 | 类型
40 | {{item.type}}
41 |
42 |
43 | 人数
44 | {{item.exam_num}}
45 |
46 |
47 | 日期
48 | {{item.date}}(第{{item.week}}周-周{{item.day}})
49 |
50 |
51 | 时间
52 | {{item.time}}{{item.lesson ? '('+item.lesson+')':''}}
53 |
54 |
55 | 地点
56 | {{item.room}}
57 |
58 |
59 |
60 | 主监考
61 | {{item.main_supervisor}}
62 |
63 |
64 | 手机
65 | {{item.main_supervisor_phone}}
66 |
67 |
68 | 副监考
69 | {{item.supervisor?item.supervisor:'无'}}
70 |
71 |
72 | 手机
73 | {{item.supervisor_phone}}
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/pages/core/ks/ks.wxss:
--------------------------------------------------------------------------------
1 | /**ks.wxss**/
2 | .container{
3 | padding-left: 30rpx;
4 | padding-right: 30rpx;
5 | background-color: #f7f7f7;
6 | }
7 | .ks-header{
8 | display: flex;
9 | flex-flow: row nowrap;
10 | justify-content: space-between;
11 | align-items: center;
12 | padding: 50rpx 0;
13 | }
14 | .ks-text{
15 | display: flex;
16 | flex-flow: column nowrap;
17 | justify-content: flex-start;
18 | padding-left: 25rpx;
19 | }
20 | .ks-header-title{
21 | font-size: 20pt;
22 | font-weight: bold;
23 | line-height: 150%;
24 | margin-bottom: 15rpx;
25 | color: #222;
26 | }
27 | .ks-header-info, .ks-header-info-ksName{
28 | font-size: 11pt;
29 | line-height: 160%;
30 | color: #888;
31 | }
32 |
33 | .ks-bg{
34 | display: block;
35 | width: 200rpx;
36 | height: 200rpx;
37 | padding-right: 5rpx;
38 | opacity: .3;
39 | }
40 |
41 | .ks-class-ctn{
42 | display: flex;
43 | flex-flow: column nowrap;
44 | align-items: stretch;
45 | }
46 |
47 | .ks-class-item {
48 | display: flex;
49 | flex-direction: column;
50 | font-size: 11pt;
51 | padding: 0 40rpx;
52 | margin-bottom: 20rpx;
53 | background-color: #fff;
54 | border-radius: 3px;
55 | }
56 | .ks-hd {
57 | display: flex;
58 | align-items: center;
59 | justify-content: space-between;
60 | height: 145rpx;
61 | }
62 |
63 | .ks-hd-left {
64 | flex: 1;
65 | display: flex;
66 | flex-direction: column;
67 | overflow: hidden;
68 | padding-right: 30rpx;
69 | }
70 |
71 | /**列表展开时标题的颜色变化 **/
72 | .ks-hd-name {
73 | font-size: 12pt;
74 | line-height: 225%;
75 | letter-spacing: 1px;
76 | transition: color .15s ease-in-out;
77 | overflow: hidden;
78 | white-space: nowrap;
79 | text-overflow: ellipsis;
80 | }
81 | .ks-item-show .ks-hd-name {
82 | transition: color .15s ease-in-out;
83 | color: #73b4ef;
84 | }
85 | .ks-hd-other {
86 | font-size: 10pt;
87 | line-height: 100%;
88 | color: #aaa;
89 | }
90 | .ks-item-show .ks-hd-place {
91 | display: none;
92 | }
93 |
94 | /**列表展开的icon旋转 **/
95 | .ks-item-icon{
96 | flex-shrink: 0;
97 | width: 30rpx;
98 | height: 30rpx;
99 | transition: transform .2s;
100 | transform: rotate(0deg);
101 | }
102 | .ks-item-show .ks-item-icon{
103 | transform: rotate(180deg);
104 | }
105 |
106 | .ks-detail {
107 | display: none;
108 | flex-direction: column;
109 | overflow: hidden;
110 | padding: 0;
111 | }
112 | .ks-item-show .ks-detail {
113 | display: flex;
114 | padding: 5rpx 0 15rpx;
115 | }
116 | .ks-detail-item {
117 | display: flex;
118 | align-items: center;
119 | padding: 25rpx 5rpx 20rpx;
120 | border-top: 1px solid #eee;
121 | }
122 | .ks-detail-label {
123 | color: #888;
124 | width: 55pt;
125 | }
126 | .ks-detail-content {
127 | flex: 1;
128 | }
129 | .ks-jxb {
130 | /*background: url('/images/core/xs.png') no-repeat;*/
131 | /*微信暂不支持静态bgimg文件,改用服务器url*/
132 | background: url('https://cache.gxgkcat.com/wxapp/core/xs.png') no-repeat;
133 | background-size: 30rpx 30rpx;
134 | background-position: 0 50%;
135 | padding-left: 40rpx;
136 | color: #888;
137 | }
--------------------------------------------------------------------------------
/pages/core/mht/mht.js:
--------------------------------------------------------------------------------
1 | Page({
2 |
3 | /**
4 | * 页面的初始数据
5 | */
6 | data: {
7 |
8 | },
9 |
10 | /**
11 | * 生命周期函数--监听页面加载
12 | */
13 | onLoad: function (options) {
14 |
15 | },
16 |
17 | /**
18 | * 生命周期函数--监听页面初次渲染完成
19 | */
20 | onReady: function () {
21 |
22 | },
23 |
24 | /**
25 | * 生命周期函数--监听页面显示
26 | */
27 | onShow: function () {
28 |
29 | },
30 |
31 | /**
32 | * 生命周期函数--监听页面隐藏
33 | */
34 | onHide: function () {
35 |
36 | },
37 |
38 | /**
39 | * 生命周期函数--监听页面卸载
40 | */
41 | onUnload: function () {
42 |
43 | },
44 |
45 | /**
46 | * 页面相关事件处理函数--监听用户下拉动作
47 | */
48 | onPullDownRefresh: function () {
49 |
50 | },
51 |
52 | /**
53 | * 页面上拉触底事件的处理函数
54 | */
55 | onReachBottom: function () {
56 |
57 | },
58 |
59 | /**
60 | * 用户点击右上角分享
61 | */
62 | onShareAppMessage: function () {
63 | return {
64 | title: '喵话题 - 知无不谈,就你话多',
65 | path: `/pages/index/index?r=/pages/core/mht/mht`,
66 | imageUrl: "https://qn.gxgk.cc/ui/topic_share.jpg"
67 | };
68 | }
69 | })
--------------------------------------------------------------------------------
/pages/core/mht/mht.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/pages/core/mht/mht.wxml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pages/core/mht/mht.wxss:
--------------------------------------------------------------------------------
1 | /* pages/core/mht/mht.wxss */
--------------------------------------------------------------------------------
/pages/core/xs/xs.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#7acfa6",
3 | "navigationBarTitleText": "学生查询",
4 | "backgroundColor": "#7acfa6",
5 | "enablePullDownRefresh": false
6 | }
--------------------------------------------------------------------------------
/pages/core/xs/xs.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | 学生名单 ({{main.total}}人)
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | {{item.activeName}}{{item.normalXm}}
53 |
54 |
55 | {{item.normalXm}}{{item.activeName}}
56 |
57 | 学号:
58 | {{item.activeXh}}{{item.normalXh}}
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 | 性别
72 | {{item.sex}}
73 |
74 |
75 | 系别
76 | {{item.faculty}}
77 |
78 |
79 | 专业名
80 | {{item.specialty}}
81 |
82 |
83 | 班级
84 | {{item.class_name}}
85 |
86 |
87 | 课表
88 | 点击查看
89 |
90 |
91 | 成绩
92 | 点击查看
93 |
94 |
95 | 考试安排
96 | 点击查看
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 | {{main.message}}
105 |
106 |
107 |
108 |
109 |
110 | 帮助
111 |
112 |
113 |
114 | 1、根据姓名、学号、班级、专业等查询
115 |
116 | 您可以通过输入姓名、学号、班级、专业等学生信息的完整关键词进行精确搜索,也可以输入学生信息的前一部分进行模糊搜索。例如搜索 “陈” ,将会搜索到所有姓‘陈’的同学。
117 |
118 | 2、根据课程教学班查询
119 |
120 | 您可以通过输入 ‘年级’+‘专业’+‘班号’ 进行精确搜索。如搜索 “14软件本科1班” ,将会搜索到14软件本科1班的学生名单。
121 |
122 | 3、该项功能仅提供老师使用
123 |
124 | 学生列表仅供参考,该学生在该系统上绑定,才能搜索到数据
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 | {{messageObj.message}}
133 |
134 |
--------------------------------------------------------------------------------
/pages/core/ykt/ykt.js:
--------------------------------------------------------------------------------
1 | //ykt.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | remind: '加载中',
7 | canvas_remind: '加载中',
8 | fontSize: 12, // 字体大小, 24rpx=12px
9 | count: 10, // 展示的消费次数
10 | width: 0, // 画布宽
11 | height: 300, // 画布高, wxss给定canvas高300px
12 | dict: [], // 所有消费数据
13 | points: [], // 点的集合(包括点的横坐标x、纵坐标y、当前点的详情detail)
14 | costArr: [], // 消费金额集合
15 | balanceArr: [], // 余额金额集合
16 | tapDetail: {}, // 每个点对应的详情集合
17 | lineLeft: 0, // 详情垂直线的初始左边距
18 | gridMarginLeft: 35,// 表格左边距
19 | gridMarginTop: 20, // 表格上边距
20 | balance: 0, // 当前余额(余额卡片上的展示数据)
21 | last_time: '',
22 | ykt_id: '',
23 | switchBtn: true, // true:余额 or false:交易额
24 | options: {},
25 | currentIndex: 0, // 当前点的索引,切换视图的时候保持当前详情
26 | polling: 10 // 轮询次数
27 | },
28 | onLoad: function () {
29 | var _this = this;
30 | _this.loadData();
31 | },
32 | loadData: function () {
33 | var _this = this;
34 | // if (!app.user.is_bind_mealcard) {
35 | // wx.redirectTo({
36 | // url: '/pages/more/append?type=mealcard'
37 | // })
38 | // return false;
39 | // }
40 | //判断并读取缓存
41 | if (app.cache.ykt) { _this.yktRender(app.cache.ykt); }
42 | _this.getData();
43 | },
44 | yktRender: function (data) {
45 | this.setData({
46 | ykt_info: data,
47 | remind: '',
48 | });
49 | },
50 | getData: function () {
51 | var _this = this;
52 | wx.request({
53 | url: app.server + '/api/users/get_mealcard',
54 | method: 'POST',
55 | data: {
56 | session_id: app.user.id
57 | },
58 | success: function (res) {
59 | if (res.data && res.data.status === 200) {
60 | // 停止异步轮询
61 | _this.data.polling = 0;
62 | var info = res.data.data;
63 | if (info) {
64 | //保存一卡通缓存
65 | app.saveCache('ykt', info);
66 | _this.yktRender(info);
67 | } else { _this.setData({ remind: '暂无数据' }); }
68 |
69 | } else if (res.data && res.data.status === 404) {
70 | // 异步等待中
71 | } else {
72 | // 停止异步轮询
73 | _this.data.polling = 0;
74 | app.removeCache('ykt');
75 | _this.setData({
76 | remind: res.data.message || '未知错误'
77 | });
78 | }
79 | },
80 | fail: function (res) {
81 | if (_this.data.remind == '加载中') {
82 | _this.setData({
83 | remind: '网络错误'
84 | });
85 | }
86 | console.warn('网络错误');
87 | },
88 | complete: function () {
89 | wx.hideNavigationBarLoading();
90 | setTimeout(function () {
91 | if (_this.data.polling == 1){
92 | //轮询失败
93 | _this.setData({ remind: '服务器繁忙,请稍后再试' });
94 | } else if (_this.data.polling > 0) {
95 | _this.data.polling = _this.data.polling - 1;
96 | _this.getData();
97 | }
98 | }, 2000);
99 | }
100 | });
101 | }
102 | });
--------------------------------------------------------------------------------
/pages/core/ykt/ykt.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#EC92B7",
3 | "navigationBarTitleText": "校园卡" ,
4 | "backgroundColor": "#EC92B7",
5 | "enablePullDownRefresh": false
6 | }
--------------------------------------------------------------------------------
/pages/core/ykt/ykt.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{remind}}
9 |
10 |
11 |
12 |
13 |
14 | CAMPUS CARD
15 |
16 |
17 |
18 |
19 |
20 |
21 | 余额
22 |
23 | {{ykt_info.mainFare}}元
24 |
25 |
26 |
27 | 卡号:{{ykt_info.outid}}
28 | 更新时间:{{ykt_info.lasttime}}
29 |
30 |
31 |
32 |
33 | 校园卡详情
34 |
35 |
36 |
37 | 卡片状态
38 | {{ykt_info.status}}
39 |
40 |
41 | 用电支出
42 | {{ykt_info.electric_xffare?ykt_info.electric_xffare + '元':'获取不到数据'}}
43 |
44 |
45 | 用电比重
46 | {{ykt_info.electric_xffare_per * 100}}%
47 |
48 |
49 | 餐费支出
50 | {{ykt_info.meal_xffare?ykt_info.meal_xffare+'元':'获取不到数据'}}
51 |
52 |
53 | 餐费比重
54 | {{ykt_info.meal_xffare_per * 100}}%
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/pages/core/ykt/ykt.wxss:
--------------------------------------------------------------------------------
1 | /**ykt.wxss**/
2 |
3 | .container {
4 | background-color: #f7f7f7;
5 | padding: 30rpx;
6 | }
7 |
8 | /* 今日余额 */
9 |
10 | .ykt-card {
11 | display: flex;
12 | flex-direction: column;
13 | height: 350rpx;
14 | margin: 15rpx 50rpx 45rpx;
15 | background: linear-gradient(to top right,rgba(255,93,166,0.6), rgba(255,93,166,1));
16 | border-radius: 15rpx;
17 | box-shadow: 5rpx 5rpx 15rpx #ccc;
18 | }
19 |
20 | .ykt-line {
21 | height: 80rpx;
22 | margin: 10rpx 0 0;
23 | display: flex;
24 | align-items: center;
25 | justify-content: space-between;
26 | padding: 0 30rpx;
27 | }
28 | .ykt-balance {
29 | font-size: 15px;
30 | color: #fff;
31 | }
32 | .two-balls {
33 | display: flex;
34 | position: relative;
35 | }
36 | .ball-one,.ball-two {
37 | width: 50rpx;
38 | height: 50rpx;
39 | border-radius: 25rpx;
40 | background-color: #fff;
41 | opacity: 0.7;
42 | }
43 | .ball-one {
44 | position: absolute;
45 | right: 30rpx;
46 | }
47 |
48 | .ykt-content {
49 | flex: 1;
50 | display: flex;
51 | align-items: center;
52 | justify-content: center;
53 | flex-direction: column;
54 | margin-top: 0rpx;
55 | }
56 |
57 | .ykt-ye-name {
58 | font-size: 11pt;
59 | line-height: 35rpx;
60 | margin-left: -130px;
61 | color: #fff;
62 | }
63 |
64 | .ykt-ye-money {
65 | text-align: center;
66 | font-size: 10pt;
67 | color: #fff;
68 | margin: 15rpx 0 30rpx 0;
69 | }
70 |
71 | .ykt-ye-value {
72 | font-size: 36pt;
73 | font-weight: bold;
74 | line-height: 80rpx;
75 | padding-right: 25rpx;
76 | }
77 |
78 |
79 | .ykt-card-more {
80 | display: flex;
81 | justify-content: space-between;
82 | align-items: flex-end;
83 | margin: 5rpx 25rpx 30rpx 25rpx;
84 | line-height: 100%;
85 | color: #fff;
86 | }
87 |
88 | .ykt-ye-time {
89 | font-size: 9pt;
90 | }
91 |
92 | .ykt-ye-id {
93 | font-size: 10pt;
94 | width: 250rpx;
95 | overflow: hidden;
96 | white-space:nowrap;
97 | text-overflow:ellipsis;
98 | }
99 |
100 | /* canvas */
101 |
102 | .grid-remind {
103 | padding-left: 40rpx;
104 | color: #999;
105 | margin-bottom: 25rpx;
106 | }
107 |
108 | /* 余额、消费切换按钮 */
109 |
110 | .balance-consumption {
111 | display: flex;
112 | margin: 0 45rpx 10rpx;
113 | border-radius: 5px;
114 | box-shadow: 0 0 10rpx #ddd;
115 | overflow: hidden;
116 | }
117 |
118 | .balance-consumption text {
119 | flex: 1;
120 | flex-shrink: 0;
121 | line-height: 150%;
122 | font-size: 10pt;
123 | padding: 12rpx 0;
124 | font-weight: bold;
125 | text-align: center;
126 | background: #fff;
127 | }
128 |
129 | .balance-consumption .current-btn {
130 | color: #fff;
131 | background: #ffcb63;
132 | }
133 |
134 | /* 网格 */
135 |
136 | .grid-wraper {
137 | display: flex;
138 | align-items: center;
139 | justify-content: center;
140 | position: relative;
141 | margin-top: 50rpx;
142 | width: 100%;
143 | height: 300px;
144 | }
145 |
146 | #ykt-canvas {
147 | position: absolute;
148 | top: 0;
149 | right: 0;
150 | left: 0;
151 | bottom: 0;
152 | z-index: 1;
153 | width: 100%;
154 | height: 100%;
155 | }
156 |
157 | /* 详情竖线 */
158 |
159 | .line {
160 | position: absolute;
161 | z-index: 999;
162 | top: 15px;
163 | height: 265px;
164 | width: 3px;
165 | background: #e78ab0;
166 | }
167 |
168 | /* 横纵坐标的含义 */
169 |
170 | .y-text {
171 | position: absolute;
172 | left: 15rpx;
173 | top: -40rpx;
174 | padding: 0 10rpx;
175 | font-size: 24rpx;
176 | color: #999;
177 | }
178 |
179 | .x-text {
180 | position: absolute;
181 | right: 25rpx;
182 | bottom: -10rpx;
183 | padding: 0 10rpx;
184 | font-size: 24rpx;
185 | color: #999;
186 | }
187 |
188 | /* 详情盒子 */
189 |
190 | .detail-remind {
191 | font-size: 9pt;
192 | line-height: 100%;
193 | color: #aaa;
194 | text-align: center;
195 | margin: 30rpx 5rpx;
196 | }
197 |
198 | .ykt-detail-wraper {
199 | display: flex;
200 | flex-direction: column;
201 | margin: 0 30rpx 30rpx;
202 | background: #fff;
203 | border-radius: 3px;
204 | }
205 |
206 | .ykt-detail {
207 | display: flex;
208 | flex-direction: column;
209 | padding: 0 10rpx;
210 | overflow: hidden;
211 | }
212 |
213 | .ykt-head {
214 | display: flex;
215 | justify-content: center;
216 | align-items: center;
217 | height: 120rpx;
218 | }
219 |
220 | .ykt-type-name {
221 | font-size: 11pt;
222 | }
223 |
224 | .detail-list {
225 | display: flex;
226 | flex-direction: column;
227 | align-items: stretch;
228 | padding: 0 35rpx 10rpx;
229 | }
230 |
231 | .detail-item {
232 | display: flex;
233 | justify-content: space-between;
234 | align-items: center;
235 | padding: 25rpx 5rpx 20rpx;
236 | border-top: 1px solid #eee;
237 | }
238 |
239 | .detail-item-label {
240 | color: #888;
241 | width: 60pt;
242 | }
243 |
244 | .detail-item-value {
245 | flex: 1;
246 | }
247 |
--------------------------------------------------------------------------------
/pages/core/zs/detail/detail.js:
--------------------------------------------------------------------------------
1 | //detail.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | remind: '加载中',
7 | xfData: [], // 书籍数据
8 | listAnimation: {}, // 列表动画
9 | book_url: ''
10 | },
11 | //分享
12 | onShareAppMessage: function () {
13 | return {
14 | title: this.data.book_name + ' - 书籍详情 - 莞香小喵',
15 | desc: '广东科技学院唯一的小程序',
16 | path: '/pages/index/index?r=/pages/core/zs/detail/detail|url:' + this.data.book_url
17 | };
18 | },
19 | // 页面加载
20 | onLoad: function (options) {
21 | var _this = this;
22 | //判断并读取缓存
23 | _this.data.book_url = options.url;
24 | //if (app.cache.zs) { xfRender(app.cache.zs); }
25 | function zsRender(info) {
26 | // 为每一本书设置是否显示当前数据详情的标志open, false表示不显示
27 | var list = info.rows;
28 | for (var i = 0, len = list.length; i < len; ++i) {
29 | list[i].open = false;
30 | }
31 | list[0].open = true;
32 | _this.setData({
33 | remind: '',
34 | book_name: info.book_name,
35 | xfData: list,
36 | catalog: info.catalog
37 | });
38 | }
39 | wx.showNavigationBarLoading();
40 | wx.request({
41 | url: app.server + "/library/book_detail",
42 | method: 'GET',
43 | data: {
44 | url: options.url
45 | },
46 | success: function (res) {
47 | if (res.data && res.data.code === 200) {
48 | var info = res.data.data;
49 | if (info) {
50 | zsRender(info);
51 | } else { _this.setData({ remind: '暂无数据' }); }
52 |
53 | } else {
54 | app.removeCache('zs');
55 | _this.setData({
56 | remind: res.data.message || '未知错误'
57 | });
58 | }
59 |
60 | },
61 | fail: function (res) {
62 | if (_this.data.remind == '加载中') {
63 | _this.setData({
64 | remind: '网络错误'
65 | });
66 | }
67 | console.warn('网络错误');
68 | },
69 | complete: function () {
70 | wx.hideNavigationBarLoading();
71 | }
72 | });
73 | },
74 |
75 | // 展示书籍详情
76 | slideDetail: function (e) {
77 |
78 | var id = e.currentTarget.id,
79 | list = this.data.xfData;
80 |
81 | // 每次点击都将当前open换为相反的状态并更新到视图,视图根据open的值来切换css
82 | for (var i = 0, len = list.length; i < len; ++i) {
83 | if (list[i].access_num == id) {
84 | list[i].open = !list[i].open;
85 | } else {
86 | list[i].open = false;
87 | }
88 | }
89 | this.setData({
90 | xfData: list
91 | });
92 | }
93 | });
--------------------------------------------------------------------------------
/pages/core/zs/detail/detail.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#9f8bea",
3 | "navigationBarTitleText": "书籍详情",
4 | "backgroundColor": "#9f8bea",
5 | "enablePullDownRefresh": false
6 | }
--------------------------------------------------------------------------------
/pages/core/zs/detail/detail.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{remind}}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | {{book_name}}
17 |
18 |
19 | {{itemName}}
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | {{itemName.book_name}} ({{itemName.status}})
33 |
34 |
35 |
36 |
37 | 索书号
38 | {{itemName.callno}}
39 |
40 |
41 | 条码号
42 | {{itemName.barcode}}
43 |
44 |
45 | 登录号
46 | {{itemName.access_num}}
47 |
48 |
49 | 藏书部门
50 | {{itemName.collect_dept}}
51 |
52 |
53 | 流通状态
54 | {{itemName.status}}
55 |
56 |
57 | 应还日期
58 | {{itemName.deadline}}
59 |
60 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/pages/core/zs/detail/detail.wxss:
--------------------------------------------------------------------------------
1 | /**xf.wxss**/
2 |
3 | .container {
4 | padding-left: 30rpx;
5 | padding-right: 30rpx;
6 | background-color: #f7f7f7;
7 | }
8 |
9 | /** 学费title **/
10 |
11 | .xf-title-wraper {
12 | display: flex;
13 | justify-content: space-between;
14 | padding: 50rpx 0;
15 | }
16 |
17 | .xf-title-info {
18 | display: flex;
19 | flex-direction: column;
20 | justify-content: center;
21 | padding-left: 25rpx;
22 | }
23 |
24 | .xf-stu-info {
25 | display: flex;
26 | flex-direction: column;
27 | }
28 |
29 | .xf-stu-info text {
30 | font-size: 11pt;
31 | line-height: 160%;
32 | color: #888;
33 | }
34 |
35 | .xf-title {
36 | font-size: 20pt;
37 | font-weight: bold;
38 | line-height: 150%;
39 | margin-bottom: 15rpx;
40 | color: #222;
41 | }
42 |
43 | .xf-title-icon {
44 | display: block;
45 | width: 200rpx;
46 | height: 200rpx;
47 | padding-right: 5rpx;
48 | opacity: 0.3;
49 | }
50 |
51 | /** 学费类型 **/
52 |
53 | .xf-types {
54 | display: flex;
55 | flex-direction: column;
56 | }
57 |
58 | .xf-type-item {
59 | display: flex;
60 | flex-direction: column;
61 | font-size: 11pt;
62 | padding: 0 40rpx;
63 | margin-bottom: 20rpx;
64 | background-color: #fff;
65 | border-radius: 3px;
66 | }
67 |
68 | .xf-head {
69 | display: flex;
70 | align-items: center;
71 | justify-content: space-between;
72 | height: 145rpx;
73 | }
74 |
75 | .xf-detail {
76 | display: none;
77 | flex-direction: column;
78 | overflow: hidden;
79 | padding: 0;
80 | }
81 |
82 | .xf-item-show .xf-detail {
83 | display: flex;
84 | padding: 5rpx 0 15rpx;
85 | }
86 |
87 | .xf-detail-item {
88 | display: flex;
89 | align-items: center;
90 | padding: 25rpx 5rpx 20rpx;
91 | border-top: 1px solid #eee;
92 | }
93 |
94 | .xf-detail-label {
95 | color: #888;
96 | width: 75pt;
97 | }
98 |
99 | .xf-detail-content {
100 | flex: 1;
101 | }
102 |
103 | /**列表展开的icon旋转 **/
104 |
105 | .xf-item-icon {
106 | width: 30rpx;
107 | height: 30rpx;
108 | transition: transform 0.2s;
109 | transform: rotate(0deg);
110 | }
111 |
112 | .xf-item-show .xf-item-icon {
113 | transform: rotate(180deg);
114 | }
115 |
116 | /**列表展开时标题的颜色变化 **/
117 |
118 | .xf-type-name {
119 | font-size: 12pt;
120 | letter-spacing: 1px;
121 | transition: color 0.15s ease-in-out;
122 | white-space: nowrap;
123 | text-overflow: ellipsis;
124 | overflow: hidden;
125 | }
126 |
127 | .xf-item-show .xf-type-name {
128 | transition: color 0.15s ease-in-out;
129 | color: #8271bf;
130 | }
131 |
132 | .xf-TotalTuition, .xf-ApartmentPay, .xf-CollectingPay {
133 | margin-left: 25rpx;
134 | }
135 |
136 | .xf-MajorTuition, .xf-GradeTuition, .xf-SecMajorTuition {
137 | margin-left: 50rpx;
138 | }
139 |
--------------------------------------------------------------------------------
/pages/core/zs/zs.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#9f8bea",
3 | "navigationBarTitleText": "我要找书",
4 | "backgroundColor": "#9f8bea",
5 | "enablePullDownRefresh": false
6 | }
--------------------------------------------------------------------------------
/pages/core/zs/zs.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | 书籍信息:{{main.total}}本
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | {{item.title}}
62 |
63 | 责任者:{{item.author}}
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 | 出版社
77 | {{item.publishing_house}}
78 |
79 |
80 | 索书号
81 | {{item.index}}
82 |
83 |
84 | 详情
85 | 点击查看
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 | {{main.message}}
94 |
95 |
96 |
97 |
98 |
99 | 帮助
100 |
101 |
102 |
103 | 1.根据题名/作者/主题词等查询
104 |
105 | 例如:围城,可搜索到所有带有围城字样的书籍
106 |
107 | 2.图书馆开放时间
108 |
109 | 周一至周四 10:00-12:00 14:40-21:00
110 | 周 五 10:00-12:00 14:40-17:40
111 | 周六、周日 09:00-12:00 14:40-21:00
112 | 自习室开放时间为每天8:00-23:00
113 | 寒暑假、法定节假日不开放!
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 | {{messageObj.message}}
122 |
123 |
--------------------------------------------------------------------------------
/pages/index/index.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/index/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | {{item.name}}
17 |
18 |
19 |
20 | {{item.name}}
21 |
22 |
23 |
24 |
25 |
26 | {{item.name}}
27 |
28 |
29 |
30 |
31 |
32 |
33 | 请先绑定帐号
34 | 该服务不可用
35 |
36 |
37 |
38 |
39 |
40 |
41 | {{remind}}
42 | 前往绑定
43 |
44 |
45 |
46 |
47 |
48 |
49 | 课表安排
50 | MORE >
51 |
52 |
53 |
54 | 今天没有课~😆
55 |
56 |
57 |
58 |
59 |
60 | {{item[0].name}}
61 | {{item[0].time}}
62 |
63 |
64 | {{item[0].place}}
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | 校园卡
74 | MORE >
75 |
76 |
77 |
78 |
79 | 卡号:{{card.ykt.data.outid}}
80 | 余额:{{card.ykt.data.balance}}元
81 | 更新时间:{{card.ykt.data.last_time}}
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 | 图书馆
90 |
91 |
92 |
93 |
94 |
95 | 图书证:{{card.jy.data.account}}
96 | 过期:{{card.jy.data.licence_end_time}}
97 |
98 |
99 |
100 |
101 |
102 | 逾期欠费:{{card.jy.data.arrears_money}}元
103 | 类型:{{card.jy.data.user_type}}
104 |
105 |
106 |
107 |
108 |
109 | 更多好书
110 | 请点击
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 | 我是一个乖巧的结尾
119 |
120 |
121 |
--------------------------------------------------------------------------------
/pages/more/about.js:
--------------------------------------------------------------------------------
1 | //about.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | version: '',
7 | showLog: false
8 | },
9 | onLoad: function () {
10 | this.setData({
11 | version: app.version,
12 | year: new Date().getFullYear()
13 | });
14 | },
15 | onShareAppMessage: function () {
16 | return {
17 | title: '莞香小喵微信小程序',
18 | desc: '分享你的大学生活',
19 | path: '/pages/more/about'
20 | }
21 | },
22 | toggleLog: function () {
23 | this.setData({
24 | showLog: !this.data.showLog
25 | });
26 | }
27 | });
--------------------------------------------------------------------------------
/pages/more/about.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "关于",
3 | "enablePullDownRefresh": false
4 | }
--------------------------------------------------------------------------------
/pages/more/about.wxss:
--------------------------------------------------------------------------------
1 | /**about.wxss**/
2 | .container{
3 | background: #f4f4f4;
4 | padding: 0;
5 | font-size: 11pt;
6 | }
7 | .header{
8 | position: relative;
9 | width: 100%;
10 | height: 400rpx;
11 | text-align: center;
12 | box-sizing: border-box;
13 | overflow: hidden;
14 | display: flex;
15 | align-items: center;
16 | justify-content: center;
17 | }
18 | .header .title{
19 | position: relative;
20 | width: 600rpx;
21 | height: 200rpx;
22 | z-index: 3;
23 | opacity: .95;
24 | }
25 | .black-cover{
26 | position: absolute;
27 | z-index: 2;
28 | top:0;
29 | left: 0;
30 | width: 100%;
31 | height: 100%;
32 | background: #888;
33 | opacity: .18;
34 | }
35 | .about_bg{
36 | position: absolute;
37 | top:0;
38 | left: 0;
39 | z-index: 1;
40 | width: 100%;
41 | height: 100%;
42 | border-radius: 10rpx;
43 | }
44 | .content{
45 | flex: 1;
46 | }
47 | .version{
48 | height: 100rpx;
49 | background: #fff;
50 | display: flex;
51 | align-items: center;
52 | padding: 0 45rpx;
53 | box-sizing: border-box;
54 | font-size: 13pt;
55 | color: #666;
56 | border-bottom: 1px #e5e5e5 solid;
57 | }
58 | .version-title{
59 | flex: 1;
60 | display: flex;
61 | align-items: center;
62 | }
63 | .title-name{
64 | padding-right: 10rpx;
65 | }
66 | .version-text{
67 | font-size: 10pt;
68 | line-height: 100%;
69 | color: #079df2;
70 | border: 1px solid #079df2;
71 | padding: 5rpx 10rpx;
72 | border-radius: 5rpx;
73 | margin-left: 10rpx;
74 | text-align: center;
75 | }
76 | .version-log-link{
77 | font-size: 12pt;
78 | color: #079df2;
79 | }
80 | .version-log-link:active{
81 | opacity: .8;
82 | }
83 | .log-list{
84 | display: flex;
85 | flex-direction: column;
86 | align-items: stretch;
87 | }
88 | .describe{
89 | width: 100%;
90 | box-sizing: border-box;
91 | padding: 20rpx 45rpx 30rpx;
92 | display: flex;
93 | flex-flow: column nowrap;
94 | color: #545454;
95 | line-height: 175%;
96 | background: #fff;
97 | margin-top: 15rpx;
98 | border-top: 1px #e5e5e5 solid;
99 | border-bottom: 1px #e5e5e5 solid;
100 | }
101 | .desc-title{
102 | display: flex;
103 | font-size: 13pt;
104 | line-height: 200%;
105 | margin-bottom: 15rpx;
106 | }
107 | .desc-v{
108 | flex: 1;
109 | }
110 | .desc-time{
111 | font-size: 11pt;
112 | color: #888;
113 | }
114 | .desc-list{
115 | display: flex;
116 | flex-direction: column;
117 | border-left: 8rpx solid #ddd;
118 | padding-left: 15rpx;
119 | color: #777;
120 | margin-bottom: 15rpx;
121 | font-size: 10pt;
122 | }
123 | .desc-content{
124 | padding-bottom: 15rpx;
125 | }
126 | .footer{
127 | font-size: 10pt;
128 | text-align: center;
129 | padding: 100rpx 0 15rpx;
130 | color: #c2c2c2;
131 | }
132 | .footer-gx{
133 | height: 10pt;
134 | line-height: 10pt;
135 | display: flex;
136 | align-items: stretch;
137 | justify-content: center;
138 | margin-bottom: 5rpx;
139 | }
140 | .footer-gx image{
141 | width: 10pt;
142 | height: 10pt;
143 | margin-right: 5rpx;
144 | }
145 |
--------------------------------------------------------------------------------
/pages/more/append.js:
--------------------------------------------------------------------------------
1 | //append.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | remind: '加载中',
7 | help_status: false,
8 | title: '',
9 | form_id: '',
10 | form_pwd: '',
11 | bind_type: '',
12 | userid_focus: false,
13 | passwd_focus: false,
14 | userid: '',
15 | passwd: '',
16 | angle: 0
17 | },
18 | onLoad: function (options) {
19 | var _this = this;
20 | app.loginLoad().then(function () {
21 | _this.setData({
22 | title: '绑定图书证',
23 | form_id: '图书证卡号',
24 | form_pwd: '图书证密码',
25 | bind_type: 'library'
26 | })
27 | });
28 | },
29 | onReady: function() {
30 | var _this = this;
31 | setTimeout(function() {
32 | _this.setData({
33 | remind: ''
34 | });
35 | }, 1000);
36 | wx.onAccelerometerChange(function(res) {
37 | var angle = -(res.x * 30).toFixed(1);
38 | if (angle > 14) {
39 | angle = 14;
40 | } else if (angle < -14) {
41 | angle = -14;
42 | }
43 | if (_this.data.angle !== angle) {
44 | _this.setData({
45 | angle: angle
46 | });
47 | }
48 | });
49 | },
50 | bind: function() {
51 | var _this = this;
52 | if (app.g_status) {
53 | app.showErrorModal(app.g_status, '绑定失败');
54 | return;
55 | }
56 | if (!_this.data.userid || !_this.data.passwd) {
57 | app.showErrorModal('卡号及密码不能为空', '提醒');
58 | return false;
59 | }
60 | wx.showLoading({
61 | title: '绑定中',
62 | })
63 | var data = {
64 | account: _this.data.userid,
65 | password: _this.data.passwd
66 | };
67 | app.wx_request("/library/xcx_login", 'POST', data).then(function(res) {
68 | if (res.data && res.data.status === 200) {
69 | app.showLoadToast('请稍候');
70 | //清除缓存
71 | if (app.cache) {
72 | app.removeCache('ykt');
73 | app.removeCache('jy');
74 | }
75 | wx.hideLoading();
76 | wx.showToast({
77 | title: '绑定成功',
78 | icon: 'success',
79 | duration: 1500
80 | });
81 | setTimeout(function() {
82 | // 直接跳转回首页
83 | wx.redirectTo({
84 | url: '/pages/core/jy/jy'
85 | })
86 | }, 1500)
87 | } else {
88 | wx.hideToast();
89 | wx.hideLoading();
90 | app.showErrorModal(res.data.msg, '绑定失败');
91 | }
92 | }).catch(function(res) {
93 | wx.hideToast();
94 | wx.hideLoading();
95 | app.showErrorModal(res.errMsg, '绑定失败');
96 | });
97 | },
98 | useridInput: function(e) {
99 | this.setData({
100 | userid: e.detail.value
101 | });
102 | if (e.detail.value.length >= 18) {
103 | wx.hideKeyboard();
104 | }
105 | },
106 | passwdInput: function(e) {
107 | this.setData({
108 | passwd: e.detail.value
109 | });
110 | },
111 | inputFocus: function(e) {
112 | if (e.target.id == 'userid') {
113 | this.setData({
114 | 'userid_focus': true
115 | });
116 | } else if (e.target.id == 'passwd') {
117 | this.setData({
118 | 'passwd_focus': true
119 | });
120 | }
121 | },
122 | inputBlur: function(e) {
123 | if (e.target.id == 'userid') {
124 | this.setData({
125 | 'userid_focus': false
126 | });
127 | } else if (e.target.id == 'passwd') {
128 | this.setData({
129 | 'passwd_focus': false
130 | });
131 | }
132 | },
133 | tapHelp: function(e) {
134 | if (e.target.id == 'help') {
135 | this.hideHelp();
136 | }
137 | },
138 | showHelp: function(e) {
139 | this.setData({
140 | 'help_status': true
141 | });
142 | },
143 | hideHelp: function(e) {
144 | this.setData({
145 | 'help_status': false
146 | });
147 | }
148 | });
--------------------------------------------------------------------------------
/pages/more/append.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": " ",
3 | "enablePullDownRefresh": false,
4 | "disableScroll": true
5 | }
--------------------------------------------------------------------------------
/pages/more/append.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{remind}}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | {{title}}
18 |
32 |
33 | 确认绑定
34 |
35 |
36 |
37 |
38 |
39 | 帮助
40 |
41 |
42 |
43 | 1、账号密码是什么?
44 |
45 | 账号:正方教务系统账号,学生为学号,老师为教工号
46 | 密码:学生初始密码卡号后六位,教室初始密码为教工号
47 | 忘记卡号或者密码请咨询辅导员或教务系统管理人员
48 |
49 |
50 |
51 |
52 |
53 | 帮助
54 |
55 |
56 |
57 | 1、校园卡帐号和密码是什么?
58 |
59 | 卡号:一般写在校园卡背面,丢失请用完美校园的NFC读取或者充电处查看
60 | 密码:初始密码或者已更改密码
61 |
62 | 2、忘记密码?
63 |
64 | ①16级饭卡卡号是身份证
65 | ②16级默认密码为身份证号码后6位,如果身份证最后一位为X,则用0代替
66 | ③15级默认密码为000000
67 | ④其余默认密码为888888
68 | ⑤依旧错误请到到1栋楼下饭卡充值处更改密码
69 |
70 |
71 |
72 |
73 |
74 | 帮助
75 |
76 |
77 |
78 | 1、图书证帐号和密码是什么?
79 |
80 | 卡号:一般写在图书证背面
81 | 密码:初始密码卡号后六位
82 | 忘记卡号或者密码请咨询图书馆管理员
83 |
84 |
85 |
86 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/pages/more/append.wxss:
--------------------------------------------------------------------------------
1 | /**append.wxss**/
2 | @import './login.wxss';
3 | .append-title {
4 | position: absolute;
5 | top: 50rpx;
6 | width: 100%;
7 | color: #777;
8 | font-size: 22pt;
9 | line-height: 200%;
10 | text-align: center;
11 | }
12 | .append-form {
13 | padding: 140rpx 0 50rpx;
14 | }
--------------------------------------------------------------------------------
/pages/more/issues.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "反馈",
3 | "enablePullDownRefresh": false,
4 | "navigationBarBackgroundColor": "#7acfa6"
5 | }
--------------------------------------------------------------------------------
/pages/more/issues.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 我的反馈记录({{list.count}}次)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | #{{item.issues}}
17 |
18 |
19 | {{label.name}}
20 |
21 | 已解决
22 | 进行中
23 |
24 |
25 |
26 | {{item.title}}
27 |
28 |
29 |
30 |
31 |
32 | {{item_remind ? item_remind : item.content.body}}
33 |
40 |
41 |
42 |
43 | 该反馈记录仅显示了反馈及回复的内容摘要,若要了解反馈详细,请访问 https://github.com/gxgk/gxgk-wechat-app/issues 莞香小喵-Github。
44 |
45 | {{list_remind}}
46 |
47 |
48 |
49 | 新建反馈
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | 选择图片(可选)
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 | 您的反馈将会以Issues的形式提交至莞香小喵的Github,您可通过访问 https://github.com/gxgk/gxgk-wechat-app/issues 来了解反馈动态;此外,您还可以加入莞香小喵用户反馈QQ群437249421进行即时反馈。另注:频繁恶意反馈的用户将取消其反馈资格。
71 |
72 | 提交反馈
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/pages/more/issues.wxss:
--------------------------------------------------------------------------------
1 | /**issuse.wxss**/
2 | .container{
3 | background-color: #f6f6f6;
4 | padding: 0;
5 | padding-top: 30rpx;
6 | font-size: 11pt;
7 | box-sizing: border-box;
8 | }
9 | .list-btn {
10 | align-items: center;
11 | font-size: 11pt;
12 | padding: 0 30rpx 0 10px;
13 | margin-bottom: 10rpx;
14 | display: flex;
15 | background-color: #fff;
16 | min-height: 85rpx;
17 | border-top: 1px solid #e5e5e5;
18 | border-bottom: 1px solid #e5e5e5;
19 | }
20 | .list-btn:active {
21 | background-color: #fcfcfc;
22 | }
23 | .btn-icon {
24 | width: 45rpx;
25 | height: 45rpx;
26 | margin-right: 15rpx;
27 | }
28 | .btn-text{
29 | flex: 1;
30 | margin: 20rpx 0 15rpx;
31 | }
32 | .btn-open {
33 | flex-shrink: 0;
34 | display: flex;
35 | align-items: center;
36 | justify-content: flex-end;
37 | margin-left: 10rpx;
38 | }
39 | .btn-open-img {
40 | width: 30rpx;
41 | height: 30rpx;
42 | }
43 | .issues-list{
44 | display: flex;
45 | flex-direction: column;
46 | align-items: stretch;
47 | margin-top: 10rpx;
48 | }
49 | .item-labels{
50 | flex: 1;
51 | }
52 | .item-label{
53 | flex: 1;
54 | background: #7acfa6;
55 | color: #fff;
56 | font-size: 9pt;
57 | padding: 4rpx 10rpx;
58 | border-radius: 3px;
59 | margin: 0 5rpx;
60 | }
61 | .item-status{
62 | font-size: 10pt;
63 | color: #999;
64 | }
65 | .issues-item{
66 | position: relative;
67 | display: flex;
68 | flex-direction: column;
69 | align-items: stretch;
70 | background-color: #fff;
71 | margin: 10rpx 30rpx;
72 | font-size: 11pt;
73 | padding: 15rpx 25rpx;
74 | min-height: 100rpx;
75 | border-radius: 3px;
76 | box-shadow: 1px 2px 3px #ddd;
77 | }
78 | .issues-item.close {
79 | flex-direction: row;
80 | align-items: center;
81 | }
82 | .issues-item.close:active{
83 | background-color: #fcfcfc;
84 | opacity: .8;
85 | }
86 | .item-hd{
87 | display: flex;
88 | align-items: center;
89 | }
90 | .btn-id {
91 | flex-shrink: 0;
92 | color: #aaa;
93 | font-size: 10pt;
94 | margin-right: 10rpx;
95 | }
96 | .issues-item.close .btn-text{
97 | flex: 1 1 auto;
98 | white-space: nowrap;
99 | text-overflow: ellipsis;
100 | overflow: hidden;
101 | margin: 0;
102 | }
103 | .item-bd{
104 | display: flex;
105 | flex-direction: column;
106 | align-items: stretch;
107 | padding: 0 10rpx 15rpx;
108 | font-size: 10pt;
109 | }
110 | .item-content {
111 | padding-bottom: 20rpx;
112 | }
113 | .item-comment{
114 | display: flex;
115 | border-top: 1rpx solid #eee;
116 | padding: 10rpx 5rpx;
117 | }
118 | .item-comment-img{
119 | flex-shrink: 0;
120 | width: 50rpx;
121 | height: 50rpx;
122 | margin: 10rpx 20rpx 10rpx 10rpx;
123 | border-radius: 3px;
124 | }
125 | .item-comment-bd{
126 | flex: 1;
127 | display: flex;
128 | flex-direction: column;
129 | align-items: stretch;
130 | }
131 | .item-comment-name{
132 | font-size: 9pt;
133 | color: #999;
134 | }
135 |
136 | .issues-label{
137 | font-size: 10pt;
138 | line-height: 100%;
139 | color: #999;
140 | margin: 25rpx 20rpx 15rpx;
141 | }
142 | .issues-panel{
143 | display: flex;
144 | flex-direction: column;
145 | align-items: stretch;
146 | background-color: #fff;
147 | border-top: 1px solid #e5e5e5;
148 | border-bottom: 1px solid #e5e5e5;
149 | }
150 | .issues-img-panel{
151 | display: flex;
152 | flex-wrap: wrap;
153 | background-color: #fff;
154 | border-top: 1px solid #e5e5e5;
155 | border-bottom: 1px solid #e5e5e5;
156 | padding: 15rpx 25rpx;
157 | }
158 | .issues-img-panel.error{
159 | background: rgba(231, 138, 176, 0.06);
160 | }
161 | .issues-input{
162 | border-bottom: 1px solid #e5e5e5;
163 | padding: 15rpx 25rpx;
164 | }
165 | .issues-input.error{
166 | background: rgba(231, 138, 176, 0.06);
167 | }
168 | .issues-textarea{
169 | width: 100%;
170 | padding: 25rpx;
171 | min-height: 225rpx;
172 | box-sizing: border-box;
173 | }
174 | .issues-textarea.error{
175 | background: rgba(231, 138, 176, 0.06);
176 | }
177 | .issues-photo-item {
178 | position: relative;
179 | display: flex;
180 | align-items: center;
181 | justify-content: center;
182 | color: #888;
183 | margin: 20rpx;
184 | margin-right: 0;
185 | width: 135rpx;
186 | height: 135rpx;
187 | border: 1rpx solid #e5e5e5;
188 | border-radius: 5rpx;
189 | }
190 | .issues-photo-item:active{
191 | opacity: .8;
192 | }
193 | .issues-photo-item .remind-img{
194 | padding: 0;
195 | }
196 | .issues-photo-item image{
197 | width: 100%;
198 | height: 100%;
199 | }
200 | .add-photo:active {
201 | background: #f0f0f0;
202 | }
203 | .add-photo::before, .add-photo::after{
204 | content: '';
205 | position: absolute;
206 | top: 50%;
207 | left: 50%;
208 | background: #e5e5e5;
209 | }
210 | .add-photo:active::before, .add-photo:active::after{
211 | background: #ddd;
212 | }
213 | .add-photo::before {
214 | width: 10rpx;
215 | height: 80rpx;
216 | margin-top: -40rpx;
217 | margin-left: -5rpx;
218 | }
219 | .add-photo::after {
220 | width: 80rpx;
221 | height: 10rpx;
222 | margin-top: -5rpx;
223 | margin-left: -40rpx;
224 | }
225 | .issues-remind {
226 | flex: 1;
227 | font-size: 9pt;
228 | line-height: 135%;
229 | color: #ccc;
230 | padding: 0 30rpx;
231 | word-break: break-all;
232 | text-indent: 1em;
233 | padding-top: 30rpx;
234 | }
235 | .issues-remind.text-center{
236 | text-align: center;
237 | }
238 | .submit-btn {
239 | display: flex;
240 | align-items: center;
241 | justify-content: center;
242 | margin: 40rpx 3%;
243 | height: 80rpx;
244 | border-radius: 3px;
245 | text-align: center;
246 | background-color: #7acfa6;
247 | color: #fff;
248 | font-size: 12pt;
249 | line-height: 150%;
250 | padding: 0;
251 | border: none;
252 | }
253 | .submit-btn.disabled{
254 | opacity: .7;
255 | }
256 | .submit-btn:active{
257 | opacity: .7;
258 | }
--------------------------------------------------------------------------------
/pages/more/login.js:
--------------------------------------------------------------------------------
1 | //login.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | schools_list: [],
7 | index: 0,
8 | usertype: [{
9 | name: '0',
10 | value: '学生',
11 | checked: 'true'
12 | },
13 | {
14 | name: '1',
15 | value: '教师'
16 | },
17 | {
18 | name: '2',
19 | value: '部门'
20 | },
21 | ],
22 | remind: '加载中',
23 | help_status: false,
24 | userid_focus: false,
25 | passwd_focus: false,
26 | userid: '',
27 | passwd: '',
28 | utype: 0,
29 | angle: 0
30 | },
31 | onReady: function() {
32 | var _this = this;
33 | wx.onAccelerometerChange(function(res) {
34 | var angle = -(res.x * 30).toFixed(1);
35 | if (angle > 14) {
36 | angle = 14;
37 | } else if (angle < -14) {
38 | angle = -14;
39 | }
40 | if (_this.data.angle !== angle) {
41 | _this.setData({
42 | angle: angle
43 | });
44 | }
45 | });
46 | },
47 | onLoad: function(options) {
48 | var _this = this;
49 | app.loginLoad().then(function() {
50 | _this.getSchoolList().then(function(res) {
51 | _this.setData({
52 | remind: ''
53 | });
54 | }).catch(function(res) {
55 | _this.setData({
56 | remind: res.errMsg
57 | });
58 | });
59 | });
60 | },
61 | getSchoolList: function() {
62 | var _this = this;
63 | return new Promise(function(resolve, reject) {
64 | app.wx_request("/school_sys/school_list").then(
65 | function(res) {
66 | if (res.data && res.data.status === 200) {
67 | _this.setData({
68 | schools_list: res.data.data
69 | })
70 | resolve();
71 | }
72 | }
73 | ).catch(function(res) {
74 | reject(res);
75 | })
76 | })
77 | },
78 | bind: function() {
79 | var _this = this;
80 | if (!_this.data.userid || !_this.data.passwd) {
81 | app.showErrorModal('账号及密码不能为空', '提醒');
82 | return false;
83 | }
84 | wx.showLoading({
85 | title: '绑定中',
86 | })
87 | var school_id = _this.data.schools_list[_this.data.index].id;
88 | var account = _this.data.userid;
89 | var data = {
90 | account: account,
91 | password: _this.data.passwd,
92 | school_id: school_id,
93 | usertype: _this.data.utype
94 | }
95 | app.wx_request("/school_sys/xcx_bind", 'POST', data).then(
96 | function(res) {
97 | if (res.data && res.data.status === 200) {
98 | _this.getBindResult(school_id, account)
99 | return
100 | } else {
101 | wx.hideToast();
102 | wx.hideLoading()
103 | app.showErrorModal(res.data.msg, '绑定失败');
104 | }
105 | }
106 | ).catch(function(res) {
107 | wx.hideToast();
108 | wx.hideLoading()
109 | app.showErrorModal(res.errMsg, '绑定失败');
110 | })
111 | },
112 | getBindResult: function (school_id, account){
113 | var _this = this;
114 | _this.checkBindResult(school_id, account).then(function (res) {
115 | if (res.data.status === 100) {
116 | // 绑定中,开始轮询
117 | setTimeout(function () {
118 | return _this.getBindResult(school_id, account)
119 | }, 500)
120 | }
121 | if (res.data.status === 200) {
122 | wx.hideLoading()
123 | wx.showToast({
124 | title: '绑定成功',
125 | icon: 'success',
126 | duration: 1500
127 | });
128 | setTimeout(function () {
129 | // 直接跳转回首页
130 | wx.reLaunch({
131 | url: '/pages/index/index'
132 | })
133 | }, 1500)
134 | return
135 | }
136 | }).catch(function (res) {
137 | wx.hideToast();
138 | wx.hideLoading()
139 | app.showErrorModal(res, '绑定失败');
140 | return
141 | })
142 | },
143 | checkBindResult: function(school_id, account) {
144 | // 检查是否绑定成功
145 | var _this = this;
146 | return new Promise(function(resolve, reject) {
147 | var data = {
148 | school_id: school_id,
149 | account: account
150 | }
151 | app.wx_request("/school_sys/xcx_bind/result", 'POST', data).then(function(res) {
152 | if (res.data && res.data.status === 200) {
153 | resolve(res);
154 | } else if (res.data && res.data.status === 100) {
155 | // 绑定中,开始轮询
156 | resolve(res);
157 | } else {
158 | reject(res.data.msg);
159 | }
160 | }).catch(function(res) {
161 | console.log(res);
162 | reject(res);
163 | })
164 | })
165 | },
166 | schoolPickerChange: function(e) {
167 | console.log(this.data.schools_list[e.detail.value].id)
168 | this.setData({
169 | index: e.detail.value,
170 | })
171 | },
172 | radioChange: function(e) {
173 | this.setData({
174 | utype: e.detail.value
175 | });
176 | },
177 | useridInput: function(e) {
178 | this.setData({
179 | userid: e.detail.value
180 | });
181 | if (e.detail.value.length >= 11) {
182 | wx.hideKeyboard();
183 | }
184 | },
185 | passwdInput: function(e) {
186 | this.setData({
187 | passwd: e.detail.value
188 | });
189 | },
190 | inputFocus: function(e) {
191 | if (e.target.id == 'userid') {
192 | this.setData({
193 | 'userid_focus': true
194 | });
195 | } else if (e.target.id == 'passwd') {
196 | this.setData({
197 | 'passwd_focus': true
198 | });
199 | }
200 | },
201 | inputBlur: function(e) {
202 | if (e.target.id == 'userid') {
203 | this.setData({
204 | 'userid_focus': false
205 | });
206 | } else if (e.target.id == 'passwd') {
207 | this.setData({
208 | 'passwd_focus': false
209 | });
210 | }
211 | },
212 | tapHelp: function(e) {
213 | if (e.target.id == 'help') {
214 | this.hideHelp();
215 | }
216 | },
217 | showHelp: function(e) {
218 | this.setData({
219 | 'help_status': true
220 | });
221 | },
222 | hideHelp: function(e) {
223 | this.setData({
224 | 'help_status': false
225 | });
226 | }
227 | });
--------------------------------------------------------------------------------
/pages/more/login.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": " ",
3 | "enablePullDownRefresh": false,
4 | "disableScroll": true
5 | }
--------------------------------------------------------------------------------
/pages/more/login.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{remind}}
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
41 |
42 | 确认绑定
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/pages/more/login.wxss:
--------------------------------------------------------------------------------
1 | /**login.wxss**/
2 | .remind-text {
3 | font-size: 12pt;
4 | line-height: 150%;
5 | color:white;
6 | }
7 | .container {
8 | background: #079df2;
9 | align-items: stretch;
10 | padding: 0;
11 | height: 100%;
12 | overflow: hidden;
13 | }
14 | .content{
15 | flex: 1;
16 | display: flex;
17 | position: relative;
18 | z-index: 10;
19 | flex-direction: column;
20 | align-items: stretch;
21 | justify-content: center;
22 | width: 100%;
23 | height: 100%;
24 | padding-bottom: 450rpx;
25 | background: -webkit-gradient(linear, left top, left bottom, from(rgba(244,244,244,0)), color-stop(0.1, #f4f4f4), to(#f4f4f4));
26 | opacity: 0;
27 | transform: translate3d(0,100%,0);
28 | animation: rise 3s cubic-bezier(0.19, 1, 0.22, 1) .25s forwards;
29 | }
30 | @keyframes rise{
31 | 0% {opacity: 0;transform: translate3d(0,100%,0);}
32 | 50% {opacity: 1;}
33 | 100% {opacity: 1;transform: translate3d(0,450rpx,0);}
34 | }
35 | .title{
36 | position: absolute;
37 | top: 30rpx;
38 | left: 50%;
39 | width: 600rpx;
40 | height: 200rpx;
41 | margin-left: -300rpx;
42 | opacity: 0;
43 | animation: show 2.5s cubic-bezier(0.19, 1, 0.22, 1) .5s forwards;
44 | }
45 | @keyframes show{
46 | 0% {opacity: 0;}
47 | 100% {opacity: .95;}
48 | }
49 |
50 | .hd {
51 | position: absolute;
52 | top: 0;
53 | left: 50%;
54 | width: 1000rpx;
55 | margin-left: -500rpx;
56 | height: 200rpx;
57 | transition: all .35s ease;
58 | }
59 | .logo {
60 | position: absolute;
61 | z-index: 2;
62 | left: 50%;
63 | bottom: 200rpx;
64 | width: 160rpx;
65 | height: 160rpx;
66 | margin-left: -80rpx;
67 | border-radius: 160rpx;
68 | animation: sway 10s ease-in-out infinite;
69 | opacity: .95;
70 | }
71 | @keyframes sway{
72 | 0% {transform: translate3d(0,20rpx,0) rotate(-15deg); }
73 | 17% {transform: translate3d(0,0rpx,0) rotate(25deg); }
74 | 34% {transform: translate3d(0,-20rpx,0) rotate(-20deg); }
75 | 50% {transform: translate3d(0,-10rpx,0) rotate(15deg); }
76 | 67% {transform: translate3d(0,10rpx,0) rotate(-25deg); }
77 | 84% {transform: translate3d(0,15rpx,0) rotate(15deg); }
78 | 100% {transform: translate3d(0,20rpx,0) rotate(-15deg); }
79 | }
80 | .wave {
81 | position: absolute;
82 | z-index: 3;
83 | right: 0;
84 | bottom: 0;
85 | opacity: 0.725;
86 | height: 260rpx;
87 | width: 2250rpx;
88 | animation: wave 10s linear infinite;
89 | }
90 | .wave-bg {
91 | z-index: 1;
92 | animation: wave-bg 10.25s linear infinite;
93 | }
94 | @keyframes wave{
95 | from {transform: translate3d(125rpx,0,0);}
96 | to {transform: translate3d(1125rpx,0,0);}
97 | }
98 | @keyframes wave-bg{
99 | from {transform: translate3d(375rpx,0,0);}
100 | to {transform: translate3d(1375rpx,0,0);}
101 | }
102 |
103 | .bd {
104 | position: relative;
105 | flex: 1;
106 | display: flex;
107 | flex-direction: column;
108 | align-items: stretch;
109 | animation: bd-rise 2s cubic-bezier(0.23,1,0.32,1) .75s forwards;
110 | opacity: 0;
111 | }
112 | @keyframes bd-rise{
113 | from {opacity: 0; transform: translate3d(0,60rpx,0); }
114 | to {opacity: 1; transform: translate3d(0,0,0); }
115 | }
116 | form {
117 | flex: 1;
118 | display: flex;
119 | flex-direction: column;
120 | align-items: stretch;
121 | justify-content: center;
122 | }
123 | .input-group {
124 | display: flex;
125 | align-items: center;
126 | padding: 25rpx 10rpx;
127 | margin: 40rpx 3%;
128 | background: #fff;
129 | border-radius: 5px;
130 | border: 2px solid #f4f4f4;
131 | transition: all .25s ease-in-out;
132 | }
133 | .input-group.active {
134 | border: 2px solid #7acfa6;
135 | }
136 | .input-label {
137 | color: #888;
138 | font-size: 13pt;
139 | height: 25rpx;
140 | line-height: 25rpx;
141 | padding: 0 25rpx;
142 | border-right: 1px solid #d8d8d8;
143 | }
144 | .input-group input,
145 | .input-group picker {
146 | flex: 1;
147 | font-size: 13pt;
148 | min-height: 52rpx;
149 | height: 52rpx;
150 | line-height: 52rpx;
151 | padding: 0 25rpx;
152 | }
153 | .input-placeholder,
154 | .input-group picker.placeholder {
155 | color: #ccc;
156 | }
157 | .login-help {
158 | display: flex;
159 | align-items: center;
160 | justify-content: flex-end;
161 | padding: 0 30rpx;
162 | font-size: 10pt;
163 | color: #bbb;
164 | }
165 | .login-help-img {
166 | width: 11pt;
167 | height: 11pt;
168 | margin: 0 5rpx;
169 | }
170 | .confirm-btn {
171 | font-size: 13pt;
172 | line-height: 85rpx;
173 | height: 85rpx;
174 | background: #079df2;
175 | color: #fff;
176 | text-align: center;
177 | border-radius: 5px;
178 | margin: 50rpx 3%;
179 | }
180 | .confirm-btn:active {
181 | opacity: .8;
182 | }
183 | .help {
184 | position: absolute;
185 | z-index: 100;
186 | top: 0;
187 | left: 0;
188 | width: 100%;
189 | height: 100%;
190 | display: flex;
191 | align-items: center;
192 | justify-content: center;
193 | }
194 | .box {
195 | position: relative;
196 | display: flex;
197 | flex-direction: column;
198 | align-items: stretch;
199 | width: 80%;
200 | background: #fff;
201 | border-radius: 10px;
202 | box-shadow: 0 0 50px rgba(22,22,22,.35);
203 | transform: translate3d(0,-400rpx,0);
204 | }
205 | .box-hd {
206 | display: flex;
207 | align-items: center;
208 | justify-content: center;
209 | height: 100rpx;
210 | border-bottom: 1px solid #eee;
211 | }
212 | .box-title {
213 | font-size: 13pt;
214 | }
215 | .box-close {
216 | position: absolute;
217 | right: 20rpx;
218 | width: 35rpx;
219 | height: 35rpx;
220 | padding: 15rpx;
221 | }
222 | .box-bd {
223 | flex: 1;
224 | display: flex;
225 | flex-direction: column;
226 | padding: 15rpx 40rpx 30rpx;
227 | }
228 | .help-q {
229 | color: #999;
230 | font-size: 11pt;
231 | line-height: 200%;
232 | margin-top: 5rpx;
233 | }
234 | .help-a {
235 | text-indent: 1em;
236 | line-height: 160%;
237 | display: flex;
238 | flex-direction: column;
239 | }
240 | .help-a text{
241 | word-break: break-all;
242 | }
243 | /**登录动画**/
244 | .login_video{
245 | position: absolute;
246 | z-index: 1;
247 | top: 50%;
248 | left: 50%;
249 | width: 750rpx;
250 | margin-left: -375rpx;
251 | height: 1334rpx;
252 | margin-top: -667rpx;
253 | }
254 | .video_hidden{
255 | visibility: hidden;
256 | }
257 | page .wx-video-bar{
258 | display: none;
259 | }
260 | .user-type{
261 | display: flex;
262 | align-items: center;
263 | justify-content: center;
264 |
265 | }
--------------------------------------------------------------------------------
/pages/more/more.js:
--------------------------------------------------------------------------------
1 | //more.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | user: {}
7 | },
8 | onShow: function () {
9 | var _this = this;
10 | app.loginLoad().then(function () {
11 | _this.getData();
12 | })
13 | },
14 | getData: function () {
15 | var _this = this;
16 | _this.setData({
17 | 'user': app.user,
18 | 'is_library': app.cache.jy
19 | });
20 | },
21 | refreshSchedule: function() {
22 | wx.showToast({
23 | title: '刷新中',
24 | icon: 'loading',
25 | duration: 1500
26 | });
27 | app.wx_request("/school_sys/refresh_schedule", 'GET').then(
28 | function (res) {
29 | if (res.data && res.data.status === 200) {
30 | wx.hideLoading()
31 | wx.showToast({
32 | title: '刷新成功',
33 | icon: 'success',
34 | duration: 1500
35 | });
36 | }
37 | }
38 | ).catch(function (res) {
39 | app.showErrorModal(res.errMsg, '刷新失败');
40 | })
41 | }
42 | });
--------------------------------------------------------------------------------
/pages/more/more.json:
--------------------------------------------------------------------------------
1 | {
2 | "enablePullDownRefresh": false
3 | }
--------------------------------------------------------------------------------
/pages/more/more.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | {{user.student.real_name}}
10 |
11 |
12 | 学号
13 | {{user.auth_user.account}}
14 |
15 |
16 | 系别
17 | {{user.student.faculty}}
18 |
19 |
20 | 班级
21 | {{user.student.class_name}}
22 |
23 |
24 |
25 |
26 | {{user.teacher.real_name}}
27 |
28 |
29 | 职工号
30 | {{user.auth_user.account}}
31 |
32 |
33 | 部门
34 | {{user.teacher.dept}}
35 |
36 |
37 | 职务
38 | {{user.teacher.duties}}
39 |
40 |
41 |
42 |
43 |
44 |
54 |
55 |
56 |
57 | 绑定图书证
58 |
59 |
60 |
61 | 改绑图书证
62 |
63 |
64 |
65 |
66 |
67 | 个人设置
68 |
69 |
70 |
71 |
72 | 刷新课表
73 |
74 |
80 |
81 |
82 |
83 | 关于小喵
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 | 请先绑定教务系统 | 前往绑定
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
111 |
112 |
113 |
114 | 关于小喵
115 |
116 |
117 |
118 |
119 |
120 | 切换绑定
121 | 立即绑定
122 |
123 |
--------------------------------------------------------------------------------
/pages/more/more.wxss:
--------------------------------------------------------------------------------
1 | /**more.wxss**/
2 | .container{
3 | background-color: #f6f6f6;
4 | padding: 0;
5 | }
6 | .top-bgcolor {
7 | width: 100%;
8 | height: 160rpx;
9 | background-color: #079df2;
10 | }
11 | .user-info-box {
12 | width: 95%;
13 | height: 270rpx;
14 | margin: 0 auto -30rpx auto;
15 | border: 1px solid #e5e5e5;
16 | border-radius: 5px;
17 | box-shadow: 2px 2px 5px #e5e5e5;
18 | background-color: #fff;
19 | position: relative;
20 | top: -60rpx;
21 | }
22 | .user-image{
23 | width: 120rpx;
24 | height: 120rpx;
25 | border: 2px solid #fff;
26 | border-radius: 50%;
27 | position: absolute;
28 | left: 50%;
29 | margin-left: -2.5em;
30 | top: -60rpx;
31 | display: block;
32 | overflow: hidden;
33 | }
34 | .user-name {
35 | position: absolute;
36 | width: 100%;
37 | top: 80rpx;
38 | font-size: 14pt;
39 | color: #5d9e9d;
40 | font-family: '微软雅黑';
41 | letter-spacing: 5px;
42 | text-align: center;
43 | }
44 | .user-infos {
45 | position: absolute;
46 | width:100%;
47 | display: flex;
48 | top: 150rpx;
49 | }
50 | .info1,.info2,.info3 {
51 | flex: 1;
52 | text-align: center;
53 | color: #6d6d6d;
54 | font-size: 11pt;
55 | font-family: '华文细黑';
56 | }
57 | .xuehao,.xibie,.banji {
58 | margin-bottom: 15rpx;
59 | font-family: '微软雅黑';
60 | }
61 | .more-info {
62 | width: 95%;
63 | margin: 0 auto 30rpx auto;
64 | border-radius: 10rpx;
65 | border: 1px solid #e5e5e5;
66 | box-shadow: 2px 2px 5px #e5e5e5;
67 | }
68 | .more-info-btn {
69 | display: flex;
70 | min-height: 85rpx;
71 | align-items: center;
72 | background-color: #fff;
73 | font-size: 11pt;
74 | font-family: '微软雅黑';
75 | padding: 0 30rpx;
76 | border-radius: 10rpx;
77 | border-bottom: 1px solid #e5e5e5;
78 | }
79 | .btn-icon {
80 | width: 45rpx;
81 | height: 45rpx;
82 | margin-right: 15rpx;
83 | }
84 | .btn-text {
85 | flex: 1;
86 | }
87 | .user-info {
88 | display: flex;
89 | flex-direction: column;
90 | margin: 30rpx 0 -1px;
91 | padding: 25rpx 30rpx 20rpx;
92 | }
93 | .login-btn {
94 | font-size: 13pt;
95 | line-height: 85rpx;
96 | height: 85rpx;
97 | background: #e55c5c;
98 | color: #fff;
99 | text-align: center;
100 | border-radius: 5px;
101 | width: 95%;
102 | margin: 0 18rpx 30rpx 18rpx;
103 | position: absolute;
104 | bottom: 0;
105 | font-family: '微软雅黑';
106 | }
107 | .btn-enter {
108 | width: 18rpx;
109 | height: 27rpx;
110 | }
111 |
112 | @media only screen and (max-device-height: 465px) {
113 | .login-btn {
114 | font-size: 13pt;
115 | line-height: 85rpx;
116 | height: 85rpx;
117 | background: #e55c5c;
118 | color: #fff;
119 | text-align: center;
120 | border-radius: 5px;
121 | width: 95%;
122 | display: block;
123 | margin: 30rpx 18rpx;
124 | position: static;
125 | font-family: '微软雅黑';
126 | }
127 | }
128 | .more-info button {
129 | border:none;
130 | text-align: left;
131 | padding: 0px;
132 | position: none;
133 | box-sizing: none;
134 | color: #666;
135 | }
136 |
137 | .more-info button::after{
138 | border:none;
139 | }
--------------------------------------------------------------------------------
/pages/news/detail/detail.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | {{remind}}
10 |
11 |
12 |
13 |
14 | {{title}}
15 |
16 |
17 | 发布时间:{{date}}
18 | 作者:{{author}}
19 | 阅读量:{{reading}}
20 | 来源:{{originate}}
21 |
22 | {{content}}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | {{item.fjtitle}}
32 | {{source}}
33 |
34 |
35 |
36 | {{item.preview ? '点击预览' : '无法预览'}}
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/pages/news/detail/detail.wxss:
--------------------------------------------------------------------------------
1 | /**detail.wxss (common)**/
2 | @import "/wxParse/wxParse.wxss";
3 |
4 | .container {
5 | background: #fff;
6 | padding: 0 30rpx;
7 | }
8 |
9 | .title {
10 | font-size: 18pt;
11 | font-weight: bold;
12 | margin-top: 40rpx;
13 | line-height: 140%;
14 | word-break: break-all;
15 | }
16 |
17 | .info {
18 | margin-top: 30rpx;
19 | color: #b2b2b2;
20 | }
21 |
22 | .info text {
23 | padding: 0 20rpx 0 5rpx;
24 | }
25 |
26 | .detail {
27 | font-size: 11pt;
28 | line-height: 150%;
29 | margin: 30rpx 15rpx 200rpx;
30 | word-break: break-all;
31 | text-align: justify;
32 | }
33 |
34 | .files_list {
35 | position: fixed;
36 | bottom: -10rpx;
37 | left: 0;
38 | right: 0;
39 | height: 190rpx;
40 | display: flex;
41 | flex-direction: column;
42 | align-items: stretch;
43 | }
44 |
45 | .file {
46 | padding: 0 30rpx 0 50rpx;
47 | height: 140rpx;
48 | margin: 0 30rpx;
49 | background-color: #fcfcfc;
50 | border: 1rpx solid #ececec;
51 | border-radius: 3px;
52 | display: flex;
53 | justify-content: space-between;
54 | align-items: center;
55 | }
56 |
57 | .file:active {
58 | background-color: #fff;
59 | }
60 |
61 | .fileNameSource {
62 | flex: 1 1 auto;
63 | display: flex;
64 | flex-direction: column;
65 | overflow: hidden;
66 | padding-left: 40rpx;
67 | }
68 |
69 | .file-name {
70 | font-size: 11pt;
71 | line-height: 150%;
72 | white-space: nowrap;
73 | text-overflow: ellipsis;
74 | width: 100%;
75 | overflow: hidden;
76 | }
77 |
78 | .file-source {
79 | font-size: 10pt;
80 | color: #919191;
81 | }
82 |
83 | .file-remind {
84 | flex: 0 0 25pt;
85 | width: 25pt;
86 | height: 25pt;
87 | font-size: 10pt;
88 | text-align: center;
89 | padding: 0 10rpx;
90 | }
91 |
92 | .file-remind image {
93 | width: 100%;
94 | height: 100%;
95 | }
96 |
97 | .file-img {
98 | flex: 0 0 39rpx;
99 | width: 39rpx;
100 | height: 48rpx;
101 | }
102 |
--------------------------------------------------------------------------------
/pages/news/jw/jw_detail.js:
--------------------------------------------------------------------------------
1 | // pages/news/xy/xy_detail.js
2 | var detail = require('../detail/detail.js');
3 | //获取应用实例
4 | var app = getApp();
5 | Page(detail.ipage);
6 |
--------------------------------------------------------------------------------
/pages/news/jw/jw_detail.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#f6bd6c",
3 | "navigationBarTitleText": "教务公告",
4 | "backgroundColor": "#f6bd6c",
5 | "enablePullDownRefresh": false
6 | }
--------------------------------------------------------------------------------
/pages/news/jw/jw_detail.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/pages/news/jw/jw_detail.wxss:
--------------------------------------------------------------------------------
1 | /* pages/news/xy/xy_detail.wxss */
2 | @import "../detail/detail.wxss";
--------------------------------------------------------------------------------
/pages/news/news.js:
--------------------------------------------------------------------------------
1 | //news.js
2 | //获取应用实例
3 | var app = getApp();
4 | Page({
5 | data: {
6 | page: 0,
7 | //gzh_list: ['广科严选'],
8 | list: [{
9 | id: 0,
10 | 'type': 'all',
11 | name: '头条',
12 | storage: [],
13 | enabled: {
14 | guest: true,
15 | student: true,
16 | teacher: true
17 | }
18 | },
19 | {
20 | id: 1,
21 | 'type': 'xy',
22 | name: '学院新闻',
23 | storage: [],
24 | enabled: {
25 | guest: true,
26 | student: true,
27 | teacher: true
28 | }
29 | },
30 | {
31 | id: 2,
32 | 'type': 'xb',
33 | name: '系部动态',
34 | storage: [],
35 | enabled: {
36 | guest: true,
37 | student: true,
38 | teacher: true
39 | }
40 | },
41 | {
42 | id: 3,
43 | 'type': 'jw',
44 | name: '教务公告',
45 | storage: [],
46 | enabled: {
47 | guest: true,
48 | student: true,
49 | teacher: true
50 | }
51 | },
52 | {
53 | id: 4,
54 | 'type': 'xm',
55 | name: '小喵推送',
56 | storage: [],
57 | enabled: {
58 | guest: true,
59 | student: true,
60 | teacher: true
61 | }
62 | }
63 | ],
64 | 'active': {
65 | id: 0,
66 | 'type': 'all',
67 | //gzh_name: '广科严选',
68 | data: [],
69 | showMore: true,
70 | remind: '上滑加载更多'
71 | },
72 | loading: false,
73 | user_type: 'guest',
74 | disabledRemind: false
75 | },
76 | onLoad: function(option) {
77 | this.setData({
78 | user_type: 'guest',
79 | 'active.id': 0,
80 | 'active.type': 'new',
81 | //'active.gzh_name': '广科严选',
82 | 'loading': true,
83 | 'active.data': [],
84 | 'active.showMore': true,
85 | 'active.remind': '上滑加载更多',
86 | 'page': 0
87 | });
88 | this.getNewsList();
89 | },
90 | onShareAppMessage: function() {
91 | var id = this.data.share_id
92 | return {
93 | title: '校内资讯 - 莞香小喵',
94 | desc: '快来莞香小喵看看校内资讯',
95 | path: `pages/news/news`,
96 | success: function(res) {
97 | // 分享成功
98 | },
99 | fail: function(res) {
100 | // 分享失败
101 | }
102 | };
103 | },
104 | //下拉更新
105 | onPullDownRefresh: function() {
106 | var _this = this;
107 | _this.setData({
108 | 'loading': true,
109 | 'active.data': [],
110 | 'active.showMore': true,
111 | 'active.remind': '上滑加载更多',
112 | 'page': 0
113 | });
114 | _this.getNewsList();
115 | },
116 | //上滑加载更多
117 | onReachBottom: function() {
118 | var _this = this;
119 | if (_this.data.active.showMore) {
120 | _this.getNewsList();
121 | }
122 | },
123 | //获取新闻列表
124 | getNewsList: function(typeId) {
125 | var _this = this;
126 | typeId = typeId || _this.data.active.id;
127 | if (_this.data.page >= 5) {
128 | _this.setData({
129 | 'active.showMore': false,
130 | 'active.remind': '没有更多啦'
131 | });
132 | return false;
133 | }
134 | if (!_this.data.page) {
135 | _this.setData({
136 | 'active.data': _this.data.list[typeId].storage
137 | });
138 | }
139 | _this.setData({
140 | 'active.remind': '正在加载中'
141 | });
142 | wx.showNavigationBarLoading();
143 | wx.request({
144 | url: app.news_server + "/news/list",
145 | data: {
146 | news_type: _this.data.list[typeId].type,
147 | page: _this.data.page + 1,
148 | faculty: app.user.student ? app.user.student.faculty : '',
149 | },
150 | success: function(res) {
151 | if (res.data && res.data.status === 200) {
152 | if (_this.data.active.id != typeId) {
153 | return false;
154 | }
155 | if (res.data.data) {
156 | if (!_this.data.page) {
157 | if (!_this.data.list[typeId].storage.length || app.util.md5(JSON.stringify(res.data.data)) != app.util.md5(JSON.stringify(_this.data.list[typeId].storage))) {
158 | var data = {
159 | 'page': _this.data.page + 1,
160 | 'active.data': res.data.data,
161 | 'active.showMore': true,
162 | 'active.remind': '上滑加载更多',
163 | };
164 | data['list[' + typeId + '].storage'] = res.data.data;
165 | _this.setData(data);
166 | } else {
167 | _this.setData({
168 | 'page': _this.data.page + 1,
169 | 'active.showMore': true,
170 | 'active.remind': '上滑加载更多'
171 | });
172 | }
173 | } else {
174 | _this.setData({
175 | 'page': _this.data.page + 1,
176 | 'active.data': _this.data.active.data.concat(res.data.data),
177 | 'active.showMore': true,
178 | 'active.remind': '上滑加载更多',
179 | });
180 | }
181 | } else {
182 | _this.setData({
183 | 'active.showMore': false,
184 | 'active.remind': '没有更多啦'
185 | });
186 | }
187 | } else {
188 | app.showErrorModal(res.data.message);
189 | _this.setData({
190 | 'active.remind': '加载失败'
191 | });
192 | }
193 | },
194 | fail: function(res) {
195 | app.showErrorModal(res.errMsg);
196 | _this.setData({
197 | 'active.remind': '网络错误'
198 | });
199 | },
200 | complete: function() {
201 | wx.hideNavigationBarLoading();
202 | wx.stopPullDownRefresh();
203 | _this.setData({
204 | loading: false
205 | });
206 | }
207 | });
208 | },
209 | //获取焦点
210 | changeFilter: function(e) {
211 | this.setData({
212 | 'active': {
213 | 'id': e.target.dataset.id,
214 | 'type': e.target.id,
215 | //'gzh_name':e.target.dataset.gzh_name,
216 | data: [],
217 | showMore: true,
218 | remind: '上滑加载更多'
219 | },
220 | 'page': 0
221 | });
222 | this.getNewsList(e.target.dataset.id);
223 | },
224 | //无权限查询
225 | changeFilterDisabled: function() {
226 | var _this = this;
227 | if (!_this.data.disabledRemind) {
228 | _this.setData({
229 | disabledRemind: true
230 | });
231 | setTimeout(function() {
232 | _this.setData({
233 | disabledRemind: false
234 | });
235 | }, 2000);
236 | }
237 | }
238 | });
--------------------------------------------------------------------------------
/pages/news/news.json:
--------------------------------------------------------------------------------
1 | {
2 | "backgroundColor": "#ffffff",
3 | "backgroundTextStyle": "dark"
4 | }
--------------------------------------------------------------------------------
/pages/news/news.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | <-->
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | {{item.title}}
31 | {{item.time}}
32 | {{item.author}}
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | {{active.remind}}
42 |
43 |
44 |
45 | 无权限查阅
46 |
47 |
--------------------------------------------------------------------------------
/pages/news/news.wxss:
--------------------------------------------------------------------------------
1 | /**news.wxss**/
2 | .container{
3 | background-color: #fff;
4 | padding-bottom: 20rpx;
5 | }
6 | .filter{
7 | position: fixed;
8 | z-index: 1;
9 | width: 100%;
10 | height: 180rpx;
11 | white-space: nowrap;
12 | background: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,1)), color-stop(0.93, rgba(255,255,255,.93)), to(rgba(255,255,255,0)));
13 | }
14 | .filter-item{
15 | width: 140rpx;
16 | height: 140rpx;
17 | margin: 20rpx;
18 | margin-left: 0;
19 | margin-bottom: 0;
20 | border-radius: 5rpx;
21 | box-shadow: 1px 2px 3px #e5e5e5;
22 | opacity: .66;
23 | }
24 | .filter-item#all{
25 | margin-left: 20rpx;
26 | }
27 | .filter-item.active{
28 | opacity: 1;
29 | transform: scale(1.08,1.08);
30 | box-shadow: 1px 2px 3px #ddd;
31 | }
32 | /*
33 | .filter-gzh{
34 | position: fixed;
35 | z-index: 1;
36 | width: 100%;
37 | height: 100rpx;
38 | white-space: nowrap;
39 | background: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,1)), color-stop(0.93, rgba(255,255,255,.93)), to(rgba(255,255,255,0)));
40 | }
41 | .filter-gzh-item{
42 | color: white;
43 | height: 65rpx;
44 | margin: 20rpx;
45 | background-color:#c895ed;
46 | box-shadow: 1px 2px 3px #ddd;
47 | }
48 | .hover-item{
49 | opacity: 1;
50 | transform: scale(1.08,1.08);
51 | box-shadow: 1px 2px 3px #ddd;
52 | background-color: #510388;
53 | }
54 | .filter-gzh-item.active{
55 | height: 85rpx;
56 | background-color:#510388;
57 | }
58 | */
59 | .loader{
60 | display: inline-block;
61 | width: 100%;
62 | height: 180rpx;
63 | line-height: 180rpx;
64 | margin-top: -180rpx;
65 | letter-spacing: 10rpx;
66 | text-align: center;
67 | box-sizing: border-box;
68 | padding-top: 40rpx;
69 | }
70 | .loader image{
71 | height: 80rpx;
72 | width: 80rpx;
73 | }
74 | .content-new{
75 | display: flex;
76 | flex-direction: column;
77 | padding: 180rpx 20rpx 0;
78 | }
79 | .content-all{
80 | display: flex;
81 | flex-direction: column;
82 | padding: 180rpx 20rpx 0;
83 | }
84 | .content-xy{
85 | display: flex;
86 | flex-direction: column;
87 | padding: 180rpx 20rpx 0;
88 | }
89 | .content-xb{
90 | display: flex;
91 | flex-direction: column;
92 | padding: 180rpx 20rpx 0;
93 | }
94 | .content-jw{
95 | display: flex;
96 | flex-direction: column;
97 | padding: 180rpx 20rpx 0;
98 | }
99 | .content-xm{
100 | display: flex;
101 | flex-direction: column;
102 | padding: 180rpx 20rpx 0;
103 | /*padding : 280rpx 20rpx 0*/
104 | }
105 |
106 | .content-ending{
107 | width: 100%;
108 | color: #bbb;
109 | text-align: center;
110 | margin: 30rpx auto;
111 | }
112 | .list-item{
113 | display: flex;
114 | align-items: center;
115 | justify-content: space-between;
116 | height: 130rpx;
117 | margin-bottom: 20rpx;
118 | border-radius: 3px;
119 | box-shadow: 1px 2px 3px #ddd;
120 | padding: 0 30rpx;
121 | color: #fff;
122 | }
123 | .list-item.all{
124 | background-color: #9f8bea;
125 | }
126 | .list-item.xy{
127 | background-color: #73b4ef;
128 | }
129 | .list-item.xb{
130 | background-color: #78c9a2;
131 | }
132 | .list-item.jw{
133 | background-color: #f6bd6c;
134 | }
135 | .list-item.xm{
136 | background-color:#c895ed;
137 | }
138 |
139 | .list-item-left{
140 | flex: 1 1 auto;
141 | display: flex;
142 | flex-direction: column;
143 | overflow: hidden;
144 | padding-right: 10rpx;
145 | }
146 | .list-item-title{
147 | font-size: 13pt;
148 | line-height: 175%;
149 | white-space: nowrap;
150 | text-overflow: ellipsis;
151 | width: 100%;
152 | overflow: hidden;
153 | }
154 | .list-item-time{
155 | font-size: 10pt;
156 | line-height: 125%;
157 | opacity: 0.8;
158 | }
159 | .list-item-author{
160 | font-size: 10pt;
161 | line-height: 125%;
162 | opacity: 0.8;
163 | }
164 | .list-item-icon{
165 | flex: 0 0 60rpx;
166 | height: 60rpx;
167 | width: 60rpx;
168 | border-left: 1px solid #fff(218, 16, 16);
169 | padding-left: 25rpx;
170 | }
--------------------------------------------------------------------------------
/pages/news/xb/xb_detail.js:
--------------------------------------------------------------------------------
1 | // pages/news/xb/xb_detail.js
2 | var detail = require('../detail/detail.js');
3 | //获取应用实例
4 | var app = getApp();
5 | Page(detail.ipage);
6 |
--------------------------------------------------------------------------------
/pages/news/xb/xb_detail.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#78c9a2",
3 | "navigationBarTitleText": "系部动态",
4 | "backgroundColor": "#78c9a2",
5 | "enablePullDownRefresh": false
6 | }
--------------------------------------------------------------------------------
/pages/news/xb/xb_detail.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/pages/news/xb/xb_detail.wxss:
--------------------------------------------------------------------------------
1 | /* pages/news/xb/xb_detail.wxss */
2 | @import "../detail/detail.wxss";
--------------------------------------------------------------------------------
/pages/news/xm/xm_detail.js:
--------------------------------------------------------------------------------
1 | // pages/news/xm/xm_detail.js
2 | var detail = require('../detail/detail.js');
3 | //获取应用实例
4 | var app = getApp();
5 | Page(detail.ipage);
6 |
--------------------------------------------------------------------------------
/pages/news/xm/xm_detail.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#c895ed",
3 | "navigationBarTitleText": "小喵推送",
4 | "backgroundColor": "#c895ed",
5 | "enablePullDownRefresh": false
6 | }
--------------------------------------------------------------------------------
/pages/news/xm/xm_detail.wxml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pages/news/xm/xm_detail.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gxgk/gxgk-wechat-app/3138365bb15371158145380fad5580ffb1af15eb/pages/news/xm/xm_detail.wxss
--------------------------------------------------------------------------------
/pages/news/xy/xy_detail.js:
--------------------------------------------------------------------------------
1 | // pages/news/xy/xy_detail.js
2 | var detail = require('../detail/detail.js');
3 | //获取应用实例
4 | var app = getApp();
5 | Page(detail.ipage);
6 |
--------------------------------------------------------------------------------
/pages/news/xy/xy_detail.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#73b4ef",
3 | "navigationBarTitleText": "学院新闻",
4 | "backgroundColor": "#73b4ef",
5 | "enablePullDownRefresh": false
6 | }
--------------------------------------------------------------------------------
/pages/news/xy/xy_detail.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/pages/news/xy/xy_detail.wxss:
--------------------------------------------------------------------------------
1 | /* pages/news/xy/xy_detail.wxss */
2 | @import "../detail/detail.wxss";
--------------------------------------------------------------------------------
/pages/setting/index.js:
--------------------------------------------------------------------------------
1 | // pages/setting/index.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 |
9 | },
10 |
11 | /**
12 | * 生命周期函数--监听页面加载
13 | */
14 | onLoad: function (options) {
15 |
16 | },
17 |
18 | /**
19 | * 生命周期函数--监听页面初次渲染完成
20 | */
21 | onReady: function () {
22 |
23 | },
24 |
25 | /**
26 | * 生命周期函数--监听页面显示
27 | */
28 | onShow: function () {
29 |
30 | },
31 |
32 | /**
33 | * 生命周期函数--监听页面隐藏
34 | */
35 | onHide: function () {
36 |
37 | },
38 |
39 | /**
40 | * 生命周期函数--监听页面卸载
41 | */
42 | onUnload: function () {
43 |
44 | },
45 |
46 | /**
47 | * 页面相关事件处理函数--监听用户下拉动作
48 | */
49 | onPullDownRefresh: function () {
50 |
51 | },
52 |
53 | /**
54 | * 页面上拉触底事件的处理函数
55 | */
56 | onReachBottom: function () {
57 |
58 | },
59 |
60 | /**
61 | * 用户点击右上角分享
62 | */
63 | onShareAppMessage: function () {
64 |
65 | }
66 | })
--------------------------------------------------------------------------------
/pages/setting/index.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/setting/index.wxml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pages/setting/index.wxss:
--------------------------------------------------------------------------------
1 | /* pages/setting/index.wxss */
--------------------------------------------------------------------------------
/sitemap.json:
--------------------------------------------------------------------------------
1 | {
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
3 | "rules": [
4 | {
5 | "action": "allow",
6 | "page": "/pages/news/news"
7 | },
8 | {
9 | "action": "allow",
10 | "page": "/pages/news/xm/xm_detail"
11 | },
12 | {
13 | "action": "allow",
14 | "page": "/pages/news/xy/xy_detail"
15 | },
16 | {
17 | "action": "allow",
18 | "page": "/pages/news/xb/xb_detail"
19 | },
20 | {
21 | "action": "allow",
22 | "page": "/pages/news/jw/jw_detail"
23 | },
24 | {
25 | "action": "allow",
26 | "page": "/pages/more/about"
27 | },
28 | {
29 | "action": "disallow",
30 | "page": "*"
31 | }
32 | ]
33 | }
--------------------------------------------------------------------------------
/utils/ald-stat-conf.js:
--------------------------------------------------------------------------------
1 | var config = require('../config.js')
2 |
3 | exports.app_key = config.ald.app_key; //请在此行填写从阿拉丁后台获取的appkey
4 | exports.getLocation = false; //默认不获取用户坐标位置
5 | exports.plugin = false; //您的小程序中是否使用了插件。根据是否启用插件会有不同的接入方式,请参考文档文档。
6 |
--------------------------------------------------------------------------------
/utils/base64.min.js:
--------------------------------------------------------------------------------
1 | /* base64.js v2.1.9
2 | * https://github.com/dankogai/js-base64
3 | * (做出了一些修改用以适应小程序, 此外请勿擅自修改 @ Cong Min)
4 | */
5 | (function(global){"use strict";var version="2.1.9";var b64chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var b64tab=function(bin){var t={};for(var i=0,l=bin.length;i>>6)+fromCharCode(128|cc&63):fromCharCode(224|cc>>>12&15)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}else{var cc=65536+(c.charCodeAt(0)-55296)*1024+(c.charCodeAt(1)-56320);return fromCharCode(240|cc>>>18&7)+fromCharCode(128|cc>>>12&63)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}};var re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;var utob=function(u){return u.replace(re_utob,cb_utob)};var cb_encode=function(ccc){var padlen=[0,2,1][ccc.length%3],ord=ccc.charCodeAt(0)<<16|(ccc.length>1?ccc.charCodeAt(1):0)<<8|(ccc.length>2?ccc.charCodeAt(2):0),chars=[b64chars.charAt(ord>>>18),b64chars.charAt(ord>>>12&63),padlen>=2?"=":b64chars.charAt(ord>>>6&63),padlen>=1?"=":b64chars.charAt(ord&63)];return chars.join("")};var btoa=function(b){return b.replace(/[\s\S]{1,3}/g,cb_encode)};var _encode=function(u){return btoa(utob(u))};var encode=function(u,urisafe){return!urisafe?_encode(String(u)):_encode(String(u)).replace(/[+\/]/g,function(m0){return m0=="+"?"-":"_"}).replace(/=/g,"")};var encodeURI=function(u){return encode(u,true)};var re_btou=new RegExp(["[À-ß][-¿]","[à-ï][-¿]{2}","[ð-÷][-¿]{3}"].join("|"),"g");var cb_btou=function(cccc){switch(cccc.length){case 4:var cp=(7&cccc.charCodeAt(0))<<18|(63&cccc.charCodeAt(1))<<12|(63&cccc.charCodeAt(2))<<6|63&cccc.charCodeAt(3),offset=cp-65536;return fromCharCode((offset>>>10)+55296)+fromCharCode((offset&1023)+56320);case 3:return fromCharCode((15&cccc.charCodeAt(0))<<12|(63&cccc.charCodeAt(1))<<6|63&cccc.charCodeAt(2));default:return fromCharCode((31&cccc.charCodeAt(0))<<6|63&cccc.charCodeAt(1))}};var btou=function(b){return b.replace(re_btou,cb_btou)};var cb_decode=function(cccc){var len=cccc.length,padlen=len%4,n=(len>0?b64tab[cccc.charAt(0)]<<18:0)|(len>1?b64tab[cccc.charAt(1)]<<12:0)|(len>2?b64tab[cccc.charAt(2)]<<6:0)|(len>3?b64tab[cccc.charAt(3)]:0),chars=[fromCharCode(n>>>16),fromCharCode(n>>>8&255),fromCharCode(n&255)];chars.length-=[0,0,2,1][padlen];return chars.join("")};var atob=function(a){return a.replace(/[\s\S]{1,4}/g,cb_decode)};var _decode=function(a){return btou(atob(a))};var decode=function(a){return _decode(String(a).replace(/[-_]/g,function(m0){return m0=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))};var base64={VERSION:version,atob:atob,btoa:btoa,fromBase64:decode,toBase64:encode,utob:utob,encode:encode,encodeURI:encodeURI,btou:btou,decode:decode};"function"==typeof define&&define.amd?define(function(){return base64}):"object"==typeof module&&module.exports?module.exports=base64:global.base64=base64})(this);
--------------------------------------------------------------------------------
/utils/md5.min.js:
--------------------------------------------------------------------------------
1 | /* JavaScript MD5 v2.4.0
2 | * https://github.com/blueimp/JavaScript-MD5
3 | */
4 | !function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t),e=(n>>16)+(t>>16)+(r>>16);return e<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)+14]=r;var e,i,a,h,d,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function h(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(h(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="0123456789abcdef",o="";for(r=0;r>>4&15)+e.charAt(15&t);return o}function v(n){return unescape(encodeURIComponent(n))}function m(n){return d(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}"function"==typeof define&&define.amd?define(function(){return A}):"object"==typeof module&&module.exports?module.exports=A:n.md5=A}(this);
--------------------------------------------------------------------------------
/utils/mta_analysis.js:
--------------------------------------------------------------------------------
1 | var MTA_CONFIG={app_id:"",event_id:"",api_base:"https://pingtas.qq.com/pingd",prefix:"_mta_",version:"1.3.5",stat_share_app:!1,stat_pull_down_fresh:!1,stat_reach_bottom:!1};function getNetworkType(a){wx.getNetworkType({success:function(b){a(b.networkType)}})}function getSystemInfo(){var a=wx.getSystemInfoSync();return{adt:encodeURIComponent(a.model),scl:a.pixelRatio,scr:a.windowWidth+"x"+a.windowHeight,lg:a.language,fl:a.version,jv:encodeURIComponent(a.system),tz:encodeURIComponent(a.platform)}}
2 | function getUID(){try{return wx.getStorageSync(MTA_CONFIG.prefix+"auid")}catch(a){}}function setUID(){try{var a=getRandom();wx.setStorageSync(MTA_CONFIG.prefix+"auid",a);return a}catch(b){}}function getSID(){try{return wx.getStorageSync(MTA_CONFIG.prefix+"ssid")}catch(a){}}function setSID(){try{var a="s"+getRandom();wx.setStorageSync(MTA_CONFIG.prefix+"ssid",a);return a}catch(b){}}
3 | function getRandom(a){for(var b=[0,1,2,3,4,5,6,7,8,9],c=10;1c;c++)d=10*d+b[c];return(a||"")+(d+""+ +new Date)}function getPagePath(){try{var a=getCurrentPages(),b="/";0\s]+))?)*)\s*(\/?)>/,
16 | endTag = /^<\/([-A-Za-z0-9_]+)[^>]*>/,
17 | attr = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g;
18 |
19 | // Empty Elements - HTML 5
20 | var empty = makeMap("area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr");
21 |
22 | // Block Elements - HTML 5
23 | var block = makeMap("a,address,code,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video");
24 |
25 | // Inline Elements - HTML 5
26 | var inline = makeMap("abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var");
27 |
28 | // Elements that you can, intentionally, leave open
29 | // (and which close themselves)
30 | var closeSelf = makeMap("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr");
31 |
32 | // Attributes that have their values filled in disabled="disabled"
33 | var fillAttrs = makeMap("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected");
34 |
35 | // Special Elements (can contain anything)
36 | var special = makeMap("wxxxcode-style,script,style,view,scroll-view,block");
37 |
38 | function HTMLParser(html, handler) {
39 | var index, chars, match, stack = [], last = html;
40 | stack.last = function () {
41 | return this[this.length - 1];
42 | };
43 |
44 | while (html) {
45 | chars = true;
46 |
47 | // Make sure we're not in a script or style element
48 | if (!stack.last() || !special[stack.last()]) {
49 |
50 | // Comment
51 | if (html.indexOf("");
53 |
54 | if (index >= 0) {
55 | if (handler.comment)
56 | handler.comment(html.substring(4, index));
57 | html = html.substring(index + 3);
58 | chars = false;
59 | }
60 |
61 | // end tag
62 | } else if (html.indexOf("") == 0) {
63 | match = html.match(endTag);
64 |
65 | if (match) {
66 | html = html.substring(match[0].length);
67 | match[0].replace(endTag, parseEndTag);
68 | chars = false;
69 | }
70 |
71 | // start tag
72 | } else if (html.indexOf("<") == 0) {
73 | match = html.match(startTag);
74 |
75 | if (match) {
76 | html = html.substring(match[0].length);
77 | match[0].replace(startTag, parseStartTag);
78 | chars = false;
79 | }
80 | }
81 |
82 | if (chars) {
83 | index = html.indexOf("<");
84 | var text = ''
85 | while (index === 0) {
86 | text += "<";
87 | html = html.substring(1);
88 | index = html.indexOf("<");
89 | }
90 | text += index < 0 ? html : html.substring(0, index);
91 | html = index < 0 ? "" : html.substring(index);
92 |
93 | if (handler.chars)
94 | handler.chars(text);
95 | }
96 |
97 | } else {
98 |
99 | html = html.replace(new RegExp("([\\s\\S]*?)<\/" + stack.last() + "[^>]*>"), function (all, text) {
100 | text = text.replace(/|/g, "$1$2");
101 | if (handler.chars)
102 | handler.chars(text);
103 |
104 | return "";
105 | });
106 |
107 |
108 | parseEndTag("", stack.last());
109 | }
110 |
111 | if (html == last)
112 | throw "Parse Error: " + html;
113 | last = html;
114 | }
115 |
116 | // Clean up any remaining tags
117 | parseEndTag();
118 |
119 | function parseStartTag(tag, tagName, rest, unary) {
120 | tagName = tagName.toLowerCase();
121 |
122 | if (block[tagName]) {
123 | while (stack.last() && inline[stack.last()]) {
124 | parseEndTag("", stack.last());
125 | }
126 | }
127 |
128 | if (closeSelf[tagName] && stack.last() == tagName) {
129 | parseEndTag("", tagName);
130 | }
131 |
132 | unary = empty[tagName] || !!unary;
133 |
134 | if (!unary)
135 | stack.push(tagName);
136 |
137 | if (handler.start) {
138 | var attrs = [];
139 |
140 | rest.replace(attr, function (match, name) {
141 | var value = arguments[2] ? arguments[2] :
142 | arguments[3] ? arguments[3] :
143 | arguments[4] ? arguments[4] :
144 | fillAttrs[name] ? name : "";
145 |
146 | attrs.push({
147 | name: name,
148 | value: value,
149 | escaped: value.replace(/(^|[^\\])"/g, '$1\\\"') //"
150 | });
151 | });
152 |
153 | if (handler.start) {
154 | handler.start(tagName, attrs, unary);
155 | }
156 |
157 | }
158 | }
159 |
160 | function parseEndTag(tag, tagName) {
161 | // If no tag name is provided, clean shop
162 | if (!tagName)
163 | var pos = 0;
164 |
165 | // Find the closest opened tag of the same type
166 | else {
167 | tagName = tagName.toLowerCase();
168 | for (var pos = stack.length - 1; pos >= 0; pos--)
169 | if (stack[pos] == tagName)
170 | break;
171 | }
172 | if (pos >= 0) {
173 | // Close all the open elements, up the stack
174 | for (var i = stack.length - 1; i >= pos; i--)
175 | if (handler.end)
176 | handler.end(stack[i]);
177 |
178 | // Remove the open elements from the stack
179 | stack.length = pos;
180 | }
181 | }
182 | };
183 |
184 |
185 | function makeMap(str) {
186 | var obj = {}, items = str.split(",");
187 | for (var i = 0; i < items.length; i++)
188 | obj[items[i]] = true;
189 | return obj;
190 | }
191 |
192 | module.exports = HTMLParser;
193 |
--------------------------------------------------------------------------------
/wxParse/wxParse.js:
--------------------------------------------------------------------------------
1 | /**
2 | * author: Di (微信小程序开发工程师)
3 | * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)
4 | * 垂直微信小程序开发交流社区
5 | *
6 | * github地址: https://github.com/icindy/wxParse
7 | *
8 | * for: 微信小程序富文本解析
9 | * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184
10 | */
11 |
12 | /**
13 | * utils函数引入
14 | **/
15 | import showdown from './showdown.js';
16 | import HtmlToJson from './html2json.js';
17 | /**
18 | * 配置及公有属性
19 | **/
20 | var realWindowWidth = 0;
21 | var realWindowHeight = 0;
22 | wx.getSystemInfo({
23 | success: function (res) {
24 | realWindowWidth = res.windowWidth
25 | realWindowHeight = res.windowHeight
26 | }
27 | })
28 | /**
29 | * 主函数入口区
30 | **/
31 | function wxParse(bindName = 'wxParseData', type='html', data='数据不能为空
', target,imagePadding) {
32 | var that = target;
33 | var transData = {};//存放转化后的数据
34 | if (type == 'html') {
35 | transData = HtmlToJson.html2json(data, bindName);
36 | // console.log(JSON.stringify(transData, ' ', ' '));
37 | } else if (type == 'md' || type == 'markdown') {
38 | var converter = new showdown.Converter();
39 | var html = converter.makeHtml(data);
40 | transData = HtmlToJson.html2json(html, bindName);
41 | // console.log(JSON.stringify(transData, ' ', ' '));
42 | }
43 | transData.view = {};
44 | transData.view.imagePadding = 0;
45 | if(typeof(imagePadding) != 'undefined'){
46 | transData.view.imagePadding = imagePadding
47 | }
48 | var bindData = {};
49 | bindData[bindName] = transData;
50 | that.setData(bindData)
51 | that.wxParseImgLoad = wxParseImgLoad;
52 | that.wxParseImgTap = wxParseImgTap;
53 | }
54 | // 图片点击事件
55 | function wxParseImgTap(e) {
56 | var that = this;
57 | var nowImgUrl = e.target.dataset.src;
58 | var tagFrom = e.target.dataset.from;
59 | if (typeof (tagFrom) != 'undefined' && tagFrom.length > 0) {
60 | wx.previewImage({
61 | current: nowImgUrl, // 当前显示图片的http链接
62 | urls: that.data[tagFrom].imageUrls // 需要预览的图片http链接列表
63 | })
64 | }
65 | }
66 |
67 | /**
68 | * 图片视觉宽高计算函数区
69 | **/
70 | function wxParseImgLoad(e) {
71 | var that = this;
72 | var tagFrom = e.target.dataset.from;
73 | var idx = e.target.dataset.idx;
74 | if (typeof (tagFrom) != 'undefined' && tagFrom.length > 0) {
75 | calMoreImageInfo(e, idx, that, tagFrom)
76 | }
77 | }
78 | // 假循环获取计算图片视觉最佳宽高
79 | function calMoreImageInfo(e, idx, that, bindName) {
80 | var temData = that.data[bindName];
81 | if (!temData || temData.images.length == 0) {
82 | return;
83 | }
84 | var temImages = temData.images;
85 | //因为无法获取view宽度 需要自定义padding进行计算,稍后处理
86 | var recal = wxAutoImageCal(e.detail.width, e.detail.height,that,bindName);
87 | // temImages[idx].width = recal.imageWidth;
88 | // temImages[idx].height = recal.imageheight;
89 | // temData.images = temImages;
90 | // var bindData = {};
91 | // bindData[bindName] = temData;
92 | // that.setData(bindData);
93 | var index = temImages[idx].index
94 | var key = `${bindName}`
95 | for (var i of index.split('.')) key+=`.nodes[${i}]`
96 | var keyW = key + '.width'
97 | var keyH = key + '.height'
98 | that.setData({
99 | [keyW]: recal.imageWidth,
100 | [keyH]: recal.imageheight,
101 | })
102 | }
103 |
104 | // 计算视觉优先的图片宽高
105 | function wxAutoImageCal(originalWidth, originalHeight,that,bindName) {
106 | //获取图片的原始长宽
107 | var windowWidth = 0, windowHeight = 0;
108 | var autoWidth = 0, autoHeight = 0;
109 | var results = {};
110 | var padding = that.data[bindName].view.imagePadding;
111 | windowWidth = realWindowWidth-2*padding;
112 | windowHeight = realWindowHeight;
113 | //判断按照那种方式进行缩放
114 | // console.log("windowWidth" + windowWidth);
115 | if (originalWidth > windowWidth) {//在图片width大于手机屏幕width时候
116 | autoWidth = windowWidth;
117 | // console.log("autoWidth" + autoWidth);
118 | autoHeight = (autoWidth * originalHeight) / originalWidth;
119 | // console.log("autoHeight" + autoHeight);
120 | results.imageWidth = autoWidth;
121 | results.imageheight = autoHeight;
122 | } else {//否则展示原来的数据
123 | results.imageWidth = originalWidth;
124 | results.imageheight = originalHeight;
125 | }
126 | return results;
127 | }
128 |
129 | function wxParseTemArray(temArrayName,bindNameReg,total,that){
130 | var array = [];
131 | var temData = that.data;
132 | var obj = null;
133 | for(var i = 0; i < total; i++){
134 | var simArr = temData[bindNameReg+i].nodes;
135 | array.push(simArr);
136 | }
137 |
138 | temArrayName = temArrayName || 'wxParseTemArray';
139 | obj = JSON.parse('{"'+ temArrayName +'":""}');
140 | obj[temArrayName] = array;
141 | that.setData(obj);
142 | }
143 |
144 | /**
145 | * 配置emojis
146 | *
147 | */
148 |
149 | function emojisInit(reg='',baseSrc="/wxParse/emojis/",emojis){
150 | HtmlToJson.emojisInit(reg,baseSrc,emojis);
151 | }
152 |
153 | module.exports = {
154 | wxParse: wxParse,
155 | wxParseTemArray:wxParseTemArray,
156 | emojisInit:emojisInit
157 | }
158 |
159 |
160 |
--------------------------------------------------------------------------------
/wxParse/wxParse.wxss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * author: Di (微信小程序开发工程师)
4 | * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)
5 | * 垂直微信小程序开发交流社区
6 | *
7 | * github地址: https://github.com/icindy/wxParse
8 | *
9 | * for: 微信小程序富文本解析
10 | * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184
11 | */
12 |
13 | .wxParse{
14 | margin: 0 5px;
15 | font-family: Helvetica,sans-serif;
16 | font-size: 28rpx;
17 | color: #666;
18 | line-height: 1.8;
19 | }
20 | view{
21 | word-break:break-all; overflow:auto;
22 | }
23 | .wxParse-inline{
24 | display: inline;
25 | margin: 0;
26 | padding: 0;
27 | }
28 | /*//标题 */
29 | .wxParse-div{margin: 0;padding: 0;}
30 | .wxParse-h1{ font-size:2em; margin: .67em 0 }
31 | .wxParse-h2{ font-size:1.5em; margin: .75em 0 }
32 | .wxParse-h3{ font-size:1.17em; margin: .83em 0 }
33 | .wxParse-h4{ margin: 1.12em 0}
34 | .wxParse-h5 { font-size:.83em; margin: 1.5em 0 }
35 | .wxParse-h6{ font-size:.75em; margin: 1.67em 0 }
36 |
37 | .wxParse-h1 {
38 | font-size: 18px;
39 | font-weight: 400;
40 | margin-bottom: .9em;
41 | }
42 | .wxParse-h2 {
43 | font-size: 16px;
44 | font-weight: 400;
45 | margin-bottom: .34em;
46 | }
47 | .wxParse-h3 {
48 | font-weight: 400;
49 | font-size: 15px;
50 | margin-bottom: .34em;
51 | }
52 | .wxParse-h4 {
53 | font-weight: 400;
54 | font-size: 14px;
55 | margin-bottom: .24em;
56 | }
57 | .wxParse-h5 {
58 | font-weight: 400;
59 | font-size: 13px;
60 | margin-bottom: .14em;
61 | }
62 | .wxParse-h6 {
63 | font-weight: 400;
64 | font-size: 12px;
65 | margin-bottom: .04em;
66 | }
67 |
68 | .wxParse-h1, .wxParse-h2, .wxParse-h3, .wxParse-h4, .wxParse-h5, .wxParse-h6, .wxParse-b, .wxParse-strong { font-weight: bolder }
69 |
70 | .wxParse-i,.wxParse-cite,.wxParse-em,.wxParse-var,.wxParse-address{font-style:italic}
71 | .wxParse-pre,.wxParse-tt,.wxParse-code,.wxParse-kbd,.wxParse-samp{font-family:monospace}
72 | .wxParse-pre{white-space:pre}
73 | .wxParse-big{font-size:1.17em}
74 | .wxParse-small,.wxParse-sub,.wxParse-sup{font-size:.83em}
75 | .wxParse-sub{vertical-align:sub}
76 | .wxParse-sup{vertical-align:super}
77 | .wxParse-s,.wxParse-strike,.wxParse-del{text-decoration:line-through}
78 | /*wxparse-自定义个性化的css样式*/
79 | /*增加video的css样式*/
80 | .wxParse-strong,.wxParse-s{display: inline}
81 | .wxParse-a{
82 | color: deepskyblue;
83 | word-break:break-all;
84 | overflow:auto;
85 | }
86 |
87 | .wxParse-video{
88 | text-align: center;
89 | margin: 10px 0;
90 | }
91 |
92 | .wxParse-video-video{
93 | width:100%;
94 | }
95 |
96 | .wxParse-img{
97 | /*background-color: #efefef;*/
98 | overflow: hidden;
99 | }
100 |
101 | .wxParse-blockquote {
102 | margin: 0;
103 | padding:10px 0 10px 5px;
104 | font-family:Courier, Calibri,"宋体";
105 | background:#f5f5f5;
106 | border-left: 3px solid #dbdbdb;
107 | }
108 |
109 | .wxParse-code,.wxParse-wxxxcode-style{
110 | display: inline;
111 | background:#f5f5f5;
112 | }
113 | .wxParse-ul{
114 | margin: 20rpx 10rpx;
115 | }
116 |
117 | .wxParse-li,.wxParse-li-inner{
118 | display: flex;
119 | align-items: baseline;
120 | margin: 10rpx 0;
121 | }
122 | .wxParse-li-text{
123 |
124 | align-items: center;
125 | line-height: 20px;
126 | }
127 |
128 | .wxParse-li-circle{
129 | display: inline-flex;
130 | width: 5px;
131 | height: 5px;
132 | background-color: #333;
133 | margin-right: 5px;
134 | }
135 |
136 | .wxParse-li-square{
137 | display: inline-flex;
138 | width: 10rpx;
139 | height: 10rpx;
140 | background-color: #333;
141 | margin-right: 5px;
142 | }
143 | .wxParse-li-ring{
144 | display: inline-flex;
145 | width: 10rpx;
146 | height: 10rpx;
147 | border: 2rpx solid #333;
148 | border-radius: 50%;
149 | background-color: #fff;
150 | margin-right: 5px;
151 | }
152 |
153 | /*.wxParse-table{
154 | width: 100%;
155 | height: 400px;
156 | }
157 | .wxParse-thead,.wxParse-tfoot,.wxParse-tr{
158 | display: flex;
159 | flex-direction: row;
160 | }
161 | .wxParse-th,.wxParse-td{
162 | display: flex;
163 | width: 580px;
164 | overflow: auto;
165 | }*/
166 |
167 | .wxParse-u {
168 | text-decoration: underline;
169 | }
170 | .wxParse-hide{
171 | display: none;
172 | }
173 | .WxEmojiView{
174 | align-items: center;
175 | }
176 | .wxEmoji{
177 | width: 16px;
178 | height:16px;
179 | }
180 | .wxParse-tr{
181 | display: flex;
182 | border-right:1px solid #e0e0e0;
183 | border-bottom:1px solid #e0e0e0;
184 | border-top:1px solid #e0e0e0;
185 | }
186 | .wxParse-th,
187 | .wxParse-td{
188 | flex:1;
189 | padding:5px;
190 | font-size:28rpx;
191 | border-left:1px solid #e0e0e0;
192 | word-break: break-all;
193 | }
194 | .wxParse-td:last{
195 | border-top:1px solid #e0e0e0;
196 | }
197 | .wxParse-th{
198 | background:#f0f0f0;
199 | border-top:1px solid #e0e0e0;
200 | }
201 | .wxParse-del{
202 | display: inline;
203 | }
204 | .wxParse-figure {
205 | overflow: hidden;
206 | }
207 |
--------------------------------------------------------------------------------