├── .gitignore
├── README.md
├── doc
├── “互动课堂”微信小程序.md
├── “互动课堂”微信小程序需求.md
├── 功能.jpg
└── 功能1.jpg
├── interactive-class
├── .gitignore
├── class-core
│ ├── .gitignore
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── code
│ │ │ └── core
│ │ │ ├── config
│ │ │ ├── ValidatorConfig.java
│ │ │ └── WebMvcConfiguration.java
│ │ │ ├── entity
│ │ │ └── ResponseResult.java
│ │ │ ├── enums
│ │ │ └── ErrorEnum.java
│ │ │ ├── error
│ │ │ └── CommonError.java
│ │ │ ├── exception
│ │ │ ├── AuthenticationFailException.java
│ │ │ ├── BusinessException.java
│ │ │ ├── FileException.java
│ │ │ ├── ParamInvalidException.java
│ │ │ └── handler
│ │ │ │ └── GlobalExceptionHandler.java
│ │ │ └── util
│ │ │ ├── CookieUtil.java
│ │ │ ├── DateUtils.java
│ │ │ ├── ResourceUtils.java
│ │ │ ├── ResponseResultUtil.java
│ │ │ ├── SpringApplicationUtil.java
│ │ │ ├── StringUtils.java
│ │ │ ├── UUIDUtil.java
│ │ │ └── ValidationUtils.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── code
│ │ └── core
│ │ └── CoreApplicationTests.java
├── class-generator
│ ├── .gitignore
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── code
│ │ │ │ ├── GenCode.java
│ │ │ │ └── classgenerator
│ │ │ │ ├── gen
│ │ │ │ └── Generator.java
│ │ │ │ └── utils
│ │ │ │ ├── DBPropertiesUtils.java
│ │ │ │ └── PropertiesUtil.java
│ │ └── resources
│ │ │ └── gen.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── code
│ │ └── classgenerator
│ │ └── ClassGeneratorApplicationTests.java
├── class-system
│ ├── .gitignore
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── code
│ │ │ │ └── classsystem
│ │ │ │ ├── ClassSystemApplication.java
│ │ │ │ ├── common
│ │ │ │ ├── FileRequest
│ │ │ │ │ ├── config
│ │ │ │ │ │ ├── FileRequestConfig.java
│ │ │ │ │ │ └── FileRequestMappingConfig.java
│ │ │ │ │ ├── controller
│ │ │ │ │ │ └── FileRequestController.java
│ │ │ │ │ └── util
│ │ │ │ │ │ └── FileUtils.java
│ │ │ │ ├── shiro
│ │ │ │ │ ├── SessionManager
│ │ │ │ │ │ └── MySessionManager.java
│ │ │ │ │ ├── config
│ │ │ │ │ │ ├── AuthorUrlConfig.java
│ │ │ │ │ │ └── ShiroConfig.java
│ │ │ │ │ ├── filter
│ │ │ │ │ │ └── LoginFilter.java
│ │ │ │ │ ├── handler
│ │ │ │ │ │ └── ShiroExceptionHandler.java
│ │ │ │ │ ├── realm
│ │ │ │ │ │ └── UserRealm.java
│ │ │ │ │ └── util
│ │ │ │ │ │ ├── ShiroUtils.java
│ │ │ │ │ │ └── TokenUtil.java
│ │ │ │ └── websocket
│ │ │ │ │ ├── WebSocketServer.java
│ │ │ │ │ ├── config
│ │ │ │ │ └── WebsocketConfiguration.java
│ │ │ │ │ └── userCache
│ │ │ │ │ └── ClassUserCacheService.java
│ │ │ │ ├── config
│ │ │ │ ├── DruidConfig.java
│ │ │ │ └── SwaggerConfig.java
│ │ │ │ ├── controller
│ │ │ │ ├── ClassController.java
│ │ │ │ ├── ClassCourseController.java
│ │ │ │ ├── ClassUserController.java
│ │ │ │ ├── CourseController.java
│ │ │ │ ├── CourseResourceController.java
│ │ │ │ ├── HomeWorkController.java
│ │ │ │ ├── MsgController.java
│ │ │ │ ├── NoticeController.java
│ │ │ │ ├── PaperController.java
│ │ │ │ ├── PaperQuestionController.java
│ │ │ │ ├── RoleController.java
│ │ │ │ ├── UserController.java
│ │ │ │ ├── UserQuestionController.java
│ │ │ │ ├── UserScoreController.java
│ │ │ │ └── UserSignController.java
│ │ │ │ ├── dao
│ │ │ │ ├── ClassCourseMapper.java
│ │ │ │ ├── ClassMapper.java
│ │ │ │ ├── ClassStudentMapper.java
│ │ │ │ ├── ClassUserMapper.java
│ │ │ │ ├── CourseMapper.java
│ │ │ │ ├── CourseResourceMapper.java
│ │ │ │ ├── HomeWorkMapper.java
│ │ │ │ ├── MsgMapper.java
│ │ │ │ ├── NoticeMapper.java
│ │ │ │ ├── PaperMapper.java
│ │ │ │ ├── PaperQuestionMapper.java
│ │ │ │ ├── RoleMapper.java
│ │ │ │ ├── UserMapper.java
│ │ │ │ ├── UserQuestionMapper.java
│ │ │ │ ├── UserScoreMapper.java
│ │ │ │ └── UserSignMapper.java
│ │ │ │ ├── entity
│ │ │ │ ├── Class.java
│ │ │ │ ├── ClassCourse.java
│ │ │ │ ├── ClassStudent.java
│ │ │ │ ├── ClassUser.java
│ │ │ │ ├── Course.java
│ │ │ │ ├── CourseResource.java
│ │ │ │ ├── HomeWork.java
│ │ │ │ ├── Msg.java
│ │ │ │ ├── Notice.java
│ │ │ │ ├── Paper.java
│ │ │ │ ├── PaperQuestion.java
│ │ │ │ ├── Role.java
│ │ │ │ ├── User.java
│ │ │ │ ├── UserQuestion.java
│ │ │ │ ├── UserScore.java
│ │ │ │ └── UserSign.java
│ │ │ │ ├── service
│ │ │ │ ├── ClassCourseService.java
│ │ │ │ ├── ClassService.java
│ │ │ │ ├── ClassUserService.java
│ │ │ │ ├── CourseResourceService.java
│ │ │ │ ├── CourseService.java
│ │ │ │ ├── HomeWorkService.java
│ │ │ │ ├── MsgService.java
│ │ │ │ ├── NoticeService.java
│ │ │ │ ├── PaperQuestionService.java
│ │ │ │ ├── PaperService.java
│ │ │ │ ├── RoleService.java
│ │ │ │ ├── UserQuestionService.java
│ │ │ │ ├── UserScoreService.java
│ │ │ │ ├── UserService.java
│ │ │ │ ├── UserSignService.java
│ │ │ │ └── impl
│ │ │ │ │ ├── ClassCourseServiceImpl.java
│ │ │ │ │ ├── ClassServiceImpl.java
│ │ │ │ │ ├── ClassUserServiceImpl.java
│ │ │ │ │ ├── CourseResourceServiceImpl.java
│ │ │ │ │ ├── CourseServiceImpl.java
│ │ │ │ │ ├── HomeWorkServiceImpl.java
│ │ │ │ │ ├── MsgServiceImpl.java
│ │ │ │ │ ├── NoticeServiceImpl.java
│ │ │ │ │ ├── PaperQuestionServiceImpl.java
│ │ │ │ │ ├── PaperServiceImpl.java
│ │ │ │ │ ├── RoleServiceImpl.java
│ │ │ │ │ ├── UserQuestionServiceImpl.java
│ │ │ │ │ ├── UserScoreServiceImpl.java
│ │ │ │ │ ├── UserServiceImpl.java
│ │ │ │ │ └── UserSignServiceImpl.java
│ │ │ │ ├── util
│ │ │ │ ├── ApplicationContextInfoUtils.java
│ │ │ │ ├── DateUtils.java
│ │ │ │ ├── HttpContextUtils.java
│ │ │ │ ├── IPUtil.java
│ │ │ │ └── JsonUtils.java
│ │ │ │ └── vo
│ │ │ │ ├── ClassSearchVo.java
│ │ │ │ ├── ClassStudentVo.java
│ │ │ │ ├── ClassVo.java
│ │ │ │ ├── CourseAndClass.java
│ │ │ │ ├── CourseInfoVo.java
│ │ │ │ ├── CourseVo.java
│ │ │ │ ├── HomeWorkVo.java
│ │ │ │ ├── NoticeVo.java
│ │ │ │ ├── PaperInfoVo.java
│ │ │ │ ├── PaperResultBinVo.java
│ │ │ │ ├── PaperResultVo.java
│ │ │ │ ├── PaperVo.java
│ │ │ │ ├── SignVo.java
│ │ │ │ ├── TeacherCourseVo.java
│ │ │ │ ├── UserInfoVo.java
│ │ │ │ └── UserLoginVo.java
│ │ └── resources
│ │ │ ├── config
│ │ │ ├── application-local.yml
│ │ │ ├── application-test.yml
│ │ │ └── application.yml
│ │ │ └── mapper
│ │ │ ├── ClassCourseMapper.xml
│ │ │ ├── ClassMapper.xml
│ │ │ ├── ClassStudentMapper.xml
│ │ │ ├── ClassUserMapper.xml
│ │ │ ├── CourseMapper.xml
│ │ │ ├── CourseResourceMapper.xml
│ │ │ ├── HomeWorkMapper.xml
│ │ │ ├── MsgMapper.xml
│ │ │ ├── NoticeMapper.xml
│ │ │ ├── PaperMapper.xml
│ │ │ ├── PaperQuestionMapper.xml
│ │ │ ├── RoleMapper.xml
│ │ │ ├── UserMapper.xml
│ │ │ ├── UserQuestionMapper.xml
│ │ │ ├── UserScoreMapper.xml
│ │ │ └── UserSignMapper.xml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── code
│ │ └── classsystem
│ │ ├── ClassSystemApplicationTests.java
│ │ └── TestCode.java
├── pom.xml
└── sql
│ └── interactive_class.sql
├── interactiveClassAdminUI
├── .editorconfig
├── .env.development
├── .env.production
├── .env.staging
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .travis.yml
├── LICENSE
├── README-zh.md
├── README.md
├── babel.config.js
├── build
│ └── index.js
├── jest.config.js
├── jsconfig.json
├── mock
│ ├── index.js
│ ├── mock-server.js
│ ├── table.js
│ └── user.js
├── package.json
├── postcss.config.js
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── App.vue
│ ├── api
│ │ ├── class.js
│ │ ├── course.js
│ │ ├── courseware.js
│ │ ├── file.js
│ │ ├── homework.js
│ │ ├── paper.js
│ │ └── user.js
│ ├── assets
│ │ ├── 404_images
│ │ │ ├── 404.png
│ │ │ └── 404_cloud.png
│ │ └── user
│ │ │ └── cat.jpeg
│ ├── components
│ │ ├── Breadcrumb
│ │ │ └── index.vue
│ │ ├── Hamburger
│ │ │ └── index.vue
│ │ ├── Pagnation
│ │ │ └── Pagination.vue
│ │ └── SvgIcon
│ │ │ └── index.vue
│ ├── directive
│ │ └── permission
│ │ │ ├── index.js
│ │ │ └── permission.js
│ ├── icons
│ │ ├── index.js
│ │ ├── svg
│ │ │ ├── dashboard.svg
│ │ │ ├── example.svg
│ │ │ ├── eye-open.svg
│ │ │ ├── eye.svg
│ │ │ ├── form.svg
│ │ │ ├── link.svg
│ │ │ ├── nested.svg
│ │ │ ├── password.svg
│ │ │ ├── table.svg
│ │ │ ├── tree.svg
│ │ │ └── user.svg
│ │ └── svgo.yml
│ ├── layout
│ │ ├── components
│ │ │ ├── AppMain.vue
│ │ │ ├── Navbar.vue
│ │ │ ├── Sidebar
│ │ │ │ ├── FixiOSBug.js
│ │ │ │ ├── Item.vue
│ │ │ │ ├── Link.vue
│ │ │ │ ├── Logo.vue
│ │ │ │ ├── SidebarItem.vue
│ │ │ │ └── index.vue
│ │ │ └── index.js
│ │ ├── index.vue
│ │ └── mixin
│ │ │ └── ResizeHandler.js
│ ├── main.js
│ ├── permission.js
│ ├── router
│ │ └── index.js
│ ├── settings.js
│ ├── store
│ │ ├── getters.js
│ │ ├── index.js
│ │ └── modules
│ │ │ ├── app.js
│ │ │ ├── settings.js
│ │ │ └── user.js
│ ├── styles
│ │ ├── common.css
│ │ ├── element-ui.scss
│ │ ├── index.scss
│ │ ├── mixin.scss
│ │ ├── sidebar.scss
│ │ ├── transition.scss
│ │ └── variables.scss
│ ├── utils
│ │ ├── auth.js
│ │ ├── commonUtils.js
│ │ ├── fileRequest.js
│ │ ├── get-page-title.js
│ │ ├── index.js
│ │ ├── request.js
│ │ └── validate.js
│ └── views
│ │ ├── 404.vue
│ │ ├── class
│ │ ├── formDialog.vue
│ │ └── index.vue
│ │ ├── courseware
│ │ ├── formDialog.vue
│ │ └── index.vue
│ │ ├── homework
│ │ ├── formDialog.vue
│ │ └── index.vue
│ │ ├── index
│ │ └── index.vue
│ │ ├── login
│ │ └── index.vue
│ │ ├── paper
│ │ ├── addFormDialog.vue
│ │ ├── formDialog.vue
│ │ ├── index.vue
│ │ └── questionList.vue
│ │ ├── unAuthor.vue
│ │ └── user
│ │ ├── formDialog.vue
│ │ └── index.vue
├── tests
│ └── unit
│ │ ├── .eslintrc.js
│ │ ├── components
│ │ ├── Breadcrumb.spec.js
│ │ ├── Hamburger.spec.js
│ │ └── SvgIcon.spec.js
│ │ └── utils
│ │ ├── formatTime.spec.js
│ │ ├── parseTime.spec.js
│ │ └── validate.spec.js
└── vue.config.js
├── interactiveClassUI
├── .gitignore
├── README.en.md
├── README.md
├── babel.config.js
├── package-lock.json
├── package.json
├── postcss.config.js
├── public
│ └── index.html
├── src
│ ├── App.vue
│ ├── api
│ │ ├── class.js
│ │ ├── classUser.js
│ │ ├── course.js
│ │ ├── courseware.js
│ │ ├── msg.js
│ │ ├── notice.js
│ │ ├── paper.js
│ │ ├── sign.js
│ │ ├── user.js
│ │ ├── userQuestion.js
│ │ └── userScore.js
│ ├── directive
│ │ └── permission
│ │ │ ├── index.js
│ │ │ └── permission.js
│ ├── lib
│ │ ├── qqmap-wx-jssdk.js
│ │ └── qqmap-wx-jssdk.min.js
│ ├── main.js
│ ├── manifest.json
│ ├── pages.json
│ ├── pages
│ │ ├── aboutme
│ │ │ └── index.vue
│ │ ├── class
│ │ │ ├── Analysis
│ │ │ │ └── index.vue
│ │ │ ├── codeImg
│ │ │ │ └── index.vue
│ │ │ ├── courseware
│ │ │ │ └── index.vue
│ │ │ ├── index.vue
│ │ │ ├── notice
│ │ │ │ ├── form.vue
│ │ │ │ └── index.vue
│ │ │ ├── paper
│ │ │ │ ├── addPaperForm.vue
│ │ │ │ ├── index.vue
│ │ │ │ └── paperList.vue
│ │ │ ├── sign
│ │ │ │ └── index.vue
│ │ │ ├── student
│ │ │ │ └── index.vue
│ │ │ └── talk
│ │ │ │ └── index.vue
│ │ ├── file
│ │ │ └── index.vue
│ │ ├── index
│ │ │ ├── courseware
│ │ │ │ └── courseware.vue
│ │ │ ├── encourse
│ │ │ │ └── index.vue
│ │ │ ├── index.vue
│ │ │ └── paper
│ │ │ │ └── paper.vue
│ │ └── user
│ │ │ ├── courseware
│ │ │ └── index.vue
│ │ │ ├── login
│ │ │ └── index.vue
│ │ │ ├── me
│ │ │ └── index.vue
│ │ │ ├── paper
│ │ │ ├── index.vue
│ │ │ └── paperList.vue
│ │ │ ├── register
│ │ │ └── index.vue
│ │ │ └── userInfo
│ │ │ └── index.vue
│ ├── static
│ │ ├── icon
│ │ │ ├── aboutme.png
│ │ │ ├── aboutme_active.png
│ │ │ ├── add.png
│ │ │ ├── classroom-active.png
│ │ │ ├── classroom.png
│ │ │ ├── code.png
│ │ │ ├── cygl.png
│ │ │ ├── error.png
│ │ │ ├── gg.png
│ │ │ ├── home.png
│ │ │ ├── home_active.png
│ │ │ ├── kj.png
│ │ │ ├── me-active.png
│ │ │ ├── me.png
│ │ │ ├── paper.png
│ │ │ ├── sz.png
│ │ │ ├── tlq.png
│ │ │ └── 测试.png
│ │ ├── images
│ │ │ ├── swaper1.jpg
│ │ │ ├── swaper2.jpg
│ │ │ ├── swaper3.jpg
│ │ │ └── user
│ │ │ │ └── cat.jpeg
│ │ └── logo.png
│ ├── style
│ │ └── uni-common.css
│ ├── uni.scss
│ ├── utils
│ │ ├── WebSocketUtil.js
│ │ ├── alert.js
│ │ ├── config.js
│ │ ├── fileUpload.js
│ │ ├── request.js
│ │ ├── storage.js
│ │ ├── tokenUtil.js
│ │ ├── u-charts.js
│ │ ├── u-charts.min.js
│ │ ├── userStorage.js
│ │ └── wxqrcode.js
│ └── wxcomponents
│ │ └── vant
│ │ ├── action-sheet
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── area
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── badge-group
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── badge
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── button
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── calendar
│ │ ├── calendar.wxml
│ │ ├── components
│ │ │ ├── header
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ └── month
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ ├── index.wxs
│ │ │ │ └── index.wxss
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ ├── index.wxss
│ │ ├── utils.d.ts
│ │ ├── utils.js
│ │ └── utils.wxs
│ │ ├── card
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── cell-group
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── cell
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── checkbox-group
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── checkbox
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ │ ├── circle
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── col
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── collapse-item
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── collapse
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── common
│ │ ├── color.d.ts
│ │ ├── color.js
│ │ ├── component.d.ts
│ │ ├── component.js
│ │ ├── index.wxss
│ │ ├── style
│ │ │ ├── clearfix.wxss
│ │ │ ├── ellipsis.wxss
│ │ │ ├── hairline.wxss
│ │ │ ├── mixins
│ │ │ │ ├── clearfix.wxss
│ │ │ │ ├── ellipsis.wxss
│ │ │ │ └── hairline.wxss
│ │ │ ├── theme.wxss
│ │ │ └── var.wxss
│ │ ├── utils.d.ts
│ │ └── utils.js
│ │ ├── count-down
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ ├── utils.d.ts
│ │ └── utils.js
│ │ ├── datetime-picker
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── definitions
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── weapp.d.ts
│ │ └── weapp.js
│ │ ├── dialog
│ │ ├── dialog.d.ts
│ │ ├── dialog.js
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── divider
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── dropdown-item
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── dropdown-menu
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ │ ├── field
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ ├── index.wxss
│ │ ├── props.d.ts
│ │ └── props.js
│ │ ├── goods-action-button
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── goods-action-icon
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── goods-action
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── grid-item
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── grid
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── icon
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── image
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── index-anchor
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── index-bar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── info
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── loading
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── mixins
│ │ ├── basic.d.ts
│ │ ├── basic.js
│ │ ├── button.d.ts
│ │ ├── button.js
│ │ ├── link.d.ts
│ │ ├── link.js
│ │ ├── observer
│ │ │ ├── behavior.d.ts
│ │ │ ├── behavior.js
│ │ │ ├── index.d.ts
│ │ │ ├── index.js
│ │ │ ├── props.d.ts
│ │ │ └── props.js
│ │ ├── open-type.d.ts
│ │ ├── open-type.js
│ │ ├── page-scroll.d.ts
│ │ ├── page-scroll.js
│ │ ├── safe-area.d.ts
│ │ ├── safe-area.js
│ │ ├── touch.d.ts
│ │ ├── touch.js
│ │ ├── transition.d.ts
│ │ └── transition.js
│ │ ├── nav-bar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── notice-bar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── notify
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ ├── notify.d.ts
│ │ └── notify.js
│ │ ├── overlay
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── panel
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── picker-column
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ │ ├── picker
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ ├── shared.d.ts
│ │ ├── shared.js
│ │ └── toolbar.wxml
│ │ ├── popup
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── progress
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ │ ├── radio-group
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── radio
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── rate
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── row
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── search
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── sidebar-item
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── sidebar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── skeleton
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── slider
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── stepper
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── steps
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── sticky
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ │ ├── submit-bar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── swipe-cell
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── switch-cell
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── switch
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── tab
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── tabbar-item
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── tabbar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── tabs
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ │ ├── tag
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── toast
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ ├── toast.d.ts
│ │ └── toast.js
│ │ ├── transition
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── tree-select
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ │ ├── uploader
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ ├── shared.d.ts
│ │ ├── shared.js
│ │ ├── utils.d.ts
│ │ └── utils.js
│ │ └── wxs
│ │ ├── add-unit.wxs
│ │ ├── array.wxs
│ │ ├── bem.wxs
│ │ ├── memoize.wxs
│ │ ├── object.wxs
│ │ └── utils.wxs
└── tsconfig.json
└── 系统运行界面
├── addcource.png
├── course-list.png
├── mp-classList.png
├── mp-index.png
├── user-admin.png
└── userList.png
/.gitignore:
--------------------------------------------------------------------------------
1 | *.class
2 | target/
3 | out/
4 |
5 | # Eclipse project files
6 | .classpath
7 | .project
8 | .settings
9 |
10 | # IDEA metadata and output dirs
11 | *.iml
12 | *.ipr
13 | *.iws
14 | *.jar
15 | *.class
16 | .idea/
17 |
18 | # gitbook
19 | _book
20 | tmp
21 |
22 | #默认文件上传位置
23 | /upload
--------------------------------------------------------------------------------
/doc/“互动课堂”微信小程序.md:
--------------------------------------------------------------------------------
1 | ## “互动课堂”微信小程序
2 |
3 | 一数据库设计
4 |
5 | 1. 用户注册、登录,用户分为学生,教师
6 |
7 | * user表、role表
8 |
9 | 2. 学生加入班级
10 | * class表
11 |
12 | 3. 学生签到
13 |
14 | * sign
15 |
16 | 4. 教师提问(抢答或者一起答题)
17 |
18 | * answer
19 |
20 | 5. 课后作业布置
21 |
22 | * homework
23 |
24 | 6. 老师发布学习资料、学生学习
25 |
26 | * study
27 |
28 | 7. 老师发布通知
29 |
30 | * notice
31 |
32 | 8. 计算学生成绩(通过签到情况、上课问题回答情况、老师作业给分对学生表现情况进行评分给出平时分参考)
33 |
34 | * score
35 |
36 | 9. 讨论区答疑
37 |
38 | * talk
--------------------------------------------------------------------------------
/doc/“互动课堂”微信小程序需求.md:
--------------------------------------------------------------------------------
1 | ## “互动课堂”微信小程序需求
2 |
3 |
4 |
5 | 1. 主要有教师端与学生端,教师创建班级,学生通过二维码加入。
6 |
7 | 2. 教师可以通过小程序让学生进行定位签到、课上提问(抢答或者一起答题)、课后作业布置,视频上传,在讨论区答疑。
8 |
9 | 3. 学生可以通过小程序提交作业、在专门的讨论区提出问题或者参与讨论、观看老师上传的视频。
10 |
11 | 4. 期末小程序通过签到情况、上课问题回答情况、老师作业给分对学生表现情况进行评分给出平时分参考。迟到或者缺课的同学老师可以作出标记。
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/doc/功能.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/doc/功能.jpg
--------------------------------------------------------------------------------
/doc/功能1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/doc/功能1.jpg
--------------------------------------------------------------------------------
/interactive-class/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**
5 | !**/src/test/**
6 |
7 | ### STS ###
8 | .apt_generated
9 | .classpath
10 | .factorypath
11 | .project
12 | .settings
13 | .springBeans
14 | .sts4-cache
15 |
16 |
17 | ### IntelliJ IDEA ###
18 | .idea
19 | *.iws
20 | *.iml
21 | *.ipr
22 | .mvn
23 |
24 | ### NetBeans ###
25 | /nbproject/private/
26 | /nbbuild/
27 | /dist/
28 | /nbdist/
29 | /.nb-gradle/
30 | build/
31 |
32 | ### VS Code ###
33 | .vscode/
34 |
--------------------------------------------------------------------------------
/interactive-class/class-core/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**
5 | !**/src/test/**
6 |
7 | ### STS ###
8 | .apt_generated
9 | .classpath
10 | .factorypath
11 | .project
12 | .settings
13 | .springBeans
14 | .sts4-cache
15 |
16 | ### IntelliJ IDEA ###
17 | .idea
18 | *.iws
19 | *.iml
20 | *.ipr
21 | .mvn
22 |
23 | ### NetBeans ###
24 | /nbproject/private/
25 | /nbbuild/
26 | /dist/
27 | /nbdist/
28 | /.nb-gradle/
29 | build/
30 |
31 | ### VS Code ###
32 | .vscode/
33 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/main/java/com/code/core/entity/ResponseResult.java:
--------------------------------------------------------------------------------
1 | package com.code.core.entity;
2 |
3 | import com.fasterxml.jackson.annotation.JsonInclude;
4 | import lombok.Data;
5 |
6 | /**
7 | * Created by rf on 2019/3/4.
8 | */
9 | @Data
10 | @JsonInclude(JsonInclude.Include.NON_NULL)
11 | public class ResponseResult {
12 | private int code;
13 | private String message;
14 | private Object data;
15 |
16 | public ResponseResult(int code, String message) {
17 | this.code = code;
18 | this.message = message;
19 | }
20 |
21 | public ResponseResult(String message, Object data) {
22 | this.message = message;
23 | this.data = data;
24 | this.code = 200;
25 | }
26 |
27 | public ResponseResult(int code, Object data) {
28 | this.code = code;
29 | this.data = data;
30 | }
31 | public ResponseResult(Object data) {
32 | this(200,data);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/main/java/com/code/core/error/CommonError.java:
--------------------------------------------------------------------------------
1 | package com.code.core.error;
2 |
3 | /**
4 | * Created by rf on 2019/3/10.
5 | */
6 | public interface CommonError {
7 | int getCode();
8 | String getMsg();
9 | }
10 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/main/java/com/code/core/exception/AuthenticationFailException.java:
--------------------------------------------------------------------------------
1 | package com.code.core.exception;
2 |
3 |
4 | import com.code.core.enums.ErrorEnum;
5 | import com.code.core.error.CommonError;
6 |
7 | /**
8 | * Created by rf on 2019/4/23.
9 | */
10 | public class AuthenticationFailException extends RuntimeException implements CommonError {
11 | private int code;
12 | private String msg;
13 | public AuthenticationFailException(int code, String msg) {
14 | super(msg);
15 | this.code = code;
16 | this.msg = msg;
17 | }
18 | public AuthenticationFailException(ErrorEnum errorEnum) {
19 | this(errorEnum.getCode(), errorEnum.getMsg());
20 | }
21 | @Override
22 | public int getCode() {
23 | return code;
24 | }
25 |
26 | @Override
27 | public String getMsg() {
28 | return msg;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/main/java/com/code/core/exception/BusinessException.java:
--------------------------------------------------------------------------------
1 | package com.code.core.exception;
2 |
3 |
4 | import com.code.core.enums.ErrorEnum;
5 | import com.code.core.error.CommonError;
6 |
7 | /**
8 | * Created by rf on 2019/3/10.
9 | */
10 | public class BusinessException extends RuntimeException implements CommonError {
11 | private int code;
12 | private String msg;
13 |
14 | public BusinessException(int code, String msg) {
15 | super(msg);
16 | this.code = code;
17 | this.msg = msg;
18 | }
19 | public BusinessException(ErrorEnum errorEnum) {
20 | this(errorEnum.getCode(), errorEnum.getMsg());
21 | }
22 | @Override
23 | public int getCode() {
24 | return code;
25 | }
26 |
27 | @Override
28 | public String getMsg() {
29 | return msg;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/main/java/com/code/core/exception/FileException.java:
--------------------------------------------------------------------------------
1 | package com.code.core.exception;
2 |
3 |
4 | import com.code.core.enums.ErrorEnum;
5 | import com.code.core.error.CommonError;
6 |
7 | /**
8 | * Created by rf on 2019/3/10.
9 | */
10 | public class FileException extends RuntimeException implements CommonError {
11 | private String msg;
12 | private int code;
13 |
14 | public FileException(int code, String msg) {
15 | super(msg);
16 | this.code = code;
17 | this.msg = msg;
18 | }
19 |
20 | public FileException(ErrorEnum errorEnum) {
21 | this(errorEnum.getCode(),errorEnum.getMsg());
22 | }
23 |
24 | @Override
25 | public int getCode() {
26 | return code;
27 | }
28 |
29 | @Override
30 | public String getMsg() {
31 | return msg;
32 | }
33 |
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/main/java/com/code/core/exception/ParamInvalidException.java:
--------------------------------------------------------------------------------
1 | package com.code.core.exception;
2 |
3 |
4 | import com.code.core.enums.ErrorEnum;
5 | import com.code.core.error.CommonError;
6 |
7 | /**
8 | * Created by rf on 2019/3/10.
9 | */
10 | public class ParamInvalidException extends RuntimeException implements CommonError {
11 | private String msg;
12 | private int code;
13 |
14 | public ParamInvalidException( int code,String msg) {
15 | super(msg);
16 | this.code = code;
17 | this.msg = msg;
18 | }
19 |
20 | public ParamInvalidException(ErrorEnum errorEnum) {
21 | this(errorEnum.getCode(),errorEnum.getMsg());
22 | }
23 |
24 | @Override
25 | public int getCode() {
26 | return code;
27 | }
28 |
29 | @Override
30 | public String getMsg() {
31 | return msg;
32 | }
33 |
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/main/java/com/code/core/util/ResourceUtils.java:
--------------------------------------------------------------------------------
1 | package com.code.core.util;
2 |
3 | public class ResourceUtils {
4 | public static String getClassPath(){
5 | return System.getProperty("user.dir");
6 | }
7 |
8 | public static String getResourcePath(){
9 | return getClassPath()+"/src/main/resource";
10 | }
11 |
12 | public static void main(String[] args) {
13 | System.out.print(getClassPath());
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/main/java/com/code/core/util/StringUtils.java:
--------------------------------------------------------------------------------
1 | package com.code.core.util;
2 |
3 | public class StringUtils {
4 | public static String getTimeRandomCode(int n){
5 | String timeRandomCode = System.currentTimeMillis()+"";
6 | int length = timeRandomCode.length();
7 | int start = length - n;
8 | if(start<0){
9 | start = 0;
10 | }
11 | return timeRandomCode.substring(start,length);
12 | }
13 |
14 | public static String getFileSaveDirStr(){
15 | String timeStr = DateUtils.getFileSaveDirPathStr();
16 | return timeStr;
17 | }
18 |
19 | public static boolean isNull(String str){
20 | return str==null || str.trim().equals("");
21 | }
22 |
23 | public static boolean isNotNull(String str){
24 | return !isNull(str);
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/main/java/com/code/core/util/UUIDUtil.java:
--------------------------------------------------------------------------------
1 | package com.code.core.util;
2 |
3 | import java.util.UUID;
4 |
5 |
6 | public class UUIDUtil {
7 | public static String getUUid(){
8 | return UUID.randomUUID().toString().replace("-","");
9 | }
10 |
11 | /**
12 | *get uuid36λ
13 | * @return
14 | */
15 | public static String getRandomUUID(){
16 | return UUID.randomUUID().toString();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/interactive-class/class-core/src/test/java/com/code/core/CoreApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.code.core;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class CoreApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/interactive-class/class-generator/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**
5 | !**/src/test/**
6 |
7 | ### STS ###
8 | .apt_generated
9 | .classpath
10 | .factorypath
11 | .project
12 | .settings
13 | .springBeans
14 | .sts4-cache
15 |
16 | ### IntelliJ IDEA ###
17 | .idea
18 | *.iws
19 | *.iml
20 | *.ipr
21 | .mvn
22 |
23 | ### NetBeans ###
24 | /nbproject/private/
25 | /nbbuild/
26 | /dist/
27 | /nbdist/
28 | /.nb-gradle/
29 | build/
30 |
31 |
32 | ### VS Code ###
33 | .vscode/
34 |
35 | /src/main/java/com/code/classsystem
36 |
--------------------------------------------------------------------------------
/interactive-class/class-generator/src/main/java/com/code/GenCode.java:
--------------------------------------------------------------------------------
1 | package com.code;
2 |
3 | import com.code.classgenerator.gen.Generator;
4 |
5 | public class GenCode {
6 | public static void main(String[] args) {
7 | //指定包名
8 | String packageName = "com.code.classsystem";
9 | //user -> UserService, 设置成true: user -> IUserService
10 | boolean serviceNameStartWithI = false;
11 | //指定生成的表名
12 | String[] tableNames = new String[]{"course"};
13 | Generator generator = new Generator();
14 | generator.generateByTables(serviceNameStartWithI, packageName, tableNames);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/interactive-class/class-generator/src/main/resources/gen.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactive-class/class-generator/src/main/resources/gen.properties
--------------------------------------------------------------------------------
/interactive-class/class-generator/src/test/java/com/code/classgenerator/ClassGeneratorApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.code.classgenerator;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ClassGeneratorApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/interactive-class/class-system/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**
5 | !**/src/test/**
6 | .mvn
7 | ### STS ###
8 | .apt_generated
9 | .classpath
10 | .factorypath
11 | .project
12 | .settings
13 | .springBeans
14 | .sts4-cache
15 |
16 | ### IntelliJ IDEA ###
17 | .idea
18 | *.iws
19 | *.iml
20 | *.ipr
21 |
22 | ### NetBeans ###
23 | /nbproject/private/
24 | /nbbuild/
25 | /dist/
26 | /nbdist/
27 | /.nb-gradle/
28 | build/
29 |
30 | ### VS Code ###
31 | .vscode/
32 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/controller/ClassCourseController.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.controller;
2 |
3 |
4 | import org.springframework.web.bind.annotation.RequestMapping;
5 |
6 | import org.springframework.web.bind.annotation.RestController;
7 |
8 | /**
9 | *
10 | * 前端控制器
11 | *
12 | *
13 | * @author coder
14 | * @since 2020-05-11
15 | */
16 | @RestController
17 | @RequestMapping("/classCourse")
18 | public class ClassCourseController {
19 |
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/controller/RoleController.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.controller;
2 |
3 |
4 | import org.springframework.web.bind.annotation.RequestMapping;
5 |
6 | import org.springframework.web.bind.annotation.RestController;
7 |
8 | /**
9 | *
10 | * 前端控制器
11 | *
12 | *
13 | * @author coder
14 | * @since 2020-04-05
15 | */
16 | @RestController
17 | @RequestMapping("/role")
18 | public class RoleController {
19 |
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/ClassCourseMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.ClassCourse;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 |
6 | /**
7 | *
8 | * Mapper 接口
9 | *
10 | *
11 | * @author coder
12 | * @since 2020-05-11
13 | */
14 | public interface ClassCourseMapper extends BaseMapper {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/ClassMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.Class;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 | import com.code.classsystem.vo.ClassVo;
6 | import org.apache.ibatis.annotations.Param;
7 |
8 | import java.util.List;
9 |
10 | /**
11 | *
12 | * Mapper 接口
13 | *
14 | *
15 | * @author coder
16 | * @since 2020-04-05
17 | */
18 | public interface ClassMapper extends BaseMapper {
19 |
20 | Class getClassByClassCode(String classCode);
21 |
22 | Class getClassByClassNameAndCurId(@Param("className") String className, @Param("userId") String userId);
23 |
24 | List listPage(Class cla);
25 | }
26 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/ClassStudentMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.baomidou.mybatisplus.mapper.BaseMapper;
4 | import com.code.classsystem.entity.ClassStudent;
5 |
6 | public interface ClassStudentMapper extends BaseMapper {
7 | }
8 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/CourseMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.Course;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 | import com.code.classsystem.vo.CourseAndClass;
6 | import com.code.classsystem.vo.CourseInfoVo;
7 | import com.code.classsystem.vo.TeacherCourseVo;
8 |
9 | import java.util.List;
10 |
11 | /**
12 | *
13 | * Mapper 接口
14 | *
15 | *
16 | * @author coder
17 | * @since 2020-04-18
18 | */
19 | public interface CourseMapper extends BaseMapper {
20 |
21 | List mcourseInfo(String userId);
22 |
23 | ListqueryTeachCourse(String userId);
24 |
25 | List listPage(Course course);
26 |
27 | CourseInfoVo getDetailById(String id);
28 | }
29 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/CourseResourceMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.CourseResource;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * Mapper 接口
11 | *
12 | *
13 | * @author coder
14 | * @since 2020-04-18
15 | */
16 | public interface CourseResourceMapper extends BaseMapper {
17 | List queryMyCourse(String userId);
18 | }
19 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/HomeWorkMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.HomeWork;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 | import com.code.classsystem.vo.HomeWorkVo;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | *
11 | * Mapper 接口
12 | *
13 | *
14 | * @author coder
15 | * @since 2020-05-07
16 | */
17 | public interface HomeWorkMapper extends BaseMapper {
18 |
19 | List listPage(HomeWork homeWork);
20 |
21 | HomeWorkVo getDetailById(String id);
22 | }
23 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/MsgMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.Msg;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 |
6 | /**
7 | *
8 | * Mapper 接口
9 | *
10 | *
11 | * @author coder
12 | * @since 2020-05-10
13 | */
14 | public interface MsgMapper extends BaseMapper {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/NoticeMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.Notice;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 |
6 | /**
7 | *
8 | * Mapper 接口
9 | *
10 | *
11 | * @author coder
12 | * @since 2020-04-18
13 | */
14 | public interface NoticeMapper extends BaseMapper {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/PaperMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.Paper;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 | import com.code.classsystem.vo.PaperInfoVo;
6 | import com.code.classsystem.vo.PaperResultBinVo;
7 |
8 | import java.util.List;
9 |
10 | /**
11 | *
12 | * Mapper 接口
13 | *
14 | *
15 | * @author coder
16 | * @since 2020-04-18
17 | */
18 | public interface PaperMapper extends BaseMapper {
19 | List listPage(Paper paper);
20 | List queryMyPaper(String userId);
21 | List queryPaperResult(String courseId);
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/PaperQuestionMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.PaperQuestion;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 |
6 | /**
7 | *
8 | * Mapper 接口
9 | *
10 | *
11 | * @author coder
12 | * @since 2020-04-18
13 | */
14 | public interface PaperQuestionMapper extends BaseMapper {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/RoleMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.Role;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 |
6 | /**
7 | *
8 | * Mapper 接口
9 | *
10 | *
11 | * @author coder
12 | * @since 2020-04-05
13 | */
14 | public interface RoleMapper extends BaseMapper {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/UserMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.User;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 | import com.code.classsystem.vo.UserInfoVo;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | *
11 | * Mapper 接口
12 | *
13 | *
14 | * @author coder
15 | * @since 2020-04-05
16 | */
17 | public interface UserMapper extends BaseMapper {
18 |
19 | List listPage(User user);
20 |
21 | UserInfoVo getUserInfoByUserId(String userId);
22 | }
23 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/UserQuestionMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.UserQuestion;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 | import com.code.classsystem.vo.PaperResultVo;
6 |
7 | import java.util.List;
8 | import java.util.Map;
9 |
10 | /**
11 | *
12 | * Mapper 接口
13 | *
14 | *
15 | * @author coder
16 | * @since 2020-05-06
17 | */
18 | public interface UserQuestionMapper extends BaseMapper {
19 |
20 | List queryMyResult(Map map);
21 | }
22 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/UserScoreMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.UserScore;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 |
6 | /**
7 | *
8 | * Mapper 接口
9 | *
10 | *
11 | * @author coder
12 | * @since 2020-05-07
13 | */
14 | public interface UserScoreMapper extends BaseMapper {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/dao/UserSignMapper.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.dao;
2 |
3 | import com.code.classsystem.entity.UserSign;
4 | import com.baomidou.mybatisplus.mapper.BaseMapper;
5 | import com.code.classsystem.vo.SignVo;
6 |
7 | /**
8 | *
9 | * Mapper 接口
10 | *
11 | *
12 | * @author coder
13 | * @since 2020-04-05
14 | */
15 | public interface UserSignMapper extends BaseMapper {
16 | SignVo querySignInfo(UserSign userSign);
17 | }
18 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/ClassCourseService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.ClassCourse;
4 | import com.baomidou.mybatisplus.service.IService;
5 |
6 | /**
7 | *
8 | * 服务类
9 | *
10 | *
11 | * @author coder
12 | * @since 2020-05-11
13 | */
14 | public interface ClassCourseService extends IService {
15 | void save(String classId,String courseId);
16 | }
17 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/CourseResourceService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.Course;
4 | import com.code.classsystem.entity.CourseResource;
5 | import com.baomidou.mybatisplus.service.IService;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | *
11 | * 服务类
12 | *
13 | *
14 | * @author coder
15 | * @since 2020-04-18
16 | */
17 | public interface CourseResourceService extends IService {
18 |
19 | void deleteByCourseId(String id);
20 |
21 | List getResources(Course course, int pageNum, int pageSize);
22 |
23 | List getMyResources(int pageNum, int pageSize);
24 |
25 | List queryCourseRes(int pageNum, int pageSize);
26 | }
27 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/HomeWorkService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.HomeWork;
4 | import com.baomidou.mybatisplus.service.IService;
5 | import com.code.classsystem.vo.HomeWorkVo;
6 | import com.github.pagehelper.PageInfo;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author coder
14 | * @since 2020-05-07
15 | */
16 | public interface HomeWorkService extends IService {
17 |
18 | void addHomeWork(HomeWork homeWork);
19 |
20 | PageInfo listPage(HomeWork homeWork, int pageNum, int pageSize);
21 |
22 | HomeWorkVo getDetailById(String id);
23 | }
24 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/MsgService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.Msg;
4 | import com.baomidou.mybatisplus.service.IService;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author coder
14 | * @since 2020-05-10
15 | */
16 | public interface MsgService extends IService {
17 |
18 | List listLastN(String classId, int n);
19 | }
20 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/NoticeService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.Notice;
4 | import com.baomidou.mybatisplus.service.IService;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author coder
14 | * @since 2020-04-18
15 | */
16 | public interface NoticeService extends IService {
17 | boolean addNotice (Notice notice);
18 |
19 | List queryNotice(Notice notice, int page, int limit);
20 | }
21 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/PaperQuestionService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.PaperQuestion;
4 | import com.baomidou.mybatisplus.service.IService;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author coder
14 | * @since 2020-04-18
15 | */
16 | public interface PaperQuestionService extends IService {
17 |
18 | Boolean addPaperQuestion(PaperQuestion paper);
19 |
20 | List queryPaperQuestionById(String paperId);
21 |
22 | boolean delPaper(String paperId);
23 | }
24 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/RoleService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.Role;
4 | import com.baomidou.mybatisplus.service.IService;
5 |
6 | /**
7 | *
8 | * 服务类
9 | *
10 | *
11 | * @author coder
12 | * @since 2020-04-05
13 | */
14 | public interface RoleService extends IService {
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/UserQuestionService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.UserQuestion;
4 | import com.baomidou.mybatisplus.service.IService;
5 | import com.code.classsystem.vo.PaperResultVo;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | *
11 | * 服务类
12 | *
13 | *
14 | * @author coder
15 | * @since 2020-05-06
16 | */
17 | public interface UserQuestionService extends IService {
18 |
19 | boolean subAnswer(List userQuestions);
20 |
21 | List queryMyResult(String paperId);
22 | }
23 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/UserScoreService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.UserScore;
4 | import com.baomidou.mybatisplus.service.IService;
5 |
6 | /**
7 | *
8 | * 服务类
9 | *
10 | *
11 | * @author coder
12 | * @since 2020-05-07
13 | */
14 | public interface UserScoreService extends IService {
15 |
16 | boolean addUserScore(UserScore userScore);
17 |
18 | UserScore queryUserScore(UserScore userScore);
19 | }
20 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/UserSignService.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service;
2 |
3 | import com.code.classsystem.entity.UserSign;
4 | import com.baomidou.mybatisplus.service.IService;
5 | import com.code.classsystem.vo.SignVo;
6 |
7 | /**
8 | *
9 | * 服务类
10 | *
11 | *
12 | * @author coder
13 | * @since 2020-04-05
14 | */
15 | public interface UserSignService extends IService {
16 | boolean doSign(UserSign userSign);
17 | SignVo querySignInfo(UserSign userSign);
18 | }
19 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/service/impl/RoleServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.service.impl;
2 |
3 | import com.code.classsystem.entity.Role;
4 | import com.code.classsystem.dao.RoleMapper;
5 | import com.code.classsystem.service.RoleService;
6 | import com.baomidou.mybatisplus.service.impl.ServiceImpl;
7 | import org.springframework.stereotype.Service;
8 |
9 | /**
10 | *
11 | * 服务实现类
12 | *
13 | *
14 | * @author coder
15 | * @since 2020-04-05
16 | */
17 | @Service
18 | public class RoleServiceImpl extends ServiceImpl implements RoleService {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/util/DateUtils.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.util;
2 |
3 | import org.slf4j.Logger;
4 | import org.slf4j.LoggerFactory;
5 |
6 | import java.text.DateFormat;
7 | import java.text.ParseException;
8 | import java.text.SimpleDateFormat;
9 | import java.util.Date;
10 | import java.util.Locale;
11 |
12 | /**
13 | * 日期时间工具类
14 | *
15 | * @author Administrator
16 | */
17 | public class DateUtils {
18 |
19 | private static Logger logger = LoggerFactory.getLogger(DateUtils.class);
20 | private static final SimpleDateFormat TIME_FORMAT =
21 | new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
22 | private static final SimpleDateFormat DATE_FORMAT =
23 | new SimpleDateFormat("yyyy-MM-dd");
24 |
25 | public static String getCurTimeStr() {
26 | return TIME_FORMAT.format(new Date());
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/util/JsonUtils.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.util;
2 |
3 | import com.alibaba.fastjson.JSONObject;
4 |
5 | public class JsonUtils {
6 | public static boolean isJsonStr(String str) {
7 | try {
8 | JSONObject jsonStr = JSONObject.parseObject(str);
9 | return true;
10 | } catch (Exception e) {
11 | return false;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/ClassSearchVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.Class;
4 |
5 | public class ClassSearchVo extends Class {
6 | private String creatorId;
7 |
8 | public String getCreatorId() {
9 | return creatorId;
10 | }
11 |
12 | public void setCreatorId(String creatorId) {
13 | this.creatorId = creatorId;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/ClassStudentVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.ClassStudent;
4 |
5 | public class ClassStudentVo extends ClassStudent {
6 | private int page;
7 | private int limit;
8 |
9 | public int getPage() {
10 | return page;
11 | }
12 |
13 | public void setPage(int page) {
14 | this.page = page;
15 | }
16 |
17 | public int getLimit() {
18 | return limit;
19 | }
20 |
21 | public void setLimit(int limit) {
22 | this.limit = limit;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/ClassVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.Class;
4 |
5 | public class ClassVo extends Class {
6 | private String createUserName;
7 |
8 | public String getCreateUserName() {
9 | return createUserName;
10 | }
11 |
12 | public void setCreateUserName(String createUserName) {
13 | this.createUserName = createUserName;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/CourseVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.Course;
4 |
5 | import java.util.List;
6 |
7 | public class CourseVo extends Course {
8 | private List classNameList;
9 |
10 | public List getClassNameList() {
11 | return classNameList;
12 | }
13 |
14 | public void setClassNameList(List classNameList) {
15 | this.classNameList = classNameList;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/HomeWorkVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.HomeWork;
4 |
5 | public class HomeWorkVo extends HomeWork {
6 | private String courseName;
7 | private String teacherName;
8 | private String studentName;
9 |
10 | public String getCourseName() {
11 | return courseName;
12 | }
13 |
14 | public void setCourseName(String courseName) {
15 | this.courseName = courseName;
16 | }
17 |
18 | public String getTeacherName() {
19 | return teacherName;
20 | }
21 |
22 | public void setTeacherName(String teacherName) {
23 | this.teacherName = teacherName;
24 | }
25 |
26 | public String getStudentName() {
27 | return studentName;
28 | }
29 |
30 | public void setStudentName(String studentName) {
31 | this.studentName = studentName;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/NoticeVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.Notice;
4 |
5 | public class NoticeVo extends Notice {
6 | private int page;
7 | private int limit;
8 |
9 | public int getPage() {
10 | return page;
11 | }
12 |
13 | public void setPage(int page) {
14 | this.page = page;
15 | }
16 |
17 | public int getLimit() {
18 | return limit;
19 | }
20 |
21 | public void setLimit(int limit) {
22 | this.limit = limit;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/PaperInfoVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.Paper;
4 |
5 | public class PaperInfoVo extends Paper {
6 | private String courseName;
7 | private String className;
8 |
9 | public String getCourseName() {
10 | return courseName;
11 | }
12 |
13 | public void setCourseName(String courseName) {
14 | this.courseName = courseName;
15 | }
16 |
17 | public String getClassName() {
18 | return className;
19 | }
20 |
21 | public void setClassName(String className) {
22 | this.className = className;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/PaperVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.Paper;
4 |
5 | public class PaperVo extends Paper {
6 | private int page;
7 | private int limit;
8 |
9 | public int getPage() {
10 | return page;
11 | }
12 |
13 | public void setPage(int page) {
14 | this.page = page;
15 | }
16 |
17 | public int getLimit() {
18 | return limit;
19 | }
20 |
21 | public void setLimit(int limit) {
22 | this.limit = limit;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/TeacherCourseVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.Class;
4 |
5 | import java.util.List;
6 |
7 | public class TeacherCourseVo {
8 | private String courseId;
9 | private String courseName;
10 | private List classList;
11 |
12 | public String getCourseId() {
13 | return courseId;
14 | }
15 |
16 | public void setCourseId(String courseId) {
17 | this.courseId = courseId;
18 | }
19 |
20 | public String getCourseName() {
21 | return courseName;
22 | }
23 |
24 | public void setCourseName(String courseName) {
25 | this.courseName = courseName;
26 | }
27 |
28 | public List getClassList() {
29 | return classList;
30 | }
31 |
32 | public void setClassList(List classList) {
33 | this.classList = classList;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/UserInfoVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import com.code.classsystem.entity.User;
4 |
5 | public class UserInfoVo extends User {
6 | private String roleType;
7 | private String sexType;
8 | private String roleCode;
9 |
10 | public String getRoleType() {
11 | return roleType;
12 | }
13 |
14 | public void setRoleType(String roleType) {
15 | this.roleType = roleType;
16 | }
17 |
18 | public String getSexType() {
19 | return sexType;
20 | }
21 |
22 | public void setSexType(String sexType) {
23 | this.sexType = sexType;
24 | }
25 |
26 | public String getRoleCode() {
27 | return roleCode;
28 | }
29 |
30 | public void setRoleCode(String roleCode) {
31 | this.roleCode = roleCode;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/java/com/code/classsystem/vo/UserLoginVo.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem.vo;
2 |
3 | import javax.validation.constraints.NotNull;
4 |
5 | public class UserLoginVo {
6 | @NotNull(message = "账号密码不能为空!")
7 | private String password;
8 | @NotNull(message = "登录账号不能为空!")
9 | private String userAccount;
10 |
11 | public String getUserAccount() {
12 | return userAccount;
13 | }
14 |
15 | public void setUserAccount(String userAccount) {
16 | this.userAccount = userAccount;
17 | }
18 |
19 | public String getPassword() {
20 | return password;
21 | }
22 |
23 | public void setPassword(String password) {
24 | this.password = password;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/resources/config/application.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | profiles:
3 | # 切换配置文件
4 | active: local
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/resources/mapper/ClassCourseMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | id, class_id, course_id, select_course_time
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/resources/mapper/ClassStudentMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/resources/mapper/RoleMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | id, role_name,role_code, desc, is_delete, is_used
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/main/resources/mapper/UserScoreMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | id, user_id, paper_id, course_id, total_score, create_time
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/interactive-class/class-system/src/test/java/com/code/classsystem/ClassSystemApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.code.classsystem;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class ClassSystemApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | end_of_line = lf
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
12 | [*.md]
13 | insert_final_newline = false
14 | trim_trailing_whitespace = false
15 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/.env.development:
--------------------------------------------------------------------------------
1 | # just a flag
2 | ENV = 'development'
3 |
4 | # base api
5 | VUE_APP_BASE_API = '/dev-api'
6 | VUE_APP_BASE_API2 = '/api'
7 | port = 8082
8 | # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
9 | # to control whether the babel-plugin-dynamic-import-node plugin is enabled.
10 | # It only does one thing by converting all import() to require().
11 | # This configuration can significantly increase the speed of hot updates,
12 | # when you have a large number of pages.
13 | # Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
14 |
15 | VUE_CLI_BABEL_TRANSPILE_MODULES = true
16 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/.env.production:
--------------------------------------------------------------------------------
1 | # just a flag
2 | ENV = 'production'
3 |
4 | # base api
5 | VUE_APP_BASE_API = '/prod-api'
6 |
7 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/.env.staging:
--------------------------------------------------------------------------------
1 | NODE_ENV = production
2 |
3 | # just a flag
4 | ENV = 'staging'
5 |
6 | # base api
7 | VUE_APP_BASE_API = '/stage-api'
8 |
9 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/.eslintignore:
--------------------------------------------------------------------------------
1 | build/*.js
2 | src/assets
3 | public
4 | dist
5 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | dist/
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | package-lock.json
8 | tests/**/coverage/
9 |
10 | # Editor directories and files
11 | .idea
12 | .vscode
13 | *.suo
14 | *.ntvs*
15 | *.njsproj
16 | *.sln
17 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js: 10
3 | script: npm run test
4 | notifications:
5 | email: false
6 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/app'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | moduleFileExtensions: ['js', 'jsx', 'json', 'vue'],
3 | transform: {
4 | '^.+\\.vue$': 'vue-jest',
5 | '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$':
6 | 'jest-transform-stub',
7 | '^.+\\.jsx?$': 'babel-jest'
8 | },
9 | moduleNameMapper: {
10 | '^@/(.*)$': '/src/$1'
11 | },
12 | snapshotSerializers: ['jest-serializer-vue'],
13 | testMatch: [
14 | '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
15 | ],
16 | collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'],
17 | coverageDirectory: '/tests/unit/coverage',
18 | // 'collectCoverage': true,
19 | 'coverageReporters': [
20 | 'lcov',
21 | 'text-summary'
22 | ],
23 | testURL: 'http://localhost/'
24 | }
25 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": "./",
4 | "paths": {
5 | "@/*": ["src/*"]
6 | }
7 | },
8 | "exclude": ["node_modules", "dist"]
9 | }
10 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/mock/table.js:
--------------------------------------------------------------------------------
1 | import Mock from 'mockjs'
2 |
3 | const data = Mock.mock({
4 | 'items|30': [{
5 | id: '@id',
6 | title: '@sentence(10, 20)',
7 | 'status|1': ['published', 'draft', 'deleted'],
8 | author: 'name',
9 | display_time: '@datetime',
10 | pageviews: '@integer(300, 5000)'
11 | }]
12 | })
13 |
14 | export default [
15 | {
16 | url: '/vue-admin-template/table/list',
17 | type: 'get',
18 | response: config => {
19 | const items = data.items
20 | return {
21 | code: 200,
22 | data: {
23 | total: items.length,
24 | items: items
25 | }
26 | }
27 | }
28 | }
29 | ]
30 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/postcss.config.js:
--------------------------------------------------------------------------------
1 | // https://github.com/michael-ciniawsky/postcss-load-config
2 |
3 | module.exports = {
4 | 'plugins': {
5 | // to edit target browsers: use "browserslist" field in test.json
6 | 'autoprefixer': {}
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassAdminUI/public/favicon.ico
--------------------------------------------------------------------------------
/interactiveClassAdminUI/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= webpackConfig.name %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/api/class.js:
--------------------------------------------------------------------------------
1 | import { get, post } from '@/utils/request'
2 |
3 | export function listClassByUserId(params) {
4 | return get('/classUser/listClassByUserId', params)
5 | }
6 |
7 | export function listTeacherClasses(params) {
8 | return get('/classUser/listTeacherClasses', params)
9 | }
10 |
11 | export function getClassById(classId) {
12 | return get('/class/getClassById/' + classId)
13 | }
14 |
15 | export function listPage(params) {
16 | return get('/class/listPage', params)
17 | }
18 |
19 | export function add(data) {
20 | return post('/class/createClass', data)
21 | }
22 |
23 | export function update(data) {
24 | return post('/class/updateClass', data)
25 | }
26 |
27 | export function deleteById(params) {
28 | return post('/class/deleteClass', params)
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/api/course.js:
--------------------------------------------------------------------------------
1 | import { get, post } from '@/utils/request'
2 |
3 | export function listPage(params) {
4 | return get('/course/listPage', params)
5 | }
6 |
7 | export function addCourse(params) {
8 | return post('/course/addCourse/', params, 'json')
9 | }
10 |
11 | export function deleteCourseByIds(params) {
12 | return post('/course/deleteCourse/', params)
13 | }
14 |
15 | export function updateCourse(params) {
16 | return post('/course/updateCourse/', params, 'json')
17 | }
18 |
19 | export function getDetailById(id) {
20 | return get('/course/getDetailById/' + id)
21 | }
22 |
23 | export function queryCourseInfoByCurUser() {
24 | return post('/course/queryCourseInfo')
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/api/courseware.js:
--------------------------------------------------------------------------------
1 | import { get, post } from '@/utils/request'
2 |
3 | export function listPage(params) {
4 | return post('/courseResource/listPage', params)
5 | }
6 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/api/file.js:
--------------------------------------------------------------------------------
1 | import { get, post } from '@/utils/request'
2 | //这个直接调用有问题
3 | // export function download(filePath) {
4 | // return get('/file/download?filePath=' + filePath)
5 | // }
6 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/api/homework.js:
--------------------------------------------------------------------------------
1 | import { get, post } from '@/utils/request'
2 |
3 | export function listPage(params) {
4 | return get('/homework/listPage', params)
5 | }
6 |
7 | export function addHomework(params) {
8 | return post('/homework/createHomeWork/', params, 'json')
9 | }
10 |
11 | export function deleteHomeworkByIds(params) {
12 | return post('/homework/deleteHomework/', params)
13 | }
14 |
15 | export function updateHomework(params) {
16 | return post('/homework/updateHomework/', params, 'json')
17 | }
18 |
19 | export function getDetailById(id) {
20 | return get('/homework/getDetailById/' + id)
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/api/paper.js:
--------------------------------------------------------------------------------
1 | import { get, post } from '@/utils/request'
2 |
3 | export function listPage(params) {
4 | return get('/paper/listPage', params)
5 | }
6 | export function addQuestion(params) {
7 | return post('/paperQuestion/addQuestion', params)
8 | }
9 | export function queryPaperQuestionById(params) {
10 | return get('/paperQuestion/queryPaperQuestionById', params)
11 | }
12 | export function delPaper(params) {
13 | return get('/paperQuestion/delPaper', params)
14 | }
15 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/assets/404_images/404.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassAdminUI/src/assets/404_images/404.png
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/assets/404_images/404_cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassAdminUI/src/assets/404_images/404_cloud.png
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/assets/user/cat.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassAdminUI/src/assets/user/cat.jpeg
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/directive/permission/index.js:
--------------------------------------------------------------------------------
1 | import permission from './permission'
2 |
3 | const install = function(Vue) {
4 | Vue.directive('permission', permission)
5 | }
6 | // vue 自定义permission指令
7 | if (window.Vue) {
8 | window['permission'] = permission
9 | Vue.use(install); // eslint-disable-line
10 | }
11 |
12 | permission.install = install
13 | export default permission
14 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/directive/permission/permission.js:
--------------------------------------------------------------------------------
1 | import store from '@/store'
2 |
3 | export default {
4 | inserted(el, binding, vnode) {
5 | debugger
6 | const { value } = binding
7 | const roles = store.getters && store.getters.roles
8 |
9 | if (value && value instanceof Array && value.length > 0) {
10 | const permissionRoles = value
11 | const hasPermission = roles.some(role => {
12 | return permissionRoles.includes(role)
13 | })
14 |
15 | if (!hasPermission) {
16 | el.parentNode && el.parentNode.removeChild(el)
17 | }
18 | } else {
19 | throw new Error(`need roles! Like v-permission="['admin','editor']"`)
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/icons/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import SvgIcon from '@/components/SvgIcon'// svg component
3 |
4 | // register globally
5 | Vue.component('svg-icon', SvgIcon)
6 |
7 | const req = require.context('./svg', false, /\.svg$/)
8 | const requireAll = requireContext => requireContext.keys().map(requireContext)
9 | requireAll(req)
10 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/icons/svg/example.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/icons/svg/eye.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/icons/svg/link.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/icons/svg/nested.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/icons/svg/password.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/icons/svg/table.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/icons/svg/user.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/icons/svgo.yml:
--------------------------------------------------------------------------------
1 | # replace default config
2 |
3 | # multipass: true
4 | # full: true
5 |
6 | plugins:
7 |
8 | # - name
9 | #
10 | # or:
11 | # - name: false
12 | # - name: true
13 | #
14 | # or:
15 | # - name:
16 | # param1: 1
17 | # param2: 2
18 |
19 | - removeAttrs:
20 | attrs:
21 | - 'fill'
22 | - 'fill-rule'
23 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/layout/components/AppMain.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
19 |
20 |
32 |
33 |
41 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/layout/components/Sidebar/FixiOSBug.js:
--------------------------------------------------------------------------------
1 | export default {
2 | computed: {
3 | device() {
4 | return this.$store.state.app.device
5 | }
6 | },
7 | mounted() {
8 | // In order to fix the click on menu on the ios device will trigger the mouseleave bug
9 | // https://github.com/PanJiaChen/vue-element-admin/issues/1135
10 | this.fixBugIniOS()
11 | },
12 | methods: {
13 | fixBugIniOS() {
14 | const $subMenu = this.$refs.subMenu
15 | if ($subMenu) {
16 | const handleMouseleave = $subMenu.handleMouseleave
17 | $subMenu.handleMouseleave = (e) => {
18 | if (this.device === 'mobile') {
19 | return
20 | }
21 | handleMouseleave(e)
22 | }
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/layout/components/Sidebar/Item.vue:
--------------------------------------------------------------------------------
1 |
30 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/layout/components/Sidebar/Link.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
37 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/layout/components/index.js:
--------------------------------------------------------------------------------
1 | export { default as Navbar } from './Navbar'
2 | export { default as Sidebar } from './Sidebar'
3 | export { default as AppMain } from './AppMain'
4 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/settings.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |
3 | title: '互动课堂后台管理',
4 |
5 | /**
6 | * @type {boolean} true | false
7 | * @description Whether fix the header
8 | */
9 | fixedHeader: false,
10 |
11 | /**
12 | * @type {boolean} true | false
13 | * @description Whether show the logo in sidebar
14 | */
15 | sidebarLogo: false
16 | }
17 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/store/getters.js:
--------------------------------------------------------------------------------
1 | const getters = {
2 | sidebar: state => state.app.sidebar,
3 | device: state => state.app.device,
4 | token: state => state.user.token,
5 | avatar: state => state.user.avatar,
6 | name: state => state.user.name,
7 | roles: state => state.user.roles
8 | }
9 | export default getters
10 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 | import getters from './getters'
4 | import app from './modules/app'
5 | import settings from './modules/settings'
6 | import user from './modules/user'
7 |
8 | Vue.use(Vuex)
9 |
10 | const store = new Vuex.Store({
11 | modules: {
12 | app,
13 | settings,
14 | user
15 | },
16 | getters
17 | })
18 |
19 | export default store
20 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/store/modules/settings.js:
--------------------------------------------------------------------------------
1 | import defaultSettings from '@/settings'
2 |
3 | const { showSettings, fixedHeader, sidebarLogo } = defaultSettings
4 |
5 | const state = {
6 | showSettings: showSettings,
7 | fixedHeader: fixedHeader,
8 | sidebarLogo: sidebarLogo
9 | }
10 |
11 | const mutations = {
12 | CHANGE_SETTING: (state, { key, value }) => {
13 | if (state.hasOwnProperty(key)) {
14 | state[key] = value
15 | }
16 | }
17 | }
18 |
19 | const actions = {
20 | changeSetting({ commit }, data) {
21 | commit('CHANGE_SETTING', data)
22 | }
23 | }
24 |
25 | export default {
26 | namespaced: true,
27 | state,
28 | mutations,
29 | actions
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/styles/common.css:
--------------------------------------------------------------------------------
1 | .btn_group{
2 | float: right;
3 | margin-bottom: 4px;
4 | }
5 | .formItem{
6 | width: 200px;
7 | }
8 | .btn_opt{
9 | width: 260px;
10 | margin: 0 auto;
11 | }
12 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/styles/element-ui.scss:
--------------------------------------------------------------------------------
1 | // cover some element-ui styles
2 |
3 | .el-breadcrumb__inner,
4 | .el-breadcrumb__inner a {
5 | font-weight: 400 !important;
6 | }
7 |
8 | .el-upload {
9 | input[type="file"] {
10 | display: none !important;
11 | }
12 | }
13 |
14 | .el-upload__input {
15 | display: none;
16 | }
17 |
18 |
19 | // to fixed https://github.com/ElemeFE/element/issues/2461
20 | .el-dialog {
21 | transform: none;
22 | left: 0;
23 | position: relative;
24 | margin: 0 auto;
25 | }
26 |
27 | // refine element ui upload
28 | .upload-container {
29 | .el-upload {
30 | width: 100%;
31 |
32 | .el-upload-dragger {
33 | width: 100%;
34 | height: 200px;
35 | }
36 | }
37 | }
38 |
39 | // dropdown
40 | .el-dropdown-menu {
41 | a {
42 | display: block
43 | }
44 | }
45 |
46 | // to fix el-date-picker css style
47 | .el-range-separator {
48 | box-sizing: content-box;
49 | }
50 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/styles/mixin.scss:
--------------------------------------------------------------------------------
1 | @mixin clearfix {
2 | &:after {
3 | content: "";
4 | display: table;
5 | clear: both;
6 | }
7 | }
8 |
9 | @mixin scrollBar {
10 | &::-webkit-scrollbar-track-piece {
11 | background: #d3dce6;
12 | }
13 |
14 | &::-webkit-scrollbar {
15 | width: 6px;
16 | }
17 |
18 | &::-webkit-scrollbar-thumb {
19 | background: #99a9bf;
20 | border-radius: 20px;
21 | }
22 | }
23 |
24 | @mixin relative {
25 | position: relative;
26 | width: 100%;
27 | height: 100%;
28 | }
29 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/styles/transition.scss:
--------------------------------------------------------------------------------
1 | // global transition css
2 |
3 | /* fade */
4 | .fade-enter-active,
5 | .fade-leave-active {
6 | transition: opacity 0.28s;
7 | }
8 |
9 | .fade-enter,
10 | .fade-leave-active {
11 | opacity: 0;
12 | }
13 |
14 | /* fade-transform */
15 | .fade-transform-leave-active,
16 | .fade-transform-enter-active {
17 | transition: all .5s;
18 | }
19 |
20 | .fade-transform-enter {
21 | opacity: 0;
22 | transform: translateX(-30px);
23 | }
24 |
25 | .fade-transform-leave-to {
26 | opacity: 0;
27 | transform: translateX(30px);
28 | }
29 |
30 | /* breadcrumb transition */
31 | .breadcrumb-enter-active,
32 | .breadcrumb-leave-active {
33 | transition: all .5s;
34 | }
35 |
36 | .breadcrumb-enter,
37 | .breadcrumb-leave-active {
38 | opacity: 0;
39 | transform: translateX(20px);
40 | }
41 |
42 | .breadcrumb-move {
43 | transition: all .5s;
44 | }
45 |
46 | .breadcrumb-leave-active {
47 | position: absolute;
48 | }
49 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/styles/variables.scss:
--------------------------------------------------------------------------------
1 | // sidebar
2 | $menuText:#bfcbd9;
3 | $menuActiveText:#409EFF;
4 | $subMenuActiveText:#f4f4f5; //https://github.com/ElemeFE/element/issues/12951
5 |
6 | $menuBg:#304156;
7 | $menuHover:#263445;
8 |
9 | $subMenuBg:#1f2d3d;
10 | $subMenuHover:#001528;
11 |
12 | $sideBarWidth: 210px;
13 |
14 | // the :export directive is the magic sauce for webpack
15 | // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
16 | :export {
17 | menuText: $menuText;
18 | menuActiveText: $menuActiveText;
19 | subMenuActiveText: $subMenuActiveText;
20 | menuBg: $menuBg;
21 | menuHover: $menuHover;
22 | subMenuBg: $subMenuBg;
23 | subMenuHover: $subMenuHover;
24 | sideBarWidth: $sideBarWidth;
25 | }
26 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/utils/auth.js:
--------------------------------------------------------------------------------
1 | import Cookies from 'js-cookie'
2 |
3 | const TokenKey = 'USER-TOKEN'
4 |
5 | export function getToken() {
6 | return Cookies.get(TokenKey)
7 | }
8 |
9 | export function setToken(token) {
10 | return Cookies.set(TokenKey, token)
11 | }
12 |
13 | export function removeToken() {
14 | return Cookies.remove(TokenKey)
15 | }
16 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/utils/commonUtils.js:
--------------------------------------------------------------------------------
1 | export function strIsNotNull(str) {
2 | return !strIsNull(str)
3 | }
4 |
5 | export function strIsNull(str) {
6 | if (str === undefined || str === null || str === '') {
7 | return true
8 | }
9 | return false
10 | }
11 |
12 | export function getFileName(filePath) {
13 | let fileName = filePath
14 | if (strIsNull(filePath)) {
15 | return null
16 | }
17 | if (filePath.contain('_')) {
18 | fileName = filePath.substr(filePath.lastIndexOf('_') + 1)
19 | }
20 | return fileName
21 | }
22 |
23 | export function getDefaultPage() {
24 | return {
25 | pageSize: 20,
26 | curPage: 1
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/utils/fileRequest.js:
--------------------------------------------------------------------------------
1 | // 本地开发url
2 | const url_base = process.env.VUE_APP_BASE_API
3 | const fileUploadUrl = url_base + '/file/upload'
4 | const imgUploadUrl = url_base + '/file/uploadImg'
5 | const imgAccessUrl = url_base + '/img/'
6 | const downUrl = url_base + '/file/download?filePath='
7 | export function downFile(filePath) {
8 | window.open(downUrl + filePath, '_blank')
9 | }
10 | export default {
11 | fileUploadUrl,
12 | imgUploadUrl,
13 | imgAccessUrl
14 | }
15 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/utils/get-page-title.js:
--------------------------------------------------------------------------------
1 | import defaultSettings from '@/settings'
2 |
3 | const title = defaultSettings.title || 'Vue Admin Template'
4 |
5 | export default function getPageTitle(pageTitle) {
6 | if (pageTitle) {
7 | return `${pageTitle} - ${title}`
8 | }
9 | return `${title}`
10 | }
11 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/utils/validate.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by PanJiaChen on 16/11/18.
3 | */
4 |
5 | /**
6 | * @param {string} path
7 | * @returns {Boolean}
8 | */
9 | export function isExternal(path) {
10 | return /^(https?:|mailto:|tel:)/.test(path)
11 | }
12 |
13 | export function isNotNull(str) {
14 | return str !== undefined && str !== null && str.trim() !== ''
15 | }
16 |
17 | /**
18 | * @param {string} str
19 | * @returns {Boolean}
20 | */
21 | export function validUsername(str) {
22 | return isNotNull(str)
23 | }
24 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/src/views/index/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
当前登录用户: {{ name }}
4 |
欢迎使用。这是一个互动课堂毕设系统,前台界面展示使用微信小程序开发,后台使用vue开发PC管理系统,系统主要功能有用户管理、班级管理、课程管理、试卷管理。
5 |
6 |
7 |
8 |
20 |
21 |
36 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/tests/unit/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | jest: true
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/tests/unit/components/Hamburger.spec.js:
--------------------------------------------------------------------------------
1 | import { shallowMount } from '@vue/test-utils'
2 | import Hamburger from '@/components/Hamburger/index.vue'
3 | describe('Hamburger.vue', () => {
4 | it('toggle click', () => {
5 | const wrapper = shallowMount(Hamburger)
6 | const mockFn = jest.fn()
7 | wrapper.vm.$on('toggleClick', mockFn)
8 | wrapper.find('.hamburger').trigger('click')
9 | expect(mockFn).toBeCalled()
10 | })
11 | it('prop isActive', () => {
12 | const wrapper = shallowMount(Hamburger)
13 | wrapper.setProps({ isActive: true })
14 | expect(wrapper.contains('.is-active')).toBe(true)
15 | wrapper.setProps({ isActive: false })
16 | expect(wrapper.contains('.is-active')).toBe(false)
17 | })
18 | })
19 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/tests/unit/components/SvgIcon.spec.js:
--------------------------------------------------------------------------------
1 | import { shallowMount } from '@vue/test-utils'
2 | import SvgIcon from '@/components/SvgIcon/index.vue'
3 | describe('SvgIcon.vue', () => {
4 | it('iconClass', () => {
5 | const wrapper = shallowMount(SvgIcon, {
6 | propsData: {
7 | iconClass: 'test'
8 | }
9 | })
10 | expect(wrapper.find('use').attributes().href).toBe('#icon-test')
11 | })
12 | it('className', () => {
13 | const wrapper = shallowMount(SvgIcon, {
14 | propsData: {
15 | iconClass: 'test'
16 | }
17 | })
18 | expect(wrapper.classes().length).toBe(1)
19 | wrapper.setProps({ className: 'test' })
20 | expect(wrapper.classes().includes('test')).toBe(true)
21 | })
22 | })
23 |
--------------------------------------------------------------------------------
/interactiveClassAdminUI/tests/unit/utils/validate.spec.js:
--------------------------------------------------------------------------------
1 | import { validUsername, isExternal } from '@/utils/validate.js'
2 |
3 | describe('Utils:validate', () => {
4 | it('validUsername', () => {
5 | expect(validUsername('admin')).toBe(true)
6 | expect(validUsername('editor')).toBe(true)
7 | expect(validUsername('xxxx')).toBe(false)
8 | })
9 | it('isExternal', () => {
10 | expect(isExternal('https://github.com/PanJiaChen/vue-element-admin')).toBe(true)
11 | expect(isExternal('http://github.com/PanJiaChen/vue-element-admin')).toBe(true)
12 | expect(isExternal('github.com/PanJiaChen/vue-element-admin')).toBe(false)
13 | expect(isExternal('/dashboard')).toBe(false)
14 | expect(isExternal('./dashboard')).toBe(false)
15 | expect(isExternal('dashboard')).toBe(false)
16 | })
17 | })
18 |
--------------------------------------------------------------------------------
/interactiveClassUI/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | unpackage/
4 | dist/
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 |
15 | # Editor directories and files
16 | .project
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw*
24 |
--------------------------------------------------------------------------------
/interactiveClassUI/README.md:
--------------------------------------------------------------------------------
1 | # interactiveClassFront
2 |
3 | #### 介绍
4 | 云课堂小程序前端
5 |
6 | #### 软件架构
7 | 软件架构说明
8 |
9 |
10 | #### 安装教程
11 |
12 | 1. xxxx
13 | 2. xxxx
14 | 3. xxxx
15 |
16 | #### 使用说明
17 |
18 | 1. xxxx
19 | 2. xxxx
20 | 3. xxxx
21 |
22 | #### 参与贡献
23 |
24 | 1. Fork 本仓库
25 | 2. 新建 Feat_xxx 分支
26 | 3. 提交代码
27 | 4. 新建 Pull Request
28 |
29 |
30 | #### 码云特技
31 |
32 | 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
33 | 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
34 | 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
35 | 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
36 | 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
37 | 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
38 |
--------------------------------------------------------------------------------
/interactiveClassUI/postcss.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | module.exports = {
3 | parser: require('postcss-comment'),
4 | plugins: [
5 | require('postcss-import')({
6 | resolve (id, basedir, importOptions) {
7 | if (id.startsWith('~@/')) {
8 | return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3))
9 | } else if (id.startsWith('@/')) {
10 | return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2))
11 | } else if (id.startsWith('/') && !id.startsWith('//')) {
12 | return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1))
13 | }
14 | return id
15 | }
16 | }),
17 | require('autoprefixer')({
18 | remove: process.env.UNI_PLATFORM !== 'h5'
19 | }),
20 | require('@dcloudio/vue-cli-plugin-uni/packages/postcss')
21 | ]
22 | }
23 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
19 |
20 |
25 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/api/classUser.js:
--------------------------------------------------------------------------------
1 | import {get, post} from "@/utils/request"
2 | import {getStorage, setStorage} from '@/utils/storage'
3 |
4 | export function joinClass(data) {
5 | return post("classUser/joinClass", data)
6 | }
7 | export function showClassUsers(data) {
8 | return post("classUser/showClassUsers", data)
9 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/api/course.js:
--------------------------------------------------------------------------------
1 | import {get, post} from "@/utils/request"
2 | import {getStorage, setStorage} from '@/utils/storage'
3 |
4 | /**
5 | * 创建课程
6 | * @param data
7 | * @returns {*}
8 | */
9 | export function createCourse(data) {
10 | return post("course/createCourse", data)
11 | }
12 |
13 | /**
14 | * 我学的课程
15 | * @param data
16 | * @returns {*}
17 | */
18 | export function queryMCourse(data) {
19 | return post("course/queryCourseInfo", data)
20 | }
21 |
22 | /**
23 | * 查询老师教的课程
24 | * @param data
25 | * @returns {*}
26 | */
27 | export function queryTeachCourse(data) {
28 | return post("course/queryTeachCourse", data)
29 | }
30 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/api/courseware.js:
--------------------------------------------------------------------------------
1 | import { get, post } from '@/utils/request'
2 |
3 | export function listPage(params) {
4 | return post('/courseResource/listPage', params)
5 | }
6 |
7 | export function myCourses(params) {
8 | return post('/courseResource/myCourses', params)
9 | }
10 | export function queryCourseRes(params) {
11 | return get('/courseResource/queryCourseRes', params)
12 | }
13 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/api/msg.js:
--------------------------------------------------------------------------------
1 | import {get, post} from "@/utils/request"
2 |
3 | export function listLastN(data) {
4 | return get("msg/listLastN",data)
5 | }
6 |
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/api/notice.js:
--------------------------------------------------------------------------------
1 | import {get, post} from "@/utils/request"
2 | import {getStorage, setStorage} from '@/utils/storage'
3 |
4 | export function addNotice(data) {
5 | return post("notice/addNotice", data)
6 | }
7 | export function queryNotice(data) {
8 | return post("notice/queryNotice", data,'json')
9 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/api/paper.js:
--------------------------------------------------------------------------------
1 | import {get, post} from "@/utils/request"
2 |
3 | export function createPaper(data) {
4 | return post("paper/createPaper", data)
5 | }
6 | export function queryPaper(data) {
7 | return post("paper/queryPaper", data,'json')
8 | }
9 | export function queryPaperQuestionById(params) {
10 | return get('/paperQuestion/queryPaperQuestionById', params)
11 | }
12 | export function queryMyPaper(params) {
13 | return get('/paper/queryMyPaper', params)
14 | }
15 | export function queryAllPaper(params) {
16 | return get('/paper/queryAllPaper', params)
17 | }
18 | export function queryPaperResult(params) {
19 | return get('/paper/queryPaperResult', params)
20 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/api/sign.js:
--------------------------------------------------------------------------------
1 | import {get, post} from "@/utils/request"
2 |
3 |
4 | /**
5 | * 签到
6 | * @param data
7 | * @returns {*}
8 | */
9 | export function signIn(data) {
10 | return post("userSign/signIn", data)
11 | }
12 |
13 | /**
14 | * 签退
15 | * @param data
16 | * @returns {*}
17 | */
18 | export function signOut(data) {
19 | return post("userSign/signOut", data)
20 | }
21 |
22 | /**
23 | * 查询个人签到情况
24 | * @param data
25 | * @returns {*}
26 | */
27 | export function queryMySignInfo(data) {
28 | return post("userSign/queryMySignInfo", data)
29 | }
30 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/api/userQuestion.js:
--------------------------------------------------------------------------------
1 | import {get, post} from "@/utils/request"
2 |
3 | export function subAnswer(data) {
4 | return post("userQuestion/subAnswer", data,'json')
5 | }
6 | export function queryMyResult(data) {
7 | return post("userQuestion/queryMyResult", data)
8 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/api/userScore.js:
--------------------------------------------------------------------------------
1 | import {get, post} from "@/utils/request"
2 |
3 | export function addUserScore(data) {
4 | return post("userScore/addUserScore", data)
5 | }
6 | export function queryUserScore(data) {
7 | return post("userScore/queryUserScore", data)
8 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/directive/permission/index.js:
--------------------------------------------------------------------------------
1 | import permission from './permission'
2 |
3 | const install = function(Vue) {
4 | Vue.directive('permission', permission)
5 | }
6 | // vue 自定义permission指令
7 | // if (window.Vue) {
8 | // window['permission'] = permission
9 | // Vue.use(install); // eslint-disable-line
10 | // }
11 |
12 | permission.install = install
13 | export default permission
14 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/directive/permission/permission.js:
--------------------------------------------------------------------------------
1 | // import store from '@/store'
2 | import {takeStoreUserInfo} from "@/api/user"
3 | export default {
4 | inserted(el, binding, vnode) {
5 | debugger
6 | const { value } = binding
7 | const user = takeStoreUserInfo()
8 | const roles = user.roleCode
9 | if (value && value instanceof Array && value.length > 0) {
10 | const permissionRoles = value
11 | const hasPermission = roles.some(role => {
12 | return permissionRoles.includes(role)
13 | })
14 |
15 | if (!hasPermission) {
16 | el.parentNode && el.parentNode.removeChild(el)
17 | }
18 | } else {
19 | throw new Error(`need roles! Like v-permission="['admin','editor']"`)
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App'
3 | import request,{get,post} from "./utils/request"
4 | import {successAlert} from './utils/alert'
5 | import './style/uni-common.css'
6 | Vue.config.productionTip = false
7 | Vue.prototype.request=request;
8 | Vue.prototype.get=get;
9 | Vue.prototype.post=post;
10 | Vue.prototype.successAlert=successAlert;
11 | App.mpType = 'app'
12 |
13 | import permission from '@/directive/permission/index' // vue 自定义permission指令
14 | Vue.use(permission)
15 | const app = new Vue({
16 | ...App
17 | })
18 | app.$mount()
19 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/pages/aboutme/index.vue:
--------------------------------------------------------------------------------
1 |
2 | 关于我
3 |
4 |
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/aboutme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/aboutme.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/aboutme_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/aboutme_active.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/add.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/classroom-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/classroom-active.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/classroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/classroom.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/code.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/cygl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/cygl.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/error.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/gg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/gg.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/home.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/home_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/home_active.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/kj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/kj.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/me-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/me-active.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/me.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/me.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/paper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/paper.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/sz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/sz.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/tlq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/tlq.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/icon/测试.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/icon/测试.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/images/swaper1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/images/swaper1.jpg
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/images/swaper2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/images/swaper2.jpg
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/images/swaper3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/images/swaper3.jpg
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/images/user/cat.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/images/user/cat.jpeg
--------------------------------------------------------------------------------
/interactiveClassUI/src/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/static/logo.png
--------------------------------------------------------------------------------
/interactiveClassUI/src/utils/alert.js:
--------------------------------------------------------------------------------
1 | export function errorAlert(msg){
2 | uni.showToast({
3 | title: msg,
4 | image: '/static/icon/error.png',
5 | duration: 5000
6 | });
7 | }
8 |
9 | export function successAlert(msg){
10 | uni.showToast({
11 | title: msg,
12 | duration: 4000
13 | });
14 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/utils/config.js:
--------------------------------------------------------------------------------
1 | // 本地开发url
2 | // const local_url = "http://192.168.0.104:8080/"
3 | const local_url = "http://localhost:8080/"
4 | //真机测试url(内网IP或者外网ip)
5 | const test_url = "http://192.168.0.104:8080/"
6 | const env = 'local'
7 |
8 | let url_base = local_url
9 | if (env != 'local') {
10 | url_base = test_url
11 | }
12 | let websocketUrl=url_base.replace("http","ws")+'imServer/'
13 | export const fileUploadUrl = url_base + "/file/upload"
14 | export const imgUploadUrl = url_base + "/file/uploadImg"
15 | export const imgAccessUrl = url_base + "/img/"
16 | export default {
17 | url_base: url_base,
18 | websocketUrl: websocketUrl
19 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/utils/storage.js:
--------------------------------------------------------------------------------
1 | export function setStorage(key,data) {
2 | uni.setStorageSync(key,data);
3 | }
4 |
5 | export function getStorage(key) {
6 | return uni.getStorageSync(key)
7 | }
8 |
9 | export function clearStorageSync() {
10 | uni.clearStorageSync()
11 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/utils/tokenUtil.js:
--------------------------------------------------------------------------------
1 | import {getStorage, setStorage} from './storage.js'
2 |
3 | const token_key = "USER-TOKEN"
4 |
5 | export function getToken() {
6 | return getStorage(token_key)
7 | }
8 |
9 | export function setToken(token) {
10 | return setStorage(token_key, token)
11 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/utils/userStorage.js:
--------------------------------------------------------------------------------
1 | import {getStorage, setStorage} from '@/utils/storage'
2 |
3 | const userStoreKey = "user"
4 |
5 | export function saveUserStore(userInfo) {
6 | setStorage(userStoreKey, userInfo)
7 | }
8 |
9 | export function getStoreUser() {
10 | return getStorage(userStoreKey)
11 | }
12 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/action-sheet/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/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 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/area/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/area/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-picker": "../picker/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/area/index.wxml:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/area/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/badge-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/badge-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/badge-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/badge-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-badge-group{width:85px}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/badge/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/badge/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | type: 'ancestor',
5 | name: 'badge-group',
6 | linked(target) {
7 | this.parent = target;
8 | }
9 | },
10 | props: {
11 | info: null,
12 | title: String
13 | },
14 | methods: {
15 | onClick() {
16 | const { parent } = this;
17 | if (!parent) {
18 | return;
19 | }
20 | const index = parent.badges.indexOf(this);
21 | parent.setActive(index).then(() => {
22 | this.$emit('click', index);
23 | parent.$emit('change', index);
24 | });
25 | },
26 | setActive(active) {
27 | return this.set({ active });
28 | }
29 | }
30 | });
31 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/badge/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/badge/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
15 | {{ title }}
16 |
17 |
18 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/badge/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-badge{display:block;padding:20px 12px 20px 9px;overflow:hidden;font-size:14px;line-height:1.4;color:#7d7e80;word-break:break-all;background-color:#f8f8f8;border-left:3px solid transparent;box-sizing:border-box;-webkit-user-select:none;user-select:none}.van-badge--hover{background-color:#f2f3f5}.van-badge:after{border-bottom-width:1px}.van-badge--active{font-weight:700;color:#333;border-color:#f44}.van-badge--active:after{border-right-width:1px}.van-badge--active,.van-badge--active.van-badge--hover{background-color:#fff}.van-badge__text{position:relative}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/button/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/button/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/components/header/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/components/header/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../../../common/component';
2 | VantComponent({
3 | props: {
4 | title: {
5 | type: String,
6 | value: '日期选择'
7 | },
8 | subtitle: String,
9 | showTitle: Boolean,
10 | showSubtitle: Boolean
11 | },
12 | data: {
13 | weekdays: ['日', '一', '二', '三', '四', '五', '六']
14 | },
15 | methods: {}
16 | });
17 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/components/header/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/components/header/index.wxml:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/components/header/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../../../common/index.wxss';.van-calendar__header{-webkit-flex-shrink:0;flex-shrink:0;box-shadow:0 2px 10px rgba(125,126,128,.16);box-shadow:var(--calendar-header-box-shadow,0 2px 10px rgba(125,126,128,.16))}.van-calendar__header-subtitle,.van-calendar__header-title{text-align:center;height:44px;height:var(--calendar-header-title-height,44px);font-weight:500;font-weight:var(--font-weight-bold,500);line-height:44px;line-height:var(--calendar-header-title-height,44px)}.van-calendar__header-title+.van-calendar__header-title,.van-calendar__header-title:empty{display:none}.van-calendar__header-title:empty+.van-calendar__header-title{display:block!important}.van-calendar__weekdays{display:-webkit-flex;display:flex}.van-calendar__weekday{-webkit-flex:1;flex:1;text-align:center;font-size:12px;font-size:var(--calendar-weekdays-font-size,12px);line-height:30px;line-height:var(--calendar-weekdays-height,30px)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/components/month/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/components/month/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "header": "./components/header/index",
5 | "month": "./components/month/index",
6 | "van-button": "../button/index",
7 | "van-popup": "../popup/index"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var utils = require('./utils.wxs');
3 |
4 | function getMonths(minDate, maxDate) {
5 | var months = [];
6 | var cursor = getDate(minDate);
7 |
8 | cursor.setDate(1);
9 |
10 | do {
11 | months.push(cursor.getTime());
12 | cursor.setMonth(cursor.getMonth() + 1);
13 | } while (utils.compareMonth(cursor, getDate(maxDate)) !== 1);
14 |
15 | return months;
16 | }
17 |
18 | function getButtonDisabled(type, currentDate) {
19 | if (currentDate == null) {
20 | return true;
21 | }
22 |
23 | if (type === 'range') {
24 | return !currentDate[0] || !currentDate[1];
25 | }
26 |
27 | if (type === 'multiple') {
28 | return !currentDate.length;
29 | }
30 |
31 | return !currentDate;
32 | }
33 |
34 | module.exports = {
35 | getMonths: getMonths,
36 | getButtonDisabled: getButtonDisabled
37 | };
38 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/utils.d.ts:
--------------------------------------------------------------------------------
1 | export declare const ROW_HEIGHT = 64;
2 | export declare function formatMonthTitle(date: Date): string;
3 | export declare function compareMonth(date1: Date | number, date2: Date | number): 1 | 0 | -1;
4 | export declare function compareDay(day1: Date | number, day2: Date | number): 1 | 0 | -1;
5 | export declare function getPrevDay(date: Date): Date;
6 | export declare function getNextDay(date: Date): Date;
7 | export declare function calcDateNum(date: [Date, Date]): number;
8 | export declare function copyDates(dates: Date | Date[]): Date | Date[];
9 | export declare function getMonthEndDay(year: number, month: number): number;
10 | export declare function getMonths(minDate: number, maxDate: number): any[];
11 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/calendar/utils.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | function getMonthEndDay(year, month) {
3 | return 32 - getDate(year, month - 1, 32).getDate();
4 | }
5 |
6 | function compareMonth(date1, date2) {
7 | date1 = getDate(date1);
8 | date2 = getDate(date2);
9 |
10 | var year1 = date1.getFullYear();
11 | var year2 = date2.getFullYear();
12 | var month1 = date1.getMonth();
13 | var month2 = date2.getMonth();
14 |
15 | if (year1 === year2) {
16 | return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
17 | }
18 |
19 | return year1 > year2 ? 1 : -1;
20 | }
21 |
22 | module.exports = {
23 | getMonthEndDay: getMonthEndDay,
24 | compareMonth: compareMonth
25 | };
26 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/card/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/card/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-tag": "../tag/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/cell-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/cell-group/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | title: String,
5 | border: {
6 | type: Boolean,
7 | value: true
8 | }
9 | }
10 | });
11 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/cell-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/cell-group/index.wxml:
--------------------------------------------------------------------------------
1 |
5 | {{ title }}
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/cell-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-cell-group__title{padding:16px 16px 8px;padding:var(--cell-group-title-padding,16px 16px 8px);font-size:14px;font-size:var(--cell-group-title-font-size,14px);line-height:16px;line-height:var(--cell-group-title-line-height,16px);color:#969799;color:var(--cell-group-title-color,#969799)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/checkbox-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/checkbox-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/checkbox-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/checkbox-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/checkbox/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/checkbox/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/checkbox/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/checkbox/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var utils = require('../wxs/utils.wxs');
3 |
4 | function iconStyle(checkedColor, value, disabled, parentDisabled, iconSize) {
5 | var styles = [['font-size', utils.addUnit(iconSize)]];
6 | if (checkedColor && value && !disabled && !parentDisabled) {
7 | styles.push(['border-color', checkedColor]);
8 | styles.push(['background-color', checkedColor]);
9 | }
10 |
11 | return styles
12 | .map(function(item) {
13 | return item.join(':');
14 | })
15 | .join(';');
16 | }
17 |
18 | module.exports = {
19 | iconStyle: iconStyle
20 | };
21 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/circle/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/circle/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/circle/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{ text }}
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/circle/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-circle{position:relative;display:inline-block;text-align:center}.van-circle__text{position:absolute;top:50%;left:0;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#323233;color:var(--circle-text-color,#323233)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/col/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/col/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'row',
5 | type: 'ancestor',
6 | current: 'col',
7 | },
8 | props: {
9 | span: Number,
10 | offset: Number
11 | },
12 | data: {
13 | viewStyle: ''
14 | },
15 | methods: {
16 | setGutter(gutter) {
17 | const padding = `${gutter / 2}px`;
18 | const viewStyle = gutter ? `padding-left: ${padding}; padding-right: ${padding};` : '';
19 | if (viewStyle !== this.data.viewStyle) {
20 | this.setData({ viewStyle });
21 | }
22 | }
23 | }
24 | });
25 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/col/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/col/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/collapse-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/collapse-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/collapse/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/collapse/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/collapse/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/collapse/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/color.d.ts:
--------------------------------------------------------------------------------
1 | export declare const RED = "#ee0a24";
2 | export declare const BLUE = "#1989fa";
3 | export declare const WHITE = "#fff";
4 | export declare const GREEN = "#07c160";
5 | export declare const ORANGE = "#ff976a";
6 | export declare const GRAY = "#323233";
7 | export declare const GRAY_DARK = "#969799";
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/color.js:
--------------------------------------------------------------------------------
1 | export const RED = '#ee0a24';
2 | export const BLUE = '#1989fa';
3 | export const WHITE = '#fff';
4 | export const GREEN = '#07c160';
5 | export const ORANGE = '#ff976a';
6 | export const GRAY = '#323233';
7 | export const GRAY_DARK = '#969799';
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/component.d.ts:
--------------------------------------------------------------------------------
1 | import { VantComponentOptions, CombinedComponentInstance } from '../definitions/index';
2 | declare function VantComponent(vantOptions?: VantComponentOptions>): void;
3 | export { VantComponent };
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/style/clearfix.wxss:
--------------------------------------------------------------------------------
1 | .van-clearfix:after{display:table;clear:both;content:""}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/style/ellipsis.wxss:
--------------------------------------------------------------------------------
1 | .van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/style/hairline.wxss:
--------------------------------------------------------------------------------
1 | .van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid #eee;-webkit-transform:scale(.5);transform:scale(.5)}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/style/mixins/clearfix.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/wxcomponents/vant/common/style/mixins/clearfix.wxss
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/style/mixins/ellipsis.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/wxcomponents/vant/common/style/mixins/ellipsis.wxss
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/style/mixins/hairline.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/wxcomponents/vant/common/style/mixins/hairline.wxss
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/style/theme.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/wxcomponents/vant/common/style/theme.wxss
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/style/var.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/wxcomponents/vant/common/style/var.wxss
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/common/utils.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | export declare function isDef(value: any): boolean;
3 | export declare function isObj(x: any): boolean;
4 | export declare function isNumber(value: any): boolean;
5 | export declare function range(num: number, min: number, max: number): number;
6 | export declare function nextTick(fn: Function): void;
7 | export declare function getSystemInfoSync(): WechatMiniprogram.GetSystemInfoSuccessCallbackResult;
8 | export declare function addUnit(value?: string | number): string | undefined;
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/count-down/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/count-down/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/count-down/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ formattedTime }}
4 |
5 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/count-down/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-count-down{color:#323233;color:var(--count-down-text-color,#323233);font-size:14px;font-size:var(--count-down-font-size,14px);line-height:20px;line-height:var(--count-down-line-height,20px)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/count-down/utils.d.ts:
--------------------------------------------------------------------------------
1 | export declare type TimeData = {
2 | days: number;
3 | hours: number;
4 | minutes: number;
5 | seconds: number;
6 | milliseconds: number;
7 | };
8 | export declare function parseTimeData(time: number): TimeData;
9 | export declare function parseFormat(format: string, timeData: TimeData): string;
10 | export declare function isSameSecond(time1: number, time2: number): boolean;
11 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/datetime-picker/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/datetime-picker/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-picker": "../picker/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/datetime-picker/index.wxml:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/datetime-picker/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/definitions/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/wxcomponents/vant/definitions/index.js
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/definitions/weapp.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/interactiveClassUI/src/wxcomponents/vant/definitions/weapp.js
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/dialog/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/dialog/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-popup": "../popup/index",
5 | "van-button": "../button/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/divider/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/divider/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | dashed: {
5 | type: Boolean,
6 | value: false
7 | },
8 | hairline: {
9 | type: Boolean,
10 | value: false
11 | },
12 | contentPosition: {
13 | type: String,
14 | value: ''
15 | },
16 | fontSize: {
17 | type: Number,
18 | value: ''
19 | },
20 | borderColor: {
21 | type: String,
22 | value: ''
23 | },
24 | textColor: {
25 | type: String,
26 | value: ''
27 | },
28 | customStyle: {
29 | type: String,
30 | value: ''
31 | }
32 | }
33 | });
34 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/divider/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/divider/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/dropdown-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/dropdown-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-popup": "../popup/index",
5 | "van-cell": "../cell/index",
6 | "van-icon": "../icon/index"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/dropdown-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-dropdown-item{position:fixed;right:0;left:0;overflow:hidden}.van-dropdown-item__option{text-align:left}.van-dropdown-item__option--active .van-dropdown-item__icon,.van-dropdown-item__option--active .van-dropdown-item__title{color:#1989fa;color:var(--dropdown-menu-option-active-color,#1989fa)}.van-dropdown-item--up{top:0}.van-dropdown-item--down{bottom:0}.van-dropdown-item__icon{display:block;line-height:inherit}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/dropdown-menu/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/dropdown-menu/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/dropdown-menu/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
24 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/dropdown-menu/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | function displayTitle(item) {
3 | if (item.title) {
4 | return item.title;
5 | }
6 |
7 | var match = item.options.filter(function(option) {
8 | return option.value === item.value;
9 | });
10 | var displayTitle = match.length ? match[0].text : '';
11 | return displayTitle;
12 | }
13 |
14 | module.exports = {
15 | displayTitle: displayTitle
16 | };
17 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/field/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/field/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index",
5 | "van-icon": "../icon/index"
6 | }
7 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/field/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var utils = require('../wxs/utils.wxs');
3 |
4 | function inputStyle(autosize) {
5 | if (autosize.constructor === 'Object') {
6 | var style = '';
7 | if (autosize.minHeight) {
8 | style += 'min-height:' + utils.addUnit(autosize.minHeight);
9 | }
10 | if (autosize.maxHeight) {
11 | style += 'min-height:' + utils.addUnit(autosize.maxHeight);
12 | }
13 | return style;
14 | }
15 |
16 | return '';
17 | }
18 |
19 | module.exports = {
20 | inputStyle: inputStyle
21 | };
22 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action-button/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action-button/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-button": "../button/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action-icon/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/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 | classes: ['icon-class', 'text-class'],
7 | mixins: [link, button, openType],
8 | props: {
9 | text: String,
10 | dot: Boolean,
11 | info: String,
12 | icon: String,
13 | disabled: Boolean,
14 | loading: Boolean
15 | },
16 | methods: {
17 | onClick(event) {
18 | this.$emit('click', event.detail);
19 | this.jumpLink();
20 | }
21 | }
22 | });
23 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action-icon/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-button": "../button/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action-icon/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-goods-action-icon{border:none!important;width:50px!important;width:var(--goods-action-icon-height,50px)!important}.van-goods-action-icon__content{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;height:100%;line-height:1;font-size:10px;font-size:var(--goods-action-icon-font-size,10px);color:#646566;color:var(--goods-action-icon-text-color,#646566)}.van-goods-action-icon__icon{margin-bottom:4px}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | type: 'descendant',
5 | name: 'goods-action-button',
6 | current: 'goods-action',
7 | },
8 | props: {
9 | safeAreaInsetBottom: {
10 | type: Boolean,
11 | value: true
12 | }
13 | }
14 | });
15 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/goods-action/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-goods-action{position:fixed;right:0;bottom:0;left:0;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;background-color:#fff;background-color:var(--goods-action-background-color,#fff)}.van-goods-action--safe{padding-bottom:env(safe-area-inset-bottom)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/grid-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/grid-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/grid-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | {{ text }}
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/grid/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/grid/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/grid/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/grid/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-grid{position:relative;box-sizing:border-box;overflow:hidden}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/icon/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/icon/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | dot: Boolean,
5 | info: null,
6 | size: null,
7 | color: String,
8 | customStyle: String,
9 | classPrefix: {
10 | type: String,
11 | value: 'van-icon'
12 | },
13 | name: {
14 | type: String,
15 | observer(val) {
16 | this.setData({
17 | isImageName: val.indexOf('/') !== -1
18 | });
19 | }
20 | }
21 | },
22 | methods: {
23 | onClick() {
24 | this.$emit('click');
25 | }
26 | }
27 | });
28 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/icon/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/icon/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
14 |
20 |
21 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/image/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/image/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/image/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-image{position:relative;display:inline-block}.van-image--round{overflow:hidden;border-radius:50%}.van-image--round .van-image__img{border-radius:inherit}.van-image__error,.van-image__img,.van-image__loading{display:block;width:100%;height:100%}.van-image__error,.van-image__loading{position:absolute;top:0;left:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;color:#969799;color:var(--image-placeholder-text-color,#969799);font-size:14px;font-size:var(--image-placeholder-font-size,14px);background-color:#f7f8fa;background-color:var(--image-placeholder-background-color,#f7f8fa)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/index-anchor/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/index-anchor/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'index-bar',
5 | type: 'ancestor',
6 | current: 'index-anchor',
7 | },
8 | props: {
9 | useSlot: Boolean,
10 | index: null
11 | },
12 | data: {
13 | active: false,
14 | wrapperStyle: '',
15 | anchorStyle: ''
16 | }
17 | });
18 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/index-anchor/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/index-anchor/index.wxml:
--------------------------------------------------------------------------------
1 |
5 |
9 |
10 |
11 | {{ index }}
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/index-anchor/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-index-anchor{padding:0 16px;padding:var(--index-anchor-padding,0 16px);color:#323233;color:var(--index-anchor-text-color,#323233);font-weight:500;font-weight:var(--index-anchor-font-weight,500);font-size:14px;font-size:var(--index-anchor-font-size,14px);line-height:32px;line-height:var(--index-anchor-line-height,32px);background-color:initial;background-color:var(--index-anchor-background-color,transparent)}.van-index-anchor--active{right:0;left:0;color:#07c160;color:var(--index-anchor-active-text-color,#07c160);background-color:#fff;background-color:var(--index-anchor-active-background-color,#fff)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/index-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/index-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/index-bar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
22 |
23 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/index-bar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-index-bar{position:relative}.van-index-bar__sidebar{position:fixed;top:50%;right:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;user-select:none}.van-index-bar__index{font-weight:500;padding:0 4px 0 16px;padding:0 var(--padding-base,4px) 0 var(--padding-md,16px);font-size:10px;font-size:var(--index-bar-index-font-size,10px);line-height:14px;line-height:var(--index-bar-index-line-height,14px)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/info/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/info/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | dot: Boolean,
5 | info: null,
6 | customStyle: String
7 | }
8 | });
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/info/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/info/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ dot ? '' : info }}
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/loading/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/loading/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | color: String,
5 | vertical: Boolean,
6 | type: {
7 | type: String,
8 | value: 'circular'
9 | },
10 | size: String,
11 | textSize: String
12 | },
13 | data: {
14 | array12: Array.from({ length: 12 }),
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/loading/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/loading/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/basic.d.ts:
--------------------------------------------------------------------------------
1 | export declare const basic: string;
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/button.d.ts:
--------------------------------------------------------------------------------
1 | export declare const button: string;
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/button.js:
--------------------------------------------------------------------------------
1 | export const button = Behavior({
2 | externalClasses: ['hover-class'],
3 | properties: {
4 | id: String,
5 | lang: String,
6 | businessId: Number,
7 | sessionFrom: String,
8 | sendMessageTitle: String,
9 | sendMessagePath: String,
10 | sendMessageImg: String,
11 | showMessageCard: Boolean,
12 | appParameter: String,
13 | ariaLabel: String
14 | }
15 | });
16 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/link.d.ts:
--------------------------------------------------------------------------------
1 | export declare const link: string;
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/link.js:
--------------------------------------------------------------------------------
1 | export const link = Behavior({
2 | properties: {
3 | url: String,
4 | linkType: {
5 | type: String,
6 | value: 'navigateTo'
7 | }
8 | },
9 | methods: {
10 | jumpLink(urlKey = 'url') {
11 | const url = this.data[urlKey];
12 | if (url) {
13 | wx[this.data.linkType]({ url });
14 | }
15 | }
16 | }
17 | });
18 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/observer/behavior.d.ts:
--------------------------------------------------------------------------------
1 | export declare const behavior: string;
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/observer/index.d.ts:
--------------------------------------------------------------------------------
1 | export declare function observe(vantOptions: any, options: any): void;
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/observer/props.d.ts:
--------------------------------------------------------------------------------
1 | export declare function observeProps(props: any): void;
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/observer/props.js:
--------------------------------------------------------------------------------
1 | export function observeProps(props) {
2 | if (!props) {
3 | return;
4 | }
5 | Object.keys(props).forEach(key => {
6 | let prop = props[key];
7 | if (prop === null || !('type' in prop)) {
8 | prop = { type: prop };
9 | }
10 | let { observer } = prop;
11 | prop.observer = function (...args) {
12 | if (observer) {
13 | if (typeof observer === 'string') {
14 | observer = this[observer];
15 | }
16 | observer.apply(this, args);
17 | }
18 | this.set();
19 | };
20 | props[key] = prop;
21 | });
22 | }
23 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/open-type.d.ts:
--------------------------------------------------------------------------------
1 | export declare const openType: string;
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/open-type.js:
--------------------------------------------------------------------------------
1 | export const openType = Behavior({
2 | properties: {
3 | openType: String
4 | },
5 | methods: {
6 | bindGetUserInfo(event) {
7 | this.$emit('getuserinfo', event.detail);
8 | },
9 | bindContact(event) {
10 | this.$emit('contact', event.detail);
11 | },
12 | bindGetPhoneNumber(event) {
13 | this.$emit('getphonenumber', event.detail);
14 | },
15 | bindError(event) {
16 | this.$emit('error', event.detail);
17 | },
18 | bindLaunchApp(event) {
19 | this.$emit('launchapp', event.detail);
20 | },
21 | bindOpenSetting(event) {
22 | this.$emit('opensetting', event.detail);
23 | },
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/page-scroll.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | declare type IPageScrollOption = WechatMiniprogram.Page.IPageScrollOption;
3 | declare type Scroller = (event: IPageScrollOption) => void;
4 | export declare const pageScrollMixin: (scroller: Scroller) => string;
5 | export {};
6 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/safe-area.d.ts:
--------------------------------------------------------------------------------
1 | export declare const safeArea: ({ safeAreaInsetBottom, safeAreaInsetTop }?: {
2 | safeAreaInsetBottom?: boolean;
3 | safeAreaInsetTop?: boolean;
4 | }) => string;
5 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/touch.d.ts:
--------------------------------------------------------------------------------
1 | export declare const touch: string;
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/mixins/transition.d.ts:
--------------------------------------------------------------------------------
1 | export declare const transition: (showDefaultValue: boolean) => any;
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/nav-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/nav-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/notice-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/notice-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/notify/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/notify/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-transition": "../transition/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/notify/index.wxml:
--------------------------------------------------------------------------------
1 |
8 |
12 |
16 | {{ message }}
17 |
18 |
19 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/notify/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-notify{text-align:center;word-wrap:break-word;padding:6px 15px;padding:var(--notify-padding,6px 15px);font-size:14px;font-size:var(--notify-font-size,14px);line-height:20px;line-height:var(--notify-line-height,20px)}.van-notify__container{position:fixed;top:0;box-sizing:border-box;width:100%}.van-notify--primary{background-color:#1989fa;background-color:var(--notify-primary-background-color,#1989fa)}.van-notify--success{background-color:#07c160;background-color:var(--notify-success-background-color,#07c160)}.van-notify--danger{background-color:#ee0a24;background-color:var(--notify-danger-background-color,#ee0a24)}.van-notify--warning{background-color:#ff976a;background-color:var(--notify-warning-background-color,#ff976a)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/notify/notify.d.ts:
--------------------------------------------------------------------------------
1 | interface NotifyOptions {
2 | type?: 'primary' | 'success' | 'danger' | 'warning';
3 | color?: string;
4 | zIndex?: number;
5 | message: string;
6 | context?: any;
7 | duration?: number;
8 | selector?: string;
9 | background?: string;
10 | safeAreaInsetTop?: boolean;
11 | onClick?: () => void;
12 | onOpened?: () => void;
13 | onClose?: () => void;
14 | }
15 | declare function Notify(options: NotifyOptions | string): any;
16 | declare namespace Notify {
17 | var clear: (options?: NotifyOptions) => void;
18 | }
19 | export default Notify;
20 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/overlay/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/overlay/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | show: Boolean,
5 | customStyle: String,
6 | duration: {
7 | type: null,
8 | value: 300
9 | },
10 | zIndex: {
11 | type: Number,
12 | value: 1
13 | }
14 | },
15 | methods: {
16 | onClick() {
17 | this.$emit('click');
18 | },
19 | // for prevent touchmove
20 | noop() { }
21 | }
22 | });
23 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/overlay/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-transition": "../transition/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/overlay/index.wxml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/overlay/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);background-color:var(--overlay-background-color,rgba(0,0,0,.7))}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/panel/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/panel/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | classes: ['header-class', 'footer-class'],
4 | props: {
5 | desc: String,
6 | title: String,
7 | status: String,
8 | useFooterSlot: Boolean
9 | }
10 | });
11 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/panel/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/panel/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/panel/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-panel{background:#fff;background:var(--panel-background-color,#fff)}.van-panel__header-value{color:#ee0a24;color:var(--panel-header-value-color,#ee0a24)}.van-panel__footer{padding:8px 16px;padding:var(--panel-footer-padding,8px 16px)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/picker-column/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/picker-column/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/picker-column/index.wxs:
--------------------------------------------------------------------------------
1 | function isObj(x) {
2 | var type = typeof x;
3 | return x !== null && (type === 'object' || type === 'function');
4 | }
5 |
6 | module.exports = function (option, valueKey) {
7 | return isObj(option) && option[valueKey] != null ? option[valueKey] : option;
8 | }
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/picker-column/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-picker-column{overflow:hidden;text-align:center;color:#000;color:var(--picker-option-text-color,#000);font-size:16px;font-size:var(--picker-option-font-size,16px)}.van-picker-column__item{padding:0 5px}.van-picker-column__item--selected{font-weight:500;font-weight:var(--font-weight-bold,500);color:#323233;color:var(--picker-option-selected-text-color,#323233)}.van-picker-column__item--disabled{opacity:.3;opacity:var(--picker-option-disabled-opacity,.3)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/picker/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/picker/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "picker-column": "../picker-column/index",
5 | "loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/picker/shared.d.ts:
--------------------------------------------------------------------------------
1 | export declare const pickerProps: {
2 | title: StringConstructor;
3 | loading: BooleanConstructor;
4 | showToolbar: BooleanConstructor;
5 | cancelButtonText: {
6 | type: StringConstructor;
7 | value: string;
8 | };
9 | confirmButtonText: {
10 | type: StringConstructor;
11 | value: string;
12 | };
13 | visibleItemCount: {
14 | type: NumberConstructor;
15 | value: number;
16 | };
17 | itemHeight: {
18 | type: NumberConstructor;
19 | value: number;
20 | };
21 | };
22 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/picker/shared.js:
--------------------------------------------------------------------------------
1 | export const pickerProps = {
2 | title: String,
3 | loading: Boolean,
4 | showToolbar: Boolean,
5 | cancelButtonText: {
6 | type: String,
7 | value: '取消'
8 | },
9 | confirmButtonText: {
10 | type: String,
11 | value: '确认'
12 | },
13 | visibleItemCount: {
14 | type: Number,
15 | value: 5
16 | },
17 | itemHeight: {
18 | type: Number,
19 | value: 44
20 | }
21 | };
22 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/picker/toolbar.wxml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
13 | {{ cancelButtonText }}
14 |
15 | {{
16 | title
17 | }}
18 |
25 | {{ confirmButtonText }}
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/popup/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/popup/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-overlay": "../overlay/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/progress/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/progress/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { BLUE } from '../common/color';
3 | VantComponent({
4 | props: {
5 | inactive: Boolean,
6 | percentage: Number,
7 | pivotText: String,
8 | pivotColor: String,
9 | trackColor: String,
10 | showPivot: {
11 | type: Boolean,
12 | value: true
13 | },
14 | color: {
15 | type: String,
16 | value: BLUE
17 | },
18 | textColor: {
19 | type: String,
20 | value: '#fff'
21 | },
22 | strokeWidth: {
23 | type: null,
24 | value: 4
25 | }
26 | }
27 | });
28 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/progress/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/progress/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
12 |
17 | {{ getters.text(pivotText, percentage) }}
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/progress/index.wxs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | text: function(pivotText, percentage) {
3 | return pivotText || percentage + '%';
4 | }
5 | };
6 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/progress/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-progress{position:relative;height:4px;height:var(--progress-height,4px);border-radius:4px;border-radius:var(--progress-height,4px);background:#ebedf0;background:var(--progress-background-color,#ebedf0)}.van-progress__portion{position:absolute;left:0;height:100%;border-radius:inherit;background:#1989fa;background:var(--progress-color,#1989fa)}.van-progress__pivot{position:absolute;top:50%;right:0;box-sizing:border-box;min-width:2em;text-align:center;word-break:keep-all;border-radius:1em;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#fff;color:var(--progress-pivot-text-color,#fff);padding:0 5px;padding:var(--progress-pivot-padding,0 5px);font-size:10px;font-size:var(--progress-pivot-font-size,10px);line-height:1.6;line-height:var(--progress-pivot-line-height,1.6);background-color:#1989fa;background-color:var(--progress-pivot-background-color,#1989fa)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/radio-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/radio-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/radio-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/radio-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/radio/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/radio/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/rate/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/rate/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/rate/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-rate{display:-webkit-inline-flex;display:inline-flex;-webkit-user-select:none;user-select:none}.van-rate__item{position:relative;padding:0 2px;padding:0 var(--rate-horizontal-padding,2px)}.van-rate__icon{display:block;height:1em;font-size:20px;font-size:var(--rate-icon-size,20px)}.van-rate__icon--half{position:absolute;top:0;width:.5em;overflow:hidden;left:2px;left:var(--rate-horizontal-padding,2px)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/row/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/row/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/row/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/row/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-row:after{display:table;clear:both;content:""}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/search/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/search/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-field": "../field/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sidebar-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sidebar-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sidebar-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
20 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sidebar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sidebar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sidebar/index.wxml:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sidebar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-sidebar{width:85px;width:var(--sidebar-width,85px)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/skeleton/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/skeleton/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/slider/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/slider/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/slider/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
12 |
19 |
23 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/slider/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-slider{position:relative;border-radius:999px;border-radius:var(--border-radius-max,999px);background-color:#ebedf0;background-color:var(--slider-inactive-background-color,#ebedf0)}.van-slider:before{position:absolute;right:0;left:0;content:"";top:-8px;top:-var(--padding-xs,8px);bottom:-8px;bottom:-var(--padding-xs,8px)}.van-slider__bar{position:relative;border-radius:inherit;transition:width .2s;transition:width var(--animation-duration-fast,.2s);background-color:#1989fa;background-color:var(--slider-active-background-color,#1989fa)}.van-slider__button{width:24px;height:24px;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.5);background-color:#fff;background-color:var(--slider-button-background-color,#fff)}.van-slider__button-wrapper{position:absolute;top:50%;right:0;-webkit-transform:translate3d(50%,-50%,0);transform:translate3d(50%,-50%,0)}.van-slider--disabled{opacity:.5}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/stepper/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/stepper/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/steps/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/steps/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { GREEN, GRAY_DARK } from '../common/color';
3 | VantComponent({
4 | classes: ['desc-class'],
5 | props: {
6 | icon: String,
7 | steps: Array,
8 | active: Number,
9 | direction: {
10 | type: String,
11 | value: 'horizontal'
12 | },
13 | activeColor: {
14 | type: String,
15 | value: GREEN
16 | },
17 | inactiveColor: {
18 | type: String,
19 | value: GRAY_DARK
20 | },
21 | activeIcon: {
22 | type: String,
23 | value: 'checked'
24 | },
25 | inactiveIcon: String
26 | },
27 | methods: {
28 | onClick(event) {
29 | const { index } = event.currentTarget.dataset;
30 | this.$emit('click-step', index);
31 | }
32 | },
33 | });
34 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/steps/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sticky/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sticky/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sticky/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sticky/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | function wrapStyle(data) {
3 | var style = '';
4 |
5 | if (data.transform) {
6 | style += 'transform: translate3d(0, ' + data.transform + 'px, 0);';
7 | }
8 |
9 | if (data.fixed) {
10 | style += 'top: ' + data.offsetTop + 'px;';
11 | }
12 |
13 | if (data.zIndex) {
14 | style += 'z-index: ' + data.zIndex + ';';
15 | }
16 |
17 | return style;
18 | }
19 |
20 | function containerStyle(data) {
21 | var style = '';
22 |
23 | if (data.fixed) {
24 | style += 'height: ' + data.height + 'px;';
25 | }
26 |
27 | if (data.zIndex) {
28 | style += 'z-index: ' + data.zIndex + ';';
29 | }
30 |
31 | return style;
32 | }
33 |
34 | module.exports = {
35 | wrapStyle: wrapStyle,
36 | containerStyle: containerStyle
37 | };
38 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/sticky/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-sticky{position:relative}.van-sticky-wrap--fixed{position:fixed;right:0;left:0}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/submit-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/submit-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-button": "../button/index",
5 | "van-icon": "../icon/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/swipe-cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/swipe-cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/swipe-cell/index.wxml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/swipe-cell/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-swipe-cell{position:relative;overflow:hidden}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/switch-cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/switch-cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index",
5 | "van-switch": "../switch/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/switch-cell/index.wxml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
25 |
26 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/switch-cell/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-switch-cell{padding-top:9px;padding-bottom:9px}.van-switch-cell__switch{vertical-align:middle}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/switch/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/switch/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-loading": "../loading/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/switch/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tab/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tab/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tab/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tab/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';:host{-webkit-flex-shrink:0;flex-shrink:0;width:100%}.van-tab__pane,:host{box-sizing:border-box}.van-tab__pane{overflow-y:auto;-webkit-overflow-scrolling:touch}.van-tab__pane--active{height:auto}.van-tab__pane--inactive{height:0;overflow:visible}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabbar-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabbar-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-info": "../info/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabbar-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
14 |
15 |
19 |
20 |
21 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabbar-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';:host{-webkit-flex:1;flex:1}.van-tabbar-item{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;height:100%;color:#646566;color:var(--tabbar-item-text-color,#646566);font-size:12px;font-size:var(--tabbar-item-font-size,12px);line-height:1;line-height:var(--tabbar-item-line-height,1)}.van-tabbar-item__icon{position:relative;margin-bottom:5px;margin-bottom:var(--tabbar-item-margin-bottom,5px);font-size:18px;font-size:var(--tabbar-item-icon-size,18px)}.van-tabbar-item__icon__inner{display:block;min-width:1em}.van-tabbar-item--active{color:#1989fa;color:var(--tabbar-item-active-color,#1989fa)}.van-tabbar-item__info{margin-top:2px}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabbar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabbar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabbar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabbar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tabbar{display:-webkit-flex;display:flex;width:100%;height:50px;height:var(--tabbar-height,50px);background-color:#fff;background-color:var(--tabbar-background-color,#fff)}.van-tabbar--fixed{position:fixed;bottom:0;left:0}.van-tabbar--safe{padding-bottom:env(safe-area-inset-bottom)}
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabs/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tabs/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index",
5 | "van-sticky": "../sticky/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tag/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tag/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | size: String,
5 | mark: Boolean,
6 | color: String,
7 | plain: Boolean,
8 | round: Boolean,
9 | textColor: String,
10 | type: {
11 | type: String,
12 | value: 'default'
13 | },
14 | closeable: Boolean
15 | },
16 | methods: {
17 | onClose() {
18 | this.$emit('close');
19 | }
20 | }
21 | });
22 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tag/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tag/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/toast/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/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 | // for prevent touchmove
27 | noop() { }
28 | }
29 | });
30 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/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 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/transition/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/transition/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { transition } from '../mixins/transition';
3 | VantComponent({
4 | classes: [
5 | 'enter-class',
6 | 'enter-active-class',
7 | 'enter-to-class',
8 | 'leave-class',
9 | 'leave-active-class',
10 | 'leave-to-class'
11 | ],
12 | mixins: [transition(true)]
13 | });
14 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/transition/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/transition/index.wxml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tree-select/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tree-select/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-sidebar": "../sidebar/index",
6 | "van-sidebar-item": "../sidebar-item/index"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/tree-select/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var array = require('../wxs/array.wxs');
3 |
4 | function isActive (activeList, itemId) {
5 | if (array.isArray(activeList)) {
6 | return activeList.indexOf(itemId) > -1;
7 | }
8 |
9 | return activeList === itemId;
10 | }
11 |
12 | module.exports.isActive = isActive;
13 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/uploader/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/uploader/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/uploader/shared.d.ts:
--------------------------------------------------------------------------------
1 | export declare const chooseImageProps: {
2 | sizeType: {
3 | type: ArrayConstructor;
4 | value: string[];
5 | };
6 | capture: {
7 | type: ArrayConstructor;
8 | value: string[];
9 | };
10 | };
11 | export declare const chooseVideoProps: {
12 | capture: {
13 | type: ArrayConstructor;
14 | value: string[];
15 | };
16 | compressed: {
17 | type: BooleanConstructor;
18 | value: boolean;
19 | };
20 | maxDuration: {
21 | type: NumberConstructor;
22 | value: number;
23 | };
24 | camera: {
25 | type: StringConstructor;
26 | value: string;
27 | };
28 | };
29 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/uploader/shared.js:
--------------------------------------------------------------------------------
1 | // props for choose image
2 | export const chooseImageProps = {
3 | sizeType: {
4 | type: Array,
5 | value: ['original', 'compressed']
6 | },
7 | capture: {
8 | type: Array,
9 | value: ['album', 'camera']
10 | }
11 | };
12 | // props for choose video
13 | export const chooseVideoProps = {
14 | capture: {
15 | type: Array,
16 | value: ['album', 'camera']
17 | },
18 | compressed: {
19 | type: Boolean,
20 | value: true
21 | },
22 | maxDuration: {
23 | type: Number,
24 | value: 60
25 | },
26 | camera: {
27 | type: String,
28 | value: 'back'
29 | }
30 | };
31 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/wxs/add-unit.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var REGEXP = getRegExp('^\d+(\.\d+)?$');
3 |
4 | function addUnit(value) {
5 | if (value == null) {
6 | return undefined;
7 | }
8 |
9 | return REGEXP.test('' + value) ? value + 'px' : value;
10 | }
11 |
12 | module.exports = {
13 | addUnit: addUnit
14 | };
15 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/wxs/array.wxs:
--------------------------------------------------------------------------------
1 | function isArray(array) {
2 | return array && (array.constructor === 'Array' || (typeof Array !== 'undefined' && Array.isArray(array)));
3 | }
4 |
5 | module.exports.isArray = isArray;
6 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/wxs/object.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var REGEXP = getRegExp('{|}|"', 'g');
3 |
4 | function keys(obj) {
5 | return JSON.stringify(obj)
6 | .replace(REGEXP, '')
7 | .split(',')
8 | .map(function(item) {
9 | return item.split(':')[0];
10 | });
11 | }
12 |
13 | module.exports.keys = keys;
14 |
--------------------------------------------------------------------------------
/interactiveClassUI/src/wxcomponents/vant/wxs/utils.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var bem = require('./bem.wxs').bem;
3 | var memoize = require('./memoize.wxs').memoize;
4 | var addUnit = require('./add-unit.wxs').addUnit;
5 |
6 | module.exports = {
7 | bem: memoize(bem),
8 | memoize: memoize,
9 | addUnit: addUnit
10 | };
11 |
--------------------------------------------------------------------------------
/interactiveClassUI/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "types": [
4 | "uni-app",
5 | "html5plus",
6 | "miniprogram-api-typings/types/lib.wx.api.d.ts",
7 | "mini-types/types/api"
8 | ]
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/系统运行界面/addcource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/系统运行界面/addcource.png
--------------------------------------------------------------------------------
/系统运行界面/course-list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/系统运行界面/course-list.png
--------------------------------------------------------------------------------
/系统运行界面/mp-classList.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/系统运行界面/mp-classList.png
--------------------------------------------------------------------------------
/系统运行界面/mp-index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/系统运行界面/mp-index.png
--------------------------------------------------------------------------------
/系统运行界面/user-admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/系统运行界面/user-admin.png
--------------------------------------------------------------------------------
/系统运行界面/userList.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fengsam6/interactiveClass/9bd83f4804efd72c60ec72f88ea6e64af6bcc061/系统运行界面/userList.png
--------------------------------------------------------------------------------