├── client ├── van-ui │ ├── common │ │ ├── style │ │ │ ├── var.wxss │ │ │ ├── mixins │ │ │ │ ├── clearfix.wxss │ │ │ │ ├── ellipsis.wxss │ │ │ │ └── hairline.wxss │ │ │ ├── clearfix.wxss │ │ │ ├── ellipsis.wxss │ │ │ └── hairline.wxss │ │ ├── utils.js │ │ ├── class-names.js │ │ └── index.wxss │ ├── loading │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxml │ ├── stepper │ │ ├── index.json │ │ └── index.wxml │ ├── tab │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── tabs │ │ └── index.json │ ├── tag │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.wxss │ │ └── index.js │ ├── badge │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.js │ │ └── index.wxss │ ├── cell-group │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.wxml │ │ └── index.js │ ├── col │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── icon │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── radio-group │ │ ├── index.wxss │ │ ├── index.wxml │ │ ├── index.json │ │ └── index.js │ ├── row │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.wxml │ │ └── index.js │ ├── slider │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.wxss │ ├── tabbar │ │ ├── index.json │ │ ├── index.wxss │ │ └── index.wxml │ ├── transition │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxml │ ├── badge-group │ │ ├── index.json │ │ ├── index.wxss │ │ └── index.wxml │ ├── checkbox-group │ │ ├── index.wxss │ │ ├── index.wxml │ │ ├── index.json │ │ └── index.js │ ├── goods-action │ │ ├── index.json │ │ ├── index.js │ │ ├── index.wxml │ │ └── index.wxss │ ├── progress │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.wxss │ ├── goods-action-button │ │ ├── index.wxss │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxml │ ├── overlay │ │ ├── index.wxss │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── cell │ │ ├── index.json │ │ └── index.wxml │ ├── card │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxss │ ├── notice-bar │ │ ├── index.json │ │ ├── index.wxss │ │ └── index.wxml │ ├── panel │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.js │ │ └── index.wxml │ ├── radio │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.wxss │ ├── steps │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── area │ │ ├── index.json │ │ ├── index.wxss │ │ └── index.wxml │ ├── button │ │ ├── index.json │ │ └── index.wxml │ ├── checkbox │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.wxss │ ├── nav-bar │ │ ├── index.json │ │ ├── index.js │ │ ├── index.wxss │ │ └── index.wxml │ ├── popup │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── submit-bar │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.wxml │ │ └── index.js │ ├── switch │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.wxss │ │ └── index.js │ ├── tabbar-item │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.js │ │ └── index.wxss │ ├── tree-select │ │ ├── index.json │ │ ├── index.wxss │ │ └── index.wxml │ ├── notify │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.wxml │ │ ├── notify.js │ │ └── index.js │ ├── switch-cell │ │ ├── index.wxss │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── field │ │ ├── index.json │ │ └── index.wxss │ ├── search │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.wxml │ │ └── index.js │ ├── dialog │ │ ├── index.json │ │ └── index.wxss │ ├── goods-action-icon │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.js │ │ └── index.wxml │ ├── action-sheet │ │ ├── index.json │ │ ├── index.wxss │ │ └── index.js │ ├── toast │ │ ├── index.json │ │ ├── index.js │ │ ├── index.wxss │ │ └── index.wxml │ └── mixins │ │ ├── link.js │ │ ├── button.js │ │ ├── observer │ │ ├── props.js │ │ ├── index.js │ │ └── behavior.js │ │ ├── open-type.js │ │ ├── basic.js │ │ ├── touch.js │ │ └── transition.js ├── pages │ ├── work │ │ ├── notice-content.json │ │ ├── notice-submit.wxss │ │ ├── video-submit.wxss │ │ ├── video-player.json │ │ ├── notices.wxss │ │ ├── notice-submit.json │ │ ├── video-submit.json │ │ ├── video.json │ │ ├── video.wxss │ │ ├── index.json │ │ ├── notice-content.wxml │ │ ├── monthly.json │ │ ├── notices.json │ │ ├── video-player.wxss │ │ ├── notice-content.wxss │ │ ├── video-player.wxml │ │ ├── fill-in-sheet.json │ │ ├── notices.wxml │ │ ├── video.wxml │ │ ├── video-player.js │ │ ├── notice-content.js │ │ ├── notice-submit.js │ │ └── notice-submit.wxml │ ├── index │ │ ├── profile.wxss │ │ ├── profile.json │ │ ├── index.json │ │ └── index.wxss │ ├── learning │ │ ├── index.json │ │ ├── free-rooms.json │ │ ├── index.wxml │ │ ├── index.js │ │ └── index.wxss │ └── about │ │ ├── privacy.json │ │ ├── opensource.json │ │ ├── privacy.js │ │ ├── opensource.wxss │ │ ├── privacy.wxml │ │ ├── privacy.wxss │ │ └── opensource.js ├── zan-ui │ ├── btn │ │ ├── index.json │ │ └── index.wxml │ ├── cell │ │ ├── index.json │ │ └── index.wxml │ ├── loading │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxml │ ├── search │ │ ├── index.json │ │ └── index.wxml │ ├── stepper │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.wxss │ ├── tab │ │ ├── index.json │ │ └── index.wxss │ ├── tag │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.js │ │ └── index.wxss │ ├── toptips │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.wxss │ │ ├── toptips.js │ │ └── index.js │ ├── badge │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.wxss │ │ └── index.js │ ├── capsule │ │ ├── index.json │ │ ├── index.js │ │ ├── index.wxml │ │ └── index.wxss │ ├── card │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxml │ ├── cell-group │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.wxss │ ├── col │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── icon │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── panel │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.js │ │ └── index.wxss │ ├── row │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.wxml │ │ └── index.js │ ├── steps │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxml │ ├── switch │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── btn-group │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.wxml │ │ └── index.js │ ├── checkbox-group │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.wxss │ │ └── index.js │ ├── loadmore │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxml │ ├── common │ │ └── pop-manager │ │ │ ├── index.json │ │ │ ├── index.wxml │ │ │ └── index.js │ ├── select │ │ ├── index.wxss │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxml │ ├── field │ │ ├── index.json │ │ └── index.wxss │ ├── noticebar │ │ ├── index.json │ │ ├── index.wxss │ │ └── index.wxml │ ├── radio │ │ ├── index.json │ │ ├── index.js │ │ └── index.wxml │ ├── toast │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── actionsheet │ │ ├── index.json │ │ └── index.js │ ├── checkbox │ │ ├── index.json │ │ ├── index.wxss │ │ ├── index.wxml │ │ └── index.js │ ├── tree-select │ │ ├── index.json │ │ └── index.wxml │ ├── popup │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.js │ ├── datetime-picker │ │ ├── index.json │ │ ├── picker-view-column.wxml │ │ ├── index.wxml │ │ ├── index.wxss │ │ └── date-picker-view.wxml │ ├── index.js │ ├── dialog │ │ ├── index.json │ │ ├── data.js │ │ └── index.wxss │ └── color │ │ └── index.wxss ├── images │ ├── me.png │ ├── check.png │ ├── free.png │ ├── logo.jpg │ ├── logo.png │ ├── sheet.png │ ├── study.png │ ├── video.png │ ├── work.png │ ├── monthly.png │ ├── notices.png │ ├── learning.png │ ├── logo-new.jpg │ ├── logo-new.png │ ├── not-free.png │ ├── suxiexian.jpg │ ├── upupming.jpeg │ ├── check-active.png │ ├── me-selected.png │ ├── sheet-active.png │ ├── study-active.png │ ├── user-unlogin.png │ ├── video-active.png │ ├── logo-only-door.png │ ├── monthly-active.png │ ├── notices-active.png │ ├── work-selected.png │ ├── learning-selected.png │ ├── work-selected-min.png │ ├── switch.svg │ ├── free.svg │ ├── gmail.svg │ ├── 1-active.svg │ ├── 1.svg │ ├── folder-open-fill.svg │ ├── source-code.svg │ ├── sheet.svg │ ├── open-in-new.svg │ ├── download.svg │ ├── not-free.svg │ ├── person.svg │ ├── copyright.svg │ ├── image.svg │ ├── documentation.svg │ ├── contributors.svg │ ├── check.svg │ ├── 3.svg │ ├── 3-active.svg │ ├── me.svg │ ├── 2.svg │ └── notices.svg ├── utils │ ├── user-adapter.js │ ├── update.js │ ├── event.js │ └── util.js └── prototypes.js ├── .gitignore ├── images ├── logo.png ├── qrcode8x8.jpg ├── qrcode15x15.jpg └── qrcode50x50.jpg ├── .notes └── color.md ├── package.json ├── README.md ├── .eslintrc.json ├── project.config.json └── LICENSE /client/van-ui/common/style/var.wxss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/pages/work/notice-content.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /client/van-ui/common/style/mixins/clearfix.wxss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/van-ui/common/style/mixins/ellipsis.wxss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/van-ui/common/style/mixins/hairline.wxss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | videos.js 3 | videos 4 | .DS_Store -------------------------------------------------------------------------------- /client/pages/index/profile.wxss: -------------------------------------------------------------------------------- 1 | /* pages/index/profile.wxss */ -------------------------------------------------------------------------------- /client/van-ui/loading/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/van-ui/stepper/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/van-ui/tab/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/van-ui/tabs/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/van-ui/tag/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/btn/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/cell/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/loading/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/search/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/stepper/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/tab/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/tag/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/toptips/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/van-ui/badge/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/van-ui/cell-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/van-ui/cell-group/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss'; -------------------------------------------------------------------------------- /client/van-ui/col/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/van-ui/icon/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/van-ui/radio-group/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss'; -------------------------------------------------------------------------------- /client/van-ui/row/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/van-ui/slider/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/van-ui/tabbar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/van-ui/transition/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/badge/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/capsule/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/card/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/cell-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/col/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/icon/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/panel/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/row/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/steps/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/switch/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/van-ui/badge-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/van-ui/checkbox-group/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss'; -------------------------------------------------------------------------------- /client/van-ui/goods-action/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/van-ui/progress/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/btn-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/checkbox-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /client/zan-ui/loadmore/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/btn-group/index.wxss: -------------------------------------------------------------------------------- 1 | .btn-group { 2 | margin: 15px; 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/common/pop-manager/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /client/zan-ui/row/index.wxss: -------------------------------------------------------------------------------- 1 | .zan-row:after{content:"";display:table;clear:both} -------------------------------------------------------------------------------- /images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/images/logo.png -------------------------------------------------------------------------------- /client/zan-ui/icon/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /client/zan-ui/row/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /client/images/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/me.png -------------------------------------------------------------------------------- /images/qrcode8x8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/images/qrcode8x8.jpg -------------------------------------------------------------------------------- /client/images/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/check.png -------------------------------------------------------------------------------- /client/images/free.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/free.png -------------------------------------------------------------------------------- /client/images/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/logo.jpg -------------------------------------------------------------------------------- /client/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/logo.png -------------------------------------------------------------------------------- /client/images/sheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/sheet.png -------------------------------------------------------------------------------- /client/images/study.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/study.png -------------------------------------------------------------------------------- /client/images/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/video.png -------------------------------------------------------------------------------- /client/images/work.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/work.png -------------------------------------------------------------------------------- /client/van-ui/badge-group/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-badge-group{width:85px} -------------------------------------------------------------------------------- /client/van-ui/checkbox-group/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/van-ui/common/style/clearfix.wxss: -------------------------------------------------------------------------------- 1 | .van-clearfix::after{content:'';display:table;clear:both} -------------------------------------------------------------------------------- /client/van-ui/radio-group/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/zan-ui/btn-group/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /images/qrcode15x15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/images/qrcode15x15.jpg -------------------------------------------------------------------------------- /images/qrcode50x50.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/images/qrcode50x50.jpg -------------------------------------------------------------------------------- /client/images/monthly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/monthly.png -------------------------------------------------------------------------------- /client/images/notices.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/notices.png -------------------------------------------------------------------------------- /client/van-ui/goods-action-button/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';:host{-webkit-flex:1;flex:1} -------------------------------------------------------------------------------- /client/images/learning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/learning.png -------------------------------------------------------------------------------- /client/images/logo-new.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/logo-new.jpg -------------------------------------------------------------------------------- /client/images/logo-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/logo-new.png -------------------------------------------------------------------------------- /client/images/not-free.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/not-free.png -------------------------------------------------------------------------------- /client/images/suxiexian.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/suxiexian.jpg -------------------------------------------------------------------------------- /client/images/upupming.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/upupming.jpeg -------------------------------------------------------------------------------- /client/van-ui/goods-action/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent(); -------------------------------------------------------------------------------- /client/van-ui/tag/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/zan-ui/checkbox-group/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/images/check-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/check-active.png -------------------------------------------------------------------------------- /client/images/me-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/me-selected.png -------------------------------------------------------------------------------- /client/images/sheet-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/sheet-active.png -------------------------------------------------------------------------------- /client/images/study-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/study-active.png -------------------------------------------------------------------------------- /client/images/user-unlogin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/user-unlogin.png -------------------------------------------------------------------------------- /client/images/video-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/video-active.png -------------------------------------------------------------------------------- /client/van-ui/goods-action/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/van-ui/row/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-row::after{content:"";display:table;clear:both} -------------------------------------------------------------------------------- /client/images/logo-only-door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/logo-only-door.png -------------------------------------------------------------------------------- /client/images/monthly-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/monthly-active.png -------------------------------------------------------------------------------- /client/images/notices-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/notices-active.png -------------------------------------------------------------------------------- /client/images/work-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/work-selected.png -------------------------------------------------------------------------------- /client/van-ui/row/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/images/learning-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/learning-selected.png -------------------------------------------------------------------------------- /client/images/work-selected-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upupming/HITMers/HEAD/client/images/work-selected-min.png -------------------------------------------------------------------------------- /client/van-ui/overlay/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-overlay{position:fixed;top:0;left:0;right:0;bottom:0} -------------------------------------------------------------------------------- /client/van-ui/col/index.wxml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /client/zan-ui/select/index.wxss: -------------------------------------------------------------------------------- 1 | .zan-select__list .zan-select__radio{position:absolute;top:0;bottom:0;left:0;right:0;opacity:0} -------------------------------------------------------------------------------- /client/van-ui/cell/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } -------------------------------------------------------------------------------- /client/zan-ui/field/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "zan-cell": "../cell/index" 5 | } 6 | } -------------------------------------------------------------------------------- /client/pages/work/notice-submit.wxss: -------------------------------------------------------------------------------- 1 | .container { 2 | padding: 45rpx 15rpx 0; 3 | } 4 | 5 | .input { 6 | height: 500rpx; 7 | } -------------------------------------------------------------------------------- /client/pages/work/video-submit.wxss: -------------------------------------------------------------------------------- 1 | .container { 2 | padding: 45rpx 15rpx 0; 3 | } 4 | 5 | .input { 6 | height: 500rpx; 7 | } -------------------------------------------------------------------------------- /client/van-ui/badge-group/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/van-ui/card/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-tag": "../tag/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/notice-bar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } -------------------------------------------------------------------------------- /client/van-ui/panel/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-cell": "../cell/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/radio/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/steps/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/zan-ui/noticebar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "zan-icon": "../icon/index" 5 | } 6 | } -------------------------------------------------------------------------------- /client/zan-ui/radio/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "zan-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/zan-ui/toast/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "zan-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/area/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-loading": "../loading/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/button/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-loading": "../loading/index" 5 | } 6 | } -------------------------------------------------------------------------------- /client/van-ui/checkbox/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/nav-bar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/zan-ui/actionsheet/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "zan-btn": "../btn/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/zan-ui/cell-group/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/zan-ui/checkbox-group/index.wxss: -------------------------------------------------------------------------------- 1 | .checkbox-group{padding-bottom:10px;background-color:#fff}.checkbox-group .zan-checkbox{margin-top:10px} -------------------------------------------------------------------------------- /client/zan-ui/checkbox/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "zan-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/checkbox-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/popup/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-overlay": "../overlay/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/radio-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/submit-bar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-button": "../button/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/switch/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-loading": "../loading/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/tabbar-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/tree-select/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/zan-ui/tree-select/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "zan-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/notify/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-transition": "../transition/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/overlay/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-transition": "../transition/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/cell-group/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/van-ui/goods-action-button/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-button": "../button/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/zan-ui/popup/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "pop-manager": "../common/pop-manager/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /client/van-ui/goods-action/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-goods-action{left:0;right:0;bottom:0;display:-webkit-flex;display:flex;position:fixed} -------------------------------------------------------------------------------- /client/van-ui/panel/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-panel{background:#fff}.van-panel__header-value{color:#f44}.van-panel__footer{padding:10px 15px} -------------------------------------------------------------------------------- /client/van-ui/switch-cell/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-switch-cell{padding-top:8px;padding-bottom:8px}.van-switch-cell__switch{vertical-align:middle} -------------------------------------------------------------------------------- /client/zan-ui/col/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /client/zan-ui/datetime-picker/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "pop-manager": "../common/pop-manager/index" 5 | } 6 | } -------------------------------------------------------------------------------- /client/van-ui/field/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-cell": "../cell/index", 5 | "van-icon": "../icon/index" 6 | } 7 | } -------------------------------------------------------------------------------- /client/zan-ui/toptips/index.wxml: -------------------------------------------------------------------------------- 1 | {{ content }} 2 | -------------------------------------------------------------------------------- /client/van-ui/search/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-field": "../field/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /client/zan-ui/icon/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | properties: { 5 | type: { 6 | type: String, 7 | value: '' 8 | } 9 | } 10 | }); -------------------------------------------------------------------------------- /client/zan-ui/select/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "zan-icon": "../icon/index", 5 | "zan-cell": "../cell/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /client/pages/learning/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "van-toast": "../../van-ui/toast/index", 4 | "van-notify": "../../van-ui/notify/index" 5 | } 6 | } -------------------------------------------------------------------------------- /client/van-ui/dialog/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-popup": "../popup/index", 5 | "van-button": "../button/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /client/van-ui/switch-cell/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-cell": "../cell/index", 5 | "van-switch": "../switch/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /client/zan-ui/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.Dialog = require('./dialog/dialog'); 4 | exports.Toast = require('./toast/toast'); 5 | exports.TopTips = require('./toptips/toptips'); -------------------------------------------------------------------------------- /client/van-ui/goods-action-icon/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-button": "../button/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /client/van-ui/tab/index.wxml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /client/zan-ui/dialog/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "pop-manager": "../common/pop-manager/index", 5 | "zan-button": "../btn/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /client/pages/work/video-player.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "zan-loading": "../../zan-ui/loading/index", 4 | 5 | "van-toast": "../../van-ui/toast/index" 6 | } 7 | } -------------------------------------------------------------------------------- /client/van-ui/tabbar/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-tabbar{width:100%;height:50px;display:-webkit-flex;display:flex;background-color:#fff}.van-tabbar--fixed{left:0;bottom:0;position:fixed} -------------------------------------------------------------------------------- /client/van-ui/cell-group/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | border: { 5 | type: Boolean, 6 | value: true 7 | } 8 | } 9 | }); -------------------------------------------------------------------------------- /client/zan-ui/popup/index.wxml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /client/zan-ui/row/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | externalClasses: ['row-class'], 5 | 6 | relations: { 7 | '../col/index': { 8 | type: 'child' 9 | } 10 | } 11 | }); -------------------------------------------------------------------------------- /client/van-ui/notify/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-notify{top:0;width:100%;z-index:110;color:#fff;position:fixed;min-height:32px;line-height:2.3;font-size:14px;text-align:center;background-color:#e64340} -------------------------------------------------------------------------------- /client/van-ui/action-sheet/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-popup": "../popup/index", 6 | "van-loading": "../loading/index" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /client/pages/about/privacy.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "van-toast": "../../van-ui/toast/index", 4 | "van-cell": "../../van-ui/cell/index", 5 | "van-cell-group": "../../van-ui/cell-group/index" 6 | } 7 | } -------------------------------------------------------------------------------- /client/van-ui/tabbar/index.wxml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /client/zan-ui/tag/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /client/pages/about/opensource.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "van-toast": "../../van-ui/toast/index", 4 | "van-cell": "../../van-ui/cell/index", 5 | "van-cell-group": "../../van-ui/cell-group/index" 6 | } 7 | } -------------------------------------------------------------------------------- /client/zan-ui/loading/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | properties: { 5 | type: { 6 | type: String, 7 | value: 'circle' 8 | }, 9 | color: { 10 | type: String 11 | } 12 | } 13 | }); -------------------------------------------------------------------------------- /client/van-ui/badge/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | {{ info }} 3 | {{ title }} 4 | 5 | -------------------------------------------------------------------------------- /client/van-ui/notify/index.wxml: -------------------------------------------------------------------------------- 1 | 7 | {{ text }} 8 | 9 | -------------------------------------------------------------------------------- /client/pages/learning/free-rooms.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "zan-loading": "../../zan-ui/loading/index", 4 | 5 | "van-tabbar": "../../van-ui/tabbar/index", 6 | "van-tabbar-item": "../../van-ui/tabbar-item/index" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /client/zan-ui/loadmore/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | properties: { 5 | type: { 6 | type: String, 7 | value: 'loading' 8 | }, 9 | text: { 10 | type: String, 11 | value: '' 12 | } 13 | } 14 | }); -------------------------------------------------------------------------------- /client/van-ui/toast/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-loading": "../loading/index", 6 | "van-overlay": "../overlay/index", 7 | "van-transition": "../transition/index" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /client/zan-ui/color/index.wxss: -------------------------------------------------------------------------------- 1 | .zan-c-red{color:#f44!important}.zan-c-gray{color:#c9c9c9!important}.zan-c-gray-dark{color:#999!important}.zan-c-gray-darker{color:#666!important}.zan-c-black{color:#333!important}.zan-c-blue{color:#38f!important}.zan-c-green{color:#06bf04!important} -------------------------------------------------------------------------------- /client/van-ui/common/utils.js: -------------------------------------------------------------------------------- 1 | function isDef(value) { 2 | return value !== undefined && value !== null; 3 | } 4 | 5 | function isObj(x) { 6 | var type = typeof x; 7 | return x !== null && (type === 'object' || type === 'function'); 8 | } 9 | 10 | export { isObj, isDef }; -------------------------------------------------------------------------------- /client/van-ui/overlay/index.wxml: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /client/zan-ui/badge/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /client/van-ui/panel/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | classes: ['footer-class'], 4 | props: { 5 | desc: String, 6 | title: String, 7 | status: String, 8 | headerClass: String, 9 | useFooterSlot: Boolean 10 | } 11 | }); -------------------------------------------------------------------------------- /client/van-ui/transition/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | import { transition } from '../mixins/transition'; 3 | VantComponent({ 4 | mixins: [transition(true)], 5 | props: { 6 | name: { 7 | type: String, 8 | value: 'fade' 9 | } 10 | } 11 | }); -------------------------------------------------------------------------------- /client/pages/work/notices.wxss: -------------------------------------------------------------------------------- 1 | .title { 2 | font-size: 50rpx; 3 | font-weight: bold; 4 | margin-left: 20rpx; 5 | margin-bottom: 10rpx; 6 | } 7 | 8 | .add { 9 | position: fixed; 10 | bottom: 20rpx; 11 | right: 40rpx; 12 | font-size: 80rpx; 13 | color: #25EC7E; 14 | } 15 | -------------------------------------------------------------------------------- /client/zan-ui/panel/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | {{ title }} 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /client/van-ui/common/style/ellipsis.wxss: -------------------------------------------------------------------------------- 1 | .van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2}.van-multi-ellipsis--l3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3} -------------------------------------------------------------------------------- /client/van-ui/transition/index.wxml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /client/van-ui/icon/index.wxml: -------------------------------------------------------------------------------- 1 | 6 | {{ info }} 7 | 8 | -------------------------------------------------------------------------------- /client/zan-ui/datetime-picker/picker-view-column.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/van-ui/loading/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | size: { 5 | type: String, 6 | value: '30px' 7 | }, 8 | type: { 9 | type: String, 10 | value: 'circular' 11 | }, 12 | color: { 13 | type: String, 14 | value: '#c9c9c9' 15 | } 16 | } 17 | }); -------------------------------------------------------------------------------- /client/zan-ui/common/pop-manager/index.wxml: -------------------------------------------------------------------------------- 1 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /client/zan-ui/tag/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | externalClasses: ['custom-class', 'theme-class'], 5 | 6 | properties: { 7 | type: { 8 | type: String 9 | }, 10 | plain: { 11 | type: Boolean, 12 | value: false 13 | }, 14 | disabled: { 15 | type: Boolean, 16 | value: false 17 | } 18 | } 19 | }); -------------------------------------------------------------------------------- /.notes/color.md: -------------------------------------------------------------------------------- 1 | # HITMers color redesign 2 | 3 | 60% + 30% + 10% 4 | 5 | - dominant hue (60%): White 6 | - secondary color: Blue 7 | - accent color: Yellow 8 | 9 | Color used: https://coolors.co/423b0b-ff7e6b-97d2fb-f7cb15-b5fed9 10 | 11 | ## Useful links 12 | 13 | 1. [How to use colors in UI Design](https://blog.prototypr.io/how-to-use-colors-in-ui-design-16406ec06753) -------------------------------------------------------------------------------- /client/pages/work/notice-submit.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "van-toast": "../../van-ui/toast/index", 4 | "van-notify": "../../van-ui/notify/index", 5 | "van-popup": "../../van-ui/popup/index", 6 | "van-panel": "../../van-ui/panel/index", 7 | "van-field": "../../van-ui/field/index", 8 | "van-cell": "../../van-ui/cell/index" 9 | } 10 | } -------------------------------------------------------------------------------- /client/pages/work/video-submit.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "van-toast": "../../van-ui/toast/index", 4 | "van-notify": "../../van-ui/notify/index", 5 | "van-popup": "../../van-ui/popup/index", 6 | "van-panel": "../../van-ui/panel/index", 7 | "van-field": "../../van-ui/field/index", 8 | "van-cell": "../../van-ui/cell/index" 9 | } 10 | } -------------------------------------------------------------------------------- /client/zan-ui/col/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | externalClasses: ['col-class'], 5 | 6 | relations: { 7 | '../row/index': { 8 | type: 'parent' 9 | } 10 | }, 11 | 12 | properties: { 13 | col: { 14 | value: 0, 15 | type: Number 16 | }, 17 | offset: { 18 | value: 0, 19 | type: Number 20 | } 21 | } 22 | }); -------------------------------------------------------------------------------- /client/zan-ui/toptips/index.wxss: -------------------------------------------------------------------------------- 1 | .zan-toptips{display:block;position:fixed;-webkit-transform:translateZ(0) translateY(-100%);width:100%;min-height:32px;top:0;line-height:2.3;font-size:14px;text-align:center;color:#fff;background-color:#e64340;z-index:110;opacity:0;-webkit-transition:all .4s ease;transition:all .4s ease}.zan-toptips--show{-webkit-transform:translateZ(0) translateY(0);opacity:1} -------------------------------------------------------------------------------- /client/van-ui/switch/index.wxml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /client/zan-ui/cell-group/index.wxss: -------------------------------------------------------------------------------- 1 | .cell-group{position:relative;background-color:#fff;overflow:hidden}.cell-group--with-border::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 0;transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e5e5e5;border-top-width:1px;border-bottom-width:1px} -------------------------------------------------------------------------------- /client/van-ui/goods-action-icon/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-goods-action-icon{width:50px!important;border:none!important}.van-goods-action-icon__content{height:100%;display:-webkit-flex;display:flex;line-height:1;font-size:10px;color:#666;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center}.van-goods-action-icon__icon{margin-bottom:5px} -------------------------------------------------------------------------------- /client/van-ui/switch-cell/index.wxml: -------------------------------------------------------------------------------- 1 | 7 | 15 | 16 | -------------------------------------------------------------------------------- /client/pages/learning/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {{language.freeRooms}} 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /client/pages/work/video.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "zan-loading": "../../zan-ui/loading/index", 4 | 5 | "van-cell": "../../van-ui/cell/index", 6 | "van-cell-group": "../../van-ui/cell-group/index", 7 | "van-toast": "../../van-ui/toast/index", 8 | "van-notify": "../../van-ui/notify/index", 9 | "van-icon": "../../van-ui/icon/index" 10 | }, 11 | "enablePullDownRefresh": true 12 | } -------------------------------------------------------------------------------- /client/pages/index/profile.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "van-toast": "../../van-ui/toast/index", 4 | "van-notify": "../../van-ui/notify/index", 5 | "van-cell": "../../van-ui/cell/index", 6 | "van-cell-group": "../../van-ui/cell-group/index", 7 | "van-popup": "../../van-ui/popup/index", 8 | "van-field": "../../van-ui/field/index", 9 | 10 | "zan-panel": "../../zan-ui/panel/index" 11 | } 12 | } -------------------------------------------------------------------------------- /client/pages/work/video.wxss: -------------------------------------------------------------------------------- 1 | .footer { 2 | position: fixed; 3 | left: 0; 4 | bottom: 0; 5 | width: 100%; 6 | background-color: #242729; 7 | color: white; 8 | text-align: center; 9 | border-top-left-radius: 3px; 10 | border-top-right-radius: 3px; 11 | } 12 | 13 | 14 | .add { 15 | position: fixed; 16 | bottom: 20rpx; 17 | right: 40rpx; 18 | font-size: 80rpx; 19 | color: #25EC7E; 20 | } 21 | -------------------------------------------------------------------------------- /client/van-ui/icon/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | info: null, 5 | name: String, 6 | size: String, 7 | color: String, 8 | customStyle: String, 9 | classPrefix: { 10 | type: String, 11 | value: 'van-icon' 12 | } 13 | }, 14 | methods: { 15 | onClick: function onClick() { 16 | this.$emit('click'); 17 | } 18 | } 19 | }); -------------------------------------------------------------------------------- /client/van-ui/progress/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 11 | {{ text }} 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /client/van-ui/slider/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /client/zan-ui/badge/index.wxss: -------------------------------------------------------------------------------- 1 | .zan-badge{position:relative}.zan-badge__text{position:absolute;top:-.8em;right:0;height:1.6em;min-width:1.6em;line-height:1.6;padding:0 .4em;font-size:20px;border-radius:.8em;background:#f44;color:#fff;text-align:center;white-space:nowrap;-webkit-transform:translateX(50%) scale(.5);transform:translateX(50%) scale(.5);-webkit-transform-origin:center;transform-origin:center;z-index:10;box-shadow:0 0 0 2px #fff;box-sizing:border-box} -------------------------------------------------------------------------------- /client/van-ui/loading/index.wxml: -------------------------------------------------------------------------------- 1 | 5 | 9 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /client/van-ui/overlay/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | show: Boolean, 5 | mask: Boolean, 6 | customStyle: String, 7 | zIndex: { 8 | type: Number, 9 | value: 1 10 | } 11 | }, 12 | methods: { 13 | onClick: function onClick() { 14 | this.$emit('click'); 15 | }, 16 | // for prevent touchmove 17 | noop: function noop() {} 18 | } 19 | }); -------------------------------------------------------------------------------- /client/zan-ui/panel/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | /** 5 | * 组件的属性列表 6 | * 用于组件自定义设置 7 | */ 8 | properties: { 9 | // 标题 10 | title: { 11 | type: String, 12 | value: '' 13 | }, 14 | // 内容区顶部是否取消10像素的间距 15 | hideTop: { 16 | type: Boolean, 17 | value: false 18 | }, 19 | // 内容区顶部是否取消边框 20 | hideBorder: { 21 | type: Boolean, 22 | value: false 23 | } 24 | } 25 | }); -------------------------------------------------------------------------------- /client/zan-ui/steps/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | externalClasses: ['steps-class', 'icon-class', 'title-class', 'desc-class'], 5 | properties: { 6 | type: { 7 | type: String, 8 | value: 'horizon' 9 | }, 10 | 11 | hasDesc: { 12 | type: Boolean, 13 | value: false 14 | }, 15 | 16 | steps: { // 必须 17 | type: Array, 18 | value: [] 19 | }, 20 | 21 | className: String 22 | } 23 | }); -------------------------------------------------------------------------------- /client/van-ui/tag/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-tag{color:#fff;font-size:10px;padding:.2em .5em;line-height:normal;border-radius:.2em;display:inline-block}.van-tag::after{border-color:currentColor;border-radius:.4em}.van-tag--mark{padding-right:.6em;border-radius:0 .8em .8em 0}.van-tag--mark::after{border-radius:0 1.6em 1.6em 0}.van-tag--round{border-radius:.8em}.van-tag--round::after{border-radius:1.6em}.van-tag--medium{font-size:12px}.van-tag--large{font-size:14px} -------------------------------------------------------------------------------- /client/zan-ui/switch/index.wxml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /client/pages/work/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "zan-panel": "../../zan-ui/panel/index", 4 | "zan-icon": "../../zan-ui/icon/index", 5 | "zan-cell": "../../zan-ui/cell/index", 6 | "zan-cell-group": "../../zan-ui/cell-group/index", 7 | "zan-dialog": "../../zan-ui/dialog/index", 8 | "zan-toast": "../../zan-ui/toast/index", 9 | 10 | "van-toast": "../../van-ui/toast/index", 11 | "van-notify": "../../van-ui/notify/index" 12 | } 13 | } -------------------------------------------------------------------------------- /client/van-ui/mixins/link.js: -------------------------------------------------------------------------------- 1 | export var link = Behavior({ 2 | properties: { 3 | url: String, 4 | linkType: { 5 | type: String, 6 | value: 'navigateTo' 7 | } 8 | }, 9 | methods: { 10 | jumpLink: function jumpLink(urlKey) { 11 | if (urlKey === void 0) { 12 | urlKey = 'url'; 13 | } 14 | 15 | var url = this.data[urlKey]; 16 | 17 | if (url) { 18 | wx[this.data.linkType]({ 19 | url: url 20 | }); 21 | } 22 | } 23 | } 24 | }); -------------------------------------------------------------------------------- /client/zan-ui/loadmore/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 加载中... 5 | 6 | 7 | 8 | {{ text }} 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /client/zan-ui/card/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | options: { 5 | multipleSlots: true 6 | }, 7 | 8 | externalClasses: ['card-class', 'thumb-class'], 9 | 10 | properties: { 11 | useThumbSlot: { 12 | type: Boolean, 13 | value: false 14 | }, 15 | useDetailSlot: { 16 | type: Boolean, 17 | value: false 18 | }, 19 | thumb: String, 20 | price: String, 21 | title: String, 22 | num: Number, 23 | desc: String, 24 | status: String 25 | } 26 | }); -------------------------------------------------------------------------------- /client/pages/work/notice-content.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{subject}} 4 | 5 | {{time}} 6 | {{user}} 7 | 8 | {{content}} 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /client/pages/work/monthly.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "calendar": "plugin://calendar/calendar", 4 | "zan-dialog": "../../zan-ui/dialog/index", 5 | "zan-cell": "../../zan-ui/cell/index", 6 | "zan-cell-group": "../../zan-ui/cell-group/index", 7 | "zan-loading": "../../zan-ui/loading/index", 8 | "zan-toast": "../../zan-ui/toast/index", 9 | "van-icon": "../../van-ui/icon/index", 10 | "van-field": "../../van-ui/field/index" 11 | }, 12 | "enablePullDownRefresh": true 13 | } -------------------------------------------------------------------------------- /client/van-ui/goods-action-icon/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | import { link } from '../mixins/link'; 3 | import { button } from '../mixins/button'; 4 | import { openType } from '../mixins/open-type'; 5 | VantComponent({ 6 | mixins: [link, button, openType], 7 | props: { 8 | text: String, 9 | info: String, 10 | icon: String 11 | }, 12 | methods: { 13 | onClick: function onClick(event) { 14 | this.$emit('click', event.detail); 15 | this.jumpLink(); 16 | } 17 | } 18 | }); -------------------------------------------------------------------------------- /client/van-ui/checkbox/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /client/van-ui/slider/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-slider{position:relative;border-radius:999px;background-color:#e5e5e5}.van-slider__bar{position:relative;border-radius:inherit;background-color:#38f}.van-slider__button{position:absolute;top:50%;right:0;width:20px;height:20px;border-radius:50%;background-color:#fff;-webkit-transform:translate3d(50%,-50%,0);transform:translate3d(50%,-50%,0);box-shadow:0 1px 2px rgba(0,0,0,.5)}.van-slider__button::after{content:'';position:absolute;width:200%;height:200%;top:-50%;left:-50%}.van-slider--disabled{opacity:.3} -------------------------------------------------------------------------------- /client/zan-ui/panel/index.wxss: -------------------------------------------------------------------------------- 1 | .zan-panel{position:relative;overflow:hidden}.zan-panel__title{font-size:14px;line-height:1;color:#999;padding:20px 15px 10px 15px}.zan-panel__content{position:relative;background:#fff;overflow:hidden}.zan-panel__content::after{content:'';position:absolute;top:0;left:0;width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 0;transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #e5e5e5;border-top-width:1px;border-bottom-width:1px}.zan-panel--without-border::after{border:0 none} -------------------------------------------------------------------------------- /client/zan-ui/capsule/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | externalClasses: ['custom-class'], 5 | /** 6 | * 组件的属性列表 7 | * 用于组件自定义设置 8 | */ 9 | properties: { 10 | // 颜色状态 11 | type: { 12 | type: String, 13 | value: '' 14 | }, 15 | // 自定义颜色 16 | color: { 17 | type: String, 18 | value: '' 19 | }, 20 | // 左侧内容 21 | leftText: { 22 | type: String, 23 | value: '' 24 | }, 25 | // 右侧内容 26 | rightText: { 27 | type: String, 28 | value: '' 29 | } 30 | } 31 | }); -------------------------------------------------------------------------------- /client/zan-ui/dialog/data.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | // 标题 5 | title: '', 6 | // 内容 7 | message: ' ', 8 | // 选择节点 9 | selector: '#zan-dialog', 10 | // 按钮是否展示为纵向 11 | buttonsShowVertical: false, 12 | // 是否展示确定 13 | showConfirmButton: true, 14 | // 确认按钮文案 15 | confirmButtonText: '确定', 16 | // 确认按钮颜色 17 | confirmButtonColor: '#3CC51F', 18 | // 是否展示取消 19 | showCancelButton: false, 20 | // 取消按钮文案 21 | cancelButtonText: '取消', 22 | // 取消按钮颜色 23 | cancelButtonColor: '#333', 24 | // 点击按钮自动关闭 dialog 25 | autoClose: true 26 | }; -------------------------------------------------------------------------------- /client/zan-ui/noticebar/index.wxss: -------------------------------------------------------------------------------- 1 | .zan-noticebar{display:-webkit-box;display:flex;padding:9px 10px;font-size:12px;line-height:1.5}.zan-noticebar--within-icon{position:relative;padding-right:30px}.zan-noticebar__left-icon{height:18px;min-width:20px;padding-top:1px;box-sizing:border-box}.zan-noticebar__left-icon>image{width:16px;height:16px}.zan-noticebar__right-icon{position:absolute;top:10px;right:10px;font-size:15px;line-height:1}.zan-noticebar__content-wrap{position:relative;-webkit-box-flex:1;flex:1;height:18px;overflow:hidden}.zan-noticebar__content{position:absolute;white-space:nowrap} -------------------------------------------------------------------------------- /client/van-ui/mixins/button.js: -------------------------------------------------------------------------------- 1 | export var button = Behavior({ 2 | properties: { 3 | id: String, 4 | sessionFrom: String, 5 | appParameter: String, 6 | sendMessageImg: String, 7 | sendMessagePath: String, 8 | showMessageCard: String, 9 | sendMessageTitle: String, 10 | hoverStopPropagation: Boolean, 11 | hoverStartTime: { 12 | type: Number, 13 | value: 20 14 | }, 15 | hoverStayTime: { 16 | type: Number, 17 | value: 70 18 | }, 19 | lang: { 20 | type: String, 21 | value: 'en' 22 | } 23 | } 24 | }); -------------------------------------------------------------------------------- /client/van-ui/nav-bar/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | classes: ['title-class'], 4 | props: { 5 | title: String, 6 | leftText: String, 7 | rightText: String, 8 | leftArrow: Boolean, 9 | fixed: Boolean, 10 | zIndex: { 11 | type: Number, 12 | value: 1 13 | } 14 | }, 15 | methods: { 16 | onClickLeft: function onClickLeft() { 17 | this.$emit('click-left'); 18 | }, 19 | onClickRight: function onClickRight() { 20 | this.$emit('click-right'); 21 | } 22 | } 23 | }); -------------------------------------------------------------------------------- /client/van-ui/progress/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-progress{height:4px;position:relative;border-radius:4px;background:#e5e5e5}.van-progress__portion{left:0;height:100%;position:absolute;border-radius:inherit}.van-progress__portion--with-pivot{border-top-right-radius:0;border-bottom-right-radius:0}.van-progress__pivot{top:50%;right:0;min-width:2em;padding:0 5px;font-size:10px;position:absolute;line-height:1.6;text-align:center;border-radius:1em;word-break:keep-all;box-sizing:border-box;background-color:#e5e5e5;-webkit-transform:translate(100%,-50%);transform:translate(100%,-50%)} -------------------------------------------------------------------------------- /client/pages/about/privacy.js: -------------------------------------------------------------------------------- 1 | import event from '../../utils/event'; 2 | 3 | Page({ 4 | data: { 5 | }, 6 | 7 | onLoad: function () { 8 | this.setLanguage(); 9 | event.on('languageChanged', this, this.setLanguage); 10 | }, 11 | setLanguage() { 12 | this.setData({ 13 | language: wx.T.getLanguage() 14 | }); 15 | this.data.shouldChangeTitle = true; 16 | }, 17 | onShow() { 18 | if (this.data.shouldChangeTitle) { 19 | wx.T.setNavigationBarTitle(); 20 | this.data.shouldChangeTitle = false; 21 | } 22 | } 23 | }); -------------------------------------------------------------------------------- /client/van-ui/popup/index.wxml: -------------------------------------------------------------------------------- 1 | 8 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /client/zan-ui/checkbox/index.wxss: -------------------------------------------------------------------------------- 1 | .zan-checkbox{display:inline-block;padding:0 10px;font-size:14px}.zan-checkbox__item{display:block;margin-top:10px}.zan-checkbox__list-item{display:block;padding:10px 10px 10px 0;margin-left:10px;border-bottom:1px solid #e5e5e5}.zan-checkbox__list-item .zan-checkbox__icon{float:right}.zan-checkbox__icon{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;color:#aaa}.zan-checkbox__icon.zan-checkbox--checked{color:#06bf04}.zan-checkbox__icon.zan-checkbox--disabled{color:#e5e5e5}.zan-checkbox__label{display:inline-block;margin-left:10px} -------------------------------------------------------------------------------- /client/pages/about/opensource.wxss: -------------------------------------------------------------------------------- 1 | .icon { 2 | width: 30rpx; 3 | height: 30rpx; 4 | padding: 20rpx 20rpx 0 0; 5 | } 6 | 7 | .title { 8 | padding-top: 20rpx; 9 | text-align: center; 10 | } 11 | 12 | .para { 13 | padding: 10rpx; 14 | font-size: 30rpx; 15 | text-align: left; 16 | } 17 | 18 | .link { 19 | color: blue; 20 | } 21 | 22 | .contributors { 23 | text-align: center; 24 | } 25 | 26 | .contributor { 27 | padding-top: 30rpx; 28 | width: 25%; 29 | float: left; 30 | } 31 | 32 | .avatar { 33 | width: 80rpx; 34 | height: 80rpx; 35 | } -------------------------------------------------------------------------------- /client/utils/user-adapter.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | getClientUser(serverUser) { 3 | let clientUser = serverUser; 4 | 5 | clientUser.stuId = serverUser.id; 6 | clientUser.stuName = serverUser.name; 7 | clientUser.stuLanguage = serverUser.language; 8 | 9 | return clientUser; 10 | }, 11 | 12 | getServerUser(clientUser) { 13 | let serverUser = clientUser; 14 | 15 | serverUser.id = clientUser.stuId; 16 | serverUser.name = clientUser.stuName; 17 | serverUser.language = clientUser.stuLanguage; 18 | 19 | return serverUser; 20 | } 21 | }; -------------------------------------------------------------------------------- /client/van-ui/submit-bar/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-submit-bar{z-index:100;position:fixed;bottom:0;left:0;width:100%;-webkit-user-select:none;user-select:none}.van-submit-bar__tip{padding:10px;color:#f56723;font-size:12px;line-height:18px;background-color:#fff7cc}.van-submit-bar__bar{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;height:50px;background-color:#fff;font-size:14px}.van-submit-bar__text{-webkit-flex:1;flex:1;color:#333;font-weight:500;text-align:right}.van-submit-bar__price{padding-right:12px;color:#f44}.van-submit-bar__button button{width:110px} -------------------------------------------------------------------------------- /client/zan-ui/checkbox/index.wxml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /client/van-ui/badge/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | relation: { 4 | type: 'ancestor', 5 | name: 'badge-group' 6 | }, 7 | props: { 8 | info: Number, 9 | title: String 10 | }, 11 | methods: { 12 | onClick: function onClick() { 13 | var group = this.getRelationNodes('../badge-group/index')[0]; 14 | 15 | if (group) { 16 | group.setActive(this); 17 | } 18 | }, 19 | setActive: function setActive(active) { 20 | this.setData({ 21 | active: active 22 | }); 23 | } 24 | } 25 | }); -------------------------------------------------------------------------------- /client/van-ui/panel/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /client/zan-ui/select/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | properties: { 5 | items: { 6 | type: Array, 7 | value: [] 8 | }, 9 | name: { 10 | type: String, 11 | value: '' 12 | }, 13 | checkedValue: { 14 | type: String, 15 | value: '' 16 | }, 17 | activeColor: { 18 | type: String, 19 | value: '#ff4444' 20 | } 21 | }, 22 | 23 | methods: { 24 | handleSelectChange: function handleSelectChange(e) { 25 | var value = e.detail.value; 26 | this.triggerEvent('change', { value: value }); 27 | } 28 | } 29 | }); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hitmers", 3 | "version": "1.2.0", 4 | "description": "For HIT Musuemers", 5 | "main": "app.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/upupming/HITMers.git" 12 | }, 13 | "keywords": [ 14 | "museum", 15 | "HIT" 16 | ], 17 | "author": "upupming", 18 | "license": "MIT", 19 | "bugs": { 20 | "url": "https://github.com/upupming/HITMers/issues" 21 | }, 22 | "homepage": "https://github.com/upupming/HITMers#readme" 23 | } 24 | -------------------------------------------------------------------------------- /client/images/switch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/zan-ui/capsule/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ leftText }} 7 | {{ rightText }} 11 | 12 | 13 | {{ leftText }} 14 | {{ rightText }} 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /client/pages/work/notices.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "zan-loading": "../../zan-ui/loading/index", 4 | 5 | "van-toast": "../../van-ui/toast/index", 6 | "van-notify": "../../van-ui/notify/index", 7 | "van-card": "../../van-ui/card/index", 8 | "van-cell": "../../van-ui/cell/index", 9 | "van-cell-group": "../../van-ui/cell-group/index", 10 | "van-icon": "../../van-ui/icon/index", 11 | "van-popup": "../../van-ui/popup/index", 12 | "van-panel": "../../van-ui/panel/index", 13 | "van-field": "../../van-ui/field/index" 14 | }, 15 | "enablePullDownRefresh": true 16 | } -------------------------------------------------------------------------------- /client/pages/work/video-player.wxss: -------------------------------------------------------------------------------- 1 | .container { 2 | padding: 45rpx 0 0; 3 | } 4 | 5 | .title { 6 | padding: 20rpx; 7 | text-align: center; 8 | font-size: 60rpx; 9 | font-weight: bold; 10 | } 11 | 12 | .para { 13 | padding: 20rpx; 14 | font-size: 30rpx; 15 | text-align: left; 16 | } 17 | 18 | .icon { 19 | width: 30rpx; 20 | height: 30rpx; 21 | padding: 20rpx 20rpx 0 0; 22 | } 23 | .info { 24 | color: #25EC7E; 25 | align-items: center; 26 | justify-content: center; 27 | padding-bottom: 30rpx; 28 | display: flex; 29 | } 30 | .info-item { 31 | padding: 20rpx; 32 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # HITMers 2 | 3 |

4 |
Wechat mini-program client for HITMers Node.js Server. 5 |

6 | 7 | ## 已实现/待完成功能 8 | 9 | ## 国际化 10 | 11 | - [x] 支持中英双语 12 | 13 | ## 讲解员个人 14 | 15 | - [x] 位置跟踪打卡 16 | - [x] 统计打卡次数,计入工作量 17 | - [x] 示范视频 18 | - [ ] 请假实时通知到老师,老师同意后方可请假 19 | - [x] 总结每月讲团数量,反馈讲解员状态 20 | 21 | 22 | ## 讲解系统 23 | 24 | - [x] 排班系统,减轻排班人员负担 25 | - [ ] 参观登记系统,老师登记、讲解员实时可见 26 | - [ ] 为每个半天的小班建立讨论小组,实时联系 27 | - [ ] 通知系统,讲稿改动通知等等 28 | 29 | ## 预约系统 30 | 31 | - [ ] 在微信公众号里显示已经预约的参观团信息 32 | -------------------------------------------------------------------------------- /client/pages/work/notice-content.wxss: -------------------------------------------------------------------------------- 1 | .container { 2 | padding: 45rpx 15rpx 0; 3 | } 4 | 5 | .title { 6 | padding: 20rpx; 7 | text-align: center; 8 | font-size: 60rpx; 9 | font-weight: bold; 10 | } 11 | 12 | .para { 13 | padding: 10rpx; 14 | font-size: 30rpx; 15 | text-align: left; 16 | } 17 | 18 | .icon { 19 | width: 30rpx; 20 | height: 30rpx; 21 | padding: 20rpx 20rpx 0 0; 22 | } 23 | .info { 24 | color: #25EC7E; 25 | align-items: center; 26 | justify-content: center; 27 | padding-bottom: 30rpx; 28 | display: flex; 29 | } 30 | .info-item { 31 | padding: 20rpx; 32 | } -------------------------------------------------------------------------------- /client/van-ui/goods-action-button/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | import { link } from '../mixins/link'; 3 | import { button } from '../mixins/button'; 4 | import { openType } from '../mixins/open-type'; 5 | VantComponent({ 6 | mixins: [link, button, openType], 7 | props: { 8 | text: String, 9 | loading: Boolean, 10 | disabled: Boolean, 11 | type: { 12 | type: String, 13 | value: 'danger' 14 | } 15 | }, 16 | methods: { 17 | onClick: function onClick(event) { 18 | this.$emit('click', event.detail); 19 | this.jumpLink(); 20 | } 21 | } 22 | }); -------------------------------------------------------------------------------- /client/zan-ui/badge/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var DEFAULT_COLOR = '#fff'; 4 | var DEFAULT_BACKGROUND_COLOR = '#f44'; 5 | var DEFAULT_FONT_SIZE = 10; 6 | var DEFAULT_BOX_SHADOW = '0 0 0 2px #fff'; 7 | 8 | Component({ 9 | properties: { 10 | color: { 11 | type: String, 12 | value: DEFAULT_COLOR 13 | }, 14 | backgroundColor: { 15 | type: String, 16 | value: DEFAULT_BACKGROUND_COLOR 17 | }, 18 | fontSize: { 19 | type: Number, 20 | value: DEFAULT_FONT_SIZE 21 | }, 22 | boxShadow: { 23 | type: String, 24 | value: DEFAULT_BOX_SHADOW 25 | } 26 | } 27 | }); -------------------------------------------------------------------------------- /client/images/free.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/pages/work/video-player.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{subject}} 4 | 5 | {{time}} 6 | {{user}} 7 | 8 | 9 | {{desc}} 10 | 11 | 12 | -------------------------------------------------------------------------------- /client/van-ui/radio/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /client/zan-ui/loading/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "commonjs": true, 5 | "es6": true 6 | }, 7 | "extends": "eslint:recommended", 8 | "parserOptions": { 9 | "ecmaFeatures": { 10 | "jsx": true 11 | }, 12 | "ecmaVersion": 2017, 13 | "sourceType": "module" 14 | }, 15 | "rules": { 16 | "indent": [ 17 | "error", 18 | 2 19 | ], 20 | "linebreak-style": [ 21 | "error", 22 | "windows" 23 | ], 24 | "quotes": [ 25 | "error", 26 | "single" 27 | ], 28 | "semi": [ 29 | "error", 30 | "always" 31 | ] 32 | }, 33 | "globals": { 34 | "getApp": false, 35 | "wx": true, 36 | "Page": false 37 | } 38 | } -------------------------------------------------------------------------------- /client/van-ui/search/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-search{display:-webkit-flex;display:flex;padding:7px 15px;-webkit-align-items:center;align-items:center;box-sizing:border-box}.van-search__field{-webkit-flex:1;flex:1;border-radius:4px}.van-search__field__left-icon{color:#999}.van-search--show-action{padding-right:0}.van-search input::-webkit-search-cancel-button,.van-search input::-webkit-search-decoration,.van-search input::-webkit-search-results-button,.van-search input::-webkit-search-results-decoration{display:none}.van-search__action{padding:0 10px;font-size:14px;line-height:30px;color:#666}.van-search__action:active{background-color:#e8e8e8} -------------------------------------------------------------------------------- /client/zan-ui/capsule/index.wxss: -------------------------------------------------------------------------------- 1 | .zan-capsule{display:inline-block;font-size:12px;vertical-align:middle;line-height:19px;-webkit-transform:scale(.83);transform:scale(.83)}.zan-capsule__left,.zan-capsule__right{display:inline-block;line-height:17px;height:19px;vertical-align:middle;box-sizing:border-box}.zan-capsule__left{padding:0 2px;color:#fff;background:#999;border-radius:2px 0 0 2px;border:1rpx solid #999}.zan-capsule__right{padding:0 5px;color:#999;border-radius:0 2px 2px 0;border:1rpx solid #999}.zan-capsule--danger .zan-capsule__left{color:#fff;background:#f24544;border-color:#f24544}.zan-capsule--danger .zan-capsule__right{color:#f24544;border-color:#f24544} -------------------------------------------------------------------------------- /client/zan-ui/common/pop-manager/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | properties: { 5 | show: { 6 | type: Boolean, 7 | value: false 8 | }, 9 | // 是否有遮罩层 10 | overlay: { 11 | type: Boolean, 12 | value: true 13 | }, 14 | // 遮罩层是否会显示 15 | showOverlay: { 16 | type: Boolean, 17 | value: true 18 | }, 19 | // 内容从哪个方向出,可选 center top bottom left right 20 | type: { 21 | type: String, 22 | value: 'center' 23 | } 24 | }, 25 | 26 | methods: { 27 | handleMaskClick: function handleMaskClick() { 28 | this.triggerEvent('clickmask', {}); 29 | } 30 | } 31 | }); -------------------------------------------------------------------------------- /client/van-ui/radio/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-radio{overflow:hidden;line-height:1;-webkit-user-select:none;user-select:none}.van-radio__input,.van-radio__label{display:inline-block;vertical-align:middle}.van-radio__input{position:relative;font-size:20px}.van-radio__control{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;opacity:0}.van-radio__label{margin-left:10px;color:#333;font-size:16px;line-height:20px}.van-radio__label--left{margin:0 10px 0 0;float:left}.van-radio__icon{pointer-events:none;display:block;line-height:0}.van-radio__icon--disabled{color:#e5e5e5}.van-radio__icon--checked{color:#06bf04}.van-radio__icon--check{color:#999} -------------------------------------------------------------------------------- /client/van-ui/switch/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-switch{height:1em;width:1.6em;display:inline-block;position:relative;background:#fff;box-sizing:content-box;border:1px solid rgba(0,0,0,.1);border-radius:1em}.van-switch__node{top:0;left:0;z-index:1;width:1em;height:1em;transition:.3s;position:absolute;border-radius:100%;background-color:#fff;box-shadow:0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05)}.van-switch__loading{top:25%;left:25%;width:50%;height:50%;position:absolute}.van-switch--on{background-color:#44db5e}.van-switch--on .van-switch__node{-webkit-transform:translateX(.6em);transform:translateX(.6em)}.van-switch--disabled{opacity:.4} -------------------------------------------------------------------------------- /client/van-ui/notice-bar/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-notice-bar{display:-webkit-flex;display:flex;height:40px;padding:0 15px;font-size:14px;line-height:24px;-webkit-align-items:center;align-items:center}.van-notice-bar--within-icon{position:relative;padding-right:40px}.van-notice-bar__left-icon{height:18px;min-width:20px;box-sizing:border-box}.van-notice-bar__left-icon>image{width:16px;height:16px}.van-notice-bar__right-icon{position:absolute;top:10px;right:15px;font-size:16px}.van-notice-bar__content-wrap{-webkit-flex:1;flex:1;height:24px;overflow:hidden;position:relative}.van-notice-bar__content{position:absolute;white-space:nowrap}.van-notice-bar__content.van-ellipsis{max-width:100%} -------------------------------------------------------------------------------- /client/pages/about/privacy.wxml: -------------------------------------------------------------------------------- 1 | 2 | {{language.privacy}} 3 | 4 | 5 | {{language.weProtectPravicy}} 6 | 7 | 8 | {{language.collectedInfo.title}} 9 | {{language.collectedInfo.text}} 10 | 11 | 12 | {{language.whyCollectInfo.title}} 13 | {{language.whyCollectInfo.text}} 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /client/images/gmail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/pages/learning/index.js: -------------------------------------------------------------------------------- 1 | import event from '../../utils/event'; 2 | 3 | Page({ 4 | data: { 5 | }, 6 | 7 | onLoad: function () { 8 | this.setLanguage(); 9 | event.on('languageChanged', this, this.setLanguage); 10 | }, 11 | setLanguage() { 12 | this.setData({ 13 | language: wx.T.getLanguage() 14 | }); 15 | this.data.shouldChangeTitle = true; 16 | }, 17 | onShow() { 18 | if (this.data.shouldChangeTitle) { 19 | wx.T.setNavigationBarTitle(); 20 | this.data.shouldChangeTitle = false; 21 | } 22 | }, 23 | 24 | navigateTo(event) { 25 | wx.navigateTo({ 26 | url: event.currentTarget.id 27 | }); 28 | } 29 | }); -------------------------------------------------------------------------------- /client/van-ui/notify/notify.js: -------------------------------------------------------------------------------- 1 | import { isObj } from '../common/utils'; 2 | var defaultOptions = { 3 | selector: '#van-notify', 4 | duration: 3000 5 | }; 6 | 7 | function parseOptions(text) { 8 | return isObj(text) ? text : { 9 | text: text 10 | }; 11 | } 12 | 13 | export default function Notify(options) { 14 | if (options === void 0) { 15 | options = {}; 16 | } 17 | 18 | var pages = getCurrentPages(); 19 | var ctx = pages[pages.length - 1]; 20 | options = Object.assign({}, defaultOptions, parseOptions(options)); 21 | var el = ctx.selectComponent(options.selector); 22 | delete options.selector; 23 | 24 | if (el) { 25 | el.setData(options); 26 | el.show(); 27 | } 28 | } -------------------------------------------------------------------------------- /client/van-ui/stepper/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 14 | 18 | 19 | -------------------------------------------------------------------------------- /client/images/1-active.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/images/1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/van-ui/tabbar-item/index.wxml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | {{ info }} 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /client/images/folder-open-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/van-ui/mixins/observer/props.js: -------------------------------------------------------------------------------- 1 | export function observeProps(props) { 2 | if (!props) { 3 | return; 4 | } 5 | 6 | Object.keys(props).forEach(function (key) { 7 | var prop = props[key]; 8 | 9 | if (prop === null || !('type' in prop)) { 10 | prop = { 11 | type: prop 12 | }; 13 | } 14 | 15 | var _prop = prop, 16 | observer = _prop.observer; 17 | 18 | prop.observer = function () { 19 | if (observer) { 20 | if (typeof observer === 'string') { 21 | observer = this[observer]; 22 | } 23 | 24 | observer.apply(this, arguments); 25 | } 26 | 27 | this.setData(); 28 | }; 29 | 30 | props[key] = prop; 31 | }); 32 | } -------------------------------------------------------------------------------- /client/images/source-code.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/van-ui/mixins/open-type.js: -------------------------------------------------------------------------------- 1 | export var openType = Behavior({ 2 | properties: { 3 | openType: String 4 | }, 5 | methods: { 6 | bindGetUserInfo: function bindGetUserInfo(event) { 7 | this.$emit('getuserinfo', event.detail); 8 | }, 9 | bindContact: function bindContact(event) { 10 | this.$emit('contact', event.detail); 11 | }, 12 | bindGetPhoneNumber: function bindGetPhoneNumber(event) { 13 | this.$emit('getphonenumber', event.detail); 14 | }, 15 | bindOpenSetting: function bindOpenSetting(event) { 16 | this.$emit('opensetting', event.detail); 17 | }, 18 | bindError: function bindError(event) { 19 | this.$emit('error', event.detail); 20 | } 21 | } 22 | }); -------------------------------------------------------------------------------- /client/zan-ui/popup/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | properties: { 5 | show: { 6 | type: Boolean, 7 | value: false 8 | }, 9 | 10 | overlay: { 11 | type: Boolean, 12 | value: true 13 | }, 14 | 15 | closeOnClickOverlay: { 16 | type: Boolean, 17 | value: true 18 | }, 19 | 20 | // 弹出方向 21 | type: { 22 | type: String, 23 | value: 'center' 24 | } 25 | }, 26 | 27 | methods: { 28 | handleMaskClick: function handleMaskClick() { 29 | this.triggerEvent('click-overlay', {}); 30 | 31 | if (!this.data.closeOnClickOverlay) { 32 | return; 33 | } 34 | this.triggerEvent('close', {}); 35 | } 36 | } 37 | }); -------------------------------------------------------------------------------- /client/pages/about/privacy.wxss: -------------------------------------------------------------------------------- 1 | .icon { 2 | width: 30rpx; 3 | height: 30rpx; 4 | padding: 20rpx 20rpx 0 0; 5 | } 6 | 7 | .top-title { 8 | font-size: 50rpx; 9 | font-weight: bold; 10 | margin-left: 20rpx; 11 | margin-bottom: 10rpx; 12 | } 13 | 14 | .title { 15 | padding-top: 20rpx; 16 | text-align: center; 17 | } 18 | 19 | .para { 20 | padding: 10rpx; 21 | font-size: 30rpx; 22 | text-align: left; 23 | } 24 | 25 | .link { 26 | color: blue; 27 | } 28 | 29 | .contributors { 30 | text-align: center; 31 | } 32 | 33 | .contributor { 34 | padding-top: 30rpx; 35 | width: 25%; 36 | float: left; 37 | } 38 | 39 | .avatar { 40 | width: 80rpx; 41 | height: 80rpx; 42 | } -------------------------------------------------------------------------------- /client/pages/index/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "zan-panel": "../../zan-ui/panel/index", 4 | "zan-icon": "../../zan-ui/icon/index", 5 | "zan-cell": "../../zan-ui/cell/index", 6 | "zan-cell-group": "../../zan-ui/cell-group/index", 7 | "zan-button": "../../zan-ui/btn/index", 8 | "zan-dialog": "../../zan-ui/dialog/index", 9 | "zan-loading": "../../zan-ui/loading/index", 10 | 11 | "van-field": "../../van-ui/field/index", 12 | "van-toast": "../../van-ui/toast/index", 13 | "van-cell": "../../van-ui/cell/index", 14 | "van-icon": "../../van-ui/icon/index", 15 | "van-popup": "../../van-ui/popup/index", 16 | "van-notify": "../../van-ui/notify/index" 17 | } 18 | } -------------------------------------------------------------------------------- /client/images/sheet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/van-ui/switch-cell/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | field: true, 4 | props: { 5 | title: String, 6 | border: Boolean, 7 | checked: Boolean, 8 | loading: Boolean, 9 | disabled: Boolean, 10 | size: { 11 | type: String, 12 | value: '26px' 13 | } 14 | }, 15 | watch: { 16 | checked: function checked(value) { 17 | this.setData({ 18 | value: value 19 | }); 20 | } 21 | }, 22 | created: function created() { 23 | this.setData({ 24 | value: this.data.checked 25 | }); 26 | }, 27 | methods: { 28 | onChange: function onChange(event) { 29 | this.$emit('change', event.detail); 30 | } 31 | } 32 | }); -------------------------------------------------------------------------------- /client/zan-ui/btn-group/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Component({ 4 | relations: { 5 | '../btn/index': { 6 | type: 'child', 7 | linked: function linked() { 8 | updateBtnChild.call(this); 9 | }, 10 | linkChange: function linkChange() { 11 | updateBtnChild.call(this); 12 | }, 13 | unlinked: function unlinked() { 14 | updateBtnChild.call(this); 15 | } 16 | } 17 | } 18 | }); 19 | 20 | function updateBtnChild() { 21 | var btns = this.getRelationNodes('../btn/index'); 22 | 23 | if (btns.length > 0) { 24 | var lastIndex = btns.length - 1; 25 | 26 | btns.forEach(function (btn, index) { 27 | btn.switchLastButtonStatus(index === lastIndex); 28 | }); 29 | } 30 | } -------------------------------------------------------------------------------- /client/zan-ui/checkbox-group/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var _relations; 4 | 5 | var CHECKBOX_PATH = '../checkbox/index'; 6 | 7 | Component({ 8 | relations: (_relations = {}, _relations[CHECKBOX_PATH] = { 9 | type: 'child', 10 | linked: function linked() { 11 | this.updateChildren(CHECKBOX_PATH); 12 | } 13 | }, _relations), 14 | 15 | data: { 16 | elementUpdateTimeout: 0 17 | }, 18 | 19 | methods: { 20 | updateChildren: function updateChildren(childPath) { 21 | // 把checkbox标记为在group中,设置不同样式 22 | var elements = this.getRelationNodes(childPath); 23 | 24 | elements.forEach(function (checkbox, index) { 25 | checkbox.updateData({ isInGroup: true }); 26 | }); 27 | } 28 | } 29 | }); -------------------------------------------------------------------------------- /client/van-ui/tab/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | relation: { 4 | name: 'tabs', 5 | type: 'ancestor' 6 | }, 7 | props: { 8 | title: String, 9 | disabled: Boolean 10 | }, 11 | data: { 12 | inited: false, 13 | active: false 14 | }, 15 | watch: { 16 | disabled: function disabled() { 17 | var parent = this.getRelationNodes('../tabs/index')[0]; 18 | 19 | if (parent) { 20 | parent.updateTabs(); 21 | } 22 | }, 23 | title: function title() { 24 | var parent = this.getRelationNodes('../tabs/index')[0]; 25 | 26 | if (parent) { 27 | parent.setLine(); 28 | parent.updateTabs(); 29 | } 30 | } 31 | } 32 | }); -------------------------------------------------------------------------------- /client/van-ui/toast/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | show: Boolean, 5 | mask: Boolean, 6 | message: String, 7 | forbidClick: Boolean, 8 | zIndex: { 9 | type: Number, 10 | value: 1000 11 | }, 12 | type: { 13 | type: String, 14 | value: 'text' 15 | }, 16 | loadingType: { 17 | type: String, 18 | value: 'circular' 19 | }, 20 | position: { 21 | type: String, 22 | value: 'middle' 23 | } 24 | }, 25 | methods: { 26 | clear: function clear() { 27 | this.setData({ 28 | show: false 29 | }); 30 | }, 31 | // for prevent touchmove 32 | noop: function noop() {} 33 | } 34 | }); -------------------------------------------------------------------------------- /client/pages/work/fill-in-sheet.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "zan-loading": "../../zan-ui/loading/index", 4 | "zan-dialog": "../../zan-ui/dialog/index", 5 | "zan-field": "../../zan-ui/field/index", 6 | "zan-cell": "../../zan-ui/cell/index", 7 | "zan-toast": "../../zan-ui/toast/index", 8 | "zan-panel": "../../zan-ui/panel/index", 9 | 10 | "van-toast": "../../van-ui/toast/index", 11 | "van-notify": "../../van-ui/notify/index", 12 | "van-popup": "../../van-ui/popup/index", 13 | "van-icon": "../../van-ui/icon/index", 14 | "van-action-sheet": "../../van-ui/action-sheet/index", 15 | "van-dialog": "../../van-ui/dialog/index" 16 | }, 17 | "enablePullDownRefresh": true 18 | } -------------------------------------------------------------------------------- /client/pages/work/notices.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{language.notices}} 4 | 12 | {{notice.subject}} 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /client/zan-ui/stepper/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 7 | - 8 | 9 | 16 | 21 | + 22 | 23 | 24 | -------------------------------------------------------------------------------- /client/pages/work/video.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | {{video.subject}} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /project.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "miniprogramRoot": "client/", 3 | "setting": { 4 | "urlCheck": false, 5 | "es6": true, 6 | "postcss": true, 7 | "minified": true, 8 | "newFeature": true 9 | }, 10 | "appid": "wxcb3ed1484b8c7147", 11 | "projectname": "HITMers", 12 | "condition": { 13 | "search": { 14 | "current": -1, 15 | "list": [] 16 | }, 17 | "conversation": { 18 | "current": -1, 19 | "list": [] 20 | }, 21 | "plugin": { 22 | "current": -1, 23 | "list": [] 24 | }, 25 | "game": { 26 | "list": [] 27 | }, 28 | "miniprogram": { 29 | "current": 0, 30 | "list": [ 31 | { 32 | "id": -1, 33 | "name": "shareFromFreeRooms", 34 | "pathName": "pages/learning/free-rooms" 35 | } 36 | ] 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /client/van-ui/tabbar-item/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | info: null, 5 | icon: String, 6 | dot: Boolean 7 | }, 8 | relation: { 9 | name: 'tabbar', 10 | type: 'ancestor' 11 | }, 12 | data: { 13 | active: false 14 | }, 15 | methods: { 16 | onClick: function onClick() { 17 | var parent = this.getRelationNodes('../tabbar/index')[0]; 18 | 19 | if (parent) { 20 | parent.onChange(this); 21 | } 22 | 23 | this.$emit('click'); 24 | }, 25 | setActive: function setActive(active) { 26 | if (this.data.active !== active) { 27 | this.setData({ 28 | active: active 29 | }); 30 | } 31 | } 32 | } 33 | }); -------------------------------------------------------------------------------- /client/zan-ui/datetime-picker/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{text || placeholder}} 4 | 5 | 6 |