From 5096c67d581ccecfe73bc5c55f3e8a22abe0c27f Mon Sep 17 00:00:00 2001 From: ctw Date: Wed, 19 Nov 2025 11:24:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0uni-ui=EF=BC=9B=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E9=80=82=E9=85=8D=EF=BC=9B=E5=88=87=E6=8D=A2=E5=9F=8E?= =?UTF-8?q?=E5=B8=82=EF=BC=9B=E6=9F=A5=E7=9C=8B=E6=9C=8B=E5=8F=8B=E5=9C=88?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 1 + src/main.scss | 3 + src/main.ts | 4 +- src/pages.json | 683 +++++- src/pages/activity/groupon/detail.vue | 539 +++++ src/pages/activity/groupon/list.vue | 225 ++ src/pages/activity/groupon/order.vue | 240 ++ src/pages/activity/index.vue | 214 ++ src/pages/activity/point/list.vue | 76 + src/pages/activity/seckill/list.vue | 460 ++++ src/pages/app/sign.vue | 452 ++++ src/pages/chat/components/goods.vue | 21 + src/pages/chat/components/messageInput.vue | 110 + src/pages/chat/components/messageList.vue | 293 +++ src/pages/chat/components/messageListItem.vue | 297 +++ src/pages/chat/components/optimize-input.vue | 540 +++++ src/pages/chat/components/order.vue | 114 + src/pages/chat/components/select-popup.vue | 151 ++ src/pages/chat/components/toolsPopup.vue | 166 ++ src/pages/chat/index.vue | 222 ++ src/pages/chat/util/constants.js | 19 + src/pages/chat/util/emoji.js | 58 + src/pages/chat/util/useWebSocket.js | 150 ++ src/pages/commission/commission-ranking.vue | 239 ++ .../commission/components/account-info.vue | 125 + .../components/account-type-select.vue | 171 ++ .../commission/components/commission-auth.vue | 101 + .../commission/components/commission-info.vue | 114 + .../commission/components/commission-log.vue | 181 ++ .../commission/components/commission-menu.vue | 145 ++ src/pages/commission/goods.vue | 165 ++ src/pages/commission/index.vue | 57 + src/pages/commission/order.vue | 332 +++ src/pages/commission/promoter.vue | 288 +++ src/pages/commission/team.vue | 604 +++++ src/pages/commission/wallet.vue | 643 +++++ src/pages/commission/withdraw.vue | 486 ++++ src/pages/components/HighlightNumberText.vue | 81 + src/pages/coupon/detail.vue | 390 +++ src/pages/coupon/list.vue | 222 ++ src/pages/goods/comment/add.vue | 190 ++ src/pages/goods/comment/list.vue | 168 ++ .../goods/components/detail/comment-item.vue | 94 + .../components/detail/detail-activity-tip.vue | 99 + .../components/detail/detail-cell-sku.vue | 31 + .../goods/components/detail/detail-cell.vue | 60 + .../components/detail/detail-comment-card.vue | 106 + .../components/detail/detail-content-card.vue | 54 + .../goods/components/detail/detail-navbar.vue | 257 ++ .../components/detail/detail-progress.vue | 40 + .../components/detail/detail-skeleton.vue | 177 ++ .../goods/components/detail/detail-tabbar.vue | 169 ++ .../components/groupon/groupon-card-list.vue | 140 ++ .../goods/components/list/list-goods-card.vue | 103 + .../goods/components/list/list-navbar.vue | 93 + src/pages/goods/groupon.vue | 562 +++++ src/pages/goods/index.vue | 672 ++++++ src/pages/goods/list.vue | 407 ++++ src/pages/goods/point.vue | 483 ++++ src/pages/goods/seckill.vue | 575 +++++ src/pages/home/city.vue | 22 +- src/pages/home/detail.vue | 52 +- src/pages/home/home.vue | 29 +- src/pages/index/cart.vue | 315 +++ src/pages/index/category.vue | 240 ++ src/pages/index/components/first-one.vue | 26 + src/pages/index/components/first-two.vue | 66 + src/pages/index/components/second-one.vue | 80 + src/pages/index/index.vue | 93 + src/pages/index/login.vue | 39 + src/pages/index/page.vue | 51 + src/pages/index/search.vue | 119 + src/pages/index/user.vue | 47 + src/pages/login/login.vue | 4 +- src/pages/order/addressSelection.vue | 282 +++ src/pages/order/aftersale/apply.vue | 349 +++ src/pages/order/aftersale/detail.vue | 379 +++ src/pages/order/aftersale/list.vue | 209 ++ src/pages/order/aftersale/log-item.vue | 83 + src/pages/order/aftersale/log.vue | 38 + src/pages/order/aftersale/return-delivery.vue | 195 ++ src/pages/order/confirm.vue | 529 +++++ src/pages/order/detail.vue | 671 ++++++ src/pages/order/express/log.vue | 233 ++ src/pages/order/list.vue | 504 ++++ src/pages/order/pickUpVerify.vue | 260 ++ src/pages/pay/index.vue | 305 +++ src/pages/pay/recharge-log.vue | 167 ++ src/pages/pay/recharge.vue | 277 +++ src/pages/pay/result.vue | 339 +++ src/pages/public/error.vue | 60 + src/pages/public/faq.vue | 118 + src/pages/public/richtext.vue | 54 + src/pages/public/setting.vue | 236 ++ src/pages/public/webview.vue | 18 + src/pages/user/address/edit.vue | 305 +++ src/pages/user/address/list.vue | 165 ++ src/pages/user/goods-collect.vue | 233 ++ src/pages/user/goods-log.vue | 308 +++ src/pages/user/goods_details_store/index.vue | 282 +++ src/pages/user/info.vue | 467 ++++ src/pages/user/wallet/money.vue | 379 +++ src/pages/user/wallet/score.vue | 282 +++ src/sheep/api/infra/file.js | 17 +- src/sheep/api/infra/tenant.js | 19 + src/sheep/api/member/auth.js | 16 +- src/sheep/api/member/user.js | 18 +- src/sheep/api/migration/app.js | 6 +- src/sheep/api/pay/transfer.js | 14 + src/sheep/api/trade/brokerage.js | 56 +- .../s-auth-modal/components/account-login.vue | 16 +- .../s-auth-modal/components/sms-login.vue | 35 +- .../components/s-auth-modal/s-auth-modal.vue | 270 +-- .../components/s-block-item/s-block-item.vue | 53 +- src/sheep/components/s-block/s-block.vue | 11 +- .../s-coupon-block/s-coupon-block.vue | 336 +-- .../components/navbar-item.vue | 5 +- .../s-goods-column/s-goods-column.vue | 104 +- .../s-groupon-block/s-groupon-block.vue | 1 - .../s-image-banner/s-image-banner.vue | 7 + src/sheep/components/s-layout/s-layout.vue | 4 +- .../s-point-block/s-point-block.vue | 12 +- .../components/s-point-card/s-point-card.vue | 106 +- .../s-richtext-block/s-richtext-block.vue | 8 +- .../s-search-block/s-search-block.vue | 165 +- .../s-seckill-block/s-seckill-block.vue | 1 - .../s-select-groupon-sku.vue | 16 +- .../s-select-seckill-sku.vue | 28 +- .../components/s-select-sku/s-select-sku.vue | 16 +- .../canvas-poster/poster/groupon.js | 13 +- .../canvas-poster/poster/user.js | 5 +- .../s-title-block/s-title-block.vue | 85 +- .../s-uploader/choose-and-upload-file.js | 69 +- .../components/s-uploader/s-uploader.vue | 22 +- .../components/s-user-card/s-user-card.vue | 5 +- src/sheep/components/segmented/segmented.vue | 8 +- src/sheep/config/index.js | 8 +- src/sheep/helper/const.js | 153 ++ src/sheep/helper/index.js | 15 +- src/sheep/helper/utils.js | 168 +- src/sheep/hooks/use-scroll.ts | 3 - src/sheep/hooks/useGoods.js | 2 +- src/sheep/hooks/useModal.js | 21 +- src/sheep/index.js | 18 +- src/sheep/libs/permission.js | 4 +- src/sheep/libs/sdk-h5-weixin.js | 23 +- src/sheep/platform/index.js | 4 +- src/sheep/platform/pay.js | 58 +- .../platform/provider/wechat/miniProgram.js | 48 +- .../provider/wechat/officialAccount.js | 5 +- src/sheep/platform/share.js | 5 +- src/sheep/request/index.js | 127 +- src/sheep/scss/icon/_icon.scss | 6 +- src/sheep/store/app.js | 69 +- src/sheep/store/cart.js | 19 +- src/sheep/store/user.js | 3 +- src/sheep/ui/su-coupon/su-coupon.vue | 3 +- src/sheep/ui/su-navbar/su-navbar.vue | 4 +- src/sheep/ui/su-sticky/su-sticky.vue | 10 +- src/sheep/ui/su-tab-item/su-tab-item.vue | 3 +- .../ui/su-tabbar-item/su-tabbar-item.vue | 2 +- src/sheep/ui/su-tabs/su-tabs.vue | 7 +- .../ui/su-video/components/dom-video.vue | 213 ++ src/sheep/ui/su-video/su-video.vue | 46 +- src/sheep/url/index.js | 13 +- src/uni.scss | 22 +- src/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 + src/uni_modules/lime-painter/package.json | 93 + src/uni_modules/lime-painter/parser.js | 388 +++ src/uni_modules/lime-painter/readme.md | 961 ++++++++ src/uni_modules/mp-html/README.md | 194 ++ src/uni_modules/mp-html/changelog.md | 150 ++ .../mp-html/components/mp-html/mp-html.vue | 498 ++++ .../mp-html/components/mp-html/node/node.vue | 587 +++++ .../mp-html/components/mp-html/parser.js | 1395 +++++++++++ src/uni_modules/mp-html/package.json | 76 + .../static/app-plus/mp-html/js/handler.js | 1 + .../app-plus/mp-html/js/uni.webview.min.js | 1 + .../static/app-plus/mp-html/local.html | 1 + src/uni_modules/uni-badge/changelog.md | 33 + .../components/uni-badge/uni-badge.vue | 268 +++ src/uni_modules/uni-badge/package.json | 85 + src/uni_modules/uni-badge/readme.md | 10 + src/uni_modules/uni-card/changelog.md | 26 + .../uni-card/components/uni-card/uni-card.vue | 270 +++ src/uni_modules/uni-card/package.json | 90 + src/uni_modules/uni-card/readme.md | 12 + src/uni_modules/uni-collapse/changelog.md | 36 + .../uni-collapse-item/uni-collapse-item.vue | 402 ++++ .../components/uni-collapse/uni-collapse.vue | 147 ++ src/uni_modules/uni-collapse/package.json | 89 + src/uni_modules/uni-collapse/readme.md | 12 + src/uni_modules/uni-combox/changelog.md | 15 + .../components/uni-combox/uni-combox.vue | 275 +++ src/uni_modules/uni-combox/package.json | 90 + src/uni_modules/uni-combox/readme.md | 11 + src/uni_modules/uni-countdown/changelog.md | 24 + .../components/uni-countdown/i18n/en.json | 6 + .../components/uni-countdown/i18n/index.js | 8 + .../uni-countdown/i18n/zh-Hans.json | 6 + .../uni-countdown/i18n/zh-Hant.json | 6 + .../uni-countdown/uni-countdown.vue | 271 +++ src/uni_modules/uni-countdown/package.json | 86 + src/uni_modules/uni-countdown/readme.md | 10 + .../uni-data-checkbox/changelog.md | 45 + .../uni-data-checkbox/uni-data-checkbox.vue | 817 +++++++ .../uni-data-checkbox/package.json | 84 + src/uni_modules/uni-data-checkbox/readme.md | 18 + src/uni_modules/uni-data-picker/changelog.md | 58 + .../components/uni-data-picker/keypress.js | 45 + .../uni-data-picker/uni-data-picker.vue | 539 +++++ .../uni-data-pickerview/uni-data-picker.js | 563 +++++ .../uni-data-pickerview.vue | 333 +++ src/uni_modules/uni-data-picker/package.json | 92 + src/uni_modules/uni-data-picker/readme.md | 22 + src/uni_modules/uni-dateformat/changelog.md | 10 + .../components/uni-dateformat/date-format.js | 200 ++ .../uni-dateformat/uni-dateformat.vue | 88 + src/uni_modules/uni-dateformat/package.json | 88 + src/uni_modules/uni-dateformat/readme.md | 11 + .../uni-datetime-picker/changelog.md | 89 + .../uni-datetime-picker/calendar-item.vue | 185 ++ .../uni-datetime-picker/calendar.js | 546 +++++ .../uni-datetime-picker/calendar.vue | 897 +++++++ .../uni-datetime-picker/i18n/en.json | 19 + .../uni-datetime-picker/i18n/index.js | 8 + .../uni-datetime-picker/i18n/zh-Hans.json | 19 + .../uni-datetime-picker/i18n/zh-Hant.json | 19 + .../uni-datetime-picker/keypress.js | 45 + .../uni-datetime-picker/time-picker.vue | 927 ++++++++ .../uni-datetime-picker.vue | 995 ++++++++ .../components/uni-datetime-picker/util.js | 410 ++++ .../uni-datetime-picker/package.json | 90 + src/uni_modules/uni-datetime-picker/readme.md | 21 + src/uni_modules/uni-drawer/changelog.md | 13 + .../components/uni-drawer/keypress.js | 45 + .../components/uni-drawer/uni-drawer.vue | 183 ++ src/uni_modules/uni-drawer/package.json | 87 + src/uni_modules/uni-drawer/readme.md | 10 + src/uni_modules/uni-easyinput/changelog.md | 41 + .../components/uni-easyinput/common.js | 54 + .../uni-easyinput/uni-easyinput.vue | 538 +++++ src/uni_modules/uni-easyinput/package.json | 90 + src/uni_modules/uni-easyinput/readme.md | 11 + src/uni_modules/uni-fab/changelog.md | 17 + .../uni-fab/components/uni-fab/uni-fab.vue | 528 +++++ src/uni_modules/uni-fab/package.json | 87 + src/uni_modules/uni-fab/readme.md | 9 + src/uni_modules/uni-fav/changelog.md | 19 + .../uni-fav/components/uni-fav/i18n/en.json | 4 + .../uni-fav/components/uni-fav/i18n/index.js | 8 + .../components/uni-fav/i18n/zh-Hans.json | 4 + .../components/uni-fav/i18n/zh-Hant.json | 4 + .../uni-fav/components/uni-fav/uni-fav.vue | 161 ++ src/uni_modules/uni-fav/package.json | 89 + src/uni_modules/uni-fav/readme.md | 10 + src/uni_modules/uni-forms/changelog.md | 60 + .../uni-forms-item/uni-forms-item.vue | 536 +++++ .../components/uni-forms/uni-forms.vue | 472 ++++ .../components/uni-forms/validate.js | 486 ++++ src/uni_modules/uni-forms/package.json | 90 + src/uni_modules/uni-forms/readme.md | 23 + src/uni_modules/uni-goods-nav/changelog.md | 18 + .../components/uni-goods-nav/i18n/en.json | 6 + .../components/uni-goods-nav/i18n/index.js | 8 + .../uni-goods-nav/i18n/zh-Hans.json | 6 + .../uni-goods-nav/i18n/zh-Hant.json | 6 + .../uni-goods-nav/uni-goods-nav.vue | 229 ++ src/uni_modules/uni-goods-nav/package.json | 88 + src/uni_modules/uni-goods-nav/readme.md | 10 + src/uni_modules/uni-grid/changelog.md | 13 + .../uni-grid-item/uni-grid-item.vue | 140 ++ .../uni-grid/components/uni-grid/uni-grid.vue | 142 ++ src/uni_modules/uni-grid/package.json | 86 + src/uni_modules/uni-grid/readme.md | 11 + src/uni_modules/uni-group/changelog.md | 16 + .../components/uni-group/uni-group.vue | 134 ++ src/uni_modules/uni-group/package.json | 87 + src/uni_modules/uni-group/readme.md | 9 + src/uni_modules/uni-icons/changelog.md | 22 + .../uni-icons/components/uni-icons/icons.js | 1169 +++++++++ .../components/uni-icons/uni-icons.vue | 96 + .../uni-icons/components/uni-icons/uni.ttf | Bin 0 -> 26164 bytes .../components/uni-icons/uniicons.css | 663 ++++++ .../components/uni-icons/uniicons.ttf | Bin 0 -> 35760 bytes src/uni_modules/uni-icons/package.json | 86 + src/uni_modules/uni-icons/readme.md | 8 + src/uni_modules/uni-link/changelog.md | 17 + .../uni-link/components/uni-link/uni-link.vue | 128 + src/uni_modules/uni-link/package.json | 87 + src/uni_modules/uni-link/readme.md | 11 + src/uni_modules/uni-list/changelog.md | 20 + .../components/uni-list-ad/uni-list-ad.vue | 107 + .../uni-list-chat/uni-list-chat.scss | 58 + .../uni-list-chat/uni-list-chat.vue | 538 +++++ .../uni-list-item/uni-list-item.vue | 473 ++++ .../uni-list/components/uni-list/uni-list.vue | 108 + .../components/uni-list/uni-refresh.vue | 65 + .../components/uni-list/uni-refresh.wxs | 87 + src/uni_modules/uni-list/package.json | 91 + src/uni_modules/uni-list/readme.md | 346 +++ src/uni_modules/uni-load-more/changelog.md | 19 + .../components/uni-load-more/i18n/en.json | 5 + .../components/uni-load-more/i18n/index.js | 8 + .../uni-load-more/i18n/zh-Hans.json | 5 + .../uni-load-more/i18n/zh-Hant.json | 5 + .../uni-load-more/uni-load-more.vue | 399 ++++ src/uni_modules/uni-load-more/package.json | 86 + src/uni_modules/uni-load-more/readme.md | 14 + src/uni_modules/uni-nav-bar/changelog.md | 39 + .../components/uni-nav-bar/uni-nav-bar.vue | 348 +++ .../components/uni-nav-bar/uni-status-bar.vue | 27 + src/uni_modules/uni-nav-bar/package.json | 89 + src/uni_modules/uni-nav-bar/readme.md | 15 + src/uni_modules/uni-notice-bar/changelog.md | 16 + .../uni-notice-bar/uni-notice-bar.vue | 395 ++++ src/uni_modules/uni-notice-bar/package.json | 90 + src/uni_modules/uni-notice-bar/readme.md | 13 + src/uni_modules/uni-number-box/changelog.md | 25 + .../uni-number-box/uni-number-box.vue | 220 ++ src/uni_modules/uni-number-box/package.json | 85 + src/uni_modules/uni-number-box/readme.md | 13 + src/uni_modules/uni-rate/changelog.md | 25 + .../uni-rate/components/uni-rate/uni-rate.vue | 361 +++ src/uni_modules/uni-rate/package.json | 88 + src/uni_modules/uni-rate/readme.md | 12 + src/uni_modules/uni-row/changelog.md | 10 + .../uni-row/components/uni-col/uni-col.vue | 317 +++ .../uni-row/components/uni-row/uni-row.vue | 190 ++ src/uni_modules/uni-row/package.json | 87 + src/uni_modules/uni-row/readme.md | 10 + src/uni_modules/uni-scss/changelog.md | 8 + src/uni_modules/uni-scss/index.scss | 1 + src/uni_modules/uni-scss/manifest.json | 95 + src/uni_modules/uni-scss/package.json | 82 + src/uni_modules/uni-scss/readme.md | 4 + src/uni_modules/uni-scss/styles/index.scss | 7 + .../uni-scss/styles/setting/_border.scss | 3 + .../uni-scss/styles/setting/_color.scss | 66 + .../uni-scss/styles/setting/_radius.scss | 55 + .../uni-scss/styles/setting/_space.scss | 56 + .../uni-scss/styles/setting/_styles.scss | 167 ++ .../uni-scss/styles/setting/_text.scss | 24 + .../uni-scss/styles/setting/_variables.scss | 146 ++ .../uni-scss/styles/tools/functions.scss | 19 + src/uni_modules/uni-scss/theme.scss | 31 + src/uni_modules/uni-scss/variables.scss | 62 + src/uni_modules/uni-search-bar/changelog.md | 33 + .../components/uni-search-bar/i18n/en.json | 4 + .../components/uni-search-bar/i18n/index.js | 8 + .../uni-search-bar/i18n/zh-Hans.json | 4 + .../uni-search-bar/i18n/zh-Hant.json | 4 + .../uni-search-bar/uni-search-bar.vue | 298 +++ src/uni_modules/uni-search-bar/package.json | 89 + src/uni_modules/uni-search-bar/readme.md | 14 + .../uni-segmented-control/changelog.md | 9 + .../uni-segmented-control.vue | 145 ++ .../uni-segmented-control/package.json | 87 + .../uni-segmented-control/readme.md | 13 + src/uni_modules/uni-steps/changelog.md | 16 + .../components/uni-steps/uni-steps.vue | 269 +++ src/uni_modules/uni-steps/package.json | 89 + src/uni_modules/uni-steps/readme.md | 13 + src/uni_modules/uni-swiper-dot/changelog.md | 12 + .../uni-swiper-dot/uni-swiper-dot.vue | 218 ++ src/uni_modules/uni-swiper-dot/package.json | 87 + src/uni_modules/uni-swiper-dot/readme.md | 11 + src/uni_modules/uni-tag/changelog.md | 21 + .../uni-tag/components/uni-tag/uni-tag.vue | 252 ++ src/uni_modules/uni-tag/package.json | 87 + src/uni_modules/uni-tag/readme.md | 13 + src/uni_modules/uni-title/changelog.md | 10 + .../components/uni-title/uni-title.vue | 171 ++ src/uni_modules/uni-title/package.json | 88 + src/uni_modules/uni-title/readme.md | 14 + src/uni_modules/uni-tooltip/changelog.md | 10 + .../components/uni-tooltip/uni-tooltip.vue | 68 + src/uni_modules/uni-tooltip/package.json | 83 + src/uni_modules/uni-tooltip/readme.md | 8 + src/uni_modules/uni-transition/changelog.md | 20 + .../uni-transition/createAnimation.js | 128 + .../uni-transition/uni-transition.vue | 299 +++ src/uni_modules/uni-transition/package.json | 87 + src/uni_modules/uni-transition/readme.md | 11 + src/uni_modules/z-paging/types/comps.d.ts | 11 + .../z-paging/types/comps/_common.d.ts | 9 + .../z-paging/types/comps/z-paging-cell.d.ts | 29 + .../types/comps/z-paging-empty-view.d.ts | 95 + .../types/comps/z-paging-swiper-item.d.ts | 95 + .../z-paging/types/comps/z-paging-swiper.d.ts | 89 + .../z-paging/types/comps/z-paging.d.ts | 2083 +++++++++++++++++ src/uni_modules/z-paging/types/index.d.ts | 24 + src/utils/textUtils.js | 34 + vite.config.ts | 8 +- yarn.lock | 40 +- 410 files changed, 58378 insertions(+), 913 deletions(-) create mode 100644 src/pages/activity/groupon/detail.vue create mode 100644 src/pages/activity/groupon/list.vue create mode 100644 src/pages/activity/groupon/order.vue create mode 100644 src/pages/activity/index.vue create mode 100644 src/pages/activity/point/list.vue create mode 100644 src/pages/activity/seckill/list.vue create mode 100644 src/pages/app/sign.vue create mode 100644 src/pages/chat/components/goods.vue create mode 100644 src/pages/chat/components/messageInput.vue create mode 100644 src/pages/chat/components/messageList.vue create mode 100644 src/pages/chat/components/messageListItem.vue create mode 100644 src/pages/chat/components/optimize-input.vue create mode 100644 src/pages/chat/components/order.vue create mode 100644 src/pages/chat/components/select-popup.vue create mode 100644 src/pages/chat/components/toolsPopup.vue create mode 100644 src/pages/chat/index.vue create mode 100644 src/pages/chat/util/constants.js create mode 100644 src/pages/chat/util/emoji.js create mode 100644 src/pages/chat/util/useWebSocket.js create mode 100644 src/pages/commission/commission-ranking.vue create mode 100644 src/pages/commission/components/account-info.vue create mode 100644 src/pages/commission/components/account-type-select.vue create mode 100644 src/pages/commission/components/commission-auth.vue create mode 100644 src/pages/commission/components/commission-info.vue create mode 100644 src/pages/commission/components/commission-log.vue create mode 100644 src/pages/commission/components/commission-menu.vue create mode 100644 src/pages/commission/goods.vue create mode 100644 src/pages/commission/index.vue create mode 100644 src/pages/commission/order.vue create mode 100644 src/pages/commission/promoter.vue create mode 100644 src/pages/commission/team.vue create mode 100644 src/pages/commission/wallet.vue create mode 100644 src/pages/commission/withdraw.vue create mode 100644 src/pages/components/HighlightNumberText.vue create mode 100644 src/pages/coupon/detail.vue create mode 100644 src/pages/coupon/list.vue create mode 100644 src/pages/goods/comment/add.vue create mode 100644 src/pages/goods/comment/list.vue create mode 100644 src/pages/goods/components/detail/comment-item.vue create mode 100644 src/pages/goods/components/detail/detail-activity-tip.vue create mode 100644 src/pages/goods/components/detail/detail-cell-sku.vue create mode 100644 src/pages/goods/components/detail/detail-cell.vue create mode 100644 src/pages/goods/components/detail/detail-comment-card.vue create mode 100644 src/pages/goods/components/detail/detail-content-card.vue create mode 100644 src/pages/goods/components/detail/detail-navbar.vue create mode 100644 src/pages/goods/components/detail/detail-progress.vue create mode 100644 src/pages/goods/components/detail/detail-skeleton.vue create mode 100644 src/pages/goods/components/detail/detail-tabbar.vue create mode 100644 src/pages/goods/components/groupon/groupon-card-list.vue create mode 100644 src/pages/goods/components/list/list-goods-card.vue create mode 100644 src/pages/goods/components/list/list-navbar.vue create mode 100644 src/pages/goods/groupon.vue create mode 100644 src/pages/goods/index.vue create mode 100644 src/pages/goods/list.vue create mode 100644 src/pages/goods/point.vue create mode 100644 src/pages/goods/seckill.vue create mode 100644 src/pages/index/cart.vue create mode 100644 src/pages/index/category.vue create mode 100644 src/pages/index/components/first-one.vue create mode 100644 src/pages/index/components/first-two.vue create mode 100644 src/pages/index/components/second-one.vue create mode 100644 src/pages/index/index.vue create mode 100644 src/pages/index/login.vue create mode 100644 src/pages/index/page.vue create mode 100644 src/pages/index/search.vue create mode 100644 src/pages/index/user.vue create mode 100644 src/pages/order/addressSelection.vue create mode 100644 src/pages/order/aftersale/apply.vue create mode 100644 src/pages/order/aftersale/detail.vue create mode 100644 src/pages/order/aftersale/list.vue create mode 100644 src/pages/order/aftersale/log-item.vue create mode 100644 src/pages/order/aftersale/log.vue create mode 100644 src/pages/order/aftersale/return-delivery.vue create mode 100644 src/pages/order/confirm.vue create mode 100644 src/pages/order/detail.vue create mode 100644 src/pages/order/express/log.vue create mode 100644 src/pages/order/list.vue create mode 100644 src/pages/order/pickUpVerify.vue create mode 100644 src/pages/pay/index.vue create mode 100644 src/pages/pay/recharge-log.vue create mode 100644 src/pages/pay/recharge.vue create mode 100644 src/pages/pay/result.vue create mode 100644 src/pages/public/error.vue create mode 100644 src/pages/public/faq.vue create mode 100644 src/pages/public/richtext.vue create mode 100644 src/pages/public/setting.vue create mode 100644 src/pages/public/webview.vue create mode 100644 src/pages/user/address/edit.vue create mode 100644 src/pages/user/address/list.vue create mode 100644 src/pages/user/goods-collect.vue create mode 100644 src/pages/user/goods-log.vue create mode 100644 src/pages/user/goods_details_store/index.vue create mode 100644 src/pages/user/info.vue create mode 100644 src/pages/user/wallet/money.vue create mode 100644 src/pages/user/wallet/score.vue create mode 100644 src/sheep/api/infra/tenant.js create mode 100644 src/sheep/api/pay/transfer.js create mode 100644 src/sheep/helper/const.js create mode 100644 src/sheep/ui/su-video/components/dom-video.vue create mode 100644 src/uni_modules/lime-painter/changelog.md create mode 100644 src/uni_modules/lime-painter/components/common/relation.js create mode 100644 src/uni_modules/lime-painter/components/l-painter-image/l-painter-image.vue create mode 100644 src/uni_modules/lime-painter/components/l-painter-qrcode/l-painter-qrcode.vue create mode 100644 src/uni_modules/lime-painter/components/l-painter-text/l-painter-text.vue create mode 100644 src/uni_modules/lime-painter/components/l-painter-view/l-painter-view.vue create mode 100644 src/uni_modules/lime-painter/components/l-painter/l-painter.vue create mode 100644 src/uni_modules/lime-painter/components/l-painter/nvue.js create mode 100644 src/uni_modules/lime-painter/components/l-painter/painter.js create mode 100644 src/uni_modules/lime-painter/components/l-painter/props.js create mode 100644 src/uni_modules/lime-painter/components/l-painter/single.js create mode 100644 src/uni_modules/lime-painter/components/l-painter/utils.js create mode 100644 src/uni_modules/lime-painter/components/lime-painter/lime-painter.vue create mode 100644 src/uni_modules/lime-painter/hybrid/html/index.html create mode 100644 src/uni_modules/lime-painter/hybrid/html/painter.js create mode 100644 src/uni_modules/lime-painter/hybrid/html/uni.webview.1.5.3.js create mode 100644 src/uni_modules/lime-painter/package.json create mode 100644 src/uni_modules/lime-painter/parser.js create mode 100644 src/uni_modules/lime-painter/readme.md create mode 100644 src/uni_modules/mp-html/README.md create mode 100644 src/uni_modules/mp-html/changelog.md create mode 100644 src/uni_modules/mp-html/components/mp-html/mp-html.vue create mode 100644 src/uni_modules/mp-html/components/mp-html/node/node.vue create mode 100644 src/uni_modules/mp-html/components/mp-html/parser.js create mode 100644 src/uni_modules/mp-html/package.json create mode 100644 src/uni_modules/mp-html/static/app-plus/mp-html/js/handler.js create mode 100644 src/uni_modules/mp-html/static/app-plus/mp-html/js/uni.webview.min.js create mode 100644 src/uni_modules/mp-html/static/app-plus/mp-html/local.html create mode 100644 src/uni_modules/uni-badge/changelog.md create mode 100644 src/uni_modules/uni-badge/components/uni-badge/uni-badge.vue create mode 100644 src/uni_modules/uni-badge/package.json create mode 100644 src/uni_modules/uni-badge/readme.md create mode 100644 src/uni_modules/uni-card/changelog.md create mode 100644 src/uni_modules/uni-card/components/uni-card/uni-card.vue create mode 100644 src/uni_modules/uni-card/package.json create mode 100644 src/uni_modules/uni-card/readme.md create mode 100644 src/uni_modules/uni-collapse/changelog.md create mode 100644 src/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue create mode 100644 src/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue create mode 100644 src/uni_modules/uni-collapse/package.json create mode 100644 src/uni_modules/uni-collapse/readme.md create mode 100644 src/uni_modules/uni-combox/changelog.md create mode 100644 src/uni_modules/uni-combox/components/uni-combox/uni-combox.vue create mode 100644 src/uni_modules/uni-combox/package.json create mode 100644 src/uni_modules/uni-combox/readme.md create mode 100644 src/uni_modules/uni-countdown/changelog.md create mode 100644 src/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json create mode 100644 src/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js create mode 100644 src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json create mode 100644 src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json create mode 100644 src/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue create mode 100644 src/uni_modules/uni-countdown/package.json create mode 100644 src/uni_modules/uni-countdown/readme.md create mode 100644 src/uni_modules/uni-data-checkbox/changelog.md create mode 100644 src/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue create mode 100644 src/uni_modules/uni-data-checkbox/package.json create mode 100644 src/uni_modules/uni-data-checkbox/readme.md create mode 100644 src/uni_modules/uni-data-picker/changelog.md create mode 100644 src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js create mode 100644 src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue create mode 100644 src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js create mode 100644 src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue create mode 100644 src/uni_modules/uni-data-picker/package.json create mode 100644 src/uni_modules/uni-data-picker/readme.md create mode 100644 src/uni_modules/uni-dateformat/changelog.md create mode 100644 src/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js create mode 100644 src/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue create mode 100644 src/uni_modules/uni-dateformat/package.json create mode 100644 src/uni_modules/uni-dateformat/readme.md create mode 100644 src/uni_modules/uni-datetime-picker/changelog.md create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.js create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/keypress.js create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue create mode 100644 src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js create mode 100644 src/uni_modules/uni-datetime-picker/package.json create mode 100644 src/uni_modules/uni-datetime-picker/readme.md create mode 100644 src/uni_modules/uni-drawer/changelog.md create mode 100644 src/uni_modules/uni-drawer/components/uni-drawer/keypress.js create mode 100644 src/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue create mode 100644 src/uni_modules/uni-drawer/package.json create mode 100644 src/uni_modules/uni-drawer/readme.md create mode 100644 src/uni_modules/uni-easyinput/changelog.md create mode 100644 src/uni_modules/uni-easyinput/components/uni-easyinput/common.js create mode 100644 src/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue create mode 100644 src/uni_modules/uni-easyinput/package.json create mode 100644 src/uni_modules/uni-easyinput/readme.md create mode 100644 src/uni_modules/uni-fab/changelog.md create mode 100644 src/uni_modules/uni-fab/components/uni-fab/uni-fab.vue create mode 100644 src/uni_modules/uni-fab/package.json create mode 100644 src/uni_modules/uni-fab/readme.md create mode 100644 src/uni_modules/uni-fav/changelog.md create mode 100644 src/uni_modules/uni-fav/components/uni-fav/i18n/en.json create mode 100644 src/uni_modules/uni-fav/components/uni-fav/i18n/index.js create mode 100644 src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json create mode 100644 src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json create mode 100644 src/uni_modules/uni-fav/components/uni-fav/uni-fav.vue create mode 100644 src/uni_modules/uni-fav/package.json create mode 100644 src/uni_modules/uni-fav/readme.md create mode 100644 src/uni_modules/uni-forms/changelog.md create mode 100644 src/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue create mode 100644 src/uni_modules/uni-forms/components/uni-forms/uni-forms.vue create mode 100644 src/uni_modules/uni-forms/components/uni-forms/validate.js create mode 100644 src/uni_modules/uni-forms/package.json create mode 100644 src/uni_modules/uni-forms/readme.md create mode 100644 src/uni_modules/uni-goods-nav/changelog.md create mode 100644 src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json create mode 100644 src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js create mode 100644 src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json create mode 100644 src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json create mode 100644 src/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue create mode 100644 src/uni_modules/uni-goods-nav/package.json create mode 100644 src/uni_modules/uni-goods-nav/readme.md create mode 100644 src/uni_modules/uni-grid/changelog.md create mode 100644 src/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue create mode 100644 src/uni_modules/uni-grid/components/uni-grid/uni-grid.vue create mode 100644 src/uni_modules/uni-grid/package.json create mode 100644 src/uni_modules/uni-grid/readme.md create mode 100644 src/uni_modules/uni-group/changelog.md create mode 100644 src/uni_modules/uni-group/components/uni-group/uni-group.vue create mode 100644 src/uni_modules/uni-group/package.json create mode 100644 src/uni_modules/uni-group/readme.md create mode 100644 src/uni_modules/uni-icons/changelog.md create mode 100644 src/uni_modules/uni-icons/components/uni-icons/icons.js create mode 100644 src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue create mode 100644 src/uni_modules/uni-icons/components/uni-icons/uni.ttf create mode 100644 src/uni_modules/uni-icons/components/uni-icons/uniicons.css create mode 100644 src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf create mode 100644 src/uni_modules/uni-icons/package.json create mode 100644 src/uni_modules/uni-icons/readme.md create mode 100644 src/uni_modules/uni-link/changelog.md create mode 100644 src/uni_modules/uni-link/components/uni-link/uni-link.vue create mode 100644 src/uni_modules/uni-link/package.json create mode 100644 src/uni_modules/uni-link/readme.md create mode 100644 src/uni_modules/uni-list/changelog.md create mode 100644 src/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue create mode 100644 src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss create mode 100644 src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue create mode 100644 src/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue create mode 100644 src/uni_modules/uni-list/components/uni-list/uni-list.vue create mode 100644 src/uni_modules/uni-list/components/uni-list/uni-refresh.vue create mode 100644 src/uni_modules/uni-list/components/uni-list/uni-refresh.wxs create mode 100644 src/uni_modules/uni-list/package.json create mode 100644 src/uni_modules/uni-list/readme.md create mode 100644 src/uni_modules/uni-load-more/changelog.md create mode 100644 src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json create mode 100644 src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js create mode 100644 src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json create mode 100644 src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json create mode 100644 src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue create mode 100644 src/uni_modules/uni-load-more/package.json create mode 100644 src/uni_modules/uni-load-more/readme.md create mode 100644 src/uni_modules/uni-nav-bar/changelog.md create mode 100644 src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue create mode 100644 src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue create mode 100644 src/uni_modules/uni-nav-bar/package.json create mode 100644 src/uni_modules/uni-nav-bar/readme.md create mode 100644 src/uni_modules/uni-notice-bar/changelog.md create mode 100644 src/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue create mode 100644 src/uni_modules/uni-notice-bar/package.json create mode 100644 src/uni_modules/uni-notice-bar/readme.md create mode 100644 src/uni_modules/uni-number-box/changelog.md create mode 100644 src/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue create mode 100644 src/uni_modules/uni-number-box/package.json create mode 100644 src/uni_modules/uni-number-box/readme.md create mode 100644 src/uni_modules/uni-rate/changelog.md create mode 100644 src/uni_modules/uni-rate/components/uni-rate/uni-rate.vue create mode 100644 src/uni_modules/uni-rate/package.json create mode 100644 src/uni_modules/uni-rate/readme.md create mode 100644 src/uni_modules/uni-row/changelog.md create mode 100644 src/uni_modules/uni-row/components/uni-col/uni-col.vue create mode 100644 src/uni_modules/uni-row/components/uni-row/uni-row.vue create mode 100644 src/uni_modules/uni-row/package.json create mode 100644 src/uni_modules/uni-row/readme.md create mode 100644 src/uni_modules/uni-scss/changelog.md create mode 100644 src/uni_modules/uni-scss/index.scss create mode 100644 src/uni_modules/uni-scss/manifest.json create mode 100644 src/uni_modules/uni-scss/package.json create mode 100644 src/uni_modules/uni-scss/readme.md create mode 100644 src/uni_modules/uni-scss/styles/index.scss create mode 100644 src/uni_modules/uni-scss/styles/setting/_border.scss create mode 100644 src/uni_modules/uni-scss/styles/setting/_color.scss create mode 100644 src/uni_modules/uni-scss/styles/setting/_radius.scss create mode 100644 src/uni_modules/uni-scss/styles/setting/_space.scss create mode 100644 src/uni_modules/uni-scss/styles/setting/_styles.scss create mode 100644 src/uni_modules/uni-scss/styles/setting/_text.scss create mode 100644 src/uni_modules/uni-scss/styles/setting/_variables.scss create mode 100644 src/uni_modules/uni-scss/styles/tools/functions.scss create mode 100644 src/uni_modules/uni-scss/theme.scss create mode 100644 src/uni_modules/uni-scss/variables.scss create mode 100644 src/uni_modules/uni-search-bar/changelog.md create mode 100644 src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json create mode 100644 src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js create mode 100644 src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json create mode 100644 src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json create mode 100644 src/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue create mode 100644 src/uni_modules/uni-search-bar/package.json create mode 100644 src/uni_modules/uni-search-bar/readme.md create mode 100644 src/uni_modules/uni-segmented-control/changelog.md create mode 100644 src/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue create mode 100644 src/uni_modules/uni-segmented-control/package.json create mode 100644 src/uni_modules/uni-segmented-control/readme.md create mode 100644 src/uni_modules/uni-steps/changelog.md create mode 100644 src/uni_modules/uni-steps/components/uni-steps/uni-steps.vue create mode 100644 src/uni_modules/uni-steps/package.json create mode 100644 src/uni_modules/uni-steps/readme.md create mode 100644 src/uni_modules/uni-swiper-dot/changelog.md create mode 100644 src/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue create mode 100644 src/uni_modules/uni-swiper-dot/package.json create mode 100644 src/uni_modules/uni-swiper-dot/readme.md create mode 100644 src/uni_modules/uni-tag/changelog.md create mode 100644 src/uni_modules/uni-tag/components/uni-tag/uni-tag.vue create mode 100644 src/uni_modules/uni-tag/package.json create mode 100644 src/uni_modules/uni-tag/readme.md create mode 100644 src/uni_modules/uni-title/changelog.md create mode 100644 src/uni_modules/uni-title/components/uni-title/uni-title.vue create mode 100644 src/uni_modules/uni-title/package.json create mode 100644 src/uni_modules/uni-title/readme.md create mode 100644 src/uni_modules/uni-tooltip/changelog.md create mode 100644 src/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue create mode 100644 src/uni_modules/uni-tooltip/package.json create mode 100644 src/uni_modules/uni-tooltip/readme.md create mode 100644 src/uni_modules/uni-transition/changelog.md create mode 100644 src/uni_modules/uni-transition/components/uni-transition/createAnimation.js create mode 100644 src/uni_modules/uni-transition/components/uni-transition/uni-transition.vue create mode 100644 src/uni_modules/uni-transition/package.json create mode 100644 src/uni_modules/uni-transition/readme.md create mode 100644 src/uni_modules/z-paging/types/comps.d.ts create mode 100644 src/uni_modules/z-paging/types/comps/_common.d.ts create mode 100644 src/uni_modules/z-paging/types/comps/z-paging-cell.d.ts create mode 100644 src/uni_modules/z-paging/types/comps/z-paging-empty-view.d.ts create mode 100644 src/uni_modules/z-paging/types/comps/z-paging-swiper-item.d.ts create mode 100644 src/uni_modules/z-paging/types/comps/z-paging-swiper.d.ts create mode 100644 src/uni_modules/z-paging/types/comps/z-paging.d.ts create mode 100644 src/uni_modules/z-paging/types/index.d.ts create mode 100644 src/utils/textUtils.js diff --git a/src/App.vue b/src/App.vue index 8413ea35..f991459d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -7,6 +7,7 @@ // uni.hideTabBar({ // fail: () => {}, // }); + // 加载Shopro底层依赖 ShoproInit(); }); diff --git a/src/main.scss b/src/main.scss index 82fb7f98..b87c5fcb 100644 --- a/src/main.scss +++ b/src/main.scss @@ -14,5 +14,8 @@ page { background-color: #222222; color: #ffffff; font-size: 14px; + height: 100%; --wot-color-theme: #ffcd32; + --wot-backtop-bg: #ffcd32; + --wot-dark-background: #222; } diff --git a/src/main.ts b/src/main.ts index a2400157..e00b21aa 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,5 +1,5 @@ import App from './App.vue'; -import { createSSRApp, defineComponent, h } from 'vue'; +import { createSSRApp } from 'vue'; // @ts-ignore import { setupPinia } from './sheep/store'; import './main.scss'; @@ -7,7 +7,9 @@ import 'virtual:uno.css'; export function createApp() { const app = createSSRApp(App); + setupPinia(app); + return { app, }; diff --git a/src/pages.json b/src/pages.json index ca03f7ea..e1498f87 100644 --- a/src/pages.json +++ b/src/pages.json @@ -4,10 +4,89 @@ "custom": { "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue", "^su-(.*)": "@/sheep/ui/su-$1/su-$1.vue", + "^s-(.*)": "@/sheep/components/s-$1/s-$1.vue", "^wd-(.*)": "wot-design-uni/components/wd-$1/wd-$1.vue" } }, "pages": [ + // { + // "path": "pages/index/index", + // "aliasPath": "/", + // "style": { + // "navigationBarTitleText": "首页", + // "enablePullDownRefresh": true + // }, + // "meta": { + // "auth": false, + // "sync": true, + // "title": "首页", + // "group": "商城" + // } + // }, + // { + // "path": "pages/index/user", + // "style": { + // "navigationBarTitleText": "个人中心", + // "enablePullDownRefresh": true + // }, + // "meta": { + // "sync": true, + // "title": "个人中心", + // "group": "商城" + // } + // }, + // { + // "path": "pages/index/category", + // "style": { + // "navigationBarTitleText": "商品分类" + // }, + // "meta": { + // "sync": true, + // "title": "商品分类", + // "group": "商城" + // } + // }, + // { + // "path": "pages/index/cart", + // "style": { + // "navigationBarTitleText": "购物车" + // }, + // "meta": { + // "sync": true, + // "title": "购物车", + // "group": "商城" + // } + // }, + // { + // "path": "pages/index/login", + // "style": { + // "navigationBarTitleText": "登录" + // } + // }, + // { + // "path": "pages/index/search", + // "style": { + // "navigationBarTitleText": "搜索" + // }, + // "meta": { + // "sync": true, + // "title": "搜索", + // "group": "商城" + // } + // }, + // { + // "path": "pages/index/page", + // "style": { + // "navigationBarTitleText": "" + // }, + // "meta": { + // "auth": false, + // "sync": true, + // "title": "自定义页面", + // "group": "商城" + // } + // }, + { "path": "pages/home/home", "style": { @@ -100,12 +179,614 @@ } ] } + + // { + // "root": "pages/goods", + // "pages": [ + // { + // "path": "index", + // "style": { + // "navigationBarTitleText": "商品详情" + // }, + // "meta": { + // "sync": true, + // "title": "普通商品", + // "group": "商品" + // } + // }, + // { + // "path": "groupon", + // "style": { + // "navigationBarTitleText": "拼团商品" + // }, + // "meta": { + // "sync": true, + // "title": "拼团商品", + // "group": "商品" + // } + // }, + + // { + // "path": "seckill", + // "style": { + // "navigationBarTitleText": "秒杀商品" + // }, + // "meta": { + // "sync": true, + // "title": "秒杀商品", + // "group": "商品" + // } + // }, + // { + // "path": "point", + // "style": { + // "navigationBarTitleText": "积分商品" + // }, + // "meta": { + // "sync": true, + // "title": "积分商品", + // "group": "商品" + // } + // }, + // { + // "path": "list", + // "style": { + // "navigationBarTitleText": "商品列表" + // }, + // "meta": { + // "sync": true, + // "title": "商品列表", + // "group": "商品" + // } + // }, + // { + // "path": "comment/add", + // "style": { + // "navigationBarTitleText": "评价商品" + // }, + // "meta": { + // "auth": true + // } + // }, + // { + // "path": "comment/list", + // "style": { + // "navigationBarTitleText": "商品评价" + // } + // } + // ] + // }, + // { + // "root": "pages/order", + // "pages": [ + // { + // "path": "detail", + // "style": { + // "navigationBarTitleText": "订单详情" + // }, + // "meta": { + // "auth": true, + // "title": "订单详情" + // } + // }, + // { + // "path": "confirm", + // "style": { + // "navigationBarTitleText": "确认订单" + // }, + // "meta": { + // "auth": true, + // "title": "确认订单" + // } + // }, + // { + // "path": "list", + // "style": { + // "navigationBarTitleText": "我的订单", + // "enablePullDownRefresh": true + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "用户订单", + // "group": "订单中心" + // } + // }, + // { + // "path": "aftersale/apply", + // "style": { + // "navigationBarTitleText": "申请售后" + // }, + // "meta": { + // "auth": true, + // "title": "申请售后" + // } + // }, + // { + // "path": "aftersale/return-delivery", + // "style": { + // "navigationBarTitleText": "退货物流" + // }, + // "meta": { + // "auth": true, + // "title": "退货物流" + // } + // }, + // { + // "path": "aftersale/list", + // "style": { + // "navigationBarTitleText": "售后列表" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "售后订单", + // "group": "订单中心" + // } + // }, + // { + // "path": "aftersale/detail", + // "style": { + // "navigationBarTitleText": "售后详情" + // }, + // "meta": { + // "auth": true, + // "title": "售后详情" + // } + // }, + // { + // "path": "aftersale/log", + // "style": { + // "navigationBarTitleText": "售后进度" + // }, + // "meta": { + // "auth": true, + // "title": "售后进度" + // } + // }, + // { + // "path": "express/log", + // "style": { + // "navigationBarTitleText": "物流轨迹" + // }, + // "meta": { + // "auth": true, + // "title": "物流轨迹" + // } + // } + // ] + // }, + // { + // "root": "pages/user", + // "pages": [ + // { + // "path": "info", + // "style": { + // "navigationBarTitleText": "我的信息" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "用户信息", + // "group": "用户中心" + // } + // }, + // { + // "path": "goods-collect", + // "style": { + // "navigationBarTitleText": "我的收藏" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "商品收藏", + // "group": "用户中心" + // } + // }, + // { + // "path": "goods-log", + // "style": { + // "navigationBarTitleText": "我的足迹" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "浏览记录", + // "group": "用户中心" + // } + // }, + // { + // "path": "address/list", + // "style": { + // "navigationBarTitleText": "收货地址" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "地址管理", + // "group": "用户中心" + // } + // }, + // { + // "path": "address/edit", + // "style": { + // "navigationBarTitleText": "编辑地址" + // }, + // "meta": { + // "auth": true, + // "title": "编辑地址" + // } + // }, + // { + // "path": "goods_details_store/index", + // "style": { + // "navigationBarTitleText": "自提门店" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "地址管理", + // "group": "用户中心" + // } + // }, + // { + // "path": "wallet/money", + // "style": { + // "navigationBarTitleText": "我的余额" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "用户余额", + // "group": "用户中心" + // } + // }, + // { + // "path": "wallet/score", + // "style": { + // "navigationBarTitleText": "我的积分" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "用户积分", + // "group": "用户中心" + // } + // } + // ] + // }, + // { + // "root": "pages/commission", + // "pages": [ + // { + // "path": "index", + // "style": { + // "navigationBarTitleText": "分销" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "分销中心", + // "group": "分销商城" + // } + // }, + // { + // "path": "wallet", + // "style": { + // "navigationBarTitleText": "我的佣金" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "用户佣金", + // "group": "分销中心" + // } + // }, + // { + // "path": "goods", + // "style": { + // "navigationBarTitleText": "推广商品" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "推广商品", + // "group": "分销商城" + // } + // }, + // { + // "path": "order", + // "style": { + // "navigationBarTitleText": "分销订单" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "分销订单", + // "group": "分销商城" + // } + // }, + // { + // "path": "team", + // "style": { + // "navigationBarTitleText": "我的团队" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "我的团队", + // "group": "分销商城" + // } + // }, + // { + // "path": "promoter", + // "style": { + // "navigationBarTitleText": "推广人排行榜" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "推广人排行榜", + // "group": "分销商城" + // } + // }, + // { + // "path": "commission-ranking", + // "style": { + // "navigationBarTitleText": "佣金排行榜" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "佣金排行榜", + // "group": "分销商城" + // } + // }, + // { + // "path": "withdraw", + // "style": { + // "navigationBarTitleText": "申请提现" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "申请提现", + // "group": "分销商城" + // } + // } + // ] + // }, + // { + // "root": "pages/app", + // "pages": [ + // { + // "path": "sign", + // "style": { + // "navigationBarTitleText": "签到中心" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "签到中心", + // "group": "应用" + // } + // } + // ] + // }, + // { + // "root": "pages/public", + // "pages": [ + // { + // "path": "setting", + // "style": { + // "navigationBarTitleText": "系统设置" + // }, + // "meta": { + // "sync": true, + // "title": "系统设置", + // "group": "通用" + // } + // }, + // { + // "path": "richtext", + // "style": { + // "navigationBarTitleText": "富文本" + // }, + // "meta": { + // "sync": true, + // "title": "富文本", + // "group": "通用" + // } + // }, + // { + // "path": "faq", + // "style": { + // "navigationBarTitleText": "常见问题" + // }, + // "meta": { + // "sync": true, + // "title": "常见问题", + // "group": "通用" + // } + // }, + // { + // "path": "error", + // "style": { + // "navigationBarTitleText": "错误页面" + // } + // }, + // { + // "path": "webview", + // "style": { + // "navigationBarTitleText": "" + // } + // } + // ] + // }, + // { + // "root": "pages/coupon", + // "pages": [ + // { + // "path": "list", + // "style": { + // "navigationBarTitleText": "领券中心" + // }, + // "meta": { + // "sync": true, + // "title": "领券中心", + // "group": "优惠券" + // } + // }, + // { + // "path": "detail", + // "style": { + // "navigationBarTitleText": "优惠券" + // }, + // "meta": { + // "auth": false, + // "sync": true, + // "title": "优惠券详情", + // "group": "优惠券" + // } + // } + // ] + // }, + // { + // "root": "pages/chat", + // "pages": [ + // { + // "path": "index", + // "style": { + // "navigationBarTitleText": "客服", + // "app-plus": { + // "softinputMode": "adjustResize" + // } + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "客服", + // "group": "客服" + // } + // } + // ] + // }, + // { + // "root": "pages/pay", + // "pages": [ + // { + // "path": "index", + // "style": { + // "navigationBarTitleText": "收银台" + // } + // }, + // { + // "path": "result", + // "style": { + // "navigationBarTitleText": "支付结果" + // } + // }, + // { + // "path": "recharge", + // "style": { + // "navigationBarTitleText": "充值余额" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "充值余额", + // "group": "支付" + // } + // }, + // { + // "path": "recharge-log", + // "style": { + // "navigationBarTitleText": "充值记录" + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "充值记录", + // "group": "支付" + // } + // } + // ] + // }, + // { + // "root": "pages/activity", + // "pages": [ + // { + // "path": "groupon/detail", + // "style": { + // "navigationBarTitleText": "拼团详情" + // } + // }, + // { + // "path": "groupon/order", + // "style": { + // "navigationBarTitleText": "我的拼团", + // "enablePullDownRefresh": true + // }, + // "meta": { + // "auth": true, + // "sync": true, + // "title": "拼团订单", + // "group": "营销活动" + // } + // }, + // { + // "path": "index", + // "style": { + // "navigationBarTitleText": "营销商品" + // }, + // "meta": { + // "sync": true, + // "title": "营销商品", + // "group": "营销活动" + // } + // }, + // { + // "path": "groupon/list", + // "style": { + // "navigationBarTitleText": "拼团活动" + // }, + // "meta": { + // "sync": true, + // "title": "拼团活动", + // "group": "营销活动" + // } + // }, + // { + // "path": "seckill/list", + // "style": { + // "navigationBarTitleText": "秒杀活动" + // }, + // "meta": { + // "sync": true, + // "title": "秒杀活动", + // "group": "营销活动" + // } + // }, + // { + // "path": "point/list", + // "style": { + // "navigationBarTitleText": "积分商城" + // }, + // "meta": { + // "sync": true, + // "title": "积分商城", + // "group": "营销活动" + // } + // } + // ] + // } ], "globalStyle": { "navigationBarTextStyle": "black", "navigationBarTitleText": "交友聊天", "navigationBarBackgroundColor": "#F8F8F8", - "backgroundColor": "#F8F8F8" + "backgroundColor": "#F8F8F8", + "navigationStyle": "custom" }, "tabBar": { "color": "#fff", diff --git a/src/pages/activity/groupon/detail.vue b/src/pages/activity/groupon/detail.vue new file mode 100644 index 00000000..f9ef7816 --- /dev/null +++ b/src/pages/activity/groupon/detail.vue @@ -0,0 +1,539 @@ + + + + + + diff --git a/src/pages/activity/groupon/list.vue b/src/pages/activity/groupon/list.vue new file mode 100644 index 00000000..0cd8bc97 --- /dev/null +++ b/src/pages/activity/groupon/list.vue @@ -0,0 +1,225 @@ + + + + diff --git a/src/pages/activity/groupon/order.vue b/src/pages/activity/groupon/order.vue new file mode 100644 index 00000000..a93cc6e0 --- /dev/null +++ b/src/pages/activity/groupon/order.vue @@ -0,0 +1,240 @@ + + + + + + diff --git a/src/pages/activity/index.vue b/src/pages/activity/index.vue new file mode 100644 index 00000000..95739155 --- /dev/null +++ b/src/pages/activity/index.vue @@ -0,0 +1,214 @@ + + + + diff --git a/src/pages/activity/point/list.vue b/src/pages/activity/point/list.vue new file mode 100644 index 00000000..7630fd21 --- /dev/null +++ b/src/pages/activity/point/list.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/pages/activity/seckill/list.vue b/src/pages/activity/seckill/list.vue new file mode 100644 index 00000000..16eca3b8 --- /dev/null +++ b/src/pages/activity/seckill/list.vue @@ -0,0 +1,460 @@ + + + + diff --git a/src/pages/app/sign.vue b/src/pages/app/sign.vue new file mode 100644 index 00000000..e0263741 --- /dev/null +++ b/src/pages/app/sign.vue @@ -0,0 +1,452 @@ + + + + + + diff --git a/src/pages/chat/components/goods.vue b/src/pages/chat/components/goods.vue new file mode 100644 index 00000000..eabdd218 --- /dev/null +++ b/src/pages/chat/components/goods.vue @@ -0,0 +1,21 @@ + + + + diff --git a/src/pages/chat/components/messageInput.vue b/src/pages/chat/components/messageInput.vue new file mode 100644 index 00000000..1c7be68d --- /dev/null +++ b/src/pages/chat/components/messageInput.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/src/pages/chat/components/messageList.vue b/src/pages/chat/components/messageList.vue new file mode 100644 index 00000000..e021e029 --- /dev/null +++ b/src/pages/chat/components/messageList.vue @@ -0,0 +1,293 @@ + + + + + diff --git a/src/pages/chat/components/messageListItem.vue b/src/pages/chat/components/messageListItem.vue new file mode 100644 index 00000000..b91472c8 --- /dev/null +++ b/src/pages/chat/components/messageListItem.vue @@ -0,0 +1,297 @@ + + + + + diff --git a/src/pages/chat/components/optimize-input.vue b/src/pages/chat/components/optimize-input.vue new file mode 100644 index 00000000..73f3ceb5 --- /dev/null +++ b/src/pages/chat/components/optimize-input.vue @@ -0,0 +1,540 @@ + + + + + diff --git a/src/pages/chat/components/order.vue b/src/pages/chat/components/order.vue new file mode 100644 index 00000000..15f27208 --- /dev/null +++ b/src/pages/chat/components/order.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/src/pages/chat/components/select-popup.vue b/src/pages/chat/components/select-popup.vue new file mode 100644 index 00000000..60711af2 --- /dev/null +++ b/src/pages/chat/components/select-popup.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/src/pages/chat/components/toolsPopup.vue b/src/pages/chat/components/toolsPopup.vue new file mode 100644 index 00000000..f47ce3fc --- /dev/null +++ b/src/pages/chat/components/toolsPopup.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/src/pages/chat/index.vue b/src/pages/chat/index.vue new file mode 100644 index 00000000..2c7d8172 --- /dev/null +++ b/src/pages/chat/index.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/src/pages/chat/util/constants.js b/src/pages/chat/util/constants.js new file mode 100644 index 00000000..1b8eba97 --- /dev/null +++ b/src/pages/chat/util/constants.js @@ -0,0 +1,19 @@ +export const KeFuMessageContentTypeEnum = { + TEXT: 1, // 文本消息 + IMAGE: 2, // 图片消息 + VOICE: 3, // 语音消息 + VIDEO: 4, // 视频消息 + SYSTEM: 5, // 系统消息 + // ========== 商城特殊消息 ========== + PRODUCT: 10,// 商品消息 + ORDER: 11,// 订单消息" +}; +export const UserTypeEnum = { + MEMBER: 1, // 会员 面向 c 端,普通用户 + ADMIN: 2, // 管理员 面向 b 端,管理后台 +}; +// Promotion 的 WebSocket 消息类型枚举类 +export const WebSocketMessageTypeConstants = { + KEFU_MESSAGE_TYPE: 'kefu_message_type', // 客服消息类型 + KEFU_MESSAGE_ADMIN_READ: 'kefu_message_read_status_change' // 客服消息管理员已读 +} diff --git a/src/pages/chat/util/emoji.js b/src/pages/chat/util/emoji.js new file mode 100644 index 00000000..83e6e842 --- /dev/null +++ b/src/pages/chat/util/emoji.js @@ -0,0 +1,58 @@ +export const emojiList = [ + { name: '[笑掉牙]', file: 'xiaodiaoya.png' }, + { name: '[可爱]', file: 'keai.png' }, + { name: '[冷酷]', file: 'lengku.png' }, + { name: '[闭嘴]', file: 'bizui.png' }, + { name: '[生气]', file: 'shengqi.png' }, + { name: '[惊恐]', file: 'jingkong.png' }, + { name: '[瞌睡]', file: 'keshui.png' }, + { name: '[大笑]', file: 'daxiao.png' }, + { name: '[爱心]', file: 'aixin.png' }, + { name: '[坏笑]', file: 'huaixiao.png' }, + { name: '[飞吻]', file: 'feiwen.png' }, + { name: '[疑问]', file: 'yiwen.png' }, + { name: '[开心]', file: 'kaixin.png' }, + { name: '[发呆]', file: 'fadai.png' }, + { name: '[流泪]', file: 'liulei.png' }, + { name: '[汗颜]', file: 'hanyan.png' }, + { name: '[惊悚]', file: 'jingshu.png' }, + { name: '[困~]', file: 'kun.png' }, + { name: '[心碎]', file: 'xinsui.png' }, + { name: '[天使]', file: 'tianshi.png' }, + { name: '[晕]', file: 'yun.png' }, + { name: '[啊]', file: 'a.png' }, + { name: '[愤怒]', file: 'fennu.png' }, + { name: '[睡着]', file: 'shuizhuo.png' }, + { name: '[面无表情]', file: 'mianwubiaoqing.png' }, + { name: '[难过]', file: 'nanguo.png' }, + { name: '[犯困]', file: 'fankun.png' }, + { name: '[好吃]', file: 'haochi.png' }, + { name: '[呕吐]', file: 'outu.png' }, + { name: '[龇牙]', file: 'ziya.png' }, + { name: '[懵比]', file: 'mengbi.png' }, + { name: '[白眼]', file: 'baiyan.png' }, + { name: '[饿死]', file: 'esi.png' }, + { name: '[凶]', file: 'xiong.png' }, + { name: '[感冒]', file: 'ganmao.png' }, + { name: '[流汗]', file: 'liuhan.png' }, + { name: '[笑哭]', file: 'xiaoku.png' }, + { name: '[流口水]', file: 'liukoushui.png' }, + { name: '[尴尬]', file: 'ganga.png' }, + { name: '[惊讶]', file: 'jingya.png' }, + { name: '[大惊]', file: 'dajing.png' }, + { name: '[不好意思]', file: 'buhaoyisi.png' }, + { name: '[大闹]', file: 'danao.png' }, + { name: '[不可思议]', file: 'bukesiyi.png' }, + { name: '[爱你]', file: 'aini.png' }, + { name: '[红心]', file: 'hongxin.png' }, + { name: '[点赞]', file: 'dianzan.png' }, + { name: '[恶魔]', file: 'emo.png' }, +]; + +export let emojiPage = {}; +emojiList.forEach((item, index) => { + if (!emojiPage[Math.floor(index / 30) + 1]) { + emojiPage[Math.floor(index / 30) + 1] = []; + } + emojiPage[Math.floor(index / 30) + 1].push(item); +}); diff --git a/src/pages/chat/util/useWebSocket.js b/src/pages/chat/util/useWebSocket.js new file mode 100644 index 00000000..4b592764 --- /dev/null +++ b/src/pages/chat/util/useWebSocket.js @@ -0,0 +1,150 @@ +import { onBeforeUnmount, reactive, ref } from 'vue'; +import { baseUrl, websocketPath } from '@/sheep/config'; +import { copyValueToTarget } from '@/sheep/helper/utils'; +import { getRefreshToken } from '@/sheep/request'; + +/** + * WebSocket 创建 hook + * @param opt 连接配置 + * @return {{options: *}} + */ +export function useWebSocket(opt) { + const options = reactive({ + url: (baseUrl + websocketPath).replace('http', 'ws') + '?token=' + getRefreshToken(), // ws 地址 + isReconnecting: false, // 正在重新连接 + reconnectInterval: 3000, // 重连间隔,单位毫秒 + heartBeatInterval: 5000, // 心跳间隔,单位毫秒 + pingTimeoutDuration: 1000, // 超过这个时间,后端没有返回pong,则判定后端断线了。 + heartBeatTimer: null, // 心跳计时器 + destroy: false, // 是否销毁 + pingTimeout: null, // 心跳检测定时器 + reconnectTimeout: null, // 重连定时器ID的属性 + onConnected: () => {}, // 连接成功时触发 + onClosed: () => {}, // 连接关闭时触发 + onMessage: (data) => {}, // 收到消息 + }); + const SocketTask = ref(null); // SocketTask 由 uni.connectSocket() 接口创建 + + const initEventListeners = () => { + // 监听 WebSocket 连接打开事件 + SocketTask.value.onOpen(() => { + console.log('WebSocket 连接成功'); + // 连接成功时触发 + options.onConnected(); + // 开启心跳检查 + startHeartBeat(); + }); + // 监听 WebSocket 接受到服务器的消息事件 + SocketTask.value.onMessage((res) => { + try { + if (res.data === 'pong') { + // 收到心跳重置心跳超时检查 + resetPingTimeout(); + } else { + options.onMessage(JSON.parse(res.data)); + } + } catch (error) { + console.error(error); + } + }); + // 监听 WebSocket 连接关闭事件 + SocketTask.value.onClose((event) => { + // 情况一:实例销毁 + if (options.destroy) { + options.onClosed(); + } else { + // 情况二:连接失败重连 + // 停止心跳检查 + stopHeartBeat(); + // 重连 + reconnect(); + } + }); + }; + + // 发送消息 + const sendMessage = (message) => { + if (SocketTask.value && !options.destroy) { + SocketTask.value.send({ data: message }); + } + }; + // 开始心跳检查 + const startHeartBeat = () => { + options.heartBeatTimer = setInterval(() => { + sendMessage('ping'); + options.pingTimeout = setTimeout(() => { + // 如果在超时时间内没有收到 pong,则认为连接断开 + reconnect(); + }, options.pingTimeoutDuration); + }, options.heartBeatInterval); + }; + // 停止心跳检查 + const stopHeartBeat = () => { + clearInterval(options.heartBeatTimer); + resetPingTimeout(); + }; + + // WebSocket 重连 + const reconnect = () => { + if (options.destroy || !SocketTask.value) { + // 如果WebSocket已被销毁或尚未完全关闭,不进行重连 + return; + } + + // 重连中 + options.isReconnecting = true; + + // 清除现有的重连标志,以避免多次重连 + if (options.reconnectTimeout) { + clearTimeout(options.reconnectTimeout); + } + + // 设置重连延迟 + options.reconnectTimeout = setTimeout(() => { + // 检查组件是否仍在运行和WebSocket是否关闭 + if (!options.destroy) { + // 重置重连标志 + options.isReconnecting = false; + // 初始化新的WebSocket连接 + initSocket(); + } + }, options.reconnectInterval); + }; + + const resetPingTimeout = () => { + if (options.pingTimeout) { + clearTimeout(options.pingTimeout); + options.pingTimeout = null; // 清除超时ID + } + }; + + const close = () => { + options.destroy = true; + stopHeartBeat(); + if (options.reconnectTimeout) { + clearTimeout(options.reconnectTimeout); + } + if (SocketTask.value) { + SocketTask.value.close(); + SocketTask.value = null; + } + }; + + const initSocket = () => { + options.destroy = false; + copyValueToTarget(options, opt); + SocketTask.value = uni.connectSocket({ + url: options.url, + complete: () => {}, + success: () => {}, + }); + initEventListeners(); + }; + + initSocket(); + + onBeforeUnmount(() => { + close(); + }); + return { options }; +} diff --git a/src/pages/commission/commission-ranking.vue b/src/pages/commission/commission-ranking.vue new file mode 100644 index 00000000..50fc76fe --- /dev/null +++ b/src/pages/commission/commission-ranking.vue @@ -0,0 +1,239 @@ + + + + + diff --git a/src/pages/commission/components/account-info.vue b/src/pages/commission/components/account-info.vue new file mode 100644 index 00000000..d904b8df --- /dev/null +++ b/src/pages/commission/components/account-info.vue @@ -0,0 +1,125 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/commission/components/account-type-select.vue b/src/pages/commission/components/account-type-select.vue new file mode 100644 index 00000000..c39c7a72 --- /dev/null +++ b/src/pages/commission/components/account-type-select.vue @@ -0,0 +1,171 @@ + + + + + + diff --git a/src/pages/commission/components/commission-auth.vue b/src/pages/commission/components/commission-auth.vue new file mode 100644 index 00000000..9a484fad --- /dev/null +++ b/src/pages/commission/components/commission-auth.vue @@ -0,0 +1,101 @@ + + + + + + diff --git a/src/pages/commission/components/commission-info.vue b/src/pages/commission/components/commission-info.vue new file mode 100644 index 00000000..79f7cd86 --- /dev/null +++ b/src/pages/commission/components/commission-info.vue @@ -0,0 +1,114 @@ + + + + + + diff --git a/src/pages/commission/components/commission-log.vue b/src/pages/commission/components/commission-log.vue new file mode 100644 index 00000000..cee3b3cb --- /dev/null +++ b/src/pages/commission/components/commission-log.vue @@ -0,0 +1,181 @@ + + + + + + diff --git a/src/pages/commission/components/commission-menu.vue b/src/pages/commission/components/commission-menu.vue new file mode 100644 index 00000000..42498f5e --- /dev/null +++ b/src/pages/commission/components/commission-menu.vue @@ -0,0 +1,145 @@ + + + + + + diff --git a/src/pages/commission/goods.vue b/src/pages/commission/goods.vue new file mode 100644 index 00000000..f4638f7f --- /dev/null +++ b/src/pages/commission/goods.vue @@ -0,0 +1,165 @@ + + + + + + diff --git a/src/pages/commission/index.vue b/src/pages/commission/index.vue new file mode 100644 index 00000000..28c077cc --- /dev/null +++ b/src/pages/commission/index.vue @@ -0,0 +1,57 @@ + + + + + + diff --git a/src/pages/commission/order.vue b/src/pages/commission/order.vue new file mode 100644 index 00000000..94be9b7f --- /dev/null +++ b/src/pages/commission/order.vue @@ -0,0 +1,332 @@ + + + + + + diff --git a/src/pages/commission/promoter.vue b/src/pages/commission/promoter.vue new file mode 100644 index 00000000..2dfcc2b3 --- /dev/null +++ b/src/pages/commission/promoter.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/src/pages/commission/team.vue b/src/pages/commission/team.vue new file mode 100644 index 00000000..ba86814d --- /dev/null +++ b/src/pages/commission/team.vue @@ -0,0 +1,604 @@ + + + + + + diff --git a/src/pages/commission/wallet.vue b/src/pages/commission/wallet.vue new file mode 100644 index 00000000..73024dbc --- /dev/null +++ b/src/pages/commission/wallet.vue @@ -0,0 +1,643 @@ + + + + + + diff --git a/src/pages/commission/withdraw.vue b/src/pages/commission/withdraw.vue new file mode 100644 index 00000000..fb661866 --- /dev/null +++ b/src/pages/commission/withdraw.vue @@ -0,0 +1,486 @@ + + + + + + diff --git a/src/pages/components/HighlightNumberText.vue b/src/pages/components/HighlightNumberText.vue new file mode 100644 index 00000000..0b00f352 --- /dev/null +++ b/src/pages/components/HighlightNumberText.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/src/pages/coupon/detail.vue b/src/pages/coupon/detail.vue new file mode 100644 index 00000000..96114a3e --- /dev/null +++ b/src/pages/coupon/detail.vue @@ -0,0 +1,390 @@ + + + + + + diff --git a/src/pages/coupon/list.vue b/src/pages/coupon/list.vue new file mode 100644 index 00000000..2afffd75 --- /dev/null +++ b/src/pages/coupon/list.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/src/pages/goods/comment/add.vue b/src/pages/goods/comment/add.vue new file mode 100644 index 00000000..c52024c0 --- /dev/null +++ b/src/pages/goods/comment/add.vue @@ -0,0 +1,190 @@ + + + + + + diff --git a/src/pages/goods/comment/list.vue b/src/pages/goods/comment/list.vue new file mode 100644 index 00000000..ed55988b --- /dev/null +++ b/src/pages/goods/comment/list.vue @@ -0,0 +1,168 @@ + + + + + + diff --git a/src/pages/goods/components/detail/comment-item.vue b/src/pages/goods/components/detail/comment-item.vue new file mode 100644 index 00000000..518db2a8 --- /dev/null +++ b/src/pages/goods/components/detail/comment-item.vue @@ -0,0 +1,94 @@ + + + + + + diff --git a/src/pages/goods/components/detail/detail-activity-tip.vue b/src/pages/goods/components/detail/detail-activity-tip.vue new file mode 100644 index 00000000..e80fe392 --- /dev/null +++ b/src/pages/goods/components/detail/detail-activity-tip.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/pages/goods/components/detail/detail-cell-sku.vue b/src/pages/goods/components/detail/detail-cell-sku.vue new file mode 100644 index 00000000..11f1b204 --- /dev/null +++ b/src/pages/goods/components/detail/detail-cell-sku.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/pages/goods/components/detail/detail-cell.vue b/src/pages/goods/components/detail/detail-cell.vue new file mode 100644 index 00000000..b4c56dd5 --- /dev/null +++ b/src/pages/goods/components/detail/detail-cell.vue @@ -0,0 +1,60 @@ + + + + + + diff --git a/src/pages/goods/components/detail/detail-comment-card.vue b/src/pages/goods/components/detail/detail-comment-card.vue new file mode 100644 index 00000000..cc48dfde --- /dev/null +++ b/src/pages/goods/components/detail/detail-comment-card.vue @@ -0,0 +1,106 @@ + + + + + + diff --git a/src/pages/goods/components/detail/detail-content-card.vue b/src/pages/goods/components/detail/detail-content-card.vue new file mode 100644 index 00000000..38d45f98 --- /dev/null +++ b/src/pages/goods/components/detail/detail-content-card.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/pages/goods/components/detail/detail-navbar.vue b/src/pages/goods/components/detail/detail-navbar.vue new file mode 100644 index 00000000..d454ec0f --- /dev/null +++ b/src/pages/goods/components/detail/detail-navbar.vue @@ -0,0 +1,257 @@ + + + + + + diff --git a/src/pages/goods/components/detail/detail-progress.vue b/src/pages/goods/components/detail/detail-progress.vue new file mode 100644 index 00000000..a6210b16 --- /dev/null +++ b/src/pages/goods/components/detail/detail-progress.vue @@ -0,0 +1,40 @@ + + + + + + diff --git a/src/pages/goods/components/detail/detail-skeleton.vue b/src/pages/goods/components/detail/detail-skeleton.vue new file mode 100644 index 00000000..5eebf50c --- /dev/null +++ b/src/pages/goods/components/detail/detail-skeleton.vue @@ -0,0 +1,177 @@ + + + + + diff --git a/src/pages/goods/components/detail/detail-tabbar.vue b/src/pages/goods/components/detail/detail-tabbar.vue new file mode 100644 index 00000000..bcae5bef --- /dev/null +++ b/src/pages/goods/components/detail/detail-tabbar.vue @@ -0,0 +1,169 @@ + + + + + + diff --git a/src/pages/goods/components/groupon/groupon-card-list.vue b/src/pages/goods/components/groupon/groupon-card-list.vue new file mode 100644 index 00000000..2c752140 --- /dev/null +++ b/src/pages/goods/components/groupon/groupon-card-list.vue @@ -0,0 +1,140 @@ + + + + + + diff --git a/src/pages/goods/components/list/list-goods-card.vue b/src/pages/goods/components/list/list-goods-card.vue new file mode 100644 index 00000000..d02519ff --- /dev/null +++ b/src/pages/goods/components/list/list-goods-card.vue @@ -0,0 +1,103 @@ + + + + + + diff --git a/src/pages/goods/components/list/list-navbar.vue b/src/pages/goods/components/list/list-navbar.vue new file mode 100644 index 00000000..c21e6793 --- /dev/null +++ b/src/pages/goods/components/list/list-navbar.vue @@ -0,0 +1,93 @@ + + + + + + diff --git a/src/pages/goods/groupon.vue b/src/pages/goods/groupon.vue new file mode 100644 index 00000000..0fc81cfd --- /dev/null +++ b/src/pages/goods/groupon.vue @@ -0,0 +1,562 @@ + + + + + + diff --git a/src/pages/goods/index.vue b/src/pages/goods/index.vue new file mode 100644 index 00000000..901c8919 --- /dev/null +++ b/src/pages/goods/index.vue @@ -0,0 +1,672 @@ + + + + + diff --git a/src/pages/goods/list.vue b/src/pages/goods/list.vue new file mode 100644 index 00000000..8a5259a2 --- /dev/null +++ b/src/pages/goods/list.vue @@ -0,0 +1,407 @@ + + + + + diff --git a/src/pages/goods/point.vue b/src/pages/goods/point.vue new file mode 100644 index 00000000..631d9404 --- /dev/null +++ b/src/pages/goods/point.vue @@ -0,0 +1,483 @@ + + + + + + diff --git a/src/pages/goods/seckill.vue b/src/pages/goods/seckill.vue new file mode 100644 index 00000000..c76e9487 --- /dev/null +++ b/src/pages/goods/seckill.vue @@ -0,0 +1,575 @@ + + + + + + diff --git a/src/pages/home/city.vue b/src/pages/home/city.vue index 5588890b..dd2ca882 100644 --- a/src/pages/home/city.vue +++ b/src/pages/home/city.vue @@ -1,15 +1,11 @@