├── web ├── unpackage │ ├── dist │ │ ├── build │ │ │ ├── .automator │ │ │ │ ├── h5 │ │ │ │ │ └── .automator.json │ │ │ │ └── mp-weixin │ │ │ │ │ └── .automator.json │ │ │ ├── mp-weixin │ │ │ │ ├── components │ │ │ │ │ ├── parser │ │ │ │ │ │ ├── parser.wxss │ │ │ │ │ │ ├── parser.json │ │ │ │ │ │ ├── libs │ │ │ │ │ │ │ ├── trees.json │ │ │ │ │ │ │ ├── trees.wxss │ │ │ │ │ │ │ └── handler.wxs │ │ │ │ │ │ └── parser.wxml │ │ │ │ │ ├── article │ │ │ │ │ │ ├── list.json │ │ │ │ │ │ ├── list.wxml │ │ │ │ │ │ ├── list.js │ │ │ │ │ │ └── list.wxss │ │ │ │ │ ├── iconfont │ │ │ │ │ │ ├── iconfont.wxml │ │ │ │ │ │ ├── iconfont.json │ │ │ │ │ │ └── iconfont.js │ │ │ │ │ ├── image │ │ │ │ │ │ ├── cropper.json │ │ │ │ │ │ └── cropper.wxss │ │ │ │ │ ├── loading │ │ │ │ │ │ ├── loading.json │ │ │ │ │ │ ├── pageLoading.json │ │ │ │ │ │ ├── pageLoading.wxml │ │ │ │ │ │ ├── loading.wxss │ │ │ │ │ │ ├── pageLoading.wxss │ │ │ │ │ │ ├── pageLoading.js │ │ │ │ │ │ └── loading.js │ │ │ │ │ ├── noData │ │ │ │ │ │ ├── noData.json │ │ │ │ │ │ ├── noData.wxml │ │ │ │ │ │ ├── noData.wxss │ │ │ │ │ │ └── noData.js │ │ │ │ │ ├── scroller │ │ │ │ │ │ └── scroller.json │ │ │ │ │ ├── uni-popup │ │ │ │ │ │ ├── uni-popup.json │ │ │ │ │ │ ├── uni-popup.wxml │ │ │ │ │ │ ├── uni-popup.wxss │ │ │ │ │ │ └── uni-popup.js │ │ │ │ │ ├── imageCropper │ │ │ │ │ │ └── imageCropper.json │ │ │ │ │ └── search │ │ │ │ │ │ ├── search.json │ │ │ │ │ │ ├── search.wxml │ │ │ │ │ │ └── search.js │ │ │ │ ├── app.js │ │ │ │ ├── pages │ │ │ │ │ ├── common │ │ │ │ │ │ ├── protocol.json │ │ │ │ │ │ ├── login.json │ │ │ │ │ │ ├── register.json │ │ │ │ │ │ ├── about.json │ │ │ │ │ │ ├── forget.json │ │ │ │ │ │ ├── about.wxss │ │ │ │ │ │ ├── protocol.wxss │ │ │ │ │ │ ├── about.wxml │ │ │ │ │ │ ├── login.wxml │ │ │ │ │ │ ├── forget.wxml │ │ │ │ │ │ ├── protocol.js │ │ │ │ │ │ ├── about.js │ │ │ │ │ │ ├── login.wxss │ │ │ │ │ │ ├── register.wxml │ │ │ │ │ │ ├── register.wxss │ │ │ │ │ │ └── forget.wxss │ │ │ │ │ ├── wechat │ │ │ │ │ │ ├── miniAppLogin.json │ │ │ │ │ │ ├── miniAppLogin.wxss │ │ │ │ │ │ ├── miniAppLogin.wxml │ │ │ │ │ │ └── miniAppLogin.js │ │ │ │ │ ├── user │ │ │ │ │ │ ├── feedback.json │ │ │ │ │ │ ├── password.json │ │ │ │ │ │ ├── setting.json │ │ │ │ │ │ ├── feedback.wxss │ │ │ │ │ │ ├── profile.json │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── favorite.json │ │ │ │ │ │ ├── favorites.json │ │ │ │ │ │ ├── feedback.wxml │ │ │ │ │ │ ├── favorite.wxml │ │ │ │ │ │ ├── favorites.wxml │ │ │ │ │ │ ├── setting.wxml │ │ │ │ │ │ ├── password.wxml │ │ │ │ │ │ ├── setting.wxss │ │ │ │ │ │ ├── feedback.js │ │ │ │ │ │ ├── password.js │ │ │ │ │ │ ├── password.wxss │ │ │ │ │ │ └── index.js │ │ │ │ │ └── article │ │ │ │ │ │ ├── comment.json │ │ │ │ │ │ ├── commentDetail.json │ │ │ │ │ │ ├── detail.json │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── rindex.json │ │ │ │ │ │ ├── search.json │ │ │ │ │ │ └── search.wxml │ │ │ │ ├── app.wxss │ │ │ │ ├── static │ │ │ │ │ ├── images │ │ │ │ │ │ ├── 1logo.png │ │ │ │ │ │ ├── bg_tab.png │ │ │ │ │ │ ├── logo-o.png │ │ │ │ │ │ ├── logo.png │ │ │ │ │ │ ├── app-logo.png │ │ │ │ │ │ ├── icon_car.png │ │ │ │ │ │ ├── icon_qq.png │ │ │ │ │ │ ├── bg_bulletin.png │ │ │ │ │ │ ├── icon_about.png │ │ │ │ │ │ ├── icon_delete.png │ │ │ │ │ │ ├── icon_qqkj.png │ │ │ │ │ │ ├── icon_search.png │ │ │ │ │ │ ├── icon_share.png │ │ │ │ │ │ ├── icon_view.png │ │ │ │ │ │ ├── icon_wechat.png │ │ │ │ │ │ ├── icon_weibo.png │ │ │ │ │ │ ├── add_complaint.png │ │ │ │ │ │ ├── btn_drop_down.png │ │ │ │ │ │ ├── default_photo.png │ │ │ │ │ │ ├── icon-warning.png │ │ │ │ │ │ ├── icon_comment.png │ │ │ │ │ │ ├── icon_favorite.png │ │ │ │ │ │ ├── icon_feedback.png │ │ │ │ │ │ ├── icon_like_01.png │ │ │ │ │ │ ├── icon_like_02.png │ │ │ │ │ │ ├── icon_no_data.png │ │ │ │ │ │ ├── nav │ │ │ │ │ │ │ ├── icon_home.png │ │ │ │ │ │ │ ├── icon_rank.png │ │ │ │ │ │ │ ├── icon_user.png │ │ │ │ │ │ │ ├── icon_favorite.png │ │ │ │ │ │ │ ├── icon_favorite_01.png │ │ │ │ │ │ │ ├── icon_home_hover.png │ │ │ │ │ │ │ ├── icon_rank_hover.png │ │ │ │ │ │ │ ├── icon_user_hover.png │ │ │ │ │ │ │ ├── icon_favorite_hover.png │ │ │ │ │ │ │ └── icon_favorite_hover_01.png │ │ │ │ │ │ ├── share_tip_btn.png │ │ │ │ │ │ ├── bg_add_complaint.png │ │ │ │ │ │ ├── icon_collection.png │ │ │ │ │ │ ├── icon_comment_02.png │ │ │ │ │ │ ├── icon_complaint.png │ │ │ │ │ │ ├── icon_no_data_01.png │ │ │ │ │ │ ├── icon_no_data_02.png │ │ │ │ │ │ ├── icon_setting@3x.png │ │ │ │ │ │ ├── share_tip_info.png │ │ │ │ │ │ ├── default_user_photo.jpg │ │ │ │ │ │ ├── default_user_photo.png │ │ │ │ │ │ ├── icon_like_01_hover.png │ │ │ │ │ │ ├── icon_like_02_hover.png │ │ │ │ │ │ ├── share_tip_browser.png │ │ │ │ │ │ ├── default_login_avator.png │ │ │ │ │ │ ├── default_user_photo_02.png │ │ │ │ │ │ └── icon_favorite_hover.png │ │ │ │ │ └── redirect.html │ │ │ │ ├── sitemap.json │ │ │ │ ├── project.config.json │ │ │ │ └── app.json │ │ │ └── h5 │ │ │ │ ├── h5.zip │ │ │ │ ├── static │ │ │ │ ├── images │ │ │ │ │ ├── logo.png │ │ │ │ │ ├── app-logo.png │ │ │ │ │ ├── bg_tab.png │ │ │ │ │ ├── icon_car.png │ │ │ │ │ ├── icon_qq.png │ │ │ │ │ ├── logo-o.png │ │ │ │ │ ├── icon_about.png │ │ │ │ │ ├── icon_qqkj.png │ │ │ │ │ ├── icon_share.png │ │ │ │ │ ├── icon_view.png │ │ │ │ │ ├── icon_weibo.png │ │ │ │ │ ├── add_complaint.png │ │ │ │ │ ├── bg_bulletin.png │ │ │ │ │ ├── btn_drop_down.png │ │ │ │ │ ├── default_photo.png │ │ │ │ │ ├── icon-warning.png │ │ │ │ │ ├── icon_comment.png │ │ │ │ │ ├── icon_delete.png │ │ │ │ │ ├── icon_favorite.png │ │ │ │ │ ├── icon_feedback.png │ │ │ │ │ ├── icon_like_01.png │ │ │ │ │ ├── icon_like_02.png │ │ │ │ │ ├── icon_no_data.png │ │ │ │ │ ├── icon_search.png │ │ │ │ │ ├── icon_wechat.png │ │ │ │ │ ├── nav │ │ │ │ │ │ ├── icon_home.png │ │ │ │ │ │ ├── icon_rank.png │ │ │ │ │ │ ├── icon_user.png │ │ │ │ │ │ ├── icon_favorite.png │ │ │ │ │ │ ├── icon_favorite_01.png │ │ │ │ │ │ ├── icon_home_hover.png │ │ │ │ │ │ ├── icon_rank_hover.png │ │ │ │ │ │ ├── icon_user_hover.png │ │ │ │ │ │ ├── icon_favorite_hover.png │ │ │ │ │ │ └── icon_favorite_hover_01.png │ │ │ │ │ ├── share_tip_btn.png │ │ │ │ │ ├── icon_collection.png │ │ │ │ │ ├── icon_comment_02.png │ │ │ │ │ ├── icon_complaint.png │ │ │ │ │ ├── icon_no_data_01.png │ │ │ │ │ ├── icon_no_data_02.png │ │ │ │ │ ├── icon_setting@3x.png │ │ │ │ │ ├── share_tip_info.png │ │ │ │ │ ├── bg_add_complaint.png │ │ │ │ │ ├── default_user_photo.jpg │ │ │ │ │ ├── default_user_photo.png │ │ │ │ │ ├── icon_like_01_hover.png │ │ │ │ │ ├── icon_like_02_hover.png │ │ │ │ │ ├── share_tip_browser.png │ │ │ │ │ ├── default_login_avator.png │ │ │ │ │ ├── icon_favorite_hover.png │ │ │ │ │ └── default_user_photo_02.png │ │ │ │ ├── img │ │ │ │ │ └── logo.8d3b1456.png │ │ │ │ └── redirect.html │ │ │ │ └── index.html │ │ └── dev │ │ │ └── .automator │ │ │ └── mp-weixin │ │ │ └── .automator.json │ └── res │ │ └── icons │ │ ├── 20x20.png │ │ ├── 29x29.png │ │ ├── 40x40.png │ │ ├── 58x58.png │ │ ├── 60x60.png │ │ ├── 72x72.png │ │ ├── 76x76.png │ │ ├── 80x80.png │ │ ├── 87x87.png │ │ ├── 96x96.png │ │ ├── 120x120.png │ │ ├── 144x144.png │ │ ├── 152x152.png │ │ ├── 167x167.png │ │ ├── 180x180.png │ │ ├── 192x192.png │ │ └── 1024x1024.png ├── README.md ├── static │ ├── images │ │ ├── logo.png │ │ ├── 1logo.png │ │ ├── bg_tab.png │ │ ├── icon_qq.png │ │ ├── logo-o.png │ │ ├── app-logo.png │ │ ├── icon_car.png │ │ ├── icon_qqkj.png │ │ ├── icon_view.png │ │ ├── bg_bulletin.png │ │ ├── icon-warning.png │ │ ├── icon_about.png │ │ ├── icon_comment.png │ │ ├── icon_delete.png │ │ ├── icon_like_01.png │ │ ├── icon_like_02.png │ │ ├── icon_no_data.png │ │ ├── icon_search.png │ │ ├── icon_share.png │ │ ├── icon_wechat.png │ │ ├── icon_weibo.png │ │ ├── add_complaint.png │ │ ├── btn_drop_down.png │ │ ├── default_photo.png │ │ ├── icon_complaint.png │ │ ├── icon_favorite.png │ │ ├── icon_feedback.png │ │ ├── nav │ │ │ ├── icon_home.png │ │ │ ├── icon_rank.png │ │ │ ├── icon_user.png │ │ │ ├── icon_favorite.png │ │ │ ├── icon_home_hover.png │ │ │ ├── icon_rank_hover.png │ │ │ ├── icon_user_hover.png │ │ │ ├── icon_favorite_01.png │ │ │ ├── icon_favorite_hover.png │ │ │ └── icon_favorite_hover_01.png │ │ ├── share_tip_btn.png │ │ ├── share_tip_info.png │ │ ├── bg_add_complaint.png │ │ ├── icon_collection.png │ │ ├── icon_comment_02.png │ │ ├── icon_no_data_01.png │ │ ├── icon_no_data_02.png │ │ ├── icon_setting@3x.png │ │ ├── share_tip_browser.png │ │ ├── default_user_photo.jpg │ │ ├── default_user_photo.png │ │ ├── icon_favorite_hover.png │ │ ├── icon_like_01_hover.png │ │ ├── icon_like_02_hover.png │ │ ├── default_login_avator.png │ │ └── default_user_photo_02.png │ └── redirect.html ├── components │ ├── uni-icon │ │ ├── config.json │ │ └── readme.md │ ├── uni-popup │ │ ├── config.json │ │ └── readme.md │ ├── iconfont │ │ ├── iconfont.vue │ │ └── iconfontJs.js │ ├── uni-status-bar │ │ └── uni-status-bar.vue │ ├── noData │ │ └── noData.vue │ ├── main.js │ ├── scroller │ │ └── option.js │ ├── loadMore │ │ └── loadMore.nvue │ ├── imageCompress │ │ └── README.md │ ├── uni-card │ │ └── readme.md │ └── parser │ │ └── libs │ │ ├── handler.sjs │ │ └── handler.wxs ├── App.vue ├── store │ └── index.js ├── main.js ├── pages │ ├── common │ │ ├── version.vue │ │ └── about.vue │ ├── wechat │ │ ├── devLogin.vue │ │ ├── mpLogin.vue │ │ └── miniAppLogin.vue │ └── user │ │ └── feedback.vue ├── config │ └── api.js ├── uni.scss ├── common │ ├── sdk │ │ └── wechatMP.js │ └── validator.js └── template.h5.html ├── .idea ├── codeStyles │ └── codeStyleConfig.xml ├── misc.xml ├── vcs.xml ├── modules.xml ├── cms-miniapp.iml └── inspectionProfiles │ └── Project_Default.xml ├── api-server └── src │ └── main │ ├── java │ └── com │ │ └── mrguan │ │ └── tcyhwapp │ │ ├── utils │ │ ├── MyBaseMapper.java │ │ └── MD5Utils.java │ │ ├── entity │ │ ├── vo │ │ │ ├── TokenVO.java │ │ │ ├── CommonVO.java │ │ │ ├── LoginVO.java │ │ │ ├── UserInfoVO.java │ │ │ ├── LinkVO.java │ │ │ ├── SliderVO.java │ │ │ ├── IndexListVO.java │ │ │ ├── IndexVO.java │ │ │ ├── FavoriteVO.java │ │ │ ├── CommentVO.java │ │ │ └── DetailVO.java │ │ ├── RedisKeyConstans.java │ │ ├── dto │ │ │ └── IndexListDTO.java │ │ ├── PageInfo.java │ │ ├── BasicException.java │ │ ├── SysCode.java │ │ └── BasicResult.java │ │ ├── TcyhwApplation.java │ │ ├── model │ │ ├── UserCollectInfo.java │ │ ├── CategoryInfo.java │ │ ├── CommentInfo.java │ │ ├── UserInfo.java │ │ └── ContentInfo.java │ │ ├── mapper │ │ ├── CategoryInfoMapper.java │ │ ├── UserCollectInfoMapper.java │ │ ├── UserInfoMapper.java │ │ ├── CommentInfoMapper.java │ │ └── ContentInfoMapper.java │ │ ├── handler │ │ ├── JSONChange.java │ │ └── JsonResponseBodyAdvice.java │ │ ├── config │ │ ├── WxMaProperties.java │ │ └── DruidConfig.java │ │ └── service │ │ └── ApiService.java │ └── resources │ └── mapper │ ├── UserInfoMapper.xml │ ├── CategoryInfoMapper.xml │ ├── UserCollectInfoMapper.xml │ ├── ContentInfoMapper.xml │ └── CommentInfoMapper.xml └── README.MD /web/unpackage/dist/build/.automator/h5/.automator.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/.automator/mp-weixin/.automator.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/unpackage/dist/dev/.automator/mp-weixin/.automator.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/parser/parser.wxss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/README.md: -------------------------------------------------------------------------------- 1 | api地址配置:config/api.js 2 | 3 | 小程序参数修改:manifest.json 4 | 5 | 使用Hbuider开发 -------------------------------------------------------------------------------- /web/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/logo.png -------------------------------------------------------------------------------- /web/static/images/1logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/1logo.png -------------------------------------------------------------------------------- /web/static/images/bg_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/bg_tab.png -------------------------------------------------------------------------------- /web/static/images/icon_qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_qq.png -------------------------------------------------------------------------------- /web/static/images/logo-o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/logo-o.png -------------------------------------------------------------------------------- /web/static/images/app-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/app-logo.png -------------------------------------------------------------------------------- /web/static/images/icon_car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_car.png -------------------------------------------------------------------------------- /web/static/images/icon_qqkj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_qqkj.png -------------------------------------------------------------------------------- /web/static/images/icon_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_view.png -------------------------------------------------------------------------------- /web/static/images/bg_bulletin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/bg_bulletin.png -------------------------------------------------------------------------------- /web/static/images/icon-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon-warning.png -------------------------------------------------------------------------------- /web/static/images/icon_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_about.png -------------------------------------------------------------------------------- /web/static/images/icon_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_comment.png -------------------------------------------------------------------------------- /web/static/images/icon_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_delete.png -------------------------------------------------------------------------------- /web/static/images/icon_like_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_like_01.png -------------------------------------------------------------------------------- /web/static/images/icon_like_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_like_02.png -------------------------------------------------------------------------------- /web/static/images/icon_no_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_no_data.png -------------------------------------------------------------------------------- /web/static/images/icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_search.png -------------------------------------------------------------------------------- /web/static/images/icon_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_share.png -------------------------------------------------------------------------------- /web/static/images/icon_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_wechat.png -------------------------------------------------------------------------------- /web/static/images/icon_weibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_weibo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/h5.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/h5.zip -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/article/list.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "component": true 4 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/iconfont/iconfont.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/unpackage/res/icons/20x20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/20x20.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/29x29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/29x29.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/40x40.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/58x58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/58x58.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/60x60.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/72x72.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/76x76.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/80x80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/80x80.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/87x87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/87x87.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/96x96.png -------------------------------------------------------------------------------- /web/static/images/add_complaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/add_complaint.png -------------------------------------------------------------------------------- /web/static/images/btn_drop_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/btn_drop_down.png -------------------------------------------------------------------------------- /web/static/images/default_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/default_photo.png -------------------------------------------------------------------------------- /web/static/images/icon_complaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_complaint.png -------------------------------------------------------------------------------- /web/static/images/icon_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_favorite.png -------------------------------------------------------------------------------- /web/static/images/icon_feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_feedback.png -------------------------------------------------------------------------------- /web/static/images/nav/icon_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_home.png -------------------------------------------------------------------------------- /web/static/images/nav/icon_rank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_rank.png -------------------------------------------------------------------------------- /web/static/images/nav/icon_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_user.png -------------------------------------------------------------------------------- /web/static/images/share_tip_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/share_tip_btn.png -------------------------------------------------------------------------------- /web/static/images/share_tip_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/share_tip_info.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/iconfont/iconfont.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "component": true 4 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/image/cropper.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "component": true 4 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/loading/loading.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "component": true 4 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/noData/noData.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "component": true 4 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/scroller/scroller.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "component": true 4 | } -------------------------------------------------------------------------------- /web/unpackage/res/icons/120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/120x120.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/144x144.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/152x152.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/167x167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/167x167.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/180x180.png -------------------------------------------------------------------------------- /web/unpackage/res/icons/192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/192x192.png -------------------------------------------------------------------------------- /web/static/images/bg_add_complaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/bg_add_complaint.png -------------------------------------------------------------------------------- /web/static/images/icon_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_collection.png -------------------------------------------------------------------------------- /web/static/images/icon_comment_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_comment_02.png -------------------------------------------------------------------------------- /web/static/images/icon_no_data_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_no_data_01.png -------------------------------------------------------------------------------- /web/static/images/icon_no_data_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_no_data_02.png -------------------------------------------------------------------------------- /web/static/images/icon_setting@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_setting@3x.png -------------------------------------------------------------------------------- /web/static/images/nav/icon_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_favorite.png -------------------------------------------------------------------------------- /web/static/images/share_tip_browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/share_tip_browser.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/loading/pageLoading.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "component": true 4 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/uni-popup/uni-popup.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "component": true 4 | } -------------------------------------------------------------------------------- /web/unpackage/res/icons/1024x1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/res/icons/1024x1024.png -------------------------------------------------------------------------------- /web/static/images/default_user_photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/default_user_photo.jpg -------------------------------------------------------------------------------- /web/static/images/default_user_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/default_user_photo.png -------------------------------------------------------------------------------- /web/static/images/icon_favorite_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_favorite_hover.png -------------------------------------------------------------------------------- /web/static/images/icon_like_01_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_like_01_hover.png -------------------------------------------------------------------------------- /web/static/images/icon_like_02_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/icon_like_02_hover.png -------------------------------------------------------------------------------- /web/static/images/nav/icon_home_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_home_hover.png -------------------------------------------------------------------------------- /web/static/images/nav/icon_rank_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_rank_hover.png -------------------------------------------------------------------------------- /web/static/images/nav/icon_user_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_user_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/imageCropper/imageCropper.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "component": true 4 | } -------------------------------------------------------------------------------- /web/static/images/default_login_avator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/default_login_avator.png -------------------------------------------------------------------------------- /web/static/images/default_user_photo_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/default_user_photo_02.png -------------------------------------------------------------------------------- /web/static/images/nav/icon_favorite_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_favorite_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/app.js: -------------------------------------------------------------------------------- 1 | 2 | require('./common/runtime.js') 3 | require('./common/vendor.js') 4 | require('./common/main.js') -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/protocol.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "用户协议和隐私政策", 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/wechat/miniAppLogin.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "微信登录", 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /web/static/images/nav/icon_favorite_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_favorite_hover.png -------------------------------------------------------------------------------- /web/static/images/nav/icon_favorite_hover_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/static/images/nav/icon_favorite_hover_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/logo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/app-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/app-logo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/bg_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/bg_tab.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_car.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_qq.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/logo-o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/logo-o.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_about.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_qqkj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_qqkj.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_share.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_view.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_weibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_weibo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/img/logo.8d3b1456.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/img/logo.8d3b1456.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/add_complaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/add_complaint.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/bg_bulletin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/bg_bulletin.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/btn_drop_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/btn_drop_down.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/default_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/default_photo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon-warning.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_comment.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_delete.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_favorite.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_feedback.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_like_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_like_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_like_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_like_02.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_no_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_no_data.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_search.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_wechat.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_home.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_rank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_rank.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_user.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/share_tip_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/share_tip_btn.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/app.wxss: -------------------------------------------------------------------------------- 1 | @import './common/main.wxss'; 2 | 3 | [data-custom-hidden="true"],[bind-data-custom-hidden="true"]{display: none !important;} -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/1logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/1logo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/bg_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/bg_tab.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/logo-o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/logo-o.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/logo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_collection.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_comment_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_comment_02.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_complaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_complaint.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_no_data_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_no_data_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_no_data_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_no_data_02.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_setting@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_setting@3x.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/share_tip_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/share_tip_info.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/app-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/app-logo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_car.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_qq.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/bg_add_complaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/bg_add_complaint.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/default_user_photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/default_user_photo.jpg -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/default_user_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/default_user_photo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_like_01_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_like_01_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_like_02_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_like_02_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_favorite.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/share_tip_browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/share_tip_browser.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/parser/parser.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "trees": "/components/parser/libs/trees" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/search/search.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "iconfont": "/components/iconfont/iconfont" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/bg_bulletin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/bg_bulletin.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_about.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_delete.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_qqkj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_qqkj.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_search.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_share.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_view.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_wechat.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_weibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_weibo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/default_login_avator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/default_login_avator.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/icon_favorite_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/icon_favorite_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_favorite_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_favorite_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_home_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_home_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_rank_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_rank_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_user_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_user_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/parser/libs/trees.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "trees": "/components/parser/libs/trees" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/add_complaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/add_complaint.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/btn_drop_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/btn_drop_down.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/default_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/default_photo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon-warning.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_comment.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_favorite.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_feedback.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_like_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_like_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_like_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_like_02.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_no_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_no_data.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_home.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_rank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_rank.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_user.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/share_tip_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/share_tip_btn.png -------------------------------------------------------------------------------- /web/components/uni-icon/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "28", 3 | "name":"Icon", 4 | "desc":"图标", 5 | "url":"icon", 6 | "edition":"1.1.0", 7 | "path":"https://ext.dcloud.net.cn/plugin?id=28" 8 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/default_user_photo_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/default_user_photo_02.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_favorite_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_favorite_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "用户登录", 3 | "usingComponents": { 4 | "iconfont": "/components/iconfont/iconfont" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/register.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "注册", 3 | "usingComponents": { 4 | "iconfont": "/components/iconfont/iconfont" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/feedback.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "意见建议", 3 | "usingComponents": { 4 | "iconfont": "/components/iconfont/iconfont" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/password.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "修改密码", 3 | "usingComponents": { 4 | "iconfont": "/components/iconfont/iconfont" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/setting.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "用户设置", 3 | "usingComponents": { 4 | "iconfont": "/components/iconfont/iconfont" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/bg_add_complaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/bg_add_complaint.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_collection.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_comment_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_comment_02.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_complaint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_complaint.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_no_data_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_no_data_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_no_data_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_no_data_02.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_setting@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_setting@3x.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/share_tip_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/share_tip_info.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/about.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "关于团节社成都", 3 | "usingComponents": { 4 | "iconfont": "/components/iconfont/iconfont" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/default_user_photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/default_user_photo.jpg -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/default_user_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/default_user_photo.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_like_01_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_like_01_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_like_02_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_like_02_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_favorite.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/share_tip_browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/share_tip_browser.png -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/images/nav/icon_favorite_hover_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/h5/static/images/nav/icon_favorite_hover_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/forget.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "忘记密码?请重置密码", 3 | "usingComponents": { 4 | "iconfont": "/components/iconfont/iconfont" 5 | } 6 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/default_login_avator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/default_login_avator.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/default_user_photo_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/default_user_photo_02.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/icon_favorite_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/icon_favorite_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_favorite_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_favorite_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_home_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_home_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_rank_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_rank_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_user_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_user_hover.png -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_favorite_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_favorite_hover.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/images/nav/icon_favorite_hover_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/q127981/cms-miniapp/HEAD/web/unpackage/dist/build/mp-weixin/static/images/nav/icon_favorite_hover_01.png -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/loading/pageLoading.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/about.wxss: -------------------------------------------------------------------------------- 1 | .ul.data-v-0a7e2e7f{margin:30rpx 40rpx 20rpx;font-size:34rpx;color:#f33;font-weight:700}.li.data-v-0a7e2e7f{margin:30rpx 40rpx 20rpx;font-size:32rpx;color:#000} -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/noData/noData.wxml: -------------------------------------------------------------------------------- 1 | {{''+text+''}} -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/sitemap.json: -------------------------------------------------------------------------------- 1 | { 2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", 3 | "rules": [{ 4 | "action": "allow", 5 | "page": "*" 6 | }] 7 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/protocol.wxss: -------------------------------------------------------------------------------- 1 | page.data-v-5ea953b6{background:#fff}.about.data-v-5ea953b6{margin:30rpx 40rpx 20rpx;font-size:30rpx}.about .title.data-v-5ea953b6{font-weight:700;font-size:31rpx;line-height:70rpx} -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /web/components/uni-popup/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "id":"329", 3 | "name":"PopUp", 4 | "desc":"弹出层", 5 | "url":"popup", 6 | "edition":"1.1.3", 7 | "path":"https://ext.dcloud.net.cn/plugin?id=329", 8 | "update_log":"- 新增 打开关闭弹窗的回调事件" 9 | } 10 | -------------------------------------------------------------------------------- /web/components/iconfont/iconfont.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/feedback.wxss: -------------------------------------------------------------------------------- 1 | .list.data-v-2adc0e1e{position:fixed;width:100%}.list .item.data-v-2adc0e1e{padding:50rpx 40rpx 20rpx;background:#fff}.list .item textarea.data-v-2adc0e1e{height:350rpx;font-size:32rpx}.list .button.data-v-2adc0e1e{margin-top:80rpx} -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/utils/MyBaseMapper.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.utils; 2 | 3 | 4 | import tk.mybatis.mapper.common.Mapper; 5 | import tk.mybatis.mapper.common.MySqlMapper; 6 | 7 | public interface MyBaseMapper extends Mapper, MySqlMapper { 8 | 9 | } -------------------------------------------------------------------------------- /api-server/src/main/resources/mapper/UserInfoMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /web/components/iconfont/iconfontJs.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'iconfontJs', 3 | render(createElement) { 4 | return createElement('script', { 5 | attrs: { 6 | type: 'text/javascript', 7 | src: '//at.alicdn.com/t/font_1235435_d4s38m5wnxf.js' 8 | } 9 | }); 10 | } 11 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/profile.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "个人资料", 3 | "usingComponents": { 4 | "image-cropper": "/components/image/cropper", 5 | "iconfont": "/components/iconfont/iconfont", 6 | "page-loading": "/components/loading/pageLoading" 7 | } 8 | } -------------------------------------------------------------------------------- /api-server/src/main/resources/mapper/CategoryInfoMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /api-server/src/main/resources/mapper/UserCollectInfoMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationStyle": "custom", 3 | "navigationBarTitleText": "我的", 4 | "enablePullDownRefresh": true, 5 | "usingComponents": { 6 | "iconfont": "/components/iconfont/iconfont", 7 | "page-loading": "/components/loading/pageLoading" 8 | } 9 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/article/comment.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "全部评论", 3 | "enablePullDownRefresh": true, 4 | "usingComponents": { 5 | "loading": "/components/loading/loading", 6 | "page-loading": "/components/loading/pageLoading", 7 | "iconfont": "/components/iconfont/iconfont" 8 | } 9 | } -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/TokenVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * TokenVo 7 | * 8 | * @author MrGuan 9 | * @date 2020/11/3 10 | */ 11 | @Data 12 | public class TokenVO { 13 | private Long id; 14 | private String token; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/article/commentDetail.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "评论详情", 3 | "enablePullDownRefresh": true, 4 | "usingComponents": { 5 | "loading": "/components/loading/loading", 6 | "page-loading": "/components/loading/pageLoading", 7 | "iconfont": "/components/iconfont/iconfont" 8 | } 9 | } -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/CommonVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * CommonVO 7 | * 8 | * @author MrGuan 9 | * @date 2020/11/2 10 | */ 11 | @Data 12 | public class CommonVO { 13 | private Long id; 14 | 15 | private String name; 16 | } 17 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/wechat/miniAppLogin.wxss: -------------------------------------------------------------------------------- 1 | .login view.data-v-ddf3046c{padding:50rpx;text-align:center}.login view image.data-v-ddf3046c{width:250rpx;height:250rpx}.login .auth .btn-cancel.data-v-ddf3046c{margin-top:20rpx;border-radius:100px;font-size:32rpx;color:#999}.login .upgrade.data-v-ddf3046c{font-size:30rpx}button.data-v-ddf3046c::after{border:0} -------------------------------------------------------------------------------- /.idea/cms-miniapp.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/RedisKeyConstans.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity; 2 | 3 | /** 4 | * RedisKeyConstans 5 | * 6 | * @author MrGuan 7 | * @date 2020/11/3 8 | */ 9 | public class RedisKeyConstans { 10 | 11 | public static final String VERIFY_CODE = "verify_code-%s-%s"; 12 | 13 | public static final String TOKEN = "token:%s"; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/favorite.json: -------------------------------------------------------------------------------- 1 | { 2 | "enablePullDownRefresh": false, 3 | "disableScroll": true, 4 | "navigationBarTitleText": "我的收藏", 5 | "usingComponents": { 6 | "scroller": "/components/scroller/scroller", 7 | "page-loading": "/components/loading/pageLoading", 8 | "article-list": "/components/article/list", 9 | "iconfont": "/components/iconfont/iconfont" 10 | } 11 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/favorites.json: -------------------------------------------------------------------------------- 1 | { 2 | "enablePullDownRefresh": false, 3 | "disableScroll": true, 4 | "navigationBarTitleText": "我的收藏", 5 | "usingComponents": { 6 | "scroller": "/components/scroller/scroller", 7 | "page-loading": "/components/loading/pageLoading", 8 | "article-list": "/components/article/list", 9 | "iconfont": "/components/iconfont/iconfont" 10 | } 11 | } -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/LoginVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * RegisterVO 7 | * 8 | * @author MrGuan 9 | * @date 2020/11/3 10 | */ 11 | @Data 12 | public class LoginVO { 13 | private Long user_id; 14 | private String mobile; 15 | private String nickname; 16 | private String avatar_url; 17 | private String token; 18 | } 19 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/article/detail.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "详情", 3 | "enablePullDownRefresh": true, 4 | "usingComponents": { 5 | "parser": "/components/parser/parser", 6 | "loading": "/components/loading/loading", 7 | "uni-popup": "/components/uni-popup/uni-popup", 8 | "page-loading": "/components/loading/pageLoading", 9 | "iconfont": "/components/iconfont/iconfont" 10 | } 11 | } -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/dto/IndexListDTO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.dto; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * IndexListDTo 7 | * 8 | * @author MrGuan 9 | * @date 2020/11/2 10 | */ 11 | @Data 12 | public class IndexListDTO { 13 | 14 | private Long category_id; 15 | private Integer page_index; 16 | private Integer page_size; 17 | private String keyword; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /web/App.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 22 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/article/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "titleNView": false, 3 | "navigationStyle": "custom", 4 | "enablePullDownRefresh": false, 5 | "disableScroll": true, 6 | "navigationBarTitleText": "团节社成都", 7 | "usingComponents": { 8 | "iconfont": "/components/iconfont/iconfont", 9 | "scroller": "/components/scroller/scroller", 10 | "article-list": "/components/article/list", 11 | "page-loading": "/components/loading/pageLoading" 12 | } 13 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/article/rindex.json: -------------------------------------------------------------------------------- 1 | { 2 | "titleNView": false, 3 | "navigationStyle": "custom", 4 | "enablePullDownRefresh": false, 5 | "disableScroll": true, 6 | "navigationBarTitleText": "团节社成都", 7 | "usingComponents": { 8 | "iconfont": "/components/iconfont/iconfont", 9 | "scroller": "/components/scroller/scroller", 10 | "article-list": "/components/article/list", 11 | "page-loading": "/components/loading/pageLoading" 12 | } 13 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/article/search.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "搜索", 3 | "titleNView": false, 4 | "navigationStyle": "custom", 5 | "usingComponents": { 6 | "iconfont": "/components/iconfont/iconfont", 7 | "search": "/components/search/search", 8 | "loading": "/components/loading/loading", 9 | "no-data": "/components/noData/noData", 10 | "article-list": "/components/article/list", 11 | "page-loading": "/components/loading/pageLoading" 12 | } 13 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/noData/noData.wxss: -------------------------------------------------------------------------------- 1 | .no-data{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:fixed;top:30%;left:50%;height:135rpx;width:235rpx;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.no-data .no-data-icon image{width:80rpx;height:80rpx}.no-data .no-data-text{color:#bfbfbf;font-size:30rpx} -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/UserInfoVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * UserInfoVO 7 | * 8 | * @author MrGuan 9 | * @date 2020/11/3 10 | */ 11 | @Data 12 | 13 | public class UserInfoVO { 14 | private String openid; 15 | private Long avatar_id; 16 | private Long id; 17 | private String avatar_url; 18 | private String mobile; 19 | private String nickname; 20 | private Integer sex; 21 | private Integer status; 22 | } 23 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/TcyhwApplation.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** 7 | * TcyhwApplatio 8 | * 9 | * @author MrGuan 10 | * @email mrguan@aliyun.com 11 | * @date 2020/11/2 12 | */ 13 | @SpringBootApplication 14 | public class TcyhwApplation { 15 | public static void main(String[] args) { 16 | SpringApplication.run(TcyhwApplation.class, args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/PageInfo.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity; 2 | 3 | //import io.swagger.annotations.ApiModel; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * @Auther: MrGuan 11 | * @Date: 2019/9/26 17:32 12 | * @Description: 13 | */ 14 | @Data 15 | //@ApiModel("分页数据列表") 16 | @AllArgsConstructor 17 | public class PageInfo { 18 | 19 | private Long count; 20 | private Integer page; 21 | 22 | private List list; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/LinkVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * LinkVO 9 | * 10 | * @author MrGuan 11 | * @date 2020/11/2 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class LinkVO { 17 | private String type = "article"; 18 | private Long id; 19 | private String url = ""; 20 | 21 | public LinkVO(Long id) { 22 | this.id = id; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/uni-popup/uni-popup.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/feedback.wxml: -------------------------------------------------------------------------------- 1 | 提 交 -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/SliderVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | 8 | /** 9 | * SliderVO 10 | * 11 | * @author MrGuan 12 | * @date 2020/11/2 13 | */ 14 | @Data 15 | public class SliderVO { 16 | private Long id; 17 | private String title; 18 | private String photo_url; 19 | private int read; 20 | @JsonFormat(pattern = "yyyy-MM-dd") 21 | private Date create_time; 22 | private String source; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/about.wxml: -------------------------------------------------------------------------------- 1 | 美团团节社是什么?“美团团节社”是美团在2020年底推出的吃喝玩乐分享平台,该项目将于10月底以邀请制的形式对外开放,第一批试点将在西安进行,第二批则在武汉开放,第三批会选择在成都。该项目定位的是C端用户市场,由美团一位副总裁直管的新业务部门直接操刀,重视程度可见一斑。美团团节社有哪些赚钱方法?当团节社的社长,通过分享商品、邀好友注册获得一笔相应的佣金和平台奖励。 2 | 成为团节社平台的达人,达人可以自己组建团队,当团队下的团员分享出去了商品、邀请了好友,那么达人也能有一笔分佣收益,当然达人自己也可以通过分享商品、邀好友来赚钱。扫描首页邀请码,加入成为社长吧! -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/model/UserCollectInfo.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.model; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.*; 6 | import java.util.Date; 7 | 8 | /** 9 | * UserInfo 10 | * 11 | * @author MrGuan 12 | * @date 2020/11/3 13 | */ 14 | @Data 15 | @Table(name = "user_collect_info") 16 | public class UserCollectInfo { 17 | @Id 18 | @GeneratedValue(strategy = GenerationType.IDENTITY) 19 | private Long id; 20 | private Long user_id; 21 | private Integer type; 22 | private Long c_id; 23 | @Transient 24 | private Date create_time; 25 | } 26 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/model/CategoryInfo.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.model; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.*; 6 | import java.util.Date; 7 | 8 | /** 9 | * CategoryInfo 10 | * 11 | * @author MrGuan 12 | * @date 2020/11/2 13 | */ 14 | @Data 15 | @Table(name = "category_info") 16 | public class CategoryInfo { 17 | // private static final long serialVersionUID = 1L; 18 | @Id 19 | @GeneratedValue(strategy = GenerationType.IDENTITY) 20 | private Long id; 21 | private boolean enable; 22 | private Integer sort; 23 | @Transient 24 | private Date create_time; 25 | } 26 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/IndexListVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import com.mrguan.tcyhwapp.entity.PageInfo; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * IndexListVO 11 | * 12 | * @author MrGuan 13 | * @date 2020/11/2 14 | */ 15 | @Getter 16 | @Setter 17 | public class IndexListVO extends PageInfo { 18 | private List slider; 19 | 20 | public IndexListVO(Long count, Integer page, List list, List slider) { 21 | super(count, page, list); 22 | this.slider = slider; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/IndexVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | 8 | /** 9 | * IndexVO 10 | * 11 | * @author MrGuan 12 | * @date 2020/11/2 13 | */ 14 | @Data 15 | public class IndexVO { 16 | private Long id; 17 | private String title; 18 | private String photo_url; 19 | private Integer read; 20 | @JsonFormat(pattern = "yyyy-MM-dd") 21 | private Date create_time; 22 | private String source; 23 | private Integer comment_count; 24 | private LinkVO link; 25 | } 26 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/favorite.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/mapper/CategoryInfoMapper.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.mapper; 2 | 3 | import com.mrguan.tcyhwapp.entity.vo.CommonVO; 4 | import com.mrguan.tcyhwapp.model.CategoryInfo; 5 | import com.mrguan.tcyhwapp.utils.MyBaseMapper; 6 | import org.apache.ibatis.annotations.Mapper; 7 | import org.apache.ibatis.annotations.Select; 8 | 9 | import java.util.List; 10 | 11 | @Mapper 12 | //@CacheNamespace(flushInterval = 300000L)//缓存五分钟过期 13 | public interface CategoryInfoMapper extends MyBaseMapper { 14 | 15 | @Select("SELECT id,name FROM category_info where enable=1 order by sort") 16 | List getCategory(); 17 | } 18 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/favorites.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/project.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "项目配置文件。", 3 | "packOptions": { 4 | "ignore": [] 5 | }, 6 | "setting": { 7 | "urlCheck": true, 8 | "minified": true, 9 | "postcss": true 10 | }, 11 | "compileType": "miniprogram", 12 | "libVersion": "", 13 | "appid": "wx213c7c5ce864719c", 14 | "projectname": "tuanjieshe", 15 | "simulatorType": "wechat", 16 | "simulatorPluginLibVersion": {}, 17 | "condition": { 18 | "search": { 19 | "list": [] 20 | }, 21 | "conversation": { 22 | "list": [] 23 | }, 24 | "game": { 25 | "list": [] 26 | }, 27 | "miniprogram": { 28 | "list": [] 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/FavoriteVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | 8 | /** 9 | * IndexVO 10 | * 11 | * @author MrGuan 12 | * @date 2020/11/2 13 | */ 14 | @Data 15 | public class FavoriteVO { 16 | private Long id; 17 | private String title; 18 | private String photo_url; 19 | private Integer read; 20 | @JsonFormat(pattern = "yyyy-MM-dd") 21 | private Date create_time; 22 | private String source; 23 | private Integer comment_count; 24 | @JsonFormat(pattern = "yyyy-MM-dd") 25 | private Date favorite_time; 26 | } 27 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/parser/parser.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/mapper/UserCollectInfoMapper.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.mapper; 2 | 3 | import com.mrguan.tcyhwapp.model.UserCollectInfo; 4 | import com.mrguan.tcyhwapp.utils.MyBaseMapper; 5 | import org.apache.ibatis.annotations.Mapper; 6 | import org.apache.ibatis.annotations.Param; 7 | import org.apache.ibatis.annotations.Select; 8 | 9 | @Mapper 10 | public interface UserCollectInfoMapper extends MyBaseMapper { 11 | @Select("select * from user_collect_info where c_id=#{comment_id} and type=#{type} and user_id=#{userId}") 12 | UserCollectInfo getByIdAndType(@Param("comment_id") Long comment_id, @Param("type") Integer type, @Param("userId") Long userId); 13 | } 14 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/model/CommentInfo.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.model; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.*; 6 | import java.util.Date; 7 | 8 | /** 9 | * CommontInfo 10 | * 11 | * @author MrGuan 12 | * @date 2020/11/3 13 | */ 14 | @Table(name = "comment_info") 15 | @Data 16 | public class CommentInfo { 17 | @Id 18 | @GeneratedValue(strategy = GenerationType.IDENTITY) 19 | private Long id; 20 | private Long user_id; 21 | private String content; 22 | @Transient 23 | private Date create_time; 24 | private Integer reply_count; 25 | private Integer like_count; 26 | 27 | private Long pid; 28 | private Long c_id; 29 | } 30 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/BasicException.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class BasicException extends RuntimeException { 7 | 8 | private Integer code; 9 | 10 | public BasicException(String msg) { 11 | super(msg); 12 | this.printStackTrace(); 13 | 14 | } 15 | 16 | public BasicException(SysCode sysCode) { 17 | super(sysCode.MESSAGE); 18 | this.code = sysCode.CODE; 19 | this.printStackTrace(); 20 | } 21 | 22 | public BasicException(Integer code, String msg) { 23 | 24 | super(msg); 25 | 26 | this.code = code; 27 | this.printStackTrace(); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /web/components/uni-icon/readme.md: -------------------------------------------------------------------------------- 1 | ### Icon 图标 2 | 3 | 用于展示 icon,组件名:``uni-icon``,代码块: uIcon。 4 | 5 | **使用方式:** 6 | 7 | 在 ``script`` 中引用组件 8 | 9 | ```javascript 10 | import uniIcon from "@/components/uni-icon/index.vue" 11 | export default { 12 | components: {uniIcon} 13 | } 14 | ``` 15 | 16 | 在 ``template`` 中使用组件 17 | 18 | ```html 19 | 20 | ``` 21 | 22 | **Icon 属性说明:** 23 | 24 | |属性名 |类型|默认值 |说明| 25 | |---|----|---|---| 26 | |type |String |-|图标图案,参考示例| 27 | |color |String |-|图标颜色 | 28 | |size |Number |24|图标大小| 29 | |@click |EventHandle|-|点击 Icon 触发事件| 30 | 31 | 32 | ### 更新日志 33 | **1.1.0** 34 | - 新增 大批新图标 35 | - 优化 老图标样式 36 | - 修复 flex 布局下,高度出现问题 37 | - 38 | **1.0.0** 39 | - 初始项目 -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/model/UserInfo.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.model; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.*; 6 | import java.util.Date; 7 | 8 | /** 9 | * UserInfo 10 | * 11 | * @author MrGuan 12 | * @date 2020/11/3 13 | */ 14 | @Data 15 | @Table(name = "user_info") 16 | public class UserInfo { 17 | @Id 18 | @GeneratedValue(strategy = GenerationType.IDENTITY) 19 | private Long id; 20 | private Boolean enable; 21 | private String nickname; 22 | private String avatar_url; 23 | private String open_id; 24 | private Integer gender; 25 | @Transient 26 | private Date create_time; 27 | private String password; 28 | private String phone_number; 29 | } 30 | -------------------------------------------------------------------------------- /web/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | Vue.use(Vuex) 5 | const store = new Vuex.Store({ 6 | state: { 7 | isLogin: false, 8 | currentUser: {} 9 | }, 10 | mutations: { 11 | login(state, userInfo) { 12 | state.isLogin = true; 13 | state.currentUser = userInfo; 14 | uni.setStorageSync("isLogin", '1'); 15 | uni.setStorageSync("accessToken", userInfo.token); 16 | uni.setStorageSync('currentUser', userInfo); 17 | }, 18 | logout(state) { 19 | state.isLogin = false; 20 | state.currentUser = {}; 21 | uni.removeStorageSync('isLogin'); 22 | uni.removeStorageSync('accessToken'); 23 | uni.removeStorageSync('currentUser'); 24 | console.log('退出登录') 25 | } 26 | } 27 | }) 28 | 29 | export default store 30 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/CommentVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import com.mrguan.tcyhwapp.entity.PageInfo; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | 8 | /** 9 | * CommentVO 10 | * 11 | * @author MrGuan 12 | * @date 2020/11/3 13 | */ 14 | @Data 15 | public class CommentVO { 16 | private Long id; 17 | private Long pid; 18 | private String nickname; 19 | private String avatar_url; 20 | private String content; 21 | // @JsonFormat(pattern = "yyyy-MM-dd") 22 | private Date create_time; 23 | private Integer reply_count; 24 | private Integer like_count; 25 | private Integer is_like; 26 | private String parent_nickname; 27 | private PageInfo reply; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /web/components/uni-status-bar/uni-status-bar.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 22 | 23 | 31 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/vo/DetailVO.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity.vo; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | import com.mrguan.tcyhwapp.entity.PageInfo; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | 9 | /** 10 | * DetailVO 11 | * 12 | * @author MrGuan 13 | * @date 2020/11/2 14 | */ 15 | @Data 16 | public class DetailVO { 17 | 18 | private Long id; 19 | private String title; 20 | private int read; 21 | @JsonFormat(pattern = "yyyy-MM-dd") 22 | private Date create_time; 23 | private String source; 24 | private Integer category_id; 25 | private String content; 26 | private Integer like_count; 27 | private Integer is_like; 28 | private Integer is_favorite; 29 | private PageInfo comment; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/wechat/miniAppLogin.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/loading/loading.wxss: -------------------------------------------------------------------------------- 1 | .loading-wrap{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:90rpx;padding-top:10rpx}.load-icon{display:block;width:45rpx;height:45rpx;margin-right:12rpx;-webkit-animation:load 1s steps(12) infinite;animation:load 1s steps(12) infinite}.load-text{font-size:28rpx;color:#848c98}@-webkit-keyframes load{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes load{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}} -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/mapper/UserInfoMapper.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.mapper; 2 | 3 | import com.mrguan.tcyhwapp.entity.vo.UserInfoVO; 4 | import com.mrguan.tcyhwapp.model.UserInfo; 5 | import org.apache.ibatis.annotations.Mapper; 6 | import org.apache.ibatis.annotations.Select; 7 | import tk.mybatis.mapper.common.BaseMapper; 8 | 9 | @Mapper 10 | public interface UserInfoMapper extends BaseMapper { 11 | @Select("select id,id avatar_id,avatar_url,phone_number mobile,nickname,gender sex,enable status,open_id openid from user_info where id=#{userId}") 12 | UserInfoVO getUserInfo(Long userId); 13 | 14 | @Select("select * from user_info where phone_number=#{phone}") 15 | UserInfo getByMobile(String phone); 16 | @Select("select * from user_info where open_id=#{openid}") 17 | UserInfo getByOpenid(String openid); 18 | } 19 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/handler/JSONChange.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.handler; 2 | 3 | 4 | import com.fasterxml.jackson.databind.ObjectMapper; 5 | import lombok.SneakyThrows; 6 | 7 | /** 8 | * @author MrGuan 9 | * 操作json的封装方法 10 | */ 11 | public class JSONChange { 12 | /* 13 | * 001.json转换成对象 14 | * @param:传入对象,json字符串 15 | * @return:Object 16 | */ 17 | @SneakyThrows 18 | public static Object jsonToObj(Object obj, String jsonStr) { 19 | ObjectMapper mapper = new ObjectMapper(); 20 | return obj = mapper.readValue(jsonStr, obj.getClass()); 21 | } 22 | /* 23 | * 002.对象转换成json 24 | * @param:传入对象 25 | * @return:json字符串 26 | */ 27 | 28 | @SneakyThrows 29 | public static String objToJson(Object obj) { 30 | ObjectMapper mapper = new ObjectMapper(); 31 | return mapper.writeValueAsString(obj); 32 | } 33 | } -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- 1 | CMS自媒体/资讯/新闻/文章应用 小程序 前端+后端 2 | www.tcyhw.top 小程序 3 | 功能简介: 4 | 含文章、搜索、详情、评论、回复、点赞、收藏、分享、用户等。 5 | uniapp编写,一键发布百度小程序、微信小程序、抖音小程序 6 | 7 | ###目录结构: 8 | --api-server 后端 9 | --web 前端 10 | --miniapp_dev.sql 后端数据库 11 | 12 | 13 | ###说明: 14 | 我本来想照 www.tcyhw.top 的风格做一个小程序,看到有现场的小程序源码模板,我就随便改了改。 15 | 前端基于:https://ext.dcloud.net.cn/plugin?id=1988 二次修改,更改了部分不符合微信上线要求的功能和逻辑 16 | 后端是用springboot完全根据小程序的接口格式随便写的,未严格遵循编码格式和rest风格。原作者的是PHP做的后端,未开源。 17 | 18 | ###体验地址 19 | 20 | 小程序:![https://img.ww125.cn/img/10](https://img.ww125.cn/img/10) 21 | 22 | 功能截图: 23 | ![https://img.ww125.cn/img/9](https://img.ww125.cn/img/9) 24 | 25 | 26 | 27 | ###使用步骤: 28 | 1.clone项目 29 | 30 | 2.新建一个数据库并导入提供的示例sql 31 | 32 | 3.修改后端application.yml中的数据库连接地址和账号密码 33 | 34 | 4.修改后端application.yml中的小程序APPID等信息 35 | 36 | 5.启动后端服务 37 | 38 | 6.修改前端配置: 39 | 6.1 修改api接口地址 40 | 6.2 修改小程序APPID等配置 41 | 42 | 7.运行 43 | 44 | 45 | ##利用下班时间写的,喜欢的话点个star 46 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/model/ContentInfo.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.model; 2 | 3 | import lombok.Data; 4 | 5 | import javax.persistence.*; 6 | import java.util.Date; 7 | 8 | /** 9 | * ContentInfo 10 | * 11 | * @author MrGuan 12 | * @date 2020/11/2 13 | */ 14 | @Data 15 | @Table(name = "content_info") 16 | public class ContentInfo { 17 | @Id 18 | @GeneratedValue(strategy = GenerationType.IDENTITY) 19 | private Long id; 20 | private String title; 21 | private String photo_url; 22 | private int read_count; 23 | @Transient 24 | private Date create_time; 25 | private String source; 26 | private Integer comment_count; 27 | private boolean enable; 28 | private boolean slider; 29 | private Integer sort; 30 | private Long category_id; 31 | private String content; 32 | private String des; 33 | private String source_url; 34 | private Integer like_count; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/article/list.wxml: -------------------------------------------------------------------------------- 1 | {{item.title}}{{item.source}}{{item.create_time}}{{item.comment_count}}{{item.read}} -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/setting.wxml: -------------------------------------------------------------------------------- 1 | 用户资料退出登录 -------------------------------------------------------------------------------- /web/static/redirect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /web/components/noData/noData.vue: -------------------------------------------------------------------------------- 1 | 11 | 26 | 51 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/static/redirect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/static/redirect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /web/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App' 3 | import store from './store' 4 | import api from './config/api' 5 | import base from './common/app' 6 | import h5Api from './common/sdk/H5Api' 7 | 8 | Vue.config.productionTip = false 9 | 10 | Vue.prototype.$store = store 11 | Vue.prototype.$api = api 12 | Vue.prototype.$app = base 13 | 14 | /*无状态提示信息*/ 15 | Vue.prototype.$alert = function(msg = '', icon = 'none', url = '', openType = 'navigate') { 16 | base.alert(msg, icon, url, openType); 17 | }; 18 | 19 | /*弹出加载框*/ 20 | Vue.prototype.$loading = function(msg = '', mask = true) { 21 | base.loading(msg, mask); 22 | }; 23 | 24 | /*是否登录*/ 25 | Vue.prototype.$initLogin = function() { 26 | if (!uni.getStorageSync('isLogin')) { 27 | base.login(); 28 | } 29 | }; 30 | 31 | /*初始化页面标题*/ 32 | Vue.prototype.$initPageTitle = function(pageTitle = '团节社成都') { 33 | // #ifdef H5 34 | document.title = pageTitle; 35 | // #endif 36 | }; 37 | 38 | App.mpType = 'app' 39 | 40 | const app = new Vue({ 41 | ...App 42 | }) 43 | app.$mount() 44 | -------------------------------------------------------------------------------- /web/components/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App' 3 | import store from './store' 4 | import api from './config/api' 5 | import base from './common/app' 6 | import h5Api from './common/sdk/H5Api' 7 | 8 | Vue.config.productionTip = false 9 | 10 | Vue.prototype.$store = store 11 | Vue.prototype.$api = api 12 | Vue.prototype.$app = base 13 | 14 | /*无状态提示信息*/ 15 | Vue.prototype.$alert = function(msg = '', icon = 'none', url = '', openType = 'navigate') { 16 | base.alert(msg, icon, url, openType); 17 | }; 18 | 19 | /*弹出加载框*/ 20 | Vue.prototype.$loading = function(msg = '', mask = true) { 21 | base.loading(msg, mask); 22 | }; 23 | 24 | /*是否登录*/ 25 | Vue.prototype.$initLogin = function() { 26 | if (!uni.getStorageSync('isLogin')) { 27 | base.login(); 28 | } 29 | }; 30 | 31 | /*初始化页面标题*/ 32 | Vue.prototype.$initPageTitle = function(pageTitle = '团节社成都') { 33 | // #ifdef H5 34 | document.title = pageTitle; 35 | // #endif 36 | }; 37 | 38 | App.mpType = 'app' 39 | 40 | const app = new Vue({ 41 | ...App 42 | }) 43 | app.$mount() 44 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/loading/pageLoading.wxss: -------------------------------------------------------------------------------- 1 | .global-loading-container{position:fixed;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.5)}.global-loading-container.global-loading-mask{background:#fff}.global-loading-wrapper{position:relative;height:100%;width:100%}.global-loading{position:absolute;top:45%;left:50%;height:135rpx;width:135rpx;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.global-loading:before, 2 | .global-loading:after{content:"";display:inline-block;position:absolute;top:0;left:0;height:135rpx;width:135rpx;box-sizing:border-box}@-webkit-keyframes globalLoadingRotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes globalLoadingRotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.global-loading:before{border:4rpx solid #f7f7f7;border-right-color:#ffd100;border-radius:100%;-webkit-animation:globalLoadingRotate linear 1.5s infinite;animation:globalLoadingRotate linear 1.5s infinite} -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/config/WxMaProperties.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.config; 2 | 3 | import lombok.Data; 4 | import org.springframework.boot.context.properties.ConfigurationProperties; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author Binary Wang 10 | */ 11 | @Data 12 | @ConfigurationProperties(prefix = "wx.miniapp") 13 | public class WxMaProperties { 14 | 15 | private List configs; 16 | 17 | @Data 18 | public static class Config { 19 | /** 20 | * 设置微信小程序的appid 21 | */ 22 | private String appid; 23 | 24 | /** 25 | * 设置微信小程序的Secret 26 | */ 27 | private String secret; 28 | 29 | /** 30 | * 设置微信小程序消息服务器配置的token 31 | */ 32 | private String token; 33 | 34 | /** 35 | * 设置微信小程序消息服务器配置的EncodingAESKey 36 | */ 37 | private String aesKey; 38 | 39 | /** 40 | * 消息格式,XML或者JSON 41 | */ 42 | private String msgDataFormat; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /web/components/scroller/option.js: -------------------------------------------------------------------------------- 1 | // scroller 全局配置 2 | const GlobalOption = { 3 | down: { 4 | // 其他down的配置参数也可以写,这里只展示了常用的配置: 5 | textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本 6 | textOutOffset: '释放刷新', // 下拉的距离大于offset范围的提示文本 7 | textLoading: '刷新中…', // 加载中的提示文本 8 | offset: 80 // 在列表顶部,下拉大于80upx,松手即可触发下拉刷新的回调 9 | }, 10 | up: { 11 | // 其他up的配置参数也可以写,这里只展示了常用的配置: 12 | textLoading: '加载中…', // 加载中的提示文本 13 | textNoMore: '没有更多了~', // 没有更多数据的提示文本 14 | offset: 80, // 距底部多远时,触发upCallback 15 | isBounce: false, // 默认禁止橡皮筋的回弹效果, 必读事项: http://www.mescroll.com/qa.html?v=190725#q25 16 | toTop: { 17 | // 回到顶部按钮,需配置src才显示 18 | //src: "/static/images/scroll-top.png", // 图片路径 (建议放入static目录, 如 /static/img/mescroll-totop.png ) 19 | offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000 20 | duration: 300, // 回到顶部的动画时长,默认300ms 21 | }, 22 | empty: { 23 | type: 'default', 24 | use: true, // 是否显示空布局 25 | icon: "/static/images/icon_no_data_02.png", // 图标路径 (建议放入static目录, 如 /static/img/mescroll-empty.png ) 26 | tip: '暂无数据~' // 提示 27 | } 28 | } 29 | } 30 | 31 | export default GlobalOption 32 | -------------------------------------------------------------------------------- /web/pages/common/version.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 33 | 34 | 58 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/login.wxml: -------------------------------------------------------------------------------- 1 | 登录忘记密码|注册账户 -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/mapper/CommentInfoMapper.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.mapper; 2 | 3 | import com.mrguan.tcyhwapp.entity.vo.CommentVO; 4 | import com.mrguan.tcyhwapp.model.CommentInfo; 5 | import org.apache.ibatis.annotations.Mapper; 6 | import org.apache.ibatis.annotations.Param; 7 | import org.apache.ibatis.annotations.Update; 8 | import tk.mybatis.mapper.common.BaseMapper; 9 | 10 | import java.util.List; 11 | 12 | @Mapper 13 | public interface CommentInfoMapper extends BaseMapper { 14 | 15 | List getList(@Param("cid") Long cid, @Param("userId") Long userId); 16 | 17 | CommentVO getById(@Param("id") Long id, @Param("userId") Long userId); 18 | 19 | List getDetailList(@Param("id") Long id, @Param("userId") Long userId); 20 | 21 | @Update("UPDATE comment_info set like_count=like_count+(#{count}) where id=#{id}") 22 | int addLikeCount(@Param("count") Integer count, @Param("id") Long id); 23 | 24 | @Update("UPDATE comment_info set reply_count=reply_count+(#{count}) where id=#{id}") 25 | int addReplyCount(@Param("count") Integer count, @Param("id") Long id); 26 | } 27 | -------------------------------------------------------------------------------- /web/pages/wechat/devLogin.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/password.wxml: -------------------------------------------------------------------------------- 1 | 提交 -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/SysCode.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity; 2 | 3 | /** 4 | * 系统通用代码 5 | * 根据需要各系统继承此类以扩展消息描述 6 | * 7 | * @author MrGuan 8 | * @date 2019/08/08 9 | */ 10 | public class SysCode { 11 | 12 | public static final SysCode SUCCESS = new SysCode(0, "SUCCESS"); 13 | public static final SysCode NOT_EXISTS = new SysCode(-1, "数据不存在"); 14 | public static final SysCode TOKEN_NOT_NULL = new SysCode(1000, "请先登录"); 15 | public static final SysCode CODE_ERROR = new SysCode(1001, "验证码已过期或不正确"); 16 | public static final SysCode USER_ALREADY_EXISTS = new SysCode(1002, "用户已存在"); 17 | public static final SysCode USER_NOT_EXISTS = new SysCode(1003, "用户不存在"); 18 | public static final SysCode PASSWORD_ERROR = new SysCode(1004, "用户密码错误"); 19 | public static final SysCode GET_WX_INFO_ERROR = new SysCode(1005, "获取微信用户信息失败"); 20 | public static final SysCode SENSITIVE_ERROR = new SysCode(1006, "提交内容含有敏感信息,请检查后重新提交!"); 21 | 22 | 23 | public Integer CODE; 24 | public String MESSAGE; 25 | 26 | private SysCode(Integer CODE, String MESSAGE) { 27 | this.CODE = CODE; 28 | this.MESSAGE = MESSAGE; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /web/components/loadMore/loadMore.nvue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 39 | 40 | 65 | -------------------------------------------------------------------------------- /web/components/imageCompress/README.md: -------------------------------------------------------------------------------- 1 | # uni-app 图片压缩插件、带图片自动旋转修正(暂时只支持H5) 2 | ### 作者:诗小柒 3 | ## 说明 4 | uni-app 图片压缩插件、带图片自动旋转修正(暂时只支持H5),支持APP 微信小程序 H5 5 | 6 | ### 使用方法 7 | 在 `script` 中引入组件 8 | ``` javascript 9 | import imageCompress from "../../components/imageCompress/imageCompress.vue" 10 | export default { 11 | components: {imageCompress} 12 | } 13 | ``` 14 | 在 `template` 中使用 15 | ``` javascript 16 | 17 | ``` 18 | 19 | ### 属性 20 | |属性名|类型|默认值|可选值|说明| 21 | |:-|:-:|:--:|:--:|-:| 22 | |size|Number|500| |照片大小超过此值就压缩,且最大宽高等于maxWidth| 23 | |maxWidth|Number|750| |照片宽高超过此值就压缩,且最大宽高等于此值| 24 | |ql|Number|0.92|0-1 |照片压缩比| 25 | |type|String|url|base64|照片压缩后返回的格式| 26 | |fixOrientation|Boolean|true|false|是否修正图片方向(暂时只支持H5)| 27 | |number|Number|1| |一次压缩图片数量(不支持H5)| 28 | 29 | 30 | ### 方法 31 | |方法名|参数|默认值|说明| 32 | |:-|:-:|:--:|-:| 33 | |_changImg()| | |选择照片并开始压缩| 34 | 35 | ### 事件 36 | |事件名|返回值|说明| 37 | |:-|:-:|-:| 38 | |result|Array数组,包含图片base64或临时地址|压缩成功的回调 并返回结果| 39 | |err| |压缩失败的回调 并返回结果| 40 | 41 | ### 问题 42 | 1. H5平台,type 属性无效(返回的是base64或blob地址) 43 | 2. 可能无法压缩png 44 | 3. 图片自动旋转修正暂时只支持H5 45 | 4. 多选只支持App、小程序 -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/forget.wxml: -------------------------------------------------------------------------------- 1 | {{verify_text}}提交 -------------------------------------------------------------------------------- /web/pages/common/about.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 46 | 47 | 60 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/protocol.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/common/protocol"],{"4d07":function(n,t,e){"use strict";e.r(t);var u=e("567b"),o=e.n(u);for(var c in u)"default"!==c&&function(n){e.d(t,n,(function(){return u[n]}))}(c);t["default"]=o.a},"567b":function(n,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var u={components:{},data:function(){return{}},onShow:function(){this.$initPageTitle()},onLoad:function(n){},onPullDownRefresh:function(){}};t.default=u},a1b5:function(n,t,e){},e5c4:function(n,t,e){"use strict";var u;e.d(t,"b",(function(){return o})),e.d(t,"c",(function(){return c})),e.d(t,"a",(function(){return u}));var o=function(){var n=this,t=n.$createElement;n._self._c},c=[]},ee4e:function(n,t,e){"use strict";e.r(t);var u=e("e5c4"),o=e("4d07");for(var c in o)"default"!==c&&function(n){e.d(t,n,(function(){return o[n]}))}(c);e("fb3d");var r,f=e("f0c5"),a=Object(f["a"])(o["default"],u["b"],u["c"],!1,null,"5ea953b6",null,!1,u["a"],r);t["default"]=a.exports},fb3d:function(n,t,e){"use strict";var u=e("a1b5"),o=e.n(u);o.a},fbf4:function(n,t,e){"use strict";(function(n){e("4ebb");u(e("66fd"));var t=u(e("ee4e"));function u(n){return n&&n.__esModule?n:{default:n}}n(t.default)}).call(this,e("543d")["createPage"])}},[["fbf4","common/runtime","common/vendor"]]]); -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/iconfont/iconfont.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/iconfont/iconfont"],{"16d5":function(n,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var u={name:"iconfont",props:{type:String}};t.default=u},"7cdf":function(n,t,e){"use strict";var u;e.d(t,"b",(function(){return r})),e.d(t,"c",(function(){return c})),e.d(t,"a",(function(){return u}));var r=function(){var n=this,t=n.$createElement;n._self._c},c=[]},d776:function(n,t,e){"use strict";e.r(t);var u=e("16d5"),r=e.n(u);for(var c in u)"default"!==c&&function(n){e.d(t,n,(function(){return u[n]}))}(c);t["default"]=r.a},db8f:function(n,t,e){"use strict";e.r(t);var u=e("7cdf"),r=e("d776");for(var c in r)"default"!==c&&function(n){e.d(t,n,(function(){return r[n]}))}(c);var o,f=e("f0c5"),a=Object(f["a"])(r["default"],u["b"],u["c"],!1,null,null,null,!1,u["a"],o);t["default"]=a.exports}}]); 2 | ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 3 | 'components/iconfont/iconfont-create-component', 4 | { 5 | 'components/iconfont/iconfont-create-component':(function(module, exports, __webpack_require__){ 6 | __webpack_require__('543d')['createComponent'](__webpack_require__("db8f")) 7 | }) 8 | }, 9 | [['components/iconfont/iconfont-create-component']] 10 | ]); 11 | -------------------------------------------------------------------------------- /web/components/uni-card/readme.md: -------------------------------------------------------------------------------- 1 | ### Card 卡片 2 | 3 | 卡片视图组件,组件名:``uni-card``,代码块: uCard。 4 | 5 | **使用方式:** 6 | 7 | 在 ``script`` 中引用组件 8 | 9 | ```javascript 10 | import uniCard from "@/components/uni-card/uni-card.vue" 11 | export default { 12 | components: {uniCard} 13 | } 14 | ``` 15 | 16 | 一般用法 17 | 18 | ```html 19 | 24 | 内容主体,可自定义内容及样式 25 | 26 | ``` 27 | 28 | 内容通栏 29 | 30 | ```html 31 | 37 | 内容主体,可自定义内容及样式,内容主体,可自定义内容及样式,内容主体,可自定义内容及样式 38 | 39 | ``` 40 | 41 | **uniCard 属性说明:** 42 | 43 | |属性名|类型|默认值 |说明| 44 | |---|----|---|---| 45 | |title|String|-|标题文字| 46 | |extra|String|-|标题额外信息| 47 | |note|String|-|底部信息| 48 | |thumbnail|String|-|标题左侧缩略图| 49 | |is-full|Boolean|false|卡片内容是否通栏,为true时将去除padding值| 50 | 51 | **uniCard 事件说明:** 52 | 53 | |事件称名|说明|返回参数| 54 | |---|----|---| 55 | |click|点击 uniCard 触发事件|-| 56 | 57 | 58 | Tips 59 | 60 | * 组件实际运行效果参考:[https://github.com/dcloudio/uni-ui](https://github.com/dcloudio/uni-ui) 61 | * npm 使用方式参考:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55) -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/entity/BasicResult.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.entity; 2 | 3 | import lombok.Data; 4 | 5 | 6 | /** 7 | * @Auther: MrGuan 8 | * @Date: 2019/8/8 17:25 9 | * @Description: 10 | */ 11 | @Data 12 | public class BasicResult { 13 | 14 | /** 15 | * 成功代码 16 | */ 17 | public static final int CODE_SUCCESS = 0; 18 | /** 19 | * 失败代码(大于0,默认为1) 20 | */ 21 | public static final int CODE_FAILURE = 1; 22 | private Integer code; 23 | 24 | private String msg = "SUCCESS!"; 25 | 26 | 27 | private T data; 28 | 29 | public BasicResult(Integer code, String msg, T data) { 30 | this.code = code; 31 | this.msg = msg; 32 | this.data = data; 33 | } 34 | 35 | public BasicResult() { 36 | } 37 | 38 | public BasicResult(Integer code, T data) { 39 | this.code = code; 40 | this.data = data; 41 | } 42 | 43 | public static BasicResult success(T data) { 44 | return new BasicResult(CODE_SUCCESS, data); 45 | } 46 | 47 | public static BasicResult success() { 48 | return success("SUCCESS!"); 49 | } 50 | 51 | public static BasicResult error(Integer code, String msg) { 52 | return new BasicResult(code, msg, null); 53 | } 54 | 55 | public static BasicResult error() { 56 | return new BasicResult(CODE_FAILURE, "ERROR!", null); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/setting.wxss: -------------------------------------------------------------------------------- 1 | .list.data-v-02f1d8e3{padding-left:24rpx;background:#fff}.list .item.data-v-02f1d8e3{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:10rpx 30rpx 10rpx 0;height:76rpx;border-bottom:1rpx solid #e9ebee}.list .item.data-v-02f1d8e3:last-child{border-bottom:0}.list .item .name.data-v-02f1d8e3{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;font-size:32rpx}.list .item .name text.data-v-02f1d8e3{color:#000;margin-left:20rpx}.list .item .name.data-v-02f1d8e3 .icon{font-size:36rpx;color:#ffd100}.list .item .go.data-v-02f1d8e3{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.list .item .go.data-v-02f1d8e3 .icon{color:#ddd;font-size:20rpx} -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/loading/pageLoading.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/loading/pageLoading"],{"1f96":function(n,t,a){},"2a0a":function(n,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var e={name:"pageLoading"};t.default=e},"471e":function(n,t,a){"use strict";a.r(t);var e=a("a953"),u=a("f3bc");for(var c in u)"default"!==c&&function(n){a.d(t,n,(function(){return u[n]}))}(c);a("ce42");var r,f=a("f0c5"),o=Object(f["a"])(u["default"],e["b"],e["c"],!1,null,null,null,!1,e["a"],r);t["default"]=o.exports},a953:function(n,t,a){"use strict";var e;a.d(t,"b",(function(){return u})),a.d(t,"c",(function(){return c})),a.d(t,"a",(function(){return e}));var u=function(){var n=this,t=n.$createElement;n._self._c},c=[]},ce42:function(n,t,a){"use strict";var e=a("1f96"),u=a.n(e);u.a},f3bc:function(n,t,a){"use strict";a.r(t);var e=a("2a0a"),u=a.n(e);for(var c in e)"default"!==c&&function(n){a.d(t,n,(function(){return e[n]}))}(c);t["default"]=u.a}}]); 2 | ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 3 | 'components/loading/pageLoading-create-component', 4 | { 5 | 'components/loading/pageLoading-create-component':(function(module, exports, __webpack_require__){ 6 | __webpack_require__('543d')['createComponent'](__webpack_require__("471e")) 7 | }) 8 | }, 9 | [['components/loading/pageLoading-create-component']] 10 | ]); 11 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/service/ApiService.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.service; 2 | 3 | import com.mrguan.tcyhwapp.entity.PageInfo; 4 | import com.mrguan.tcyhwapp.entity.dto.IndexListDTO; 5 | import com.mrguan.tcyhwapp.entity.vo.*; 6 | 7 | import java.util.List; 8 | 9 | public interface ApiService { 10 | List getCategory(); 11 | 12 | IndexListVO getIndex(IndexListDTO dto); 13 | 14 | DetailVO detail(Long id, Integer pageSize); 15 | 16 | TokenVO miniAppLogin(String share_user_id, String code, String user_info, String encrypted_data, String iv, String signature); 17 | 18 | PageInfo comment(Long article_id, Integer page_index, Integer page_size); 19 | 20 | Integer changeCollect(Long comment_id, Integer i); 21 | 22 | CommentVO commentDetail(Long id, Integer page_index, Integer page_size); 23 | 24 | UserInfoVO userInfo(); 25 | 26 | LoginVO login(String mobile, String password); 27 | 28 | LoginVO register(String mobile, String nickname, String password, String verify_code); 29 | 30 | PageInfo favoriteList(Integer page_index, Integer page_size); 31 | 32 | Integer logout(); 33 | 34 | Integer updatePassword(String old_password, String new_password); 35 | 36 | PageInfo addComment(Long article_id, String content, Integer page_size); 37 | 38 | PageInfo addReply(Long comment_id, Long pid, String content, Integer page_size); 39 | } 40 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/about.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/common/about"],{"1f0a":function(n,t,e){"use strict";var o;e.d(t,"b",(function(){return u})),e.d(t,"c",(function(){return f})),e.d(t,"a",(function(){return o}));var u=function(){var n=this,t=n.$createElement;n._self._c},f=[]},"46fe":function(n,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(){e.e("components/iconfont/iconfont").then(function(){return resolve(e("db8f"))}.bind(null,e)).catch(e.oe)},u={components:{iconfont:o},data:function(){return{}},onShow:function(){this.$initPageTitle()},onLoad:function(n){},onPullDownRefresh:function(){}};t.default=u},"7ab3":function(n,t,e){},"917f":function(n,t,e){"use strict";e.r(t);var o=e("46fe"),u=e.n(o);for(var f in o)"default"!==f&&function(n){e.d(t,n,(function(){return o[n]}))}(f);t["default"]=u.a},9558:function(n,t,e){"use strict";(function(n){e("4ebb");o(e("66fd"));var t=o(e("b907"));function o(n){return n&&n.__esModule?n:{default:n}}n(t.default)}).call(this,e("543d")["createPage"])},b907:function(n,t,e){"use strict";e.r(t);var o=e("1f0a"),u=e("917f");for(var f in u)"default"!==f&&function(n){e.d(t,n,(function(){return u[n]}))}(f);e("f1b6");var c,a=e("f0c5"),r=Object(a["a"])(u["default"],o["b"],o["c"],!1,null,"0a7e2e7f",null,!1,o["a"],c);t["default"]=r.exports},f1b6:function(n,t,e){"use strict";var o=e("7ab3"),u=e.n(o);u.a}},[["9558","common/runtime","common/vendor"]]]); -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/article/list.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/article/list"],{"1b45":function(t,n,e){"use strict";e.r(n);var r=e("4c9d"),u=e.n(r);for(var a in r)"default"!==a&&function(t){e.d(n,t,(function(){return r[t]}))}(a);n["default"]=u.a},"4c9d":function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r={name:"articleList",props:{list:{type:Array,default:function(t){return[]}}}};n.default=r},"4fbe":function(t,n,e){"use strict";var r=e("92eb"),u=e.n(r);u.a},"92eb":function(t,n,e){},afba:function(t,n,e){"use strict";var r;e.d(n,"b",(function(){return u})),e.d(n,"c",(function(){return a})),e.d(n,"a",(function(){return r}));var u=function(){var t=this,n=t.$createElement;t._self._c},a=[]},eef4:function(t,n,e){"use strict";e.r(n);var r=e("afba"),u=e("1b45");for(var a in u)"default"!==a&&function(t){e.d(n,t,(function(){return u[t]}))}(a);e("4fbe");var c,f=e("f0c5"),i=Object(f["a"])(u["default"],r["b"],r["c"],!1,null,null,null,!1,r["a"],c);n["default"]=i.exports}}]); 2 | ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 3 | 'components/article/list-create-component', 4 | { 5 | 'components/article/list-create-component':(function(module, exports, __webpack_require__){ 6 | __webpack_require__('543d')['createComponent'](__webpack_require__("eef4")) 7 | }) 8 | }, 9 | [['components/article/list-create-component']] 10 | ]); 11 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/loading/loading.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/loading/loading"],{"0ab6":function(t,n,e){"use strict";e.r(n);var u=e("61ff"),a=e("2336");for(var r in a)"default"!==r&&function(t){e.d(n,t,(function(){return a[t]}))}(r);e("39d3");var f,o=e("f0c5"),c=Object(o["a"])(a["default"],u["b"],u["c"],!1,null,null,null,!1,u["a"],f);n["default"]=c.exports},2336:function(t,n,e){"use strict";e.r(n);var u=e("5a75"),a=e.n(u);for(var r in u)"default"!==r&&function(t){e.d(n,t,(function(){return u[t]}))}(r);n["default"]=a.a},"39d3":function(t,n,e){"use strict";var u=e("7b33"),a=e.n(u);a.a},"5a75":function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var u={name:"loading",props:{status:{type:Boolean,default:!0},text:{type:String,default:"加载中…"}}};n.default=u},"61ff":function(t,n,e){"use strict";var u;e.d(n,"b",(function(){return a})),e.d(n,"c",(function(){return r})),e.d(n,"a",(function(){return u}));var a=function(){var t=this,n=t.$createElement;t._self._c},r=[]},"7b33":function(t,n,e){}}]); 2 | ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 3 | 'components/loading/loading-create-component', 4 | { 5 | 'components/loading/loading-create-component':(function(module, exports, __webpack_require__){ 6 | __webpack_require__('543d')['createComponent'](__webpack_require__("0ab6")) 7 | }) 8 | }, 9 | [['components/loading/loading-create-component']] 10 | ]); 11 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/wechat/miniAppLogin.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/wechat/miniAppLogin"],{"16be":function(t,n,e){"use strict";var u;e.d(n,"b",(function(){return c})),e.d(n,"c",(function(){return a})),e.d(n,"a",(function(){return u}));var c=function(){var t=this,n=t.$createElement;t._self._c},a=[]},7460:function(t,n,e){"use strict";(function(t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var e={data:function(){return{hasAuth:!0,canIUse:!0}},onLoad:function(){var n=this;this.canIUse=t.canIUse("button.open-type.getUserInfo"),t.getSetting({success:function(t){n.hasAuth=!1}})},methods:{bindGetuserInfo:function(){this.$app.wechatAppLogin(!0)}}};n.default=e}).call(this,e("543d")["default"])},"7b44":function(t,n,e){"use strict";(function(t){e("4ebb");u(e("66fd"));var n=u(e("c463"));function u(t){return t&&t.__esModule?t:{default:t}}t(n.default)}).call(this,e("543d")["createPage"])},"7fcf":function(t,n,e){},a7a3:function(t,n,e){"use strict";var u=e("7fcf"),c=e.n(u);c.a},c463:function(t,n,e){"use strict";e.r(n);var u=e("16be"),c=e("c9a3");for(var a in c)"default"!==a&&function(t){e.d(n,t,(function(){return c[t]}))}(a);e("a7a3");var o,f=e("f0c5"),i=Object(f["a"])(c["default"],u["b"],u["c"],!1,null,"ddf3046c",null,!1,u["a"],o);n["default"]=i.exports},c9a3:function(t,n,e){"use strict";e.r(n);var u=e("7460"),c=e.n(u);for(var a in u)"default"!==a&&function(t){e.d(n,t,(function(){return u[t]}))}(a);n["default"]=c.a}},[["7b44","common/runtime","common/vendor"]]]); -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/noData/noData.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/noData/noData"],{"4f0f":function(t,n,a){"use strict";a.r(n);var e=a("ac4a"),u=a("93d0");for(var r in u)"default"!==r&&function(t){a.d(n,t,(function(){return u[t]}))}(r);a("bed7");var c,o=a("f0c5"),f=Object(o["a"])(u["default"],e["b"],e["c"],!1,null,null,null,!1,e["a"],c);n["default"]=f.exports},"93d0":function(t,n,a){"use strict";a.r(n);var e=a("a5d3"),u=a.n(e);for(var r in e)"default"!==r&&function(t){a.d(n,t,(function(){return e[t]}))}(r);n["default"]=u.a},a5d3:function(t,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var e={name:"noData",props:{src:{type:String,default:"/static/images/icon_no_data_02.png"},text:{type:String,default:"暂无~"}}};n.default=e},ac4a:function(t,n,a){"use strict";var e;a.d(n,"b",(function(){return u})),a.d(n,"c",(function(){return r})),a.d(n,"a",(function(){return e}));var u=function(){var t=this,n=t.$createElement;t._self._c},r=[]},ae60:function(t,n,a){},bed7:function(t,n,a){"use strict";var e=a("ae60"),u=a.n(e);u.a}}]); 2 | ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 3 | 'components/noData/noData-create-component', 4 | { 5 | 'components/noData/noData-create-component':(function(module, exports, __webpack_require__){ 6 | __webpack_require__('543d')['createComponent'](__webpack_require__("4f0f")) 7 | }) 8 | }, 9 | [['components/noData/noData-create-component']] 10 | ]); 11 | -------------------------------------------------------------------------------- /web/pages/wechat/mpLogin.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/parser/libs/trees.wxss: -------------------------------------------------------------------------------- 1 | .navigator-hover{opacity:.7;text-decoration:underline}._b, 2 | ._strong{font-weight:700}._big{font-size:1.2em}._small{font-size:.8em}._blockquote, 3 | ._div, 4 | ._p, 5 | ._ol, 6 | ._ul, 7 | ._li{display:block}._code{font-family:monospace}._del{text-decoration:line-through}._em, 8 | ._i{font-style:italic}._h1{font-size:2em}._h2{font-size:1.5em}._h3{font-size:1.17em}._h5{font-size:.67em}._h1, 9 | ._h2, 10 | ._h3, 11 | ._h4, 12 | ._h5, 13 | ._h6{font-weight:700}._ins{text-decoration:underline}._ol-before{width:36px;text-align:right;margin-right:5px;-webkit-flex-shrink:0;flex-shrink:0}._ul-before{margin-left:23px;margin-right:12px;line-height:normal;-webkit-flex-shrink:0;flex-shrink:0}._ul-type1{width:.3em;height:.3em;line-height:.3em;color:inherit;display:inline-block;overflow:hidden}._ul-type2{width:.23em;height:.23em;background-color:initial;border:.05em solid #000;border-radius:50%;display:inline-block}._q::before{content:'"'}._q::after{content:'"'}._a, 14 | ._abbr, 15 | ._b, 16 | ._big, 17 | ._small, 18 | ._code, 19 | ._del, 20 | ._em, 21 | ._i, 22 | ._ins, 23 | ._label, 24 | ._q, 25 | ._span, 26 | ._strong{display:inline}.__sub, 27 | .__sup, 28 | .__bdo, 29 | .__bdi, 30 | .__ruby, 31 | .__rt{display:inline-block!important}._video{background-color:#000;width:300px;height:225px;display:inline-block;position:relative}._video::after{content:"";border-width:15px 0 15px 30px;border-style:solid;border-color:transparent transparent transparent #fff;position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px} -------------------------------------------------------------------------------- /web/config/api.js: -------------------------------------------------------------------------------- 1 | // let apiRoot = 'http://tcyhw.free.idcfengye.com/api/'; 2 | let apiRoot = 'http://localhost:9533/api/'; 3 | // let apiRoot = 'https://miniapp.tcyhw.top/v3/api/'; 4 | let api = { 5 | common: { 6 | aboutUs: apiRoot + 'aboutUs', 7 | verify: apiRoot + "verify", 8 | }, 9 | article: { 10 | index: apiRoot + 'getIndex', 11 | category: apiRoot + 'getCategory', 12 | detail: apiRoot + 'detail', 13 | comment: apiRoot + 'comment', 14 | commentDetail: apiRoot + "commentDetail", 15 | commentReply: apiRoot + "commentReply", 16 | addComment: apiRoot + 'addComment', 17 | addReply: apiRoot + 'addReply', 18 | like: apiRoot + "like", 19 | commentLike: apiRoot + "commentLike", 20 | commentReplyLike: apiRoot + "commentReplyLike", 21 | favorite: apiRoot + "favorite", 22 | favoriteList: apiRoot + "favoriteList", 23 | }, 24 | user: { 25 | login: apiRoot + "login", 26 | register: apiRoot + "register", 27 | index: apiRoot + "userIndex", 28 | userInfo: apiRoot + "userInfo", 29 | updateAvatar: apiRoot + "updateAvatar", 30 | upload: apiRoot + "upload", 31 | setting: apiRoot + "setting", 32 | updatePassword: apiRoot + "updatePassword", 33 | forgot: apiRoot + "forgot", 34 | updatePasswordByMobile: apiRoot + "updatePasswordByMobile", 35 | feedback: apiRoot + "feedback", 36 | logout: apiRoot + "logout", 37 | }, 38 | wechat: { 39 | miniAppLogin: apiRoot + 'miniAppLogin', 40 | mpLogin: apiRoot + 'mpLogin', 41 | devLogin: apiRoot + 'devLogin', 42 | mpConfig: apiRoot + 'mpConfig', 43 | }, 44 | }; 45 | export default api; 46 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/mapper/ContentInfoMapper.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.mapper; 2 | 3 | import com.mrguan.tcyhwapp.entity.vo.DetailVO; 4 | import com.mrguan.tcyhwapp.entity.vo.FavoriteVO; 5 | import com.mrguan.tcyhwapp.entity.vo.IndexVO; 6 | import com.mrguan.tcyhwapp.entity.vo.SliderVO; 7 | import com.mrguan.tcyhwapp.model.ContentInfo; 8 | import com.mrguan.tcyhwapp.utils.MyBaseMapper; 9 | import org.apache.ibatis.annotations.CacheNamespace; 10 | import org.apache.ibatis.annotations.Mapper; 11 | import org.apache.ibatis.annotations.Param; 12 | import org.apache.ibatis.annotations.Update; 13 | 14 | import java.util.List; 15 | 16 | @Mapper 17 | @CacheNamespace(flushInterval = 300000L)//缓存五分钟过期 18 | public interface ContentInfoMapper extends MyBaseMapper { 19 | List getIndex(@Param("category_id") Long category_id, @Param("q") String q); 20 | 21 | List getSlider(@Param("category_id") Long category_id, @Param("q") String q); 22 | 23 | DetailVO getById(Long id); 24 | 25 | List getFavoriteList(Long userId); 26 | 27 | @Update("UPDATE content_info set comment_count=comment_count+(#{count}) where id=#{id}") 28 | int addCommentCount(@Param("count") Integer count, @Param("id") Long id); 29 | 30 | @Update("UPDATE content_info set like_count=like_count+(#{count}) where id=#{id}") 31 | int addLikeCount(@Param("count") Integer count, @Param("id") Long id); 32 | 33 | @Update("UPDATE content_info set `read_count`=`read_count`+1 where id=#{id}") 34 | int addRead(Long id); 35 | } 36 | -------------------------------------------------------------------------------- /web/components/parser/libs/handler.sjs: -------------------------------------------------------------------------------- 1 | export default { 2 | getStyle: function(style, display) { 3 | var tmp, res = ""; 4 | if (style) { 5 | style = style.toLowerCase(); 6 | if (style.indexOf("float") != -1) res += style.match(getRegExp("float[^;]+", "g")).pop(); 7 | if (style.indexOf("margin") != -1) res += (';' + style.match(getRegExp("margin[^;]+", "g")).join(';')); 8 | if (style.indexOf("display") != -1 && (tmp = style.match(getRegExp("display[^;]+", "g")).pop(), tmp.indexOf("flex") == 9 | -1)) res += (';' + tmp); 10 | else res += (';display:' + display); 11 | tmp = style.match(getRegExp("flex[^;]*:[^;]+", "g")); 12 | if (tmp) res += (';' + tmp.join(';')); 13 | if (style.indexOf("width") != -1) res += (';' + style.match(getRegExp("[^;\s]*width[^;]+", "g")).join(';')); 14 | } else res = ("display:" + display); 15 | return res; 16 | }, 17 | setImgStyle: function(item, imgMode) { 18 | if (item.attrs.style) 19 | item.attrs.style = item.attrs.style.toLowerCase().replace(getRegExp("width[^;]*?%", "g"), "width:100%").replace( 20 | getRegExp('margin[^;]+', "g"), ""); 21 | if (imgMode == "widthFix") item.attrs.style = (item.attrs.style || '') + ";height:auto !important"; 22 | return [item]; 23 | }, 24 | setStyle: function(item) { 25 | if (item.attrs.style) 26 | item.attrs.style = item.attrs.style.toLowerCase().replace(getRegExp("width[^;]*?%", "g"), "width:100%").replace( 27 | getRegExp('margin[^;]+', "g"), ""); 28 | return [item]; 29 | }, 30 | isInlineTag: function(name) { 31 | return !!inlineTags[name]; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/search/search.wxml: -------------------------------------------------------------------------------- 1 | 搜索历史{{item}} -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 36 | -------------------------------------------------------------------------------- /api-server/src/main/resources/mapper/ContentInfoMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | SELECT 8 | id, title,photo_url,`read_count` as `read`,create_time,source,comment_count 9 | from content_info 10 | where enable=1 11 | 12 | and category_id=#{category_id} 13 | 14 | 15 | and (LOCATE(#{q},title)>0) 16 | 17 | 18 | 19 | 22 | 26 | 30 | 36 | 37 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/uni-popup/uni-popup.wxss: -------------------------------------------------------------------------------- 1 | .uni-popup{position:fixed;top:0;bottom:0;left:0;right:0;z-index:99999;overflow:hidden}.uni-popup__mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:998;background:rgba(0,0,0,.4);opacity:0}.uni-popup__mask.ani{-webkit-transition:all .3s;transition:all .3s}.uni-popup__mask.uni-top, .uni-popup__mask.uni-bottom, .uni-popup__mask.uni-center{opacity:1}.uni-popup__wrapper{position:absolute;z-index:999;box-sizing:border-box}.uni-popup__wrapper.ani{-webkit-transition:all .3s;transition:all .3s}.uni-popup__wrapper.top{top:0;left:0;width:100%;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uni-popup__wrapper.bottom{bottom:0;left:0;width:100%;-webkit-transform:translateY(100%);transform:translateY(100%)}.uni-popup__wrapper.center{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transform:scale(1.2);transform:scale(1.2);opacity:0}.uni-popup__wrapper-box{position:relative;box-sizing:border-box}.uni-popup__wrapper.uni-custom .uni-popup__wrapper-box{padding:30rpx;background:#fff}.uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box{position:relative;max-width:80%;max-height:80%;overflow-y:scroll}.uni-popup__wrapper.uni-custom.top .uni-popup__wrapper-box, .uni-popup__wrapper.uni-custom.bottom .uni-popup__wrapper-box{width:100%;max-height:500px;overflow-y:scroll}.uni-popup__wrapper.uni-top, .uni-popup__wrapper.uni-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.uni-popup__wrapper.uni-center{-webkit-transform:scale(1);transform:scale(1);opacity:1} -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/login.wxss: -------------------------------------------------------------------------------- 1 | .content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.content .logo{margin-top:143rpx;margin-left:auto;margin-right:auto}.content .logo image{height:65rpx;width:360rpx}.content .list{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;padding-top:120rpx;padding-left:100rpx;padding-right:100rpx}.content .list .item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:100rpx;border-bottom:1rpx solid #e6e6e6}.content .list .item .icon{color:#ababab;margin-right:5rpx;font-size:40rpx}.content .list .item .input{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:left;font-size:30rpx;margin-left:16rpx}.content .button{margin-top:100rpx}.content .other{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:30rpx;margin-top:60rpx;color:#ffd100;text-align:center;height:40rpx;line-height:40rpx}.content .other text{font-size:24rpx;margin-left:15rpx;margin-right:15rpx} -------------------------------------------------------------------------------- /web/pages/user/feedback.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 63 | 64 | 84 | -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/config/DruidConfig.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.config; 2 | 3 | import com.alibaba.druid.pool.DruidDataSource; 4 | import com.alibaba.druid.support.http.StatViewServlet; 5 | import com.alibaba.druid.support.http.WebStatFilter; 6 | import org.springframework.boot.context.properties.ConfigurationProperties; 7 | import org.springframework.boot.web.servlet.FilterRegistrationBean; 8 | import org.springframework.boot.web.servlet.ServletRegistrationBean; 9 | import org.springframework.context.annotation.Bean; 10 | import org.springframework.context.annotation.Configuration; 11 | 12 | import javax.sql.DataSource; 13 | 14 | 15 | /** 16 | * Created with Intellij IDEA. 17 | * 18 | * @Author: Gabriel 19 | * @Date: 2018-10-10 20 | * @Desciption: 21 | */ 22 | 23 | @Configuration 24 | 25 | public class DruidConfig { 26 | 27 | @Bean 28 | @ConfigurationProperties(prefix = "spring.datasource") 29 | public DataSource druid(){ 30 | return new DruidDataSource(); 31 | } 32 | 33 | @Bean 34 | public ServletRegistrationBean druidServlet(){ 35 | ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*"); 36 | bean.addInitParameter("allow","127.0.0.1"); 37 | bean.addInitParameter("resetEnable","false"); 38 | bean.addInitParameter("loginUsername","admin"); 39 | bean.addInitParameter("loginPassword","admin"); 40 | return bean; 41 | } 42 | 43 | @Bean 44 | public FilterRegistrationBean statFilter(){ 45 | FilterRegistrationBean bean = new FilterRegistrationBean(new WebStatFilter()); 46 | bean.addUrlPatterns("/*"); 47 | bean.addInitParameter("exclusions","*.js,*.gif,/druid/*"); 48 | return bean; 49 | } 50 | } 51 | 52 | -------------------------------------------------------------------------------- /web/components/uni-popup/readme.md: -------------------------------------------------------------------------------- 1 | ## Popup 弹出层 2 | 3 | 弹出层组件,为了解决遮罩弹层的问题。组件名:``uni-popup``,代码块: uPopup。 4 | 5 | 6 | **使用方式:** 7 | 8 | 在 ``script`` 中引用组件 9 | 10 | ```javascript 11 | import uniPopup from "@/components/uni-popup/uni-popup.vue" 12 | export default { 13 | components: {uniPopup} 14 | } 15 | ``` 16 | 17 | **基本用法** 18 | 19 | ```html 20 | 底部弹出 Popup 21 | ``` 22 | 23 | **属性说明:** 24 | 25 | | 属性名 | 类型 | 默认值| 说明 | 26 | | --- | --- | --- | --- | 27 | | animation | Boolean |true | 是否开启动画 | 28 | | type | String |center | 弹出方式,可选值:top(顶部),center(居中),bottom(底部) | 29 | | show | Boolean |false | 显示弹窗 | 30 | | custom | Boolean |false | 是否自定义内容 | 31 | | maskClick | Boolean |true | 蒙版点击是否关闭弹窗 | 32 | | change | function |true | 打开关闭弹窗触发 | 33 | 34 | 35 | **方法说明:** 36 | 通过 `ref` 获取组件方法 37 | 38 | |方法称名 |说明 | 39 | |--- |---- | 40 | |open |打开弹出层 | 41 | |close |关闭弹出层 | 42 | 43 | ```html 44 | 45 | 46 | 47 | 弹出层示例 48 | 49 | 50 | 51 | ``` 52 | 53 | ```javascript 54 | export default { 55 | methods:{ 56 | openPopup(){ 57 | this.$refs.popup.open() 58 | }, 59 | closePopup(){ 60 | this.$refs.popup.close() 61 | } 62 | } 63 | } 64 | ``` 65 | 66 | Tips 67 | - show 的作用与 open() 效果一致 ,在使用中显示弹窗二者只能选择其一。如果使用 show 显示弹窗,那么关闭弹窗时,应将 show 置为 false 68 | 69 | ### 更新日志 70 | **1.1.3** 71 | - 新增 打开关闭弹窗的回调事件 72 | 73 | **1.1.2** 74 | - 新增 显示弹窗属性 75 | - 修复 h5 取消导航栏,顶部空白问题 76 | 77 | **1.1.1** 78 | - 修复 图片不显示的问题 79 | 80 | **1.1.0** 81 | - 新增 动画效果 82 | - 修复 示例底部弹出样式错乱的 bug 83 | - 优化 代码重构 可完全自定义内容 84 | 85 | **1.0.0** 86 | - 初始化项目 -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ 3 | "pages/article/index", 4 | "pages/article/rindex", 5 | "pages/article/search", 6 | "pages/article/detail", 7 | "pages/article/comment", 8 | "pages/article/commentDetail", 9 | "pages/user/index", 10 | "pages/user/favorites", 11 | "pages/user/favorite", 12 | "pages/user/feedback", 13 | "pages/user/setting", 14 | "pages/user/profile", 15 | "pages/user/password", 16 | "pages/common/login", 17 | "pages/wechat/miniAppLogin", 18 | "pages/common/register", 19 | "pages/common/protocol", 20 | "pages/common/forget", 21 | "pages/common/about" 22 | ], 23 | "subPackages": [], 24 | "window": { 25 | "navigationBarTextStyle": "white", 26 | "navigationBarTitleText": "团节社成都", 27 | "navigationBarBackgroundColor": "#ffd100", 28 | "backgroundColor": "#F8F8F8" 29 | }, 30 | "tabBar": { 31 | "color": "#000000", 32 | "selectedColor": "#000000", 33 | "backgroundColor": "#FFFFFF", 34 | "list": [ 35 | { 36 | "pagePath": "pages/article/index", 37 | "iconPath": "static/images/nav/icon_home.png", 38 | "selectedIconPath": "static/images/nav/icon_home_hover.png", 39 | "text": "主页" 40 | }, 41 | { 42 | "pagePath": "pages/user/favorites", 43 | "iconPath": "static/images/nav/icon_favorite.png", 44 | "selectedIconPath": "static/images/nav/icon_favorite_hover.png", 45 | "text": "收藏" 46 | }, 47 | { 48 | "pagePath": "pages/user/index", 49 | "iconPath": "static/images/nav/icon_user.png", 50 | "selectedIconPath": "static/images/nav/icon_user_hover.png", 51 | "text": "我的" 52 | } 53 | ] 54 | }, 55 | "usingComponents": {}, 56 | "sitemapLocation": "sitemap.json" 57 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/feedback.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/user/feedback"],{2824:function(n,t,e){"use strict";e.r(t);var o=e("b732"),c=e("3657");for(var u in c)"default"!==u&&function(n){e.d(t,n,(function(){return c[n]}))}(u);e("fb74");var i,a=e("f0c5"),r=Object(a["a"])(c["default"],o["b"],o["c"],!1,null,"2adc0e1e",null,!1,o["a"],i);t["default"]=r.exports},3657:function(n,t,e){"use strict";e.r(t);var o=e("6561"),c=e.n(o);for(var u in o)"default"!==u&&function(n){e.d(t,n,(function(){return o[n]}))}(u);t["default"]=c.a},6561:function(n,t,e){"use strict";(function(n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(){e.e("components/iconfont/iconfont").then(function(){return resolve(e("db8f"))}.bind(null,e)).catch(e.oe)},c={components:{iconfont:o},data:function(){return{content:""}},onShow:function(){this.$initPageTitle()},onLoad:function(n){},onPullDownRefresh:function(){},methods:{save:function(){var t=this;""!=this.content?(n.showLoading({title:"提交中…"}),this.$app.request({url:this.$api.user.feedback,data:{content:this.content},method:"POST",dataType:"json",success:function(e){console.log(e),0==e.code?(n.hideLoading(),t.$alert("提交成功"),t.content=""):t.$alert(e.msg)},complete:function(t){n.stopPullDownRefresh()}})):this.$alert("请输入您的意见或建议")}}};t.default=c}).call(this,e("543d")["default"])},"933b":function(n,t,e){"use strict";(function(n){e("4ebb");o(e("66fd"));var t=o(e("2824"));function o(n){return n&&n.__esModule?n:{default:n}}n(t.default)}).call(this,e("543d")["createPage"])},b732:function(n,t,e){"use strict";var o;e.d(t,"b",(function(){return c})),e.d(t,"c",(function(){return u})),e.d(t,"a",(function(){return o}));var c=function(){var n=this,t=n.$createElement;n._self._c},u=[]},e712:function(n,t,e){},fb74:function(n,t,e){"use strict";var o=e("e712"),c=e.n(o);c.a}},[["933b","common/runtime","common/vendor"]]]); -------------------------------------------------------------------------------- /web/pages/wechat/miniAppLogin.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 49 | 50 | 78 | -------------------------------------------------------------------------------- /web/uni.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 这里是uni-app内置的常用样式变量 3 | * 4 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 5 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App 6 | * 7 | */ 8 | 9 | /** 10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 11 | * 12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 13 | */ 14 | 15 | /* 颜色变量 */ 16 | 17 | /* 行为相关颜色 */ 18 | $uni-color-primary: #007aff; 19 | $uni-color-success: #4cd964; 20 | $uni-color-warning: #f0ad4e; 21 | $uni-color-error: #dd524d; 22 | 23 | /* 文字基本颜色 */ 24 | $uni-text-color:#333;//基本色 25 | $uni-text-color-inverse:#fff;//反色 26 | $uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 27 | $uni-text-color-placeholder: #808080; 28 | $uni-text-color-disable:#c0c0c0; 29 | 30 | /* 背景颜色 */ 31 | $uni-bg-color:#ffffff; 32 | $uni-bg-color-grey:#f8f8f8; 33 | $uni-bg-color-hover:#f1f1f1;//点击状态颜色 34 | $uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 35 | 36 | /* 边框颜色 */ 37 | $uni-border-color:#c8c7cc; 38 | 39 | /* 尺寸变量 */ 40 | 41 | /* 文字尺寸 */ 42 | $uni-font-size-sm:24rpx; 43 | $uni-font-size-base:28rpx; 44 | $uni-font-size-lg:32rpx; 45 | 46 | /* 图片尺寸 */ 47 | $uni-img-size-sm:40rpx; 48 | $uni-img-size-base:52rpx; 49 | $uni-img-size-lg:80rpx; 50 | 51 | /* Border Radius */ 52 | $uni-border-radius-sm: 4rpx; 53 | $uni-border-radius-base: 6rpx; 54 | $uni-border-radius-lg: 12rpx; 55 | $uni-border-radius-circle: 50%; 56 | 57 | /* 水平间距 */ 58 | $uni-spacing-row-sm: 10px; 59 | $uni-spacing-row-base: 20rpx; 60 | $uni-spacing-row-lg: 30rpx; 61 | 62 | /* 垂直间距 */ 63 | $uni-spacing-col-sm: 8rpx; 64 | $uni-spacing-col-base: 16rpx; 65 | $uni-spacing-col-lg: 24rpx; 66 | 67 | /* 透明度 */ 68 | $uni-opacity-disabled: 0.3; // 组件禁用态的透明度 69 | 70 | /* 文章场景相关 */ 71 | $uni-color-title: #2C405A; // 文章标题颜色 72 | $uni-font-size-title:40rpx; 73 | $uni-color-subtitle: #555555; // 二级标题颜色 74 | $uni-font-size-subtitle:36rpx; 75 | $uni-color-paragraph: #3F536E; // 文章段落颜色 76 | $uni-font-size-paragraph:30rpx; -------------------------------------------------------------------------------- /web/components/parser/libs/handler.wxs: -------------------------------------------------------------------------------- 1 | /* 2 | 给顶层标签的一些样式取出给 rich-text 3 | github地址:https://github.com/jin-yufeng/Parser 4 | 文档地址:https://jin-yufeng.github.io/Parser 5 | author:JinYufeng 6 | */ 7 | module.exports = { 8 | getStyle: function(style, display) { 9 | var tmp, res = ""; 10 | if (style) { 11 | style = style.toLowerCase(); 12 | if (style.indexOf("float") != -1) res += style.match(getRegExp("float[^;]+", "g")).pop(); 13 | if (style.indexOf("margin") != -1) res += (';' + style.match(getRegExp("margin[^;]+", "g")).join(';')); 14 | if (style.indexOf("display") != -1 && (tmp = style.match(getRegExp("display[^;]+", "g")).pop(), tmp.indexOf("flex") == 15 | -1)) res += (';' + tmp); 16 | else res += (';display:' + display); 17 | tmp = style.match(getRegExp("flex[^;]*:[^;]+", "g")); 18 | if (tmp) res += (';' + tmp.join(';')); 19 | if (style.indexOf("width") != -1) res += (';' + style.match(getRegExp("[^;\s]*width[^;]+", "g")).join(';')); 20 | } else res = ("display:" + display); 21 | return res; 22 | }, 23 | setImgStyle: function(item, imgLoad) { 24 | var img = { 25 | name: "img", 26 | attrs: JSON.parse(JSON.stringify(item.attrs)) 27 | } 28 | if (img.attrs.style) 29 | img.attrs.style = img.attrs.style.toLowerCase().replace(getRegExp("width[^;]+%", "g"), "width:100%").replace( 30 | getRegExp('margin[^;]+', "g"), ""); 31 | if (!imgLoad) { 32 | delete img.attrs.src; 33 | img.attrs.style += ";width:20px !important;height:20px !important"; 34 | } 35 | return [img]; 36 | }, 37 | setStyle: function(item) { 38 | if (item.attrs.style) { 39 | var newItem = { 40 | name: item.name, 41 | attrs: JSON.parse(JSON.stringify(item.attrs)), 42 | children: item.children 43 | } 44 | newItem.attrs.style = newItem.attrs.style.toLowerCase().replace(getRegExp("width[^;]+%", "g"), "width:100%").replace( 45 | getRegExp('margin[^;]+', "g"), ""); 46 | return [newItem]; 47 | } 48 | return [item]; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/parser/libs/handler.wxs: -------------------------------------------------------------------------------- 1 | /* 2 | 给顶层标签的一些样式取出给 rich-text 3 | github地址:https://github.com/jin-yufeng/Parser 4 | 文档地址:https://jin-yufeng.github.io/Parser 5 | author:JinYufeng 6 | */ 7 | module.exports = { 8 | getStyle: function(style, display) { 9 | var tmp, res = ""; 10 | if (style) { 11 | style = style.toLowerCase(); 12 | if (style.indexOf("float") != -1) res += style.match(getRegExp("float[^;]+", "g")).pop(); 13 | if (style.indexOf("margin") != -1) res += (';' + style.match(getRegExp("margin[^;]+", "g")).join(';')); 14 | if (style.indexOf("display") != -1 && (tmp = style.match(getRegExp("display[^;]+", "g")).pop(), tmp.indexOf("flex") == 15 | -1)) res += (';' + tmp); 16 | else res += (';display:' + display); 17 | tmp = style.match(getRegExp("flex[^;]*:[^;]+", "g")); 18 | if (tmp) res += (';' + tmp.join(';')); 19 | if (style.indexOf("width") != -1) res += (';' + style.match(getRegExp("[^;\s]*width[^;]+", "g")).join(';')); 20 | } else res = ("display:" + display); 21 | return res; 22 | }, 23 | setImgStyle: function(item, imgLoad) { 24 | var img = { 25 | name: "img", 26 | attrs: JSON.parse(JSON.stringify(item.attrs)) 27 | } 28 | if (img.attrs.style) 29 | img.attrs.style = img.attrs.style.toLowerCase().replace(getRegExp("width[^;]+%", "g"), "width:100%").replace( 30 | getRegExp('margin[^;]+', "g"), ""); 31 | if (!imgLoad) { 32 | delete img.attrs.src; 33 | img.attrs.style += ";width:20px !important;height:20px !important"; 34 | } 35 | return [img]; 36 | }, 37 | setStyle: function(item) { 38 | if (item.attrs.style) { 39 | var newItem = { 40 | name: item.name, 41 | attrs: JSON.parse(JSON.stringify(item.attrs)), 42 | children: item.children 43 | } 44 | newItem.attrs.style = newItem.attrs.style.toLowerCase().replace(getRegExp("width[^;]+%", "g"), "width:100%").replace( 45 | getRegExp('margin[^;]+', "g"), ""); 46 | return [newItem]; 47 | } 48 | return [item]; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/uni-popup/uni-popup.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/uni-popup/uni-popup"],{"517b":function(t,n,e){"use strict";e.r(n);var o=e("c524"),i=e.n(o);for(var u in o)"default"!==u&&function(t){e.d(n,t,(function(){return o[t]}))}(u);n["default"]=i.a},6556:function(t,n,e){},"8e38":function(t,n,e){"use strict";var o=e("6556"),i=e.n(o);i.a},aaef:function(t,n,e){"use strict";e.r(n);var o=e("abe4"),i=e("517b");for(var u in i)"default"!==u&&function(t){e.d(n,t,(function(){return i[t]}))}(u);e("8e38");var a,c=e("f0c5"),s=Object(c["a"])(i["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],a);n["default"]=s.exports},abe4:function(t,n,e){"use strict";var o;e.d(n,"b",(function(){return i})),e.d(n,"c",(function(){return u})),e.d(n,"a",(function(){return o}));var i=function(){var t=this,n=t.$createElement;t._self._c},u=[]},c524:function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var o={name:"UniPopup",props:{animation:{type:Boolean,default:!0},type:{type:String,default:"center"},custom:{type:Boolean,default:!1},maskClick:{type:Boolean,default:!0},show:{type:Boolean,default:!0}},data:function(){return{ani:"",showPopup:!1}},watch:{show:function(t){t?this.open():this.close()}},created:function(){},methods:{clear:function(){},open:function(){var t=this;this.$emit("change",{show:!0}),this.showPopup=!0,this.$nextTick((function(){setTimeout((function(){t.ani="uni-"+t.type}),30)}))},close:function(t){var n=this;!this.maskClick&&t||(this.$emit("change",{show:!1}),this.$emit("close",{show:!1}),this.ani="",this.$nextTick((function(){setTimeout((function(){n.showPopup=!1}),300)})))}}};n.default=o}}]); 2 | ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 3 | 'components/uni-popup/uni-popup-create-component', 4 | { 5 | 'components/uni-popup/uni-popup-create-component':(function(module, exports, __webpack_require__){ 6 | __webpack_require__('543d')['createComponent'](__webpack_require__("aaef")) 7 | }) 8 | }, 9 | [['components/uni-popup/uni-popup-create-component']] 10 | ]); 11 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/h5/index.html: -------------------------------------------------------------------------------- 1 | 团结社成都
-------------------------------------------------------------------------------- /web/common/sdk/wechatMP.js: -------------------------------------------------------------------------------- 1 | // #ifdef H5 2 | 3 | let jweixin = require('jweixin-module') 4 | 5 | /*初始化分享*/ 6 | function initShare(page, share) { 7 | page.$app.request({ 8 | url: page.$api.wechat.mpConfig, 9 | data: { 10 | url: window.location.href 11 | }, 12 | method: 'POST', 13 | dataType: 'json', 14 | success: res => { 15 | if (res.code == 0) { 16 | let config = res.data; 17 | /*授权api*/ 18 | let jsApiList = [ 19 | 'updateAppMessageShareData', 20 | 'updateTimelineShareData', 21 | 'hideOptionMenu', 22 | 'showOptionMenu', 23 | 'chooseWXPay' 24 | ]; 25 | jweixin.config({ 26 | debug: false, 27 | appId: config.appId, // 必填,公众号的唯一标识 28 | timestamp: config.timestamp, // 必填,生成签名的时间戳 29 | nonceStr: config.nonceStr, // 必填,生成签名的随机串 30 | signature: config.signature, // 必填,签名 31 | jsApiList: jsApiList // 必填,需要使用的JS接口列表 32 | }); 33 | jweixin.ready(() => { 34 | /*初始化公众号配置,获取js授权签名*/ 35 | let shareUrl = share.link; //通过中转方法解决微信分享会截断#号路径问题 36 | share.link = shareUrl.replace('?from=singlemessage', ''); 37 | /*分享到朋友圈*/ 38 | jweixin.updateAppMessageShareData({ 39 | title: share.title, // 分享标题 40 | desc: share.desc, // 分享描述 41 | link: share.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 42 | imgUrl: share.imgUrl, // 分享图标 43 | success: () => { 44 | share.success(); 45 | }, 46 | cancel: () => { 47 | console.log('分享至朋友圈失败') 48 | } 49 | }); 50 | /*分享给朋友*/ 51 | jweixin.updateTimelineShareData({ 52 | title: share.title, // 分享标题 53 | link: share.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 54 | imgUrl: share.imgUrl, // 分享图标 55 | success: () => { 56 | share.success(); 57 | }, 58 | cancel: () => { 59 | console.log('分享给朋友失败') 60 | } 61 | }); 62 | }) 63 | } else { 64 | //page.$alert(res.msg, 'warning'); 65 | console.log(res.msg) 66 | } 67 | }, 68 | fail: res => { 69 | console.log(res) 70 | }, 71 | }); 72 | } 73 | module.exports = { 74 | initShare: initShare 75 | } 76 | 77 | // #endif 78 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/password.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/user/password"],{3644:function(n,t,o){"use strict";(function(n){o("4ebb");e(o("66fd"));var t=e(o("c3aa"));function e(n){return n&&n.__esModule?n:{default:n}}n(t.default)}).call(this,o("543d")["createPage"])},"51ac":function(n,t,o){"use strict";(function(n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;o("2f62");var e=a(o("0dd3"));function a(n){return n&&n.__esModule?n:{default:n}}var s=function(){o.e("components/iconfont/iconfont").then(function(){return resolve(o("db8f"))}.bind(null,o)).catch(o.oe)},r={components:{iconfont:s},onShow:function(){this.$initPageTitle()},onLoad:function(){},data:function(){return{old_password:"",new_password:"",confirm_new_password:""}},methods:{updatePassword:function(){var t=this;""!=this.old_password?e.default.checkNewPassword(this.new_password)&&(this.new_password==this.confirm_new_password?(n.showLoading({title:"提交中…"}),this.$app.request({url:this.$api.user.updatePassword,data:{old_password:this.old_password,new_password:this.new_password},method:"POST",dataType:"json",success:function(o){console.log(o),0==o.code?(n.hideLoading(),t.$alert("密码修改成功"),setTimeout((function(){n.navigateBack()}),1e3)):t.$alert(o.msg)}})):this.$alert("两次输入的新密码不一样")):this.$alert("请输入原密码")}}};t.default=r}).call(this,o("543d")["default"])},"632d":function(n,t,o){"use strict";o.r(t);var e=o("51ac"),a=o.n(e);for(var s in e)"default"!==s&&function(n){o.d(t,n,(function(){return e[n]}))}(s);t["default"]=a.a},"78c4":function(n,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"c",(function(){return s})),o.d(t,"a",(function(){return e}));var e={iconfont:function(){return o.e("components/iconfont/iconfont").then(o.bind(null,"db8f"))}},a=function(){var n=this,t=n.$createElement;n._self._c},s=[]},"7e57":function(n,t,o){"use strict";var e=o("d187"),a=o.n(e);a.a},c3aa:function(n,t,o){"use strict";o.r(t);var e=o("78c4"),a=o("632d");for(var s in a)"default"!==s&&function(n){o.d(t,n,(function(){return a[n]}))}(s);o("7e57");var r,u=o("f0c5"),c=Object(u["a"])(a["default"],e["b"],e["c"],!1,null,null,null,!1,e["a"],r);t["default"]=c.exports},d187:function(n,t,o){}},[["3644","common/runtime","common/vendor"]]]); -------------------------------------------------------------------------------- /web/template.h5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 团节社成都 8 | 52 | 53 | 54 | 55 | 58 |
59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/register.wxml: -------------------------------------------------------------------------------- 1 | {{verify_text}}同意用户协议和隐私政策注册已有账号,点此去登录 -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/register.wxss: -------------------------------------------------------------------------------- 1 | .content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.content .logo{margin-top:143rpx;margin-left:auto;margin-right:auto}.content .logo image{height:65rpx;width:360rpx}.content .list{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;padding-top:40rpx;padding-left:100rpx;padding-right:100rpx}.content .list .item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:100rpx;border-bottom:1rpx solid #e6e6e6}.content .list .item .icon{color:#ababab;margin-right:5rpx;font-size:40rpx}.content .list .item .verfiy-code-icon .icon{font-size:52rpx;margin-right:-6rpx;margin-left:-4rpx}.content .list .item .input{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:left;font-size:30rpx;margin-left:16rpx}.content .list .verify-item{position:relative}.content .list .verify-item .verify-btn{position:absolute;top:22rpx;right:10rpx;color:#ffd100;font-size:30rpx;z-index:9999}.content .protocol{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-top:65rpx;padding-left:100rpx;text-align:left}.content .protocol .agree-box{width:55rpx}.content .protocol .name{margin-left:5rpx}.content .other{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:30rpx;margin-top:30rpx;color:#ffd100;text-align:center;height:40rpx;line-height:40rpx}.content .other text{font-size:24rpx;margin-left:15rpx;margin-right:15rpx} -------------------------------------------------------------------------------- /api-server/src/main/resources/mapper/CommentInfoMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 21 | 37 | 55 | 56 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/password.wxss: -------------------------------------------------------------------------------- 1 | .content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.content .logo{margin-top:143rpx;margin-left:auto;margin-right:auto}.content .logo image{width:218rpx;height:219rpx}.content .list{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;padding-top:40rpx;padding-left:100rpx;padding-right:100rpx;padding-bottom:40rpx}.content .list .item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:100rpx;border-bottom:1rpx solid #e6e6e6}.content .list .item .icon{color:#ababab;margin-right:5rpx;font-size:40rpx}.content .list .item .verfiy-code-icon .icon{font-size:52rpx;margin-right:-6rpx;margin-left:-4rpx}.content .list .item .input{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:left;font-size:30rpx;margin-left:16rpx}.content .list .verify-item{position:relative}.content .list .verify-item .verify-btn{position:absolute;top:22rpx;right:10rpx;color:#f9a853;font-size:30rpx;z-index:9999}.content .protocol{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-top:65rpx;padding-left:100rpx;text-align:left}.content .protocol .agree-box{width:55rpx}.content .protocol .name{margin-left:5rpx}.content .other{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:30rpx;margin-top:30rpx;color:#ffd100;text-align:center;height:40rpx;line-height:40rpx}.content .other text{font-size:24rpx;margin-left:15rpx;margin-right:15rpx} -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/utils/MD5Utils.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.utils; 2 | 3 | import org.apache.commons.codec.binary.Hex; 4 | 5 | import java.security.MessageDigest; 6 | import java.util.Random; 7 | 8 | /** 9 | * @introduction MD5 加密工具类 10 | */ 11 | public class MD5Utils { 12 | 13 | 14 | /** 15 | * 使用Apache的Hex类实现Hex(16进制字符串和)和字节数组的互转 16 | */ 17 | @SuppressWarnings("unused") 18 | private static String md5Hex(String str) { 19 | try { 20 | MessageDigest md = MessageDigest.getInstance("MD5"); 21 | byte[] digest = md.digest(str.getBytes()); 22 | return new String(new Hex().encode(digest)); 23 | } catch (Exception e) { 24 | e.printStackTrace(); 25 | return ""; 26 | } 27 | } 28 | 29 | /** 30 | * 加盐MD5加密 31 | */ 32 | public static String getSaltMD5(String password) { 33 | // 生成一个16位的随机数 34 | Random random = new Random(); 35 | StringBuilder sBuilder = new StringBuilder(16); 36 | sBuilder.append(random.nextInt(99999999)).append(random.nextInt(99999999)); 37 | int len = sBuilder.length(); 38 | if (len < 16) { 39 | for (int i = 0; i < 16 - len; i++) { 40 | sBuilder.append("0"); 41 | } 42 | } 43 | // 生成最终的加密盐 44 | String Salt = sBuilder.toString(); 45 | password = md5Hex(password + Salt); 46 | char[] cs = new char[48]; 47 | for (int i = 0; i < 48; i += 3) { 48 | cs[i] = password.charAt(i / 3 * 2); 49 | char c = Salt.charAt(i / 3); 50 | cs[i + 1] = c; 51 | cs[i + 2] = password.charAt(i / 3 * 2 + 1); 52 | } 53 | return String.valueOf(cs); 54 | } 55 | 56 | /** 57 | * 验证加盐后是否和原文一致 58 | */ 59 | public static boolean getSaltverifyMD5(String password, String md5str) { 60 | char[] cs1 = new char[32]; 61 | char[] cs2 = new char[16]; 62 | for (int i = 0; i < 48; i += 3) { 63 | cs1[i / 3 * 2] = md5str.charAt(i); 64 | cs1[i / 3 * 2 + 1] = md5str.charAt(i + 2); 65 | cs2[i / 3] = md5str.charAt(i + 1); 66 | } 67 | String Salt = new String(cs2); 68 | return md5Hex(password + Salt).equals(String.valueOf(cs1)); 69 | } 70 | 71 | } -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/common/forget.wxss: -------------------------------------------------------------------------------- 1 | .content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;margin-top:50rpx}.content .logo{margin-top:143rpx;margin-left:auto;margin-right:auto}.content .logo image{width:218rpx;height:219rpx}.content .list{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;padding-top:40rpx;padding-left:100rpx;padding-right:100rpx;padding-bottom:40rpx}.content .list .item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:100rpx;border-bottom:1rpx solid #e6e6e6}.content .list .item .icon{color:#ababab;margin-right:5rpx;font-size:40rpx}.content .list .item .verfiy-code-icon .icon{font-size:52rpx;margin-right:-6rpx;margin-left:-4rpx}.content .list .item .input{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:left;font-size:30rpx;margin-left:16rpx}.content .list .verify-item{position:relative}.content .list .verify-item .verify-btn{position:absolute;top:22rpx;right:10rpx;color:#ffd100;font-size:30rpx;z-index:9999}.content .protocol{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-top:65rpx;padding-left:100rpx;text-align:left}.content .protocol .agree-box{width:55rpx}.content .protocol .name{margin-left:5rpx}.content .other{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:30rpx;margin-top:30rpx;color:#ffd100;text-align:center;height:40rpx;line-height:40rpx}.content .other text{font-size:24rpx;margin-left:15rpx;margin-right:15rpx} -------------------------------------------------------------------------------- /api-server/src/main/java/com/mrguan/tcyhwapp/handler/JsonResponseBodyAdvice.java: -------------------------------------------------------------------------------- 1 | package com.mrguan.tcyhwapp.handler; 2 | 3 | import com.mrguan.tcyhwapp.entity.BasicResult; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.springframework.core.MethodParameter; 6 | import org.springframework.http.MediaType; 7 | import org.springframework.http.server.ServerHttpRequest; 8 | import org.springframework.http.server.ServerHttpResponse; 9 | import org.springframework.web.bind.annotation.RestControllerAdvice; 10 | import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; 11 | 12 | import java.util.Arrays; 13 | 14 | /** 15 | * 统一处理所有返回值,对其进行封装 16 | * 17 | * @author MrGuan 18 | * @date 2019-8-9 11:02:44 19 | */ 20 | @RestControllerAdvice 21 | @Slf4j 22 | public class JsonResponseBodyAdvice implements ResponseBodyAdvice { 23 | 24 | private final String ERROR_URL = "/error"; 25 | 26 | @Override 27 | public boolean supports(MethodParameter methodParameter, Class aClass) { 28 | return true; 29 | } 30 | 31 | @Override 32 | public Object beforeBodyWrite(Object o, MethodParameter methodParameter, MediaType mediaType, Class aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) { 33 | //排除swagger相关接口 34 | String[] swaggerUrl = {"/v2/api-docs", "/swagger-resources", "/swagger-resources/configuration/ui", "/swagger-resources/configuration/security", "/error"}; 35 | String path = serverHttpRequest.getURI().getPath(); 36 | if (ERROR_URL.equals(path) && !(o instanceof BasicResult)) { 37 | log.info("接口访问404了..."); 38 | return BasicResult.error(1, "服务器异常!"); 39 | } 40 | if (Arrays.asList(swaggerUrl).contains(serverHttpRequest.getURI().getPath())) { 41 | return o; 42 | } 43 | Object result = null; 44 | //String类型需要做特殊处理 45 | if (o instanceof String) { 46 | result = JSONChange.objToJson(BasicResult.success(o)); 47 | // log.info("接口:{},返回值:{}", path, JSONObject.toJSONString(result)); 48 | return result; 49 | } 50 | if (o instanceof BasicResult) { 51 | result = o; 52 | } else { 53 | result = BasicResult.success(o); 54 | } 55 | // log.info("接口:{},返回值:{}", path, JSONObject.toJSONString(result)); 56 | return result; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/image/cropper.wxss: -------------------------------------------------------------------------------- 1 | .cropper.data-v-c4dfe9b0{position:fixed;width:100%;height:100%;top:0;left:0;z-index:997}.toolbar.data-v-c4dfe9b0{position:absolute;width:100%;height:120rpx;left:0rpx;bottom:0rpx;box-sizing:border-box;background:#000}.btn-cancel.data-v-c4dfe9b0{position:absolute;left:100rpx;top:12rpx;font-size:30rpx;padding:0 80rpx;color:#353535;border-radius:150rpx;background:#fff;height:70rpx;line-height:70rpx}.btn-ok.data-v-c4dfe9b0{position:absolute;right:100rpx;top:12rpx;font-size:30rpx;padding:0 80rpx;color:#fff;border-radius:150rpx;background:#099e55;height:70rpx;line-height:70rpx}.body.data-v-c4dfe9b0{position:absolute;left:0rpx;right:0rpx;top:0rpx;bottom:120rpx;background:#000;overflow:hidden}.mask.data-v-c4dfe9b0{position:absolute;left:0rpx;right:0rpx;top:0rpx;bottom:0rpx;background:#000;opacity:.4}.plank.data-v-c4dfe9b0{position:absolute;left:0rpx;right:0rpx;top:0rpx;bottom:0rpx}.image.data-v-c4dfe9b0{position:absolute}.frame.data-v-c4dfe9b0{position:absolute}.canvas.data-v-c4dfe9b0{position:absolute;display:block;left:0;top:0}.rect.data-v-c4dfe9b0{position:absolute;left:-2px;top:-2px;width:100%;height:100%;border:2px solid #fff}.line-one.data-v-c4dfe9b0{position:absolute;width:100%;height:1px;background:#fff;left:0;top:33.3%}.line-two.data-v-c4dfe9b0{position:absolute;width:100%;height:1px;background:#fff;left:0;top:66.7%}.line-three.data-v-c4dfe9b0{position:absolute;width:1px;height:100%;background:#fff;top:0;left:33.3%}.line-four.data-v-c4dfe9b0{position:absolute;width:1px;height:100%;background:#fff;top:0;left:66.7%}.frame-left.data-v-c4dfe9b0{position:absolute;height:100%;width:8px;left:-4px;top:0}.frame-right.data-v-c4dfe9b0{position:absolute;height:100%;width:8px;right:-4px;top:0}.frame-top.data-v-c4dfe9b0{position:absolute;width:100%;height:8px;top:-4px;left:0}.frame-bottom.data-v-c4dfe9b0{position:absolute;width:100%;height:8px;bottom:-4px;left:0}.frame-left-top.data-v-c4dfe9b0{position:absolute;width:20px;height:20px;left:-6px;top:-6px;border-left:4px solid red;border-top:4px solid red}.frame-left-bottom.data-v-c4dfe9b0{position:absolute;width:20px;height:20px;left:-6px;bottom:-6px;border-left:4px solid red;border-bottom:4px solid red}.frame-right-top.data-v-c4dfe9b0{position:absolute;width:20px;height:20px;right:-6px;top:-6px;border-right:4px solid red;border-top:4px solid red}.frame-right-bottom.data-v-c4dfe9b0{position:absolute;width:20px;height:20px;right:-6px;bottom:-6px;border-right:4px solid red;border-bottom:4px solid red} -------------------------------------------------------------------------------- /web/common/validator.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 弹出框 3 | */ 4 | const toast = function(title) { 5 | uni.showToast({ 6 | icon: 'none', 7 | title: title 8 | }) 9 | } 10 | 11 | /** 12 | * 手机验证 13 | */ 14 | const checkMobile = function(value) { 15 | let reg = /^1\d{10}$/ 16 | if (value == '') { 17 | toast('请输入手机号码'); 18 | return false; 19 | } else if (!reg.test(value)) { 20 | toast('手机号码格式不正确'); 21 | return false; 22 | } 23 | return true; 24 | } 25 | 26 | /** 27 | * 密码验证 28 | */ 29 | const checkNickname = function(value) { 30 | if (value == '') { 31 | toast('请输入昵称'); 32 | return false; 33 | } else if (value.length < 2) { 34 | toast('昵称太短了'); 35 | return false; 36 | } else if (value.length > 32) { 37 | toast('昵称太长了'); 38 | return false; 39 | } 40 | return true; 41 | } 42 | 43 | /** 44 | * 密码验证 45 | */ 46 | const checkPassword = function(value) { 47 | if (value == '') { 48 | toast('请输入密码'); 49 | return false; 50 | } else if (value.length < 6) { 51 | toast('密码长度不能小于6位'); 52 | return false; 53 | } 54 | return true; 55 | } 56 | 57 | /** 58 | * 密码验证 59 | */ 60 | const checkNewPassword = function(value) { 61 | if (value == '') { 62 | toast('请输入密新码'); 63 | return false; 64 | } else if (value.length < 6) { 65 | toast('新密码长度不能小于6位'); 66 | return false; 67 | } 68 | return true; 69 | } 70 | 71 | /** 72 | * 验证码验证 73 | */ 74 | const checkVerifyCode = function(value) { 75 | let reg = /^\d{4}$/ 76 | if (value == '') { 77 | toast('请输入验证码'); 78 | return false; 79 | } else if (!reg.test(value)) { 80 | toast('验证码不正确'); 81 | return false; 82 | } 83 | return true; 84 | } 85 | 86 | /** 87 | * 身份证验证 88 | */ 89 | const checkIdCard = function(value) { 90 | let reg = /^\d{15}|\d{18}$/ 91 | if (value == '') { 92 | toast('请输入身份证号码'); 93 | return false; 94 | } else if (!reg.test(value)) { 95 | toast('身份证必须是15或18位数字'); 96 | return false; 97 | } 98 | return true; 99 | } 100 | 101 | /** 102 | * 银行卡验证 103 | */ 104 | const checkBankCard = function(value) { 105 | let reg = /^([1-9]{1})(\d{14}|\d{15}|\d{16}|\d{18})$/ 106 | if (value == '') { 107 | toast('请输入银行卡号'); 108 | return false; 109 | } else if (!reg.test(value)) { 110 | toast('银行卡号格式不正确'); 111 | return false; 112 | } 113 | return true; 114 | } 115 | 116 | export default { 117 | checkMobile, 118 | checkNickname, 119 | checkPassword, 120 | checkNewPassword, 121 | checkVerifyCode, 122 | checkIdCard, 123 | checkBankCard 124 | }; 125 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/article/search.wxml: -------------------------------------------------------------------------------- 1 | {{item.name}} -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/article/list.wxss: -------------------------------------------------------------------------------- 1 | .list{margin-top:2rpx}.list .item{padding:40rpx 24rpx 0 24rpx}.list .item .info{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding-bottom:4rpx}.list .item .info .text{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:1;flex-shrink:1;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;margin-right:40rpx}.list .item .info .text .title{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:1;flex-shrink:1;font-size:30rpx;line-height:1.2;display:-webkit-box;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;height:76rpx;margin-bottom:8rpx}.list .item .info .text .other{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:1;flex-shrink:1;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:28rpx;color:#999;line-height:normal}.list .item .info .text .other .left{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:1;flex-shrink:1}.list .item .info .text .other .left .source{display:-webkit-box;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:140rpx;margin-right:16rpx}.list .item .info .text .other .right{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0;-webkit-flex-shrink:0;flex-shrink:0;margin-right:5rpx}.list .item .info .text .other .right image{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:1;flex-shrink:1;width:28rpx;height:28rpx;margin-right:12rpx}.list .item .info .text .other .right text{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:1;flex-shrink:1;margin-top:-6rpx}.list .item .info .text .other .view image{width:40rpx;height:40rpx;margin-right:5rpx}.list .item .info .photo image{height:170rpx;width:222rpx;border-radius:10rpx}.list .item .line{display:bock;width:100%;height:1rpx;margin-top:22rpx;background:#e8e8e8} -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/components/search/search.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/search/search"],{"0934":function(t,n,o){"use strict";(function(t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var e=function(){o.e("components/iconfont/iconfont").then(function(){return resolve(o("db8f"))}.bind(null,o)).catch(o.oe)},r={name:"search",data:function(){return{curKeyword:"",curHistory:[],curshowHistory:!0}},components:{iconfont:e},props:{name:{type:String,default:""},keyword:{type:String,default:""},history:{type:Array,default:function(t){return[]}},showHistory:{type:Boolean,value:!1}},watch:{keyword:function(t,n){this.curKeyword=t},curKeyword:function(t,n){console.log(t),this.$emit("update:keyword",t)},history:function(t,n){this.curHistory=t},curHistory:function(t,n){this.$emit("update:history",t)},showHistory:function(t,n){this.curshowHistory=t},curshowHistory:function(t,n){this.$emit("update:showHistory",t)}},methods:{search:function(t){""!=t&&(this.curKeyword=t),""!=this.curKeyword&&this.$emit("confirm",t)},initSearch:function(){this.$emit("focus")},clearSearch:function(){this.curKeyword="",this.curshowHistory=!0},clearHistory:function(){var n=this;t.showModal({title:"提示",content:"确认删除吗?",success:function(o){o.confirm?(n.curHistory=[],console.log(n.name),t.removeStorageSync(n.name)):o.cancel&&console.log("用户点击取消")}})}}};n.default=r}).call(this,o("543d")["default"])},"16a4":function(t,n,o){"use strict";var e=o("dd68"),r=o.n(e);r.a},"20b6":function(t,n,o){"use strict";o.d(n,"b",(function(){return r})),o.d(n,"c",(function(){return c})),o.d(n,"a",(function(){return e}));var e={iconfont:function(){return o.e("components/iconfont/iconfont").then(o.bind(null,"db8f"))}},r=function(){var t=this,n=t.$createElement;t._self._c},c=[]},dd68:function(t,n,o){},df46:function(t,n,o){"use strict";o.r(n);var e=o("0934"),r=o.n(e);for(var c in e)"default"!==c&&function(t){o.d(n,t,(function(){return e[t]}))}(c);n["default"]=r.a},e47f:function(t,n,o){"use strict";o.r(n);var e=o("20b6"),r=o("df46");for(var c in r)"default"!==c&&function(t){o.d(n,t,(function(){return r[t]}))}(c);o("16a4");var i,u=o("f0c5"),s=Object(u["a"])(r["default"],e["b"],e["c"],!1,null,"59ab285a",null,!1,e["a"],i);n["default"]=s.exports}}]); 2 | ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 3 | 'components/search/search-create-component', 4 | { 5 | 'components/search/search-create-component':(function(module, exports, __webpack_require__){ 6 | __webpack_require__('543d')['createComponent'](__webpack_require__("e47f")) 7 | }) 8 | }, 9 | [['components/search/search-create-component']] 10 | ]); 11 | -------------------------------------------------------------------------------- /web/unpackage/dist/build/mp-weixin/pages/user/index.js: -------------------------------------------------------------------------------- 1 | (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/user/index"],{"3e6d":function(n,e,t){"use strict";(function(n){t("4ebb");o(t("66fd"));var e=o(t("c0f7"));function o(n){return n&&n.__esModule?n:{default:n}}n(e.default)}).call(this,t("543d")["createPage"])},5745:function(n,e,t){"use strict";t.r(e);var o=t("b7ab"),c=t.n(o);for(var i in o)"default"!==i&&function(n){t.d(e,n,(function(){return o[n]}))}(i);e["default"]=c.a},a1a0:function(n,e,t){},b521:function(n,e,t){"use strict";var o=t("a1a0"),c=t.n(o);c.a},b7ab:function(n,e,t){"use strict";(function(n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=function(){t.e("components/iconfont/iconfont").then(function(){return resolve(t("db8f"))}.bind(null,t)).catch(t.oe)},c=function(){t.e("components/loading/pageLoading").then(function(){return resolve(t("471e"))}.bind(null,t)).catch(t.oe)},i={components:{iconfont:o,pageLoading:c},data:function(){return{user:{},loginText:"登录",showPageLoading:!0}},onShow:function(){this.user={},console.log("onShow2"),this.$initPageTitle(),this.loginText="微信登录",this.getUserInfo()},onLoad:function(n){},onPullDownRefresh:function(){n.showLoading({title:"刷新中"}),this.getUserInfo()},methods:{getUserInfo:function(){var e=this;this.$app.request({url:this.$api.user.index,data:{},method:"POST",dataType:"json",success:function(n){console.log(n),0==n.code?(e.showPageLoading=!1,e.user=n.data):e.$alert(n.msg)},complete:function(e){n.stopPullDownRefresh(),n.hideLoading()}})},login:function(){this.$app.login()},logout:function(){var e=this;n.showModal({title:"提示",content:"退出登录?",confirmText:"是",cancelText:"否",success:function(t){t.confirm&&e.$app.request({url:e.$api.user.logout,method:"POST",success:function(t){0==t.code?(n.removeStorageSync("isLogin"),n.removeStorageSync("accessToken"),n.removeStorageSync("currentUser"),n.removeStorageSync("platform"),e.$alert("退出登录成功","success","/pages/article/index","switchTab")):e.$alert(t.msg,"warning")},complete:function(){n.hideLoading()}})}})}}};e.default=i}).call(this,t("543d")["default"])},bb68:function(n,e,t){"use strict";t.d(e,"b",(function(){return c})),t.d(e,"c",(function(){return i})),t.d(e,"a",(function(){return o}));var o={iconfont:function(){return t.e("components/iconfont/iconfont").then(t.bind(null,"db8f"))}},c=function(){var n=this,e=n.$createElement;n._self._c},i=[]},c0f7:function(n,e,t){"use strict";t.r(e);var o=t("bb68"),c=t("5745");for(var i in c)"default"!==i&&function(n){t.d(e,n,(function(){return c[n]}))}(i);t("b521");var u,a=t("f0c5"),r=Object(a["a"])(c["default"],o["b"],o["c"],!1,null,"cc69a33e",null,!1,o["a"],u);e["default"]=r.exports}},[["3e6d","common/runtime","common/vendor"]]]); --------------------------------------------------------------------------------