├── .gitignore ├── src ├── favicon.ico ├── fonts │ ├── dudu.eot │ ├── dudu.ttf │ └── dudu.woff ├── images │ ├── base │ │ ├── erweima.png │ │ ├── icon_JD.png │ │ ├── icon_Tmail.png │ │ ├── icon_car.png │ │ ├── icon_jumei.png │ │ ├── icon_life.png │ │ ├── icon_mine.png │ │ ├── icon_more.png │ │ ├── icon_vip.png │ │ ├── icon_yiwu.png │ │ ├── loading_icon.png │ │ ├── refresh_text.png │ │ ├── icon_homepage.png │ │ ├── search_icon_car.png │ │ ├── Home_icon_wangyi.png │ │ ├── search_class_icon.png │ │ ├── search_icon_back.png │ │ ├── icon_car_highlighted.png │ │ ├── refresh_icon_arrow.png │ │ ├── search_icon_addcar.png │ │ ├── search_icon_nogoods.png │ │ ├── search_icon_price1.png │ │ ├── search_icon_priceup.png │ │ ├── icon_life_highlighted.png │ │ ├── icon_mine_highlighted.png │ │ ├── icon_more_highlighted.png │ │ ├── search_icon_pricedwon.png │ │ ├── icon_homepage_highlighted.png │ │ ├── search_icon_searchhistory.png │ │ └── order_salesreturn_icon_search.png │ ├── mine │ │ ├── mine_bg.png │ │ ├── yidian_icon.png │ │ ├── mine_icon_order.png │ │ ├── mine_icon_see.png │ │ ├── mine_youhuiquan.png │ │ ├── orders │ │ │ ├── JDlogo.png │ │ │ └── order_icon_noorder.png │ │ ├── refund │ │ │ ├── rightarr.png │ │ │ ├── refund_yi.png │ │ │ ├── refund_you.png │ │ │ ├── my_refund_addimage.png │ │ │ ├── my_refund_delete.png │ │ │ ├── order_icon_noorder.png │ │ │ ├── -refund_icon_-refund.png │ │ │ ├── -refund_icon_review.png │ │ │ ├── -refund_icon_-refund-success.png │ │ │ ├── -refund_icon_-return-goods.png │ │ │ └── refund-_icon_refund-failed.png │ │ ├── wo_yaoqing_icon.png │ │ ├── yiwu_card_icon.png │ │ ├── mine_icon_address.png │ │ ├── mine_icon_collect.png │ │ ├── mine_icon_message.png │ │ ├── mine_icon_service.png │ │ ├── mine_icon_tuikuan.png │ │ ├── mine_icon_yidian.png │ │ ├── mine_icon_arrowright.png │ │ ├── mine_icon_daifahuo.png │ │ ├── mine_icon_daipeihuo.png │ │ ├── mine_icon_daipingjia.png │ │ ├── mine_icon_daishouhuo.png │ │ ├── mine_icon_daizhifu.png │ │ ├── mine_icon_feedback.png │ │ ├── coupon │ │ │ ├── youhuiquan_gray.png │ │ │ ├── youhuiquan_quan.png │ │ │ ├── youhuiquan_xia.png │ │ │ ├── youhuiquan_delete.png │ │ │ ├── youhuiquan_shang.png │ │ │ ├── youhuiquan_wenhao.png │ │ │ ├── coupons_wuyouhuiquan.png │ │ │ ├── youhuiquan_lijishiyong.png │ │ │ ├── youhuiquan_xuanzhong-.png │ │ │ └── youhuiquan_weixuanzhong-.png │ │ ├── mine_card_icon_nocard.png │ │ ├── mine_icon_salesreturn.png │ │ ├── mine_icon_arrowright_white.png │ │ ├── yiwuCard │ │ │ ├── mine_card_icon_100.png │ │ │ ├── mine_card_icon_200.png │ │ │ ├── mine_card_icon_500.png │ │ │ ├── mine_card_icon_1000.png │ │ │ └── mine_card_icon_nocard.png │ │ ├── yiwucoin │ │ │ ├── yidian_icon_charge.png │ │ │ ├── yidian_icon_order.png │ │ │ └── yidian_icon_return.png │ │ └── personalinformation_icon_head.png │ ├── order │ │ ├── delate.png │ │ ├── address.png │ │ ├── message.png │ │ ├── left_arrow.png │ │ ├── Customer-service.png │ │ ├── consignee-information.png │ │ └── SuccessPay │ │ │ ├── pay_icon_success.png │ │ │ └── pay_result_icon_fail.png │ ├── submit_order │ │ ├── X.png │ │ ├── pay_icon_check.png │ │ ├── youhuiquan_xia.png │ │ ├── youhuiquan_gray.png │ │ ├── youhuiquan_quan.png │ │ ├── youhuiquan_shang.png │ │ ├── youhuiquan_wenhao.png │ │ ├── pay_icon_payment_feima.png │ │ ├── sddress_icon_noaddress.png │ │ ├── youhuiquan_xuanzhong-.png │ │ ├── pay_icon_payment_AliPay.png │ │ ├── pay_icon_payment_wechat.png │ │ ├── pay_icon_payment_yidian.png │ │ └── youhuiquan_weixuanzhong-.png │ ├── product │ │ ├── goods_bg.png │ │ ├── xianshigou.png │ │ ├── goods_icon_car.png │ │ ├── goods_icon_share.png │ │ ├── goods_icon_homepage.png │ │ ├── goods_icon_service.png │ │ ├── goods_icon_arrowback.png │ │ ├── goods_icon_car_highlighted.png │ │ ├── goods_icon_share_highlighted.png │ │ └── goods_icon_arrowback_highlighted.png │ ├── cart │ │ ├── car_icon_check_no.png │ │ ├── car_icon_nogoods.png │ │ ├── car_icon_check_yes.png │ │ ├── car_count_icon_add_highlighted.png │ │ ├── car_count_icon_add_lowlighted.png │ │ ├── car_count_icon_minus_highlighted.png │ │ └── car_count_icon_minus_lowlighted.png │ ├── home │ │ ├── homepage_icon_search.png │ │ ├── homepage_sale_icon_clock.png │ │ ├── searchPage │ │ │ ├── search-input-box.png │ │ │ ├── search_icon_delete.png │ │ │ ├── search_icon_arrowright.png │ │ │ ├── search_icon_historyclock.png │ │ │ └── search_icon_searchhistory.png │ │ ├── Home-page_selling_icon_clock.png │ │ └── homepage_searchbar_icon_search.png │ ├── login®ister │ │ ├── login_bg.png │ │ ├── login_icon.png │ │ ├── login_icon_user.png │ │ ├── login_icon_wechat.png │ │ ├── login_icon_password.png │ │ ├── login_register_agree_no.png │ │ ├── login_register_agree_yes.png │ │ ├── login_register_icon_phone.png │ │ ├── login_register_icon_arrowback.png │ │ ├── login_register_icon_securitycode.png │ │ └── login_findpassword_icon_arrowright.png │ └── activity │ │ └── purchaseLimit │ │ ├── banner.png │ │ ├── yxbanner.png │ │ └── xianshigou.png ├── js │ ├── components │ │ ├── HomeComponents │ │ │ ├── OnSale │ │ │ │ ├── index.scss │ │ │ │ ├── index.js │ │ │ │ └── Timer │ │ │ │ │ └── index.scss │ │ │ ├── Title │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── GridNav │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── Brand2 │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── CenterModeBanner │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── Recommond │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── SearchHeader │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── TabList │ │ │ │ └── index.scss │ │ │ ├── TemplateHeader │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── Brand │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── HomeInterest │ │ │ │ └── index.scss │ │ │ ├── Quality │ │ │ │ └── index.scss │ │ │ ├── FullBanner │ │ │ │ └── index.js │ │ │ └── Fresh │ │ │ │ └── index.scss │ │ ├── ProductComponents │ │ │ ├── PFDescription │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── FreePostage │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── ImgSwiper │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── DetailTab │ │ │ │ ├── index.scss │ │ │ │ ├── index.js │ │ │ │ └── Interest │ │ │ │ │ ├── index.scss │ │ │ │ │ └── index.js │ │ │ ├── DetailFont │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ └── FixHeader │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ ├── BaseComponents │ │ │ ├── SplitLine │ │ │ │ └── index.js │ │ │ ├── FooterBox │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── SetHelmet │ │ │ │ └── index.js │ │ │ ├── NavBar │ │ │ │ ├── Nav │ │ │ │ │ ├── index.scss │ │ │ │ │ └── index.js │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── LoginHeader │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── RenderLoading │ │ │ │ └── index.js │ │ │ ├── Contact │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── HeaderNode │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── Loading │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── GoBack │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── RenderIcon │ │ │ │ └── index.js │ │ │ ├── Category │ │ │ │ └── index.scss │ │ │ ├── LazyLoadComponent │ │ │ │ └── index.js │ │ │ ├── StaticSearch │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── SelectAddress │ │ │ │ └── index.scss │ │ │ ├── FooterNode │ │ │ │ └── index.js │ │ │ ├── ConfirmModal │ │ │ │ └── index.scss │ │ │ └── JDPickup │ │ │ │ └── index.scss │ │ ├── MineComponents │ │ │ ├── MyOrder │ │ │ │ ├── index.js │ │ │ │ └── index.scss │ │ │ ├── MineHeader │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ ├── OrderType │ │ │ │ └── index.scss │ │ │ └── SelectCard │ │ │ │ └── index.scss │ │ ├── CartComponents │ │ │ ├── CartInfo │ │ │ │ ├── index.scss │ │ │ │ └── InfoContent │ │ │ │ │ └── index.scss │ │ │ └── CartPay │ │ │ │ └── index.scss │ │ ├── SearchComponent │ │ │ ├── SearchInput │ │ │ │ └── index.scss │ │ │ └── SearchHistoty │ │ │ │ └── index.scss │ │ ├── LifeComponents │ │ │ └── Article │ │ │ │ └── index.scss │ │ ├── ListComponents │ │ │ ├── ListHeader │ │ │ │ ├── index.scss │ │ │ │ └── index.js │ │ │ └── OrderBy │ │ │ │ └── index.scss │ │ └── SubmitOrderComponents │ │ │ ├── CouponSelect │ │ │ └── index.scss │ │ │ └── AddressSelect │ │ │ └── index.scss │ ├── service │ │ ├── history.js │ │ ├── index.js │ │ ├── RegExp.js │ │ ├── LocalUtil.js │ │ ├── SessionUtil.js │ │ ├── getToken.js │ │ └── urlUtil.js │ ├── containers │ │ ├── Mine │ │ │ ├── Card │ │ │ │ ├── index.scss │ │ │ │ └── CardDetail │ │ │ │ │ └── index.scss │ │ │ ├── Personal │ │ │ │ └── EditName │ │ │ │ │ └── index.scss │ │ │ ├── Refunds │ │ │ │ ├── RefundDetail │ │ │ │ │ ├── RefundTrace │ │ │ │ │ │ └── index.scss │ │ │ │ │ └── index.scss │ │ │ │ ├── RefundInfo │ │ │ │ │ └── index.scss │ │ │ │ └── index.scss │ │ │ ├── Coupon │ │ │ │ └── index.scss │ │ │ ├── Addresses │ │ │ │ ├── index.js │ │ │ │ └── EditDetail │ │ │ │ │ └── index.scss │ │ │ ├── index.js │ │ │ └── Coin │ │ │ │ ├── index.scss │ │ │ │ └── CoinDetail │ │ │ │ └── index.scss │ │ ├── Home │ │ │ └── index.scss │ │ ├── Lnk │ │ │ ├── index.scss │ │ │ └── index.js │ │ ├── Life │ │ │ ├── index.scss │ │ │ ├── LifeDetail │ │ │ │ └── index.scss │ │ │ └── index.js │ │ ├── 404.js │ │ ├── App.js │ │ ├── Root.js │ │ ├── SearchPage │ │ │ └── index.js │ │ ├── YiwuAppTargetJump │ │ │ └── index.js │ │ ├── List │ │ │ └── index.scss │ │ ├── PayOrder │ │ │ └── index.scss │ │ ├── Product │ │ │ └── index.scss │ │ └── Login │ │ │ └── index.scss │ ├── store │ │ ├── configureStore.js │ │ ├── configureStore.prod.js │ │ └── configureStore.dev.js │ ├── config │ │ └── Confidential.js │ ├── actions │ │ ├── CommonActions.js │ │ ├── PresubmitActions.js │ │ ├── PersonalActions.js │ │ ├── CatelogActions.js │ │ ├── MineActions.js │ │ ├── SearchActions.js │ │ ├── CouponActions.js │ │ ├── PromotionActions.js │ │ ├── EwuCardActions.js │ │ ├── LifeActions.js │ │ ├── ActivityActions.js │ │ ├── PayActions.js │ │ ├── WalletActions.js │ │ ├── AddressActions.js │ │ ├── SubmitOrderActions.js │ │ ├── AccountActions.js │ │ ├── ProductActions.js │ │ ├── RefundsActions.js │ │ └── ShowcaseActions.js │ ├── reducers │ │ ├── common.js │ │ ├── querys.js │ │ ├── presubmit.js │ │ ├── personal.js │ │ ├── catelog.js │ │ ├── mine.js │ │ ├── search.js │ │ ├── index.js │ │ ├── promotion.js │ │ ├── pay.js │ │ ├── life.js │ │ ├── address.js │ │ ├── ewuCard.js │ │ ├── activity.js │ │ └── coupon.js │ └── sagas │ │ ├── cogradient.js │ │ ├── catelog.js │ │ ├── search.js │ │ ├── personal.js │ │ ├── promotion.js │ │ └── life.js ├── webpack-public-path.js └── styles │ └── mixins.scss └── .babelrc /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .vscode/ 3 | .idea/ 4 | *.log -------------------------------------------------------------------------------- /src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/favicon.ico -------------------------------------------------------------------------------- /src/fonts/dudu.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/fonts/dudu.eot -------------------------------------------------------------------------------- /src/fonts/dudu.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/fonts/dudu.ttf -------------------------------------------------------------------------------- /src/fonts/dudu.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/fonts/dudu.woff -------------------------------------------------------------------------------- /src/images/base/erweima.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/erweima.png -------------------------------------------------------------------------------- /src/images/base/icon_JD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_JD.png -------------------------------------------------------------------------------- /src/images/mine/mine_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_bg.png -------------------------------------------------------------------------------- /src/images/order/delate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/order/delate.png -------------------------------------------------------------------------------- /src/images/base/icon_Tmail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_Tmail.png -------------------------------------------------------------------------------- /src/images/base/icon_car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_car.png -------------------------------------------------------------------------------- /src/images/base/icon_jumei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_jumei.png -------------------------------------------------------------------------------- /src/images/base/icon_life.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_life.png -------------------------------------------------------------------------------- /src/images/base/icon_mine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_mine.png -------------------------------------------------------------------------------- /src/images/base/icon_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_more.png -------------------------------------------------------------------------------- /src/images/base/icon_vip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_vip.png -------------------------------------------------------------------------------- /src/images/base/icon_yiwu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_yiwu.png -------------------------------------------------------------------------------- /src/images/order/address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/order/address.png -------------------------------------------------------------------------------- /src/images/order/message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/order/message.png -------------------------------------------------------------------------------- /src/images/submit_order/X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/X.png -------------------------------------------------------------------------------- /src/images/base/loading_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/loading_icon.png -------------------------------------------------------------------------------- /src/images/base/refresh_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/refresh_text.png -------------------------------------------------------------------------------- /src/images/mine/yidian_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yidian_icon.png -------------------------------------------------------------------------------- /src/images/order/left_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/order/left_arrow.png -------------------------------------------------------------------------------- /src/images/product/goods_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/goods_bg.png -------------------------------------------------------------------------------- /src/images/base/icon_homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_homepage.png -------------------------------------------------------------------------------- /src/images/base/search_icon_car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/search_icon_car.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_order.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_see.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_see.png -------------------------------------------------------------------------------- /src/images/mine/mine_youhuiquan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_youhuiquan.png -------------------------------------------------------------------------------- /src/images/mine/orders/JDlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/orders/JDlogo.png -------------------------------------------------------------------------------- /src/images/mine/refund/rightarr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/rightarr.png -------------------------------------------------------------------------------- /src/images/mine/wo_yaoqing_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/wo_yaoqing_icon.png -------------------------------------------------------------------------------- /src/images/mine/yiwu_card_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yiwu_card_icon.png -------------------------------------------------------------------------------- /src/images/product/xianshigou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/xianshigou.png -------------------------------------------------------------------------------- /src/images/base/Home_icon_wangyi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/Home_icon_wangyi.png -------------------------------------------------------------------------------- /src/images/base/search_class_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/search_class_icon.png -------------------------------------------------------------------------------- /src/images/base/search_icon_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/search_icon_back.png -------------------------------------------------------------------------------- /src/images/cart/car_icon_check_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/cart/car_icon_check_no.png -------------------------------------------------------------------------------- /src/images/cart/car_icon_nogoods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/cart/car_icon_nogoods.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_address.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_collect.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_message.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_service.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_tuikuan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_tuikuan.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_yidian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_yidian.png -------------------------------------------------------------------------------- /src/images/mine/refund/refund_yi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/refund_yi.png -------------------------------------------------------------------------------- /src/images/mine/refund/refund_you.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/refund_you.png -------------------------------------------------------------------------------- /src/images/order/Customer-service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/order/Customer-service.png -------------------------------------------------------------------------------- /src/images/product/goods_icon_car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/goods_icon_car.png -------------------------------------------------------------------------------- /src/js/components/HomeComponents/OnSale/index.scss: -------------------------------------------------------------------------------- 1 | .root{ 2 | width: 100%; 3 | background-color: #FFFFFF; 4 | 5 | 6 | } -------------------------------------------------------------------------------- /src/images/base/icon_car_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_car_highlighted.png -------------------------------------------------------------------------------- /src/images/base/refresh_icon_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/refresh_icon_arrow.png -------------------------------------------------------------------------------- /src/images/base/search_icon_addcar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/search_icon_addcar.png -------------------------------------------------------------------------------- /src/images/base/search_icon_nogoods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/search_icon_nogoods.png -------------------------------------------------------------------------------- /src/images/base/search_icon_price1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/search_icon_price1.png -------------------------------------------------------------------------------- /src/images/base/search_icon_priceup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/search_icon_priceup.png -------------------------------------------------------------------------------- /src/images/cart/car_icon_check_yes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/cart/car_icon_check_yes.png -------------------------------------------------------------------------------- /src/images/home/homepage_icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/home/homepage_icon_search.png -------------------------------------------------------------------------------- /src/images/login®ister/login_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_bg.png -------------------------------------------------------------------------------- /src/images/login®ister/login_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_icon.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_arrowright.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_daifahuo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_daifahuo.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_daipeihuo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_daipeihuo.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_daipingjia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_daipingjia.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_daishouhuo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_daishouhuo.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_daizhifu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_daizhifu.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_feedback.png -------------------------------------------------------------------------------- /src/images/product/goods_icon_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/goods_icon_share.png -------------------------------------------------------------------------------- /src/webpack-public-path.js: -------------------------------------------------------------------------------- 1 | // 服务器静态资源路径配置 2 | __webpack_public_path__ = window.location.protocol + "//" + window.location.host + "/"; -------------------------------------------------------------------------------- /src/images/base/icon_life_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_life_highlighted.png -------------------------------------------------------------------------------- /src/images/base/icon_mine_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_mine_highlighted.png -------------------------------------------------------------------------------- /src/images/base/icon_more_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_more_highlighted.png -------------------------------------------------------------------------------- /src/images/base/search_icon_pricedwon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/search_icon_pricedwon.png -------------------------------------------------------------------------------- /src/images/mine/coupon/youhuiquan_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/youhuiquan_gray.png -------------------------------------------------------------------------------- /src/images/mine/coupon/youhuiquan_quan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/youhuiquan_quan.png -------------------------------------------------------------------------------- /src/images/mine/coupon/youhuiquan_xia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/youhuiquan_xia.png -------------------------------------------------------------------------------- /src/images/mine/mine_card_icon_nocard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_card_icon_nocard.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_salesreturn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_salesreturn.png -------------------------------------------------------------------------------- /src/images/order/consignee-information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/order/consignee-information.png -------------------------------------------------------------------------------- /src/images/product/goods_icon_homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/goods_icon_homepage.png -------------------------------------------------------------------------------- /src/images/product/goods_icon_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/goods_icon_service.png -------------------------------------------------------------------------------- /src/images/submit_order/pay_icon_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/pay_icon_check.png -------------------------------------------------------------------------------- /src/images/submit_order/youhuiquan_xia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/youhuiquan_xia.png -------------------------------------------------------------------------------- /src/images/activity/purchaseLimit/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/activity/purchaseLimit/banner.png -------------------------------------------------------------------------------- /src/images/base/icon_homepage_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/icon_homepage_highlighted.png -------------------------------------------------------------------------------- /src/images/base/search_icon_searchhistory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/search_icon_searchhistory.png -------------------------------------------------------------------------------- /src/images/home/homepage_sale_icon_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/home/homepage_sale_icon_clock.png -------------------------------------------------------------------------------- /src/images/login®ister/login_icon_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_icon_user.png -------------------------------------------------------------------------------- /src/images/mine/coupon/youhuiquan_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/youhuiquan_delete.png -------------------------------------------------------------------------------- /src/images/mine/coupon/youhuiquan_shang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/youhuiquan_shang.png -------------------------------------------------------------------------------- /src/images/mine/coupon/youhuiquan_wenhao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/youhuiquan_wenhao.png -------------------------------------------------------------------------------- /src/images/mine/orders/order_icon_noorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/orders/order_icon_noorder.png -------------------------------------------------------------------------------- /src/images/mine/refund/my_refund_addimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/my_refund_addimage.png -------------------------------------------------------------------------------- /src/images/mine/refund/my_refund_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/my_refund_delete.png -------------------------------------------------------------------------------- /src/images/mine/refund/order_icon_noorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/order_icon_noorder.png -------------------------------------------------------------------------------- /src/images/product/goods_icon_arrowback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/goods_icon_arrowback.png -------------------------------------------------------------------------------- /src/images/submit_order/youhuiquan_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/youhuiquan_gray.png -------------------------------------------------------------------------------- /src/images/submit_order/youhuiquan_quan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/youhuiquan_quan.png -------------------------------------------------------------------------------- /src/images/submit_order/youhuiquan_shang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/youhuiquan_shang.png -------------------------------------------------------------------------------- /src/images/submit_order/youhuiquan_wenhao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/youhuiquan_wenhao.png -------------------------------------------------------------------------------- /src/images/activity/purchaseLimit/yxbanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/activity/purchaseLimit/yxbanner.png -------------------------------------------------------------------------------- /src/images/home/searchPage/search-input-box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/home/searchPage/search-input-box.png -------------------------------------------------------------------------------- /src/images/login®ister/login_icon_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_icon_wechat.png -------------------------------------------------------------------------------- /src/images/mine/coupon/coupons_wuyouhuiquan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/coupons_wuyouhuiquan.png -------------------------------------------------------------------------------- /src/images/mine/mine_icon_arrowright_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/mine_icon_arrowright_white.png -------------------------------------------------------------------------------- /src/images/mine/refund/-refund_icon_-refund.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/-refund_icon_-refund.png -------------------------------------------------------------------------------- /src/images/mine/refund/-refund_icon_review.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/-refund_icon_review.png -------------------------------------------------------------------------------- /src/images/mine/yiwuCard/mine_card_icon_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yiwuCard/mine_card_icon_100.png -------------------------------------------------------------------------------- /src/images/mine/yiwuCard/mine_card_icon_200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yiwuCard/mine_card_icon_200.png -------------------------------------------------------------------------------- /src/images/mine/yiwuCard/mine_card_icon_500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yiwuCard/mine_card_icon_500.png -------------------------------------------------------------------------------- /src/images/mine/yiwucoin/yidian_icon_charge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yiwucoin/yidian_icon_charge.png -------------------------------------------------------------------------------- /src/images/mine/yiwucoin/yidian_icon_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yiwucoin/yidian_icon_order.png -------------------------------------------------------------------------------- /src/images/mine/yiwucoin/yidian_icon_return.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yiwucoin/yidian_icon_return.png -------------------------------------------------------------------------------- /src/images/activity/purchaseLimit/xianshigou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/activity/purchaseLimit/xianshigou.png -------------------------------------------------------------------------------- /src/images/base/order_salesreturn_icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/base/order_salesreturn_icon_search.png -------------------------------------------------------------------------------- /src/images/cart/car_count_icon_add_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/cart/car_count_icon_add_highlighted.png -------------------------------------------------------------------------------- /src/images/cart/car_count_icon_add_lowlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/cart/car_count_icon_add_lowlighted.png -------------------------------------------------------------------------------- /src/images/home/Home-page_selling_icon_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/home/Home-page_selling_icon_clock.png -------------------------------------------------------------------------------- /src/images/home/homepage_searchbar_icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/home/homepage_searchbar_icon_search.png -------------------------------------------------------------------------------- /src/images/home/searchPage/search_icon_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/home/searchPage/search_icon_delete.png -------------------------------------------------------------------------------- /src/images/login®ister/login_icon_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_icon_password.png -------------------------------------------------------------------------------- /src/images/mine/coupon/youhuiquan_lijishiyong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/youhuiquan_lijishiyong.png -------------------------------------------------------------------------------- /src/images/mine/coupon/youhuiquan_xuanzhong-.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/youhuiquan_xuanzhong-.png -------------------------------------------------------------------------------- /src/images/mine/personalinformation_icon_head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/personalinformation_icon_head.png -------------------------------------------------------------------------------- /src/images/mine/yiwuCard/mine_card_icon_1000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yiwuCard/mine_card_icon_1000.png -------------------------------------------------------------------------------- /src/images/mine/yiwuCard/mine_card_icon_nocard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/yiwuCard/mine_card_icon_nocard.png -------------------------------------------------------------------------------- /src/images/order/SuccessPay/pay_icon_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/order/SuccessPay/pay_icon_success.png -------------------------------------------------------------------------------- /src/images/product/goods_icon_car_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/goods_icon_car_highlighted.png -------------------------------------------------------------------------------- /src/images/submit_order/pay_icon_payment_feima.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/pay_icon_payment_feima.png -------------------------------------------------------------------------------- /src/images/submit_order/sddress_icon_noaddress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/sddress_icon_noaddress.png -------------------------------------------------------------------------------- /src/images/submit_order/youhuiquan_xuanzhong-.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/youhuiquan_xuanzhong-.png -------------------------------------------------------------------------------- /src/images/cart/car_count_icon_minus_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/cart/car_count_icon_minus_highlighted.png -------------------------------------------------------------------------------- /src/images/cart/car_count_icon_minus_lowlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/cart/car_count_icon_minus_lowlighted.png -------------------------------------------------------------------------------- /src/images/mine/coupon/youhuiquan_weixuanzhong-.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/coupon/youhuiquan_weixuanzhong-.png -------------------------------------------------------------------------------- /src/images/order/SuccessPay/pay_result_icon_fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/order/SuccessPay/pay_result_icon_fail.png -------------------------------------------------------------------------------- /src/images/product/goods_icon_share_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/goods_icon_share_highlighted.png -------------------------------------------------------------------------------- /src/images/submit_order/pay_icon_payment_AliPay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/pay_icon_payment_AliPay.png -------------------------------------------------------------------------------- /src/images/submit_order/pay_icon_payment_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/pay_icon_payment_wechat.png -------------------------------------------------------------------------------- /src/images/submit_order/pay_icon_payment_yidian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/pay_icon_payment_yidian.png -------------------------------------------------------------------------------- /src/images/submit_order/youhuiquan_weixuanzhong-.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/submit_order/youhuiquan_weixuanzhong-.png -------------------------------------------------------------------------------- /src/images/home/searchPage/search_icon_arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/home/searchPage/search_icon_arrowright.png -------------------------------------------------------------------------------- /src/images/home/searchPage/search_icon_historyclock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/home/searchPage/search_icon_historyclock.png -------------------------------------------------------------------------------- /src/images/login®ister/login_register_agree_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_register_agree_no.png -------------------------------------------------------------------------------- /src/images/login®ister/login_register_agree_yes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_register_agree_yes.png -------------------------------------------------------------------------------- /src/images/login®ister/login_register_icon_phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_register_icon_phone.png -------------------------------------------------------------------------------- /src/images/mine/refund/-refund_icon_-refund-success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/-refund_icon_-refund-success.png -------------------------------------------------------------------------------- /src/images/mine/refund/-refund_icon_-return-goods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/-refund_icon_-return-goods.png -------------------------------------------------------------------------------- /src/images/mine/refund/refund-_icon_refund-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/mine/refund/refund-_icon_refund-failed.png -------------------------------------------------------------------------------- /src/images/product/goods_icon_arrowback_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/product/goods_icon_arrowback_highlighted.png -------------------------------------------------------------------------------- /src/images/home/searchPage/search_icon_searchhistory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/home/searchPage/search_icon_searchhistory.png -------------------------------------------------------------------------------- /src/js/service/history.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/4/6. 3 | */ 4 | import createHistory from 'history/createHashHistory' 5 | export default createHistory() -------------------------------------------------------------------------------- /src/images/login®ister/login_register_icon_arrowback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_register_icon_arrowback.png -------------------------------------------------------------------------------- /src/images/login®ister/login_register_icon_securitycode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_register_icon_securitycode.png -------------------------------------------------------------------------------- /src/js/containers/Mine/Card/index.scss: -------------------------------------------------------------------------------- 1 | .cardWrapper{ 2 | padding: .24rem; 3 | .cardItem { 4 | width: 100%; 5 | img { 6 | width: 100%; 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /src/images/login®ister/login_findpassword_icon_arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xuedengheng/mall1/HEAD/src/images/login®ister/login_findpassword_icon_arrowright.png -------------------------------------------------------------------------------- /src/js/components/ProductComponents/PFDescription/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | padding: .20rem .24rem; 3 | background: #ffffff; 4 | .pfName { 5 | color: #fe5400; 6 | margin-right: .1rem 7 | } 8 | } -------------------------------------------------------------------------------- /src/js/components/HomeComponents/Title/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | padding: .2rem; 3 | display: flex; 4 | align-items: center; 5 | .imgSpan { 6 | width: .36rem; 7 | margin-right: .1rem; 8 | } 9 | } -------------------------------------------------------------------------------- /src/js/store/configureStore.js: -------------------------------------------------------------------------------- 1 | if (process.env.NODE_ENV === 'production') { 2 | module.exports = require('./configureStore.prod') 3 | } else { 4 | module.exports = require('./configureStore.dev') 5 | } 6 | -------------------------------------------------------------------------------- /src/js/components/BaseComponents/SplitLine/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const SplitLine = () => { 4 | return ( 5 |
6 | ) 7 | } 8 | 9 | export default SplitLine; -------------------------------------------------------------------------------- /src/js/components/ProductComponents/FreePostage/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | display: flex; 3 | height: .8rem; 4 | padding: 0 .24rem; 5 | align-items: center; 6 | background-color: #ffffff; 7 | .title { 8 | flex: 0 0 1.3rem; 9 | color: #bbbbbb; 10 | } 11 | } -------------------------------------------------------------------------------- /src/js/containers/Home/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | .cHeight { 4 | height: 1.7rem; 5 | } 6 | .fTop { 7 | width: 100%; 8 | height: 1.7rem; 9 | position: fixed; 10 | top: 0; 11 | left: 0; 12 | z-index: 1; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/js/containers/Lnk/index.scss: -------------------------------------------------------------------------------- 1 | .lnkWrap { 2 | position: absolute; 3 | top: 0; 4 | left: 0; 5 | width: 100%; 6 | min-height: 100%; 7 | z-index: 1; 8 | background: #FFFFFF; 9 | .frame { 10 | display: block; 11 | width: 100%; 12 | border: 0; 13 | } 14 | } -------------------------------------------------------------------------------- /src/js/config/Confidential.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/18. 3 | */ 4 | const confidential = { 5 | APP_ID: 'wx6171d5527dae4cc6', //app id; 6 | APP_SECRET: '485d98fa1ae0e249d07fcd1e50315c3c', //app secret 7 | M_CHANNAL: 'NG_APP' 8 | }; 9 | 10 | export default confidential; -------------------------------------------------------------------------------- /src/js/components/ProductComponents/ImgSwiper/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | height: 100vw; 4 | background-color: #FFFFFF; 5 | 6 | .imgDiv { 7 | width: 100%; 8 | height: 100vw; 9 | background-color: #FFFFFF; 10 | img { 11 | height: 100%; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/js/components/HomeComponents/GridNav/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 24%; 3 | margin-bottom: 0.3rem; 4 | } 5 | 6 | .thumb { 7 | display: block; 8 | height: 0.94rem; 9 | width: 0.94rem; 10 | border-radius: 50%; 11 | margin-bottom: 0.1rem; 12 | } 13 | 14 | .title { 15 | line-height: 1; 16 | color: #323232; 17 | } -------------------------------------------------------------------------------- /src/js/actions/CommonActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/3/27. 3 | */ 4 | import { 5 | ERROR 6 | LOADING, 7 | } from './actionsTypes' 8 | 9 | export const catchError = error => ({ 10 | type: ERROR, 11 | error 12 | }) 13 | 14 | export const loading = status => ({ 15 | type: LOADING, 16 | status 17 | }) 18 | -------------------------------------------------------------------------------- /src/js/components/BaseComponents/FooterBox/index.scss: -------------------------------------------------------------------------------- 1 | .footer{ 2 | position: fixed; 3 | width: 100vw; 4 | height: .98rem; 5 | bottom:0; 6 | left: 0; 7 | z-index: 50; 8 | background-color: #fe5400; 9 | p{ 10 | color: #ffffff; 11 | font-size:.32rem; 12 | text-align: center; 13 | line-height:.98rem; 14 | } 15 | } -------------------------------------------------------------------------------- /src/js/containers/Life/index.scss: -------------------------------------------------------------------------------- 1 | .title { 2 | width: 100%; 3 | height: 1.1rem; 4 | 5 | .fHeight { 6 | height: 1.1rem; 7 | } 8 | 9 | .content { 10 | width: 100%; 11 | height: 1.1rem; 12 | background-color: #FFFFFF; 13 | border-bottom: 1px solid #dddddd; 14 | 15 | p { 16 | width: 100%; 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/js/components/ProductComponents/DetailTab/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | background-color: #ffffff; 3 | 4 | .detail { 5 | min-height: 75vh; 6 | width: 100%; 7 | img { 8 | width: 100%!important; 9 | height: auto; 10 | vertical-align: bottom; 11 | } 12 | table { 13 | width: 100%!important; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/js/actions/PresubmitActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/3/11. 3 | */ 4 | import { 5 | PRESUBMIT, 6 | PRESUBMIT_SUCCESS 7 | } from './actionsTypes' 8 | 9 | export const presubmit = params => ({ 10 | type: PRESUBMIT, 11 | params 12 | }) 13 | 14 | export const presubmitSuccess = result => ({ 15 | type: PRESUBMIT_SUCCESS, 16 | result 17 | }) -------------------------------------------------------------------------------- /src/js/components/BaseComponents/SetHelmet/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/5/8. 3 | */ 4 | import React from "react" 5 | import {Helmet} from 'react-helmet' 6 | 7 | const SetHelmet = ({title, keywords}) => { 8 | return ( 9 | 10 | {title} 11 | 12 | 13 | ) 14 | } 15 | 16 | export default SetHelmet -------------------------------------------------------------------------------- /src/js/actions/PersonalActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by HEro on 2017/5/22. 3 | */ 4 | import { 5 | QUERY_PERSONAL, 6 | QUERY_PERSONAL_SUCCESS, 7 | END_PERSONAL_CTRL 8 | } from './actionsTypes' 9 | 10 | export const queryPersonal = data => ({ 11 | type: QUERY_PERSONAL, 12 | data 13 | }) 14 | export const queryPersonalSuccess = () => ({ 15 | type: QUERY_PERSONAL_SUCCESS 16 | }) 17 | 18 | export const endPersonal = () => ({ 19 | type: END_PERSONAL_CTRL 20 | }) -------------------------------------------------------------------------------- /src/js/components/HomeComponents/Brand2/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | background-color: #FFFFFF; 4 | 5 | .panel { 6 | width: 100%; 7 | padding-bottom: .2rem; 8 | 9 | &:after { 10 | display: block; 11 | content: ''; 12 | clear: both; 13 | } 14 | 15 | .list { 16 | display: block; 17 | width: 33.333vw; 18 | height: 25vw; 19 | background-color: #f7f7f7; 20 | float: left; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /src/js/containers/Mine/Personal/EditName/index.scss: -------------------------------------------------------------------------------- 1 | .prompting { 2 | margin-top: .2rem; 3 | padding-left: .2rem; 4 | color: #828282; 5 | } 6 | 7 | .refundmoney { 8 | display: flex; 9 | align-items: center; 10 | width: 100%; 11 | padding: 0 .24rem; 12 | margin-top: .2rem; 13 | height: .95rem; 14 | background: white; 15 | & input { 16 | height: .7rem; 17 | width: 100%; 18 | border: none; 19 | color: #333; 20 | font-size: .28rem; 21 | } 22 | } -------------------------------------------------------------------------------- /src/js/actions/CatelogActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/4. 3 | */ 4 | import { 5 | CATELOG_FETCH, 6 | CATELOG_FETCH_SUCCESS, 7 | CATELOG_END 8 | } from './actionsTypes' 9 | 10 | export const fetchCatelog = (params) => ({ 11 | type: CATELOG_FETCH, 12 | params 13 | }) 14 | 15 | export const successCatelog = (catelog) => ({ 16 | type: CATELOG_FETCH_SUCCESS, 17 | catelog 18 | }) 19 | 20 | export const catelogEnd = () => ({ 21 | type: CATELOG_END 22 | }) 23 | -------------------------------------------------------------------------------- /src/js/actions/MineActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/4/26. 3 | */ 4 | import {GET_USER_MSG, GET_USER_MSG_SUCCESS, END_USER_MSG_CTRL} from './actionsTypes' 5 | 6 | export const getUserMsg = () => ({ 7 | type: GET_USER_MSG 8 | }) 9 | 10 | export const getUserMsgSuccess = (statusCount, balance, couponCount) => ({ 11 | type: GET_USER_MSG_SUCCESS, 12 | statusCount, 13 | balance, 14 | couponCount 15 | }) 16 | 17 | export const endUserMsgCtrl = () => ({ 18 | type: END_USER_MSG_CTRL 19 | }) -------------------------------------------------------------------------------- /src/js/components/BaseComponents/NavBar/Nav/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | flex: auto; 3 | display: flex; 4 | flex-direction: column; 5 | flex-wrap: wrap; 6 | justify-content: center; 7 | align-items: center; 8 | line-height: 1; 9 | color: #bababa; 10 | &:hover { 11 | color: #bababa; 12 | } 13 | } 14 | 15 | .ico { 16 | width: .5rem; 17 | height: .6rem; 18 | display: block; 19 | margin-bottom: .5vh; 20 | } 21 | 22 | .text { 23 | display: block; 24 | line-height: 1; 25 | } 26 | 27 | -------------------------------------------------------------------------------- /src/js/components/HomeComponents/CenterModeBanner/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | background-color: #ffffff; 3 | padding-bottom: .2rem; 4 | .wrapper { 5 | position: relative; 6 | width: 100%; 7 | height: 0; 8 | padding-top: 50%; 9 | .imgDiv { 10 | position: absolute; 11 | top: 0; 12 | left: 0; 13 | width: 100%; 14 | height: 100%; 15 | 16 | .slideImg{ 17 | border-radius: .1rem; 18 | height: 100%; 19 | } 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /src/js/components/BaseComponents/LoginHeader/index.scss: -------------------------------------------------------------------------------- 1 | .showPanel { 2 | padding: 0 .24rem; 3 | 4 | .close{ 5 | width: 100%; 6 | display: flex; 7 | justify-content: flex-start; 8 | 9 | span { 10 | padding: .25rem 0; 11 | padding-right: .25rem; 12 | font-size: .3rem; 13 | color: #333; 14 | } 15 | } 16 | 17 | .iconPanel { 18 | width: 100%; 19 | 20 | img { 21 | width: 24vw; 22 | height: 24vw; 23 | margin: 11vw auto; 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/js/components/BaseComponents/RenderLoading/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/2/9. 3 | */ 4 | import React from 'react' 5 | import { Icon } from 'antd-mobile' 6 | 7 | const RenderLoading = () => { 8 | return ( 9 |
10 |
11 |
12 | 正在刷新 13 |
14 |
15 | ) 16 | } 17 | 18 | export default RenderLoading; -------------------------------------------------------------------------------- /src/js/containers/404.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react' 2 | import {Link} from 'react-router' 3 | import {SetHelmet} from 'components' 4 | 5 | export default class NotFoundPage extends Component { 6 | render() { 7 | return ( 8 |
9 | 10 | 404!页面没有找到,请 11 | 返回首页 12 |
13 | ) 14 | } 15 | } -------------------------------------------------------------------------------- /src/styles/mixins.scss: -------------------------------------------------------------------------------- 1 | // mixins 2 | @define-mixin btn 3 | $width: 100%, 4 | $padding-tb: 0.15rem, 5 | $color: #333, 6 | $background-color: #fff, 7 | $font-size: 14px, 8 | $border-radius: 4px, 9 | $border: 1px solid #ddd, 10 | { 11 | width: $width; 12 | padding: $padding-tb 0.1rem; 13 | color: $color; 14 | background-color: $background-color; 15 | font-size: $font-size; 16 | border-radius: $border-radius; 17 | border: $border; 18 | cursor: pointer; 19 | outline: none; 20 | text-align: center; 21 | } -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["latest", { 4 | "es2015": { 5 | "loose": true 6 | } 7 | }], 8 | "react", 9 | "stage-0" 10 | ], 11 | "plugins": [ 12 | "react-hot-loader/babel", 13 | "transform-decorators-legacy", 14 | ["import", { "style": "css", "libraryName": "antd-mobile" }], 15 | ["transform-runtime", { 16 | "helpers": false, 17 | "polyfill": false, 18 | "regenerator": true, 19 | "moduleName": "babel-runtime" 20 | }] 21 | ] 22 | } -------------------------------------------------------------------------------- /src/js/components/BaseComponents/Contact/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | background: 100%; 4 | .detail { 5 | padding: .15rem 0; 6 | text-align: center; 7 | .qrcode { 8 | width: 2.42rem; 9 | height: 2.42rem; 10 | margin: 0 auto; 11 | img { 12 | width: 100%; 13 | } 14 | } 15 | } 16 | .cancel { 17 | width: 100%; 18 | height: .98rem; 19 | line-height: .98rem; 20 | text-align: center; 21 | border-top: 1px solid #dddddd; 22 | } 23 | } -------------------------------------------------------------------------------- /src/js/components/ProductComponents/DetailFont/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | padding: 0 .24rem; 3 | background-color: #ffffff; 4 | .title { 5 | width: 100%; 6 | font-size: .3rem; 7 | padding: .3rem 0 .05rem 0; 8 | .icon { 9 | width: .3rem; 10 | height: .3rem; 11 | margin-left: .1rem; 12 | vertical-align: middle; 13 | } 14 | } 15 | 16 | .container{ 17 | display: flex; 18 | display: -webkit-flex; 19 | justify-content: space-between; 20 | padding-bottom: .2rem; 21 | } 22 | } -------------------------------------------------------------------------------- /src/js/service/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2016/12/25. 3 | */ 4 | export * as Constant from './constant' 5 | export * as RegExp from './RegExp'; 6 | export * as Image from './image' 7 | export * from './general'; 8 | export * from './dataUtil'; 9 | export * from './dateUtil'; 10 | export * from './fetchApi'; 11 | export * from './urlApi'; 12 | export * from './urlUtil'; 13 | export * from './Tool'; 14 | export * from './getToken' 15 | export * from './LocalUtil'; 16 | export * from './SessionUtil'; 17 | export * from './history' 18 | -------------------------------------------------------------------------------- /src/js/containers/Life/LifeDetail/index.scss: -------------------------------------------------------------------------------- 1 | .title { 2 | width: 100%; 3 | height: 1.1rem; 4 | 5 | .fHeight { 6 | height: 1.1rem; 7 | } 8 | 9 | .content { 10 | width: 100%; 11 | height: 1.1rem; 12 | background-color: #FFFFFF; 13 | border-bottom: 1px solid #dddddd; 14 | 15 | .back { 16 | width: 1rem; 17 | height: 100%; 18 | position: absolute; 19 | 20 | img { 21 | width: .15rem; 22 | } 23 | } 24 | 25 | p { 26 | width: 68%; 27 | margin: auto; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /src/js/components/HomeComponents/Title/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2016/12/12. 3 | */ 4 | import React from 'react'; 5 | import styles from './index.scss'; 6 | 7 | const Title = (props) => { 8 | const { title, icon } = props; 9 | 10 | return ( 11 |
12 | 13 | 14 | 15 | {title} 16 |
17 | ) 18 | } 19 | export default Title; -------------------------------------------------------------------------------- /src/js/components/ProductComponents/PFDescription/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2016/12/13. 3 | */ 4 | import React, { Component } from 'react' 5 | import { api } from 'service' 6 | import styles from './index.scss' 7 | 8 | const PFDescription = props => { 9 | const { storeName, introduce } = props; 10 | 11 | return ( 12 |
13 | [{storeName}] 14 | {introduce} 15 |
16 | ) 17 | } 18 | 19 | export default PFDescription; -------------------------------------------------------------------------------- /src/js/store/configureStore.prod.js: -------------------------------------------------------------------------------- 1 | // 如果是产品(打包)模式,store 采用此配置 2 | 3 | import { createStore, applyMiddleware } from 'redux' 4 | import createSagaMiddleware, { END } from 'redux-saga' 5 | import rootReducer from '../reducers' 6 | 7 | export default function configureStore(initialState) { 8 | const sagaMiddleware = createSagaMiddleware() 9 | const store = createStore( 10 | rootReducer, 11 | initialState, 12 | applyMiddleware(sagaMiddleware) 13 | ) 14 | 15 | store.runSaga = sagaMiddleware.run 16 | store.close = () => store.dispatch(END) 17 | return store 18 | } 19 | -------------------------------------------------------------------------------- /src/js/components/BaseComponents/HeaderNode/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | height: 1.1rem; 4 | padding-top: .3rem; 5 | text-align: center; 6 | .refreshText { 7 | width: 30%; 8 | } 9 | .status { 10 | width: 100%; 11 | .icon { 12 | display: inline-block; 13 | width: .3rem; 14 | height: .3rem; 15 | vertical-align: top; 16 | margin-right: .1rem; 17 | color: #d9d9d9; 18 | img { 19 | transition: all .3s; 20 | } 21 | &.enough img { 22 | transform: rotate(180deg); 23 | } 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/js/containers/App.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {withRouter} from 'react-router' 3 | 4 | class App extends Component { 5 | 6 | componentWillReceiveProps(nextProps) { 7 | if (nextProps.location !== this.props.location) { 8 | sen.quick('autoTrack'); 9 | } 10 | } 11 | 12 | render() { 13 | const {children} =this.props; 14 | return ( 15 |
16 | {children} 17 |
18 | ) 19 | } 20 | } 21 | 22 | export default withRouter(App) -------------------------------------------------------------------------------- /src/js/reducers/common.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/3/27. 3 | */ 4 | import { 5 | ERROR, 6 | LOADING 7 | } from 'actions/actionsTypes' 8 | 9 | const init = { 10 | error: '', 11 | loading: false, 12 | } 13 | 14 | export default function common(state = init, action) { 15 | switch (action.type) { 16 | case ERROR: 17 | return { 18 | error: action.error 19 | } 20 | case LOADING: 21 | return { 22 | loading: action.status 23 | } 24 | default: 25 | return state 26 | } 27 | } -------------------------------------------------------------------------------- /src/js/actions/SearchActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2016/12/24. 3 | */ 4 | import { 5 | SEARCH_FETCH, 6 | SEARCH_FETCH_SUCCESS, 7 | INIT_SEARCH, 8 | SEARCH_END 9 | } from './actionsTypes' 10 | 11 | export const fetchSearch = (params, status) => ({ 12 | type: SEARCH_FETCH, 13 | params, 14 | status 15 | }); 16 | 17 | export const successSearch = (search) => ({ 18 | type: SEARCH_FETCH_SUCCESS, 19 | search 20 | }); 21 | 22 | export const initSearch = () => ({ 23 | type: INIT_SEARCH, 24 | }) 25 | 26 | export const searchEnd = () => ({ 27 | type: SEARCH_END 28 | }) 29 | -------------------------------------------------------------------------------- /src/js/components/MineComponents/MyOrder/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/11. 3 | */ 4 | import React from 'react' 5 | import styles from './index.scss' 6 | import {Link} from 'react-router' 7 | 8 | const MyOrder = () => { 9 | return ( 10 | 11 |
12 | 我的订单 13 |
14 |
15 | 全部订单 16 |
17 | 18 | ) 19 | } 20 | 21 | export default MyOrder -------------------------------------------------------------------------------- /src/js/components/BaseComponents/Loading/index.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import styles from './index.scss'; 3 | 4 | const Loading = () => { 5 | return ( 6 |
7 |
8 |
9 |
10 | 11 |
12 |
13 |
14 | ) 15 | }; 16 | 17 | export default Loading; -------------------------------------------------------------------------------- /src/js/components/HomeComponents/Recommond/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | background-color: #FFFFFF; 4 | padding-bottom: .55rem; 5 | 6 | .slideItem { 7 | padding: 0 .1rem; 8 | 9 | .imgDiv { 10 | position: relative; 11 | width: 100%; 12 | height: 0; 13 | padding-top: 100%; 14 | overflow: hidden; 15 | img { 16 | position: absolute; 17 | top: 0; 18 | } 19 | } 20 | 21 | .detail { 22 | padding-top: .1rem; 23 | 24 | .icon { 25 | width: .24rem; 26 | height: .24rem; 27 | vertical-align: sub; 28 | } 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /src/js/containers/Root.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import {Provider} from 'react-redux' 3 | import RootRouter from '../RootRouter' 4 | import '../../styles/normalize.scss' 5 | import '../../styles/app.scss' 6 | import '../../styles/antdStyleReset.scss' 7 | import '../../styles/font.scss' 8 | import '../../styles/animations.scss' 9 | import '../../styles/yiwu.scss' 10 | import 'slick-carousel/slick/slick.css' 11 | import 'slick-carousel/slick/slick-theme.css' 12 | 13 | const Root = ({store, history}) => ( 14 | 15 | 16 | 17 | ) 18 | 19 | export default Root 20 | -------------------------------------------------------------------------------- /src/js/components/CartComponents/CartInfo/index.scss: -------------------------------------------------------------------------------- 1 | .cartWrapper { 2 | margin-top: .2rem; 3 | width: 100%; 4 | background-color: #FFFFFF; 5 | 6 | .header { 7 | width: 100%; 8 | height: .88rem; 9 | 10 | .checkPanel { 11 | width: 1rem; 12 | height: 100%; 13 | 14 | img { 15 | width: .4rem; 16 | height: .4rem; 17 | } 18 | } 19 | 20 | .title { 21 | flex-grow: 1; 22 | height: 100%; 23 | 24 | 25 | i { 26 | display: inline-block; 27 | width: .25rem; 28 | height: .3rem; 29 | vertical-align: sub; 30 | margin-right: .15rem; 31 | } 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /src/js/reducers/querys.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/6. 3 | */ 4 | import { 5 | ADD_QUERYPARAMS, 6 | SAVE_QUERYPARAMS 7 | } from 'actions/actionsTypes' 8 | 9 | const init = { 10 | params: {} 11 | } 12 | 13 | export default function query (state = init, action) { 14 | switch (action.type) { 15 | case ADD_QUERYPARAMS: 16 | return { 17 | ...state 18 | } 19 | case SAVE_QUERYPARAMS: 20 | return { 21 | ...state, 22 | params: action.query, 23 | lastUpdated: action.receivedAt 24 | } 25 | default: 26 | return state 27 | } 28 | } -------------------------------------------------------------------------------- /src/js/components/BaseComponents/GoBack/index.scss: -------------------------------------------------------------------------------- 1 | .title { 2 | width: 100%; 3 | height: .98rem; 4 | 5 | .fHeight { 6 | height: 8vh; 7 | } 8 | 9 | .content { 10 | width: 100%; 11 | height: .98rem; 12 | background-color: #FFFFFF; 13 | 14 | .back { 15 | width: 1rem; 16 | height: 100%; 17 | position: absolute; 18 | 19 | img { 20 | width: .15rem; 21 | } 22 | } 23 | 24 | p { 25 | width: 68%; 26 | margin: auto; 27 | } 28 | .order { 29 | width: 1rem; 30 | height: 100%; 31 | position: absolute; 32 | right: 0; 33 | 34 | img { 35 | width: .38rem; 36 | } 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /src/js/components/HomeComponents/SearchHeader/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | background: #FFFFFF; 3 | height: .9rem; 4 | padding: 0 .2rem; 5 | display: flex; 6 | align-items: center; 7 | } 8 | 9 | .searchBar{ 10 | background: #ededed; 11 | height: .6rem; 12 | flex-grow: 1; 13 | border-radius: .1rem; 14 | color: #a9a9a9; 15 | &:hover, &:active { 16 | color: #a9a9a9; 17 | } 18 | span { 19 | width: .4rem; 20 | margin-left: .1rem; 21 | } 22 | img { 23 | width: 100%; 24 | } 25 | p { 26 | font-size: .3rem; 27 | margin-left: .08rem; 28 | } 29 | } 30 | 31 | .categoryIcon { 32 | width: .48rem; 33 | margin-left: .15rem; 34 | img{ 35 | width: 100%; 36 | } 37 | } -------------------------------------------------------------------------------- /src/js/components/BaseComponents/RenderIcon/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/2/9. 3 | */ 4 | import React from 'react' 5 | 6 | const RenderIcon = () => { 7 | return ( 8 |
9 |
10 |
11 | 12 | 下拉刷新 13 |
14 |
15 | 16 | 松开刷新 17 |
18 |
19 | ) 20 | } 21 | 22 | export default RenderIcon; -------------------------------------------------------------------------------- /src/js/components/HomeComponents/OnSale/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/3. 3 | */ 4 | import React from 'react' 5 | import Timer from './Timer' 6 | import styles from './index.scss' 7 | 8 | export default class OnSale extends React.Component { 9 | 10 | 11 | 12 | render() { 13 | const { data, targetClick } = this.props; 14 | let view = []; 15 | data.map((item, index) => { 16 | view.push( 17 | 18 | ) 19 | }) 20 | return ( 21 |
22 | {view} 23 |
24 | ) 25 | } 26 | 27 | 28 | } -------------------------------------------------------------------------------- /src/js/components/HomeComponents/TabList/index.scss: -------------------------------------------------------------------------------- 1 | .scrollBox { 2 | width: 100%; 3 | height: .8rem; 4 | overflow-x: scroll; 5 | overflow-y: hidden; 6 | position: relative; 7 | &::-webkit-scrollbar{width:0;height:0} 8 | ul { 9 | li { 10 | font-size: .3rem; 11 | float: left; 12 | width: 1.6rem; 13 | line-height: .8rem; 14 | text-align: center; 15 | height:.8rem; 16 | } 17 | .activeLi{ 18 | width: 1.6rem; 19 | position: absolute; 20 | content: ''; 21 | bottom: 0; 22 | left: 0; 23 | height: 0.05rem; 24 | transition: all .5s; 25 | background: #fc6c26; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/js/actions/CouponActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by HEro on 2017/5/15. 3 | */ 4 | import { 5 | QUERY_COUPON, QUERY_COUPON_SUCCESS, INIT_COUPON, END_COUPON_CTRL,DELETE_COUPON 6 | } from './actionsTypes'; 7 | 8 | export const getCouponList = status => ({ 9 | type: QUERY_COUPON, 10 | status 11 | }) 12 | 13 | export const getCouponListSuccess = (coupon) => ({ 14 | type: QUERY_COUPON_SUCCESS, 15 | coupon 16 | }) 17 | 18 | export const initCoupon = () => ({ 19 | type: INIT_COUPON 20 | }) 21 | 22 | export const endCouponCtrl = () => ({ 23 | type: END_COUPON_CTRL 24 | }) 25 | 26 | export const deleteCoupon = (status,couponId) => ({ 27 | type: DELETE_COUPON, 28 | status, 29 | couponId 30 | }) 31 | 32 | -------------------------------------------------------------------------------- /src/js/service/RegExp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/3/11. 3 | */ 4 | const mobileReg = new RegExp(/^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/) 5 | const postcodeReg = new RegExp(/^[0-9]{5,6}$/) 6 | const nickNameReg = new RegExp(/^[_\n\w\u4e00-\u9fa5]*$/) 7 | const moneyReg = new RegExp(/^[1-9]([0-9]{0,6})(\.[0-9]{2})|([0-9]*)|([0-9]\.[0-9]{2})$/) 8 | 9 | export const isMobile = (text) => { 10 | return mobileReg.test(text) 11 | } 12 | 13 | export const isPostcode = (text) => { 14 | return postcodeReg.test(text) 15 | } 16 | 17 | export const isNickName = (text) => { 18 | return nickNameReg.test(text) 19 | } 20 | 21 | export const isMoney = (text) => { 22 | return moneyReg.test(text) 23 | } -------------------------------------------------------------------------------- /src/js/components/BaseComponents/Category/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | background-color: #FFFFFF; 3 | 4 | .name { 5 | padding: .2rem; 6 | vertical-align: middle; 7 | img { 8 | width: .24rem; 9 | vertical-align: middle; 10 | margin-right: 0.15rem; 11 | } 12 | } 13 | 14 | .panel { 15 | width: 25%; 16 | display: inline-block; 17 | .thumb { 18 | display: block; 19 | height: 0.94rem; 20 | width: 0.94rem; 21 | border-radius: 50%; 22 | margin: auto; 23 | margin-bottom: 0.1rem; 24 | } 25 | 26 | .title { 27 | width: 80%; 28 | margin: auto; 29 | line-height: 1; 30 | color: #323232; 31 | text-align: center; 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /src/js/reducers/presubmit.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/3/11. 3 | */ 4 | import { 5 | PRESUBMIT, 6 | PRESUBMIT_SUCCESS 7 | } from 'actions/actionsTypes' 8 | 9 | const init = { 10 | type: '', 11 | data: [] 12 | } 13 | 14 | export default function presubmit(state = init, action) { 15 | switch (action.type) { 16 | case PRESUBMIT: 17 | return { 18 | ...state 19 | } 20 | case PRESUBMIT_SUCCESS: 21 | return { 22 | ...state, 23 | type: action.status, 24 | data: action.result 25 | } 26 | default: 27 | return { 28 | ...state 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /src/js/components/BaseComponents/LoginHeader/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/10. 3 | */ 4 | import React from 'react' 5 | import styles from './index.scss' 6 | 7 | const LoginHeader = props => { 8 | const { back } = props 9 | 10 | return ( 11 |
12 |
13 | 关闭 14 |
15 |
16 | 18 |
19 |
20 | ) 21 | } 22 | 23 | export default LoginHeader; -------------------------------------------------------------------------------- /src/js/components/ProductComponents/FixHeader/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | position: fixed; 3 | top: 0; 4 | left: 0; 5 | display: flex; 6 | align-items: center; 7 | justify-content: space-between; 8 | z-index: 10; 9 | width: 100%; 10 | height: .98rem; 11 | padding: .24rem; 12 | .right { 13 | display: flex; 14 | } 15 | .bg { 16 | display: flex; 17 | justify-content: center; 18 | align-items: center; 19 | width: .6rem; 20 | height: .6rem; 21 | border-radius: 50%; 22 | } 23 | .back img { 24 | width: .2rem; 25 | } 26 | .cart { 27 | img { 28 | width: .4rem; 29 | } 30 | } 31 | .share { 32 | margin-left: .2rem; 33 | img { 34 | width: .28rem; 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /src/js/components/HomeComponents/TemplateHeader/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/12. 3 | */ 4 | import React from 'react' 5 | import styles from './index.scss' 6 | 7 | const TemplateHeader = props => { 8 | const { title, back } = props 9 | 10 | return ( 11 |
12 |
13 |
14 |
15 | 16 |
17 |

{title}

18 |
19 |
20 | ) 21 | } 22 | 23 | export default TemplateHeader -------------------------------------------------------------------------------- /src/js/components/SearchComponent/SearchInput/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | background: #ffffff; 3 | height: 1.05rem; 4 | padding: 0 .2rem; 5 | display: flex; 6 | align-items: center; 7 | .searchInput { 8 | background: #eeeeee; 9 | height: .7rem; 10 | flex-grow: 1; 11 | border-radius: .1rem; 12 | display: flex; 13 | display: -webkit-flex; 14 | span { 15 | width: .4rem; 16 | margin-left: .1rem; 17 | img{ 18 | width: 100%; 19 | } 20 | } 21 | 22 | input { 23 | font-size: .3rem; 24 | margin-left: .08rem; 25 | background: #eeeeee; 26 | border: none; 27 | } 28 | } 29 | .cancel { 30 | font-size: .34rem; 31 | margin-left: .15rem; 32 | color: #fc6c26 33 | } 34 | } -------------------------------------------------------------------------------- /src/js/components/HomeComponents/TemplateHeader/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | 4 | .fixedHeight { 5 | width: 100%; 6 | height: .88rem; 7 | } 8 | 9 | .fixedTop { 10 | width: 100%; 11 | height: .88rem; 12 | position: fixed; 13 | top: 0; 14 | left: 0; 15 | display: flex; 16 | align-items: center; 17 | background-color: #FFFFFF; 18 | z-index: 999; 19 | 20 | .back { 21 | position: absolute; 22 | left: .24rem; 23 | width: 1rem; 24 | height: 100%; 25 | 26 | img { 27 | width: .14rem; 28 | height: auto; 29 | } 30 | } 31 | 32 | p{ 33 | flex-grow: 1; 34 | text-align: center; 35 | font-size: .3rem; 36 | color: #333333; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /src/js/components/BaseComponents/NavBar/Nav/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2016/12/10. 3 | */ 4 | import React, {Component} from 'react'; 5 | import {Link} from 'react-router'; 6 | import styles from './index.scss'; 7 | 8 | export default class Nav extends Component { 9 | 10 | render() { 11 | const {active, icoName, pathUrl, linkName, ...rest} = this.props; 12 | 13 | return ( 14 | 20 | 21 | {linkName} 22 | 23 | ) 24 | } 25 | } -------------------------------------------------------------------------------- /src/js/reducers/personal.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by HEro on 2017/5/22. 3 | */ 4 | import { 5 | QUERY_PERSONAL, 6 | QUERY_PERSONAL_SUCCESS, 7 | END_PERSONAL_CTRL, 8 | } from '../actions/actionsTypes' 9 | 10 | const init = { 11 | isFetching: false, 12 | sex:'' 13 | } 14 | 15 | export default function queryPersonal(state = init, action) { 16 | switch (action.type) { 17 | case QUERY_PERSONAL: 18 | return { 19 | ...state, 20 | isFetching: false 21 | } 22 | case QUERY_PERSONAL_SUCCESS: 23 | return { 24 | ...state, 25 | isFetching: false 26 | } 27 | case END_PERSONAL_CTRL: 28 | return { 29 | ...state, 30 | isFetching: false, 31 | } 32 | default: 33 | return state 34 | } 35 | } -------------------------------------------------------------------------------- /src/js/service/LocalUtil.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/2/24. 3 | */ 4 | const localStorage = window.localStorage 5 | 6 | export const LocalUtil = { 7 | /** 8 | * 设置存储 9 | * @param key {string} 键值 10 | * @data data {object} 数据 11 | */ 12 | set(key, data) { 13 | localStorage.setItem(key, JSON.stringify(data)) 14 | }, 15 | 16 | /** 17 | * 获取存储 18 | * @param key {string} 键值 19 | */ 20 | get(key) { 21 | return JSON.parse(localStorage.getItem(key)) || undefined 22 | }, 23 | 24 | /** 25 | * 移除存储 26 | * @param key {string} 键值 27 | */ 28 | remove(key) { 29 | localStorage.removeItem(key) 30 | }, 31 | 32 | /** 33 | * 清空存储 34 | */ 35 | clear() { 36 | localStorage.clear() 37 | } 38 | } -------------------------------------------------------------------------------- /src/js/actions/PromotionActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/3/13. 3 | */ 4 | import { 5 | PROMOTION_QUERY, 6 | SUCCESS_PROMOTION_QUERY, 7 | PROMOTION_CALCULATE, 8 | SUCCESS_PROMOTION_CALCULATE, 9 | PROMOTION_END 10 | } from './actionsTypes' 11 | 12 | export const queryPromotion = params => ({ 13 | type: PROMOTION_QUERY, 14 | params 15 | }) 16 | 17 | export const queryPromotionSuccess = result => ({ 18 | type: SUCCESS_PROMOTION_QUERY, 19 | result 20 | }) 21 | 22 | export const calculatePromotion = params => ({ 23 | type: PROMOTION_CALCULATE, 24 | params 25 | }) 26 | 27 | export const calculatePromotionSuccess = result => ({ 28 | type: SUCCESS_PROMOTION_CALCULATE, 29 | result 30 | }) 31 | 32 | export const promotionEnd = () => ({ 33 | type: PROMOTION_END 34 | }) 35 | -------------------------------------------------------------------------------- /src/js/service/SessionUtil.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/3/24. 3 | */ 4 | const sessionStorage = window.sessionStorage 5 | 6 | export const SessionUtil = { 7 | /** 8 | * 设置存储 9 | * @param key {string} 键值 10 | * @data data {object} 数据 11 | */ 12 | set(key, data) { 13 | sessionStorage.setItem(key, JSON.stringify(data)) 14 | }, 15 | 16 | /** 17 | * 获取存储 18 | * @param key {string} 键值 19 | */ 20 | get(key) { 21 | return JSON.parse(sessionStorage.getItem(key)) || undefined 22 | }, 23 | 24 | /** 25 | * 移除存储 26 | * @param key {string} 键值 27 | */ 28 | remove(key) { 29 | sessionStorage.removeItem(key) 30 | }, 31 | 32 | /** 33 | * 清空存储 34 | */ 35 | clear() { 36 | sessionStorage.clear() 37 | } 38 | } -------------------------------------------------------------------------------- /src/js/components/LifeComponents/Article/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | 4 | .panel { 5 | display: block; 6 | width: 100%; 7 | background-color: #FFFFFF; 8 | 9 | .picture { 10 | width: 100%; 11 | height: 53.3333vw; 12 | background-color: #FFFFFF; 13 | overflow: hidden; 14 | img { 15 | height: 100% 16 | } 17 | } 18 | 19 | .detail { 20 | padding: .25rem .24rem; 21 | 22 | .attr { 23 | color: #fc6c26; 24 | padding-right: .1rem; 25 | border-right: 1px solid #828282; 26 | margin-right: .1rem; 27 | } 28 | } 29 | 30 | .article { 31 | display: table; 32 | width: 100%; 33 | background-color: #FFFFFF; 34 | font-size: .3rem; 35 | color: #333333; 36 | line-height: .5rem; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /src/js/components/HomeComponents/Brand/index.scss: -------------------------------------------------------------------------------- 1 | .root{ 2 | width: 100%; 3 | background-color: #FFFFFF; 4 | 5 | .panel { 6 | padding: 0 .16rem; 7 | width: 100%; 8 | display: inline-block; 9 | 10 | .brandItem { 11 | width: 50%; 12 | display: block; 13 | padding-bottom: .1rem; 14 | float: left; 15 | 16 | .imgDiv { 17 | position: relative; 18 | width: 100%; 19 | height: 0; 20 | padding-top: 50.84%; 21 | background-color: #ffffff; 22 | img { 23 | position: absolute; 24 | top: 0; 25 | left: 0; 26 | height: 100%; 27 | } 28 | } 29 | 30 | &:nth-child(odd) { 31 | padding-right: .05rem; 32 | } 33 | 34 | &:nth-child(even) { 35 | padding-left: .05rem; 36 | } 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /src/js/actions/EwuCardActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/3/1. 3 | */ 4 | import { 5 | QUERY_CARD, 6 | QUERY_CARD_SUCCESS, 7 | QUERY_CARD_DETAIL, 8 | QUERY_CARD_DETAIL_SUCCESS, 9 | INIT_CARD, 10 | EWUCARD_END 11 | } from './actionsTypes' 12 | 13 | export const queryCard = () => ({ 14 | type: QUERY_CARD 15 | }) 16 | 17 | export const queryCardSuccess = (purchased, applied) => ({ 18 | type: QUERY_CARD_SUCCESS, 19 | purchased, 20 | applied, 21 | }) 22 | 23 | export const queryCardDetail = params => ({ 24 | type: QUERY_CARD_DETAIL, 25 | params 26 | }) 27 | 28 | export const queryCardDetailSuccess = result => ({ 29 | type: QUERY_CARD_DETAIL_SUCCESS, 30 | result 31 | }) 32 | 33 | export const initCard = () => ({ 34 | type: INIT_CARD 35 | }) 36 | 37 | export const ewucardEnd = () => ({ 38 | type: EWUCARD_END 39 | }) 40 | -------------------------------------------------------------------------------- /src/js/components/MineComponents/MineHeader/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | height: 2.88rem; 4 | background: url("../../../../images/mine/mine_bg.png"); 5 | display: flex; 6 | align-items: center; 7 | padding: 0 .24rem; 8 | padding-top: .88rem; 9 | 10 | .avator { 11 | width: 1.2rem; 12 | height: 1.2rem; 13 | border-radius: 50%; 14 | overflow: hidden; 15 | margin-right: .3rem; 16 | background-color: #FFFFFF; 17 | 18 | img { 19 | min-width: 100%; 20 | height: 100%; 21 | } 22 | } 23 | 24 | p { 25 | font-size: .3rem; 26 | color: #FFFFFF; 27 | } 28 | 29 | .arrowPanel { 30 | flex-grow: 1; 31 | display: flex; 32 | justify-content: flex-end; 33 | 34 | .arrowRight { 35 | width: .14rem; 36 | height: .29rem; 37 | 38 | img { 39 | width: 100%; 40 | } 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /src/js/components/BaseComponents/LazyLoadComponent/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/2/16. 3 | */ 4 | import React from 'react'; 5 | import LazyLoad from 'react-lazyload' 6 | import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; 7 | 8 | const LazyLoadComponent = props => { 9 | return ( 10 | 11 | 17 | {props.children} 18 | 19 | 20 | ) 21 | } 22 | 23 | export default LazyLoadComponent; -------------------------------------------------------------------------------- /src/js/components/MineComponents/MyOrder/index.scss: -------------------------------------------------------------------------------- 1 | .root { 2 | width: 100%; 3 | height: .88rem; 4 | padding: 0 .24rem; 5 | display: flex; 6 | justify-content: space-between; 7 | align-items: center; 8 | background-color: #fff; 9 | border-bottom: 1px solid #eeeeee; 10 | 11 | .title { 12 | font-size: .3rem; 13 | color: #333; 14 | 15 | i { 16 | width: .26rem; 17 | height: .35rem; 18 | background: url("../../../../images/mine/mine_icon_order.png") no-repeat; 19 | background-size: 100%; 20 | display: inline-block; 21 | vertical-align: sub; 22 | margin-right: .16rem; 23 | } 24 | } 25 | 26 | .entry { 27 | font-size: .28rem; 28 | color: #828282; 29 | 30 | i { 31 | width: .14rem; 32 | height: .28rem; 33 | display: inline-block; 34 | vertical-align: sub; 35 | margin-left: .16rem; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /src/js/components/MineComponents/MineHeader/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/11. 3 | */ 4 | import React from 'react'; 5 | import { Link } from 'react-router' 6 | import styles from './index.scss'; 7 | 8 | const MineHeader = () => { 9 | let userInfo = localStorage.userInfo ? JSON.parse(localStorage.userInfo) : {} 10 | return ( 11 | 12 |
13 | 14 |
15 |

{userInfo.nickName}

16 |
17 |
18 | 19 |
20 |
21 | 22 | ) 23 | } 24 | 25 | export default MineHeader -------------------------------------------------------------------------------- /src/js/components/ProductComponents/FreePostage/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2016/12/14. 3 | */ 4 | import React, { Component } from 'react'; 5 | import styles from './index.scss'; 6 | import { api } from 'service' 7 | 8 | export default class FreePostage extends Component { 9 | render() { 10 | const { freightFreeThreshold,storeName } = this.props; 11 | let freightFree = api.handleFreightFree(freightFreeThreshold); 12 | return ( 13 |
14 | 包邮 15 | { 16 | freightFree === 0 ? 17 | {storeName}商品全场包邮 18 | : 19 | {storeName}订单满{freightFree}元包邮 20 | } 21 |
22 | ) 23 | } 24 | } -------------------------------------------------------------------------------- /src/js/containers/SearchPage/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2016/12/12. 3 | */ 4 | import React, {Component} from 'react'; 5 | import {hashHistory} from 'react-router' 6 | import {SearchInput, SearchHistory, SetHelmet} from 'components' 7 | import {connect} from 'react-redux' 8 | 9 | class SearchPage extends Component { 10 | 11 | render() { 12 | return ( 13 |
14 | 15 | 16 |
17 | 18 |
19 | ) 20 | } 21 | 22 | search = (value) => { 23 | hashHistory.push(`/list?names=${encodeURIComponent(value)}`) 24 | } 25 | 26 | back = () => { 27 | hashHistory.goBack() 28 | } 29 | } 30 | 31 | const mapStateToProps = state => ({ 32 | state 33 | }) 34 | 35 | export default connect( 36 | mapStateToProps 37 | )(SearchPage) -------------------------------------------------------------------------------- /src/js/actions/LifeActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/13. 3 | */ 4 | import { 5 | FETCH_LIFE, 6 | FETCH_LIFE_SUCCESS, 7 | FETCH_ARTICLE, 8 | FETCH_ARTICLE_SUCCESS, 9 | LIFE_END, 10 | ADD_ID, 11 | SAVE_ID 12 | } from './actionsTypes' 13 | 14 | export const fetchLife = params => ({ 15 | type: FETCH_LIFE, 16 | params 17 | }) 18 | 19 | export const fetchLifeSuccess = life => ({ 20 | type: FETCH_LIFE_SUCCESS, 21 | life 22 | }) 23 | 24 | export const fetchArticle = params => ({ 25 | type: FETCH_ARTICLE, 26 | params 27 | }) 28 | 29 | export const fetchArticleSuccess = article => ({ 30 | type: FETCH_ARTICLE_SUCCESS, 31 | article 32 | }) 33 | 34 | export const lifeEnd = () => ({ 35 | type: LIFE_END 36 | }) 37 | 38 | export const addId = id => ({ 39 | type: ADD_ID, 40 | id 41 | }) 42 | 43 | export const saveId = id => ({ 44 | type: SAVE_ID, 45 | id 46 | }) -------------------------------------------------------------------------------- /src/js/reducers/catelog.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/1/4. 3 | */ 4 | import { 5 | CATELOG_FETCH, 6 | CATELOG_FETCH_SUCCESS, 7 | CATELOG_END 8 | } from 'actions/actionsTypes' 9 | 10 | const init = { 11 | isFetching: false, 12 | items: [] 13 | } 14 | 15 | export default function catelog(state = init, action) { 16 | switch (action.type) { 17 | case CATELOG_FETCH: 18 | return { 19 | ...state, 20 | isFetching: true, 21 | } 22 | case CATELOG_FETCH_SUCCESS: 23 | return { 24 | ...state, 25 | isFetching: false, 26 | items: action.catelog, 27 | lastUpdated: action.receivedAt 28 | } 29 | case CATELOG_END: 30 | return { 31 | ...state, 32 | isFetching: false 33 | } 34 | default: 35 | return state 36 | } 37 | } -------------------------------------------------------------------------------- /src/js/containers/Lnk/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Ben on 2017/5/31. 3 | */ 4 | import React, {Component} from 'react'; 5 | import {getQueryString} from 'service' 6 | import {SetHelmet} from 'components' 7 | import styles from './index.scss' 8 | 9 | class Lnk extends Component { 10 | constructor(props) { 11 | super(props) 12 | const {search} = props.location; 13 | const url = search ? getQueryString(search, 'url') ? decodeURIComponent(getQueryString(search, 'url')) : '' : ''; 14 | this.state = {url} 15 | } 16 | 17 | render() { 18 | const {query} = this.props.location; 19 | return ( 20 |
21 | 22 |