From 4374c28e3ed23dade84be872ead531d1e68b2651 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A6=86=E9=92=B1=E8=90=BD=E5=B0=BD=E6=A7=BF=E8=8A=B1?= =?UTF-8?q?=E7=A8=80?= <2675540038@qq.com> Date: Wed, 9 Jul 2025 17:27:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 23 + App.vue | 168 + index.html | 21 + libs/components/demo-title.vue | 94 + libs/components/dynamic-demo-template.vue | 689 ++++ libs/components/multiple-options-demo.vue | 147 + libs/components/nav-index-button.vue | 169 + libs/mixin/dynamic_demo_mixin.js | 52 + libs/mixin/template_page_mixin.js | 60 + main.js | 30 + manifest.json | 97 + package.json | 5 + pages.json | 230 ++ pages/index/directory.vue | 470 +++ pages/index/home.vue | 801 +++++ pages/index/index.vue | 262 ++ pages/index/pizz.vue | 218 ++ pages/index/pizz_info.vue | 407 +++ pages/index/search.vue | 355 ++ pages/index/service.vue | 252 ++ pages/index/tissue.vue | 118 + pages/index/user.vue | 558 +++ pages/index/web.vue | 27 + pages/packageA/info/discovery.vue | 240 ++ pages/packageA/info/policy.vue | 86 + pages/packageA/info/policy_info.vue | 91 + pages/packageA/info/policy_list.vue | 90 + pages/packageA/user/apply_in.vue | 798 +++++ pages/packageA/user/events_my.vue | 104 + pages/packageA/user/my_apply.vue | 108 + pages/packageA/user/my_card.vue | 653 ++++ pages/packageA/user/my_card_holder.vue | 98 + pages/packageA/user/my_desc.vue | 82 + pages/packageA/user/my_edit.vue | 674 ++++ pages/packageA/user/my_idea.vue | 163 + pages/packageA/user/my_invite.vue | 227 ++ pages/packageA/user/my_msg.vue | 359 ++ pages/packageA/user/my_sign.vue | 134 + pages/packageA/user/my_vip.vue | 220 ++ pages/packageA/user/my_vip_clerk.vue | 268 ++ pages/packageA/user/my_vip_info.vue | 127 + pages/packageA/user/my_vip_off.vue | 168 + pages/packageA/user/user_activity.vue | 511 +++ pages/packageA/user/user_auditing.vue | 258 ++ pages/packageA/user/user_auditing_info.vue | 330 ++ pages/packageB/event/event_info.vue | 617 ++++ pages/packageB/news/new_info.vue | 127 + pages/packageB/news/notice_info.vue | 116 + static/00.png | Bin 0 -> 5453 bytes static/01.png | Bin 0 -> 1343 bytes static/01_1.png | Bin 0 -> 1152 bytes static/02.png | Bin 0 -> 1023 bytes static/02_2.png | Bin 0 -> 1144 bytes static/03.png | Bin 0 -> 1998 bytes static/03_3.png | Bin 0 -> 1607 bytes static/04.png | Bin 0 -> 1121 bytes static/04_4.png | Bin 0 -> 1099 bytes static/b1.png | Bin 0 -> 1739 bytes static/back.png | Bin 0 -> 1952 bytes static/book.png | Bin 0 -> 727 bytes static/c1.png | Bin 0 -> 523 bytes static/c1455.png | Bin 0 -> 547 bytes static/c2.png | Bin 0 -> 630 bytes static/c3.png | Bin 0 -> 1974 bytes static/card_top.png | Bin 0 -> 9371 bytes static/css/components/demo_page_common.scss | 193 ++ static/css/my.scss | 241 ++ static/css/templatePage/custom_nav_bar.scss | 38 + static/def.png | Bin 0 -> 6816 bytes static/h1.png | Bin 0 -> 2034 bytes static/h2.png | Bin 0 -> 2305 bytes static/h3.png | Bin 0 -> 3817 bytes static/h4.png | Bin 0 -> 3006 bytes static/hd.png | Bin 0 -> 1147 bytes static/hd_bottom.png | Bin 0 -> 2859 bytes static/home_logo.png | Bin 0 -> 10874 bytes static/home_top_bg.png | Bin 0 -> 8136 bytes static/hqzc.png | Bin 0 -> 1413 bytes static/ico1.png | Bin 0 -> 6265 bytes static/ico10.png | Bin 0 -> 982 bytes static/ico12.png | Bin 0 -> 880 bytes static/ico13.png | Bin 0 -> 942 bytes static/ico2.png | Bin 0 -> 2839 bytes static/ico3.png | Bin 0 -> 3061 bytes static/ico4.png | Bin 0 -> 2331 bytes static/ico5.png | Bin 0 -> 8050 bytes static/ico6.png | Bin 0 -> 2188 bytes static/icon100.png | Bin 0 -> 1666 bytes static/icon101.png | Bin 0 -> 990 bytes static/icon13.png | Bin 0 -> 1000 bytes static/icon14.png | Bin 0 -> 403 bytes static/icon15.png | Bin 0 -> 1744 bytes static/jj.png | Bin 0 -> 7074 bytes static/mao.png | Bin 0 -> 6331 bytes static/news_title.png | Bin 0 -> 663 bytes static/notice_icon.png | Bin 0 -> 3695 bytes static/pic.png | Bin 0 -> 1133 bytes static/right.png | Bin 0 -> 872 bytes static/ser.png | Bin 0 -> 1381 bytes static/sh.png | Bin 0 -> 6742 bytes static/t1.png | Bin 0 -> 2416 bytes static/t2.png | Bin 0 -> 2075 bytes static/tabbar.png | Bin 0 -> 3524 bytes static/tg.png | Bin 0 -> 6863 bytes static/user_ru.png | Bin 0 -> 36773 bytes static/vip.png | Bin 0 -> 1176 bytes static/wback.png | Bin 0 -> 2502 bytes static/wdfb.png | Bin 0 -> 4913 bytes static/wdsc.png | Bin 0 -> 4760 bytes static/xh_title.png | Bin 0 -> 48006 bytes static/zhuanfa.png | Bin 0 -> 1156 bytes store/$tn.mixin.js | 28 + store/index.js | 83 + template.h5.html | 30 + tuniao-ui/README.md | 4 + .../tn-action-sheet/tn-action-sheet.vue | 206 ++ .../tn-avatar-group/tn-avatar-group.vue | 95 + tuniao-ui/components/tn-avatar/tn-avatar.vue | 298 ++ tuniao-ui/components/tn-badge/tn-badge.vue | 173 + tuniao-ui/components/tn-button/tn-button.vue | 348 ++ .../components/tn-calendar/tn-calendar.vue | 707 ++++ .../tn-car-keyboard/tn-car-keyboard.vue | 320 ++ .../tn-cascade-selection.vue | 654 ++++ .../tn-checkbox-group/tn-checkbox-group.vue | 134 + .../components/tn-checkbox/tn-checkbox.vue | 328 ++ .../tn-circle-progress/tn-circle-progress.vue | 223 ++ .../tn-collapse-item/tn-collapse-item.vue | 236 ++ .../components/tn-collapse/tn-collapse.vue | 98 + .../tn-color-icon/tn-color-icon.vue | 318 ++ .../tn-column-notice/tn-column-notice.vue | 241 ++ .../tn-count-down/tn-count-down.vue | 314 ++ .../tn-count-scroll/tn-count-scroll.vue | 171 + .../components/tn-count-to/tn-count-to.vue | 231 ++ tuniao-ui/components/tn-cropper/index.wxs | 332 ++ .../components/tn-cropper/tn-cropper.vue | 574 ++++ .../tn-custom-swiper-item/index.wxs | 288 ++ .../tn-custom-swiper-item.vue | 277 ++ .../tn-custom-swiper/tn-custom-swiper.vue | 535 +++ tuniao-ui/components/tn-drag/index.wxs | 265 ++ tuniao-ui/components/tn-drag/tn-drag.vue | 278 ++ tuniao-ui/components/tn-empty/tn-empty.vue | 190 + tuniao-ui/components/tn-fab/tn-fab.vue | 523 +++ .../components/tn-form-item/tn-form-item.vue | 457 +++ tuniao-ui/components/tn-form/tn-form.vue | 139 + .../components/tn-goods-nav/tn-goods-nav.vue | 382 ++ .../components/tn-grid-item/tn-grid-item.vue | 104 + tuniao-ui/components/tn-grid/tn-grid.vue | 111 + .../tn-image-upload-drag.vue | 995 ++++++ .../tn-image-upload/tn-image-upload.vue | 695 ++++ .../tn-index-anchor/tn-index-anchor.vue | 90 + .../tn-index-list/tn-index-list.vue | 361 ++ tuniao-ui/components/tn-input/tn-input.vue | 447 +++ .../components/tn-keyboard/tn-keyboard.vue | 220 ++ .../components/tn-landscape/tn-landscape.vue | 225 ++ .../components/tn-lazy-load/tn-lazy-load.vue | 254 ++ .../tn-line-progress/tn-line-progress.vue | 143 + .../components/tn-list-cell/tn-list-cell.vue | 209 ++ .../components/tn-list-view/tn-list-view.vue | 184 + .../components/tn-load-more/tn-load-more.vue | 188 + .../components/tn-loading/tn-loading.vue | 114 + tuniao-ui/components/tn-modal/tn-modal.vue | 246 ++ .../components/tn-nav-bar/tn-nav-bar.vue | 355 ++ .../tn-notice-bar/tn-notice-bar.vue | 171 + .../tn-number-box/tn-number-box.vue | 401 +++ .../tn-number-keyboard/tn-number-keyboard.vue | 182 + tuniao-ui/components/tn-picker/tn-picker.vue | 727 ++++ tuniao-ui/components/tn-popup/tn-popup.vue | 492 +++ .../tn-radio-group/tn-radio-group.vue | 124 + tuniao-ui/components/tn-radio/tn-radio.vue | 276 ++ tuniao-ui/components/tn-rate/tn-rate.vue | 325 ++ .../components/tn-read-more/tn-read-more.vue | 222 ++ .../tn-row-notice/tn-row-notice.vue | 301 ++ .../tn-scroll-list/tn-scroll-list.vue | 177 + .../tn-scroll-view/tn-scroll-view.vue | 401 +++ tuniao-ui/components/tn-select/tn-select.vue | 428 +++ .../tn-sign-board/tn-sign-board.vue | 690 ++++ .../components/tn-skeleton/tn-skeleton.vue | 254 ++ tuniao-ui/components/tn-slider/tn-slider.vue | 255 ++ .../components/tn-stack-swiper/index-h5.wxs | 657 ++++ .../components/tn-stack-swiper/index.wxs | 657 ++++ .../tn-stack-swiper/tn-stack-swiper.vue | 284 ++ tuniao-ui/components/tn-steps/tn-steps.vue | 346 ++ tuniao-ui/components/tn-sticky/tn-sticky.vue | 186 + .../tn-subsection/tn-subsection.vue | 414 +++ .../components/tn-swipe-action-item/index.wxs | 230 ++ .../tn-swipe-action-item.vue | 215 ++ .../tn-swipe-action/tn-swipe-action.vue | 61 + tuniao-ui/components/tn-swiper/tn-swiper.vue | 364 ++ tuniao-ui/components/tn-switch/tn-switch.vue | 241 ++ tuniao-ui/components/tn-tabbar/tn-tabbar.vue | 554 +++ tuniao-ui/components/tn-table/tn-table.vue | 100 + .../tn-tabs-swiper/tn-tabs-swiper.vue | 444 +++ tuniao-ui/components/tn-tabs/tn-tabs.vue | 348 ++ tuniao-ui/components/tn-tag/tn-tag.vue | 223 ++ tuniao-ui/components/tn-td/tn-td.vue | 307 ++ .../tn-time-line-item/tn-time-line-item.vue | 71 + .../tn-time-line-item.vue_bk | 71 + .../components/tn-time-line/tn-time-line.vue | 39 + .../tn-time-line/tn-time-line.vue_bk | 39 + tuniao-ui/components/tn-tips/tn-tips.vue | 240 ++ tuniao-ui/components/tn-toast/tn-toast.vue | 227 ++ tuniao-ui/components/tn-tr/tn-tr.vue | 210 ++ .../components/tn-tree-node/tn-tree-node.vue | 143 + .../components/tn-tree-view/tn-tree-view.vue | 50 + .../tn-verification-code-input.vue | 324 ++ .../tn-verification-code.vue | 149 + .../components/tn-waterfall/tn-waterfall.vue | 165 + tuniao-ui/iconfont.css | 3061 +++++++++++++++++ tuniao-ui/index.js | 73 + tuniao-ui/index.scss | 13 + tuniao-ui/libs/config/color.js | 15 + tuniao-ui/libs/config/zIndex.js | 17 + tuniao-ui/libs/css/color.scss | 563 +++ tuniao-ui/libs/css/main.scss | 730 ++++ tuniao-ui/libs/css/style.h5.scss | 35 + tuniao-ui/libs/css/style.mp.scss | 52 + tuniao-ui/libs/function/$parent.js | 18 + tuniao-ui/libs/function/applyEven.js | 28 + tuniao-ui/libs/function/array.js | 22 + tuniao-ui/libs/function/color.js | 270 ++ tuniao-ui/libs/function/deepClone.js | 29 + tuniao-ui/libs/function/message.js | 74 + tuniao-ui/libs/function/number.js | 128 + tuniao-ui/libs/function/string.js | 69 + tuniao-ui/libs/function/test.js | 232 ++ .../libs/function/updateCustomBarInfo.js | 44 + tuniao-ui/libs/function/uuid.js | 41 + tuniao-ui/libs/luch-request/adapters/index.js | 99 + .../luch-request/core/InterceptorManager.js | 51 + tuniao-ui/libs/luch-request/core/Request.js | 200 ++ .../libs/luch-request/core/buildFullPath.js | 20 + tuniao-ui/libs/luch-request/core/defaults.js | 30 + .../libs/luch-request/core/dispatchRequest.js | 6 + .../libs/luch-request/core/mergeConfig.js | 103 + tuniao-ui/libs/luch-request/core/settle.js | 16 + .../libs/luch-request/helpers/buildURL.js | 69 + .../libs/luch-request/helpers/combineURLs.js | 14 + .../luch-request/helpers/isAbsoluteURL.js | 14 + tuniao-ui/libs/luch-request/index.d.ts | 116 + tuniao-ui/libs/luch-request/index.js | 2 + tuniao-ui/libs/luch-request/utils.js | 135 + tuniao-ui/libs/luch-request/utils/clone.js | 264 ++ tuniao-ui/libs/mixin/components_color.js | 47 + tuniao-ui/libs/mixin/mixin.js | 68 + tuniao-ui/libs/mixin/mpShare.js | 30 + tuniao-ui/libs/mixin/touch.js | 61 + tuniao-ui/libs/utils/area.js | 1 + tuniao-ui/libs/utils/async-validator.js | 1356 ++++++++ tuniao-ui/libs/utils/calendar.js | 546 +++ tuniao-ui/libs/utils/city.js | 1 + tuniao-ui/libs/utils/emitter.js | 55 + tuniao-ui/libs/utils/province.js | 1 + tuniao-ui/theme.scss | 183 + uni.promisify.adaptor.js | 10 + uni.scss | 14 + uni_modules/cc-noticeBar/changelog.md | 8 + .../components/cc-noticeBar/cc-noticeBar.vue | 94 + .../components/cc-noticeBar/notice_icon.png | Bin 0 -> 1527 bytes uni_modules/cc-noticeBar/package.json | 86 + uni_modules/cc-noticeBar/readme.md | 145 + .../jp-verification-literalness/changelog.md | 4 + .../jp-verification-literalness.vue | 170 + .../jp-verification-literalness/package.json | 85 + .../pages/index/index.vue | 38 + .../jp-verification-literalness/readme.md | 79 + uni_modules/lime-clipper/changelog.md | 56 + .../components/l-clipper/index.scss | 184 + .../components/l-clipper/l-clipper.vue | 840 +++++ .../components/l-clipper/utils.js | 248 ++ .../components/lime-clipper/lime-clipper.vue | 21 + uni_modules/lime-clipper/package.json | 76 + uni_modules/lime-clipper/readme.md | 239 ++ uni_modules/lime-clipper/static/photo.svg | 19 + uni_modules/lime-clipper/static/rotate.svg | 15 + uni_modules/lime-painter/changelog.md | 225 ++ .../components/common/relation.js | 150 + .../l-painter-image/l-painter-image.vue | 28 + .../l-painter-qrcode/l-painter-qrcode.vue | 27 + .../l-painter-text/l-painter-text.vue | 33 + .../l-painter-view/l-painter-view.vue | 34 + .../components/l-painter/l-painter.vue | 461 +++ .../lime-painter/components/l-painter/nvue.js | 214 ++ .../components/l-painter/painter.js | 1 + .../components/l-painter/props.js | 56 + .../components/l-painter/single.js | 1 + .../components/l-painter/utils.js | 368 ++ .../components/lime-painter/lime-painter.vue | 235 ++ .../lime-painter/hybrid/html/index.html | 119 + .../lime-painter/hybrid/html/painter.js | 1 + .../hybrid/html/uni.webview.1.5.3.js | 1 + uni_modules/lime-painter/package.json | 93 + uni_modules/lime-painter/parser.js | 388 +++ uni_modules/lime-painter/readme.md | 961 ++++++ uni_modules/sp-editor/changelog.md | 109 + .../components/sp-editor/color-picker.vue | 825 +++++ .../components/sp-editor/link-edit.vue | 152 + .../components/sp-editor/sp-editor.vue | 518 +++ uni_modules/sp-editor/icons/editor-icon.css | 238 ++ uni_modules/sp-editor/icons/iconfont.ttf | Bin 0 -> 11188 bytes uni_modules/sp-editor/package.json | 83 + uni_modules/sp-editor/readme.md | 11 + .../sp-editor/static/image-resize.min.js | 1 + uni_modules/sp-editor/static/quill.min.js | 8 + uni_modules/sp-editor/utils/index.js | 68 + util/api.js | 88 + util/jwexin.js | 60 + util/request.js | 68 + util/requestManager.js | 66 + util/utils.js | 136 + util/wx-sdk.js | 93 + vue.config.js | 1 + 311 files changed, 56934 insertions(+) create mode 100644 .gitignore create mode 100644 App.vue create mode 100644 index.html create mode 100644 libs/components/demo-title.vue create mode 100644 libs/components/dynamic-demo-template.vue create mode 100644 libs/components/multiple-options-demo.vue create mode 100644 libs/components/nav-index-button.vue create mode 100644 libs/mixin/dynamic_demo_mixin.js create mode 100644 libs/mixin/template_page_mixin.js create mode 100644 main.js create mode 100644 manifest.json create mode 100644 package.json create mode 100644 pages.json create mode 100644 pages/index/directory.vue create mode 100644 pages/index/home.vue create mode 100644 pages/index/index.vue create mode 100644 pages/index/pizz.vue create mode 100644 pages/index/pizz_info.vue create mode 100644 pages/index/search.vue create mode 100644 pages/index/service.vue create mode 100644 pages/index/tissue.vue create mode 100644 pages/index/user.vue create mode 100644 pages/index/web.vue create mode 100644 pages/packageA/info/discovery.vue create mode 100644 pages/packageA/info/policy.vue create mode 100644 pages/packageA/info/policy_info.vue create mode 100644 pages/packageA/info/policy_list.vue create mode 100644 pages/packageA/user/apply_in.vue create mode 100644 pages/packageA/user/events_my.vue create mode 100644 pages/packageA/user/my_apply.vue create mode 100644 pages/packageA/user/my_card.vue create mode 100644 pages/packageA/user/my_card_holder.vue create mode 100644 pages/packageA/user/my_desc.vue create mode 100644 pages/packageA/user/my_edit.vue create mode 100644 pages/packageA/user/my_idea.vue create mode 100644 pages/packageA/user/my_invite.vue create mode 100644 pages/packageA/user/my_msg.vue create mode 100644 pages/packageA/user/my_sign.vue create mode 100644 pages/packageA/user/my_vip.vue create mode 100644 pages/packageA/user/my_vip_clerk.vue create mode 100644 pages/packageA/user/my_vip_info.vue create mode 100644 pages/packageA/user/my_vip_off.vue create mode 100644 pages/packageA/user/user_activity.vue create mode 100644 pages/packageA/user/user_auditing.vue create mode 100644 pages/packageA/user/user_auditing_info.vue create mode 100644 pages/packageB/event/event_info.vue create mode 100644 pages/packageB/news/new_info.vue create mode 100644 pages/packageB/news/notice_info.vue create mode 100644 static/00.png create mode 100644 static/01.png create mode 100644 static/01_1.png create mode 100644 static/02.png create mode 100644 static/02_2.png create mode 100644 static/03.png create mode 100644 static/03_3.png create mode 100644 static/04.png create mode 100644 static/04_4.png create mode 100644 static/b1.png create mode 100644 static/back.png create mode 100644 static/book.png create mode 100644 static/c1.png create mode 100644 static/c1455.png create mode 100644 static/c2.png create mode 100644 static/c3.png create mode 100644 static/card_top.png create mode 100644 static/css/components/demo_page_common.scss create mode 100644 static/css/my.scss create mode 100644 static/css/templatePage/custom_nav_bar.scss create mode 100644 static/def.png create mode 100644 static/h1.png create mode 100644 static/h2.png create mode 100644 static/h3.png create mode 100644 static/h4.png create mode 100644 static/hd.png create mode 100644 static/hd_bottom.png create mode 100644 static/home_logo.png create mode 100644 static/home_top_bg.png create mode 100644 static/hqzc.png create mode 100644 static/ico1.png create mode 100644 static/ico10.png create mode 100644 static/ico12.png create mode 100644 static/ico13.png create mode 100644 static/ico2.png create mode 100644 static/ico3.png create mode 100644 static/ico4.png create mode 100644 static/ico5.png create mode 100644 static/ico6.png create mode 100644 static/icon100.png create mode 100644 static/icon101.png create mode 100644 static/icon13.png create mode 100644 static/icon14.png create mode 100644 static/icon15.png create mode 100644 static/jj.png create mode 100644 static/mao.png create mode 100644 static/news_title.png create mode 100644 static/notice_icon.png create mode 100644 static/pic.png create mode 100644 static/right.png create mode 100644 static/ser.png create mode 100644 static/sh.png create mode 100644 static/t1.png create mode 100644 static/t2.png create mode 100644 static/tabbar.png create mode 100644 static/tg.png create mode 100644 static/user_ru.png create mode 100644 static/vip.png create mode 100644 static/wback.png create mode 100644 static/wdfb.png create mode 100644 static/wdsc.png create mode 100644 static/xh_title.png create mode 100644 static/zhuanfa.png create mode 100644 store/$tn.mixin.js create mode 100644 store/index.js create mode 100644 template.h5.html create mode 100644 tuniao-ui/README.md create mode 100644 tuniao-ui/components/tn-action-sheet/tn-action-sheet.vue create mode 100644 tuniao-ui/components/tn-avatar-group/tn-avatar-group.vue create mode 100644 tuniao-ui/components/tn-avatar/tn-avatar.vue create mode 100644 tuniao-ui/components/tn-badge/tn-badge.vue create mode 100644 tuniao-ui/components/tn-button/tn-button.vue create mode 100644 tuniao-ui/components/tn-calendar/tn-calendar.vue create mode 100644 tuniao-ui/components/tn-car-keyboard/tn-car-keyboard.vue create mode 100644 tuniao-ui/components/tn-cascade-selection/tn-cascade-selection.vue create mode 100644 tuniao-ui/components/tn-checkbox-group/tn-checkbox-group.vue create mode 100644 tuniao-ui/components/tn-checkbox/tn-checkbox.vue create mode 100644 tuniao-ui/components/tn-circle-progress/tn-circle-progress.vue create mode 100644 tuniao-ui/components/tn-collapse-item/tn-collapse-item.vue create mode 100644 tuniao-ui/components/tn-collapse/tn-collapse.vue create mode 100644 tuniao-ui/components/tn-color-icon/tn-color-icon.vue create mode 100644 tuniao-ui/components/tn-column-notice/tn-column-notice.vue create mode 100644 tuniao-ui/components/tn-count-down/tn-count-down.vue create mode 100644 tuniao-ui/components/tn-count-scroll/tn-count-scroll.vue create mode 100644 tuniao-ui/components/tn-count-to/tn-count-to.vue create mode 100644 tuniao-ui/components/tn-cropper/index.wxs create mode 100644 tuniao-ui/components/tn-cropper/tn-cropper.vue create mode 100644 tuniao-ui/components/tn-custom-swiper-item/index.wxs create mode 100644 tuniao-ui/components/tn-custom-swiper-item/tn-custom-swiper-item.vue create mode 100644 tuniao-ui/components/tn-custom-swiper/tn-custom-swiper.vue create mode 100644 tuniao-ui/components/tn-drag/index.wxs create mode 100644 tuniao-ui/components/tn-drag/tn-drag.vue create mode 100644 tuniao-ui/components/tn-empty/tn-empty.vue create mode 100644 tuniao-ui/components/tn-fab/tn-fab.vue create mode 100644 tuniao-ui/components/tn-form-item/tn-form-item.vue create mode 100644 tuniao-ui/components/tn-form/tn-form.vue create mode 100644 tuniao-ui/components/tn-goods-nav/tn-goods-nav.vue create mode 100644 tuniao-ui/components/tn-grid-item/tn-grid-item.vue create mode 100644 tuniao-ui/components/tn-grid/tn-grid.vue create mode 100644 tuniao-ui/components/tn-image-upload-drag/tn-image-upload-drag.vue create mode 100644 tuniao-ui/components/tn-image-upload/tn-image-upload.vue create mode 100644 tuniao-ui/components/tn-index-anchor/tn-index-anchor.vue create mode 100644 tuniao-ui/components/tn-index-list/tn-index-list.vue create mode 100644 tuniao-ui/components/tn-input/tn-input.vue create mode 100644 tuniao-ui/components/tn-keyboard/tn-keyboard.vue create mode 100644 tuniao-ui/components/tn-landscape/tn-landscape.vue create mode 100644 tuniao-ui/components/tn-lazy-load/tn-lazy-load.vue create mode 100644 tuniao-ui/components/tn-line-progress/tn-line-progress.vue create mode 100644 tuniao-ui/components/tn-list-cell/tn-list-cell.vue create mode 100644 tuniao-ui/components/tn-list-view/tn-list-view.vue create mode 100644 tuniao-ui/components/tn-load-more/tn-load-more.vue create mode 100644 tuniao-ui/components/tn-loading/tn-loading.vue create mode 100644 tuniao-ui/components/tn-modal/tn-modal.vue create mode 100644 tuniao-ui/components/tn-nav-bar/tn-nav-bar.vue create mode 100644 tuniao-ui/components/tn-notice-bar/tn-notice-bar.vue create mode 100644 tuniao-ui/components/tn-number-box/tn-number-box.vue create mode 100644 tuniao-ui/components/tn-number-keyboard/tn-number-keyboard.vue create mode 100644 tuniao-ui/components/tn-picker/tn-picker.vue create mode 100644 tuniao-ui/components/tn-popup/tn-popup.vue create mode 100644 tuniao-ui/components/tn-radio-group/tn-radio-group.vue create mode 100644 tuniao-ui/components/tn-radio/tn-radio.vue create mode 100644 tuniao-ui/components/tn-rate/tn-rate.vue create mode 100644 tuniao-ui/components/tn-read-more/tn-read-more.vue create mode 100644 tuniao-ui/components/tn-row-notice/tn-row-notice.vue create mode 100644 tuniao-ui/components/tn-scroll-list/tn-scroll-list.vue create mode 100644 tuniao-ui/components/tn-scroll-view/tn-scroll-view.vue create mode 100644 tuniao-ui/components/tn-select/tn-select.vue create mode 100644 tuniao-ui/components/tn-sign-board/tn-sign-board.vue create mode 100644 tuniao-ui/components/tn-skeleton/tn-skeleton.vue create mode 100644 tuniao-ui/components/tn-slider/tn-slider.vue create mode 100644 tuniao-ui/components/tn-stack-swiper/index-h5.wxs create mode 100644 tuniao-ui/components/tn-stack-swiper/index.wxs create mode 100644 tuniao-ui/components/tn-stack-swiper/tn-stack-swiper.vue create mode 100644 tuniao-ui/components/tn-steps/tn-steps.vue create mode 100644 tuniao-ui/components/tn-sticky/tn-sticky.vue create mode 100644 tuniao-ui/components/tn-subsection/tn-subsection.vue create mode 100644 tuniao-ui/components/tn-swipe-action-item/index.wxs create mode 100644 tuniao-ui/components/tn-swipe-action-item/tn-swipe-action-item.vue create mode 100644 tuniao-ui/components/tn-swipe-action/tn-swipe-action.vue create mode 100644 tuniao-ui/components/tn-swiper/tn-swiper.vue create mode 100644 tuniao-ui/components/tn-switch/tn-switch.vue create mode 100644 tuniao-ui/components/tn-tabbar/tn-tabbar.vue create mode 100644 tuniao-ui/components/tn-table/tn-table.vue create mode 100644 tuniao-ui/components/tn-tabs-swiper/tn-tabs-swiper.vue create mode 100644 tuniao-ui/components/tn-tabs/tn-tabs.vue create mode 100644 tuniao-ui/components/tn-tag/tn-tag.vue create mode 100644 tuniao-ui/components/tn-td/tn-td.vue create mode 100644 tuniao-ui/components/tn-time-line-item/tn-time-line-item.vue create mode 100644 tuniao-ui/components/tn-time-line-item/tn-time-line-item.vue_bk create mode 100644 tuniao-ui/components/tn-time-line/tn-time-line.vue create mode 100644 tuniao-ui/components/tn-time-line/tn-time-line.vue_bk create mode 100644 tuniao-ui/components/tn-tips/tn-tips.vue create mode 100644 tuniao-ui/components/tn-toast/tn-toast.vue create mode 100644 tuniao-ui/components/tn-tr/tn-tr.vue create mode 100644 tuniao-ui/components/tn-tree-node/tn-tree-node.vue create mode 100644 tuniao-ui/components/tn-tree-view/tn-tree-view.vue create mode 100644 tuniao-ui/components/tn-verification-code-input/tn-verification-code-input.vue create mode 100644 tuniao-ui/components/tn-verification-code/tn-verification-code.vue create mode 100644 tuniao-ui/components/tn-waterfall/tn-waterfall.vue create mode 100644 tuniao-ui/iconfont.css create mode 100644 tuniao-ui/index.js create mode 100644 tuniao-ui/index.scss create mode 100644 tuniao-ui/libs/config/color.js create mode 100644 tuniao-ui/libs/config/zIndex.js create mode 100644 tuniao-ui/libs/css/color.scss create mode 100644 tuniao-ui/libs/css/main.scss create mode 100644 tuniao-ui/libs/css/style.h5.scss create mode 100644 tuniao-ui/libs/css/style.mp.scss create mode 100644 tuniao-ui/libs/function/$parent.js create mode 100644 tuniao-ui/libs/function/applyEven.js create mode 100644 tuniao-ui/libs/function/array.js create mode 100644 tuniao-ui/libs/function/color.js create mode 100644 tuniao-ui/libs/function/deepClone.js create mode 100644 tuniao-ui/libs/function/message.js create mode 100644 tuniao-ui/libs/function/number.js create mode 100644 tuniao-ui/libs/function/string.js create mode 100644 tuniao-ui/libs/function/test.js create mode 100644 tuniao-ui/libs/function/updateCustomBarInfo.js create mode 100644 tuniao-ui/libs/function/uuid.js create mode 100644 tuniao-ui/libs/luch-request/adapters/index.js create mode 100644 tuniao-ui/libs/luch-request/core/InterceptorManager.js create mode 100644 tuniao-ui/libs/luch-request/core/Request.js create mode 100644 tuniao-ui/libs/luch-request/core/buildFullPath.js create mode 100644 tuniao-ui/libs/luch-request/core/defaults.js create mode 100644 tuniao-ui/libs/luch-request/core/dispatchRequest.js create mode 100644 tuniao-ui/libs/luch-request/core/mergeConfig.js create mode 100644 tuniao-ui/libs/luch-request/core/settle.js create mode 100644 tuniao-ui/libs/luch-request/helpers/buildURL.js create mode 100644 tuniao-ui/libs/luch-request/helpers/combineURLs.js create mode 100644 tuniao-ui/libs/luch-request/helpers/isAbsoluteURL.js create mode 100644 tuniao-ui/libs/luch-request/index.d.ts create mode 100644 tuniao-ui/libs/luch-request/index.js create mode 100644 tuniao-ui/libs/luch-request/utils.js create mode 100644 tuniao-ui/libs/luch-request/utils/clone.js create mode 100644 tuniao-ui/libs/mixin/components_color.js create mode 100644 tuniao-ui/libs/mixin/mixin.js create mode 100644 tuniao-ui/libs/mixin/mpShare.js create mode 100644 tuniao-ui/libs/mixin/touch.js create mode 100644 tuniao-ui/libs/utils/area.js create mode 100644 tuniao-ui/libs/utils/async-validator.js create mode 100644 tuniao-ui/libs/utils/calendar.js create mode 100644 tuniao-ui/libs/utils/city.js create mode 100644 tuniao-ui/libs/utils/emitter.js create mode 100644 tuniao-ui/libs/utils/province.js create mode 100644 tuniao-ui/theme.scss create mode 100644 uni.promisify.adaptor.js create mode 100644 uni.scss create mode 100644 uni_modules/cc-noticeBar/changelog.md create mode 100644 uni_modules/cc-noticeBar/components/cc-noticeBar/cc-noticeBar.vue create mode 100644 uni_modules/cc-noticeBar/components/cc-noticeBar/notice_icon.png create mode 100644 uni_modules/cc-noticeBar/package.json create mode 100644 uni_modules/cc-noticeBar/readme.md create mode 100644 uni_modules/jp-verification-literalness/changelog.md create mode 100644 uni_modules/jp-verification-literalness/components/jp-verification-literalness/jp-verification-literalness.vue create mode 100644 uni_modules/jp-verification-literalness/package.json create mode 100644 uni_modules/jp-verification-literalness/pages/index/index.vue create mode 100644 uni_modules/jp-verification-literalness/readme.md create mode 100644 uni_modules/lime-clipper/changelog.md create mode 100644 uni_modules/lime-clipper/components/l-clipper/index.scss create mode 100644 uni_modules/lime-clipper/components/l-clipper/l-clipper.vue create mode 100644 uni_modules/lime-clipper/components/l-clipper/utils.js create mode 100644 uni_modules/lime-clipper/components/lime-clipper/lime-clipper.vue create mode 100644 uni_modules/lime-clipper/package.json create mode 100644 uni_modules/lime-clipper/readme.md create mode 100644 uni_modules/lime-clipper/static/photo.svg create mode 100644 uni_modules/lime-clipper/static/rotate.svg create mode 100644 uni_modules/lime-painter/changelog.md create mode 100644 uni_modules/lime-painter/components/common/relation.js create mode 100644 uni_modules/lime-painter/components/l-painter-image/l-painter-image.vue create mode 100644 uni_modules/lime-painter/components/l-painter-qrcode/l-painter-qrcode.vue create mode 100644 uni_modules/lime-painter/components/l-painter-text/l-painter-text.vue create mode 100644 uni_modules/lime-painter/components/l-painter-view/l-painter-view.vue create mode 100644 uni_modules/lime-painter/components/l-painter/l-painter.vue create mode 100644 uni_modules/lime-painter/components/l-painter/nvue.js create mode 100644 uni_modules/lime-painter/components/l-painter/painter.js create mode 100644 uni_modules/lime-painter/components/l-painter/props.js create mode 100644 uni_modules/lime-painter/components/l-painter/single.js create mode 100644 uni_modules/lime-painter/components/l-painter/utils.js create mode 100644 uni_modules/lime-painter/components/lime-painter/lime-painter.vue create mode 100644 uni_modules/lime-painter/hybrid/html/index.html create mode 100644 uni_modules/lime-painter/hybrid/html/painter.js create mode 100644 uni_modules/lime-painter/hybrid/html/uni.webview.1.5.3.js create mode 100644 uni_modules/lime-painter/package.json create mode 100644 uni_modules/lime-painter/parser.js create mode 100644 uni_modules/lime-painter/readme.md create mode 100644 uni_modules/sp-editor/changelog.md create mode 100644 uni_modules/sp-editor/components/sp-editor/color-picker.vue create mode 100644 uni_modules/sp-editor/components/sp-editor/link-edit.vue create mode 100644 uni_modules/sp-editor/components/sp-editor/sp-editor.vue create mode 100644 uni_modules/sp-editor/icons/editor-icon.css create mode 100644 uni_modules/sp-editor/icons/iconfont.ttf create mode 100644 uni_modules/sp-editor/package.json create mode 100644 uni_modules/sp-editor/readme.md create mode 100644 uni_modules/sp-editor/static/image-resize.min.js create mode 100644 uni_modules/sp-editor/static/quill.min.js create mode 100644 uni_modules/sp-editor/utils/index.js create mode 100644 util/api.js create mode 100644 util/jwexin.js create mode 100644 util/request.js create mode 100644 util/requestManager.js create mode 100644 util/utils.js create mode 100644 util/wx-sdk.js create mode 100644 vue.config.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..184d193 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules/ +unpackage/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log +.eslintignore +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..56062f3 --- /dev/null +++ b/App.vue @@ -0,0 +1,168 @@ + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..dbde560 --- /dev/null +++ b/index.html @@ -0,0 +1,21 @@ + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/libs/components/demo-title.vue b/libs/components/demo-title.vue new file mode 100644 index 0000000..1386ff8 --- /dev/null +++ b/libs/components/demo-title.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/libs/components/dynamic-demo-template.vue b/libs/components/dynamic-demo-template.vue new file mode 100644 index 0000000..525e316 --- /dev/null +++ b/libs/components/dynamic-demo-template.vue @@ -0,0 +1,689 @@ + + + + + diff --git a/libs/components/multiple-options-demo.vue b/libs/components/multiple-options-demo.vue new file mode 100644 index 0000000..f3644b6 --- /dev/null +++ b/libs/components/multiple-options-demo.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/libs/components/nav-index-button.vue b/libs/components/nav-index-button.vue new file mode 100644 index 0000000..d626df0 --- /dev/null +++ b/libs/components/nav-index-button.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/libs/mixin/dynamic_demo_mixin.js b/libs/mixin/dynamic_demo_mixin.js new file mode 100644 index 0000000..66ff992 --- /dev/null +++ b/libs/mixin/dynamic_demo_mixin.js @@ -0,0 +1,52 @@ +/** + * 动态参数演示mixin + */ +module.exports = { + data() { + return { + // 效果显示框top的值 + contentContainerTop: '0px', + contentContainerIsTop: false, + + // 参数显示框top的值 + sectionContainerTop: '0px' + } + }, + onReady() { + this.updateSectionContainerTop() + }, + methods: { + // 处理演示效果框的位置 + async _handleContentConatinerPosition() { + // 获取效果演示框的节点信息 + const contentContainer = await this._tGetRect('#content_container') + // 获取参数框的节点信息 + this._tGetRect('#section_container').then((res) => { + // 判断参数框是否在移动,如果是则更新效果框的位置 + // 如果效果框的顶部已经触控到顶部导航栏就停止跟随 + if (res.top - contentContainer.bottom != 15) { + const newTop = res.top - (contentContainer.height + uni.upx2px(20)) + const minTop = this.vuex_custom_bar_height + 1 + if (newTop < minTop) { + this.contentContainerTop = minTop + 'px' + this.contentContainerIsTop = true + } else { + this.contentContainerTop = newTop + 'px' + this.contentContainerIsTop = false + } + } + }) + }, + // 更新状态切换栏位置信息 + updateSectionContainerTop() { + this._tGetRect('#content_container').then((res) => { + this.contentContainerTop = (this.vuex_custom_bar_height + 148) + 'px' + this.sectionContainerTop = (res.height + 20) + 'px' + }) + } + }, + // 监听页面滚动 + onPageScroll() { + this._handleContentConatinerPosition() + } +} diff --git a/libs/mixin/template_page_mixin.js b/libs/mixin/template_page_mixin.js new file mode 100644 index 0000000..2314549 --- /dev/null +++ b/libs/mixin/template_page_mixin.js @@ -0,0 +1,60 @@ +/** + * 演示页面mixin + */ +module.exports = { + data() { + return { + + } + }, + onLoad() { + // 更新顶部导航栏信息 + this.updateCustomBarInfo() + }, + methods: { + // 点击左上角返回按钮时触发事件 + goBack() { + // 通过判断当前页面的页面栈信息,是否有上一页进行返回,如果没有则跳转到首页 + const pages = getCurrentPages() + if (pages && pages.length > 0) { + const firstPage = pages[0] + if (pages.length == 1 && (!firstPage.route || firstPage.route != 'pages/index/index')) { + uni.reLaunch({ + url: '/pages/index/index' + }) + } else { + uni.navigateBack({ + delta: 1 + }) + } + } else { + uni.reLaunch({ + url: '/pages/index/index' + }) + } + }, + // 更新顶部导航栏信息 + async updateCustomBarInfo() { + // 获取vuex中的自定义顶栏的高度 + let customBarHeight = this.vuex_custom_bar_height + let statusBarHeight = this.vuex_status_bar_height + // 如果获取失败则重新获取 + if (!customBarHeight) { + try { + const navBarInfo = await this.$tn.updateCustomBar() + customBarHeight = navBarInfo.customBarHeight + statusBarHeight = navBarInfo.statusBarHeight + } catch(e) { + setTimeout(() => { + this.updateCustomBarInfo() + }, 10) + return + } + } + + // 更新vuex中的导航栏信息 + this.$tn.vuex('vuex_status_bar_height', statusBarHeight) + this.$tn.vuex('vuex_custom_bar_height', customBarHeight) + } + } +} \ No newline at end of file diff --git a/main.js b/main.js new file mode 100644 index 0000000..56802cb --- /dev/null +++ b/main.js @@ -0,0 +1,30 @@ +import App from './App' +import store from './store' + +import Vue from 'vue' +Vue.config.productionTip = false +App.mpType = 'app' + +// 引入全局TuniaoUI +import TuniaoUI from 'tuniao-ui' +Vue.use(TuniaoUI) + +// 引入TuniaoUI提供的vuex简写方法 +let vuexStore = require('@/store/$tn.mixin.js') +Vue.mixin(vuexStore) + +// 引入TuniaoUI对小程序分享的mixin封装 +let mpShare = require('tuniao-ui/libs/mixin/mpShare.js') +Vue.mixin(mpShare) + +import { + wxshare +} from "util/jwexin.js" +Vue.prototype.$wxshare = wxshare; + +const app = new Vue({ + store, + ...App +}) + +app.$mount() \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..b3e514e --- /dev/null +++ b/manifest.json @@ -0,0 +1,97 @@ +{ + "name" : "智慧云商协", + "appid" : "__UNI__F702B81", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + /* 5+App特有相关 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "uni-app", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 模块配置 */ + "modules" : {}, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios" : {}, + /* SDK配置 */ + "sdkConfigs" : { + "share" : {} + } + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + "appid" : "wx51c40ff1c6337652", + "setting" : { + "urlCheck" : true, + "minified" : true, + "postcss" : true + }, + "usingComponents" : true + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics" : { + "enable" : false + }, + "vueVersion" : "2", + "h5" : { + "router" : { + "base" : "" + }, + "template" : "", + "devServer" : { + "port" : 80, + "https" : false, + "disableHostCheck" : true, + "proxy" : { + "/api" : { + "target" : "http://192.168.3.130", //域名 + "changeOrigin" : true, + "secure" : false, + "pathRewrite" : { + "^/api" : "/api" + } + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..a690ac8 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "jweixin-module": "^1.6.0" + } +} diff --git a/pages.json b/pages.json new file mode 100644 index 0000000..34be247 --- /dev/null +++ b/pages.json @@ -0,0 +1,230 @@ +{ + "easycom": { + "^tn-(.*)": "@/tuniao-ui/components/tn-$1/tn-$1.vue" + }, + "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "pages/index/home", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "pages/index/service", + "style": { + "navigationBarTitleText": "智慧云商协", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/index/pizz", + "style": { + "navigationBarTitleText": "智慧云商协", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/index/pizz_info", + "style": { + "navigationBarTitleText": "智慧云商协", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/index/user", + "style": { + "navigationBarTitleText": "智慧云商协", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/index/directory", + "style": { + "navigationBarTitleText": "智慧云商协", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/index/web", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "pages/index/search", + "style": { + "navigationBarTitleText": "智慧云商协" + } + } + ], + "subPackages": [{ + "root": "pages/packageA", + "pages": [{ + "path": "info/discovery", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "info/policy", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "info/policy_info", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "info/policy_list", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/apply_in", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/events_my", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_apply", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_card", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_card_holder", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_desc", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_edit", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_idea", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_invite", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_msg", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_sign", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/user_activity", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/user_auditing", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/user_auditing_info", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_vip", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_vip_info", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_vip_clerk", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "user/my_vip_off", + "style": { + "navigationBarTitleText": "智慧云商协" + } + } + ] + }, { + "root": "pages/packageB", + "pages": [{ + "path": "event/event_info", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, { + "path": "news/new_info", + "style": { + "navigationBarTitleText": "智慧云商协" + } + }, + { + "path": "news/notice_info", + "style": { + "navigationBarTitleText": "智慧云商协" + } + } + ] + }], + "globalStyle": { + "navigationStyle": "custom", + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "uniIdRouter": {} +} \ No newline at end of file diff --git a/pages/index/directory.vue b/pages/index/directory.vue new file mode 100644 index 0000000..0ba2f95 --- /dev/null +++ b/pages/index/directory.vue @@ -0,0 +1,470 @@ + + + + + + \ No newline at end of file diff --git a/pages/index/home.vue b/pages/index/home.vue new file mode 100644 index 0000000..447eb71 --- /dev/null +++ b/pages/index/home.vue @@ -0,0 +1,801 @@ + + + + + + \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue new file mode 100644 index 0000000..e6c5d78 --- /dev/null +++ b/pages/index/index.vue @@ -0,0 +1,262 @@ + + + + + \ No newline at end of file diff --git a/pages/index/pizz.vue b/pages/index/pizz.vue new file mode 100644 index 0000000..1e28148 --- /dev/null +++ b/pages/index/pizz.vue @@ -0,0 +1,218 @@ + + + + + \ No newline at end of file diff --git a/pages/index/pizz_info.vue b/pages/index/pizz_info.vue new file mode 100644 index 0000000..2cbf916 --- /dev/null +++ b/pages/index/pizz_info.vue @@ -0,0 +1,407 @@ + + + + + \ No newline at end of file diff --git a/pages/index/search.vue b/pages/index/search.vue new file mode 100644 index 0000000..5271c89 --- /dev/null +++ b/pages/index/search.vue @@ -0,0 +1,355 @@ + + + + + \ No newline at end of file diff --git a/pages/index/service.vue b/pages/index/service.vue new file mode 100644 index 0000000..31fe90e --- /dev/null +++ b/pages/index/service.vue @@ -0,0 +1,252 @@ + + + + + \ No newline at end of file diff --git a/pages/index/tissue.vue b/pages/index/tissue.vue new file mode 100644 index 0000000..8eb57ff --- /dev/null +++ b/pages/index/tissue.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/pages/index/user.vue b/pages/index/user.vue new file mode 100644 index 0000000..5dd07a5 --- /dev/null +++ b/pages/index/user.vue @@ -0,0 +1,558 @@ + + + + + \ No newline at end of file diff --git a/pages/index/web.vue b/pages/index/web.vue new file mode 100644 index 0000000..9321b74 --- /dev/null +++ b/pages/index/web.vue @@ -0,0 +1,27 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/info/discovery.vue b/pages/packageA/info/discovery.vue new file mode 100644 index 0000000..01586fb --- /dev/null +++ b/pages/packageA/info/discovery.vue @@ -0,0 +1,240 @@ + + + + + diff --git a/pages/packageA/info/policy.vue b/pages/packageA/info/policy.vue new file mode 100644 index 0000000..9cbfd52 --- /dev/null +++ b/pages/packageA/info/policy.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/pages/packageA/info/policy_info.vue b/pages/packageA/info/policy_info.vue new file mode 100644 index 0000000..3aca720 --- /dev/null +++ b/pages/packageA/info/policy_info.vue @@ -0,0 +1,91 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/info/policy_list.vue b/pages/packageA/info/policy_list.vue new file mode 100644 index 0000000..6e41ff5 --- /dev/null +++ b/pages/packageA/info/policy_list.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/pages/packageA/user/apply_in.vue b/pages/packageA/user/apply_in.vue new file mode 100644 index 0000000..bddde59 --- /dev/null +++ b/pages/packageA/user/apply_in.vue @@ -0,0 +1,798 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/events_my.vue b/pages/packageA/user/events_my.vue new file mode 100644 index 0000000..fb2f3d1 --- /dev/null +++ b/pages/packageA/user/events_my.vue @@ -0,0 +1,104 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/my_apply.vue b/pages/packageA/user/my_apply.vue new file mode 100644 index 0000000..f2cbc46 --- /dev/null +++ b/pages/packageA/user/my_apply.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/pages/packageA/user/my_card.vue b/pages/packageA/user/my_card.vue new file mode 100644 index 0000000..8143119 --- /dev/null +++ b/pages/packageA/user/my_card.vue @@ -0,0 +1,653 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/my_card_holder.vue b/pages/packageA/user/my_card_holder.vue new file mode 100644 index 0000000..b801a98 --- /dev/null +++ b/pages/packageA/user/my_card_holder.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/pages/packageA/user/my_desc.vue b/pages/packageA/user/my_desc.vue new file mode 100644 index 0000000..0d3e37a --- /dev/null +++ b/pages/packageA/user/my_desc.vue @@ -0,0 +1,82 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/my_edit.vue b/pages/packageA/user/my_edit.vue new file mode 100644 index 0000000..9a69edd --- /dev/null +++ b/pages/packageA/user/my_edit.vue @@ -0,0 +1,674 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/my_idea.vue b/pages/packageA/user/my_idea.vue new file mode 100644 index 0000000..1d5e251 --- /dev/null +++ b/pages/packageA/user/my_idea.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/pages/packageA/user/my_invite.vue b/pages/packageA/user/my_invite.vue new file mode 100644 index 0000000..27298e5 --- /dev/null +++ b/pages/packageA/user/my_invite.vue @@ -0,0 +1,227 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/my_msg.vue b/pages/packageA/user/my_msg.vue new file mode 100644 index 0000000..74cc3a1 --- /dev/null +++ b/pages/packageA/user/my_msg.vue @@ -0,0 +1,359 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/my_sign.vue b/pages/packageA/user/my_sign.vue new file mode 100644 index 0000000..ddd7b60 --- /dev/null +++ b/pages/packageA/user/my_sign.vue @@ -0,0 +1,134 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/my_vip.vue b/pages/packageA/user/my_vip.vue new file mode 100644 index 0000000..e295eea --- /dev/null +++ b/pages/packageA/user/my_vip.vue @@ -0,0 +1,220 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/my_vip_clerk.vue b/pages/packageA/user/my_vip_clerk.vue new file mode 100644 index 0000000..d96ed60 --- /dev/null +++ b/pages/packageA/user/my_vip_clerk.vue @@ -0,0 +1,268 @@ + + + + + diff --git a/pages/packageA/user/my_vip_info.vue b/pages/packageA/user/my_vip_info.vue new file mode 100644 index 0000000..2e4dd0e --- /dev/null +++ b/pages/packageA/user/my_vip_info.vue @@ -0,0 +1,127 @@ + + + + + \ No newline at end of file diff --git a/pages/packageA/user/my_vip_off.vue b/pages/packageA/user/my_vip_off.vue new file mode 100644 index 0000000..56e239f --- /dev/null +++ b/pages/packageA/user/my_vip_off.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/pages/packageA/user/user_activity.vue b/pages/packageA/user/user_activity.vue new file mode 100644 index 0000000..a28b78d --- /dev/null +++ b/pages/packageA/user/user_activity.vue @@ -0,0 +1,511 @@ + + + + + diff --git a/pages/packageA/user/user_auditing.vue b/pages/packageA/user/user_auditing.vue new file mode 100644 index 0000000..0a40bfb --- /dev/null +++ b/pages/packageA/user/user_auditing.vue @@ -0,0 +1,258 @@ + + + + + diff --git a/pages/packageA/user/user_auditing_info.vue b/pages/packageA/user/user_auditing_info.vue new file mode 100644 index 0000000..5659243 --- /dev/null +++ b/pages/packageA/user/user_auditing_info.vue @@ -0,0 +1,330 @@ + + + + + \ No newline at end of file diff --git a/pages/packageB/event/event_info.vue b/pages/packageB/event/event_info.vue new file mode 100644 index 0000000..72a0418 --- /dev/null +++ b/pages/packageB/event/event_info.vue @@ -0,0 +1,617 @@ + + + + + \ No newline at end of file diff --git a/pages/packageB/news/new_info.vue b/pages/packageB/news/new_info.vue new file mode 100644 index 0000000..252a01a --- /dev/null +++ b/pages/packageB/news/new_info.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/pages/packageB/news/notice_info.vue b/pages/packageB/news/notice_info.vue new file mode 100644 index 0000000..c7b9307 --- /dev/null +++ b/pages/packageB/news/notice_info.vue @@ -0,0 +1,116 @@ + + + + + \ No newline at end of file diff --git a/static/00.png b/static/00.png new file mode 100644 index 0000000000000000000000000000000000000000..facb57aa00f763c46aabf3d729823e20666c957d GIT binary patch literal 5453 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 DmNbbV literal 0 HcmV?d00001 diff --git a/static/01.png b/static/01.png new file mode 100644 index 0000000000000000000000000000000000000000..62bca893d5c26600aa39e2887af63680fffefdf5 GIT binary patch literal 1343 zcmV-F1;F}=P)Px(`AI}UR9HvtnNMunbQH(mv(sb)1lyrwYVDu#+EB)yajAqzU5N`4Y=^bm&=Arn zNTWTB3vggvVWmUc-~fojkk%boHGwz)g98JJ3qolSQZGyu1Jc&mPOH%(HqbVb)b=9| zP2{?6{y0g|P=80i-+S-#d;a3Ub!{P8DB6t<&(Tn#TD_1Xgr(E_C}-8g&@#@fM;iCJ1on(007%ONq~&{YE)hVcjyeF^}ZJ;{EwENho6%fGsx ztEzez&+}gZz`dUSR}gWJD2m@y16>ucrfGcuFp7v_Pm-@QnasXuH2Rlc@?Jf`XS&kUs#RmofIOH}(qPph^%Fx|D+OJbzFS1ZV0L z+cIEH(?$^SXiy~x3caKt?;+wrpAY+(BuTFoo)>{NO&iSVtFt-rdqGF zBjSc~$vqWLD~htQoKHi5$H&J5-Su{Lb(Ouq`F{axnwE9lp3~yu;^wxtwm-|gwnkQX zdV2bfrlzJVg>$EKahN-ZMhg4kNdUOd1^6Ok?4AD-Sl9Iz0N`yG!z5$ufdcSx060=G zBBGg_L&q%3Ix{vlHa|Q(?8}}=B&>3S^0UWcvEnJhZ66sKfxf=JEgZ)Ua2)pv5fxAI z0C0jaHk1ceRdp-R^Opc%lP3YK^-*bQ#q@rZS1rrhF3a-eqCwa7-2mX+LHLe7NG0p! zi%js;Zkpp-?{&^#Z{C zRqPXLf^#`v1As|HJa3xjs4UA@m#vib%Cc5*{sDPx(I!Q!9R9HvVnQd%SRT#(r&uO7VVVY$y;*3lL=7gcJsl*Q?3!h4&PRtVG8w3={ z!tjLwTkGD6?K(0PWQv0jhoCWniO7c~CdQW-a4gPSXaK_|QzVLZfEdf@^RAsn^9%t8 zCIMc}a52GYG+0K*47b?TRZalM^2G$^V%W5+8I43_XcELK80m9n{!*lLEv7BeCrDIa zUix4v`>`J&$w{DyP56ZbKTkV4FGos<2+T_!$YNNV04PoZRcJm-ezsF%XNTcA%u6Qa zGa(+6K#>}kN%JqDPdk4a8ZfNGy!4?(EJOnkw@IK1-A~ZopzW7--5ziUFfYrjVxUsB zLIQkDfQz?7rcY7W-gkP&1`7}U^Shdm;fJd#CL0T)lb3Gn}QJLr!_ zKCz`^R0#OZsWIQ-@(qclfm6lr%z} z=k37v^-`X&Sh!ks;L69Px&xk*GpR9HvtnN4UDTNKCtHwodT3x%LOv7Jf5;KRj(_ZDiMJGPrvPzi!c-a;v_ zJX}6O{8;!wEq-hi7rIm`){jLH5vx9UEtG~%65J@b5VS~}X%tZlZdwU5IXWQ;)0pH& zlbN>QUC#aAIlp`6+&kx<%dpHEtHi78`W_-W2w)?CfXj252k?Y3c3G07d*!wl0LNl6 zZ%0SRH2{CR3|Y!+yX21puE7 zm>6R@Hzz2&%6fFm}zjA0l%hlYlp_xJa^!aOiAfZpET z-+eycV*qPyMlZ^;d~^Zu^z`&o#@HW4Q7)I;-`?JS+ZEC>BU4jT`#c`ct>R-MdKLY16D z$r6#b_)M1NJnK*3W`vNnQ#kJ7v9U3q-|z1uqJIDs7q7LD2Q!(>pndZfP0DfLk&%&= zEiEm>0Jc_v8K0Y*+tt(4^GO72^*asB5{bkkBHCUHhB5Y^q9{8S9XOdxMsm5_gL*(1 zV-ZDB9*VS%dRWu6y8!lxAPS#4rmE^+BCXTFuKCU={r8DorT|19$)SC zdjGd2J0g~6rfF{L?CgABOXvvj@bGX;Fc_QwkUzS7M|(OuJF7+_k-2JP905)w5|@bR z(072^rI$G8hg}06A0L-|KA&~$t`@VRd1MX42zPaL>6L^{_pqjECjnRst&w($bAHw> z;CPK>z1~U0IpT}xqIVqUWLdUSfqbiUi*yx0-wy>}^9R+wMJn3Ub$xf? to^I2UzNc%xgPQ-wivRNFn`zz~zW}~y1zJuBVJ83p002ovPDHLkV1n|L+e`oe literal 0 HcmV?d00001 diff --git a/static/02_2.png b/static/02_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca6dcbb52e0f766b09747112e3bb328ce223e14e GIT binary patch literal 1144 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 literal 0 HcmV?d00001 diff --git a/static/03_3.png b/static/03_3.png new file mode 100644 index 0000000000000000000000000000000000000000..326b97eb63ca0586b3d431daf8c101be1dae0449 GIT binary patch literal 1607 zcmV-N2Dtf&P)Px*0ZBwbR9HvNnR#qfRTPK6->ZO9Q9y%I2@zS8VoSkYgNU|(G|@;w6N)<^?kixS zY6Y~d8cmEErJ|x}A{KW=kwrj34aid26r;FQMWP_3tn-e(8R_db_Pv1??|(DzEZ@Cz z?z?AxSM0~I%a2K>((UUy^bw@v(gkr0&SgPacHO*Vkc(rNt7^S(`>~i7I=gLwoBXP7@7#A2F~!`hGmi!@am>Ff`SJE zw#(XeHk=YfzXJqXJIp*qBG>7)-#0WAzd>Ld)-Kn~c^Y(hL&5g%xmCz@N9)y1FaKAZ zxWEQ-haFoeIpg*ZB%HUITkO2@YhJt(sTVj3J3OUCaBaAB2gcf9sx!TOWPQ-}0!OY$ zDUzv4SGM+4O;()rV)@;*zpn#qS9ZuXn0{c^YX71LhHKhSHEOyBuwC1si@7Yv8he8U zoQS-QxI07BHhsI#qYBuoTf4gB9N_$b;hM^9zVrMKRZKqchz^6zoS98U5hjmJL-gFn zC|eXby1FBdUkR2LCQv9_CkeWq4jEa{GYeWC0W&7T;s9%8tkKksX#zI}Jo5Mf1|Nh1 z2x8o<1@t%`KVRf8eUfU7u?n}NF;A%2dd=z52L{Ds7|GboIsup86~%l!bKrd z`=I8B#r3ewKSF-rh9btE8#A3L-wl!1B3g3G%@DHds-C7zd&n37>6y`=T}g)og0Q*I zL+PYIw!ltpuRL0I-3f!t;k}?YgR&I_5=-uHmlfldtR88g3W8tQho53yth z%$WkeZ>$;4`vva%7`09DZJ)g!R(a=CsPVPjTe@yR92v^ZGfr-UCVmRlHkeJ$g3YyH zJ=^0_(U>>=6uT<1{4-(C&Twgst#WVcx)+ob&J#HGVwC%kzhXbHgGVl|Kg@-;?6hGaVPn}iV zgu{-Af~s}<_%LQzaTaX(B_UvQDU#)NA7thPKbkw8iblNF8K{IiW`>C|G-W$1K#g zL;S3}cff`v*qXVpej)5gR1DB1vnN-D+4tw^7Xn1T{sqY`~~ag!@7^LjbDc9y28)K z$~390rzfoVe?sp~&oQYqe6Ys%kRmxM`08~pQ%zl>pyxbLV=0sg&dlafurhO>Y*iC@ z(#f51lU6joQW=!pDzLr1RIs{AhOH}AP0q;0^uLg*kPTP5MWhlczW7K5xIq^!A>bON@^E@GPV>G< zeK2KUbV3}9bT}40_O}7Q0UMB3VUb0+yBBE8s)Vm@{|4Z-68*zan5_T+002ovPDHLk FV1ksh6?Fgr literal 0 HcmV?d00001 diff --git a/static/04.png b/static/04.png new file mode 100644 index 0000000000000000000000000000000000000000..eef94f4f8a746d6a8efad69eab98d0550bced825 GIT binary patch literal 1121 zcmV-n1fKheP)Px(8%ab#R9HvNm`!LMRTRh1|K<6_uOxmn68q*3(M4TYaS>YjG9g%$N>nPAxM>$s zts7lbLAD)_mJFAvOsbNfNQlJ$zK7S2jBxZozLe-n+=0z z9K$fYpX9S5a%-Lb-vW5fvaAp5v|ll62yk+8a$BWRIRW6FMguL+?3r9HceuN|d%9l# zx&ebAxDmkTBGOZ@_&RnIB=4|o`^S28>H;j4N;l|yB57BN&XYVXBJVFOEPNdV!B6_R zZQI-1+S+!D$O8cOi%8b=0}$xERZ9I_3$i94$xIlAUx>&+Rgkad=jR{k>FGJQQILs= ziJP<8>>DKetL#QB%i0Sd+Q`2qU>JrElYFyEbhjsTdiH3Q4Jmkq;EYdl!>l1D7d zdaG%`@$vCXy1Kf45E07|`P8zky8$fJ0~gznYzxEiV-eYB_=QtbQ#bYY_WrY;)`l}! zDwTBpoHCsM1h8Xq_Lg$3(Xlv-+ew}mkt+<}`;<~TkJlWv0N)mo!-nVUN~y;h1vBkS zrP6C6@~Cm|gi`9EW&ytwky~QtOeV88pU;1p1h8B#-yTJg{^{cJy;5ptvw(ky$dyJO zU1Qt!?@0iIAh;U9Z-&N2rPNi;0_r7TB@Hag$^c*zK#~Z<&|F%ml*%*Tti#1^CPcs@a)#t%@0ZsLZI)+SjO=50Esjcd&_si7Q#Yqkejr!KC zNg5Swwf&la#bU9&qoYF?IJ&K|6Tr4s2VP!drvc~#$*I}d*>?vA2j{Be{14D|-Gd@> z9Kdy(0kxhc$zMd|sN*;%O`BDKuIs)E;PI^ltBytTnBzE4#`jkMUDtgY!1HUs=@WE( zwUS-Oj;~d^B%g5{=LLOp3DEcbT~QS2R#}^2`4`C-0i3KT1~R!^ z&L(*fz*8b}d8|QlA(P1z3WdViB|y*fd=c4W1euPa=+6HB{%;x$+>E{FdAEtkXCh+$ zjH7*heFcn;j_!`4Xv`4SpYyK8huUGwhVT3PNPc1#X(F-$+nAbgOJ>kUZcxPQ#thR=kksc?T971s@nJV;XSEScn%pyUaU| zQ?qZ^3ZQBY*L8ItvK)VAlGE@!&n(2F&d$!uhKGmiYOA#xa%gBMJ2Nx$w}`}rJgWh9 zOud{W>K-Hj*Q?5^E`tWVAR^Z%5ZyFak{2}KF%fxU)1o93eg(y1@zVD8_TwUQ2*64w nE17OGZ;}^9^L)00000NkvXXu0mjf-5VO? literal 0 HcmV?d00001 diff --git a/static/04_4.png b/static/04_4.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f23380812e66b24ac3c341ffbaaa1beff53a9b GIT binary patch literal 1099 zcmV-R1ho5!P)Px(1xZ9fR9Hvdm|tuZRTRd*?`{DT6hl!95rqa;L>tyd{#AWY8{f2O3=fbr(XJAS z5gV{Ukc8FH0BMV&F_L1{XoQeH0O}h-O$=E7QM(2NN^PwqTD1_WCYJ8br?X1S(!$)? znXZ54^?dg`zd3W}&OJkfaOuHG3mlq7ByWch1$9-%R_q0MOu#`CN$uvY-p_)jV-N!^ zE~=1W0#d1^&zBU|v$^LTOZ_lePQY3`p-=_mn*iLOW8ytb{T63)-zmTAeFJOhlxZ^9 z4{?UyWLbKugAU5MnoaMjefU|zK`^{XKjXVZ7D*{rhy)}1I&bb5P;t#Bb*_aS!8 zoZE;2FK9d9<;4|pu-D5hNSsXH$8Fv3d3jg?rynbBB>AY9S&+D-?U8Mr%e*|SfSt!@ zw1Jr8WfmwdB+bhmF)t50;1$s`ASQU31&seKppf!q%w*u)`pKq}|D*3p|d&Q(EMZZ5>x%bEb@IMZnl#{M4X%EO~S z)1Ck5w0Uj?$Y%lEV)aOcR`>Pg>d!s5uZ#KlZi$hMR6lPXhz9`N25=UDNq_5phR_b` z032s8Yrgoz>c%c13I#YQgrD{QFJM&`jmKH1N{(?~t{9++qj1c0r{z-slZ3MyNWI18 z(`S75u$E4#l(YrFU;oMSbqPN)qH4a~vty)`BesMpudNrbDqoBvzQ|;Kc7siGG ztLnP75^DcR*uniCTpM}4d*k^mS-^@H&ljD8AUsEvJl&8($CRoiHJs1LhW=;y!zh!sGz7a8P zYLf-oz=@dEh+w(oT#!{RCH>=+6Sq)iK}e{&NTTKLAerLp)Xa RW<~%2002ovPDHLkV1kBc3lIPR literal 0 HcmV?d00001 diff --git a/static/b1.png b/static/b1.png new file mode 100644 index 0000000000000000000000000000000000000000..ea9c6b5b75e07d79d7e51082c7bbfcf9f5bad1ae GIT binary patch literal 1739 zcmV;+1~mDJP) zTS%K{7{~ufKArKGMF%WGu&wFfjKH{V4>^XpitMX3RlvUjXy>Qaf&SGtulXf~=i>6LzTwT?~X;Q}%p09lUnxtRyos;|^AQJPw z-{1H2{NML|;()ni0$2?omtQ#m+yF8F2moAMyAXgNfMoyy01E)-`SmY=C9|HwXaPx( zb&}UAjXw820H5R)(&%%ah!FxhSg_3io{_XFy&&->0gSVtD|$biUQic&4!{-w**c3B z4L^WU0AoA^XpSBNx>&Rqd5p6HG)CTHF*WVpS_`-dz$-ivSP`0lZUVTgRo%1_kh-V` zzXS+dlF5uqtccQa( zq5?hzpbWr98ww|9H4i;giA*qw2uT029U3lzt$>@?s8by6C?;M3b6GsI)^&P9ORhrh z&Wc0Bcm&L0@vqcAe?vZGlGw+{Vin-C0;z z_%=H`dtIb*0)fE2wzjtBs;a7ALZOhZd%7whqv0APUD#!0ycgwuRdV72C>tD0D=%W)5Vhh}0 zvC4&UI2?|Wl9KWZ7cP9&-roLBUS6Kw$3o&EteGfa)GlQOGBPr9_Uzg7@z~hdXAKPv zRxvojnmKrf?QJ7VR@#N5{rSkq$i+j44mEXjboex^Rw8s#3tVGzCE~?VR8+LHwY9ae zr>E!r{QP_~9iufQV4jH;NEks7vUcs-RdeUgozG96Jo$!6)mY`^-8S2jo10ruUtfQ8 ze0=<9Wo2c7!OxN7;N7--BTH2|21bRVnZCZh^VQYWKa7lwEb38)44;!Hk)*)sbPA=V zrSA<441Cej(z26cZk?YilL{y|+JVul1N)u&{93 znKNfT)UkXasRbm8i;H*Y`0;`r&-Gaer_;zg6=pCzJbYQlVuML7AWb6s_U${RV-X>N z&%!0uK1d)Cm^pXu+^O2y+KW1yvdbjke|&J#_L#7cUUc%|8QbIadau^h)YO-im3?QB zc!XcDyMXia^M5rrH-CNb;K8dV6u%(EI=W?Lg2CY8rAwF2R#a5{I5RV&%RM*++$RBN zZKj=-4Aoh25?Qc=tu;G4d%Ll*@tY$@jtp9$I;7c>=;r#YEa39;@_c7!=jqDI%FemD zIjgK&!>wNwknTo2Z*F}ahqpC5>+0%GTX0*GGP9_OEj!7{Dmbx*ju6@SCl`B_%mcN~% zi2nZm^B#}qqy78$TlriJI3Gh8spU;Szh%VfRI=K;y1L%ozI}UnR#w(puh)C+*s)_R zO-)Uj-6Yo$a<{w13pnyU13Ju8VuOb;lR?hC5JqmOj+vRn#s(}&yDuUL80730X(Dq= zo<1d#r9Y}gGKM51Anm%b1PpO%kTj2SGm?8BZByy4xKK)5^K|-fSvD%ep^fJ+~6`V480$rrQ0vdjR^ixbnZk z!E-?hT>~St^j9TwfKvM^#Qs-73S7co{wiRE5A-BwDX7Ji5g*koAZkh^j<(V#)i9*8(Q`+1pT zx3h*~gfXlp({DNjs7lgFXjPI+3K8{0}VY1)ZTOV$}cu002ovPDHLkV1lcpORoR` literal 0 HcmV?d00001 diff --git a/static/back.png b/static/back.png new file mode 100644 index 0000000000000000000000000000000000000000..a39feb2d5de8261ac4c7187f1b1621467afb1c9d GIT binary patch literal 1952 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 N002ovPDHLkV1kV%>=^(6 literal 0 HcmV?d00001 diff --git a/static/c1455.png b/static/c1455.png new file mode 100644 index 0000000000000000000000000000000000000000..a40e24c799523fbb926bf94b6595efcd128ccd44 GIT binary patch literal 547 zcmV+;0^I$HP)}*rprx8&SC1A9$3kYH@iNV7B0ZRHHA{fv@l0Yhx*roHew6nC5 zG7AA@_LHS|8=8LC-1H`jVFiBAU7+0$gu_N&! zg>iLLpyDtN&TA>nG zrlk(k$o$ype&20}W_JP)iKtu+jT317-tXfj7WoU>vvs+y*{G-ltt-FK`H0h@^4-VZTMIv{?iLh@FIAs<4#ShG)yB(#mB1=rCz~*V ztH42EtVw7)aIr>oAMiTz&KJ4ZQkU)bI{H2E1h@%2@AR&yql?XI;Hgrjcc7tvPqw;A zZF~pL2K!bs9gU32Khq>+giqVU)H2j0#xfJYYR^xDJ_(cYw+IoGx0b;-q?Dlxq2i5p zPhy{_Av3N3n}Bz~63;_Ph=~wE1z;I`M=BY*5IPTh^7ih8KG8zLx-zfivD-=Zj@lA>)JQk46{w@{;eq@4oN%{r>O& zl_tbRP4ipmClZOK8KVt}V1|X^GX=cyDE|v!@^wY0aUzlbY++0i?b|mqbOB2x z6~vjzf^1S_fpu%3)gBxWI4GWgJPx~)!#!GflotnUVH<&=Q3#){g~J7bP^u{b(laat zsbp#?i7Hi4s78jW6-td}C4|Y*Rfv2Qf-0n_8du7341>lW7)WC+Ry@)0&bTb_rG+zj z-i0HG+wGRQ6*7jkA*e>9LF5>MVN!sQa`{f4@JOB9;t2)=#gQ!S;%UYS35-Mrlgn#i zpy`+i4wskK$&I@SI1KR+E(Ddy1(QaB7SfAz<+Aos;T961?39CY@*KdTUaTvV;TbNI z`5S8Q@k;`LYfUDvj92R7aCk*lr)40>MB# z#f$q!y*`0uth5~*aEVb7kTFuPMm1`+6qBK&>Y7Zr(aG_IlcbCWEe!l4qiG9{l31uU z6jMnR7ECTh70OU4VYL##Yz>NG85tUsQcm1AFl4Tf1rzrz|MPx4OM@yT?61uu)TWR= zcr?v{z~+xvPZE_gzOvKMXvW|KDO7?MCWREBEb#a?{n{QFqjhIefb<{oVhqMHR^Cmp zRJaXz>%XKP0`y0OvK=!8`Ky(qXD^ia1RV4YVd-sH;KSSUC@1K1ENEy~0;)kL6|XfK z!p*5AeS6Mk&j}BF_n>58QOGsj+Jq`7OA=gSTD#+LaEXsP{QCU&edf+uX_z57*=Rgg zQj#1E^}Lxkw|Jl`!AKCF9(pn}xMi>B!^rz>b$9!&)Eet9`TIAxzy0djL;1PR&d4J_ zM+yDP4`HssTP=6L5hNt*c!Nz00+`bJSl(VFz+h!NHKr&kY%SNLu#oOEit z|M?5wC>l;RUF)fn;4?ReZRrTBdTdLtZ@J?TtLNPdt?!?j^~Sr4KDdw*S$$gbn{H5+_CN^acRA$|}Mb|kQ@;!#$*J~MuH-^SLTuT~gxh8|977jN0VLO%U_ z$+CsN-I+dB)Ytty?OvDi-l@rjx?dL$t?oZjr2Fx9b^CW|y!B>MZfjk~(`V)Do*zdle*x6vR&^ii4ZhhOSo7J&@_|apu(LT}X+K%B zdG>jC`M@*Du)aBdNxyDG>A|9ysw^=X(vMBrxp$!Wd6}dz@XP9!y5w8!nKc3Lb^XFG z=?R##E_C#FCnt&@K qepf%=HTltk!JN~}dPf?XN2bKyTyP{PCbeAnvl=7g47CyI#eV|cWXsF| literal 0 HcmV?d00001 diff --git a/static/card_top.png b/static/card_top.png new file mode 100644 index 0000000000000000000000000000000000000000..1f10dc7f997601a8040b05a67b2fdc6d053afbc6 GIT binary patch literal 9371 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 b25IU4P&fG&@UuLW00000NkvXXu0mjf$tarq literal 0 HcmV?d00001 diff --git a/static/h3.png b/static/h3.png new file mode 100644 index 0000000000000000000000000000000000000000..01aeebf8be3da3414283cb2a1c7d9b45b4305b0e GIT binary patch literal 3817 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 literal 0 HcmV?d00001 diff --git a/static/h4.png b/static/h4.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f0f1c8b9990a2189be0572bba6c5f730049dce GIT binary patch literal 3006 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 AO8@`> literal 0 HcmV?d00001 diff --git a/static/hd.png b/static/hd.png new file mode 100644 index 0000000000000000000000000000000000000000..f5737b4352774dead051cac994dbb01dcaca1a73 GIT binary patch literal 1147 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 literal 0 HcmV?d00001 diff --git a/static/home_logo.png b/static/home_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7d1114c23223361472e65b32edf5f8b38ed01c8a GIT binary patch literal 10874 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 literal 0 HcmV?d00001 diff --git a/static/hqzc.png b/static/hqzc.png new file mode 100644 index 0000000000000000000000000000000000000000..4074ff711d249c6cb6ce29616c25111c8b39cd0e GIT binary patch literal 1413 zcmV;01$z34P)X1^@s6BEU{300009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPh4Jp#P(Rm5rIVRC`Mw(@CDP}Wrz6!#=Go1QGl(76%ruX{sQb}R*b*E?RfU~gN6KTDmU`yCs_N9K$89D&(fTN)%#Va+m54jK#zHI9 zD)zD7AvViG-fg>1v_Vwt#P?@o8hfIr#~UPkn{%WE7PKeJpUu#7XT( zd8qUl)IbT0mY^P5h4-dcqQ~!g0Jp%NqfaW906Kbf5+M(^?fgQ%uZiOfa?wU?BKpUt zPN@C!%d`d%AsHHCwyjB0u7?uHZhh>OZmFy@NUbiDB!6ehp_XcrOzeeLA*e=Tgwkvb z;q|aSc+ts~9$I5~4Z_8x0zpixnv^YK&w0rCUZo>?jB==5KsbURtbidraeQxTdlG!0 zF#sh4j8hzfV(Pgqv!oeUj`vXb&n#WyZ($+U1RyWylBqm5Xb?8D-PDtgjc*O8NVHi5 zKz7%n0tFa%YU;>;#x*dZ zU82wnf|*GgD9?|N#t=G& z2=~p(ShbGUmzY8ZwhoVeJbmqSV)8c7?q(s_Rbgq# z3$I{%4P~eKtj1*i+Tt#kjiL!d;~DnO#alAE6F9bb8Ah}*r(Dtp3YOX9A!;p#moTO` zzSgTGRRXw+wkbY%sSVySf^Y!vezV7EmSsuVOO<0#=22+nh4w|;nW0bS-af(5)r7TU7^zzlkm`kJ?x=W?79foc5Cs@Ga zc@%l>T#w3nu5FMKjJr{5*tR7RjQ zJw5r|3ZA9u*@u(S&eYT#?m6z4UwiE_c5mQ~Pf-bAOloMXk!vy;Gz%+AYdANkL1RM?Z=odmDx|z?+9T-w z(#SCTIA5w_8C(ojmCn}1);ew`1vSh}ehV3WOwE)2_U6??HLAvOu6y~)qIKvmJE*Ax T%DNo100000NkvXXu0mjfT5+Xp literal 0 HcmV?d00001 diff --git a/static/ico1.png b/static/ico1.png new file mode 100644 index 0000000000000000000000000000000000000000..daa13189dfd3b16b35541d60948f7b8e87c00d17 GIT binary patch literal 6265 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 VdCh8qarw%xs+;p}ay>C5U-f&?idjOZw!fC!>t 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%0A-(Z2g6>o*K0-gIlSV_KxNnVlM#lQN?) zRc*fhdc=nvlJ1d@Tj%TW0)2k<+Pf1IwJ*Iqb2H^?uR!M|&Fo84D$MZ!CZj3tLV@_e z{fPSSR9|~xdSsFZ(mwc*WXi=vAK<5)oBfja?)iRm`Si5FoSaRCsX#9#lCAcr zMs+%&Dp6nk^ItBL`_Yn;Czq-ER+{Dp^aszpB&EVs0F$Vpn_0L=58^`)CfaiIbXNht zW#$}`mtReHo)$XVqy}d6srvIb@se=xvssfNh>X!6g`jP=tiQW{@c_xs?{DS7=fv&L zGcHc4Fr!ax38%M1Dlj1mxtgu(fabL~NM_7-(-l^t#iRyi%(&K6n5dJ*nB>rW+D?S& z3h%v__zrCu1&-Tisp(#P*+nT8X3V(Oa(X**0--eUX=+uPJMSTR>{ly=lUr#%KuT(0 zVkk@u5;DPf1ojJSFMAW;^HZWlk2mY)&cyff^b1oe z%*m$-SByOhh9X;i8=2tI#}Tbk@q?Y1H8*`0Nf@?%{ZjM~PfH1mjGeGzDNKAHZ}w$3 z_Jn*57R>m6{f$iA<;}bZo;D?&!pJErC@|<1{9FyDM?Ccm5$49^3-KkXfjND}RG1i! z{Ra^}vWV!P|H^SeSbfO_^(%}_o^0r&c06q3uc#A-@_JQG#0vQ0^E-XTd8ahtmXlM@ zc$0{d{o-YQueNFnyu}xv-|1`4y9Q?584nWi?ycGa`E}Rc0z&eTx#;{oIy<6kV8%~8 zjYOu@{f9$^WbxAe14OyIx%mKc9{>OV07*qoM6N<$g3Ieb Ap8x;= literal 0 HcmV?d00001 diff --git a/static/ico6.png b/static/ico6.png new file mode 100644 index 0000000000000000000000000000000000000000..67e691218be42f49d44c00c949ab820d58a15a5a GIT binary patch literal 2188 zcmaJ@X;f2Z8jfrdK?{*xn_i+utB?&6NKAmpWfQRhf`BL*k_$vgZcHvFL|GDKao4Gp zqR1#ziUa6a3ZkYW1jabn0>wieT!12rRwdwqxYXWIvGZe?d(M5oxu0Os#y!9dT z=ef<(YnKE7TsepQuF_S0pG7iH4IAr9cj0xFR?S0>UJM6etQ3h%&d| zfY=y}IZ@1yL*gRVv4pUMBrst}Dv1nbV=!!gl}sQ^gAgDIN)byrgt0441VAj}5Mt>O zln7ZMlqwEY%b{rXdcIJdCS-~T{(b;k#Xk!$&~9 z$wkSmC@}bgFZ9GAq#}rnMJ6kiN|Mrx1j|#%R3?*2rqIYVnkS0zRAfpKfyz^=STdsk zLJFZ=EJMVw6fh|YlHd%4LqH?_GX;t4qpVc%p-gDO$SQ%1OeIlFDa`;QBK|*ABKe3` zAW_g?@%~R?1wT^;k)t35oFNyYjZ0o)awTI0${_&)%lR;zK2t?rDvZF2R9FTC2AZnI z1Xjd~r6O3V_a$Wf&xaz2mci17)DJ-^T)VRt}0PoWQ$XeyYJJM-w6+TVaJK# zaf6+oB=cQ1Q_QZgV|v@ZC&1k~cO@Chk()!Mb(f3bt;27Ax>;J+eyC*X>eTRKwW|=n z_GL8A9musfjKKx0owjD7doZ|bap5=2$=jZK;&vnvPVRXWe~JXe8|uH|Ja+YH%<25W z<1L=Jt1O0Nb1NY$SeEd9k`?ouXUm&Iwp24j+e-Cmd2b6CM6I*i&ae&F!t-wL-ZU@E z?}5?6HM0*G3*_v(Uwlegm`z?5fRtKocV&|2d@CW|`fBvR<4kOp=c6rNo0n)04gyb! zD|DUW)t|n|=zO;3iN@|!lV0#(vDUe&L#sY|7V~=1vm>z!b^qMC_wdNWbptV@qsvq+ zJC7A^99U{I$TfnKln(yM&r5@hyN!)yr@aXl9k|5)sU8fr3|ID(15t%jZCq_X*Qf^Y zgRfoX&fDbfHj%}yK1Tjd!Ca%1o377@Hh4vKHdwy)!xt50sNAA&JLzof+RRkC+ApVe zFzz-z-m_d~wkqA`eoE2aY~N#BzH^%5)#$rvgaWIYtt3jklI`-tAZ<932^IrLo1KeU)EsvK^`<>Pl8zzid6WvenTr zR$y#Q`>JD?G`3)~3g_RMS{SKmc-NWWUHaf2sipcw{yomkWVRC;a|VcdSr(ue^#Ow9^Y^~9Zs;m(J_D6y8lc?jfOoiar~l{Tu8W_bGINJeQmoeC9KdZu?uj@FuH7l(Tw$wSi=VoCag)F)@ zn4L)P-MG2H2S0(4Yq0EEI&a~9iQzz_D#dpqIDpUX8(Qrbb9FSjpuykXCG$taiPL@; zY`$o;+SW37`s^7-|9ET2N@dl>v~_nn?6s3yU`Bq56VEYch0?WWpuBzHxN`q?XYeXM zLR;$AOh4a>Wj8zY&|F4%ySCrhx_I{{64gb2s;6QyX!KK(zP*ierqcL)vG`KGMAp^Y zGZk~bwRfVpv|)aJeN1y5B6K+S?^x%}j?%WA;EL+#0=l|;;B`aMzDzi=byh? ztgd%Ve)sptgXL~&rJ4S>+_+ETE1t|<@ak{78lP(X%%{A!T_xJ-Ch>hoMjQ-Y8;mvj z_~z~g?2uJXR>Av=b>p^&n!MkKzY1BjGS@9F@kF1Y_092bEe|axzq72W19NnN7%VVn pY3@;LleIXEGg(U4&;E0)FyW1_l#@%Jfavo86Be`{Jhx`6_74V>fQ$eD literal 0 HcmV?d00001 diff --git a/static/icon100.png b/static/icon100.png new file mode 100644 index 0000000000000000000000000000000000000000..fbea68dc6c4df8b22671412ee28d48b1e8f0808e GIT binary patch literal 1666 zcmV-|27UR7P)Px*JV``BR9HvlnSY3!#Tm!H&unfzEip!tD(R`QNv+NOdS^mK+7cC_`NKvdh6Eaa zP;1&4DOjY6LjIAq6icneKop|}e}E+ge^RJ6CT&e@(4Bd^CMUr|k)EQx(rVV&WZj!@ z_etLkd)vM2t+$t>IB>AX&b;$^pLyo{{8+*N$&ecO$4+YqyKY)jEk}6cL^XSdt>k3QH*h2nx?-8 z5Kjas0Fxxi3S-O@0OkO=#(S@ykB&yrmqp~80B-Q!KXQTq$8F=B`!0ZoN$w6Ie5)y_ zbM6z8-KA3LwBh05gEIlTc=6&>XV0Gfp@Sqh+=|Gm!NYs2R|59*v708juht9sc+{6@^0Kg&6_W{jIf+i^z8}fR{xnL@v7n0j9ZK``(limlpGtz z7!~+_k{dl*)rY)YEfvlt zxg~_KaWas#Ikl4@`A!!1o7H1e2X)R}2;da}pNhzWLZR@Fc0dOP2EI6J)~t6mEfkRp z3x&eoChMmTTFsU=RI{ZmBwq<3e4`!6I;-x@0>K9F{R7hlx~W=w-$nA-5WvczcEQI5^I&D>g-t}a(cG@ zx)6dU-i>4GN56FG(ykcewz}Bfwo$Y0%cI_Vjs4?ZEPL40LF@c%fnEj?(fslhl3!>+ ztaUL}Xo|P*9(3Hl_}0tz9l6zs=f$nz`>7 z9UWcS3bqdNtc)y>yefq7PRHfRT6=>=B>;JnD%ws&zC`j*rBZ3-MBTr7NS&*F003VF z@P3T(>NHKYK~XM9)Nx2a(PugpV!c-?y(5K-b05DU3%cafuo_eemLjWliVyKI$zuH+5@-^ z!1*Na2_f9t6jYnB^XJchHft&zoufUYv9Yl$ipAo-iEgxZ?nGoqmd)!A6lwtd(@aV0 z`HzmX_M+^9&a2HKSv1Bht6$gj=NsqT>KLOl#=Ld-@Zl$hhK4lZIPU1}?L9r8&ubmE zTHQpgQ>j#LD;A4~TCMHt>pLT#&))>#9FoBpv$avant`@@?u>l@ANd#ESXIS~X#fBK M07*qoM6N<$g0yizT>t<8 literal 0 HcmV?d00001 diff --git a/static/icon101.png b/static/icon101.png new file mode 100644 index 0000000000000000000000000000000000000000..fdc730d262604b923f46e7fe09c3374b1bb5f394 GIT binary patch literal 990 zcmV<410np0P)Px&m`OxIR9Hvtncr(1RTRg+-|UY}v?!%m(jRECQkK=t=H4jnlZ6%yEmWVx7a!G! zz7=VqNYP@EDyT0$2>t;I+Jd#UP*g-j?8DrX&1zCml(x3jT9BkIiB2-dy)uC{S$0jb zJLy^%=4H;=TQ_Ls8*}z z=KEX#nm~R7;BJ4js%jdbBeE0(Ry75+*7|6xi1ehPuJ0?xJ&U6M%RzupL*_TKhDB_f>U-q%SQGsOoMJIep8377B$meSLk$ zYc23mRox5VE|Nz9oSL4Ves*kZ%r}kMe*@e$MXj|y@5%ty`Ab#%N#+xX>ywj{8}s@6 z9YGLW0FX=m_mIAjUn2PnfKlh%i;ckB2|8X2aiQLcs{ZZ)RP{X(dBxj|F-J*024KDK zawO{;Na&nnA-P3We~sgKXQfj4u31EyLk{bb>B{>|1;Y2g_+YaiT`Pvx-!IuEGs_F|O@@74RwRR7H6RP^t z?Cfl5baeD)tCimo&?F7MCHWx9ZDAOm9T*sRD3{AI48v-t+gp@ zM?g!Z(&}tBdyV9uB>Pp>x6l2+-&>rwW@cs%XS3NK0Q5&uw7FWX{OK*<+=w7q zP;aQ}IuY?Nl|E=Ir%SPSWYsSPq}4P3gSJv=vG&_jQGZCWSf%RkpMSVeZ)>ZfT?4ut zHCsK~Rz+JmTaNv|2ii@?j@@yP+cihyej#+l$A;ys*iJs%HQ$;30_S4$NoKG5^Z)<= M07*qoM6N<$f<3L^yZ`_I literal 0 HcmV?d00001 diff --git a/static/icon13.png b/static/icon13.png new file mode 100644 index 0000000000000000000000000000000000000000..fbcc0026f398803b56590e9d88d1531df930f33e GIT binary patch literal 1000 zcmV>P)Px&qDe$SRCr$Pn^{)dFcgL*yDvSVYiQU>SOmixWCKuE(69mu8%TJgun59R>aL;W z^rg0Ho!A_s$eR9G8GQX}T@9ap>1w#*j6R3}hpfq%5kOD`1dsrN1VD3AAOQpkfaat? z0tgZS%}Id-5F`MalL84KNB}e^1rk7z0B9bhz_Z)GL&p9M^OO(4^0&e~%|-Tj{be3f z883jx_iqi$n|!;+WWmvsHm5 zK%r@%HRDY}@hw|UQAJXmYlMnyKQ;!Ej?o69rfXfpyl{jrz|&MxXoO7HaZ+hDxTN_Uaha-G`#nY^p&Fl}wN4Pn*$ zZtdJxjTYJ2u8aFgQX~&5OkdIL1wg|}!6xt(LG%t_HE;d0k!t&2s_?L>!rlSYdCuid zqIgiD37(t_&g5?DeV7X_#?O}rvpOvSWXw2EtHYfDemvlCT4psj2LzA+hED%WJ7o?e z1^VJ7fWE|(^aOCd0GYb3Q?pmsjpRgDuNkykw6=9#?*X3O{uvcXB2Q30eDXwDJ?w2B zjMRzMX(`08%FVoc=gP;5vZx2^4Ip%OJ>+Nh!S3! zr(+k-Z&hI3BZlWtv8Ssp%k!S!odGs$T`6)@z8&uTE~HCZjp6#c8EEcPW)MK10`@&E z0R(%P01`lu0BBAMB!D0R(3})V06_wvIVq3;f&@TwQXl~Y34rFLKmrI70L@8(Ai)1n Ww{L#MpP?fF0000P)Px$O-V#SR9HvtnK4cTF$_ihSDFeWDmVkp6ixxu^uQ^&0*BxVoC4@+K@@Q@4QJS` zkf4gRMv)i^W_BSv3PILpYCC!J?6^okMm`wfq?Mp;+a5MebFHeU0Cr0JjH47LnR%axZU9^m z(Y^Qn{Oi6WP-cFMngNY6;*4ERG5T9>PNNg~($Xqu zny2)rYBb$dT4YY6X2z2l&^kw>ft)>>b}A-DRnUpz)~0QxQ8VMo3}~IBb&lp9P1WeX x8ntxoXyYQ+%++}8I}?u$e{n!^tZC+*=>zmC6iLBcGxPue002ovPDHLkV1l2>t8f4S literal 0 HcmV?d00001 diff --git a/static/icon15.png b/static/icon15.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c31fea59d842a988ac6dabce5d3b4135e5df12 GIT binary patch literal 1744 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 M07*qoM6N<$g6*GM{Qv*} literal 0 HcmV?d00001 diff --git a/static/mao.png b/static/mao.png new file mode 100644 index 0000000000000000000000000000000000000000..77e33ffe782f45ba6f62e8868e53987c21538009 GIT binary patch literal 6331 zcmeHM`&Uy}77h_K5imiJP5}dsA~R(anTuK=BoGB;bqYRaP*f6%nH#zkh%!8aO?U`u zrwUr8YkK8n>)6#P@@S$#NeD#jK;c4UW|o;4Afea`Hb8jbv(Mh&`R>PulM_8R`fbGFaGptr4j#qf@IoBU8+leptwp{4m^YlslOP~35x3acP z9TIVezodUr>Ap=K$Mvep@Vfhq@w>P~VE-}@oUvV^OG>Ei=$OFLm4aA#+sTaY9g71$sB$wh` z@U8@M5I4px2Zm7)p@WD!U{s03)&+4kOXAUMuA%ZYCuE}j|xgjw`K->hZ1Tm-ZQ^6CZ%vT#7>cR6=!OYTA!#G4l; zB8!fh%A?x9Ur`)yR-`r0TEBx9DL4&YV(k>SKuSOBJsW_`nH$;OYyu?cp0WyyHd-^_LAeD<>(nj*3;D-0GoQT!FG}oBl3<1~h&X^U+KBX8~njIL^{FCr*2ugD9(*X!k~yqLIIKraqA* z_!B7Ox%YHdtcCptqBIK>Sh5xlgtC=)T@^9KhE@<6Z;Ha_5wWZz*tZ67km_nCTE9hD z4Z}<33S%Q_!MF9)ZPR84B27Lg(7*82!{z>=Y_#UOzN>%xp4zpQc5Rf}7V;Tp-z}Zj zu+iJQgV?$kz77m_xK^BF40||Sc9h;|t~qrGL-PiiEF{JQj_dFfo*_=o*@j^g%ZTmU z=`)A{O8(lNpo)4_=>Uc3vaR-T#3kqAPS~*=aVFgA?I?3zwbi=dEHYT#cb3=HM&xWP z7+rI=RE&H$$;2w{a*_!rnQ+o5CyjCvNGE}GzRy>C!T&dPww~yt{T4`xj=DyI;X9@t z;SEd^DeWF~Yls4JqnAwAvo&b00?wtz+Z8A}P)Lbc zAOS{J`*2*e&zf1-=TJK(oO+*8P+!(LIVCS?fJ#1y$F!VS?Y_+mpFzBt;W=s>!}W2Twk$uYIre~62PwwZZpR**StL>L8sCDkg&F?B%h*X zSo-6ObJH<)U2lrYR?c`(sE;nn3pt2>l4Dy0^qGL4Fh|kE+PuUY@_tJnnwL%uOxepM6~X!$9(;CA*fH%h7z@CL_YlkNQiF z=rDNb6L_8PDcyS{CQoj$_N#*1TBD==ErS!9806aYVwjoF3b(ZD+}`py8E4S|Mm-?9 z%-3^O@;mg2hhr3n2$ztN9%aY_jMGpWCqs$)New&iC_Ra@wCn#djjU`2EJz0p4el+_ zV1Vq`4sp(v!qP5_YQEA($?CL3MIVJe&fR~hs}5rA#PAM^y&YtD3R_i+qr@Ds{woeU zC9`0(M@Iq?nLCY;S`?OwJzWW>*OleJEoar4klx$^U-MDBt=t}ga*uS8YnyHYk?#Pb z5iri5E!FLEU~QepR|n8IrbfV6+4EMOZDK{fho@d|$m+i@A@4}^v;U32CB-KnY++=S F{}=9KWf}kg literal 0 HcmV?d00001 diff --git a/static/news_title.png b/static/news_title.png new file mode 100644 index 0000000000000000000000000000000000000000..fac6d43f867263023161cbad1c9eaf52186745ba GIT binary patch literal 663 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 literal 0 HcmV?d00001 diff --git a/static/right.png b/static/right.png new file mode 100644 index 0000000000000000000000000000000000000000..d8669b442f30dd0b9aeab94f51402abc53608fb6 GIT binary patch literal 872 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 literal 0 HcmV?d00001 diff --git a/static/t1.png b/static/t1.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f328d9763a6c52b4a8c1c623bd467c0dde3c6c GIT binary patch literal 2416 zcmbVO3se(V8cy2-Du@(ud1)~ndDvx>$%GKdNMJDm6D5&ifN)S`l1xG%$%M=R0V;|` z3U+-Um8aWoSH%!1iWNbr6gUA&Ti2=xQL((bvTQ|BcXbup?u6H|d)!y&oICfW4PwJA2Fzqq=N^ERW>6^MSbo%; zEb@yBq!NT42Epv?Y--LRf2jO4K)4x3G5(xDl3MIuSYK>CNSRx3z7l}t`Bg3{PQ!3tV%FiSy`L1c!pLLgMmW+Jj6R?z%?J|@q!Wx@P? z#s7JKvq4Q(A)@)kJhs}jr4KAn<78lS=Bj54nlZQ1sHrm<10!-?o zi~Lw|utMM=EOLH!Hw3b%H_S8=x zlczo%*LPRpO20eKtLvMSq5D)BE#a0wwVw=WGC!yG zAG`0UaY+(rCWMu5o||6&JJVl(a%$)q-}id!GBCv$f6jGNqeEWa5pnj}k*LsJy@^lX z9NaySmYJsWjBAL?2jf$uSJyp|0@E2+r}v6A?aam<= zH*|NyU#xOcjb=s*bKQ0A0UOq2xrME;cit}dhV6?b1xt+1*UIuea794EmtM~9Mac(m z`Ymk^KUOrh?QZuEH;ivg3?-H2FHJ7Lfr~Xzt>1aqfs}-Bfy+9EGdcpqk69(njss@v z_kEU+S2kwIqU=8WW><4V!M@IE_m-viP4!>bvf>LOOTOB9;$Z|7Xr;gN_0Vg-y}LL$ z`X_k%DpPM~cl-(V%F`6NrQEyo!XatXo*S3T&6nT!ThUI7d9d{G?Y-|G8Z1$rxlj|6 zmPTv7+`XZ0YFFi@wpV=0<#xJF4`CP2;+TPgQsGD2ItS~=sv~^t4wx)oI5ME#Y0CtS z(Oj6A*fIUCz#+f8th276=TzeDo6#S}Eq^L002ftxAlT82hI^h-VUN$cAzSRSo;zDi z3V?G?_0V!?R#oam(6J4^z!)d7QDZnw({@06RD z4Viy`Jl}7B&d#G9z0#6LX?>ZuKB?_D|^egw@GnSiLF?8$ziy`)2c@q1xU6j(GS~8@vdz4Oi z_{9#rdMoYhgwuHhj5#kDmsa-H)Fee6{t8&_zrIV5vCg~TTGs>m{yg`4u5Bi7V%R%l zv7hN5jcy~Bied5LO^?smOs|=GT=tC7zHuK^BdNu?EWY2y{(i0 literal 0 HcmV?d00001 diff --git a/static/t2.png b/static/t2.png new file mode 100644 index 0000000000000000000000000000000000000000..2948144699b5315efab6c449e957268897f10f78 GIT binary patch literal 2075 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 DI%eQm literal 0 HcmV?d00001 diff --git a/static/tg.png b/static/tg.png new file mode 100644 index 0000000000000000000000000000000000000000..aac7098e3af4e5062420ec68fe8ed2139e0b24d0 GIT binary patch literal 6863 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 JPDHLkV1gSB*S-J% literal 0 HcmV?d00001 diff --git a/static/user_ru.png b/static/user_ru.png new file mode 100644 index 0000000000000000000000000000000000000000..9c792eaabe34312494ac845fdd0a31ff2e1372ca GIT binary patch literal 36773 zcmX_{byO7Z8}@gJr9qGe1*CiFlv27uN@5pSQo59Gl-s#AS{jN3xYW1+0DwSQ>8%a`fQERwj>HB%9mkCq`=3rg zcO6AJK+P!a4gf$8P<|`>?vvSmE>_BN&vgG|(WTd{uoIMq<~bNT>C0RCQ7#@h*$G8v zXuZKJ6lY@a!0rvx2=c?g4kP!W7nMPt{eI)#-A9(b>_72wN@yZQBI)-jwb$73{Q19R z!Hv7%ysHV*wfp5Gu}C-XvA;Yb)v7M&=C?;39%_3!1ttMB2(`(p4q-=L zZ<-(a)KXCm2_7A!<*H`@P_QFv_f>`TFEfO2#wU$dp0M_@Im5qMb0EA6yh4+9f~=X| zqpVdbZ5rzZMQA$a5HoE*RbX)?)`;0(zMSUtU+yqZigb1HIM4RCf)}ZdYDaCaAnb67 z5wlOX3G>BBi2V1mMc2N|%?iBExN|A9RW9uNr1RM#T%^q$1 z%>^D%lV!Z!cn+{6&ESs{T*vDcPL`|q@SZuC%Y6I%!LPDDOy)%R_aeYl_3>;-Z5}}0W#NQ}3Yu81R{ozb+Crf<9C`#yN z(Pb1PM;ov=@h3$eePh;SKzHoq(--VkMoQWVpgl~BBtsdX#TY#QZS7M~8b;>MyyO

+%q}1^KxQ^na;uTapDvK)gXJzXuK^O~xW6*Q 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%0A^IcEP+2JDT;nv5o9MDBnH`P z`vAyhr-M}POM03}T!0t~jDmKV_sMEtA^?-Uh%?0A#E!{T53^c|y(A?9rs`j~y1o?1 zt};ne^@T6mjvMFSb#ZV1Ln*|HAlv@%@X5L`Ak}UJ`dpAd?QJ@-?=jzWRIF6r(~gBY~Nl`y75d z+cUzit{4^eCAF9Fti~D8V1P^*WYr|NIY)g>sv9%+#eK>BWfm}-m$88tzTmkRz>HO8 z4K`^UV-lFNSc>i8j6sCHX4Z!h3}d|1Cvm5OD#0)_Fk@qk0kZ-A8Bt{HS5Z#nip#8B z2i`UBdc)o?|2_q=D#*6KaPZ`%C;ZONpSZ@|yWKN8f6uI_$Wk++8M+Wm;Ozy*Juy9K z#1CG}K3N84j(yp`$Z3hm4M2V=kX03#@OSYN_Ik3UbAgFjsTqS}S8hyi_3fKe~v=Jh4C zFS)><-97BI6OM~Bk%m%wtHr0?3u0lg)h09vTb3IAuD7DDrp`MFoTcN(-%=KjjxGqLr{!NMO@ylVqn(bk7(B-z&x~z_G55f;N&a- zb9#@U_=;n}>Tdx29t$u7OTREQ$nYD@*?7-Q1!lZmIxv@jEIlvPftgX)X8|+pUz1^} z=e(BK3*nRMbJA;!`6^@rIQE)ieA}Sr9~yV`&WqphD>o#Fg+aFc#lQVNcj~dXTzZdd zcJ`fjd)vLUWqW7oASXjAxb{*?JSrHgP zkdKC9x(3@r1p<=*04&Ht1x9k?v@e8BW_z`?YYN9$+`~r(YdCf;>?8)aGq=dFsd(3C%{Or zh#B*U@bLv!`897}0djRP_c~-UzGP$q*}n{Y(+Vw(YgO3&3wy8sp!Yxfng+2ZkX_wu z_yX9|?Z#X0+}>89H7c~4qtB>}CWWNG37Y^-l@XHw6GMkU*618mK%cjT0ZZo7bAzLn z$aymcx*}jU0uTUZ=6$lHO=9g@A28Ls(acQx-@eX(ndAIcx7 z6a`(|Jazxsqr=lb-gy6`-ut(06=>5+V zAa*uvY=Z#E0x+YVC}Ajk#)80P$2O2{f17GbeKyDko~H#< zp)wlhWiVVEWNBdR@5cf2^fUZ9^C43|xd4Z(biAg&_kSu&w9I&Q&EonG?vo|pH%|;o z|JS}xcIy9pV7A%IT0V?GxJDT;>+=%D=K->4bx()i&~-;YRv;4s<~07m&=5a-wjb93 zW;K@T@K1qRG-oOR%_~aa*b6A~8f0d32G6~aM~HT*wo#!kQ(uSJyQaQm&(ZR`YA*`` zvjKiJvBGsIxZ0^R=wo!!@Z1n}jE00000NkvXX Hu0mjffH0|P literal 0 HcmV?d00001 diff --git a/static/vip.png b/static/vip.png new file mode 100644 index 0000000000000000000000000000000000000000..fdaa0a3ed2b7f808ba56f9178335dd51b7385afd GIT binary patch literal 1176 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 U9q*^05cD~G;J9`EKDV3y2PywhQ~&?~ literal 0 HcmV?d00001 diff --git a/static/zhuanfa.png b/static/zhuanfa.png new file mode 100644 index 0000000000000000000000000000000000000000..fcc27e2a9a7f91783f83af84120772955b5b26fd GIT binary patch literal 1156 zcmV-~1bh35P)Px(K1oDDR9HvNn0csGRTRd5mZb>|N@W9$WH>=ZbJ83QA~~SaAC(a$4U{H?m=q02 zL330@MNwp;|0rsiX4pVBXHiN}mKJIx6j5n~4f`kS#PN3DJ?Gr17F-_h-FNo>&f4o+ z-?w%z{^!xFgZO#_Cjc9O_08_nDS)oK3^)ha23!F=(+tQ?0UQo|0{jN_36K{8OR9qG z6u=XKx8q|bZvlRdjJ{a~WH$hw3_KCX{5^0M@Nrp?-2%81Fc%mPY)tieN?GD`3!n+J z78e5N0$&1V_Pe4?wj1CF_5VMFh;79h>&Q^E4TYM-qN&`jN*GIf0{G#i*! zrr3J`eLV0g&@YkbPT;0i0Y09z^~z|vW>J8x#(BZ+U4!8-=NGJ!!Rf$Vz}Cb-Wovn> z$a2rC)0YBwgzEhBRat;C(W3TAt{iX~A2YZ8PrzvdyDtt19$+qk1U(qQnHKj?CGbYn@yaNN!g?+O_)^M zv_EFRvUjKjs8ZNI%=SmoPJSrEv?74-#AN1l_8xF^>V>yQEnW`H>0y&Rz%z0_@GD>h zu&E5VG9-CFyqo@QU}EzNQP9>-qh_4}v;$ZII_Yo2dg*jZM^Oe}iQ`b(9!rEdARXt8 zVY3=-qDNd4FC)_{&m!64MF6!>_P@`7!Ewwdm9$h6>?*)oQ!!+B<;VcaFzf00P>pOM zZB?GV&J#Phje;Hb0=5*jlA1Lxj-*U9^BF)lUK&i5u~{f>pT;jX>_Nc4Ol9S?G=9M0 z{`}}3%QAqr5?hKNXM}vLjzP#w+7CM&89+fUEd%fd;J#226{XWr8K9!?4V8vLvUEBs z0~C<+f^%-!fvA<2XbPayn^wOYQ5T>$0lEyu{IqVMXt0Mk#B;isGLq~QQsjM}L-pqW z2&8hV6nc-dpW|#^Nt_KFh}6$>VcRaOPY>MwrLa)sDP&Y&KYUZZoOROiepuzNFr&}Pc{cq|RU;YN% WNa`u_*ZMO60000 this.$tn.vuex('user.name', '图鸟小菜') + // 修改vuexde state中的version变量为1.0.1 => this.$tn.vuex('version', 1.0.1) + this.$tn.vuex = (name, value) => { + this.$store.commit('$tStore', { + name, value + }) + } + }, + computed: { + // 将vuex的state中的变量结构到全局混入mixin中 + ...mapState($tStoreKey) + } +} \ No newline at end of file diff --git a/store/index.js b/store/index.js new file mode 100644 index 0000000..6254237 --- /dev/null +++ b/store/index.js @@ -0,0 +1,83 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +Vue.use(Vuex) + +let lifeData = {} + +// 尝试获取本地是否存在lifeData变量,第一次启动时不存在 +try { + lifeData = uni.getStorageSync('lifeData') +} catch (e) { + +} + +// 标记需要永久存储的变量,在每次启动时取出,在state中的变量名 +let saveStateKeys = ['vuex_user'] + +// 保存变量到本地存储 +const saveLifeData = function(key, value) { + // 判断变量是否在存储数组中 + if (saveStateKeys.indexOf(key) != -1) { + // 获取本地存储的lifeData对象,将变量添加到对象中 + let tmpLifeData = uni.getStorageSync('lifeData') + // 第一次启动时不存在,则放一个空对象 + tmpLifeData = tmpLifeData ? tmpLifeData : {}, + tmpLifeData[key] = value + // 将变量再次放回本地存储中 + uni.setStorageSync('lifeData', tmpLifeData) + } +} + +const store = new Vuex.Store({ + state: { + // 如果上面从本地获取的lifeData对象下有对应的属性,就赋值给state中对应的变量 + // 加上vuex_前缀,是防止变量名冲突,也让人一目了然 + vuex_user: lifeData.vuex_user ? lifeData.vuex_user : { + name: '灵睿' + }, + + // 如果vuex_version无需保存到本地永久存储,无需lifeData.vuex_version方式 + // app版本 + vuex_version: "1.0.49", + // 是否使用自定义导航栏 + vuex_custom_nav_bar: true, + // 状态栏高度 + vuex_status_bar_height: 0, + // 自定义导航栏的高度 + vuex_custom_bar_height: 0, + Gid: 1, + Gname: '洛阳市青年企业家协会', + msgCount: 0, + // imgUrl: "http://192.168.3.130", + // apiUrl: "http://192.168.3.130/api" + imgUrl: "https://ysx.hschool.com.cn", + apiUrl: "https://ysx.hschool.com.cn/api" + }, + mutations: { + $tStore(state, payload) { + // 判断是否多层调用,state中为对象存在的情况,例如user.info.score = 1 + let nameArr = payload.name.split('.') + let saveKey = '' + let len = nameArr.length + if (len >= 2) { + let obj = state[nameArr[0]] + for (let i = 1; i < len - 1; i++) { + obj = obj[nameArr[i]] + } + obj[nameArr[len - 1]] = payload.value + saveKey = nameArr[0] + } else { + // 单层级变量 + state[payload.name] = payload.value + saveKey = payload.name + } + + // 保存变量到本地中 + saveLifeData(saveKey, state[saveKey]) + } + }, + actions: {} +}) + +export default store \ No newline at end of file diff --git a/template.h5.html b/template.h5.html new file mode 100644 index 0000000..96ba3f8 --- /dev/null +++ b/template.h5.html @@ -0,0 +1,30 @@ + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + + + + + + + +

+ + + \ No newline at end of file diff --git a/tuniao-ui/README.md b/tuniao-ui/README.md new file mode 100644 index 0000000..ccb9fcb --- /dev/null +++ b/tuniao-ui/README.md @@ -0,0 +1,4 @@ +TuniaoUi for uniApp v1.0.0 | by 图鸟 2021-09-01 +仅供开发,如作它用所承受的法律责任一概与作者无关 + +*使用TuniaoUi开发扩展与插件时,请注明基于tuniao字眼 \ No newline at end of file diff --git a/tuniao-ui/components/tn-action-sheet/tn-action-sheet.vue b/tuniao-ui/components/tn-action-sheet/tn-action-sheet.vue new file mode 100644 index 0000000..85ffe40 --- /dev/null +++ b/tuniao-ui/components/tn-action-sheet/tn-action-sheet.vue @@ -0,0 +1,206 @@ + + + + + diff --git a/tuniao-ui/components/tn-avatar-group/tn-avatar-group.vue b/tuniao-ui/components/tn-avatar-group/tn-avatar-group.vue new file mode 100644 index 0000000..3b7bb21 --- /dev/null +++ b/tuniao-ui/components/tn-avatar-group/tn-avatar-group.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/tuniao-ui/components/tn-avatar/tn-avatar.vue b/tuniao-ui/components/tn-avatar/tn-avatar.vue new file mode 100644 index 0000000..96e7100 --- /dev/null +++ b/tuniao-ui/components/tn-avatar/tn-avatar.vue @@ -0,0 +1,298 @@ + + + + + diff --git a/tuniao-ui/components/tn-badge/tn-badge.vue b/tuniao-ui/components/tn-badge/tn-badge.vue new file mode 100644 index 0000000..d92f5f6 --- /dev/null +++ b/tuniao-ui/components/tn-badge/tn-badge.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/tuniao-ui/components/tn-button/tn-button.vue b/tuniao-ui/components/tn-button/tn-button.vue new file mode 100644 index 0000000..793f343 --- /dev/null +++ b/tuniao-ui/components/tn-button/tn-button.vue @@ -0,0 +1,348 @@ + + + + + \ No newline at end of file diff --git a/tuniao-ui/components/tn-calendar/tn-calendar.vue b/tuniao-ui/components/tn-calendar/tn-calendar.vue new file mode 100644 index 0000000..289b67b --- /dev/null +++ b/tuniao-ui/components/tn-calendar/tn-calendar.vue @@ -0,0 +1,707 @@ + + + + + diff --git a/tuniao-ui/components/tn-car-keyboard/tn-car-keyboard.vue b/tuniao-ui/components/tn-car-keyboard/tn-car-keyboard.vue new file mode 100644 index 0000000..2e4c6cc --- /dev/null +++ b/tuniao-ui/components/tn-car-keyboard/tn-car-keyboard.vue @@ -0,0 +1,320 @@ + + + + + diff --git a/tuniao-ui/components/tn-cascade-selection/tn-cascade-selection.vue b/tuniao-ui/components/tn-cascade-selection/tn-cascade-selection.vue new file mode 100644 index 0000000..02ac406 --- /dev/null +++ b/tuniao-ui/components/tn-cascade-selection/tn-cascade-selection.vue @@ -0,0 +1,654 @@ + + + + + diff --git a/tuniao-ui/components/tn-checkbox-group/tn-checkbox-group.vue b/tuniao-ui/components/tn-checkbox-group/tn-checkbox-group.vue new file mode 100644 index 0000000..5472ad5 --- /dev/null +++ b/tuniao-ui/components/tn-checkbox-group/tn-checkbox-group.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/tuniao-ui/components/tn-checkbox/tn-checkbox.vue b/tuniao-ui/components/tn-checkbox/tn-checkbox.vue new file mode 100644 index 0000000..0ad3a3f --- /dev/null +++ b/tuniao-ui/components/tn-checkbox/tn-checkbox.vue @@ -0,0 +1,328 @@ + + + + + diff --git a/tuniao-ui/components/tn-circle-progress/tn-circle-progress.vue b/tuniao-ui/components/tn-circle-progress/tn-circle-progress.vue new file mode 100644 index 0000000..31c1a38 --- /dev/null +++ b/tuniao-ui/components/tn-circle-progress/tn-circle-progress.vue @@ -0,0 +1,223 @@ + + + + + diff --git a/tuniao-ui/components/tn-collapse-item/tn-collapse-item.vue b/tuniao-ui/components/tn-collapse-item/tn-collapse-item.vue new file mode 100644 index 0000000..998879f --- /dev/null +++ b/tuniao-ui/components/tn-collapse-item/tn-collapse-item.vue @@ -0,0 +1,236 @@ + + + + + diff --git a/tuniao-ui/components/tn-collapse/tn-collapse.vue b/tuniao-ui/components/tn-collapse/tn-collapse.vue new file mode 100644 index 0000000..00ec9a2 --- /dev/null +++ b/tuniao-ui/components/tn-collapse/tn-collapse.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/tuniao-ui/components/tn-color-icon/tn-color-icon.vue b/tuniao-ui/components/tn-color-icon/tn-color-icon.vue new file mode 100644 index 0000000..c7ad83b --- /dev/null +++ b/tuniao-ui/components/tn-color-icon/tn-color-icon.vue @@ -0,0 +1,318 @@ + + + + + diff --git a/tuniao-ui/components/tn-column-notice/tn-column-notice.vue b/tuniao-ui/components/tn-column-notice/tn-column-notice.vue new file mode 100644 index 0000000..f56775c --- /dev/null +++ b/tuniao-ui/components/tn-column-notice/tn-column-notice.vue @@ -0,0 +1,241 @@ + + + + + \ No newline at end of file diff --git a/tuniao-ui/components/tn-count-down/tn-count-down.vue b/tuniao-ui/components/tn-count-down/tn-count-down.vue new file mode 100644 index 0000000..cd31e69 --- /dev/null +++ b/tuniao-ui/components/tn-count-down/tn-count-down.vue @@ -0,0 +1,314 @@ + + + + + diff --git a/tuniao-ui/components/tn-count-scroll/tn-count-scroll.vue b/tuniao-ui/components/tn-count-scroll/tn-count-scroll.vue new file mode 100644 index 0000000..b9c2eef --- /dev/null +++ b/tuniao-ui/components/tn-count-scroll/tn-count-scroll.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/tuniao-ui/components/tn-count-to/tn-count-to.vue b/tuniao-ui/components/tn-count-to/tn-count-to.vue new file mode 100644 index 0000000..c3d8854 --- /dev/null +++ b/tuniao-ui/components/tn-count-to/tn-count-to.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/tuniao-ui/components/tn-cropper/index.wxs b/tuniao-ui/components/tn-cropper/index.wxs new file mode 100644 index 0000000..0181a93 --- /dev/null +++ b/tuniao-ui/components/tn-cropper/index.wxs @@ -0,0 +1,332 @@ +var cropper = { + // 画布x轴起点 + cutX: 0, + // 画布y轴起点 + cutY: 0, + // 触摸点信息(手指与图片中心点的相对位置) + touchRelactive: [{ + x: 0, + y: 0 + }], + // 双指触摸时斜边的长度 + hypotenuseLength:0, + // 是否结束触摸 + touchEndFlag: false, + // 画布宽高 + canvasWidth: 0, + canvasHeight: 0, + // 图片宽高 + imgWidth: 0, + imgHeight: 0, + // 图片缩放比例 + scale: 1, + // 图片旋转角度 + angle: 0, + // 图片上边距 + imgTop: 0, + // 图片左边距 + imgLeft: 0, + // 窗口宽高 + windowWidth: 0, + windowHeight: 0, + init: true +} + +function bool(str) { + return str === 'true' || str === true +} + +function propChange(prop, oldProp, ownerInstance, instance) { + if (prop && prop !== 'null') { + var params = prop.split(',') + var type = +params[0] + var dataset = instance.getDataset() + if (cropper.init || type == 4) { + cropper.canvasWidth = +dataset.width + cropper.canvasHeight = +dataset.height + cropper.imgTop = +dataset.windowheight / 2 + cropper.imgLeft = +dataset.windowwidth / 2 + cropper.imgWidth = +dataset.imgwidth + cropper.imgHeight = +dataset.imgheight + cropper.windowHeight = +dataset.windowheight + cropper.windowWidth = +dataset.windowwidth + cropper.init = false + } else if (type == 2 || type == 3) { + cropper.imgWidth = +dataset.imgwidth + cropper.imgHeight = +dataset.imgheight + } + cropper.angle = +dataset.angle + if (type == 3) { + imgTransform(ownerInstance) + } + switch(type) { + case 1: + setCutCenter(ownerInstance) + // // 设置裁剪框大小 + computeCutSize(ownerInstance) + // // 检查裁剪框是否在范围内 + cutDetectionPosition(ownerInstance) + break + case 2: + setCutCenter(ownerInstance) + break + case 3: + imgMarginDetectionScale(ownerInstance) + break + case 4: + imageReset(ownerInstance) + break + case 5: + setCutCenter(ownerInstance) + break + default: + break + } + } +} + +function touchStart(event, ownerInstance) { + var touch = event.touches || event.changedTouches + cropper.touchEndFlag = false + if (touch.length === 1) { + cropper.touchRelactive[0] = { + x: touch[0].pageX - cropper.imgLeft, + y: touch[0].pageY - cropper.imgTop + } + } else { + var width = Math.abs(touch[0].pageX - touch[1].pageX) + var height = Math.abs(touch[0].pageY - touch[1].pageY) + cropper.touchRelactive = [{ + x: touch[0].pageX - cropper.imgLeft, + y: touch[0].pageY - cropper.imgTop + },{ + x: touch[1].pageX - cropper.imgLeft, + y: touch[1].pageY - cropper.imgTop + }] + cropper.hypotenuseLength = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)) + } +} + +function touchMove(event, ownerInstance) { + var touch = event.touches || event.changedTouches + if (cropper.touchEndFlag) return + moveDuring(ownerInstance) + if (event.touches.length === 1) { + var left = touch[0].pageX - cropper.touchRelactive[0].x, + top = touch[0].pageY - cropper.touchRelactive[0].y; + cropper.imgLeft = left + cropper.imgTop = top + imgTransform(ownerInstance) + imgMarginDetectionPosition(ownerInstance) + } else { + var dataset = event.instance.getDataset() + var minScale = +dataset.minscale + var maxScale = +dataset.maxscale + var width = Math.abs(touch[0].pageX - touch[1].pageX), + height = Math.abs(touch[0].pageY - touch[1].pageY), + hypotenuse = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)), + scale = cropper.scale * (hypotenuse / cropper.hypotenuseLength), + current_deg = 0; + scale = scale <= minScale ? minScale : scale + scale = scale >= maxScale ? maxScale : scale + cropper.scale = scale + imgMarginDetectionScale(ownerInstance, true) + var touchRelative = [{ + x: touch[0].pageX - cropper.imgLeft, + y: touch[0].pageY - cropper.imgTop + }, { + x: touch[1].pageX - cropper.imgLeft, + y: touch[1].pageY - cropper.imgTop + }] + cropper.touchRelactive = touchRelative + cropper.hypotenuseLength = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)) + // 更新视图 + cropper.angle = cropper.angle + current_deg + imgTransform(ownerInstance) + } +} + +function touchEnd(event, ownerInstance) { + cropper.touchEndFlag = true + moveStop(ownerInstance) + updateData(ownerInstance) +} + +function moveDuring(ownerInstance) { + if (!ownerInstance) return + ownerInstance.callMethod('moveDuring') +} + +function moveStop(ownerInstance) { + if (!ownerInstance) return + ownerInstance.callMethod('moveStop') +} + +function setCutCenter(ownerInstance) { + var cutX = (cropper.windowWidth - cropper.canvasWidth) * 0.5 + var cutY = (cropper.windowHeight - cropper.canvasHeight) * 0.5 + + cropper.imgTop = cropper.imgTop - cropper.cutY + cutY + cropper.cutY = cutY + cropper.imgLeft = cropper.imgLeft - cropper.cutX + cutX + cropper.cutX = cutX + cutDetectionPosition(ownerInstance) + imgTransform(ownerInstance) + updateData(ownerInstance) +} + +// 检测剪裁框位置是否在允许的范围内(屏幕内) +function cutDetectionPosition(ownerInstance) { + var windowHeight = cropper.windowHeight, + windowWidth = cropper.windowWidth; + + // 检测上边距是否在范围内 + var cutDetectionPositionTop = function() { + if (cropper.cutY < 0) { + cropper.cutY = 0 + } + if (cropper.cutY > windowHeight - cropper.canvasHeight) { + cropper.cutY = windowHeight - cropper.canvasHeight + } + } + + // 检测左边距是否在范围内 + var cutDetectionPositionLeft = function() { + if (cropper.cutX < 0) { + cropper.cutX = 0 + } + if (cropper.cutX > windowWidth - cropper.canvasWidth) { + cropper.cutX = windowWidth - cropper.canvasWidth + } + } + + // 裁剪框坐标处理(如果只写一个参数则另一个默认为0,都不写默认为居中) + if (cropper.cutX === null && cropper.cutY === null) { + var cutX = (windowWidth - cropper.canvasWidth) * 0.5, + cutY = (windowHeight - cropper.canvasHeight) * 0.5; + cropper.cutX = cutX + cropper.cutY = cutY + } else if (cropper.cutX !== null && cropper.cutX !== null) { + cutDetectionPositionTop() + cutDetectionPositionLeft() + } else if (cropper.cutX !== null && cropper.cutY === null) { + cutDetectionPositionLeft() + cropper.cutY = (windowHeight - cropper.canvasHeight) / 2 + } else if (cropper.cutX === null && cropper.cutY !== null) { + cutDetectionPositionTop() + cropper.cutX = (windowWidth - cropper.canvasWidth) / 2 + } +} + +// 图片边缘检测-缩放 +function imgMarginDetectionScale(ownerInstance, delay) { + var scale = cropper.scale, + imgWidth = cropper.imgWidth, + imgHeight = cropper.imgHeight; + if ((cropper.angle / 90) % 2) { + imgWidth = cropper.imgHeight + imgHeight = cropper.imgWidth + } + if (imgWidth * scale < cropper.canvasWidth) { + scale = cropper.canvasWidth / imgWidth + } + if (imgHeight * scale < cropper.canvasHeight) { + scale = Math.max(scale, cropper.canvasHeight / imgHeight) + } + imgMarginDetectionPosition(ownerInstance, scale, delay) +} + +// 图片边缘检测-位置 +function imgMarginDetectionPosition(ownerInstance, scale, delay) { + var left = cropper.imgLeft, + top = cropper.imgTop, + imgWidth = cropper.imgWidth, + imgHeight = cropper.imgHeight; + scale = scale || cropper.scale + if ((cropper.angle / 90) % 2) { + imgWidth = cropper.imgHeight + imgHeight = cropper.imgWidth + } + + left = cropper.cutX + (imgWidth * scale) / 2 >= left ? left : cropper.cutX + (imgWidth * scale) / 2 + left = cropper.cutX + cropper.canvasWidth - (imgWidth * scale) / 2 <= left ? left : cropper.cutX + cropper.canvasWidth - (imgWidth * scale) / 2 + top = cropper.cutY + (imgHeight * scale) / 2 >= top ? top : cropper.cutY + (imgHeight * scale) / 2 + top = cropper.cutY + cropper.canvasHeight - (imgHeight * scale) / 2 <= top ? top : cropper.cutY + cropper.canvasHeight - (imgHeight * scale) / 2 + + cropper.imgLeft = left + cropper.imgTop = top + cropper.scale = scale + if (!delay || delay === 'null') { + imgTransform(ownerInstance) + } +} + +// 改变截取值大小 +function computeCutSize(ownerInstance) { + if (cropper.canvasWidth > cropper.windowWidth) { + cropper.canvasWidth = cropper.windowWidth + } else if (cropper.canvasWidth + cropper.cutX > cropper.windowWidth) { + cropper.cutX = cropper.windowWidth - cropper.cutX + } + if (cropper.canvasHeight > cropper.windowHeight) { + cropper.canvasHeight = cropper.windowHeight + } else if (cropper.canvasHeight + cropper.cutY > cropper.windowHeight) { + cropper.cutY = cropper.windowHeight - cropper.cutY + } +} + +// 图片动画 +function imgTransform(ownerInstance) { + try { + var image = ownerInstance.selectComponent('.tn-cropper__image') + if (!image) return + var x = cropper.imgLeft - cropper.imgWidth / 2, + y = cropper.imgTop - cropper.imgHeight / 2; + image.setStyle({ + 'transform': 'translate3d('+ x + 'px,' + y + 'px,0) scale(' + cropper.scale +') rotate(' + cropper.angle + 'deg)' + }) + } catch(e) { + + } +} + +// 图片重置 +function imageReset(ownerInstance) { + cropper.scale = 1 + cropper.angle = 0 + imgTransform(ownerInstance) +} + +// 高度变化 +function canvasHeight(ownerInstance) { + if (!ownerInstance) return + computeCutSize(ownerInstance) +} + +// 宽度变化 +function canvasWidth(ownerInstance) { + if (!ownerInstance) return + computeCutSize(ownerInstance) +} + +// 更新数据 +function updateData(ownerInstance) { + if (!ownerInstance) return + ownerInstance.callMethod('change', { + cutX: cropper.cutX, + cutY: cropper.cutY, + imgWidth: cropper.imgWidth, + imgHeight: cropper.imgHeight, + scale: cropper.scale, + angle: cropper.angle, + imgTop: cropper.imgTop, + imgLeft: cropper.imgLeft + }) +} + +module.exports = { + touchStart: touchStart, + touchMove: touchMove, + touchEnd: touchEnd, + propChange: propChange +} \ No newline at end of file diff --git a/tuniao-ui/components/tn-cropper/tn-cropper.vue b/tuniao-ui/components/tn-cropper/tn-cropper.vue new file mode 100644 index 0000000..6d22d6f --- /dev/null +++ b/tuniao-ui/components/tn-cropper/tn-cropper.vue @@ -0,0 +1,574 @@ + + + + + + diff --git a/tuniao-ui/components/tn-custom-swiper-item/index.wxs b/tuniao-ui/components/tn-custom-swiper-item/index.wxs new file mode 100644 index 0000000..a6c12b7 --- /dev/null +++ b/tuniao-ui/components/tn-custom-swiper-item/index.wxs @@ -0,0 +1,288 @@ + +function setTimeout(instance, cb, time) { + if (time > 0) { + var s = getDate().getTime() + var fn = function () { + if (getDate().getTime() - s > time) { + cb && cb() + } else + instance.requestAnimationFrame(fn) + } + fn() + } + else + cb && cb() +} + +// 判断触摸的移动方向 +function decideSwiperDirection(startTouches, currentTouches, vertical) { + // 震动偏移容差 + var toleranceShake = 150 + // 移动容差 + var toleranceTranslate = 10 + + if (!vertical) { + // 水平方向移动 + if (Math.abs(currentTouches.y - startTouches.y) <= toleranceShake) { + // console.log(currentTouches.x, startTouches.x); + if (Math.abs(currentTouches.x - startTouches.x) > toleranceTranslate) { + if (currentTouches.x - startTouches.x > 0) { + return 'right' + } else if (currentTouches.x - startTouches.x < 0) { + return 'left' + } + } + } + } else { + // 垂直方向移动 + if (Math.abs(currentTouches.x - startTouches.x) <= toleranceShake) { + // console.log(currentTouches.x, startTouches.x); + if (Math.abs(currentTouches.y - startTouches.y) > toleranceTranslate) { + if (currentTouches.y - startTouches.y > 0) { + return 'down' + } else if (currentTouches.y - startTouches.y < 0) { + return 'up' + } + } + } + } + return '' +} + +// swiperItem参数数据更新 +var itemDataObserver = function(newVal, oldVal, ownerInstance, instance) { + if (!newVal || newVal === 'undefined') return + var state = ownerInstance.getState() + state.itemData = newVal +} + +// swiperIndex数据更新 +var currentIndexObserver = function(newVal, oldVal, ownerInstance, instance) { + if ((!newVal && newVal != 0) || newVal === 'undefined') return + var state = ownerInstance.getState() + state.currentIndex = newVal +} + +// containerData数据更新 +var containerDataObserver = function(newVal, oldVal, ownerInstance, instance) { + if (!newVal || newVal === 'undefined') return + var state = ownerInstance.getState() + state.containerData = newVal +} + +// 开始触摸 +var touchStart = function(event, ownerInstance) { + console.log('touchStart'); + var instance = event.instance + var dataset = instance.getDataset() + var state = ownerInstance.getState() + var itemData = state.itemData + var containerData = state.containerData + + // 由于当前SwiperIndex初始为0,可能会导致swiperIndex数据没有更新 + if (!state.currentIndex || state.currentIndex === 'undefined') { + state.currentIndex = 0 + } + + if (!containerData || containerData.circular === 'undefined') { + containerData.circular = false + } + state.containerData = containerData + + // 如果当前切换动画还没执行结束,再次触摸会重新加载对应的swiperContainer的信息 + // console.log(containerData.animationFinish); + if (!containerData.animationFinish) { + ownerInstance.callMethod('changeParentSwiperContainerStyleStatus',{ + status: 'reload' + }) + } + + // 判断是否为为当前显示的SwiperItem + if (itemData.index != state.currentIndex) return + + var touches = event.changedTouches[0] + if (!touches) return + + // 标记滑动开始时间 + state.touchStartTime = getDate().getTime() + + // 记录当前滑动开始的x,y坐标 + state.touchRelactive = { + x: touches.pageX, + y: touches.pageY + } + // 记录触摸id,用于处理多指的情况 + state.touchId = touches.identifier + + // 标记开始触摸 + state.touching = true + ownerInstance.callMethod('updateTouchingStatus', { + status: true + }) +} + +// 正在移动 +var touchMove = function(event, ownerInstance) { + console.log('touchMove'); + var instance = event.instance + var dataset = instance.getDataset() + var state = ownerInstance.getState() + var itemData = state.itemData + var containerData = state.containerData + + // 判断是否为为当前显示的SwiperItem + if (itemData.index != state.currentIndex) return + + // 判断是否开始触摸 + if (!state.touching) return + + var touches = event.changedTouches[0] + if (!touches) return + // 判断是否为同一个触摸点 + if (state.touchId != touches.identifier) return + + var currentTouchRelactive = { + x: touches.pageX, + y: touches.pageY + } + + // 计算相对位移比例 + if (containerData.vertical) { + var touchDistance = currentTouchRelactive.y - state.touchRelactive.y + var itemHeight = itemData.itemHeight + var distanceRate = touchDistance / itemHeight + // console.log(currentTouchRelactive.y, touchDistance, itemHeight, distanceRate); + + // 判断是否为衔接轮播,如果不是衔接轮播,如果当前为第一个swiperItem并且向下滑、当前为最后一个swiperItem并且向上滑时不进行操作 + if (!containerData.circular && + ((state.currentIndex === 0 && touchDistance > 0) || (state.currentIndex === containerData.swiperItemLength - 1 && touchDistance < 0)) + ) { + return + } + + // 如果超出了距离则不进行操作 + if((Math.abs(touchDistance) > (itemData.itemTop + itemData.itemHeight))) { + ownerInstance.callMethod('updateParentSwiperContainerStyle', { + value: distanceRate < 0 ? -1 : 1 + }) + return + } + } else { + var touchDistance = currentTouchRelactive.x - state.touchRelactive.x + var itemWidth = itemData.itemWidth + var distanceRate = touchDistance / itemWidth + // console.log(currentTouchRelactive.x, touchDistance, itemWidth, distanceRate); + + // 判断是否为衔接轮播,如果不是衔接轮播,如果当前为第一个swiperItem并且向右滑、当前为最后一个swiperItem并且向左滑时不进行操作 + if (!containerData.circular && + ((state.currentIndex === 0 && touchDistance > 0) || (state.currentIndex === containerData.swiperItemLength - 1 && touchDistance < 0)) + ) { + return + } + + // 如果超出了距离则不进行操作 + if((Math.abs(touchDistance) > (itemData.itemLeft + itemData.itemWidth))) { + ownerInstance.callMethod('updateParentSwiperContainerStyle', { + value: distanceRate < 0 ? -1 : 1 + }) + return + } + } + + ownerInstance.callMethod('updateParentSwiperContainerStyle', { + value: distanceRate + }) +} + +// 移动结束 +var touchEnd = function(event, ownerInstance) { + console.log('touchEnd'); + var instance = event.instance + var dataset = instance.getDataset() + var state = ownerInstance.getState() + var itemData = state.itemData + var containerData = state.containerData + + // 判断是否为为当前显示的SwiperItem + if (itemData.index != state.currentIndex) return + + // 判断是否开始触摸 + if (!state.touching) return + + var touches = event.changedTouches[0] + if (!touches) return + // 判断是否为同一个触摸点 + if (state.touchId != touches.identifier) return + + + var currentTime = getDate().getTime() + var currentTouchRelactive = { + x: touches.pageX, + y: touches.pageY + } + + if (containerData.vertical) { + // 判断触摸移动方向 + var direction = decideSwiperDirection(state.touchRelactive, currentTouchRelactive, true) + // 判断是否为衔接轮播,如果不是衔接轮播,如果当前为第一个swiperItem并且向下滑、当前为最后一个swiperItem并且向上滑时不进行操作 + if (containerData.circular || + !((state.currentIndex === 0 && direction === 'down') || (state.currentIndex === containerData.swiperItemLength - 1 && direction === 'up')) + ) { + // 判断触摸的时间和移动的距离是否超过了当前itemHeight的一半,如果是则执行切换操作 + // console.log(currentTime - state.touchStartTime, Math.abs(currentTouchRelactive.y - state.touchRelactive.y)); + if ((currentTime - state.touchStartTime) > 200 && Math.abs(currentTouchRelactive.y - state.touchRelactive.y) < itemData.itemHeight / 2) { + ownerInstance.callMethod('changeParentSwiperContainerStyleStatus',{ + status: 'reset' + }) + } else { + // console.log(direction, state.touchRelactive.y, currentTouchRelactive.y); + + ownerInstance.callMethod('updateParentSwiperContainerStyleWithDirection', { + direction: direction + }) + } + } + } else { + // 判断触摸移动方向 + var direction = decideSwiperDirection(state.touchRelactive, currentTouchRelactive, false) + // 判断是否为衔接轮播,如果不是衔接轮播,如果当前为第一个swiperItem并且向右滑、当前为最后一个swiperItem并且向左滑时不进行操作 + if (containerData.circular || + !((state.currentIndex === 0 && direction === 'right') || (state.currentIndex === containerData.swiperItemLength - 1 && direction === 'left')) + ) { + // 判断触摸的时间和移动的距离是否超过了当前itemWidth的一半,如果是则执行切换操作 + // console.log(currentTime - state.touchStartTime, Math.abs(currentTouchRelactive.x - state.touchRelactive.x)); + if ((currentTime - state.touchStartTime) > 200 && Math.abs(currentTouchRelactive.x - state.touchRelactive.x) < itemData.itemWidth / 2) { + ownerInstance.callMethod('changeParentSwiperContainerStyleStatus',{ + status: 'reset' + }) + } else { + // console.log(direction, state.touchRelactive.x, currentTouchRelactive.x); + + ownerInstance.callMethod('updateParentSwiperContainerStyleWithDirection', { + direction: direction + }) + } + } + } + + // 清除标记 + state.touchId = null + state.touchRelactive = null + state.touchStartTime = 0 + + + // 标记停止触摸 + state.touching = true + ownerInstance.callMethod('updateTouchingStatus', { + status: false + }) +} + +module.exports = { + itemDataObserver: itemDataObserver, + currentIndexObserver: currentIndexObserver, + containerDataObserver: containerDataObserver, + touchStart: touchStart, + touchMove: touchMove, + touchEnd: touchEnd +} \ No newline at end of file diff --git a/tuniao-ui/components/tn-custom-swiper-item/tn-custom-swiper-item.vue b/tuniao-ui/components/tn-custom-swiper-item/tn-custom-swiper-item.vue new file mode 100644 index 0000000..5fd3c5b --- /dev/null +++ b/tuniao-ui/components/tn-custom-swiper-item/tn-custom-swiper-item.vue @@ -0,0 +1,277 @@ + + + + + + diff --git a/tuniao-ui/components/tn-custom-swiper/tn-custom-swiper.vue b/tuniao-ui/components/tn-custom-swiper/tn-custom-swiper.vue new file mode 100644 index 0000000..2094fe6 --- /dev/null +++ b/tuniao-ui/components/tn-custom-swiper/tn-custom-swiper.vue @@ -0,0 +1,535 @@ + + + + + diff --git a/tuniao-ui/components/tn-drag/index.wxs b/tuniao-ui/components/tn-drag/index.wxs new file mode 100644 index 0000000..6df1e84 --- /dev/null +++ b/tuniao-ui/components/tn-drag/index.wxs @@ -0,0 +1,265 @@ +// 判断是否出界 +var isOutRange = function(x1, y1, x2, y2, x3, y3) { + return x1 < 0 || x1 >= y1 || x2 < 0 || x2 >= y2 || x3 < 0 || x3 >= y3 +} +var edit = false + +function bool(str) { + return str === 'true' || str === true +} +/** + * 排序核心 + * @param {Object} startKey 开始时位置 + * @param {Object} endKey 结束时位置 + * @param {Object} instance wxs内的局部变量快照 + */ +var sortCore = function(startKey, endKey, state) { + var basedata = state.basedata + var excludeFix = function(sortKey, type) { + // fixed 元素位置不会变化, 这里直接用 sortKey 获取,更加便捷 + if (state.list[sortKey].fixed) { + var _sortKey = type ? --sortKey : ++sortKey + return excludeFix(sortKey, type) + } + return sortKey + } + + // 先获取到 endKey 对应的 realKey, 防止下面排序过程中该 realKey 被修改 + var endRealKey = -1 + state.list.forEach(function(item) { + if (item.sortKey === endKey) endRealKey = item.realKey + }) + + return state.list.map(function(item) { + if (item.fixed) return item + var sortKey = item.sortKey + var realKey = item.realKey + + if (startKey < endKey) { + // 正序拖动 + if (sortKey > startKey && sortKey <= endKey) { + --realKey + sortKey = excludeFix(--sortKey, true) + } else if (sortKey === startKey) { + realKey = endRealKey + sortKey = endKey + } + } else if (startKey > endKey) { + // 倒序拖动 + if (sortKey >= endKey && sortKey < startKey) { + ++realKey + sortKey = excludeFix(++sortKey, false) + } else if (sortKey === startKey) { + realKey = endRealKey + sortKey = endKey + } + } + + if (item.sortKey != sortKey) { + item.translateX = (sortKey % basedata.columns) * 100 + '%' + item.translateY = Math.floor(sortKey / basedata.columns) * 100 + '%' + item.sortKey = sortKey + item.realKey = realKey + } + return item + }) +} + +var triggerCustomEvent = function(list, type, instance) { + if (!instance) return + var _list = [], + listData = []; + + list.forEach(function(item) { + _list[item.sortKey] = item + }) + _list.forEach(function(item) { + listData.push(item.data) + }) + + // 编译到小程序 funcName作为参数传递导致事件不执行 + switch(type) { + case 'change': + instance.callMethod('change', {data: listData}) + break + case 'sortEnd': + instance.callMethod('sortEnd', {data: listData}) + break + } +} + +var listObserver = function(newVal, oldVal, ownerInstance, instance) { + var state = ownerInstance.getState() + state.itemsInstance = ownerInstance.selectAllComponents('.tn-drag__item') + + state.list = newVal || [] + + state.list.forEach(function(item, index) { + var itemInstance = state.itemsInstance[index] + if (item && itemInstance) { + itemInstance.setStyle({ + 'transform': 'translate3d('+ item.translateX + ',' + item.translateY +', 0)' + }) + if (item.fixed) itemInstance.addClass('tn-drag__fixed') + } + }) +} + +var baseDataObserver = function(newVal, oldVal, ownerInstance, instance) { + var state = ownerInstance.getState() + state.basedata = newVal +} + +var longPress = function(event, ownerInstance) { + var instance = event.instance + var dataset = instance.getDataset() + var state = ownerInstance.getState() + + edit = bool(dataset.edit) + if (!edit) return + if (!state.basedata || state.basedata === 'undefined') { + state.basedata = JSON.parse(dataset.basedata) + } + var basedata = state.basedata + var touches = event.changedTouches[0] + if (!touches) return + + state.current = +dataset.index + + // 初始项是固定项则返回 + var item = state.list[state.current] + if (item && item.fixed) return + + // 如果已经在 drag 中则返回, 防止多指触发 drag 动作, touchstart 事件中有效果 + if (state.dragging) return + + ownerInstance.callMethod("drag", { + dragging: true + }) + + // 计算X, Y轴初始位移,使item中心移动到点击处,单列的时候X轴初始不做位移 + state.translateX = basedata.columns === 1 ? 0 : touches.pageX - (basedata.itemWidth / 2 + basedata.left) + state.translateY = touches.pageY - (basedata.itemHeight / 2 + basedata.top) + state.touchId = touches.identifier + + instance.setStyle({ + 'transform': 'translate3d(' + state.translateX + 'px,' + state.translateY +'px, 0)' + }) + state.itemsInstance.forEach(function(item, index) { + item.removeClass("tn-drag__transition").removeClass("tn-drag__current") + item.addClass(index === state.current ? "tn-drag__current" : "tn-drag__transition") + }) + + ownerInstance.callMethod("vibrate") + state.dragging = true +} + +var touchStart = function(event, ownerInstance) { + var instance = event.instance + var dataset = instance.getDataset() + edit = bool(dataset.edit) +} + +var touchMove = function(event, ownerInstance) { + var instance = event.instance + var dataset = instance.getDataset() + var state = ownerInstance.getState() + var basedata = state.basedata + + if (!state.dragging || !edit) return + var touches = event.changedTouches[0] + if (!touches) return + + // 如果不是同一个触发点则返回 + if (state.touchId !== touches.identifier) return + + // 计算X,Y轴位移, 单列时候X轴初始不做位移 + var translateX = basedata.columns === 1 ? 0 : touches.pageX - (basedata.itemWidth / 2 + basedata.left) + var translateY = touches.pageY - (basedata.itemHeight / 2 + basedata.top) + + // 到顶到低自动滑动 + if (touches.clientY > basedata.windowHeight - basedata.itemHeight - basedata.realBottomSize) { + // 当前触摸点pageY + item高度 - (屏幕高度 - 底部固定区域高度) + ownerInstance.callMethod('pageScroll', { + scrollTop: touches.pageY + basedata.itemHeight - (basedata.windowHeight - basedata.realBottomSize) + }) + } else if (touches.clientY < basedata.itemHeight + basedata.realTopSize) { + // 当前触摸点pageY - item高度 - 顶部固定区域高 + ownerInstance.callMethod('pageScroll', { + scrollTop: touches.pageY - basedata.itemHeight - basedata.realTopSize + }) + } + + // 设置当前激活元素的偏移量 + instance.setStyle({ + 'transform': 'translate3d('+ translateX + 'px,' + translateY + 'px, 0)' + }) + + var startKey = state.list[state.current].sortKey + var currentX = Math.round(translateX / basedata.itemWidth) + var currentY = Math.round(translateY / basedata.itemHeight) + var endKey = currentX + basedata.columns * currentY + + // 目标项时固定项则返回 + var item = state.list[endKey] + if (item && item.fixed) return + + // X轴或者Y轴超出范围则返回 + if (isOutRange(currentX, basedata.columns, currentY, basedata.rows, endKey, state.list.length)) return + + // 防止拖拽过程中发生乱序问题 + if (startKey === endKey || startKey === state.preStartKey) return + state.preStartKey = startKey + + var list = sortCore(startKey, endKey, state) + state.itemsInstance.forEach(function(itemInstance, index) { + var item = list[index] + if (index !== state.current) { + itemInstance.setStyle({ + 'transform': 'translate3d('+ item.translateX + ',' + item.translateY +', 0)' + }) + } + }) + + // ownerInstance.callMethod('vibrate') + ownerInstance.callMethod('listDataChange', { + data: list + }) + triggerCustomEvent(list, "change", ownerInstance) +} + +var touchEnd = function(event, ownerInstance) { + var instance = event.instance + var dataset = instance.getDataset() + var state = ownerInstance.getState() + var basedata = state.basedata + + if (!state.dragging || !edit) return + triggerCustomEvent(state.list, "sortEnd", ownerInstance) + + instance.addClass('tn-drag__transition') + instance.setStyle({ + 'transform': 'translate3d('+ state.list[state.current].translateX + ',' + state.list[state.current].translateY + ', 0)' + }) + state.itemsInstance.forEach(function(item, index) { + item.removeClass('tn-drag__transition') + }) + + state.preStartKey = -1 + state.dragging = false + ownerInstance.callMethod('drag', { + dragging: false + }) + state.current = -1 + state.translateX = 0 + state.translateY = 0 +} + +module.exports = { + longPress: longPress, + touchStart: touchStart, + touchMove: touchMove, + touchEnd: touchEnd, + baseDataObserver: baseDataObserver, + listObserver: listObserver +} \ No newline at end of file diff --git a/tuniao-ui/components/tn-drag/tn-drag.vue b/tuniao-ui/components/tn-drag/tn-drag.vue new file mode 100644 index 0000000..17d269d --- /dev/null +++ b/tuniao-ui/components/tn-drag/tn-drag.vue @@ -0,0 +1,278 @@ + + + + + diff --git a/tuniao-ui/components/tn-empty/tn-empty.vue b/tuniao-ui/components/tn-empty/tn-empty.vue new file mode 100644 index 0000000..3a85b15 --- /dev/null +++ b/tuniao-ui/components/tn-empty/tn-empty.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/tuniao-ui/components/tn-fab/tn-fab.vue b/tuniao-ui/components/tn-fab/tn-fab.vue new file mode 100644 index 0000000..9ce0cde --- /dev/null +++ b/tuniao-ui/components/tn-fab/tn-fab.vue @@ -0,0 +1,523 @@ + + + + + diff --git a/tuniao-ui/components/tn-form-item/tn-form-item.vue b/tuniao-ui/components/tn-form-item/tn-form-item.vue new file mode 100644 index 0000000..f60dbec --- /dev/null +++ b/tuniao-ui/components/tn-form-item/tn-form-item.vue @@ -0,0 +1,457 @@ + + + + + diff --git a/tuniao-ui/components/tn-form/tn-form.vue b/tuniao-ui/components/tn-form/tn-form.vue new file mode 100644 index 0000000..6a2524f --- /dev/null +++ b/tuniao-ui/components/tn-form/tn-form.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/tuniao-ui/components/tn-goods-nav/tn-goods-nav.vue b/tuniao-ui/components/tn-goods-nav/tn-goods-nav.vue new file mode 100644 index 0000000..b3d3a60 --- /dev/null +++ b/tuniao-ui/components/tn-goods-nav/tn-goods-nav.vue @@ -0,0 +1,382 @@ + + + + + diff --git a/tuniao-ui/components/tn-grid-item/tn-grid-item.vue b/tuniao-ui/components/tn-grid-item/tn-grid-item.vue new file mode 100644 index 0000000..312f60e --- /dev/null +++ b/tuniao-ui/components/tn-grid-item/tn-grid-item.vue @@ -0,0 +1,104 @@ + + + + + \ No newline at end of file diff --git a/tuniao-ui/components/tn-grid/tn-grid.vue b/tuniao-ui/components/tn-grid/tn-grid.vue new file mode 100644 index 0000000..f5487c6 --- /dev/null +++ b/tuniao-ui/components/tn-grid/tn-grid.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/tuniao-ui/components/tn-image-upload-drag/tn-image-upload-drag.vue b/tuniao-ui/components/tn-image-upload-drag/tn-image-upload-drag.vue new file mode 100644 index 0000000..3a96b98 --- /dev/null +++ b/tuniao-ui/components/tn-image-upload-drag/tn-image-upload-drag.vue @@ -0,0 +1,995 @@ + + + + + diff --git a/tuniao-ui/components/tn-image-upload/tn-image-upload.vue b/tuniao-ui/components/tn-image-upload/tn-image-upload.vue new file mode 100644 index 0000000..e7e9418 --- /dev/null +++ b/tuniao-ui/components/tn-image-upload/tn-image-upload.vue @@ -0,0 +1,695 @@ + + + + + diff --git a/tuniao-ui/components/tn-index-anchor/tn-index-anchor.vue b/tuniao-ui/components/tn-index-anchor/tn-index-anchor.vue new file mode 100644 index 0000000..435597d --- /dev/null +++ b/tuniao-ui/components/tn-index-anchor/tn-index-anchor.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/tuniao-ui/components/tn-index-list/tn-index-list.vue b/tuniao-ui/components/tn-index-list/tn-index-list.vue new file mode 100644 index 0000000..5187896 --- /dev/null +++ b/tuniao-ui/components/tn-index-list/tn-index-list.vue @@ -0,0 +1,361 @@ + + + + + diff --git a/tuniao-ui/components/tn-input/tn-input.vue b/tuniao-ui/components/tn-input/tn-input.vue new file mode 100644 index 0000000..e16a1ad --- /dev/null +++ b/tuniao-ui/components/tn-input/tn-input.vue @@ -0,0 +1,447 @@ +