From 451f8a765e46e6db4dffbbd5821c42957159e549 Mon Sep 17 00:00:00 2001 From: 337031187 Date: Wed, 23 Dec 2020 15:56:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A3=E8=AF=9E=E5=BF=AB=E4=B9=90=20#=20v1.3?= =?UTF-8?q?=20=E6=9B=B4=E6=96=B0=E5=88=97=E8=A1=A8=20=20=20=20=201.=20?= =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E7=A0=8D=E4=BB=B7=20=092.?= =?UTF-8?q?=20=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E6=8B=BC=E5=9B=A2=20=09?= =?UTF-8?q?3.=20=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E4=B8=80=E5=8F=B7?= =?UTF-8?q?=E9=80=9A=20=094.=20=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91?= =?UTF-8?q?=E5=95=86=E5=93=81sku=20=E7=BC=96=E8=BE=91=E6=97=B6=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E5=95=86=E5=93=81=E5=B1=9E=E6=80=A7=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98=20=095.=20?= =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E5=95=86=E5=93=81=E6=8E=A8?= =?UTF-8?q?=E5=B9=BF=E6=B5=B7=E6=8A=A5=E7=94=9F=E6=88=90=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=E5=8F=AF=E8=83=BD=E4=BC=9A=E5=87=BA=E9=94=99=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=90=E5=B0=8F=E7=A8=8B=E5=BA=8F=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E4=B8=AD=E3=80=91=20=096.=20=E3=80=90=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E3=80=91=E5=BE=AE=E4=BF=A1=E5=85=AC=E4=BC=97=E5=8F=B7?= =?UTF-8?q?=E5=92=8C=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=A4=B4=E5=83=8F=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E8=8E=B7=E5=8F=96=E4=B8=8D=E5=88=B0=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20=097.=20=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91?= =?UTF-8?q?=E4=B8=8B=E5=8D=95=E6=97=B6=E5=8F=AF=E8=83=BD=E4=BC=9A=E5=87=BA?= =?UTF-8?q?=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98=20=098.=20=E3=80=90?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E3=80=91pc=E7=AE=A1=E7=90=86=E7=AB=AF?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=AE=BF=E9=97=AE=E9=87=8F=20=099.=20?= =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E5=BE=AE=E4=BF=A1=E9=80=80?= =?UTF-8?q?=E6=AC=BE=20=0910.=20=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E5=87=BA=E7=8E=B0=E4=B8=8D=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=20=0911.=20=E3=80=90=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E3=80=91WEB=E7=AE=A1=E7=90=86=E7=AB=AF-=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E8=89=B2=E8=B0=83=EF=BC=8C=E7=9F=AD=E4=BF=A1API?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=8C=E9=A6=96=E9=A1=B5=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E9=87=8F=EF=BC=8C=E7=B3=BB=E7=BB=9F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AEtab=E6=98=AF=E8=87=AA=E5=8A=A8=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E4=B8=8B=E4=B8=80=E5=8F=8A=E8=A1=A8=E5=8D=95=20=0912.=20?= =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E7=B3=BB=E7=BB=9F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=87=BA=E7=8E=B0=E6=9B=B4=E6=96=B0=E4=B8=8D=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/.env.development | 1 - admin/.env.production | 2 +- admin/README.ZBKJ.md | 35 - admin/README.md | 258 + admin/README.zh-CN.md | 258 + admin/public/UEditor/ueditor.config.js | 2 +- admin/src/api/categoryApi.js | 11 + admin/src/api/financial.js | 12 + admin/src/api/logistics.js | 19 +- admin/src/api/marketing.js | 209 + admin/src/api/order.js | 27 +- admin/src/api/sms.js | 110 +- admin/src/api/store.js | 23 + admin/src/api/storePoint.js | 24 + admin/src/api/user.js | 11 + admin/src/api/wxApi.js | 11 + admin/src/assets/imgs/expressi.jpg | Bin 0 -> 2634 bytes admin/src/assets/imgs/wutu.png | Bin 0 -> 24897 bytes admin/src/components/Category/list.vue | 40 +- .../components/parser/ZBParser.vue | 6 + admin/src/components/echarts/index.vue | 20 +- admin/src/components/userList/index.vue | 154 + admin/src/filters/commFilter.js | 61 + admin/src/layout/components/Navbar.vue | 10 +- admin/src/layout/components/Sidebar/Logo.vue | 1 - admin/src/router/index.js | 75 - admin/src/router/modules/marketing.js | 26 +- admin/src/router/modules/operation.js | 13 +- admin/src/settings.js | 2 +- admin/src/styles/styles.scss | 10 + admin/src/styles/variables.scss | 5 +- admin/src/utils/constants.js | 2 +- .../appSetting/routine/myTemplate/index.vue | 8 +- .../routine/publicTemplate/index.vue | 2 +- .../wxAccount/reply/follow/index.vue | 2 +- .../wxAccount/reply/keyword/index.vue | 17 +- .../appSetting/wxAccount/wxTemplate/index.vue | 22 +- admin/src/views/content/article/edit.vue | 14 +- admin/src/views/content/article/list.vue | 10 +- .../views/dashboard/components/userChart.vue | 4 +- .../views/dashboard/components/visitChart.vue | 174 +- admin/src/views/distribution/config/index.vue | 10 +- admin/src/views/distribution/index.vue | 18 +- admin/src/views/financial/brokerage/index.vue | 19 +- .../financial/commission/withdrawal/index.vue | 6 +- .../views/financial/record/charge/index.vue | 58 +- .../views/financial/record/monitor/index.vue | 24 +- admin/src/views/login/index.vue | 4 +- .../maintain/devconfig/combineDataList.vue | 2 +- .../views/maintain/devconfig/combinedData.vue | 2 +- .../marketing/bargain/bargainGoods/creat1.vue | 869 + .../bargain/bargainGoods/creatBargain.vue | 865 + .../marketing/bargain/bargainGoods/index.vue | 213 + .../marketing/bargain/bargainList/index.vue | 246 + admin/src/views/marketing/bargain/index.vue | 8 +- .../marketing/coupon/list/creatCoupon.vue | 45 +- .../src/views/marketing/coupon/list/index.vue | 6 +- .../views/marketing/groupBuy/goods/index.vue | 13 - .../groupBuy/groupGoods/creatGroup.vue | 901 + .../marketing/groupBuy/groupGoods/index.vue | 218 + .../marketing/groupBuy/groupList/index.vue | 265 + .../marketing/seckill/seckillConfig/index.vue | 6 +- .../seckill/seckillList/creatSeckill.vue | 37 +- .../marketing/seckill/seckillList/index.vue | 6 +- .../mobile/orderStatistics/Statistics.vue | 5 +- admin/src/views/order/index.vue | 39 +- admin/src/views/order/orderDetail.vue | 253 +- admin/src/views/order/orderSend.vue | 172 +- .../smsConfig/components/forgetPassword.vue | 228 + .../sms/smsConfig/components/forgetPhone.vue | 217 + .../sms/smsConfig/components/loginFrom.vue | 22 +- .../sms/smsConfig/components/register.vue | 62 +- .../sms/smsConfig/components/tableList.vue | 638 +- admin/src/views/sms/smsConfig/index.vue | 179 +- admin/src/views/sms/smsPay/index.vue | 59 +- admin/src/views/sms/smsTemplate/index.vue | 43 +- admin/src/views/store/creatStore/index.vue | 83 +- admin/src/views/store/index.vue | 31 +- admin/src/views/store/storeAttr/index.vue | 2 +- .../views/store/storeComment/creatComment.vue | 2 +- admin/src/views/store/storeComment/index.vue | 39 +- admin/src/views/store/taoBao.vue | 98 +- .../logistics/companyList/index.vue | 130 +- .../logistics/shippingTemplates/index.vue | 2 +- .../src/views/systemSetting/setting/index.vue | 87 +- .../systemStore/clerkList/index.vue | 4 +- .../systemSetting/systemStore/order/index.vue | 6 +- .../systemStore/point/addPoint.vue | 4 +- .../systemSetting/systemStore/point/index.vue | 37 +- admin/src/views/user/grade/index.vue | 10 +- admin/src/views/user/group/index.vue | 2 +- admin/src/views/user/list/edit.vue | 15 +- admin/src/views/user/list/index.vue | 153 +- admin/tree.text | 0 app/api/activity.js | 19 +- app/api/order.js | 6 +- app/components/countDown/index.vue | 2 +- app/components/couponListWindow/备份.vue | 2 +- app/components/easy-upload/easy-upload.vue | 1 - app/components/emptyPage.vue | 2 +- app/components/payment/index.vue | 47 +- app/components/productWindow/index.vue | 2 +- app/components/userEvaluation/index.vue | 43 +- app/config/cache.js | 58 +- app/pages.json | 8 + app/pages/activity/goods_bargain/index.vue | 30 +- .../activity/goods_bargain_details/index.vue | 179 +- .../activity/goods_combination/index.vue | 28 +- .../goods_combination_details/index.vue | 475 +- .../goods_combination_status/index.vue | 1520 +- app/pages/activity/goods_seckill/index.vue | 2 +- .../activity/goods_seckill_details/index.vue | 76 +- app/pages/activity/poster-poster/index.vue | 190 +- .../columnGoods/static}/group02.gif | Bin app/pages/goods_cate/goods_cate.vue | 45 +- app/pages/goods_details/index.vue | 112 +- app/pages/index/components/a_seckill.vue | 239 + app/pages/index/components/b_combination.vue | 182 + app/pages/index/components/c_bargain.vue | 174 + app/pages/index/index.vue | 89 +- app/pages/news_list/index.vue | 7 +- app/pages/order_addcart/order_addcart11.vue | 2 +- app/pages/order_details/index.vue | 3 +- app/pages/order_pay_status/index.vue | 19 +- app/pages/retrieve_password/index.vue | 2 +- app/pages/users/commission_rank/index.vue | 19 +- app/pages/users/goods_comment_list/index.vue | 4 +- app/pages/users/goods_return/index.vue | 17 +- app/pages/users/login/index.vue | 4 +- app/pages/users/login/index2.vue | 2 +- app/pages/users/order_confirm/index.vue | 27 +- app/pages/users/retrievePassword/index.vue | 2 +- .../users/static}/noCollection.png | Bin .../users/static}/noEvaluate.png | Bin app/pages/users/user_address_list/index.vue | 10 +- app/pages/users/user_coupon/index.vue | 6 +- .../users/user_goods_collection/index.vue | 2 +- app/pages/users/user_integral/index.vue | 2 +- app/pages/users/user_money/index.vue | 22 +- app/pages/users/user_spread_code/index.vue | 146 +- app/pages/users/user_spread_money/index.vue | 14 +- app/pages/users/user_vip/index.vue | 4 +- app/pages/users/user_vip/index01.vue | 2 +- app/static/images/aa.jpg | Bin 129708 -> 0 bytes app/static/images/canbj.png | Bin 0 -> 28524 bytes app/static/images/light.png | Bin 42803 -> 0 bytes app/static/images/orderIndex.png | Bin 26152 -> 0 bytes app/static/images/seckillTitle.png | Bin 0 -> 2709 bytes app/static/images/sign02.png | Bin 0 -> 1505 bytes app/static/images/sign03.png | Bin 0 -> 1547 bytes app/utils/SubscribeMessage.js | 46 +- app/utils/base64src.js | 23 + app/utils/util.js | 3 + crmeb/README.md | 254 +- crmeb/pom.xml | 32 +- crmeb/sql/crmeb_java.sql | 12114 +++++++ crmeb/sql/crmeb_java_v1.0.sql | 6131 ---- crmeb/sql/crmeb_java_v1.1.sql | 6698 ---- crmeb/sql/crmeb_java_v1.2.sql | 27241 ---------------- .../main/java/com/common/CheckAdminToken.java | 3 + .../main/java/com/common/CheckFrontToken.java | 4 +- .../src/main/java/com/common/CommonPage.java | 12 + .../main/java/com/common/CommonResult.java | 26 + crmeb/src/main/java/com/common/MyRecord.java | 458 + .../main/java/com/constants/Constants.java | 59 +- .../java/com/constants/OnePassConstants.java | 107 + .../java/com/constants/RegularConstants.java | 3 + .../main/java/com/constants/SmsConstants.java | 5 +- .../java/com/constants/WeChatConstants.java | 2 + .../main/java/com/filter/ResponseWrapper.java | 2 - crmeb/src/main/java/com/utils/CrmebUtil.java | 10 +- crmeb/src/main/java/com/utils/DateUtil.java | 55 +- crmeb/src/main/java/com/utils/ExcelUtil.java | 6 +- crmeb/src/main/java/com/utils/ExportUtil.java | 98 + .../src/main/java/com/utils/OnePassUtil.java | 179 + .../main/java/com/utils/RestTemplateUtil.java | 100 +- crmeb/src/main/java/com/utils/UploadUtil.java | 4 +- crmeb/src/main/java/com/utils/UrlUtil.java | 6 +- .../main/java/com/utils/ValidateFormUtil.java | 25 + crmeb/src/main/java/com/utils/WxPayUtil.java | 51 + crmeb/src/main/java/com/utils/XmlUtil.java | 2 - .../java/com/zbkj/crmeb/CrmebApplication.java | 3 + .../service/impl/ArticleServiceImpl.java | 19 +- .../authorization/controller/adminUser.java | 2 +- .../authorization/manager/TokenManager.java | 2 +- .../manager/TokenManagerImpl.java | 38 +- .../controller/StoreBargainController.java | 180 + .../crmeb/bargain/dao/StoreBargainDao.java | 26 + .../bargain/dao/StoreBargainUserDao.java | 20 + .../bargain/dao/StoreBargainUserHelpDao.java | 20 + .../crmeb/bargain/model/StoreBargain.java | 146 + .../crmeb/bargain/model/StoreBargainUser.java | 65 + .../bargain/model/StoreBargainUserHelp.java | 56 + .../bargain/request/StoreBargainRequest.java | 173 + .../request/StoreBargainSearchRequest.java | 40 + .../request/StoreBargainUserHelpRequest.java | 50 + .../StoreBargainUserHelpSearchRequest.java | 50 + .../request/StoreBargainUserRequest.java | 59 + .../StoreBargainUserSearchRequest.java | 39 + .../response/StoreBargainResponse.java | 152 + .../StoreBargainUserHelpResponse.java | 57 + .../response/StoreBargainUserResponse.java | 75 + .../bargain/service/StoreBargainService.java | 149 + .../service/StoreBargainUserHelpService.java | 92 + .../service/StoreBargainUserService.java | 80 + .../service/impl/StoreBargainServiceImpl.java | 890 + .../impl/StoreBargainUserHelpServiceImpl.java | 458 + .../impl/StoreBargainUserServiceImpl.java | 224 + .../controller/CategoryController.java | 18 +- .../category/service/CategoryService.java | 2 + .../service/impl/CategoryServiceImpl.java | 8 + .../StoreCombinationController.java | 177 + .../combination/dao/StoreCombinationDao.java | 20 + .../crmeb/combination/dao/StorePinkDao.java | 20 + .../combination/model/StoreCombination.java | 142 + .../crmeb/combination/model/StorePink.java | 94 + .../request/StoreCombinationRequest.java | 174 + .../StoreCombinationSearchRequest.java | 42 + .../combination/request/StorePinkRequest.java | 41 + .../request/StorePinkSearchRequest.java | 42 + .../StoreCombinationInfoResponse.java | 145 + .../response/StoreCombinationResponse.java | 164 + .../response/StorePinkAdminListResponse.java | 57 + .../response/StorePinkResponse.java | 87 + .../service/StoreCombinationService.java | 173 + .../combination/service/StorePinkService.java | 80 + .../impl/StoreCombinationServiceImpl.java | 1240 + .../service/impl/StorePinkServiceImpl.java | 306 + .../com/zbkj/crmeb/config/CorsConfig.java | 3 + .../com/zbkj/crmeb/config/DruidConfig.java | 2 +- .../java/com/zbkj/crmeb/config/WebConfig.java | 2 +- .../export/controller/ExcelController.java | 55 +- .../crmeb/export/service/ExcelService.java | 11 +- .../export/service/impl/ExcelServiceImpl.java | 187 +- .../export/vo/BargainProductExcelVo.java | 55 + .../export/vo/CombinationProductExcelVo.java | 55 + .../zbkj/crmeb/export/vo/ProductExcelVo.java | 38 +- .../express/controller/ExpressController.java | 110 +- .../ShippingTemplatesFreeController.java | 1 - .../ShippingTemplatesRegionController.java | 1 - .../com/zbkj/crmeb/express/model/Express.java | 23 +- .../express/request/ExpressSearchRequest.java | 4 - .../express/request/ExpressUpdateRequest.java | 61 + ...est.java => ExpressUpdateShowRequest.java} | 29 +- .../crmeb/express/service/ExpressService.java | 48 +- .../express/service/LogisticService.java | 2 +- .../service/impl/ExpressServiceImpl.java | 223 +- .../service/impl/LogisticsServiceImpl.java | 89 +- .../zbkj/crmeb/express/vo/ExpressSheetVo.java | 75 + .../crmeb/express/vo/LogisticsResultVo.java | 2 +- .../controller/FundsMonitorController.java | 11 +- .../controller/UserRechargeController.java | 14 +- .../request/UserRechargeRefundRequest.java | 40 + .../finance/service/UserRechargeService.java | 10 +- .../service/impl/UserExtractServiceImpl.java | 6 +- .../service/impl/UserRechargeServiceImpl.java | 176 +- .../front/controller/BargainController.java | 136 + .../controller/CombinationController.java | 121 + .../front/controller/CouponController.java | 6 + .../front/controller/ExpressController.java | 7 +- .../front/controller/LoginController.java | 4 +- .../controller/StoreOrderController.java | 7 +- .../front/controller/UserController.java | 2 +- .../front/request/BargainFrontRequest.java | 34 + .../zbkj/crmeb/front/request/CartRequest.java | 15 +- .../front/request/OrderCreateRequest.java | 12 +- .../front/response/BargainCountResponse.java | 49 + .../front/response/BargainDetailResponse.java | 58 + .../response/CombinationDetailResponse.java | 72 + .../front/response/ConfirmOrderResponse.java | 8 + .../crmeb/front/response/GoPinkResponse.java | 57 + .../response/StoreOrderDetailResponse.java | 2 +- .../front/response/UserCenterResponse.java | 3 + .../crmeb/front/service/OrderService.java | 12 +- .../front/service/impl/OrderServiceImpl.java | 214 +- .../service/impl/ProductServiceImpl.java | 118 +- .../service/impl/UserCenterServiceImpl.java | 37 +- .../crmeb/log/dao/StoreProductLogDao.java | 20 + .../zbkj/crmeb/log/model/StoreProductLog.java | 83 + .../log/service/StoreProductLogService.java | 25 + .../impl/StoreProductLogServiceImpl.java | 117 + .../controller/StoreCouponController.java | 10 +- .../controller/StoreCouponUserController.java | 10 +- .../crmeb/marketing/dao/StoreCouponDao.java | 14 +- .../marketing/dao/StoreCouponUserDao.java | 14 +- .../response/StoreCouponFrontResponse.java | 14 +- .../response/StoreCouponInfoResponse.java | 14 +- .../response/StoreCouponUserOrder.java | 14 +- .../response/StoreCouponUserResponse.java | 14 +- .../marketing/service/StoreCouponService.java | 15 +- .../service/StoreCouponUserService.java | 15 +- .../service/impl/StoreCouponServiceImpl.java | 15 +- .../pass/controller/OnePassController.java | 171 + .../crmeb/pass/request/MealCodeRequest.java | 53 + .../pass/request/OnePassLoginRequest.java | 39 + .../pass/request/OnePassRegisterRequest.java | 52 + .../pass/request/OnePassUpdateRequest.java | 46 + .../request/OnePassUserRecordRequest.java | 45 + .../pass/request/ServiceOpenRequest.java | 58 + .../crmeb/pass/service/OnePassService.java | 109 + .../pass/service/impl/OnePassServiceImpl.java | 524 + .../zbkj/crmeb/pass/vo/OnePassLoginVo.java | 38 + .../pass/vo/OnePassLogisticsQueryVo.java | 46 + .../pass/vo/OnePassLogisticsTrackVo.java | 36 + .../controller/CallbackController.java | 32 +- .../payment/service/CallbackService.java | 29 +- .../payment/service/OrderPayService.java | 25 +- .../crmeb/payment/service/PayService.java | 16 +- .../payment/service/RechargePayService.java | 23 +- .../service/impl/CallbackServiceImpl.java | 143 +- .../service/impl/OrderPayServiceImpl.java | 141 +- .../service/impl/RechargePayServiceImpl.java | 73 +- .../crmeb/payment/vo/wechat/AttachVo.java | 12 + .../crmeb/payment/vo/wechat/CallbackVo.java | 12 + .../CreateOrderH5SceneInfoDetailVo.java | 12 + .../vo/wechat/CreateOrderH5SceneInfoVo.java | 12 + .../vo/wechat/CreateOrderRequestVo.java | 12 + .../vo/wechat/CreateOrderResponseVo.java | 12 + .../payment/vo/wechat/WxRefundResponseVo.java | 110 + .../crmeb/payment/vo/wechat/WxRefundVo.java | 65 + .../payment/wechat/WeChatPayService.java | 14 +- .../wechat/impl/WeChatPayServiceImpl.java | 14 +- .../pub/controller/ImageMergeController.java | 13 +- .../pub/controller/RedisTestController.java | 9 + .../controller/WeChatMessageController.java | 9 + .../pub/controller/WeChatPushController.java | 10 +- .../controller/StoreSeckillController.java | 9 + .../StoreSeckillMangerController.java | 11 +- .../crmeb/seckill/dao/StoreSeckillDao.java | 14 +- .../seckill/dao/StoreSeckillMangerDao.java | 14 +- .../StoreSeckillAttrResultSearchRequest.java | 10 - .../StoreSeckillMangerSearchRequest.java | 14 +- .../seckill/request/StoreSeckillRequest.java | 14 +- .../request/StoreSeckillSearchRequest.java | 14 +- .../StoreSeckillAttrValueResponse.java | 14 +- .../response/StoreSeckillDetailResponse.java | 14 +- .../response/StoreSeckillManagerResponse.java | 14 +- .../response/StoreSeckillResponse.java | 14 +- .../StoreSeckillStoreInfoResponse.java | 14 +- .../service/StoreSeckillMangerService.java | 15 +- .../seckill/service/StoreSeckillService.java | 21 +- .../impl/StoreSeckillMangerServiceImpl.java | 17 +- .../service/impl/StoreSeckillServiceImpl.java | 37 +- .../java/com/zbkj/crmeb/sms/SmsResultVo.java | 14 +- .../sms/controller/SmsRecordController.java | 288 +- .../com/zbkj/crmeb/sms/dao/SmsRecordDao.java | 14 +- .../com/zbkj/crmeb/sms/model/SmsRecord.java | 14 +- .../crmeb/sms/request/PublicTempRequest.java | 14 +- .../com/zbkj/crmeb/sms/request/SendSmsVo.java | 14 +- .../sms/request/SmsApplyTempRequest.java | 49 + .../crmeb/sms/request/SmsConfigRequest.java | 14 +- .../crmeb/sms/request/SmsLoginRequest.java | 14 +- .../sms/request/SmsModifySignRequest.java | 44 + .../crmeb/sms/request/SmsRecordRequest.java | 14 +- .../crmeb/sms/service/SmsRecordService.java | 24 +- .../zbkj/crmeb/sms/service/SmsService.java | 79 +- .../service/impl/SmsRecordServiceImpl.java | 146 +- .../sms/service/impl/SmsServiceImpl.java | 845 +- .../statistics/controller/HomeController.java | 10 +- .../statistics/response/HomeRateResponse.java | 16 +- .../response/HomeUserBuyResponse.java | 16 +- .../crmeb/statistics/service/HomeService.java | 14 +- .../service/impl/HomeServiceImpl.java | 57 +- .../controller/RetailShopController.java | 18 +- .../controller/StoreOrderController.java | 28 +- .../StoreOrderStatusController.java | 9 + .../controller/StoreProductController.java | 46 +- .../StoreProductReplyController.java | 10 +- .../StoreProductRuleController.java | 10 +- .../zbkj/crmeb/store/dao/StoreCartDao.java | 14 +- .../zbkj/crmeb/store/dao/StoreOrderDao.java | 14 +- .../crmeb/store/dao/StoreOrderInfoDao.java | 14 +- .../crmeb/store/dao/StoreOrderStatusDao.java | 14 +- .../crmeb/store/dao/StoreProductAttrDao.java | 14 +- .../store/dao/StoreProductAttrResultDao.java | 14 +- .../store/dao/StoreProductAttrValueDao.java | 14 +- .../crmeb/store/dao/StoreProductCateDao.java | 14 +- .../store/dao/StoreProductCouponDao.java | 14 +- .../zbkj/crmeb/store/dao/StoreProductDao.java | 14 +- .../store/dao/StoreProductDescriptionDao.java | 14 +- .../store/dao/StoreProductRelationDao.java | 14 +- .../crmeb/store/dao/StoreProductReplyDao.java | 14 +- .../crmeb/store/dao/StoreProductRuleDao.java | 14 +- .../com/zbkj/crmeb/store/model/StoreCart.java | 19 +- .../zbkj/crmeb/store/model/StoreOrder.java | 17 +- .../crmeb/store/model/StoreOrderStatus.java | 14 +- .../store/model/StoreProductAttrResult.java | 14 +- .../crmeb/store/model/StoreProductCoupon.java | 16 +- .../store/model/StoreProductDescription.java | 5 + .../store/request/RetailShopRequest.java | 55 +- .../request/RetailShopStairUserRequest.java | 6 +- .../request/StoreOrderInfoSearchRequest.java | 15 +- .../store/request/StoreOrderSendRequest.java | 36 +- .../request/StoreOrderStaticsticsRequest.java | 14 +- .../request/StoreProductAttrItemRequest.java | 14 +- .../StoreProductAttrValueListRequest.java | 14 +- .../request/StoreProductAttrValueRequest.java | 17 +- .../StoreProductAttrValueSearchRequest.java | 14 +- .../StoreProductCateSearchRequest.java | 14 +- .../request/StoreProductRelationRequest.java | 11 - .../StoreProductReplyCommentRequest.java | 14 +- .../request/StoreProductRuleItemRequest.java | 14 +- .../request/StoreProductStockRequest.java | 4 + .../response/RetailShopOrderDataResponse.java | 14 +- .../RetailShopStatisticsResponse.java | 14 +- .../response/RetailShopUserResponse.java | 14 +- .../store/response/StoreCartResponse.java | 17 +- .../store/response/StoreCategoryTreeList.java | 15 +- .../response/StoreOrderCountItemResponse.java | 14 +- .../response/StoreOrderInfoResponse.java | 14 +- .../response/StoreOrderListResponse.java | 10 +- .../store/response/StoreOrderResponse.java | 14 +- .../StoreOrderSpreadInfoResponse.java | 14 +- ...StoreOrderStatisticsChartItemResponse.java | 14 +- .../StoreOrderStatisticsResponse.java | 14 +- .../response/StoreOrderTopItemResponse.java | 14 +- ...StoreOrderVerificationConfirmResponse.java | 14 +- .../StoreProductAttrValueItemResponse.java | 14 +- .../StoreProductAttrValueResponse.java | 18 +- .../StoreProductCartProductInfoResponse.java | 16 +- .../StoreProductRecommendResponse.java | 14 +- .../response/StoreProductReplyResponse.java | 14 +- .../store/response/StoreProductResponse.java | 57 +- .../response/StoreProductRuleResponse.java | 14 +- .../StoreProductStoreInfoResponse.java | 14 +- .../response/StoreProductTabsHeader.java | 15 +- .../store/response/StoreStaffDetail.java | 14 +- .../store/response/StoreStaffTopDetail.java | 14 +- .../crmeb/store/service/OrderTaskService.java | 16 +- .../store/service/RetailShopService.java | 14 +- .../crmeb/store/service/StoreCartService.java | 15 +- .../store/service/StoreOrderInfoService.java | 15 +- .../service/StoreOrderRefundService.java | 15 +- .../store/service/StoreOrderService.java | 49 +- .../service/StoreOrderStatusService.java | 17 +- .../store/service/StoreOrderTaskService.java | 12 +- .../store/service/StoreOrderVerification.java | 14 +- .../StoreProductAttrResultService.java | 15 +- .../service/StoreProductAttrService.java | 15 +- .../service/StoreProductAttrValueService.java | 15 +- .../service/StoreProductCateService.java | 15 +- .../service/StoreProductCouponService.java | 15 +- .../StoreProductDescriptionService.java | 15 +- .../service/StoreProductRelationService.java | 15 +- .../service/StoreProductReplyService.java | 32 +- .../service/StoreProductRuleService.java | 15 +- .../store/service/StoreProductService.java | 29 +- .../service/impl/OrderTaskServiceImpl.java | 15 +- .../service/impl/RetailShopServiceImpl.java | 39 +- .../service/impl/StoreCartServiceImpl.java | 194 +- .../impl/StoreOrderInfoServiceImpl.java | 15 +- .../impl/StoreOrderRefundServiceImpl.java | 135 +- .../service/impl/StoreOrderServiceImpl.java | 654 +- .../impl/StoreOrderStatusServiceImpl.java | 24 +- .../impl/StoreOrderTaskServiceImpl.java | 59 +- .../impl/StoreOrderVerificationImpl.java | 24 +- .../impl/StoreProductAttrServiceImpl.java | 23 +- .../StoreProductAttrValueServiceImpl.java | 15 +- .../impl/StoreProductCouponServiceImpl.java | 14 +- .../StoreProductDescriptionServiceImpl.java | 15 +- .../impl/StoreProductRelationServiceImpl.java | 15 +- .../impl/StoreProductReplyServiceImpl.java | 98 +- .../impl/StoreProductRuleServiceImpl.java | 15 +- .../service/impl/StoreProductServiceImpl.java | 112 +- .../crmeb/store/utilService/OrderUtils.java | 350 +- .../crmeb/store/utilService/ProductUtils.java | 278 +- .../zbkj/crmeb/store/vo/StoreOrderInfoVo.java | 14 +- .../store/vo/StoreProductRelationCountVo.java | 14 +- .../controller/SystemAdminController.java | 24 + .../SystemAttachmentController.java | 9 + .../controller/SystemCityController.java | 9 + .../controller/SystemConfigController.java | 9 + .../controller/SystemFormTempController.java | 10 +- .../controller/SystemGroupController.java | 10 +- .../controller/SystemGroupDataController.java | 10 +- .../controller/SystemRoleController.java | 24 + .../controller/SystemStoreController.java | 33 + .../SystemStoreStaffController.java | 9 + .../controller/SystemUserLevelController.java | 9 + .../SystemWriteOffOrderController.java | 10 +- .../zbkj/crmeb/system/dao/SystemAdminDao.java | 14 +- .../crmeb/system/dao/SystemAttachmentDao.java | 14 +- .../zbkj/crmeb/system/dao/SystemCityDao.java | 14 +- .../crmeb/system/dao/SystemConfigDao.java | 14 +- .../crmeb/system/dao/SystemFormTempDao.java | 14 +- .../zbkj/crmeb/system/dao/SystemGroupDao.java | 14 +- .../crmeb/system/dao/SystemGroupDataDao.java | 14 +- .../zbkj/crmeb/system/dao/SystemRoleDao.java | 14 +- .../zbkj/crmeb/system/dao/SystemStoreDao.java | 14 +- .../crmeb/system/dao/SystemStoreStaffDao.java | 14 +- .../crmeb/system/dao/SystemUserLevelDao.java | 14 +- .../zbkj/crmeb/system/model/SystemAdmin.java | 14 +- .../crmeb/system/model/SystemAttachment.java | 14 +- .../zbkj/crmeb/system/model/SystemCity.java | 14 +- .../zbkj/crmeb/system/model/SystemConfig.java | 14 +- .../crmeb/system/model/SystemFormTemp.java | 14 +- .../zbkj/crmeb/system/model/SystemGroup.java | 14 +- .../crmeb/system/model/SystemGroupData.java | 14 +- .../zbkj/crmeb/system/model/SystemRole.java | 14 +- .../zbkj/crmeb/system/model/SystemStore.java | 14 +- .../crmeb/system/model/SystemStoreStaff.java | 14 +- .../crmeb/system/model/SystemUserLevel.java | 14 +- .../request/SystemAdminLoginRequest.java | 17 +- .../request/SystemCitySearchRequest.java | 14 +- .../request/SystemFormCheckRequest.java | 14 +- .../system/request/SystemFormTempRequest.java | 14 +- .../request/SystemGroupDataSearchRequest.java | 14 +- .../request/SystemGroupSearchRequest.java | 14 +- .../system/request/SystemStoreRequest.java | 14 +- .../request/SystemUserLevelSearchRequest.java | 14 +- .../SystemWriteOffOrderSearchRequest.java | 15 +- .../response/StoreOrderItemResponse.java | 17 +- ...stemGroupDataAdminLoginBannerResponse.java | 14 +- ...SystemGroupDataOrderStatusPicResponse.java | 14 +- .../response/SystemStoreStaffResponse.java | 14 +- .../response/SystemWriteOffOrderResponse.java | 14 +- .../system/service/SystemAdminService.java | 19 +- .../service/SystemAttachmentService.java | 15 +- .../service/SystemCityAsyncService.java | 15 +- .../system/service/SystemCityService.java | 15 +- .../system/service/SystemConfigService.java | 27 +- .../system/service/SystemFormTempService.java | 15 +- .../service/SystemGroupDataService.java | 15 +- .../system/service/SystemGroupService.java | 15 +- .../system/service/SystemRoleService.java | 17 +- .../system/service/SystemStoreService.java | 27 +- .../service/SystemStoreStaffService.java | 15 +- .../service/SystemUserLevelService.java | 15 +- .../service/impl/SystemAdminServiceImpl.java | 40 +- .../impl/SystemAttachmentServiceImpl.java | 19 +- .../impl/SystemCityAsyncServiceImpl.java | 15 +- .../service/impl/SystemCityServiceImpl.java | 15 +- .../service/impl/SystemConfigServiceImpl.java | 79 +- .../impl/SystemFormTempServiceImpl.java | 15 +- .../impl/SystemGroupDataServiceImpl.java | 15 +- .../service/impl/SystemGroupServiceImpl.java | 15 +- .../service/impl/SystemRoleServiceImpl.java | 30 +- .../service/impl/SystemStoreServiceImpl.java | 44 +- .../impl/SystemStoreStaffServiceImpl.java | 15 +- .../impl/SystemUserLevelServiceImpl.java | 19 +- .../crmeb/system/vo/SystemCityTreeVo.java | 14 +- .../SystemConfigFormItemConfigRegListVo.java | 14 +- .../system/vo/SystemConfigFormItemVo.java | 14 +- .../crmeb/system/vo/SystemConfigFormVo.java | 14 +- .../vo/SystemGroupDataMenuUserConfigVo.java | 14 +- .../vo/SystemGroupDataSignConfigVo.java | 14 +- .../crmeb/system/vo/SystemStoreNearVo.java | 14 +- .../task/bargain/BargainStopChangeTask.java | 48 + .../crmeb/task/log/ProductLogAddTask.java | 48 + .../crmeb/task/pink/PinkStatusChange.java | 48 + .../zbkj/crmeb/task/product/ProductStock.java | 11 +- .../crmeb/task/sms/AsyncSmsSendResult.java | 42 - .../wechat/AsyncWeChatProgramTempList.java | 13 +- .../wechat/AsyncWeChatProgramTempMessage.java | 13 +- .../wechat/AsyncWeChatPublicTempMessage.java | 13 +- .../upload/controller/UploadController.java | 12 +- .../crmeb/upload/service/AsyncService.java | 15 +- .../zbkj/crmeb/upload/service/CosService.java | 15 +- .../zbkj/crmeb/upload/service/OssService.java | 16 +- .../crmeb/upload/service/QiNiuService.java | 15 +- .../crmeb/upload/service/UploadService.java | 15 +- .../upload/service/impl/AsyncServiceImpl.java | 18 +- .../upload/service/impl/CosServiceImpl.java | 15 +- .../upload/service/impl/OssServiceImpl.java | 13 +- .../upload/service/impl/QiNiuServiceImpl.java | 15 +- .../service/impl/UploadServiceImpl.java | 15 +- .../com/zbkj/crmeb/upload/vo/CloudVo.java | 14 +- .../zbkj/crmeb/upload/vo/FileResultVo.java | 14 +- .../user/controller/UserBillController.java | 9 + .../crmeb/user/controller/UserController.java | 23 + .../user/controller/UserGroupController.java | 9 + .../user/controller/UserLevelController.java | 9 + .../user/controller/UserTagController.java | 9 + .../zbkj/crmeb/user/dao/UserAddressDao.java | 14 +- .../com/zbkj/crmeb/user/dao/UserBillDao.java | 15 +- .../java/com/zbkj/crmeb/user/dao/UserDao.java | 15 +- .../com/zbkj/crmeb/user/dao/UserGroupDao.java | 14 +- .../com/zbkj/crmeb/user/dao/UserLevelDao.java | 14 +- .../com/zbkj/crmeb/user/dao/UserSignDao.java | 14 +- .../com/zbkj/crmeb/user/dao/UserTagDao.java | 14 +- .../com/zbkj/crmeb/user/dao/UserTokenDao.java | 14 +- .../request/RegisterThirdUserRequest.java | 19 +- .../request/UserBillDetailListRequest.java | 14 +- .../crmeb/user/request/UserBillRequest.java | 14 +- .../user/request/UserBillSearchRequest.java | 14 +- .../crmeb/user/request/UserGroupRequest.java | 14 +- .../crmeb/user/request/UserLevelRequest.java | 14 +- .../user/request/UserLevelSearchRequest.java | 14 +- .../user/request/UserOperateFundsRequest.java | 14 +- .../UserOperateIntegralMoneyRequest.java | 20 +- .../zbkj/crmeb/user/request/UserRequest.java | 14 +- .../crmeb/user/request/UserSearchRequest.java | 22 +- .../crmeb/user/request/UserTagRequest.java | 14 +- .../user/request/UserUpdateSpreadRequest.java | 44 + .../zbkj/crmeb/user/response/BillType.java | 14 +- .../zbkj/crmeb/user/response/TopDetail.java | 9 + .../crmeb/user/response/UserBillResponse.java | 14 +- .../crmeb/user/response/UserResponse.java | 12 + .../user/service/UserAddressService.java | 15 +- .../crmeb/user/service/UserBillService.java | 20 +- .../crmeb/user/service/UserGroupService.java | 15 +- .../crmeb/user/service/UserLevelService.java | 15 +- .../zbkj/crmeb/user/service/UserService.java | 34 +- .../crmeb/user/service/UserSignService.java | 15 +- .../crmeb/user/service/UserTagService.java | 15 +- .../crmeb/user/service/UserTokenService.java | 19 +- .../service/impl/UserAddressServiceImpl.java | 15 +- .../service/impl/UserBillServiceImpl.java | 44 +- .../service/impl/UserGroupServiceImpl.java | 15 +- .../service/impl/UserLevelServiceImpl.java | 15 +- .../user/service/impl/UserServiceImpl.java | 213 +- .../service/impl/UserSignServiceImpl.java | 137 +- .../user/service/impl/UserTagServiceImpl.java | 15 +- .../service/impl/UserTokenServiceImpl.java | 27 +- .../crmeb/user/vo/UserOperateFundsVo.java | 14 +- .../zbkj/crmeb/user/vo/UserSignMonthVo.java | 14 +- .../com/zbkj/crmeb/user/vo/UserSignVo.java | 14 +- .../validatecode/model/ValidateCode.java | 14 +- .../service/ValidateCodeService.java | 15 +- .../service/impl/ValidateCodeServiceImpl.java | 3 + .../wechat/controller/ProgramController.java | 9 + .../controller/TemplateMessageController.java | 21 +- .../controller/WeChatAdminController.java | 14 +- .../controller/WeChatUserTagsController.java | 9 + .../controller/WechatMediaController.java | 47 + .../WechatProgramMyTempController.java | 9 + .../WechatProgramPublicTempController.java | 9 + .../controller/WechatQrcodeController.java | 9 + .../controller/WechatReplyController.java | 13 +- .../controller/WechatUserController.java | 9 + .../crmeb/wechat/dao/TemplateMessageDao.java | 14 +- .../wechat/dao/WechatProgramMyTempDao.java | 14 +- .../dao/WechatProgramPublicTempDao.java | 14 +- .../crmeb/wechat/dao/WechatQrcodeDao.java | 14 +- .../zbkj/crmeb/wechat/dao/WechatReplyDao.java | 14 +- .../crmeb/wechat/model/TemplateMessage.java | 14 +- .../wechat/model/WechatProgramMyTemp.java | 14 +- .../wechat/model/WechatProgramPublicTemp.java | 16 +- .../zbkj/crmeb/wechat/model/WechatQrcode.java | 14 +- .../zbkj/crmeb/wechat/model/WechatReply.java | 14 +- .../request/TemplateMessageRequest.java | 3 - .../request/TemplateMessageSearchRequest.java | 15 +- .../WechatProgramPublicTempRequest.java | 16 +- .../WechatProgramPublicTempSearchRequest.java | 16 +- .../wechat/request/WechatQrcodeRequest.java | 14 +- .../request/WechatQrcodeSearchRequest.java | 14 +- .../wechat/request/WechatReplyRequest.java | 17 +- .../request/WechatReplySearchRequest.java | 14 +- .../WeChatAuthorizeLoginUserInfoResponse.java | 19 +- .../service/TemplateMessageService.java | 15 +- .../crmeb/wechat/service/WeChatService.java | 15 +- .../wechat/service/WechatMediaService.java | 9 + .../service/WechatProgramMyTempService.java | 15 +- .../WechatProgramPublicTempService.java | 15 +- .../wechat/service/WechatQrcodeService.java | 15 +- .../wechat/service/WechatReplyService.java | 15 +- .../WechatSendMessageForMinService.java | 14 +- .../wechat/service/WechatUserService.java | 14 +- .../impl/TemplateMessageServiceImpl.java | 19 +- .../service/impl/WeChatServiceImpl.java | 19 +- .../service/impl/WechatMediaServiceImpl.java | 146 + .../impl/WechatProgramMyTempServiceImpl.java | 15 +- .../WechatProgramPublicTempServiceImpl.java | 15 +- .../service/impl/WechatQrcodeServiceImpl.java | 15 +- .../service/impl/WechatReplyServiceImpl.java | 15 +- .../impl/WechatSendMessageForMinService.java | 14 +- .../service/impl/WechatUserServiceImpl.java | 14 +- .../zbkj/crmeb/wechat/vo/MediaCountVo.java | 15 +- .../crmeb/wechat/vo/ProgramCategoryVo.java | 12 + .../wechat/vo/ProgramTempKeywordsVo.java | 12 + .../wechat/vo/ProgramTemplateMessageVo.java | 12 + .../vo/SendProgramTemplateMessageItemVo.java | 12 + .../wechat/vo/SendTemplateMessageItemVo.java | 12 + .../wechat/vo/SendTemplateMessageVo.java | 12 + .../vo/TemplateMessageIndustryItemVo.java | 12 + .../wechat/vo/TemplateMessageIndustryVo.java | 12 + .../crmeb/wechat/vo/TemplateMessageVo.java | 12 + .../wechat/vo/WechatSendMessageForCash.java | 14 +- .../vo/WechatSendMessageForCreateOrder.java | 14 +- .../vo/WechatSendMessageForDistrbution.java | 14 +- .../vo/WechatSendMessageForIntegral.java | 14 +- .../vo/WechatSendMessageForOrderCancel.java | 14 +- .../vo/WechatSendMessageForPackage.java | 14 +- .../vo/WechatSendMessageForReFundNotify.java | 14 +- .../wechat/vo/WechatSendMessageForTopped.java | 14 +- .../vo/WechatSendMessageForVerSuccess.java | 14 +- .../service/WeChatMessageService.java | 14 +- .../impl/WeChatMessageServiceImpl.java | 14 +- .../crmeb/wechatMessage/vo/BaseMessageVo.java | 12 + .../wechatMessage/vo/MessageImageVo.java | 12 + crmeb/src/main/resources/application-beta.yml | 13 +- crmeb/src/main/resources/application-dev.yml | 33 + crmeb/src/main/resources/application-prod.yml | 13 +- crmeb/src/main/resources/application.yml | 17 +- crmeb/src/main/resources/logback-spring.xml | 6 +- .../mapper/log/StoreProductLogMapper.xml | 5 + .../mapper/store/StoreBargainMapper.xml | 5 + .../store/StoreBargainUserHelpMapper.xml | 5 + .../mapper/store/StoreBargainUserMapper.xml | 5 + .../mapper/store/StoreCombinationMapper.xml | 5 + .../mapper/store/StorePinkMapper.xml | 5 + .../resources/mapper/user/UserBillMapper.xml | 20 + crmeb/start.sh | 33 +- domain.json | 2 +- ...b92238ce4f67b9c2cb03c9c932c8a28451t0g7.png | Bin 35187 -> 0 bytes ...569e018846448017f11d1f2795abunxkrejr75.jpg | Bin 95270 -> 0 bytes ...6da884e44f91939a92468d0c848fxftnm6thvc.png | Bin 100975 -> 0 bytes ...c7f20771444e888501d91332f129wik43qfgmw.png | Bin 119341 -> 0 bytes ...ae2de334412f8593325805bb45e07xvwxc6nbn.png | Bin 49355 -> 0 bytes ...ed1e02e542088c53eaaa38dab6eddyxjgr4n70.jpg | Bin 41502 -> 0 bytes ...0afed5af4f3bbdd4924eff96a6adqa5k51i1cb.png | Bin 1917 -> 0 bytes ...18bf2543477d8417a85e779e6d79clby7stw86.png | Bin 35310 -> 0 bytes ...d547018d4f96b8e1de7189ff2baapo5k04fjw6.jpg | Bin 153457 -> 0 bytes ...4ffe26d045968fe9e6082e7221b5eohjjkkg0a.jpg | Bin 161856 -> 0 bytes ...3420ee0945fdb05614691f7beda8oiax27m3yb.png | Bin 9480 -> 0 bytes ...e4383bbf460494e8b3368782a076ugnezzb362.png | Bin 67134 -> 0 bytes ...0df90d8c436fade672478461e3732l8z7ernvh.jpg | Bin 80438 -> 0 bytes ...5dc276b941c093a12332500d9784ce3bed9l0c.png | Bin 142066 -> 0 bytes ...7cfb431f452ea977bb9a917e420666nyfxlu14.jpg | Bin 240224 -> 0 bytes ...2db25f184563989f60ac77dbf305lxirf2h7pq.png | Bin 109438 -> 0 bytes ...c46356f4478ea3ed2b8adfc8dd4d4udgw8nsig.png | Bin 273690 -> 0 bytes ...308eeabf4910823b3558ccc19403mv8yjufemd.png | Bin 2099 -> 0 bytes ...d67b30774124a07b8003247243f059fmipd1zd.png | Bin 7900 -> 0 bytes ...328634934883a994abb33173129fgcar4l6l8l.png | Bin 18548 -> 0 bytes ...7a4a54ad4875a28f1f74aad134980qsl1vkpua.jpg | Bin 67895 -> 0 bytes ...fd86471b412eb4f163e07cfc2027uzzul0xoyl.jpg | Bin 26680 -> 0 bytes ...a123b9a24666b5cdcf531f7744d6grduvuarjw.png | Bin 114946 -> 0 bytes ...08bff43744c88323c666d77cac72g4p0a23tpo.png | Bin 160577 -> 0 bytes ...66f8bb5145cbada4b7a08965cf15b26idurig9.png | Bin 103216 -> 0 bytes ...8b4b4a2e4fc782558787fc941e24o6u5iv52dl.png | Bin 101227 -> 0 bytes ...e229217a4c38b3da0e3a53ecc667o478oy5v4v.png | Bin 2768 -> 0 bytes ...607a688940eea181dcd1ed6e9f51m1icpzgorz.png | Bin 7052 -> 0 bytes ...cc8c10564acbbb7d43eed26ed8798ij2deo3sk.png | Bin 7161 -> 0 bytes ...c39bb6e24fec8fa12ca9baa4a4aa6tfkdi5v27.png | Bin 93656 -> 0 bytes ...b94f67fd46dd9031995ef2be86fca3xpw8y5kz.jpg | Bin 73292 -> 0 bytes ...8a2777a743bcac0b4d11465384bejp8n19peeg.png | Bin 69336 -> 0 bytes ...2314cefa418fada5eab9e09bf86aqutumxihsx.png | Bin 43349 -> 0 bytes ...9322b33249e0b3441908e3b657b2rzf7g4x37c.png | Bin 75992 -> 0 bytes ...82c126c74ff7a335c3efd6bb2e27vduh9zraqs.png | Bin 278628 -> 0 bytes ...7e25f56543f398e11896d356b46a1t4l6k8qk0.png | Bin 68732 -> 0 bytes ...2ba251114a75bc3da94166770482zv3tb4ogjy.png | Bin 112263 -> 0 bytes ...ef6066a04537aa5ee92234dc2edcf1iyqm9gq9.png | Bin 84243 -> 0 bytes ...e290c5874ddd82fcf7b104955949izoulykd53.png | Bin 2228 -> 0 bytes ...d8f7d062441c8feea8afe83ae4445q333yr9bx.jpg | Bin 60045 -> 0 bytes ...b08327f7470d8285613aa1bd9ab3xk2qzolbad.png | Bin 25213 -> 0 bytes ...9d2939284e5db2a9cc0915fccf4a6wru3vj2q3.png | Bin 7397 -> 0 bytes ...65018ba24172b2e2dd2e2833360coobdzkt671.png | Bin 74983 -> 0 bytes ...291970364fcb8d7fdbdaf96900152rpyexrh3s.png | Bin 59103 -> 0 bytes ...5129966244b78cfb68778fbd7a81k6stba15mw.png | Bin 2546 -> 0 bytes ...fcfa299c4269af95d671e122d4770vrq87ttfz.png | Bin 150018 -> 0 bytes ...17f9ebae4c6fbb51772b934d4077xllfw2cd12.png | Bin 57526 -> 0 bytes ...04699927443db884fe468295cee8oss2xgnb4n.png | Bin 7696 -> 0 bytes ...8b9abf12499ea9941cefa0880ae43cqywtyhjp.png | Bin 30795 -> 0 bytes ...799518704655ab2fdc254336de08wtb2ofda96.png | Bin 215666 -> 0 bytes ...1c370d9d44f998803310fedb8af3yr9suwbwp1.png | Bin 269248 -> 0 bytes ...9cda47db47748da64fd5bd4d1a30l2wpoycstu.png | Bin 28559 -> 0 bytes ...7f931afb4386bfff7f80b8971203c5qc2k1j1n.png | Bin 30795 -> 0 bytes ...3b6bdbbb4ec2bf93c5f7a6e9f6383fwxssjlwp.png | Bin 6045 -> 0 bytes ...2a2942b04cba96538ce17f693789d85s0vvd8r.png | Bin 24056 -> 0 bytes ...8dfb34c1424abde8737039c5f58b1acdgq3h7w.png | Bin 73229 -> 0 bytes ...702add5043c6af73a95becca0985s0nebb3f3d.png | Bin 7662 -> 0 bytes ...4b2025ac43e2ad95f83b19b12060s0jfs4vpqe.png | Bin 48754 -> 0 bytes ...947539d94cd495ea6493e37a3e35lkqmcnnl9q.png | Bin 147901 -> 0 bytes ...1d0db94847bbb2cb60ebe5201aa0tzzjzor6d5.png | Bin 167370 -> 0 bytes ...614eca0546748e5e71b565e8d662kxkezi9bbv.png | Bin 2025 -> 0 bytes ...85fba7bd4078adb252014d3e8896e48sbh2gwr.jpg | Bin 103815 -> 0 bytes ...7201c43e42ac82b83ed711199774ggihs7g6yb.png | Bin 155900 -> 0 bytes ...f754930b48f6b9acb56ea4740e93qnbzwe6lu7.jpg | Bin 82746 -> 0 bytes 768 files changed, 40200 insertions(+), 46123 deletions(-) create mode 100644 admin/README.md create mode 100644 admin/README.zh-CN.md create mode 100644 admin/src/assets/imgs/expressi.jpg create mode 100644 admin/src/assets/imgs/wutu.png create mode 100644 admin/src/components/userList/index.vue create mode 100644 admin/src/views/marketing/bargain/bargainGoods/creat1.vue create mode 100644 admin/src/views/marketing/bargain/bargainGoods/creatBargain.vue create mode 100644 admin/src/views/marketing/bargain/bargainGoods/index.vue create mode 100644 admin/src/views/marketing/bargain/bargainList/index.vue delete mode 100644 admin/src/views/marketing/groupBuy/goods/index.vue create mode 100644 admin/src/views/marketing/groupBuy/groupGoods/creatGroup.vue create mode 100644 admin/src/views/marketing/groupBuy/groupGoods/index.vue create mode 100644 admin/src/views/marketing/groupBuy/groupList/index.vue create mode 100644 admin/src/views/sms/smsConfig/components/forgetPassword.vue create mode 100644 admin/src/views/sms/smsConfig/components/forgetPhone.vue delete mode 100644 admin/tree.text rename app/{static/images => pages/columnGoods/static}/group02.gif (100%) create mode 100644 app/pages/index/components/a_seckill.vue create mode 100644 app/pages/index/components/b_combination.vue create mode 100644 app/pages/index/components/c_bargain.vue rename app/{static/images => pages/users/static}/noCollection.png (100%) rename app/{static/images => pages/users/static}/noEvaluate.png (100%) delete mode 100644 app/static/images/aa.jpg create mode 100644 app/static/images/canbj.png delete mode 100644 app/static/images/light.png delete mode 100644 app/static/images/orderIndex.png create mode 100644 app/static/images/seckillTitle.png create mode 100644 app/static/images/sign02.png create mode 100644 app/static/images/sign03.png create mode 100644 app/utils/base64src.js create mode 100644 crmeb/sql/crmeb_java.sql delete mode 100644 crmeb/sql/crmeb_java_v1.0.sql delete mode 100644 crmeb/sql/crmeb_java_v1.1.sql delete mode 100644 crmeb/sql/crmeb_java_v1.2.sql create mode 100644 crmeb/src/main/java/com/common/MyRecord.java create mode 100644 crmeb/src/main/java/com/constants/OnePassConstants.java create mode 100644 crmeb/src/main/java/com/utils/ExportUtil.java create mode 100644 crmeb/src/main/java/com/utils/OnePassUtil.java create mode 100644 crmeb/src/main/java/com/utils/WxPayUtil.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/controller/StoreBargainController.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/dao/StoreBargainDao.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/dao/StoreBargainUserDao.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/dao/StoreBargainUserHelpDao.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/model/StoreBargain.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/model/StoreBargainUser.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/model/StoreBargainUserHelp.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/request/StoreBargainRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/request/StoreBargainSearchRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/request/StoreBargainUserHelpRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/request/StoreBargainUserHelpSearchRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/request/StoreBargainUserRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/request/StoreBargainUserSearchRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/response/StoreBargainResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/response/StoreBargainUserHelpResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/response/StoreBargainUserResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/service/StoreBargainService.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/service/StoreBargainUserHelpService.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/service/StoreBargainUserService.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/service/impl/StoreBargainServiceImpl.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/service/impl/StoreBargainUserHelpServiceImpl.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/bargain/service/impl/StoreBargainUserServiceImpl.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/controller/StoreCombinationController.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/dao/StoreCombinationDao.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/dao/StorePinkDao.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/model/StoreCombination.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/model/StorePink.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/request/StoreCombinationRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/request/StoreCombinationSearchRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/request/StorePinkRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/request/StorePinkSearchRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/response/StoreCombinationInfoResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/response/StoreCombinationResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/response/StorePinkAdminListResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/response/StorePinkResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/service/StoreCombinationService.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/service/StorePinkService.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/service/impl/StoreCombinationServiceImpl.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/combination/service/impl/StorePinkServiceImpl.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/export/vo/BargainProductExcelVo.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/export/vo/CombinationProductExcelVo.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/express/request/ExpressUpdateRequest.java rename crmeb/src/main/java/com/zbkj/crmeb/express/request/{ExpressRequest.java => ExpressUpdateShowRequest.java} (63%) create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/express/vo/ExpressSheetVo.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/finance/request/UserRechargeRefundRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/front/controller/BargainController.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/front/controller/CombinationController.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/front/request/BargainFrontRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/front/response/BargainCountResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/front/response/BargainDetailResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/front/response/CombinationDetailResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/front/response/GoPinkResponse.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/log/dao/StoreProductLogDao.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/log/model/StoreProductLog.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/log/service/StoreProductLogService.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/log/service/impl/StoreProductLogServiceImpl.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/controller/OnePassController.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/request/MealCodeRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/request/OnePassLoginRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/request/OnePassRegisterRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/request/OnePassUpdateRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/request/OnePassUserRecordRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/request/ServiceOpenRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/service/OnePassService.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/service/impl/OnePassServiceImpl.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/vo/OnePassLoginVo.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/vo/OnePassLogisticsQueryVo.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/pass/vo/OnePassLogisticsTrackVo.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/payment/vo/wechat/WxRefundResponseVo.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/payment/vo/wechat/WxRefundVo.java delete mode 100644 crmeb/src/main/java/com/zbkj/crmeb/seckill/request/StoreSeckillAttrResultSearchRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/sms/request/SmsApplyTempRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/sms/request/SmsModifySignRequest.java delete mode 100644 crmeb/src/main/java/com/zbkj/crmeb/store/request/StoreProductRelationRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/task/bargain/BargainStopChangeTask.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/task/log/ProductLogAddTask.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/task/pink/PinkStatusChange.java delete mode 100644 crmeb/src/main/java/com/zbkj/crmeb/task/sms/AsyncSmsSendResult.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/user/request/UserUpdateSpreadRequest.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/wechat/controller/WechatMediaController.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/wechat/service/WechatMediaService.java create mode 100644 crmeb/src/main/java/com/zbkj/crmeb/wechat/service/impl/WechatMediaServiceImpl.java create mode 100644 crmeb/src/main/resources/application-dev.yml create mode 100644 crmeb/src/main/resources/mapper/log/StoreProductLogMapper.xml create mode 100644 crmeb/src/main/resources/mapper/store/StoreBargainMapper.xml create mode 100644 crmeb/src/main/resources/mapper/store/StoreBargainUserHelpMapper.xml create mode 100644 crmeb/src/main/resources/mapper/store/StoreBargainUserMapper.xml create mode 100644 crmeb/src/main/resources/mapper/store/StoreCombinationMapper.xml create mode 100644 crmeb/src/main/resources/mapper/store/StorePinkMapper.xml delete mode 100644 icons/0c1fb92238ce4f67b9c2cb03c9c932c8a28451t0g7.png delete mode 100644 icons/0fa8569e018846448017f11d1f2795abunxkrejr75.jpg delete mode 100644 icons/15e36da884e44f91939a92468d0c848fxftnm6thvc.png delete mode 100644 icons/1826c7f20771444e888501d91332f129wik43qfgmw.png delete mode 100644 icons/183bae2de334412f8593325805bb45e07xvwxc6nbn.png delete mode 100644 icons/1aeaed1e02e542088c53eaaa38dab6eddyxjgr4n70.jpg delete mode 100644 icons/278a0afed5af4f3bbdd4924eff96a6adqa5k51i1cb.png delete mode 100644 icons/29b418bf2543477d8417a85e779e6d79clby7stw86.png delete mode 100644 icons/2bc4d547018d4f96b8e1de7189ff2baapo5k04fjw6.jpg delete mode 100644 icons/2e0e4ffe26d045968fe9e6082e7221b5eohjjkkg0a.jpg delete mode 100644 icons/2f2a3420ee0945fdb05614691f7beda8oiax27m3yb.png delete mode 100644 icons/306ee4383bbf460494e8b3368782a076ugnezzb362.png delete mode 100644 icons/38470df90d8c436fade672478461e3732l8z7ernvh.jpg delete mode 100644 icons/3a985dc276b941c093a12332500d9784ce3bed9l0c.png delete mode 100644 icons/3d5b7cfb431f452ea977bb9a917e420666nyfxlu14.jpg delete mode 100644 icons/3f2b2db25f184563989f60ac77dbf305lxirf2h7pq.png delete mode 100644 icons/4209c46356f4478ea3ed2b8adfc8dd4d4udgw8nsig.png delete mode 100644 icons/481e308eeabf4910823b3558ccc19403mv8yjufemd.png delete mode 100644 icons/50bed67b30774124a07b8003247243f059fmipd1zd.png delete mode 100644 icons/51f0328634934883a994abb33173129fgcar4l6l8l.png delete mode 100644 icons/52e47a4a54ad4875a28f1f74aad134980qsl1vkpua.jpg delete mode 100644 icons/547bfd86471b412eb4f163e07cfc2027uzzul0xoyl.jpg delete mode 100644 icons/5771a123b9a24666b5cdcf531f7744d6grduvuarjw.png delete mode 100644 icons/57f108bff43744c88323c666d77cac72g4p0a23tpo.png delete mode 100644 icons/59a066f8bb5145cbada4b7a08965cf15b26idurig9.png delete mode 100644 icons/5c9d8b4b4a2e4fc782558787fc941e24o6u5iv52dl.png delete mode 100644 icons/5f56e229217a4c38b3da0e3a53ecc667o478oy5v4v.png delete mode 100644 icons/5f71607a688940eea181dcd1ed6e9f51m1icpzgorz.png delete mode 100644 icons/6292cc8c10564acbbb7d43eed26ed8798ij2deo3sk.png delete mode 100644 icons/64c5c39bb6e24fec8fa12ca9baa4a4aa6tfkdi5v27.png delete mode 100644 icons/64edb94f67fd46dd9031995ef2be86fca3xpw8y5kz.jpg delete mode 100644 icons/6c7b8a2777a743bcac0b4d11465384bejp8n19peeg.png delete mode 100644 icons/6f722314cefa418fada5eab9e09bf86aqutumxihsx.png delete mode 100644 icons/72f39322b33249e0b3441908e3b657b2rzf7g4x37c.png delete mode 100644 icons/760282c126c74ff7a335c3efd6bb2e27vduh9zraqs.png delete mode 100644 icons/767c7e25f56543f398e11896d356b46a1t4l6k8qk0.png delete mode 100644 icons/769f2ba251114a75bc3da94166770482zv3tb4ogjy.png delete mode 100644 icons/8525ef6066a04537aa5ee92234dc2edcf1iyqm9gq9.png delete mode 100644 icons/8529e290c5874ddd82fcf7b104955949izoulykd53.png delete mode 100644 icons/8673d8f7d062441c8feea8afe83ae4445q333yr9bx.jpg delete mode 100644 icons/88dfb08327f7470d8285613aa1bd9ab3xk2qzolbad.png delete mode 100644 icons/91379d2939284e5db2a9cc0915fccf4a6wru3vj2q3.png delete mode 100644 icons/95e065018ba24172b2e2dd2e2833360coobdzkt671.png delete mode 100644 icons/9c42291970364fcb8d7fdbdaf96900152rpyexrh3s.png delete mode 100644 icons/9e9c5129966244b78cfb68778fbd7a81k6stba15mw.png delete mode 100644 icons/a84efcfa299c4269af95d671e122d4770vrq87ttfz.png delete mode 100644 icons/ae7f17f9ebae4c6fbb51772b934d4077xllfw2cd12.png delete mode 100644 icons/af3304699927443db884fe468295cee8oss2xgnb4n.png delete mode 100644 icons/b2328b9abf12499ea9941cefa0880ae43cqywtyhjp.png delete mode 100644 icons/ba82799518704655ab2fdc254336de08wtb2ofda96.png delete mode 100644 icons/bf981c370d9d44f998803310fedb8af3yr9suwbwp1.png delete mode 100644 icons/c79e9cda47db47748da64fd5bd4d1a30l2wpoycstu.png delete mode 100644 icons/cb007f931afb4386bfff7f80b8971203c5qc2k1j1n.png delete mode 100644 icons/d4003b6bdbbb4ec2bf93c5f7a6e9f6383fwxssjlwp.png delete mode 100644 icons/d8892a2942b04cba96538ce17f693789d85s0vvd8r.png delete mode 100644 icons/df0f8dfb34c1424abde8737039c5f58b1acdgq3h7w.png delete mode 100644 icons/e62f702add5043c6af73a95becca0985s0nebb3f3d.png delete mode 100644 icons/e6344b2025ac43e2ad95f83b19b12060s0jfs4vpqe.png delete mode 100644 icons/eb7a947539d94cd495ea6493e37a3e35lkqmcnnl9q.png delete mode 100644 icons/f0771d0db94847bbb2cb60ebe5201aa0tzzjzor6d5.png delete mode 100644 icons/f09a614eca0546748e5e71b565e8d662kxkezi9bbv.png delete mode 100644 icons/f2fb85fba7bd4078adb252014d3e8896e48sbh2gwr.jpg delete mode 100644 icons/f4f47201c43e42ac82b83ed711199774ggihs7g6yb.png delete mode 100644 icons/f77ff754930b48f6b9acb56ea4740e93qnbzwe6lu7.jpg diff --git a/admin/.env.development b/admin/.env.development index 11208df1..a09a403f 100644 --- a/admin/.env.development +++ b/admin/.env.development @@ -3,7 +3,6 @@ ENV = 'development' # base api # VUE_APP_BASE_API = '/dev-api' -# VUE_APP_BASE_API = 'https://api.java.crmeb.net' VUE_APP_BASE_API = 'http://127.0.0.1:8080' # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, diff --git a/admin/.env.production b/admin/.env.production index 2242ce1c..42dd7d2c 100644 --- a/admin/.env.production +++ b/admin/.env.production @@ -3,5 +3,5 @@ ENV = 'production' # base api # VUE_APP_BASE_API = '/prod-api' -VUE_APP_BASE_API = 'https://api.java.crmeb.net' +VUE_APP_BASE_API = 'http://127.0.0.1' diff --git a/admin/README.ZBKJ.md b/admin/README.ZBKJ.md index ec00c3c2..ec1a6599 100644 --- a/admin/README.ZBKJ.md +++ b/admin/README.ZBKJ.md @@ -1,38 +1,3 @@ - -~~~ -## 开发 - -```bash -# 克隆项目 -git clone https://gitee.com/ZhongBangKeJi/crmeb_java/ - -# 进入项目目录 -cd ## - -# 安装依赖 -npm install - -# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 -npm install --registry=https://registry.npm.taobao.org - -# 启动服务 -npm run dev -``` - -浏览器访问 http://localhost:9527 - -## 发布 - -```bash -# 构建测试环境 -npm run build:stage - -# 构建生产环境 -npm run build:prod -``` - - - 公用组件 无限极分类组件 src/components/Category 使用范围:菜单,文章等各种分类配置数据 diff --git a/admin/README.md b/admin/README.md new file mode 100644 index 00000000..1d0cf47b --- /dev/null +++ b/admin/README.md @@ -0,0 +1,258 @@ +# CRMEB Admin +## 开发规范 +统一使用ES6 语法 +方法注释 +/* +* th => 表头 +* data => 数据 +* fileName => 文件名 +* fileType => 文件类型 +* sheetName => sheet页名 +*/ +export default function toExcel ({ th, data, fileName, fileType, sheetName }) +行注释 // + +### 命名 + +页面目录 文件夹命名格式骆驼式命名法,例如:用户列表 userList +例如:商品模块 +store 商品 + ├─ store 商品管理 + ├─index.vue 首页 + ├─ creatStore 新建商品 + ├─ index.vue + ├─ sort 商品分类 + ├─ index.vue + ├─storeAttr 商品规格 + ├─ index.vue + ├─storeComment 商品评论 + ├─ index.vue + +页面命名、组建、文件夹 命名格式小驼峰命名法,例如:用户列表 userList + +类名函数命名 大驼峰式 例如:addUser +变量命名 小驼峰式 例如:user 或者 userInfo +常量 采用全大些下划线命名 例如:VUE_APP_API_URl + +### 文件管理规范 +views 页面模块必须件文件夹区分 +api 接口一个模块一个文件 +组建 一个组建一个文件夹 +plugins 插件一个插件一个文件夹 +vuex 路由状态管理,一个模块在modules 中建一个文件夹 +router 一个模块一个模块在modules 中建一个文件夹 +style 样式尽量采用iView自带组建,common.less 系统通用样式不要轻易动 +自定义通用样式 style.less,每次添加必须加注释,页面独立样式在在页面内写,后缀less 格式 +组建样式 styles 中添加文件夹 composents 对应components 目录新建样式文件 +utils 自定义工具js 独立命名,一般不用新建文件夹 + +## 模块命名 +~~~ +├─ login 登录 +├─ dashboard 首页 +├─ store 商品管理 +├─ order 系统订单管理 +├─ distribution 分销 +├─ user 用户管理 +├─ content 内容管理 +├─ appSetting 各个应用模块功能管理公众号、小程序、支付宝、百度小程序、今日头条小程序 +├─ marketing 营销管理 优惠劵 积分 秒杀 +├─ sms 设置 短信设置 +├─ systemSetting 设置 管理员权限 系统设置 物流设置 +├─ maintain 维护 配置分类 组合数据 表单配置 +├─ error-page 错误页 + +~~~ +## 目录结构 +主要目录结构及说明: +~~~ +├── public # 静态资源 +│ ├── favicon.ico # favicon图标 +│ └── index.html # html 模板 +│ └── UEditor # 富文本编辑器插件 +├── src # 源代码 +│ ├── api # 所有请求 +│ │ └──user.js # 有关登录/用户的接口 +│ │ └──article.js # 有关内容的接口 +│ │ └──categoryApi.js # 有关配置的接口 +│ │ └──configTabApi.js # 有关配置分类的接口 +│ │ └──dashboard.js # 有关统计的接口 +│ │ └──distribution.js # 有关分销的接口 +│ │ └──logistics.js # 有关城市数据、物流配置的接口 +│ │ └──marketing.js # 有关优惠券、秒杀的接口 +│ │ └──order.js # 有关订单的接口 +│ │ └──role.js # 有关权限的接口 +│ │ └──roleApi.js # 有关菜单的接口 +│ │ └──sms.js # 有关短信的接口 +│ │ └──store.js # 有关商品的接口 +│ │ └──storePoint.js # 有关提货点的接口 +│ │ └──productCreateApi.js # 有关附件上传的接口 +│ │ └──systemadmin.js # 有关管理员的接口 +│ │ └──systemConfig.js # 有关系统配置的接口 +│ │ └──systemFormConfig.js # 有关表单配置的接口 +│ │ └──systemGroup.js # 有关组合数据的接口 +│ │ └──systemSetting.js # 有关上传文件的接口 +│ │ └──user.js # 有关用户的接口 +│ │ └──wxApi.js # 有关微信的接口 +│ ├── assets # 图片、svg 等静态资源 +│ ├── components # 公共组件 +│ │ └──articleList # 文章列表 +│ │ └──attrFrom # 商品规格 +│ │ └──Breadcrumb # 头部标题标签 +│ │ └──cards # 统计小方块 +│ │ └──echarts # 统计图 +│ │ └──Category # 分类 +│ │ └──customerInfo # 用户列表 +│ │ └──FormGenerator # 表单配置 +│ │ └──couponList # 优惠劵列表 +│ │ └──goodsList # 商品列表 +│ │ └──Hamburger # 导航收缩组件 +│ │ └──HeaderSearch # 导航搜索组件 +│ │ └──iconFrom # 导航添加图标 +│ │ └──RightPanel # 右侧设置按钮,设置导航相关 +│ │ └──Screenfull # 全屏 +│ │ └──SvgIcon # svg图标 +│ │ └──Tinymce # 颜色选择 +│ │ └──ThemePicker # 右侧设置按钮,设置组题颜色 +│ │ └──templatesFrom # 运费模板 +│ │ └──ueditorFrom # 富文本编辑器 +│ │ └──uploadPicture # 上传图片组件 +│ │ └──Upload # 上传文件组件 +│ │ └──UploadExcel # 下载Excel +│ │ └──userList # 用户列表 +│ │ └──TimeSelect # 时间段选择 +│ ├── layouts # 导航布局 +│ │ ├──index # 主页面 +│ │ ├──components # 导航组件 +│ │ └──Settings # 右边小按钮,设置导航等 +│ │ └──Sidebar # 侧边导航 +│ │ └──TagsView # tab标签页导航 +│ │ └──Navbar # 头部导航 +│ │ └──AppMain # 导航路由 +│ │ └──index.js # 组件引用 +│ │ └──mixins # 自适应大小 +│ ├── libs # 公共js方法 +│ │ └──settingMer # 配置请求地址 +│ ├── views # 所有页面 +│ │ └──login # 登录 +│ │ └──index # 登录 +│ │ └──dashboard # 首页 +│ │ └──store # 商品 +│ │ └──creatStore # 添加商品 +│ │ └──storeAttr # 商品规格 +│ │ └──sort # 商品分类 +│ │ └──taoBao # 复制商品 +│ │ └──storeComment # 商品评论 +│ │ └──order # 订单管理 +│ │ └──marketing # 营销 +│ │ └──coupon # 优惠劵 +│ │ └──systemSetting # 设置 +│ │ └──administratorAuthority # 管理权限 +│ │ └──adminList # 管理员列表 +│ │ └──identityManager# 身份管理 +│ │ └──permissionRules# 权限规则 +│ │ └──logistics # 物流设置 +│ │ └──cityList # 城市数据 +│ │ └──companyList # 物流公司 +│ │ └──config # 物流配置 +│ │ └──shippingTemplates # 运费模板 +│ │ └──setting # 系统设置 +│ │ └──systemStore # 提货点设置 +│ │ └──appSetting # 应用 小程序 公众号设置 +│ │ └──content # 内容 +│ │ └──article # 文章管理 +│ │ └──articleclass # 文章分类 +│ │ └──datas # 统计数据 +│ │ └──user # 用户 +│ │ └──list # 用户管理 +│ │ └──grade # 用户等级/标签 +│ │ └──group # 用户分组 +│ │ └──distribution # 分销设置 +│ │ └──maintain # 维护 +│ │ └──devconfig # 组合数据 +│ │ └──formConfig # 表单配置 +│ │ └──financial # 财务 +│ │ └──error-page # 错误页 +│ │ └──404 # 错误页404 +│ │ └──403 # 错误页403 +│ ├── filters # 过滤器 +│ ├── router # 路由配置 +│ │ └──modules # 页面路由模块 +│ │ └──content.js # 有关内容 文章 +│ │ └──user.js # 有关用户 +│ │ └──appSetting.js # 有关应用 +│ │ └──marketing.js # 有关优惠券、秒杀 +│ │ └──distribution.js # 有关分销 +│ │ └──order.js # 有关订单 +│ │ └──financial.js # 有关财务 +│ │ └──store.js # 有关商品 +│ │ └──maintain.js # 有关维护 +│ │ └──operation.js # 有关设置 +│ │ └──index.js # 路由的汇总 +│ ├── store # Vuex 状态管理 +│ ├── utils # 全局公用方法 +│ │ └──request.js # 请求封装 +│ │ └──settingMer.js # 请求地址配置 +│ ├── styles # 样式管理 +│ ├── permission.js # 路由拦截 +│ ├── main.js # 入口文件 加载组件 初始化等 +│ └── App.vue # 入口页面 +├── tests # 测试 +├── .env.xxx # 环境变量配置 +├── .eslintrc.js # eslint 配置项 +├── .babelrc # babel-loader 配置 +├── .travis.yml # 自动化CI配置 +├── vue.config.js # vue-cli 配置 +├── postcss.config.js # postcss 配置 +└── package.json # package.json + + +~~~ +## 开发 + +```bash +# 克隆项目 +git clone https://gitee.com/ZhongBangKeJi/crmeb_java/ + +# 进入项目目录 +cd ## + +# 安装依赖 +npm install + +# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 +npm install --registry=https://registry.npm.taobao.org + +# 启动服务 +npm run dev +``` + +浏览器访问 http://localhost:9527 + +## 发布 + +```bash +# 构建测试环境 +npm run build:stage + +# 构建生产环境 +npm run build:prod +``` + +## 其它 + +```bash +# 预览发布环境效果 +npm run preview + +# 预览发布环境效果 + 静态资源分析 +npm run preview -- --report + +# 代码格式检查 +npm run lint + +# 代码格式检查并自动修复 +npm run lint -- --fix +``` + + diff --git a/admin/README.zh-CN.md b/admin/README.zh-CN.md new file mode 100644 index 00000000..1d0cf47b --- /dev/null +++ b/admin/README.zh-CN.md @@ -0,0 +1,258 @@ +# CRMEB Admin +## 开发规范 +统一使用ES6 语法 +方法注释 +/* +* th => 表头 +* data => 数据 +* fileName => 文件名 +* fileType => 文件类型 +* sheetName => sheet页名 +*/ +export default function toExcel ({ th, data, fileName, fileType, sheetName }) +行注释 // + +### 命名 + +页面目录 文件夹命名格式骆驼式命名法,例如:用户列表 userList +例如:商品模块 +store 商品 + ├─ store 商品管理 + ├─index.vue 首页 + ├─ creatStore 新建商品 + ├─ index.vue + ├─ sort 商品分类 + ├─ index.vue + ├─storeAttr 商品规格 + ├─ index.vue + ├─storeComment 商品评论 + ├─ index.vue + +页面命名、组建、文件夹 命名格式小驼峰命名法,例如:用户列表 userList + +类名函数命名 大驼峰式 例如:addUser +变量命名 小驼峰式 例如:user 或者 userInfo +常量 采用全大些下划线命名 例如:VUE_APP_API_URl + +### 文件管理规范 +views 页面模块必须件文件夹区分 +api 接口一个模块一个文件 +组建 一个组建一个文件夹 +plugins 插件一个插件一个文件夹 +vuex 路由状态管理,一个模块在modules 中建一个文件夹 +router 一个模块一个模块在modules 中建一个文件夹 +style 样式尽量采用iView自带组建,common.less 系统通用样式不要轻易动 +自定义通用样式 style.less,每次添加必须加注释,页面独立样式在在页面内写,后缀less 格式 +组建样式 styles 中添加文件夹 composents 对应components 目录新建样式文件 +utils 自定义工具js 独立命名,一般不用新建文件夹 + +## 模块命名 +~~~ +├─ login 登录 +├─ dashboard 首页 +├─ store 商品管理 +├─ order 系统订单管理 +├─ distribution 分销 +├─ user 用户管理 +├─ content 内容管理 +├─ appSetting 各个应用模块功能管理公众号、小程序、支付宝、百度小程序、今日头条小程序 +├─ marketing 营销管理 优惠劵 积分 秒杀 +├─ sms 设置 短信设置 +├─ systemSetting 设置 管理员权限 系统设置 物流设置 +├─ maintain 维护 配置分类 组合数据 表单配置 +├─ error-page 错误页 + +~~~ +## 目录结构 +主要目录结构及说明: +~~~ +├── public # 静态资源 +│ ├── favicon.ico # favicon图标 +│ └── index.html # html 模板 +│ └── UEditor # 富文本编辑器插件 +├── src # 源代码 +│ ├── api # 所有请求 +│ │ └──user.js # 有关登录/用户的接口 +│ │ └──article.js # 有关内容的接口 +│ │ └──categoryApi.js # 有关配置的接口 +│ │ └──configTabApi.js # 有关配置分类的接口 +│ │ └──dashboard.js # 有关统计的接口 +│ │ └──distribution.js # 有关分销的接口 +│ │ └──logistics.js # 有关城市数据、物流配置的接口 +│ │ └──marketing.js # 有关优惠券、秒杀的接口 +│ │ └──order.js # 有关订单的接口 +│ │ └──role.js # 有关权限的接口 +│ │ └──roleApi.js # 有关菜单的接口 +│ │ └──sms.js # 有关短信的接口 +│ │ └──store.js # 有关商品的接口 +│ │ └──storePoint.js # 有关提货点的接口 +│ │ └──productCreateApi.js # 有关附件上传的接口 +│ │ └──systemadmin.js # 有关管理员的接口 +│ │ └──systemConfig.js # 有关系统配置的接口 +│ │ └──systemFormConfig.js # 有关表单配置的接口 +│ │ └──systemGroup.js # 有关组合数据的接口 +│ │ └──systemSetting.js # 有关上传文件的接口 +│ │ └──user.js # 有关用户的接口 +│ │ └──wxApi.js # 有关微信的接口 +│ ├── assets # 图片、svg 等静态资源 +│ ├── components # 公共组件 +│ │ └──articleList # 文章列表 +│ │ └──attrFrom # 商品规格 +│ │ └──Breadcrumb # 头部标题标签 +│ │ └──cards # 统计小方块 +│ │ └──echarts # 统计图 +│ │ └──Category # 分类 +│ │ └──customerInfo # 用户列表 +│ │ └──FormGenerator # 表单配置 +│ │ └──couponList # 优惠劵列表 +│ │ └──goodsList # 商品列表 +│ │ └──Hamburger # 导航收缩组件 +│ │ └──HeaderSearch # 导航搜索组件 +│ │ └──iconFrom # 导航添加图标 +│ │ └──RightPanel # 右侧设置按钮,设置导航相关 +│ │ └──Screenfull # 全屏 +│ │ └──SvgIcon # svg图标 +│ │ └──Tinymce # 颜色选择 +│ │ └──ThemePicker # 右侧设置按钮,设置组题颜色 +│ │ └──templatesFrom # 运费模板 +│ │ └──ueditorFrom # 富文本编辑器 +│ │ └──uploadPicture # 上传图片组件 +│ │ └──Upload # 上传文件组件 +│ │ └──UploadExcel # 下载Excel +│ │ └──userList # 用户列表 +│ │ └──TimeSelect # 时间段选择 +│ ├── layouts # 导航布局 +│ │ ├──index # 主页面 +│ │ ├──components # 导航组件 +│ │ └──Settings # 右边小按钮,设置导航等 +│ │ └──Sidebar # 侧边导航 +│ │ └──TagsView # tab标签页导航 +│ │ └──Navbar # 头部导航 +│ │ └──AppMain # 导航路由 +│ │ └──index.js # 组件引用 +│ │ └──mixins # 自适应大小 +│ ├── libs # 公共js方法 +│ │ └──settingMer # 配置请求地址 +│ ├── views # 所有页面 +│ │ └──login # 登录 +│ │ └──index # 登录 +│ │ └──dashboard # 首页 +│ │ └──store # 商品 +│ │ └──creatStore # 添加商品 +│ │ └──storeAttr # 商品规格 +│ │ └──sort # 商品分类 +│ │ └──taoBao # 复制商品 +│ │ └──storeComment # 商品评论 +│ │ └──order # 订单管理 +│ │ └──marketing # 营销 +│ │ └──coupon # 优惠劵 +│ │ └──systemSetting # 设置 +│ │ └──administratorAuthority # 管理权限 +│ │ └──adminList # 管理员列表 +│ │ └──identityManager# 身份管理 +│ │ └──permissionRules# 权限规则 +│ │ └──logistics # 物流设置 +│ │ └──cityList # 城市数据 +│ │ └──companyList # 物流公司 +│ │ └──config # 物流配置 +│ │ └──shippingTemplates # 运费模板 +│ │ └──setting # 系统设置 +│ │ └──systemStore # 提货点设置 +│ │ └──appSetting # 应用 小程序 公众号设置 +│ │ └──content # 内容 +│ │ └──article # 文章管理 +│ │ └──articleclass # 文章分类 +│ │ └──datas # 统计数据 +│ │ └──user # 用户 +│ │ └──list # 用户管理 +│ │ └──grade # 用户等级/标签 +│ │ └──group # 用户分组 +│ │ └──distribution # 分销设置 +│ │ └──maintain # 维护 +│ │ └──devconfig # 组合数据 +│ │ └──formConfig # 表单配置 +│ │ └──financial # 财务 +│ │ └──error-page # 错误页 +│ │ └──404 # 错误页404 +│ │ └──403 # 错误页403 +│ ├── filters # 过滤器 +│ ├── router # 路由配置 +│ │ └──modules # 页面路由模块 +│ │ └──content.js # 有关内容 文章 +│ │ └──user.js # 有关用户 +│ │ └──appSetting.js # 有关应用 +│ │ └──marketing.js # 有关优惠券、秒杀 +│ │ └──distribution.js # 有关分销 +│ │ └──order.js # 有关订单 +│ │ └──financial.js # 有关财务 +│ │ └──store.js # 有关商品 +│ │ └──maintain.js # 有关维护 +│ │ └──operation.js # 有关设置 +│ │ └──index.js # 路由的汇总 +│ ├── store # Vuex 状态管理 +│ ├── utils # 全局公用方法 +│ │ └──request.js # 请求封装 +│ │ └──settingMer.js # 请求地址配置 +│ ├── styles # 样式管理 +│ ├── permission.js # 路由拦截 +│ ├── main.js # 入口文件 加载组件 初始化等 +│ └── App.vue # 入口页面 +├── tests # 测试 +├── .env.xxx # 环境变量配置 +├── .eslintrc.js # eslint 配置项 +├── .babelrc # babel-loader 配置 +├── .travis.yml # 自动化CI配置 +├── vue.config.js # vue-cli 配置 +├── postcss.config.js # postcss 配置 +└── package.json # package.json + + +~~~ +## 开发 + +```bash +# 克隆项目 +git clone https://gitee.com/ZhongBangKeJi/crmeb_java/ + +# 进入项目目录 +cd ## + +# 安装依赖 +npm install + +# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 +npm install --registry=https://registry.npm.taobao.org + +# 启动服务 +npm run dev +``` + +浏览器访问 http://localhost:9527 + +## 发布 + +```bash +# 构建测试环境 +npm run build:stage + +# 构建生产环境 +npm run build:prod +``` + +## 其它 + +```bash +# 预览发布环境效果 +npm run preview + +# 预览发布环境效果 + 静态资源分析 +npm run preview -- --report + +# 代码格式检查 +npm run lint + +# 代码格式检查并自动修复 +npm run lint -- --fix +``` + + diff --git a/admin/public/UEditor/ueditor.config.js b/admin/public/UEditor/ueditor.config.js index 55dcafef..417f39be 100644 --- a/admin/public/UEditor/ueditor.config.js +++ b/admin/public/UEditor/ueditor.config.js @@ -37,7 +37,7 @@ 'bold', 'italic', 'underline', 'strikethrough', '|', 'superscript', 'subscript', '|', 'forecolor', 'backcolor', '|', 'removeformat', '|', 'insertorderedlist', 'insertunorderedlist', '|', 'selectall', 'cleardoc', 'paragraph', '|', 'fontfamily', 'fontsize', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', - 'horizontal', 'print', 'preview', 'fullscreen' + 'horizontal', 'fullscreen' ]], // toolbars: [[ // 'source', '|', 'undo', 'redo', '|', diff --git a/admin/src/api/categoryApi.js b/admin/src/api/categoryApi.js index 0a9d6d3b..5dd3ad09 100644 --- a/admin/src/api/categoryApi.js +++ b/admin/src/api/categoryApi.js @@ -125,3 +125,14 @@ export function categroyByIds(pram) { params: data }) } + +/** + * 修改 显示关闭状态 + * @param pram + */ +export function categroyUpdateStatus(id) { + return request({ + url: `/admin/category/updateStatus/${id}`, + method: 'GET' + }) +} diff --git a/admin/src/api/financial.js b/admin/src/api/financial.js index 8d3c33e9..2f8d8a1b 100644 --- a/admin/src/api/financial.js +++ b/admin/src/api/financial.js @@ -84,6 +84,18 @@ export function topUpLogDeleteApi(params) { }) } +/** + * 充值 退款 + * @param pram + */ +export function refundApi(data) { + return request({ + url: '/admin/user/topUpLog/refund', + method: 'post', + data + }) +} + /** * 资金监控 列表 * @param pram diff --git a/admin/src/api/logistics.js b/admin/src/api/logistics.js index 425fbebc..429bb095 100644 --- a/admin/src/api/logistics.js +++ b/admin/src/api/logistics.js @@ -53,12 +53,29 @@ export function expressList(data) { }) } +// 同步物流公司 +export function expressSyncApi() { + return request({ + url: '/admin/express/sync/express', + method: 'post' + }) +} + // 物流公司修改状态 +export function expressUpdateShow(data) { + return request({ + url: '/admin/express/update/show', + method: 'post', + data + }) +} + +// 物流公司 编辑 export function expressUpdate(data) { return request({ url: '/admin/express/update', method: 'post', - params: { ...data } + data }) } diff --git a/admin/src/api/marketing.js b/admin/src/api/marketing.js index 6c77adcc..c6748f2b 100644 --- a/admin/src/api/marketing.js +++ b/admin/src/api/marketing.js @@ -230,3 +230,212 @@ export function seckillConfigStatusApi(id,params) { params }) } + +/** + * 砍价商品 列表 + */ +export function bargainListApi(params) { + return request({ + url: `/admin/store/bargain/list`, + method: 'get', + params + }) +} + +/** + * 砍价商品 新增 + */ +export function bargainSaveApi(data) { + return request({ + url: `/admin/store/bargain/save`, + method: 'POST', + data + }) +} + +/** + * 砍价商品 详情 + */ +export function bargainInfoApi(params) { + return request({ + url: `/admin/store/bargain/info`, + method: 'get', + params + }) +} + +/** + * 砍价商品 编辑 + */ +export function bargainUpdateApi(params, data) { + return request({ + url: `/admin/store/bargain/update`, + method: 'post', + params, + data + }) +} + +/** + * 砍价商品 删除 + */ +export function bargainDeleteApi(params) { + return request({ + url: `/admin/store/bargain/delete`, + method: 'get', + params + }) +} + +/** + * 砍价列表 详情 + */ +export function bargainOrderPinkApi(id) { + return request({ + url: `/admin/store/bargain/bargain_list/${id}`, + method: 'get' + }) +} + +/** + * 砍价列表 列表 + */ +export function bargainListListApi(params) { + return request({ + url: `/admin/store/bargain/bargain_list`, + method: 'get', + params + }) +} + +/** + * 拼团商品 修改拼团状态 + */ +export function bargainStatusApi(params) { + return request({ + url: `/admin/store/bargain/update/status`, + method: 'post', + params + }) +} + +/** + * 拼团商品 列表 + */ +export function combinationListApi(params) { + return request({ + url: `/admin/store/combination/list`, + method: 'get', + params + }) +} + +/** + * 拼团商品 删除 + */ +export function combinationDeleteApi(params) { + return request({ + url: `/admin/store/combination/delete`, + method: 'get', + params + }) +} + +/** + * 拼团商品 新增 + */ +export function combinationSaveApi(data) { + return request({ + url: `/admin/store/combination/save`, + method: 'post', + data + }) +} + +/** + * 拼团商品 修改 + */ +export function combinationUpdateApi(params,data) { + return request({ + url: `/admin/store/combination/update`, + method: 'post', + params, + data + }) +} + +/** + * 拼团商品 详情 + */ +export function combinationInfoApi(params) { + return request({ + url: `/admin/store/combination/info`, + method: 'get', + params + }) +} + +/** + * 拼团商品 修改拼团状态 + */ +export function combinationStatusApi(params) { + return request({ + url: `/admin/store/combination/update/status`, + method: 'post', + params + }) +} + +/** + * 拼团列表 列表 + */ +export function combineListApi(params) { + return request({ + url: `/admin/store/combination/combine/list`, + method: 'get', + params + }) +} + +/** + * 拼团列表 统计 + */ +export function combineStatisticsApi(params) { + return request({ + url: `/admin/store/combination/statistics`, + method: 'get', + params + }) +} + +/** + * 拼团列表 详情 + */ +export function combineOrderPinkApi(id) { + return request({ + url: `/admin/store/combination/order_pink/${id}`, + method: 'get' + }) +} + +/** + * 砍价 导出 + */ +export function exportBargainApi(params) { + return request({ + url: `/admin/export/excel/bargain/product`, + method: 'get', + params + }) +} + +/** + * 拼团 导出 + */ +export function exportcombiantionApi(params) { + return request({ + url: `/admin/export/excel/combiantion/product`, + method: 'get', + params + }) +} diff --git a/admin/src/api/order.js b/admin/src/api/order.js index 02c54a23..2edb55ce 100644 --- a/admin/src/api/order.js +++ b/admin/src/api/order.js @@ -78,11 +78,11 @@ export function orderMarkApi(params) { * 订单 发货 * @param pram */ -export function orderSendApi(params) { +export function orderSendApi(data) { return request({ url: '/admin/store/order/send', - method: 'get', - params + method: 'post', + data }) } @@ -174,3 +174,24 @@ export function orderTimeApi(params) { params }) } + +/** + *面单默认配置信息 + */ +export function sheetInfoApi() { + return request({ + url: `/admin/store/order/sheet/info`, + method: 'get' + }) +} + +/** + *面单默认配置信息 + */ +export function getLogisticsInfoApi(params) { + return request({ + url: `/admin/store/order/getLogisticsInfo`, + method: 'get', + params + }) +} diff --git a/admin/src/api/sms.js b/admin/src/api/sms.js index 062a0612..5f282119 100644 --- a/admin/src/api/sms.js +++ b/admin/src/api/sms.js @@ -4,7 +4,7 @@ import request from '@/utils/request' */ export function smsLstApi(params) { return request({ - url: '/admin/sms/record/list', + url: '/admin/pass/user/record', method: 'get', params }) @@ -12,30 +12,31 @@ export function smsLstApi(params) { /** * @description 短信账户 -- 登录 */ -export function configApi(params) { +export function configApi(data) { return request({ - url: '/admin/sms/login', - method: 'get', - params + url: '/admin/pass/login', + method: 'post', + data }) } /** * @description 短信账户 -- 获取验证码 */ -export function captchaApi(phone) { +export function captchaApi(params) { return request({ - url: `/admin/sms/sendCodeForRegister/${phone}`, - method: 'get' + url: `/admin/pass/sendUserCode`, + method: 'get', + params }) } /** * @description 短信账户 -- 注册 */ -export function registerApi(params) { +export function registerApi(data) { return request({ - url: '/admin/sms/register', + url: '/admin/pass/register', method: 'post', - params + data }) } /** @@ -43,7 +44,7 @@ export function registerApi(params) { */ export function isLoginApi() { return request({ - url: '/admin/sms/islogin', + url: '/admin/pass/isLogin', method: 'get' }) } @@ -52,7 +53,7 @@ export function isLoginApi() { */ export function logoutApi() { return request({ - url: '/admin/sms/logout', + url: '/admin/pass/logout', method: 'get' }) } @@ -70,7 +71,7 @@ export function smsNumberApi() { */ export function smsTempLstApi(params) { return request({ - url: '/admin/sms/temp/list', + url: '/admin/sms/temps', method: 'get', params }) @@ -80,7 +81,7 @@ export function smsTempLstApi(params) { */ export function smsPriceApi(params) { return request({ - url: '/admin/sms/pay/list', + url: '/admin/pass/meal/list', method: 'get', params }) @@ -88,21 +89,21 @@ export function smsPriceApi(params) { /** * @description 短信购买 -- 支付码 */ -export function payCodeApi(params) { +export function payCodeApi(data) { return request({ - url: '/admin/sms/pay/qrCode', - method: 'get', - params + url: '/admin/pass/meal/code', + method: 'post', + data }) } /** * @description 短信模板 -- 添加表单 */ -export function tempCreateApi(params) { +export function tempCreateApi(data) { return request({ url: '/admin/sms/temp/apply', method: 'post', - params + data }) } /** @@ -110,7 +111,7 @@ export function tempCreateApi(params) { */ export function smsInfoApi() { return request({ - url: '/admin/sms/info', + url: '/admin/pass/info', method: 'get' }) } @@ -125,3 +126,68 @@ export function smsSaveApi(params) { params }) } + +/** + * @description 短信 -- 修改密码 + */ +export function updatePasswordApi(data) { + return request({ + url: '/admin/pass/update/password', + method: 'post', + data + }) +} + +/** + * @description 短信 -- 修改手机号 + */ +export function updateHoneApi(data) { + return request({ + url: '/admin/pass/update/phone', + method: 'post', + data + }) +} + +/** + * @description 一号通 -- 服务开通 + */ +export function serviceOpenApi(data) { + return request({ + url: '/admin/pass/service/open', + method: 'post', + data + }) +} + +/** + * @description 一号通 -- 电子面单模板 + */ +export function exportTempApi(params) { + return request({ + url: '/admin/express/template', + method: 'get', + params + }) +} + +/** + * @description 全部物流公司 + */ +export function expressAllApi() { + return request({ + url: 'admin/express/all', + method: 'get' + }) +} + +/** + * @description 修改签名 + */ +export function smsSignApi(data) { + return request({ + url: 'admin/sms/modify/sign', + method: 'post', + data + }) +} diff --git a/admin/src/api/store.js b/admin/src/api/store.js index 64a6cca6..38eb7f8b 100644 --- a/admin/src/api/store.js +++ b/admin/src/api/store.js @@ -252,3 +252,26 @@ export function restoreApi(id) { method: 'get' }) } + +/** + * 商品列表 导出 + * @param pram + */ +export function productExcelApi(params) { + return request({ + url: `/admin/export/excel/product`, + method: 'get', + params + }) +} + +/** + * 商品列表 获取复制商品配置 + * @param pram + */ +export function copyConfigApi() { + return request({ + url: `/admin/store/product/copy/config`, + method: 'post' + }) +} diff --git a/admin/src/api/storePoint.js b/admin/src/api/storePoint.js index 6b4485c9..2860d252 100644 --- a/admin/src/api/storePoint.js +++ b/admin/src/api/storePoint.js @@ -47,6 +47,18 @@ export function storeDeleteApi(data) { }) } +/** + * 提货点门店回收站刪除 + * @param pram + */ +export function allDeleteApi(params) { + return request({ + url: '/admin/system/store/completely/delete', + method: 'get', + params + }) +} + /** * 提货点添加 * @param pram @@ -85,6 +97,18 @@ export function storeUpdateApi(data,id) { }) } +/** + * 提货点恢复 + * @param pram + */ +export function storeRecoveryApi(params) { + return request({ + url: '/admin/system/store/recovery', + method: 'get', + params + }) +} + /** * 核销员分页列表 * @param pram diff --git a/admin/src/api/user.js b/admin/src/api/user.js index e07fdbe2..1b001943 100644 --- a/admin/src/api/user.js +++ b/admin/src/api/user.js @@ -346,3 +346,14 @@ export function captchaApi() { method: 'get' }) } + +/** + * @description 修改上级推广人 + */ +export function updateSpreadApi(data) { + return request({ + url: `/admin/user/update/spread`, + method: 'post', + data + }) +} diff --git a/admin/src/api/wxApi.js b/admin/src/api/wxApi.js index ab6e2e00..a72725c0 100644 --- a/admin/src/api/wxApi.js +++ b/admin/src/api/wxApi.js @@ -123,6 +123,17 @@ export function replySaveApi(data) { }) } +/** + * 关键字回复 修改状态 + * @param pram + */ +export function replyStatusApi(params) { + return request({ + url: `/admin/wechat/keywords/reply/status`, + method: 'post', + params + }) +} /** * 关键字回复 编辑 * @param pram diff --git a/admin/src/assets/imgs/expressi.jpg b/admin/src/assets/imgs/expressi.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d3fbe469c8d9cd0aa6f98ff769dd08453b54a6ed GIT binary patch literal 2634 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 literal 0 HcmV?d00001 diff --git a/admin/src/assets/imgs/wutu.png b/admin/src/assets/imgs/wutu.png new file mode 100644 index 0000000000000000000000000000000000000000..42c67aa5aa5a065e3b07ba496bdcb2a361010890 GIT binary patch literal 24897 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 B?E(M* literal 0 HcmV?d00001 diff --git a/admin/src/components/Category/list.vue b/admin/src/components/Category/list.vue index 995aa8b6..4cc11830 100644 --- a/admin/src/components/Category/list.vue +++ b/admin/src/components/Category/list.vue @@ -20,12 +20,15 @@ - + + + + + + + + + @@ -78,11 +81,26 @@ - + + + + + + + + diff --git a/admin/src/views/marketing/bargain/bargainGoods/creatBargain.vue b/admin/src/views/marketing/bargain/bargainGoods/creatBargain.vue new file mode 100644 index 00000000..ad983de0 --- /dev/null +++ b/admin/src/views/marketing/bargain/bargainGoods/creatBargain.vue @@ -0,0 +1,865 @@ + + + + + diff --git a/admin/src/views/marketing/bargain/bargainGoods/index.vue b/admin/src/views/marketing/bargain/bargainGoods/index.vue new file mode 100644 index 00000000..a0fdd8cf --- /dev/null +++ b/admin/src/views/marketing/bargain/bargainGoods/index.vue @@ -0,0 +1,213 @@ + + + + + diff --git a/admin/src/views/marketing/bargain/bargainList/index.vue b/admin/src/views/marketing/bargain/bargainList/index.vue new file mode 100644 index 00000000..3b1a6c79 --- /dev/null +++ b/admin/src/views/marketing/bargain/bargainList/index.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/admin/src/views/marketing/bargain/index.vue b/admin/src/views/marketing/bargain/index.vue index 908849c6..53501a01 100644 --- a/admin/src/views/marketing/bargain/index.vue +++ b/admin/src/views/marketing/bargain/index.vue @@ -1,11 +1,13 @@ diff --git a/admin/src/views/marketing/groupBuy/groupGoods/creatGroup.vue b/admin/src/views/marketing/groupBuy/groupGoods/creatGroup.vue new file mode 100644 index 00000000..8caf98e4 --- /dev/null +++ b/admin/src/views/marketing/groupBuy/groupGoods/creatGroup.vue @@ -0,0 +1,901 @@ + + + + + diff --git a/admin/src/views/marketing/groupBuy/groupGoods/index.vue b/admin/src/views/marketing/groupBuy/groupGoods/index.vue new file mode 100644 index 00000000..e46f9ffa --- /dev/null +++ b/admin/src/views/marketing/groupBuy/groupGoods/index.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/admin/src/views/marketing/groupBuy/groupList/index.vue b/admin/src/views/marketing/groupBuy/groupList/index.vue new file mode 100644 index 00000000..433fb295 --- /dev/null +++ b/admin/src/views/marketing/groupBuy/groupList/index.vue @@ -0,0 +1,265 @@ + + + + + diff --git a/admin/src/views/marketing/seckill/seckillConfig/index.vue b/admin/src/views/marketing/seckill/seckillConfig/index.vue index 92e6132c..532e76da 100644 --- a/admin/src/views/marketing/seckill/seckillConfig/index.vue +++ b/admin/src/views/marketing/seckill/seckillConfig/index.vue @@ -11,7 +11,7 @@ - + @@ -187,7 +187,9 @@ .then(async () => { this.$message.success('修改成功'); this.getList() - }) + }).catch(()=>{ + row.status = !row.status + }) }, onEditSort(row) { this.$set(row, 'isEdit', true) diff --git a/admin/src/views/marketing/seckill/seckillList/creatSeckill.vue b/admin/src/views/marketing/seckill/seckillList/creatSeckill.vue index 1924525c..daabf777 100644 --- a/admin/src/views/marketing/seckill/seckillList/creatSeckill.vue +++ b/admin/src/views/marketing/seckill/seckillList/creatSeckill.vue @@ -42,7 +42,7 @@ - +
-
+
@@ -67,12 +67,12 @@ - + - + @@ -115,6 +115,7 @@ size="small" type="daterange" placement="bottom-end" + :picker-options="pickerOptions" placeholder="请选择活动日期" @change="onchangeTime" /> @@ -318,6 +319,11 @@ components: { CreatTemplates }, data() { return { + pickerOptions: { + disabledDate(time) { + return time.getTime() < new Date().setTime(new Date().getTime() - 3600 * 1000 * 24); + } + }, props2: { children: 'child', label: 'name', @@ -451,6 +457,8 @@ _this.ManyAttrValue[0].image = img[0].sattDir } if(tit==='2'&& !num){ + if(img.length>10) return this.$message.warning("最多选择10张图片!"); + if(img.length + _this.formValidate.imagess.length > 10) return this.$message.warning("最多选择10张图片!"); img.map((item) => { _this.formValidate.imagess.push(item.sattDir) }); @@ -715,6 +723,27 @@ const route = Object.assign({}, this.tempRoute, { title: `${title}-${this.$route.params.id}` }) this.$store.dispatch('tagsView/updateVisitedView', route) }, + // 移动 + handleDragStart (e, item) { + this.dragging = item; + }, + handleDragEnd (e, item) { + this.dragging = null + }, + handleDragOver (e) { + e.dataTransfer.dropEffect = 'move' + }, + handleDragEnter (e, item) { + e.dataTransfer.effectAllowed = 'move' + if (item === this.dragging) { + return + } + const newItems = [...this.formValidate.imagess] + const src = newItems.indexOf(this.dragging) + const dst = newItems.indexOf(item) + newItems.splice(dst, 0, ...newItems.splice(src, 1)) + this.formValidate.imagess = newItems; + } } } diff --git a/admin/src/views/marketing/seckill/seckillList/index.vue b/admin/src/views/marketing/seckill/seckillList/index.vue index cbc533ba..c1c33815 100644 --- a/admin/src/views/marketing/seckill/seckillList/index.vue +++ b/admin/src/views/marketing/seckill/seckillList/index.vue @@ -24,7 +24,7 @@ - + @@ -218,7 +218,9 @@ .then(async () => { this.$message.success('修改成功'); this.getList() - }) + }).catch(()=>{ + row.status = !row.status + }) } } } diff --git a/admin/src/views/mobile/orderStatistics/Statistics.vue b/admin/src/views/mobile/orderStatistics/Statistics.vue index fca96de9..837043c8 100644 --- a/admin/src/views/mobile/orderStatistics/Statistics.vue +++ b/admin/src/views/mobile/orderStatistics/Statistics.vue @@ -323,6 +323,7 @@ export default { setTime: function(time) { this.time = time; this.where.dateLimit = time + this.filter.dateLimit = time this.list = []; this.filter.page = 1; this.loaded = false; @@ -356,8 +357,8 @@ export default { } else { this.renderValues = [this.value.join("-")]; } - console.log( this.renderValues) - this.where.dateLimit = parseTime(this.renderValues[0], '{y}-{m}-{d}')+','+parseTime(this.renderValues[1], '{y}-{m}-{d}') + this.where.dateLimit = this.renderValues.join(',') + // this.where.dateLimit = parseTime(this.renderValues[0], '{y}-{m}-{d}')+','+parseTime(this.renderValues[1], '{y}-{m}-{d}') this.filter.dateLimit = this.where.dateLimit }, prev(y, m, w) { diff --git a/admin/src/views/order/index.vue b/admin/src/views/order/index.vue index f769d044..42e8e669 100644 --- a/admin/src/views/order/index.vue +++ b/admin/src/views/order/index.vue @@ -3,11 +3,11 @@
- - - - - + + + + +
@@ -32,7 +32,7 @@ - + @@ -83,11 +83,11 @@ 用户已删除 - - - - - + @@ -161,7 +163,7 @@ @@ -106,13 +77,9 @@ export default { code: '', domain: '', phone: '', - sign: '', password: '' }, ruleInline: { - account: [ - { required: true, message: '请输入短信平台账号', trigger: 'blur' } - ], password: [ { required: true, message: '请输入短信平台密码/token', trigger: 'blur' } ], @@ -122,9 +89,6 @@ export default { phone: [ { required: true, validator: validatePhone, trigger: 'blur' } ], - sign: [ - { required: true, message: '请输入短信签名', trigger: 'blur' } - ], code: [ { required: true, message: '请输入验证码', trigger: 'blur' } ] @@ -148,8 +112,11 @@ export default { if (!this.canClick) return this.canClick = false this.cutNUm = 60 - captchaApi(this.formInline.phone).then(async res => { - this.$message.success(res.data.message) + captchaApi({ + phone: this.formInline.phone, + types: 0 + }).then(async res => { + this.$message.success('发送成功') }) const time = setInterval(() => { this.cutNUm-- @@ -165,13 +132,18 @@ export default { }, // 注册 handleSubmit(name) { + this.formInline.account = this.formInline.phone this.$refs[name].validate((valid) => { if (valid) { + this.loading = true; registerApi(this.formInline).then(async res => { this.$message.success('注册成功') setTimeout(() => { this.changelogo() }, 1000) + this.loading = false; + }).catch(()=>{ + this.loading = false; }) } else { return false diff --git a/admin/src/views/sms/smsConfig/components/tableList.vue b/admin/src/views/sms/smsConfig/components/tableList.vue index 03bc76c7..56552462 100644 --- a/admin/src/views/sms/smsConfig/components/tableList.vue +++ b/admin/src/views/sms/smsConfig/components/tableList.vue @@ -1,19 +1,26 @@ - diff --git a/admin/src/views/sms/smsConfig/index.vue b/admin/src/views/sms/smsConfig/index.vue index cf06a47d..8198d96f 100644 --- a/admin/src/views/sms/smsConfig/index.vue +++ b/admin/src/views/sms/smsConfig/index.vue @@ -1,6 +1,6 @@ @@ -50,24 +57,31 @@ import tableList from './components/tableList' import loginFrom from './components/loginFrom' import registerFrom from './components/register' +import forgetPassword from './components/forgetPassword'; +import forgetPhone from './components/forgetPhone'; import { logoutApi, smsNumberApi, smsInfoApi } from '@/api/sms' import { mapGetters } from 'vuex' export default { name: 'SmsConfig', - components: { tableList, loginFrom, registerFrom }, + components: { tableList, loginFrom, registerFrom, forgetPassword, forgetPhone }, data() { return { fullscreenLoading: false, + loading: false, smsAccount: '', circleUrl: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', + accountInfo:{}, spinShow: false, - isShowLogn: false, - isShow: false, - isShowReg: false, - isShowList: false, - amount: 0, - numbers: 0, - sendTotal: 0 + isForgetPhone: false, // 修改手机号 + isIndex: false, // 判断忘记密码返回的路径 + isShowLogn: false, // 登录 + isShow: false, // 修改密码 + isShowReg: false, // 注册 + isShowList: false, // 登录之后列表 + sms: { open: 0 }, // 短信信息 + query: { open: 0 }, // 物流查询 + dump: { open: 0 }, // 电子面单打印 + copy: { open: 0 } // 商品采集 } }, computed: { @@ -84,14 +98,78 @@ export default { // } }, methods: { + // 开通服务 + openService (val) { + this.getNumber(); + }, + onOpen (val) { + this.$refs.tableLists.onOpenIndex(val); + }, + // 手机号返回 + gobackPhone () { + this.isShowList = true; + this.isForgetPhone = false; + }, + onChangePhone () { + this.isForgetPhone = true + this.isShowLogn = false; + this.isShowList = false; + }, + // 密码返回 + goback () { + if (this.isIndex) { + this.isShowList = true; + this.isShow = false; + } else { + this.isShowLogn = true; + this.isShow = false; + } + }, + // 修改密码 + onChangePassswordIndex () { + this.isIndex = true; + this.passsword(); + }, + passsword () { + this.isShowLogn = false; + this.isShow = true; + this.isShowList = false; + }, + mealPay (val) { + this.$router.push({ path:'/operation/systemSms/pay',query:{type:val}}); + }, // 剩余条数 getNumber() { + this.loading = true; smsInfoApi().then(async res => { - const data = res - this.numbers = data.num - this.sendTotal = data.surp - this.amount = data.num + data.surp - this.smsAccount = data.account + let data = res; + this.sms = { + num: data.sms.num, + open: data.sms.open, + surp: data.sms.open + }; + this.query = { + num: data.query.num, + open: data.query.open, + surp: data.query.open + }; + this.dump = { + num: data.dump.num, + open: data.dump.open, + surp: data.dump.open + }; + this.copy = { + num: data.copy.num, + open: data.copy.open, + surp: data.copy.open + }; + this.loading = false; + this.smsAccount = data.account; + this.accountInfo = data; + }).catch(res => { + this.isShowLogn = true; + this.isShowList = false; + this.loading = false; }) }, // 登录跳转 @@ -100,6 +178,7 @@ export default { if (url) { this.$router.replace(url) } else { + this.getNumber() this.isShowLogn = false this.isShow = false this.isShowReg = false @@ -115,8 +194,8 @@ export default { this.isShowList = data.status if (data.status) { this.smsAccount = data.info + this.getNumber() } - this.getNumber() this.fullscreenLoading = false }).catch(res => { this.fullscreenLoading = false @@ -129,8 +208,6 @@ export default { this.isShowLogn = true this.isShowList = false this.$store.dispatch('user/isLogin') - }).catch(res => { - this.$message.error(res.message) }) }, // 立即注册 @@ -150,6 +227,16 @@ export default { diff --git a/app/config/cache.js b/app/config/cache.js index b8425e33..660d8980 100644 --- a/app/config/cache.js +++ b/app/config/cache.js @@ -1,32 +1,32 @@ module.exports = { - //token - LOGIN_STATUS: 'LOGIN_STATUS_TOKEN', - // uid - UID:'UID', - //�û� - USER_INFO: 'USER_INFO', - //token�����¼� - EXPIRES_TIME: 'EXPIRES_TIME', - //�Ƿ���Ȩ - WX_AUTH: 'WX_AUTH', - //���ں���Ȩcode - STATE_KEY: 'wx_authorize_state', - //�û����� - LOGINTYPE: 'loginType', - //���ں���ת���� - BACK_URL: 'login_back_url', - // С����code - STATE_R_KEY: 'roution_authorize_state', - //��ȨlogoС���� - LOGO_URL: 'LOGO_URL', - //模板缓存 - // SUBSCRIBE_MESSAGE: 'SUBSCRIBE_MESSAGE', + //token + LOGIN_STATUS: 'LOGIN_STATUS_TOKEN', + // uid + UID:'UID', + //用户信息 + USER_INFO: 'USER_INFO', + //token 过期时间 + EXPIRES_TIME: 'EXPIRES_TIME', + //微信授权 + WX_AUTH: 'WX_AUTH', + //微信授权状态 + STATE_KEY: 'wx_authorize_state', + //登录类型 + LOGINTYPE: 'loginType', + //登录回调地址 + BACK_URL: 'login_back_url', + // 小程序授权状态 + STATE_R_KEY: 'roution_authorize_state', + //logo Url + LOGO_URL: 'LOGO_URL', + //模板缓存 + // SUBSCRIBE_MESSAGE: 'SUBSCRIBE_MESSAGE', - TIPS_KEY: 'TIPS_KEY', + TIPS_KEY: 'TIPS_KEY', - SPREAD: 'spread', - //缓存经度 - CACHE_LONGITUDE: 'LONGITUDE', - //缓存纬度 - CACHE_LATITUDE: 'LATITUDE', -} + SPREAD: 'spread', + //缓存经度 + CACHE_LONGITUDE: 'LONGITUDE', + //缓存纬度 + CACHE_LATITUDE: 'LATITUDE', +} \ No newline at end of file diff --git a/app/pages.json b/app/pages.json index f5923766..5efad8e9 100644 --- a/app/pages.json +++ b/app/pages.json @@ -109,6 +109,14 @@ // #endif } } + ,{ + "path" : "pages/index/components/a_seckill", + "style" : {} + } + ,{ + "path" : "pages/index/components/b_combination", + "style" : {} + } ], "subPackages": [ { diff --git a/app/pages/activity/goods_bargain/index.vue b/app/pages/activity/goods_bargain/index.vue index de2af2e0..4fe12efb 100644 --- a/app/pages/activity/goods_bargain/index.vue +++ b/app/pages/activity/goods_bargain/index.vue @@ -1,7 +1,7 @@