├── .gitignore ├── LICENSE ├── README.md ├── doc ├── .vuepress │ ├── config.js │ ├── public │ │ ├── favicon.ico │ │ └── logo.jpg │ └── style.styl ├── README.md ├── database.sql ├── donate.md ├── ecosystem │ ├── app.md │ └── uniapp.md ├── guide │ ├── base │ │ ├── jdkAndMaven.md │ │ ├── modules.md │ │ ├── preface.md │ │ ├── resource.md │ │ └── zanshan.jpg │ ├── develop │ │ ├── api.md │ │ ├── attribute.md │ │ ├── banner.md │ │ ├── develop.md │ │ ├── express.md │ │ ├── mpvue.md │ │ └── wechat.md │ ├── img │ │ ├── admin.gif │ │ ├── architecture.jpg │ │ ├── attr │ │ │ ├── multiple_attr1.jpg │ │ │ ├── multiple_attr2.jpg │ │ │ └── single_attr.jpg │ │ ├── banner.jpg │ │ ├── develop │ │ │ ├── cfg_weixin.jpg │ │ │ ├── express_admin.png │ │ │ └── express_mobile.jpg │ │ ├── haike.jpg │ │ ├── mobile.gif │ │ └── other │ │ │ ├── linjiashop_video.png │ │ │ └── xiaomiquan.png │ ├── other │ │ ├── changelog.md │ │ ├── faq.md │ │ └── video.md │ └── quickstart │ │ ├── clone.md │ │ ├── config.md │ │ ├── index.jpg │ │ ├── initDb.md │ │ ├── login.jpg │ │ ├── quickstart.md │ │ └── startup.md ├── img │ ├── app │ │ ├── cart.png │ │ ├── code.png │ │ ├── find.png │ │ ├── guige.jpg │ │ ├── home.png │ │ ├── login.png │ │ ├── mine.png │ │ └── mobile.gif │ ├── donate.jpg │ └── online │ │ ├── wechat_pay.jpg │ │ ├── wechat_pay_admin.png │ │ └── wt1hd.jpg ├── online │ ├── day01.md │ ├── day02.md │ ├── day03.md │ ├── day04.md │ ├── day05.md │ ├── day06.md │ └── summary.md └── package.json ├── linjiashop-admin-api ├── pom.xml └── src │ └── main │ ├── java │ └── cn │ │ └── enilu │ │ └── flash │ │ └── api │ │ ├── AdminApiApplication.java │ │ ├── config │ │ ├── CORSConfiguration.java │ │ ├── EhCacheConfig.java │ │ ├── ShiroConfig.java │ │ ├── Swagger2Configuration.java │ │ └── UserIDAuditorConfig.java │ │ ├── controller │ │ ├── AccountController.java │ │ ├── DashboardController.java │ │ ├── FileController.java │ │ ├── cms │ │ │ ├── ArticleMgrController.java │ │ │ ├── BannerMgrController.java │ │ │ ├── ChannelMgrController.java │ │ │ ├── ContactsController.java │ │ │ └── FileMgrController.java │ │ ├── front │ │ │ └── officialsite │ │ │ │ ├── ArticleController.java │ │ │ │ ├── CaseController.java │ │ │ │ ├── Contact.java │ │ │ │ ├── ContactController.java │ │ │ │ ├── NewsController.java │ │ │ │ ├── OffcialSiteController.java │ │ │ │ ├── OffcialSiteProductController.java │ │ │ │ └── SolutionController.java │ │ ├── message │ │ │ ├── MessageController.java │ │ │ ├── MessagesenderController.java │ │ │ └── MessagetemplateController.java │ │ ├── mobile │ │ │ └── package-info.java │ │ ├── package-info.java │ │ ├── promotion │ │ │ └── TopicController.java │ │ ├── shop │ │ │ ├── AddressController.java │ │ │ ├── AttrKeyController.java │ │ │ ├── AttrValController.java │ │ │ ├── CartController.java │ │ │ ├── CategoryController.java │ │ │ ├── FavoriteController.java │ │ │ ├── GoodsController.java │ │ │ ├── GoodsSkuController.java │ │ │ ├── OrderController.java │ │ │ ├── OrderItemController.java │ │ │ ├── OrderLogController.java │ │ │ ├── ShopUserController.java │ │ │ └── package-info.java │ │ └── system │ │ │ ├── CfgController.java │ │ │ ├── DeptContoller.java │ │ │ ├── DictController.java │ │ │ ├── ExpressController.java │ │ │ ├── LogController.java │ │ │ ├── LoginLogController.java │ │ │ ├── MenuController.java │ │ │ ├── NoticeController.java │ │ │ ├── RoleController.java │ │ │ ├── TaskController.java │ │ │ └── UserController.java │ │ ├── runner │ │ └── StartJob.java │ │ └── utils │ │ └── SessionUtils.java │ └── resources │ ├── application-dev.properties │ ├── application-prod.properties │ ├── application.properties │ ├── banner.txt │ ├── ehcache.xml │ ├── import.sql │ ├── logback.xml │ └── templates │ ├── config.xlsx │ └── orderList.xlsx ├── linjiashop-admin ├── .editorconfig ├── .env.development ├── .env.production ├── .env.staging ├── .eslintignore ├── .eslintrc.js ├── .postcssrc.js ├── .travis.yml ├── LICENSE ├── babel.config.js ├── build │ └── index.js ├── jest.config.js ├── mock │ ├── index.js │ ├── menu.js │ ├── mock-server.js │ ├── table.js │ └── user.js ├── package.json ├── public │ ├── favicon.ico │ ├── img │ │ └── bg.jpg │ ├── index.html │ └── tinymce4.7.5 │ │ ├── langs │ │ └── zh_CN.js │ │ ├── plugins │ │ ├── codesample │ │ │ └── css │ │ │ │ └── prism.css │ │ ├── emoticons │ │ │ └── img │ │ │ │ ├── smiley-cool.gif │ │ │ │ ├── smiley-cry.gif │ │ │ │ ├── smiley-embarassed.gif │ │ │ │ ├── smiley-foot-in-mouth.gif │ │ │ │ ├── smiley-frown.gif │ │ │ │ ├── smiley-innocent.gif │ │ │ │ ├── smiley-kiss.gif │ │ │ │ ├── smiley-laughing.gif │ │ │ │ ├── smiley-money-mouth.gif │ │ │ │ ├── smiley-sealed.gif │ │ │ │ ├── smiley-smile.gif │ │ │ │ ├── smiley-surprised.gif │ │ │ │ ├── smiley-tongue-out.gif │ │ │ │ ├── smiley-undecided.gif │ │ │ │ ├── smiley-wink.gif │ │ │ │ └── smiley-yell.gif │ │ └── visualblocks │ │ │ └── css │ │ │ └── visualblocks.css │ │ ├── skins │ │ └── lightgray │ │ │ ├── content.inline.min.css │ │ │ ├── content.min.css │ │ │ ├── fonts │ │ │ ├── tinymce-mobile.woff │ │ │ ├── tinymce-small.eot │ │ │ ├── tinymce-small.svg │ │ │ ├── tinymce-small.ttf │ │ │ ├── tinymce-small.woff │ │ │ ├── tinymce.eot │ │ │ ├── tinymce.svg │ │ │ ├── tinymce.ttf │ │ │ └── tinymce.woff │ │ │ ├── img │ │ │ ├── anchor.gif │ │ │ ├── loader.gif │ │ │ ├── object.gif │ │ │ └── trans.gif │ │ │ ├── skin.min.css │ │ │ └── skin.min.css.map │ │ └── tinymce.min.js ├── src │ ├── App.vue │ ├── api │ │ ├── cms │ │ │ ├── article.js │ │ │ ├── banner.js │ │ │ ├── channel.js │ │ │ ├── contacts.js │ │ │ └── fileInfo.js │ │ ├── dashboard.js │ │ ├── message │ │ │ ├── message.js │ │ │ ├── sender.js │ │ │ └── template.js │ │ ├── promotion │ │ │ └── topic.js │ │ ├── shop │ │ │ ├── address.js │ │ │ ├── attrKey.js │ │ │ ├── attrVal.js │ │ │ ├── cart.js │ │ │ ├── category.js │ │ │ ├── favorite.js │ │ │ ├── goods.js │ │ │ ├── goodsSku.js │ │ │ ├── order.js │ │ │ ├── orderItem.js │ │ │ └── shopUser.js │ │ ├── system │ │ │ ├── cfg.js │ │ │ ├── dept.js │ │ │ ├── dict.js │ │ │ ├── express.js │ │ │ ├── log.js │ │ │ ├── loginLog.js │ │ │ ├── menu.js │ │ │ ├── notice.js │ │ │ ├── role.js │ │ │ ├── task.js │ │ │ └── user.js │ │ ├── table.js │ │ └── user.js │ ├── assets │ │ ├── 404_images │ │ │ ├── 404.png │ │ │ └── 404_cloud.png │ │ ├── custom-theme │ │ │ ├── fonts │ │ │ │ ├── element-icons.ttf │ │ │ │ └── element-icons.woff │ │ │ └── index.css │ │ └── img │ │ │ └── avatar.gif │ ├── components │ │ ├── Breadcrumb │ │ │ └── index.vue │ │ ├── DictSelect │ │ │ └── index.vue │ │ ├── Hamburger │ │ │ └── index.vue │ │ ├── IconSelect │ │ │ ├── index.vue │ │ │ └── requireIcons.js │ │ ├── LangSelect │ │ │ └── index.vue │ │ ├── RightPanel │ │ │ └── index.vue │ │ ├── SvgIcon │ │ │ └── index.vue │ │ ├── ThemePicker │ │ │ └── index.vue │ │ ├── Tinymce │ │ │ └── index.vue │ │ ├── TreeTable │ │ │ ├── eval.js │ │ │ ├── index.vue │ │ │ └── readme.md │ │ └── editContainer │ │ │ ├── plugins.js │ │ │ └── toolbar.js │ ├── directive │ │ └── permission │ │ │ ├── index.js │ │ │ └── permission.js │ ├── icons │ │ ├── index.js │ │ ├── svg │ │ │ ├── 404.svg │ │ │ ├── articleEdit.svg │ │ │ ├── banner.svg │ │ │ ├── bug.svg │ │ │ ├── build.svg │ │ │ ├── cart.svg │ │ │ ├── category.svg │ │ │ ├── cfg.svg │ │ │ ├── channel.svg │ │ │ ├── chart.svg │ │ │ ├── clipboard.svg │ │ │ ├── code.svg │ │ │ ├── component.svg │ │ │ ├── contacts.svg │ │ │ ├── dashboard.svg │ │ │ ├── date.svg │ │ │ ├── dept.svg │ │ │ ├── dict.svg │ │ │ ├── documentation.svg │ │ │ ├── download.svg │ │ │ ├── drag.svg │ │ │ ├── druid.svg │ │ │ ├── edit.svg │ │ │ ├── education.svg │ │ │ ├── email.svg │ │ │ ├── excel.svg │ │ │ ├── exit-fullscreen.svg │ │ │ ├── express.svg │ │ │ ├── eye-open.svg │ │ │ ├── favorite.svg │ │ │ ├── file.svg │ │ │ ├── form.svg │ │ │ ├── fullscreen.svg │ │ │ ├── goods.svg │ │ │ ├── icon.svg │ │ │ ├── international.svg │ │ │ ├── job.svg │ │ │ ├── language.svg │ │ │ ├── link.svg │ │ │ ├── list.svg │ │ │ ├── lock.svg │ │ │ ├── log.svg │ │ │ ├── logininfor.svg │ │ │ ├── menu.svg │ │ │ ├── message.svg │ │ │ ├── money.svg │ │ │ ├── monitor.svg │ │ │ ├── nested.svg │ │ │ ├── nested0.svg │ │ │ ├── online.svg │ │ │ ├── operation.svg │ │ │ ├── order.svg │ │ │ ├── password.svg │ │ │ ├── password0.svg │ │ │ ├── pdf.svg │ │ │ ├── people.svg │ │ │ ├── peoples.svg │ │ │ ├── phone.svg │ │ │ ├── post.svg │ │ │ ├── promotion.svg │ │ │ ├── qq.svg │ │ │ ├── search.svg │ │ │ ├── sender.svg │ │ │ ├── server.svg │ │ │ ├── shop.svg │ │ │ ├── size.svg │ │ │ ├── skill.svg │ │ │ ├── star.svg │ │ │ ├── swagger.svg │ │ │ ├── system.svg │ │ │ ├── tab.svg │ │ │ ├── table.svg │ │ │ ├── table0.svg │ │ │ ├── task.svg │ │ │ ├── template.svg │ │ │ ├── theme.svg │ │ │ ├── tool.svg │ │ │ ├── topic.svg │ │ │ ├── tree-table.svg │ │ │ ├── tree.svg │ │ │ ├── user.svg │ │ │ ├── user0.svg │ │ │ ├── validCode.svg │ │ │ ├── wechat.svg │ │ │ └── zip.svg │ │ └── svgo.yml │ ├── lang │ │ ├── en.js │ │ ├── index.js │ │ └── zh.js │ ├── layout │ │ ├── components │ │ │ ├── AppMain.vue │ │ │ ├── Navbar.vue │ │ │ ├── Settings │ │ │ │ └── index.vue │ │ │ ├── Sidebar │ │ │ │ ├── FixiOSBug.js │ │ │ │ ├── Item.vue │ │ │ │ ├── Link.vue │ │ │ │ ├── Logo.vue │ │ │ │ ├── SidebarItem.vue │ │ │ │ └── index.vue │ │ │ ├── TagsView │ │ │ │ ├── ScrollPane.vue │ │ │ │ └── index.vue │ │ │ └── index.js │ │ ├── index.vue │ │ └── mixin │ │ │ └── ResizeHandler.js │ ├── main.js │ ├── permission.js │ ├── router │ │ └── index.js │ ├── settings.js │ ├── store │ │ ├── getters.js │ │ ├── index.js │ │ └── modules │ │ │ ├── app.js │ │ │ ├── menu.js │ │ │ ├── settings.js │ │ │ ├── tagsView.js │ │ │ └── user.js │ ├── styles │ │ ├── common.scss │ │ ├── element-ui.scss │ │ ├── element-variables.scss │ │ ├── index.scss │ │ ├── mixin.scss │ │ ├── sidebar.scss │ │ ├── transition.scss │ │ └── variables.scss │ ├── utils │ │ ├── aes.js │ │ ├── auth.js │ │ ├── get-page-title.js │ │ ├── i18n.js │ │ ├── index.js │ │ ├── print.js │ │ ├── request.js │ │ ├── route.js │ │ ├── utils.js │ │ └── validate.js │ └── views │ │ ├── 404.vue │ │ ├── account │ │ ├── profile.js │ │ ├── profile.vue │ │ ├── timeline.js │ │ ├── timeline.vue │ │ ├── updatePwd.js │ │ └── updatePwd.vue │ │ ├── cms │ │ ├── article │ │ │ ├── article.js │ │ │ ├── edit.js │ │ │ ├── edit.vue │ │ │ └── index.vue │ │ ├── banner │ │ │ ├── banner.js │ │ │ └── index.vue │ │ ├── channel │ │ │ ├── channel.js │ │ │ └── index.vue │ │ ├── contacts │ │ │ ├── contacts.js │ │ │ └── index.vue │ │ └── file │ │ │ ├── file.js │ │ │ └── index.vue │ │ ├── dashboard │ │ ├── dashboard.js │ │ └── index.vue │ │ ├── login │ │ ├── index.vue │ │ ├── login.js │ │ └── login.scss │ │ ├── message │ │ ├── message │ │ │ ├── index.vue │ │ │ └── t_message.js │ │ ├── sender │ │ │ ├── index.vue │ │ │ └── t_message_sender.js │ │ └── template │ │ │ ├── index.vue │ │ │ └── t_message_template.js │ │ ├── operation │ │ ├── api │ │ │ └── index.vue │ │ ├── druid │ │ │ └── index.vue │ │ ├── log │ │ │ ├── index.vue │ │ │ └── log.js │ │ └── loginLog │ │ │ ├── index.vue │ │ │ └── loginLog.js │ │ ├── promotion │ │ └── topic │ │ │ ├── index.vue │ │ │ └── topic.js │ │ ├── redirect │ │ └── index.vue │ │ ├── shop │ │ ├── address │ │ │ ├── address.js │ │ │ └── index.vue │ │ ├── attribute │ │ │ ├── attribute.js │ │ │ └── index.vue │ │ ├── cart │ │ │ ├── cart.js │ │ │ └── index.vue │ │ ├── category │ │ │ ├── category.js │ │ │ └── index.vue │ │ ├── favorite │ │ │ ├── favorite.js │ │ │ └── index.vue │ │ ├── goods │ │ │ ├── edit.vue │ │ │ ├── goods.js │ │ │ ├── goodsEdit.js │ │ │ └── index.vue │ │ ├── order │ │ │ ├── detail.vue │ │ │ ├── index.vue │ │ │ ├── order.js │ │ │ └── orderDetail.js │ │ ├── orderItem │ │ │ ├── index.vue │ │ │ └── orderItem.js │ │ └── shopUser │ │ │ ├── detail.vue │ │ │ ├── index.vue │ │ │ ├── shopUser.js │ │ │ └── shopUserDetail.js │ │ └── system │ │ ├── cfg │ │ ├── cfg.js │ │ └── index.vue │ │ ├── dept │ │ ├── dept.js │ │ └── index.vue │ │ ├── dict │ │ ├── dict.js │ │ └── index.vue │ │ ├── express │ │ ├── express.js │ │ └── index.vue │ │ ├── menu │ │ ├── index.vue │ │ └── menu.js │ │ ├── role │ │ ├── index.vue │ │ └── role.js │ │ ├── task │ │ ├── index.vue │ │ ├── log.js │ │ ├── task.js │ │ └── taskLog.vue │ │ └── user │ │ ├── index.vue │ │ └── user.js ├── tests │ └── unit │ │ ├── .eslintrc.js │ │ ├── components │ │ ├── Breadcrumb.spec.js │ │ ├── Hamburger.spec.js │ │ └── SvgIcon.spec.js │ │ └── utils │ │ ├── formatTime.spec.js │ │ ├── parseTime.spec.js │ │ └── validate.spec.js └── vue.config.js ├── linjiashop-core ├── pom.xml └── src │ └── main │ ├── java │ └── cn │ │ └── enilu │ │ └── flash │ │ ├── CodeGenerator.java │ │ ├── bean │ │ ├── constant │ │ │ ├── CfgKey.java │ │ │ ├── Const.java │ │ │ ├── cache │ │ │ │ ├── Cache.java │ │ │ │ └── CacheKey.java │ │ │ ├── factory │ │ │ │ └── PageFactory.java │ │ │ ├── package-info.java │ │ │ └── state │ │ │ │ ├── BizLogType.java │ │ │ │ ├── LogSucceed.java │ │ │ │ ├── LogType.java │ │ │ │ ├── ManagerStatus.java │ │ │ │ ├── MenuStatus.java │ │ │ │ └── Order.java │ │ ├── core │ │ │ ├── AuthorizationUser.java │ │ │ ├── BussinessLog.java │ │ │ └── Permission.java │ │ ├── dto │ │ │ └── UserDto.java │ │ ├── entity │ │ │ ├── BaseEntity.java │ │ │ ├── ShopBaseEntity.java │ │ │ ├── cms │ │ │ │ ├── Article.java │ │ │ │ ├── Banner.java │ │ │ │ ├── Channel.java │ │ │ │ └── Contacts.java │ │ │ ├── message │ │ │ │ ├── Message.java │ │ │ │ ├── MessageSender.java │ │ │ │ └── MessageTemplate.java │ │ │ ├── promotion │ │ │ │ ├── Topic.java │ │ │ │ └── package-info.java │ │ │ ├── shop │ │ │ │ ├── Address.java │ │ │ │ ├── AttrKey.java │ │ │ │ ├── AttrVal.java │ │ │ │ ├── Cart.java │ │ │ │ ├── Category.java │ │ │ │ ├── CategoryBannerRel.java │ │ │ │ ├── ExpressInfo.java │ │ │ │ ├── Favorite.java │ │ │ │ ├── Goods.java │ │ │ │ ├── GoodsSku.java │ │ │ │ ├── Order.java │ │ │ │ ├── OrderItem.java │ │ │ │ ├── OrderLog.java │ │ │ │ └── ShopUser.java │ │ │ └── system │ │ │ │ ├── Cfg.java │ │ │ │ ├── Dept.java │ │ │ │ ├── Dict.java │ │ │ │ ├── Express.java │ │ │ │ ├── FileInfo.java │ │ │ │ ├── LoginLog.java │ │ │ │ ├── Menu.java │ │ │ │ ├── Notice.java │ │ │ │ ├── OperationLog.java │ │ │ │ ├── Relation.java │ │ │ │ ├── Role.java │ │ │ │ ├── Task.java │ │ │ │ ├── TaskLog.java │ │ │ │ └── User.java │ │ ├── enumeration │ │ │ ├── MessageTemplateEnum.java │ │ │ ├── Permission.java │ │ │ ├── ProjectEnum.java │ │ │ ├── RedisQueueName.java │ │ │ ├── SerialNumberEnum.java │ │ │ ├── TypeEnum.java │ │ │ ├── cms │ │ │ │ ├── BannerTypeEnum.java │ │ │ │ └── ChannelEnum.java │ │ │ └── shop │ │ │ │ └── OrderEnum.java │ │ ├── exception │ │ │ ├── ApplicationException.java │ │ │ ├── ApplicationExceptionEnum.java │ │ │ ├── InvalidKaptchaException.java │ │ │ ├── MailException.java │ │ │ ├── ParamException.java │ │ │ ├── ServiceExceptionEnum.java │ │ │ ├── SlConnectException.java │ │ │ ├── SlEvalException.java │ │ │ ├── ValidException.java │ │ │ ├── XSException.java │ │ │ └── XSRuntimeException.java │ │ ├── properties │ │ │ ├── DatabaseProperties.java │ │ │ └── PropertyConfigurer.java │ │ └── vo │ │ │ ├── DictVo.java │ │ │ ├── JwtUser.java │ │ │ ├── QuartzJob.java │ │ │ ├── SpringContextHolder.java │ │ │ ├── UserInfo.java │ │ │ ├── front │ │ │ ├── Ret.java │ │ │ └── Rets.java │ │ │ ├── node │ │ │ ├── CategoryNode.java │ │ │ ├── DeptNode.java │ │ │ ├── IsMenu.java │ │ │ ├── MenuMeta.java │ │ │ ├── MenuNode.java │ │ │ ├── Node.java │ │ │ ├── RouterMenu.java │ │ │ ├── TreeSelectNode.java │ │ │ └── ZTreeNode.java │ │ │ ├── offcialsite │ │ │ ├── ArticleVo.java │ │ │ ├── Author.java │ │ │ ├── BannerItem.java │ │ │ ├── BannerVo.java │ │ │ ├── News.java │ │ │ ├── Product.java │ │ │ ├── Reply.java │ │ │ └── Solution.java │ │ │ ├── query │ │ │ ├── DynamicSpecifications.java │ │ │ ├── SearchFilter.java │ │ │ └── SimpleSpecification.java │ │ │ └── shop │ │ │ ├── Base64File.java │ │ │ ├── CartVo.java │ │ │ ├── GoodsVo.java │ │ │ └── WechatInfo.java │ │ ├── cache │ │ ├── BaseCache.java │ │ ├── Cache.java │ │ ├── CacheDao.java │ │ ├── ConfigCache.java │ │ ├── DictCache.java │ │ ├── TokenCache.java │ │ ├── impl │ │ │ ├── ConfigCacheImpl.java │ │ │ ├── DictCacheImpl.java │ │ │ └── EhcacheDao.java │ │ └── package-info.java │ │ ├── core │ │ ├── aop │ │ │ └── LogAop.java │ │ ├── factory │ │ │ ├── DictFieldWarpperFactory.java │ │ │ └── UserFactory.java │ │ ├── listener │ │ │ ├── CacheListener.java │ │ │ └── ConfigListener.java │ │ └── log │ │ │ ├── LogFactory.java │ │ │ ├── LogManager.java │ │ │ └── LogTaskFactory.java │ │ ├── dao │ │ ├── BaseRepository.java │ │ ├── BaseRepositoryFactoryBean.java │ │ ├── BaseRepositoryImpl.java │ │ ├── DaoConfiguration.java │ │ ├── MySQLDialect.java │ │ ├── cms │ │ │ ├── ArticleRepository.java │ │ │ ├── BannerRepository.java │ │ │ ├── ChannelRepository.java │ │ │ └── ContactsRepository.java │ │ ├── message │ │ │ ├── MessageRepository.java │ │ │ ├── MessagesenderRepository.java │ │ │ └── MessagetemplateRepository.java │ │ ├── promotion │ │ │ └── TopicRepository.java │ │ ├── shop │ │ │ ├── AddressRepository.java │ │ │ ├── AttrKeyRepository.java │ │ │ ├── AttrValRepository.java │ │ │ ├── CartRepository.java │ │ │ ├── CategoryBannerRelRepository.java │ │ │ ├── CategoryRepository.java │ │ │ ├── ExpressInfoRepository.java │ │ │ ├── FavoriteRepository.java │ │ │ ├── GoodsRepository.java │ │ │ ├── GoodsSkuRepository.java │ │ │ ├── OrderItemRepository.java │ │ │ ├── OrderLogRepository.java │ │ │ ├── OrderRepository.java │ │ │ └── ShopUserRepository.java │ │ └── system │ │ │ ├── CfgRepository.java │ │ │ ├── DeptRepository.java │ │ │ ├── DictRepository.java │ │ │ ├── ExpressRepository.java │ │ │ ├── FileInfoRepository.java │ │ │ ├── LoginLogRepository.java │ │ │ ├── MenuRepository.java │ │ │ ├── NoticeRepository.java │ │ │ ├── OperationLogRepository.java │ │ │ ├── RelationRepository.java │ │ │ ├── RoleRepository.java │ │ │ ├── TaskLogRepository.java │ │ │ ├── TaskRepository.java │ │ │ └── UserRepository.java │ │ ├── security │ │ ├── ApiRealm.java │ │ ├── JwtFilter.java │ │ ├── JwtToken.java │ │ ├── JwtUtil.java │ │ ├── SystemLogoutFilter.java │ │ └── UserService.java │ │ ├── service │ │ ├── ApplicationProperties.java │ │ ├── BaseService.java │ │ ├── CrudService.java │ │ ├── DeleteService.java │ │ ├── InsertService.java │ │ ├── SelectService.java │ │ ├── UpdateService.java │ │ ├── api │ │ │ ├── WeixinService.java │ │ │ ├── express │ │ │ │ ├── ExpressApi.java │ │ │ │ └── kdniao │ │ │ │ │ ├── KdniaoResponse.java │ │ │ │ │ ├── KdniaoService.java │ │ │ │ │ └── Trace.java │ │ │ └── response │ │ │ │ └── response.json │ │ ├── cms │ │ │ ├── ArticleService.java │ │ │ ├── BannerService.java │ │ │ ├── ChannelService.java │ │ │ └── ContactsService.java │ │ ├── dashboard │ │ │ └── DashboardService.java │ │ ├── message │ │ │ ├── MessageService.java │ │ │ ├── MessagesenderService.java │ │ │ ├── MessagetemplateService.java │ │ │ ├── email │ │ │ │ ├── DefaultEmailSender.java │ │ │ │ └── EmailSender.java │ │ │ └── sms │ │ │ │ ├── SmsSender.java │ │ │ │ ├── aliyun │ │ │ │ └── AliSmsSender.java │ │ │ │ └── tencent │ │ │ │ └── TencentSmsSender.java │ │ ├── promotion │ │ │ └── TopicService.java │ │ ├── shop │ │ │ ├── AddressService.java │ │ │ ├── AttrKeyService.java │ │ │ ├── AttrValService.java │ │ │ ├── CartService.java │ │ │ ├── CategoryBannerRelService.java │ │ │ ├── CategoryService.java │ │ │ ├── ExpressInfoService.java │ │ │ ├── FavoriteService.java │ │ │ ├── GoodsService.java │ │ │ ├── GoodsSkuService.java │ │ │ ├── OrderItemService.java │ │ │ ├── OrderLogService.java │ │ │ ├── OrderService.java │ │ │ └── ShopUserService.java │ │ ├── system │ │ │ ├── AccountService.java │ │ │ ├── CfgService.java │ │ │ ├── DeptService.java │ │ │ ├── DictService.java │ │ │ ├── ExpressService.java │ │ │ ├── FileService.java │ │ │ ├── IConstantFactory.java │ │ │ ├── LogObjectHolder.java │ │ │ ├── LoginLogService.java │ │ │ ├── ManagerService.java │ │ │ ├── MenuService.java │ │ │ ├── NoticeService.java │ │ │ ├── OperationLogService.java │ │ │ ├── RoleService.java │ │ │ └── impl │ │ │ │ └── ConstantFactory.java │ │ └── task │ │ │ ├── BaseJob.java │ │ │ ├── JobExecuter.java │ │ │ ├── JobService.java │ │ │ ├── NoConurrentBaseJob.java │ │ │ ├── QuartzConfigration.java │ │ │ ├── TaskLogService.java │ │ │ ├── TaskService.java │ │ │ ├── TaskUtils.java │ │ │ └── job │ │ │ ├── HelloJob.java │ │ │ ├── ProcessInvalidOrdersJob.java │ │ │ └── UpdateWeixinTokenJob.java │ │ ├── utils │ │ ├── Base64Util.java │ │ ├── BasicType.java │ │ ├── BeanUtil.java │ │ ├── CollectionKit.java │ │ ├── Constants.java │ │ ├── Convert.java │ │ ├── CryptUtil.java │ │ ├── DateUtil.java │ │ ├── HttpUtil.java │ │ ├── JsonUtil.java │ │ ├── Lists.java │ │ ├── MD5.java │ │ ├── Maps.java │ │ ├── RandomUtil.java │ │ ├── StringUtil.java │ │ ├── ToolUtil.java │ │ ├── WafKit.java │ │ ├── WafRequestWrapper.java │ │ ├── XlsUtils.java │ │ ├── cache │ │ │ ├── TimeCacheMap.java │ │ │ └── exception │ │ │ │ └── ToolBoxException.java │ │ └── factory │ │ │ ├── MutiStrFactory.java │ │ │ └── Page.java │ │ ├── warpper │ │ ├── BaseControllerWarpper.java │ │ ├── DeptWarpper.java │ │ ├── DictWarpper.java │ │ ├── LogWarpper.java │ │ ├── MenuWarpper.java │ │ ├── NoticeWrapper.java │ │ ├── RoleWarpper.java │ │ └── UserWarpper.java │ │ └── web │ │ ├── ApiConstants.java │ │ ├── controller │ │ └── BaseController.java │ │ └── package-info.java │ └── resources │ └── code │ └── code.json ├── linjiashop-generator ├── README.md ├── idea-plugin.jar ├── pom.xml └── src │ ├── main │ ├── java │ │ └── cn │ │ │ └── enilu │ │ │ └── flash │ │ │ └── code │ │ │ ├── AbstractLoader.java │ │ │ ├── CodeConfig.java │ │ │ ├── ColumnDescriptor.java │ │ │ ├── EntityDescLoader.java │ │ │ ├── Generator.java │ │ │ ├── StrKit.java │ │ │ ├── TableDescLoader.java │ │ │ ├── TableDescriptor.java │ │ │ └── Utils.java │ └── resources │ │ └── code │ │ ├── code.json │ │ ├── controller.vm │ │ ├── repository.vm │ │ ├── service.vm │ │ └── view │ │ ├── add.html.vm │ │ ├── api.js.vm │ │ ├── detail.html.vm │ │ ├── edit.html.vm │ │ ├── index.html.vm │ │ ├── index.js.vm │ │ └── index.vue.vm │ └── test │ └── java │ └── cn │ └── enilu │ └── flash │ └── code │ └── StrKitTest.java ├── linjiashop-mobile-api ├── pom.xml └── src │ ├── main │ ├── java │ │ └── cn │ │ │ └── enilu │ │ │ └── flash │ │ │ ├── MobileApiApplication.java │ │ │ ├── config │ │ │ ├── CORSConfiguration.java │ │ │ ├── EhCacheConfig.java │ │ │ ├── ShiroConfig.java │ │ │ ├── Swagger2Configuration.java │ │ │ ├── UserIDAuditorConfig.java │ │ │ ├── WxConfig.java │ │ │ └── WxProperties.java │ │ │ ├── mobile │ │ │ ├── controller │ │ │ │ ├── AddressController.java │ │ │ │ ├── CartController.java │ │ │ │ ├── CategoryController.java │ │ │ │ ├── FavoriteController.java │ │ │ │ ├── FileController.java │ │ │ │ ├── GoodsController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── OrderController.java │ │ │ │ ├── PayController.java │ │ │ │ ├── TopicController.java │ │ │ │ ├── UserController.java │ │ │ │ └── WeChatController.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── service │ │ │ └── WeixinPayService.java │ └── resources │ │ ├── application-dev.properties │ │ ├── application-prod.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── ehcache.xml │ │ └── logback.xml │ └── test │ ├── java │ └── cn │ │ └── enilu │ │ └── flash │ │ ├── BaseApplicationStartTest.java │ │ ├── dao │ │ └── BaseRepositoryTest.java │ │ ├── service │ │ ├── BaseServiceTest.java │ │ └── KdniaoServiceTest.java │ │ └── vo │ │ └── UserVo.java │ └── resources │ └── application-test.properties ├── linjiashop-mobile ├── .env.development ├── .env.production ├── README.md ├── babel.config.js ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ └── svg │ │ └── loading.svg ├── src │ ├── App.vue │ ├── api │ │ ├── address.js │ │ ├── cart.js │ │ ├── category.js │ │ ├── favorite.js │ │ ├── goods.js │ │ ├── login.js │ │ ├── orders.js │ │ ├── pay.js │ │ ├── topic.js │ │ ├── user.js │ │ └── wechat.js │ ├── assets │ │ └── img │ │ │ ├── alipay.png │ │ │ ├── banner.jpg │ │ │ └── wxpay.png │ ├── main.js │ ├── router.js │ ├── store │ │ ├── getters.js │ │ ├── index.js │ │ └── modules │ │ │ └── app.js │ ├── utils │ │ ├── aes.js │ │ ├── request.js │ │ ├── storage.js │ │ └── util.js │ └── view │ │ ├── address │ │ ├── address.js │ │ ├── edit │ │ │ ├── area.js │ │ │ ├── edit.js │ │ │ └── index.vue │ │ └── index.vue │ │ ├── cart │ │ ├── cart.js │ │ └── index.vue │ │ ├── common │ │ └── error │ │ │ └── index.vue │ │ ├── favorite │ │ ├── favorite.js │ │ └── index.vue │ │ ├── goods │ │ ├── goods.js │ │ ├── goodsList.js │ │ ├── index.vue │ │ └── list.vue │ │ ├── index │ │ ├── index.vue │ │ └── welcome.js │ │ ├── login │ │ ├── index.vue │ │ └── login.js │ │ ├── order │ │ ├── checkout │ │ │ ├── checkout.js │ │ │ └── index.vue │ │ ├── detail │ │ │ ├── detail.js │ │ │ └── index.vue │ │ ├── expressInfo │ │ │ ├── expressInfo.js │ │ │ └── index.vue │ │ ├── index.vue │ │ ├── orders.js │ │ └── payment │ │ │ ├── callback │ │ │ ├── callback.js │ │ │ └── index.vue │ │ │ ├── index.vue │ │ │ └── payment.js │ │ ├── search │ │ └── index.vue │ │ ├── setting │ │ ├── avatar │ │ │ ├── avatar.js │ │ │ └── index.vue │ │ ├── index.vue │ │ ├── setting.js │ │ ├── updateMobile │ │ │ ├── index.vue │ │ │ └── updateMobile.js │ │ ├── updatePwd │ │ │ ├── index.vue │ │ │ └── updatePwd.js │ │ └── updateUserName │ │ │ ├── index.vue │ │ │ └── updateUserName.js │ │ ├── topic │ │ ├── index.vue │ │ └── topic.js │ │ └── user │ │ ├── index.vue │ │ └── user.js └── vue.config.js ├── linjiashop-wxapp ├── .babelrc ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .postcssrc.js ├── README.md ├── build │ ├── build.js │ ├── check-versions.js │ ├── dev-client.js │ ├── dev-server.js │ ├── utils.js │ ├── vue-loader.conf.js │ ├── webpack.base.conf.js │ ├── webpack.dev.conf.js │ └── webpack.prod.conf.js ├── config │ ├── dev.env.js │ ├── index.js │ └── prod.env.js ├── index.html ├── package.json ├── package.swan.json ├── project.config.json ├── project.swan.json ├── src │ ├── App.vue │ ├── app.json │ ├── components │ │ └── card.vue │ ├── main.js │ ├── pages │ │ ├── address │ │ │ ├── edit │ │ │ │ ├── area.js │ │ │ │ └── index.vue │ │ │ └── index.vue │ │ ├── cart │ │ │ └── index.vue │ │ ├── checkout │ │ │ └── index.vue │ │ ├── counter │ │ │ └── index.vue │ │ ├── goods │ │ │ └── index.vue │ │ ├── index │ │ │ └── index.vue │ │ ├── logs │ │ │ └── index.vue │ │ ├── order │ │ │ └── index.vue │ │ ├── payment │ │ │ └── index.vue │ │ ├── profile │ │ │ ├── about │ │ │ │ └── index.vue │ │ │ ├── index │ │ │ │ └── index.vue │ │ │ ├── loginAccount │ │ │ │ └── index.vue │ │ │ └── loginOption │ │ │ │ └── index.vue │ │ └── search │ │ │ └── index.vue │ └── utils │ │ ├── api.js │ │ ├── index.js │ │ └── store.js └── static │ ├── .gitkeep │ ├── img │ ├── alipay.png │ ├── banner.jpg │ ├── logo.jpg │ └── wxpay.png │ ├── tabs │ ├── cart-active.png │ ├── cart.png │ ├── home-active.png │ ├── home.png │ ├── me-active.png │ ├── me.png │ ├── search-active.png │ └── search.png │ └── vant │ ├── action-sheet │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── area │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── button │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── card │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── cell-group │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── cell │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── checkbox-group │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── checkbox │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── circle │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── col │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── collapse-item │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── collapse │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── common │ ├── color.d.ts │ ├── color.js │ ├── component.d.ts │ ├── component.js │ ├── index.wxss │ ├── style │ │ ├── clearfix.wxss │ │ ├── ellipsis.wxss │ │ ├── hairline.wxss │ │ ├── mixins │ │ │ ├── clearfix.wxss │ │ │ ├── ellipsis.wxss │ │ │ └── hairline.wxss │ │ ├── theme.wxss │ │ └── var.wxss │ ├── utils.d.ts │ └── utils.js │ ├── count-down │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxss │ ├── utils.d.ts │ └── utils.js │ ├── datetime-picker │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── definitions │ ├── index.d.ts │ ├── index.js │ ├── weapp.d.ts │ └── weapp.js │ ├── dialog │ ├── dialog.d.ts │ ├── dialog.js │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── divider │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── dropdown-item │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── dropdown-menu │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── field │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── goods-action-button │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── goods-action-icon │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── goods-action │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── grid-item │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── grid │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── icon │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── image │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── index-anchor │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── index-bar │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── info │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── loading │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── mixins │ ├── basic.d.ts │ ├── basic.js │ ├── button.d.ts │ ├── button.js │ ├── link.d.ts │ ├── link.js │ ├── observer │ │ ├── behavior.d.ts │ │ ├── behavior.js │ │ ├── index.d.ts │ │ └── index.js │ ├── open-type.d.ts │ ├── open-type.js │ ├── touch.d.ts │ ├── touch.js │ ├── transition.d.ts │ └── transition.js │ ├── nav-bar │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── notice-bar │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── notify │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxss │ ├── notify.d.ts │ └── notify.js │ ├── overlay │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── panel │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── picker-column │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxs │ └── index.wxss │ ├── picker │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxss │ ├── shared.d.ts │ └── shared.js │ ├── popup │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── progress │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxs │ └── index.wxss │ ├── radio-group │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── radio │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── rate │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── row │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── search │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── sidebar-item │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── sidebar │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── skeleton │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── slider │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── stepper │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── steps │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── sticky │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── submit-bar │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── swipe-cell │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── switch │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── tab │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── tabbar-item │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── tabbar │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── tabs │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxs │ └── index.wxss │ ├── tag │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── toast │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxss │ ├── toast.d.ts │ └── toast.js │ ├── transition │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss │ ├── tree-select │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxs │ └── index.wxss │ ├── uploader │ ├── index.d.ts │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxss │ ├── utils.d.ts │ └── utils.js │ └── wxs │ ├── array.wxs │ ├── bem.wxs │ ├── memoize.wxs │ ├── object.wxs │ └── utils.wxs └── pom.xml /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | **/target 3 | **/node_modules 4 | **/test.sql 5 | .idea 6 | package-lock.json 7 | **/dist 8 | .classpath 9 | .factorypath 10 | .vscode 11 | .settings 12 | .project 13 | application-wt1hd.properties 14 | application-demo.properties 15 | import_waitan.sql 16 | -------------------------------------------------------------------------------- /doc/.vuepress/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/.vuepress/public/favicon.ico -------------------------------------------------------------------------------- /doc/.vuepress/public/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/.vuepress/public/logo.jpg -------------------------------------------------------------------------------- /doc/.vuepress/style.styl: -------------------------------------------------------------------------------- 1 | .getting-started .outbound, 2 | .nav-links .outbound { 3 | display: none !important; 4 | } 5 | 6 | .getting-started a img { 7 | margin-right: 8px !important; 8 | } 9 | 10 | .getting-started a img.no-margin { 11 | margin-right: 0px !important; 12 | } 13 | 14 | //global 15 | p code { 16 | // color: #e96900!important; 17 | // background-color: #f8f8f8!important; 18 | // margin: 0 2px!important; 19 | // padding: 0.25rem 0.4rem!important; 20 | } 21 | 22 | blockquote { 23 | font-size: 15px !important; 24 | color: #858585 !important; 25 | border-left: 0.25rem solid #42b983 !important; 26 | font-weight: 1000 !important; 27 | } 28 | -------------------------------------------------------------------------------- /doc/donate.md: -------------------------------------------------------------------------------- 1 | 2 | ::: tip Donate 3 | 如果你觉得这个项目帮助到了你,你可以帮作者买一杯果汁表示鼓励 4 | ::: 5 | 6 | 7 | -------------------------------------------------------------------------------- /doc/guide/base/zanshan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/base/zanshan.jpg -------------------------------------------------------------------------------- /doc/guide/img/admin.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/admin.gif -------------------------------------------------------------------------------- /doc/guide/img/architecture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/architecture.jpg -------------------------------------------------------------------------------- /doc/guide/img/attr/multiple_attr1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/attr/multiple_attr1.jpg -------------------------------------------------------------------------------- /doc/guide/img/attr/multiple_attr2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/attr/multiple_attr2.jpg -------------------------------------------------------------------------------- /doc/guide/img/attr/single_attr.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/attr/single_attr.jpg -------------------------------------------------------------------------------- /doc/guide/img/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/banner.jpg -------------------------------------------------------------------------------- /doc/guide/img/develop/cfg_weixin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/develop/cfg_weixin.jpg -------------------------------------------------------------------------------- /doc/guide/img/develop/express_admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/develop/express_admin.png -------------------------------------------------------------------------------- /doc/guide/img/develop/express_mobile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/develop/express_mobile.jpg -------------------------------------------------------------------------------- /doc/guide/img/haike.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/haike.jpg -------------------------------------------------------------------------------- /doc/guide/img/mobile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/mobile.gif -------------------------------------------------------------------------------- /doc/guide/img/other/linjiashop_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/other/linjiashop_video.png -------------------------------------------------------------------------------- /doc/guide/img/other/xiaomiquan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/img/other/xiaomiquan.png -------------------------------------------------------------------------------- /doc/guide/other/video.md: -------------------------------------------------------------------------------- 1 | # 开发视频 2 | 3 | **入门视频** 4 | - [https://space.bilibili.com/525325274/channel/detail?cid=115895](https://space.bilibili.com/525325274/channel/detail?cid=115895) 5 | - 上述入门视频基本可以带你快速熟悉本项目并进行开发。相信我,如果你能将本文档认真看看,那么你连视频教程都不用看的。文档最重要!!! 6 | -------------------------------------------------------------------------------- /doc/guide/quickstart/clone.md: -------------------------------------------------------------------------------- 1 | # 克隆本项目 2 | 3 | 本项目地址为:[https://gitee.com/microapp/linjiashop](https://gitee.com/microapp/linjiashop),如果对你有用,欢迎给个star 4 | 5 | 另附github地址:https://github.com/microapp-store/linjiashop 6 | 7 | 项目共三个分支分别为: 8 | - master 项目主分支:稳定版 9 | - dev 开发分支:一些新功能后者实验性功能会先在该分支开发,不稳定 10 | - gh-pages 项目在线文档 11 | 12 | 进入控制台输入以下命令将项目克隆到本地: 13 | 14 | git clone https://gitee.com/microapp/linjiashop.git 15 | -------------------------------------------------------------------------------- /doc/guide/quickstart/config.md: -------------------------------------------------------------------------------- 1 | # 配置项目 2 | 3 | 你已经下载项目,并且初始化好了数据库,那么接下来只需要更改相应的配置就可以运行该项目了 4 | 5 | - 更改admin-api和mobile-api下的数据库配置:src/resources/application-dev.properties配置: 6 | 7 | ```properties 8 | ## 开发环境配置,根据实际情况调整数据库连接信息 9 | spring.datasource.url=jdbc:mysql://localhost:3306/linjiashop?useUnicode=true&characterEncoding=UTF8 10 | spring.datasource.username=linjiashop 11 | spring.datasource.password=linjiashop191028 12 | 13 | ``` 14 | -------------------------------------------------------------------------------- /doc/guide/quickstart/index.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/quickstart/index.jpg -------------------------------------------------------------------------------- /doc/guide/quickstart/login.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/guide/quickstart/login.jpg -------------------------------------------------------------------------------- /doc/guide/quickstart/quickstart.md: -------------------------------------------------------------------------------- 1 | # 20分钟把项目跑起来 2 | 3 | ## 真的20分钟吗? 4 | NO, 明显不,都是骗人的啦. 5 | 6 | ## 那为啥还要这样写? 7 | 总不能写10分钟跑完吧? 虽然网上很多很多10分钟快速入门,但作为一个不随便的人,我可没办法评估你的鼠标键盘操作速度和头脑CPU的运算频率,所以还是写20分钟比较保险的. 8 | 9 | ## 本章知识点 10 | - [克隆项目](./clone.md) 11 | - [初始化数据](./initDb.md) 12 | - [配置项目](./config.md) 13 | - [启动项目](./startup.md) -------------------------------------------------------------------------------- /doc/img/app/cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/app/cart.png -------------------------------------------------------------------------------- /doc/img/app/code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/app/code.png -------------------------------------------------------------------------------- /doc/img/app/find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/app/find.png -------------------------------------------------------------------------------- /doc/img/app/guige.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/app/guige.jpg -------------------------------------------------------------------------------- /doc/img/app/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/app/home.png -------------------------------------------------------------------------------- /doc/img/app/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/app/login.png -------------------------------------------------------------------------------- /doc/img/app/mine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/app/mine.png -------------------------------------------------------------------------------- /doc/img/app/mobile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/app/mobile.gif -------------------------------------------------------------------------------- /doc/img/donate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/donate.jpg -------------------------------------------------------------------------------- /doc/img/online/wechat_pay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/online/wechat_pay.jpg -------------------------------------------------------------------------------- /doc/img/online/wechat_pay_admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/online/wechat_pay_admin.png -------------------------------------------------------------------------------- /doc/img/online/wt1hd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/doc/img/online/wt1hd.jpg -------------------------------------------------------------------------------- /doc/online/day04.md: -------------------------------------------------------------------------------- 1 | # 04-安全配置 2 | - mysql配置 3 | - 后台管理配置 4 | - 短信验证码发送次数限制 5 | - 禁用swagger在线文档 6 | 7 | 8 | 本章节主要处于安全性考虑做了一些配置和修改 9 | ## mysql配置 10 | - mysql修改为只允许本机登录 11 | - 后期考虑将默认端口更改掉,目前默认是3306 12 | ## 后台管理配置 13 | - 后台管理的账号从admin更改为更复杂的密码 14 | 15 | ## 短信验证码发送次数限制 16 | 为了避免短信的无端消耗,做了下面两个工作: 17 | - 腾讯云做短信验证码发送次数限制 18 | - 代码中同一个号码每天短信验证码发送次数限制 19 | -------------------------------------------------------------------------------- /doc/online/day05.md: -------------------------------------------------------------------------------- 1 | # 05-功能完善 2 | 本节主要不完全记录一些上线过程中更新的功能 3 | ## 优化获取用户微信信息的逻辑 4 | 针对获取用户微信信息做了下面几方面的优化: 5 | - 一个手机号只能绑定在同一个微信号下 6 | - 缓存用户的微信信息,避免每次到用户页面都获取微信登录信息 7 | - 去掉获取微信信息的提示框 8 | - 如果成功获取微信信息,使用微信昵称和头像代替之前的默认姓名和头像 9 | 10 | - 用户管理中如果用户有微信头像,显示用户的微信头像 11 | -------------------------------------------------------------------------------- /doc/online/day06.md: -------------------------------------------------------------------------------- 1 | # 06- 对接微信支付 2 | - 前面说过,上线一开始的时候就让朋友帮忙申请开通微信支付功能。 3 | - 而系统本身已经具备微信支付功能,只需要将微信支付相关参数配置即可: 4 | 5 | ```properties 6 | # 以下两个参数需要登录微信公众号后台获得 7 | wx.app-id=微信公众号id 8 | wx.app-secret=公众号密钥 9 | # 以下相关参数需要登录微信支付商户后台获得 10 | wx.mch-id=微信支付商户号 11 | wx.mch-key=微信支付密钥 12 | wx.notify-url=微信支付结果通知地址 13 | # 商户证书文件路径 14 | wx.key-path= 使用微信支付提供的证书生成程序生成证书文件,机器将文件:apiclient_cert.p12 放在系统指定路径上,这里配置绝对路径 15 | 16 | ``` 17 | 18 | 测试支付成功 19 | 手机端截图: 20 | ![wechat-pay](../img/online/wechat_pay.jpg) 21 | 22 | 微信支付商户后台资金流水截图: 23 | 24 | ![wechat-pay-admin](../img/online/wechat_pay_admin.png) 25 | -------------------------------------------------------------------------------- /doc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "docs:dev": "vuepress dev", 4 | "docs:build": "vuepress build" 5 | }, 6 | "devDependencies": { 7 | "@vuepress/plugin-google-analytics": "^1.0.0-alpha.0" 8 | }, 9 | "dependencies": { 10 | "vue-template-compiler": "^2.7.14" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-admin-api/src/main/java/cn/enilu/flash/api/controller/front/officialsite/Contact.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.api.controller.front.officialsite; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.Date; 6 | 7 | @Data 8 | public class Contact { 9 | public String username; 10 | private String email; 11 | private String mobile; 12 | private String description; 13 | private Date createAt; 14 | } 15 | -------------------------------------------------------------------------------- /linjiashop-admin-api/src/main/java/cn/enilu/flash/api/controller/mobile/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * @author :enilu 3 | * @date :Created in 2019/10/28 13:52 4 | */ 5 | package cn.enilu.flash.api.controller.mobile; -------------------------------------------------------------------------------- /linjiashop-admin-api/src/main/java/cn/enilu/flash/api/controller/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * package-info 3 | * 4 | * @version 2018/9/12 0012 5 | * @author enilu 6 | */ 7 | package cn.enilu.flash.api.controller; -------------------------------------------------------------------------------- /linjiashop-admin-api/src/main/java/cn/enilu/flash/api/controller/shop/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * @author :enilu 3 | * @date :Created in 2019/10/28 13:51 4 | */ 5 | package cn.enilu.flash.api.controller.shop; -------------------------------------------------------------------------------- /linjiashop-admin-api/src/main/resources/application-dev.properties: -------------------------------------------------------------------------------- 1 | ## 开发环境配置 2 | debug=true 3 | spring.datasource.url=jdbc:mysql://localhost:3306/linjiashop?useUnicode=true&characterEncoding=UTF8&useSSL=false 4 | spring.datasource.username=linjiashop 5 | spring.datasource.password=linjiaSHOP@191028 6 | ## 首次启动需要设置下列配置为create,以便系统可以自动创建表并导入./import.sql文件 7 | spring.jpa.hibernate.ddl-auto=create 8 | #默认使用InnoDB引擎 9 | spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect 10 | spring.datasource.sql-script-encoding=utf-8 11 | spring.jpa.show-sql=true 12 | 13 | #server.servlet.context-path=/api 14 | -------------------------------------------------------------------------------- /linjiashop-admin-api/src/main/resources/application-prod.properties: -------------------------------------------------------------------------------- 1 | ## 生产环境配置 2 | debug=false 3 | spring.datasource.url=jdbc:mysql://my-db:3306/linjiashop?useUnicode=true&characterEncoding=UTF8 4 | spring.datasource.username=linjiashop 5 | spring.datasource.password=linjiaSHOP@191028 6 | 7 | spring.jpa.hibernate.ddl-auto=create 8 | #默认使用InnoDB引擎 9 | spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect 10 | spring.datasource.sql-script-encoding=utf-8 11 | spring.jpa.show-sql=true 12 | 13 | #server.servlet.context-path=/api 14 | -------------------------------------------------------------------------------- /linjiashop-admin-api/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | 2 | ____ _ ____ ____ ____ ____ _ _ _ ____ ____ _ 3 | / ___\/ \ /|/ _ \/ __\ / _ \/ _ \/ \__/|/ \/ \ /|/ _ \/ __\/ \ 4 | | \| |_||| / \|| \/| | / \|| | \|| |\/||| || |\ ||| / \|| \/|| | 5 | \___ || | ||| \_/|| __/ | |-||| |_/|| | ||| || | \||| |-||| __/| | 6 | \____/\_/ \|\____/\_/ \_/ \|\____/\_/ \|\_/\_/ \|\_/ \|\_/ \_/ 7 | 8 | - Powered by microapp.store 9 | -------------------------------------------------------------------------------- /linjiashop-admin-api/src/main/resources/templates/config.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin-api/src/main/resources/templates/config.xlsx -------------------------------------------------------------------------------- /linjiashop-admin-api/src/main/resources/templates/orderList.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin-api/src/main/resources/templates/orderList.xlsx -------------------------------------------------------------------------------- /linjiashop-admin/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | end_of_line = lf 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | 12 | [*.md] 13 | insert_final_newline = false 14 | trim_trailing_whitespace = false 15 | -------------------------------------------------------------------------------- /linjiashop-admin/.env.development: -------------------------------------------------------------------------------- 1 | # just a flag 2 | ENV = 'development' 3 | 4 | # base api 5 | VUE_APP_BASE_API = '/dev-api' 6 | 7 | # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, 8 | # to control whether the babel-plugin-dynamic-import-node plugin is enabled. 9 | # It only does one thing by converting all import() to require(). 10 | # This configuration can significantly increase the speed of hot updates, 11 | # when you have a large number of pages. 12 | # Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js 13 | 14 | VUE_CLI_BABEL_TRANSPILE_MODULES = true 15 | -------------------------------------------------------------------------------- /linjiashop-admin/.env.production: -------------------------------------------------------------------------------- 1 | # just a flag 2 | ENV = 'production' 3 | 4 | # base api 5 | VUE_APP_BASE_API = '/prod-api' 6 | 7 | -------------------------------------------------------------------------------- /linjiashop-admin/.env.staging: -------------------------------------------------------------------------------- 1 | NODE_ENV = production 2 | 3 | # just a flag 4 | ENV = 'staging' 5 | 6 | # base api 7 | VUE_APP_BASE_API = '/stage-api' 8 | 9 | -------------------------------------------------------------------------------- /linjiashop-admin/.eslintignore: -------------------------------------------------------------------------------- 1 | build/*.js 2 | src/assets 3 | public 4 | dist 5 | -------------------------------------------------------------------------------- /linjiashop-admin/.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | 'plugins': { 5 | // to edit target browsers: use "browserslist" field in package.json 6 | 'autoprefixer': {} 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /linjiashop-admin/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 10 3 | script: npm run test 4 | notifications: 5 | email: false 6 | -------------------------------------------------------------------------------- /linjiashop-admin/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /linjiashop-admin/mock/table.js: -------------------------------------------------------------------------------- 1 | import Mock from 'mockjs' 2 | 3 | const data = Mock.mock({ 4 | 'items|30': [{ 5 | id: '@id', 6 | title: '@sentence(10, 20)', 7 | 'status|1': ['published', 'draft', 'deleted'], 8 | author: 'name', 9 | display_time: '@datetime', 10 | pageviews: '@integer(300, 5000)' 11 | }] 12 | }) 13 | 14 | export default [ 15 | { 16 | url: '/table/list', 17 | type: 'get', 18 | response: config => { 19 | const items = data.items 20 | return { 21 | code: 20000, 22 | data: { 23 | total: items.length, 24 | items: items 25 | } 26 | } 27 | } 28 | } 29 | ] 30 | -------------------------------------------------------------------------------- /linjiashop-admin/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/favicon.ico -------------------------------------------------------------------------------- /linjiashop-admin/public/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/img/bg.jpg -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-cool.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-cool.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-cry.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-cry.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-embarassed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-embarassed.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-foot-in-mouth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-foot-in-mouth.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-frown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-frown.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-innocent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-innocent.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-kiss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-kiss.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-laughing.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-laughing.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-money-mouth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-money-mouth.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-sealed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-sealed.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-smile.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-surprised.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-surprised.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-tongue-out.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-tongue-out.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-undecided.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-undecided.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-wink.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-wink.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-yell.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/plugins/emoticons/img/smiley-yell.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce-mobile.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce-mobile.woff -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.eot -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.ttf -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.woff -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce.eot -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce.ttf -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/fonts/tinymce.woff -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/img/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/img/anchor.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/img/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/img/loader.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/img/object.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/img/object.gif -------------------------------------------------------------------------------- /linjiashop-admin/public/tinymce4.7.5/skins/lightgray/img/trans.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/public/tinymce4.7.5/skins/lightgray/img/trans.gif -------------------------------------------------------------------------------- /linjiashop-admin/src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/cms/banner.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | const apiUrl = process.env.BASE_API 3 | export function getApiUrl() { 4 | return apiUrl 5 | } 6 | export function getList(params) { 7 | return request({ 8 | url: '/banner/list', 9 | method: 'get', 10 | params 11 | }) 12 | } 13 | 14 | 15 | export function save(params) { 16 | return request({ 17 | url: '/banner', 18 | method: 'post', 19 | params 20 | }) 21 | } 22 | 23 | export function remove(id) { 24 | return request({ 25 | url: '/banner', 26 | method: 'delete', 27 | params: { 28 | id: id 29 | } 30 | }) 31 | } 32 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/cms/channel.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/channel/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | 12 | export function save(params) { 13 | return request({ 14 | url: '/channel', 15 | method: 'post', 16 | params 17 | }) 18 | } 19 | 20 | export function remove(id) { 21 | return request({ 22 | url: '/channel', 23 | method: 'delete', 24 | params: { 25 | id: id 26 | } 27 | }) 28 | } 29 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/cms/contacts.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/contacts/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/cms/fileInfo.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/fileMgr/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/dashboard.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | export default{ 3 | get:function(){ 4 | return request({ 5 | url: '/dashboard', 6 | method: 'get', 7 | }) 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/message/message.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/message/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | 12 | export function save(params) { 13 | return request({ 14 | url: '/message', 15 | method: 'post', 16 | params 17 | }) 18 | } 19 | 20 | export function clear() { 21 | return request({ 22 | url: '/message', 23 | method: 'delete' 24 | }) 25 | } 26 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/message/template.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/message/template/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | 12 | export function save(params) { 13 | return request({ 14 | url: '/message/template', 15 | method: 'post', 16 | params 17 | }) 18 | } 19 | 20 | export function remove(id) { 21 | return request({ 22 | url: '/message/template', 23 | method: 'delete', 24 | params: { 25 | id: id 26 | } 27 | }) 28 | } 29 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/shop/address.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/shop/address/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | 12 | export function save(params) { 13 | return request({ 14 | url: '/shop/address', 15 | method: 'post', 16 | params 17 | }) 18 | } 19 | 20 | export function remove(id) { 21 | return request({ 22 | url: '/shop/address', 23 | method: 'delete', 24 | params: { 25 | id: id 26 | } 27 | }) 28 | } 29 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/shop/cart.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/shop/cart/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | 12 | export function save(params) { 13 | return request({ 14 | url: '/shop/cart', 15 | method: 'post', 16 | params 17 | }) 18 | } 19 | 20 | export function remove(id) { 21 | return request({ 22 | url: '/shop/cart', 23 | method: 'delete', 24 | params: { 25 | id: id 26 | } 27 | }) 28 | } 29 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/shop/favorite.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/shop/favorite/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | 12 | export function save(params) { 13 | return request({ 14 | url: '/shop/favorite', 15 | method: 'post', 16 | params 17 | }) 18 | } 19 | 20 | export function remove(id) { 21 | return request({ 22 | url: '/shop/favorite', 23 | method: 'delete', 24 | params: { 25 | id: id 26 | } 27 | }) 28 | } 29 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/shop/goodsSku.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | 4 | export default { 5 | save:function(params){ 6 | return request({ 7 | url: '/shop/goods/sku', 8 | method: 'post', 9 | data : params 10 | }) 11 | }, 12 | remove:function(id){ 13 | return request({ 14 | url: '/shop/goods/sku', 15 | method: 'delete', 16 | params: { 17 | id: id 18 | } 19 | }) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/shop/orderItem.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/shop/order/item/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | 12 | export function save(params) { 13 | return request({ 14 | url: '/shop/order/item', 15 | method: 'post', 16 | params 17 | }) 18 | } 19 | 20 | export function remove(id) { 21 | return request({ 22 | url: '/shop/order/item', 23 | method: 'delete', 24 | params: { 25 | id: id 26 | } 27 | }) 28 | } 29 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/system/dept.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function tree() { 4 | return request({ 5 | url: '/dept/tree', 6 | method: 'get', 7 | }) 8 | } 9 | 10 | export function list() { 11 | return request({ 12 | url: '/dept/list', 13 | method: 'get', 14 | }) 15 | } 16 | 17 | export function save(params) { 18 | return request({ 19 | url: '/dept', 20 | method: 'post', 21 | params: params 22 | }) 23 | } 24 | 25 | export function del(id) { 26 | return request({ 27 | url: '/dept', 28 | method: 'delete', 29 | params: { 30 | id: id 31 | } 32 | }) 33 | } 34 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/system/log.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/log/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | export function queryByUser() { 12 | return request({ 13 | url:'/log/queryByUser', 14 | method: 'get' 15 | }) 16 | } 17 | 18 | export function clear() { 19 | return request({ 20 | url: '/log', 21 | method: 'delete' 22 | }) 23 | } 24 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/system/loginLog.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/loginLog/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | export function clear() { 12 | return request({ 13 | url: '/loginLog', 14 | method: 'delete' 15 | }) 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/system/notice.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/notice/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /linjiashop-admin/src/api/table.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/table/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /linjiashop-admin/src/assets/404_images/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/src/assets/404_images/404.png -------------------------------------------------------------------------------- /linjiashop-admin/src/assets/404_images/404_cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/src/assets/404_images/404_cloud.png -------------------------------------------------------------------------------- /linjiashop-admin/src/assets/custom-theme/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/src/assets/custom-theme/fonts/element-icons.ttf -------------------------------------------------------------------------------- /linjiashop-admin/src/assets/custom-theme/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/src/assets/custom-theme/fonts/element-icons.woff -------------------------------------------------------------------------------- /linjiashop-admin/src/assets/img/avatar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-admin/src/assets/img/avatar.gif -------------------------------------------------------------------------------- /linjiashop-admin/src/components/IconSelect/requireIcons.js: -------------------------------------------------------------------------------- 1 | const req = require.context('../../icons/svg', false, /\.svg$/) 2 | const requireAll = requireContext => requireContext.keys() 3 | 4 | const re = /\.\/(.*)\.svg/ 5 | 6 | const icons = requireAll(req).map(i => { 7 | return i.match(re)[1] 8 | }) 9 | 10 | export default icons 11 | -------------------------------------------------------------------------------- /linjiashop-admin/src/components/editContainer/plugins.js: -------------------------------------------------------------------------------- 1 | // Any plugins you want to use has to be imported 2 | // Detail plugins list see https://www.tinymce.com/docs/plugins/ 3 | // Custom builds see https://www.tinymce.com/download/custom-builds/ 4 | 5 | const plugins = ['advlist anchor autolink autosave code codesample colorpicker colorpicker contextmenu directionality emoticons fullscreen hr image imagetools insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textcolor textpattern visualblocks visualchars wordcount'] 6 | 7 | export default plugins 8 | -------------------------------------------------------------------------------- /linjiashop-admin/src/components/editContainer/toolbar.js: -------------------------------------------------------------------------------- 1 | // Here is a list of the toolbar 2 | // Detail list see https://www.tinymce.com/docs/advanced/editor-control-identifiers/#toolbarcontrols 3 | 4 | const toolbar = ['searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent blockquote undo redo removeformat subscript superscript code codesample', 'hr bullist numlist link image charmap preview anchor pagebreak insertdatetime media table emoticons forecolor backcolor fullscreen'] 5 | 6 | export default toolbar 7 | -------------------------------------------------------------------------------- /linjiashop-admin/src/directive/permission/index.js: -------------------------------------------------------------------------------- 1 | import permission from './permission' 2 | 3 | const install = function(Vue) { 4 | Vue.directive('permission', permission) 5 | } 6 | 7 | if (window.Vue) { 8 | window['permission'] = permission 9 | Vue.use(install); // eslint-disable-line 10 | } 11 | 12 | permission.install = install 13 | export default permission 14 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import SvgIcon from '@/components/SvgIcon'// svg component 3 | 4 | // register globally 5 | Vue.component('svg-icon', SvgIcon) 6 | 7 | const req = require.context('./svg', false, /\.svg$/) 8 | const requireAll = requireContext => requireContext.keys().map(requireContext) 9 | requireAll(req) 10 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/build.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/chart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/code.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/component.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/documentation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/drag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/druid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/education.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/email.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/excel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/form.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/fullscreen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/link.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/list.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/message.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/money.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/monitor.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/nested.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/nested0.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/search.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/sender.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/server.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/size.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/table.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/task.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/topic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svg/user0.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linjiashop-admin/src/icons/svgo.yml: -------------------------------------------------------------------------------- 1 | # replace default config 2 | 3 | # multipass: true 4 | # full: true 5 | 6 | plugins: 7 | 8 | # - name 9 | # 10 | # or: 11 | # - name: false 12 | # - name: true 13 | # 14 | # or: 15 | # - name: 16 | # param1: 1 17 | # param2: 2 18 | 19 | - removeAttrs: 20 | attrs: 21 | - 'fill' 22 | - 'fill-rule' 23 | -------------------------------------------------------------------------------- /linjiashop-admin/src/layout/components/Sidebar/Item.vue: -------------------------------------------------------------------------------- 1 | 30 | -------------------------------------------------------------------------------- /linjiashop-admin/src/layout/components/index.js: -------------------------------------------------------------------------------- 1 | export { default as Navbar } from './Navbar' 2 | export { default as Sidebar } from './Sidebar' 3 | export { default as AppMain } from './AppMain' 4 | export { default as TagsView } from './TagsView/index.vue' 5 | -------------------------------------------------------------------------------- /linjiashop-admin/src/settings.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 3 | title: '邻家小铺后台管理', 4 | 5 | /** 6 | * @type {boolean} true | false 7 | * @description Whether fix the header 8 | */ 9 | fixedHeader: false, 10 | 11 | /** 12 | * @type {boolean} true | false 13 | * @description Whether show the logo in sidebar 14 | */ 15 | sidebarLogo: false, 16 | 17 | tagsView: true 18 | } 19 | -------------------------------------------------------------------------------- /linjiashop-admin/src/store/getters.js: -------------------------------------------------------------------------------- 1 | const getters = { 2 | sidebar: state => state.app.sidebar, 3 | permissions: state => state.user.permissions, 4 | device: state => state.app.device, 5 | token: state => state.user.token, 6 | avatar: state => state.user.avatar, 7 | name: state => state.user.name, 8 | roles: state => state.user.roles 9 | } 10 | export default getters 11 | -------------------------------------------------------------------------------- /linjiashop-admin/src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | import getters from './getters' 4 | import app from './modules/app' 5 | import settings from './modules/settings' 6 | import user from './modules/user' 7 | import tagsView from './modules/tagsView' 8 | import menu from './modules/menu' 9 | //import permission from './modules/permission' 10 | 11 | Vue.use(Vuex) 12 | 13 | const store = new Vuex.Store({ 14 | modules: { 15 | app, 16 | settings, 17 | user, 18 | tagsView, 19 | menu 20 | }, 21 | getters 22 | }) 23 | 24 | export default store 25 | -------------------------------------------------------------------------------- /linjiashop-admin/src/styles/mixin.scss: -------------------------------------------------------------------------------- 1 | @mixin clearfix { 2 | &:after { 3 | content: ""; 4 | display: table; 5 | clear: both; 6 | } 7 | } 8 | 9 | @mixin scrollBar { 10 | &::-webkit-scrollbar-track-piece { 11 | background: #d3dce6; 12 | } 13 | 14 | &::-webkit-scrollbar { 15 | width: 6px; 16 | } 17 | 18 | &::-webkit-scrollbar-thumb { 19 | background: #99a9bf; 20 | border-radius: 20px; 21 | } 22 | } 23 | 24 | @mixin relative { 25 | position: relative; 26 | width: 100%; 27 | height: 100%; 28 | } 29 | -------------------------------------------------------------------------------- /linjiashop-admin/src/utils/auth.js: -------------------------------------------------------------------------------- 1 | import Cookies from 'js-cookie' 2 | 3 | const TokenKey = 'vue_admin_template_token' 4 | 5 | export function getToken() { 6 | return Cookies.get(TokenKey) 7 | } 8 | 9 | export function setToken(token) { 10 | return Cookies.set(TokenKey, token) 11 | } 12 | 13 | export function removeToken() { 14 | return Cookies.remove(TokenKey) 15 | } 16 | -------------------------------------------------------------------------------- /linjiashop-admin/src/utils/get-page-title.js: -------------------------------------------------------------------------------- 1 | import defaultSettings from '@/settings' 2 | 3 | const title = defaultSettings.title || 'Tiny Shop Admin' 4 | 5 | export default function getPageTitle(pageTitle) { 6 | if (pageTitle) { 7 | return `${pageTitle} - ${title}` 8 | } 9 | return `${title}` 10 | } 11 | -------------------------------------------------------------------------------- /linjiashop-admin/src/utils/i18n.js: -------------------------------------------------------------------------------- 1 | // translate router.meta.title, be used in breadcrumb sidebar tagsview 2 | export function generateTitle(title) { 3 | const hasKey = this.$te('route.' + title) 4 | 5 | if (hasKey) { 6 | // $t :this method from vue-i18n, inject in @/lang/index.js 7 | const translatedTitle = this.$t('route.' + title) 8 | 9 | return translatedTitle 10 | } 11 | return title 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-admin/src/utils/utils.js: -------------------------------------------------------------------------------- 1 | const apiUrl = process.env.VUE_APP_BASE_API 2 | export function getApiUrl() { 3 | return apiUrl 4 | } 5 | -------------------------------------------------------------------------------- /linjiashop-admin/src/utils/validate.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by PanJiaChen on 16/11/18. 3 | */ 4 | 5 | /** 6 | * @param {string} path 7 | * @returns {Boolean} 8 | */ 9 | export function isExternal(path) { 10 | return /^(https?:|mailto:|tel:)/.test(path) 11 | } 12 | 13 | /** 14 | * 校验用户名,必须是5-32位 15 | * @param {string} str 16 | * @returns {Boolean} 17 | */ 18 | export function isvalidUsername(str) { 19 | var reg=/^[0-9A-Za-z]{5,32}$/; 20 | return reg.test(str) 21 | } 22 | -------------------------------------------------------------------------------- /linjiashop-admin/src/views/account/profile.js: -------------------------------------------------------------------------------- 1 | export default { 2 | data() { 3 | return { 4 | activeName: 'profile', 5 | user:{} 6 | } 7 | }, 8 | mounted() { 9 | this.init() 10 | }, 11 | methods: { 12 | init(){ 13 | this.user = this.$store.state.user.profile 14 | }, 15 | handleClick(tab, event){ 16 | this.$router.push({ path: '/account/'+tab.name}) 17 | } 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /linjiashop-admin/src/views/operation/api/index.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /linjiashop-admin/src/views/redirect/index.vue: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /linjiashop-admin/tests/unit/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | jest: true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/constant/cache/Cache.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.constant.cache; 2 | 3 | /** 4 | * 所有缓存名称的集合 5 | * 6 | * @author fengshuonan 7 | * @date 2017-04-24 21:56 8 | */ 9 | public interface Cache { 10 | 11 | /** 12 | * 常量缓存 13 | */ 14 | String CONSTANT = "CONSTANT"; 15 | String APPLICATION = "APPLICATION"; 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/constant/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created on 2018/3/28 0028. 3 | * 4 | * @author enilu 5 | */ 6 | package cn.enilu.flash.bean.constant; -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/constant/state/LogSucceed.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.constant.state; 2 | 3 | /** 4 | * 业务是否成功的日志记录 5 | * 6 | * @author fengshuonan 7 | * @Date 2017年1月22日 下午12:14:59 8 | */ 9 | public enum LogSucceed { 10 | 11 | SUCCESS("成功"), 12 | FAIL("失败"); 13 | 14 | String message; 15 | 16 | LogSucceed(String message) { 17 | this.message = message; 18 | } 19 | 20 | public String getMessage() { 21 | return message; 22 | } 23 | 24 | public void setMessage(String message) { 25 | this.message = message; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/constant/state/Order.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.constant.state; 2 | 3 | /** 4 | * 数据库排序 5 | * 6 | * @author fengshuonan 7 | * @Date 2017年5月31日20:48:41 8 | */ 9 | public enum Order { 10 | 11 | ASC("asc"), DESC("desc"); 12 | 13 | private String des; 14 | 15 | Order(String des) { 16 | this.des = des; 17 | } 18 | 19 | public String getDes() { 20 | return des; 21 | } 22 | 23 | public void setDes(String des) { 24 | this.des = des; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/core/BussinessLog.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.core; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * 标记需要做业务日志的方法 7 | * 8 | * @author fengshuonan 9 | * @date 2017-03-31 12:46 10 | */ 11 | @Inherited 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target({ElementType.METHOD}) 14 | public @interface BussinessLog { 15 | 16 | /** 17 | * 业务的名称,例如:"修改菜单" 18 | */ 19 | String value() default ""; 20 | 21 | /** 22 | * 被修改的实体的唯一标识,例如:菜单实体的唯一标识为"id" 23 | */ 24 | String key() default "id"; 25 | } 26 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/core/Permission.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.core; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Inherited; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | /** 10 | * 权限注解 用于检查权限 规定访问权限 11 | * 12 | * @example @Permission({roleID1,roleID2}) 13 | * @example @Permission 14 | */ 15 | @Inherited 16 | @Retention(RetentionPolicy.RUNTIME) 17 | @Target({ElementType.METHOD}) 18 | public @interface Permission { 19 | String[] value() default {}; 20 | } 21 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/entity/promotion/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 推广相关实体 3 | * @author :enilu 4 | * @date :Created in 1/8/2020 8:16 PM 5 | */ 6 | package cn.enilu.flash.bean.entity.promotion; 7 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/enumeration/ProjectEnum.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.enumeration; 2 | 3 | /** 4 | * Created by deanyule on 17/8/16. 5 | */ 6 | public enum ProjectEnum { 7 | 8 | SCORE_CARD("ScoreCard"), 9 | DOLPHIN_PROD("dolphin"), 10 | SNOW_PRODUCT("PRJ_SNOW_PRODUCT"); 11 | 12 | private String value; 13 | 14 | ProjectEnum(String value) { 15 | this.value = value; 16 | } 17 | 18 | public String getValue() { 19 | return value; 20 | } 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/enumeration/RedisQueueName.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.enumeration; 2 | 3 | /** 4 | * redis队列名称 5 | * Created by zt on 2017/8/25 0015. 6 | */ 7 | public enum RedisQueueName { 8 | CREDIT_LIMIT("credit_limit"),COLLECTION_TAG("collection_tag"); 9 | 10 | private String value; 11 | 12 | public String getValue() { 13 | return value; 14 | } 15 | 16 | public void setValue(String value) { 17 | this.value = value; 18 | } 19 | 20 | RedisQueueName(String value) { 21 | this.value = value; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/enumeration/TypeEnum.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.enumeration; 2 | 3 | public class TypeEnum { 4 | 5 | /** 6 | * 输入数据的html类型 7 | */ 8 | public enum DataItemShowType { 9 | /** 10 | * 0为文本框;1为下拉框;2为日期框 11 | */ 12 | TEXT(0), SELECT(1), DATE(2); 13 | 14 | private int value; 15 | 16 | private DataItemShowType(int value) { 17 | this.value = value; 18 | } 19 | 20 | public int getValue() { 21 | return value; 22 | } 23 | 24 | public void setValue(int value) { 25 | this.value = value; 26 | } 27 | } 28 | 29 | 30 | 31 | 32 | } 33 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/enumeration/cms/BannerTypeEnum.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.enumeration.cms; 2 | 3 | /** 4 | * 广告类型 5 | */ 6 | public enum BannerTypeEnum { 7 | 8 | INDEX("index"), 9 | NEWS("news"), 10 | CASE ("case"), 11 | PRODUCT("product"), 12 | SOLUTION("solution"); 13 | 14 | private String value; 15 | 16 | BannerTypeEnum(String value) { 17 | this.value = value; 18 | } 19 | 20 | public String getValue() { 21 | return value; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/enumeration/cms/ChannelEnum.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.enumeration.cms; 2 | 3 | public enum ChannelEnum { 4 | 5 | NEWS(1L,"news"), 6 | PRODUCT(2L,"product"), 7 | SOLUTION(3L,"solution"), 8 | CASE(4L,"case"); 9 | 10 | 11 | private String value; 12 | private Long id; 13 | ChannelEnum(Long id,String value) { 14 | this.id = id; 15 | this.value = value; 16 | } 17 | 18 | public String getValue() { 19 | return value; 20 | } 21 | public Long getId(){ 22 | return id; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/exception/InvalidKaptchaException.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.exception; 2 | 3 | /** 4 | * 验证码错误异常 5 | * 6 | * @author fengshuonan 7 | * @date 2017-05-05 23:52 8 | */ 9 | public class InvalidKaptchaException extends RuntimeException { 10 | } 11 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/exception/MailException.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.exception; 2 | 3 | public class MailException extends Exception { 4 | 5 | public MailException(String msg) { 6 | super(msg); 7 | } 8 | 9 | public MailException(String msg, Throwable e) { 10 | super(msg, e); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/exception/ParamException.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.exception; 2 | 3 | public class ParamException extends Exception { 4 | 5 | public ParamException(String msg) { 6 | super(msg); 7 | } 8 | 9 | public ParamException(String msg, Throwable e) { 10 | super(msg, e); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/exception/ServiceExceptionEnum.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.exception; 2 | 3 | /** 4 | * 抽象接口 5 | * 6 | * @author fengshuonan 7 | * @date 2017-12-28-下午10:27 8 | */ 9 | public interface ServiceExceptionEnum { 10 | 11 | /** 12 | * 获取异常编码 13 | */ 14 | Integer getCode(); 15 | 16 | /** 17 | * 获取异常信息 18 | */ 19 | String getMessage(); 20 | } 21 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/exception/ValidException.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.exception; 2 | 3 | public class ValidException extends RuntimeException { 4 | 5 | public ValidException(String msg) { 6 | super(msg); 7 | } 8 | 9 | public ValidException(String msg, Throwable e) { 10 | super(msg, e); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/exception/XSException.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.exception; 2 | 3 | /** 4 | * 定义通用异常 5 | * code 存储异常代码 6 | * @author czhou 7 | */ 8 | public class XSException extends Exception { 9 | 10 | private static final long serialVersionUID = 1L; 11 | 12 | private String code; 13 | 14 | public String getCode() { 15 | return this.code; 16 | } 17 | 18 | public XSException(String code, String message, Throwable t) { 19 | super(message, t); 20 | this.code = code; 21 | } 22 | 23 | public XSException(String code, String message) { 24 | this(code, message, null); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/exception/XSRuntimeException.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.exception; 2 | 3 | @SuppressWarnings("serial") 4 | public class XSRuntimeException extends RuntimeException { 5 | 6 | public XSRuntimeException(String msg) { 7 | super(msg); 8 | } 9 | 10 | public XSRuntimeException(String msg, Throwable e) { 11 | super(msg, e); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/node/CategoryNode.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.node; 2 | 3 | import cn.enilu.flash.bean.entity.shop.Category; 4 | import lombok.Data; 5 | 6 | import java.util.List; 7 | 8 | @Data 9 | public class CategoryNode extends Category { 10 | private List children= null; 11 | public String getLabel(){ 12 | return getName(); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/node/MenuMeta.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.node; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author :enilu 7 | * @date :Created in 2019/10/30 22:01 8 | */ 9 | @Data 10 | public class MenuMeta { 11 | private String title; 12 | private String icon; 13 | } 14 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/node/Node.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.node; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | /** 9 | * Node 10 | * 11 | * @author enilu 12 | * @version 2018/11/24 0024 13 | */ 14 | @Data 15 | public class Node { 16 | private Long id; 17 | private Long pid; 18 | private String name; 19 | private Boolean checked; 20 | private List children = new ArrayList<>(10); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/node/RouterMenu.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.node; 2 | 3 | import cn.enilu.flash.utils.Lists; 4 | import lombok.Data; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author :enilu 10 | * @date :Created in 2019/10/30 22:00 11 | */ 12 | @Data 13 | public class RouterMenu { 14 | private Long id; 15 | private Long parentId; 16 | private String path; 17 | private String component; 18 | private String name; 19 | private Integer num; 20 | private Boolean hidden=false; 21 | private MenuMeta meta; 22 | private List children = Lists.newArrayList(); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/node/TreeSelectNode.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.node; 2 | 3 | import com.fasterxml.jackson.annotation.JsonInclude; 4 | import lombok.Data; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * 配合vue-treeselect使用的节点对象 10 | */ 11 | @Data 12 | @JsonInclude(JsonInclude.Include.NON_NULL) 13 | public class TreeSelectNode { 14 | private String id; 15 | private String label; 16 | private List children; 17 | } 18 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/offcialsite/Author.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.offcialsite; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class Author { 7 | private String name; 8 | private String avatar; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/offcialsite/BannerItem.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.offcialsite; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class BannerItem { 7 | private String url="javascript:"; 8 | private String img; 9 | private String title=""; 10 | 11 | public BannerItem(){ 12 | 13 | } 14 | 15 | public BannerItem(String url, String img, String title) { 16 | this.url = url; 17 | this.img = img; 18 | this.title = title; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/offcialsite/BannerVo.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.offcialsite; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.List; 6 | 7 | @Data 8 | public class BannerVo { 9 | private Integer index = 0; 10 | private List list; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/offcialsite/News.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.offcialsite; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class News { 7 | /** 8 | * 资讯标题 9 | */ 10 | private String desc; 11 | /** 12 | * 详情链接 13 | */ 14 | private String url; 15 | /** 16 | * 图片地址 17 | */ 18 | private String src; 19 | public News(){ 20 | 21 | } 22 | 23 | public News(String desc, String url, String src) { 24 | this.desc = desc; 25 | this.url = url; 26 | this.src = src; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/offcialsite/Product.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.offcialsite; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class Product { 7 | private Long id; 8 | private String name; 9 | private String img; 10 | public Product(){ 11 | 12 | } 13 | 14 | public Product(Long id, String name, String img) { 15 | this.id = id; 16 | this.name = name; 17 | this.img = img; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/offcialsite/Reply.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.offcialsite; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.Date; 6 | 7 | @Data 8 | public class Reply { 9 | private String content; 10 | private Date createAt; 11 | private Author author; 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/offcialsite/Solution.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.offcialsite; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class Solution { 7 | 8 | private Long id; 9 | private String name; 10 | private String img; 11 | public Solution(){ 12 | 13 | } 14 | 15 | public Solution(Long id, String name, String img) { 16 | this.id = id; 17 | this.name = name; 18 | this.img = img; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/shop/Base64File.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.shop; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author :enilu 7 | * @date :Created in 1/4/2020 10:55 PM 8 | */ 9 | @Data 10 | public class Base64File { 11 | private String base64; 12 | private String name; 13 | private String type; 14 | } 15 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/shop/CartVo.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.shop; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author :enilu 7 | * @date :Created in 12/13/2019 2:50 PM 8 | */ 9 | @Data 10 | public class CartVo { 11 | private Long idGoods; 12 | private Integer count; 13 | private Long idSku; 14 | private Long idUser; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/shop/GoodsVo.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.shop; 2 | 3 | import cn.enilu.flash.bean.entity.shop.Goods; 4 | import cn.enilu.flash.bean.entity.shop.GoodsSku; 5 | import lombok.Data; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * @author :enilu 11 | * @date :Created in 12/10/2019 7:57 PM 12 | */ 13 | @Data 14 | public class GoodsVo { 15 | private Goods goods; 16 | private List skuList; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/bean/vo/shop/WechatInfo.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.bean.vo.shop; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * @author :enilu 9 | * @date :Created in 2020/3/10 14:06 10 | */ 11 | @Data 12 | public class WechatInfo implements Serializable { 13 | private String nickName; 14 | private String headUrl; 15 | private String openId; 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/cache/BaseCache.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.cache; 2 | 3 | import cn.enilu.flash.bean.vo.SpringContextHolder; 4 | import cn.enilu.flash.service.system.impl.ConstantFactory; 5 | 6 | /** 7 | * @author :enilu 8 | * @date :Created in 2020/4/26 19:07 9 | */ 10 | public abstract class BaseCache implements Cache { 11 | @Override 12 | public void cache() { 13 | SpringContextHolder.getBean(ConstantFactory.class).cleanLocalCache(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/cache/Cache.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.cache; 2 | 3 | /** 4 | * 顶级缓存接口 5 | */ 6 | public interface Cache { 7 | /** 8 | * 将数据库中的数据加载到缓存中 9 | */ 10 | void cache(); 11 | 12 | 13 | /** 14 | * 获取缓存数据 15 | * 16 | * @param key 17 | * @return 18 | */ 19 | String get(String key); 20 | 21 | 22 | /** 23 | * 设置缓存数据 24 | * 25 | * @param key 26 | * @param val 27 | */ 28 | void set(String key, Object val); 29 | 30 | 31 | } 32 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/cache/ConfigCache.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.cache; 2 | 3 | /** 4 | * 全局配置数据访问 5 | */ 6 | public interface ConfigCache extends Cache { 7 | 8 | 9 | /** 10 | * 获取全局配置参数值,可选本地缓存 11 | * @param key 12 | * @return 13 | */ 14 | String get(String key, boolean local); 15 | 16 | /** 17 | * 获取全局配置参数值(带默认值) 18 | * 19 | * @param key the key 20 | * @param def the default value 21 | * @return the config 22 | */ 23 | String get(String key, String def); 24 | 25 | /** 26 | * 删除缓存 27 | * @param key 28 | * @param val 29 | */ 30 | void del(String key, String val); 31 | } 32 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/cache/DictCache.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.cache; 2 | 3 | import cn.enilu.flash.bean.entity.system.Dict; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * 字典缓存 9 | * 10 | * @author zt 11 | * @version 2018/12/23 0023 12 | */ 13 | public interface DictCache extends Cache{ 14 | 15 | List getDictsByPname(String dictName); 16 | String getDict(Long dictId); 17 | } 18 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/cache/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * package-info 3 | * 4 | * @version 2018/9/11 0011 5 | * @author enilu 6 | */ 7 | package cn.enilu.flash.cache; -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/DaoConfiguration.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.data.jpa.repository.config.EnableJpaRepositories; 5 | 6 | /** 7 | * Name: DabConfiguration
8 | * User: Yao
9 | * Date: 2018/2/27
10 | * Time: 13:54
11 | */ 12 | @Configuration 13 | @EnableJpaRepositories("cn.enilu.flash.dao") 14 | public class DaoConfiguration { 15 | } 16 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/MySQLDialect.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao; 2 | 3 | import org.hibernate.dialect.InnoDBStorageEngine; 4 | import org.hibernate.dialect.MySQL5Dialect; 5 | import org.hibernate.dialect.MySQLStorageEngine; 6 | 7 | public class MySQLDialect extends MySQL5Dialect { 8 | @Override 9 | protected MySQLStorageEngine getDefaultMySQLStorageEngine() { 10 | return InnoDBStorageEngine.INSTANCE; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/cms/ArticleRepository.java: -------------------------------------------------------------------------------- 1 | 2 | package cn.enilu.flash.dao.cms; 3 | 4 | import cn.enilu.flash.bean.entity.cms.Article; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | import java.util.List; 8 | 9 | public interface ArticleRepository extends BaseRepository { 10 | /** 11 | * 查询指定栏目下所有文章列表 12 | * @param idChannel 13 | * @return 14 | */ 15 | List
findAllByIdChannel(Long idChannel); 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/cms/BannerRepository.java: -------------------------------------------------------------------------------- 1 | 2 | package cn.enilu.flash.dao.cms; 3 | 4 | import cn.enilu.flash.bean.entity.cms.Banner; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | import java.util.List; 8 | 9 | public interface BannerRepository extends BaseRepository { 10 | /** 11 | * 查询指定类别的banner列表 12 | * @param type 13 | * @return 14 | */ 15 | List findAllByType(String type); 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/cms/ChannelRepository.java: -------------------------------------------------------------------------------- 1 | 2 | package cn.enilu.flash.dao.cms; 3 | 4 | import cn.enilu.flash.bean.entity.cms.Channel; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | public interface ChannelRepository extends BaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/cms/ContactsRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.cms; 2 | 3 | import cn.enilu.flash.bean.entity.cms.Contacts; 4 | import cn.enilu.flash.dao.BaseRepository; 5 | 6 | public interface ContactsRepository extends BaseRepository { 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/message/MessageRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.message; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.message.Message; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | import java.util.ArrayList; 8 | 9 | 10 | public interface MessageRepository extends BaseRepository { 11 | void deleteAllByIdIn(ArrayList list); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/message/MessagesenderRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.message; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.message.MessageSender; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface MessagesenderRepository extends BaseRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/message/MessagetemplateRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.message; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.message.MessageTemplate; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | import java.util.List; 8 | 9 | 10 | public interface MessagetemplateRepository extends BaseRepository { 11 | MessageTemplate findByCode(String code); 12 | 13 | List findByIdMessageSender(Long idMessageSender); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/promotion/TopicRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.promotion; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.promotion.Topic; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface TopicRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/AddressRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.Address; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface AddressRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/AttrKeyRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.AttrKey; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface AttrKeyRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/AttrValRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.AttrVal; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface AttrValRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/CartRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.Cart; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface CartRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/CategoryBannerRelRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.CategoryBannerRel; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface CategoryBannerRelRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/CategoryRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.Category; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface CategoryRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/ExpressInfoRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.ExpressInfo; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface ExpressInfoRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/FavoriteRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.Favorite; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface FavoriteRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/GoodsRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.Goods; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface GoodsRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/GoodsSkuRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.GoodsSku; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface GoodsSkuRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/OrderItemRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.OrderItem; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface OrderItemRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/OrderLogRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.OrderLog; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface OrderLogRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/OrderRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.Order; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface OrderRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/shop/ShopUserRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.shop; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.shop.ShopUser; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface ShopUserRepository extends BaseRepository{ 9 | 10 | ShopUser findByMobile(String mobile); 11 | 12 | ShopUser findByWechatOpenId(String openId); 13 | } 14 | 15 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/system/CfgRepository.java: -------------------------------------------------------------------------------- 1 | 2 | package cn.enilu.flash.dao.system; 3 | 4 | import cn.enilu.flash.bean.entity.system.Cfg; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | /** 7 | * 全局参数dao 8 | * 9 | * @author :enilu 10 | * @date :Created in 2019/6/29 12:50 11 | */ 12 | public interface CfgRepository extends BaseRepository { 13 | 14 | Cfg findByCfgName(String cfgName); 15 | } 16 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/system/DictRepository.java: -------------------------------------------------------------------------------- 1 | 2 | package cn.enilu.flash.dao.system; 3 | 4 | 5 | import cn.enilu.flash.bean.entity.system.Dict; 6 | import cn.enilu.flash.dao.BaseRepository; 7 | 8 | import java.util.List; 9 | 10 | public interface DictRepository extends BaseRepository { 11 | List findByPid(Long pid); 12 | List findByNameAndPid(String name,Long pid); 13 | 14 | List findByNameLike(String name); 15 | } 16 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/system/ExpressRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.system; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.system.Express; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | 8 | public interface ExpressRepository extends BaseRepository{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/system/FileInfoRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.system; 2 | 3 | import cn.enilu.flash.bean.entity.system.FileInfo; 4 | import cn.enilu.flash.dao.BaseRepository; 5 | 6 | public interface FileInfoRepository extends BaseRepository { 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/system/NoticeRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.system; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.system.Notice; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * Created on 2018/3/21 0021. 11 | * 12 | * @author enilu 13 | */ 14 | public interface NoticeRepository extends BaseRepository { 15 | List findByTitleLike(String name); 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/system/TaskLogRepository.java: -------------------------------------------------------------------------------- 1 | 2 | package cn.enilu.flash.dao.system; 3 | 4 | 5 | import cn.enilu.flash.bean.entity.system.TaskLog; 6 | import cn.enilu.flash.dao.BaseRepository; 7 | 8 | public interface TaskLogRepository extends BaseRepository { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/system/TaskRepository.java: -------------------------------------------------------------------------------- 1 | 2 | package cn.enilu.flash.dao.system; 3 | 4 | 5 | import cn.enilu.flash.bean.entity.system.Task; 6 | import cn.enilu.flash.dao.BaseRepository; 7 | 8 | import java.util.List; 9 | 10 | public interface TaskRepository extends BaseRepository { 11 | 12 | long countByNameLike(String name); 13 | 14 | List findByNameLike(String name); 15 | List findAllByDisabled(boolean disable); 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/dao/system/UserRepository.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.dao.system; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.system.User; 5 | import cn.enilu.flash.dao.BaseRepository; 6 | 7 | /** 8 | * Created on 2018/3/21 0021. 9 | * 10 | * @author enilu 11 | */ 12 | public interface UserRepository extends BaseRepository { 13 | User findByAccount(String account); 14 | 15 | User findByAccountAndStatusNot(String account, Integer status); 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/security/JwtToken.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.security; 2 | 3 | import org.apache.shiro.authc.AuthenticationToken; 4 | 5 | /** 6 | * @author :enilu 7 | * @date :Created in 2019/7/30 22:58 8 | */ 9 | public class JwtToken implements AuthenticationToken { 10 | 11 | /** 12 | * 密钥 13 | */ 14 | private String token; 15 | 16 | public JwtToken(String token) { 17 | this.token = token; 18 | } 19 | 20 | @Override 21 | public Object getPrincipal() { 22 | return token; 23 | } 24 | 25 | @Override 26 | public Object getCredentials() { 27 | return token; 28 | } 29 | } -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/ApplicationProperties.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service; 2 | 3 | import org.springframework.beans.factory.annotation.Value; 4 | import org.springframework.stereotype.Service; 5 | 6 | @Service 7 | public class ApplicationProperties { 8 | @Value("${spring.profiles.active}") 9 | private String env; 10 | 11 | public String getEnv() { 12 | return env; 13 | } 14 | 15 | public void setEnv(String env) { 16 | this.env = env; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/CrudService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service; 2 | 3 | /** 4 | * 5 | * @author :enilu 6 | * @date :Created in 2019/6/29 22:31 7 | */ 8 | public interface CrudService extends 9 | InsertService, 10 | UpdateService, 11 | DeleteService, 12 | SelectService { 13 | } 14 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/InsertService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service; 2 | 3 | /** 4 | * 5 | * @author :enilu 6 | * @date :Created in 2019/6/29 22:28 7 | */ 8 | public interface InsertService { 9 | 10 | /** 11 | * 添加一条数据 12 | * 13 | * @param record 要添加的数据 14 | * @return 添加后生成的主键 15 | */ 16 | T insert(T record); 17 | } 18 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/UpdateService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service; 2 | 3 | /** 4 | * 5 | * @author :enilu 6 | * @date :Created in 2019/6/29 22:30 7 | */ 8 | public interface UpdateService { 9 | /** 10 | * 修改记录信息 11 | * 12 | * @param record 要修改的对象 13 | * @return 返回修改的记录 14 | */ 15 | T update(T record); 16 | 17 | /** 18 | * 批量更新 19 | * @param list 20 | */ 21 | void update(Iterable list); 22 | } 23 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/api/express/ExpressApi.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.api.express; 2 | 3 | import cn.enilu.flash.bean.entity.shop.ExpressInfo; 4 | 5 | /** 6 | * @author :enilu 7 | * @date :Created in 2021/1/2 23:13 8 | */ 9 | public interface ExpressApi { 10 | /** 11 | * 查询快递实时信息 12 | * @param orderNo 快递单号 13 | * @param companyCode 快递公司编码 14 | * @return 15 | */ 16 | ExpressInfo realTimeQuery(String orderNo, String companyCode) ; 17 | } 18 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/api/express/kdniao/Trace.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.api.express.kdniao; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class Trace { 8 | @JsonProperty("AcceptTime") 9 | private String acceptTime; 10 | @JsonProperty("AcceptStation") 11 | private String acceptStation; 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/cms/ChannelService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.cms; 2 | 3 | import cn.enilu.flash.bean.entity.cms.Channel; 4 | import cn.enilu.flash.dao.cms.ChannelRepository; 5 | import cn.enilu.flash.service.BaseService; 6 | import org.springframework.stereotype.Service; 7 | 8 | /** 9 | * 文章频道service 10 | * 11 | * @author :enilu 12 | * @date :Created in 2019/6/30 13:06 13 | */ 14 | @Service 15 | public class ChannelService extends BaseService { 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/cms/ContactsService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.cms; 2 | 3 | import cn.enilu.flash.bean.entity.cms.Contacts; 4 | import cn.enilu.flash.dao.cms.ContactsRepository; 5 | import cn.enilu.flash.service.BaseService; 6 | import org.springframework.stereotype.Service; 7 | 8 | @Service 9 | public class ContactsService extends BaseService { 10 | } 11 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/message/MessagetemplateService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.message; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.message.MessageTemplate; 5 | import cn.enilu.flash.dao.message.MessagetemplateRepository; 6 | import cn.enilu.flash.service.BaseService; 7 | import org.springframework.stereotype.Service; 8 | /** 9 | * MessagetemplateService 10 | * 11 | * @author enilu 12 | * @version 2019/05/17 0017 13 | */ 14 | @Service 15 | public class MessagetemplateService extends BaseService { 16 | 17 | } 18 | 19 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/message/sms/SmsSender.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.message.sms; 2 | 3 | import java.util.LinkedHashMap; 4 | 5 | public interface SmsSender { 6 | 7 | /** 8 | * 发送短信,如果内容content不为空,则直接发送内容 9 | * @param tplCode 短信运营商模板号码 10 | * @param receiver 11 | * @param params 12 | * @param content 13 | * @return 14 | */ 15 | boolean sendSms(String tplCode, String receiver, LinkedHashMap params, String content); 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/system/AccountService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.system; 2 | 3 | import cn.enilu.flash.cache.TokenCache; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.stereotype.Service; 6 | 7 | /** 8 | * AccountService 9 | * 10 | * @author enilu 11 | * @version 2018/9/12 0012 12 | */ 13 | @Service 14 | public class AccountService { 15 | @Autowired 16 | private TokenCache tokenCache; 17 | public void logout(String token) { 18 | tokenCache.remove(token); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/system/LoginLogService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.system; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.system.LoginLog; 5 | import cn.enilu.flash.dao.system.LoginLogRepository; 6 | import cn.enilu.flash.service.BaseService; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * Created on 2018/3/26 0026. 11 | * 12 | * @author enilu 13 | */ 14 | @Service 15 | public class LoginLogService extends BaseService { 16 | 17 | } 18 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/system/OperationLogService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.system; 2 | 3 | import cn.enilu.flash.bean.entity.system.OperationLog; 4 | import cn.enilu.flash.dao.system.OperationLogRepository; 5 | import cn.enilu.flash.service.BaseService; 6 | import org.springframework.stereotype.Service; 7 | 8 | /** 9 | * Created on 2018/3/26 0026. 10 | * 11 | * @author enilu 12 | */ 13 | @Service 14 | public class OperationLogService extends BaseService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/task/NoConurrentBaseJob.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.task; 2 | 3 | import org.quartz.DisallowConcurrentExecution; 4 | import org.springframework.stereotype.Component; 5 | 6 | @Component 7 | @DisallowConcurrentExecution 8 | public class NoConurrentBaseJob extends BaseJob { 9 | } 10 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/task/QuartzConfigration.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.task; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.scheduling.quartz.SchedulerFactoryBean; 6 | 7 | @Configuration 8 | public class QuartzConfigration { 9 | 10 | @Bean(name = "scheduler") 11 | public SchedulerFactoryBean schedulerFactory() { 12 | SchedulerFactoryBean bean = new SchedulerFactoryBean(); 13 | return bean; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/service/task/TaskLogService.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.service.task; 2 | 3 | 4 | import cn.enilu.flash.bean.entity.system.TaskLog; 5 | import cn.enilu.flash.dao.system.TaskLogRepository; 6 | import cn.enilu.flash.service.BaseService; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * 定时任务日志服务类 11 | * @author enilu 12 | * @date 2019-08-13 13 | */ 14 | @Service 15 | public class TaskLogService extends BaseService { 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/utils/Constants.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.utils; 2 | 3 | /** 4 | * 系统常量 5 | */ 6 | public interface Constants { 7 | /** 8 | * 默认的系统用户id 9 | */ 10 | long SYSTEM_USER_ID=-1; 11 | 12 | 13 | String SEPARATOR = ";;;"; 14 | } 15 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/web/ApiConstants.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.web; 2 | 3 | public class ApiConstants { 4 | public static final String HTTP_METHOD_OPTIONS="OPTIONS"; 5 | public static final String ADMIN_ACCOUNT="admin"; 6 | 7 | public static final String IP_UNKNOW="unknown"; 8 | public static final String IPV6_LOCALHOST="0:0:0:0:0:0:0:1"; 9 | public static final String IPV4_LOCALHOST="127.0.0.1"; 10 | 11 | 12 | } 13 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/java/cn/enilu/flash/web/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * @author :enilu 3 | * @date :Created in 11/5/2019 7:45 PM 4 | */ 5 | package cn.enilu.flash.web; 6 | -------------------------------------------------------------------------------- /linjiashop-core/src/main/resources/code/code.json: -------------------------------------------------------------------------------- 1 | //代码生成配置,具体用法参考:http://enilu.gitee.io/web-flash/ecosystem/code-generator.html 2 | { 3 | "codeConfig": { 4 | "type": "cn.enilu.flash.code.CodeConfig", 5 | "fields": { 6 | entityModel: "linjiashop-core", 7 | daoModel: "linjiashop-core", 8 | serviceModel: "linjiashop-core", 9 | controllerModel: "linjiashop-admin-api", 10 | viewModel: "linjiashop-admin" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /linjiashop-generator/idea-plugin.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-generator/idea-plugin.jar -------------------------------------------------------------------------------- /linjiashop-generator/src/main/resources/code/code.json: -------------------------------------------------------------------------------- 1 | //代码生成配置,具体用法参考:http://enilu.gitee.io/web-flash/ecosystem/code-generator.html 2 | { 3 | "codeConfig": { 4 | "type": "cn.enilu.flash.code.CodeConfig", 5 | "fields": { 6 | entityModel: "linjiashop-core", 7 | daoModel: "linjiashop-core", 8 | serviceModel: "linjiashop-core", 9 | controllerModel: "linjiashop-admin-api", 10 | viewModel: "linjiashop-admin" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /linjiashop-generator/src/main/resources/code/repository.vm: -------------------------------------------------------------------------------- 1 | package ${packageName}; 2 | 3 | 4 | import ${table.EntityFullClassName}; 5 | import ${table.basePackageName}.dao.BaseRepository; 6 | 7 | 8 | public interface ${table.RepositoryClassName} extends BaseRepository<${table.EntityClassName},Long>{ 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-generator/src/main/resources/code/view/api.js.vm: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '${table.UriPrefix}/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | 11 | 12 | export function save(params) { 13 | return request({ 14 | url: '${table.UriPrefix}', 15 | method: 'post', 16 | params 17 | }) 18 | } 19 | 20 | export function remove(id) { 21 | return request({ 22 | url: '${table.UriPrefix}', 23 | method: 'delete', 24 | params: { 25 | id: id 26 | } 27 | }) 28 | } 29 | -------------------------------------------------------------------------------- /linjiashop-mobile-api/src/main/java/cn/enilu/flash/mobile/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * @author :enilu 3 | * @date :Created in 11/5/2019 2:18 PM 4 | */ 5 | package cn.enilu.flash.mobile; 6 | -------------------------------------------------------------------------------- /linjiashop-mobile-api/src/main/java/cn/enilu/flash/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * @author :enilu 3 | * @date :Created in 11/4/2019 8:46 PM 4 | */ 5 | package cn.enilu.flash; 6 | -------------------------------------------------------------------------------- /linjiashop-mobile-api/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | 2 | ____ _ ____ ____ _ ____ ____ _ _ _____ ____ ____ _ 3 | / ___\/ \ /|/ _ \/ __\ / \__/|/ _ \/ _ \/ \/ \ / __/ / _ \/ __\/ \ 4 | | \| |_||| / \|| \/| | |\/||| / \|| | //| || | | \ | / \|| \/|| | 5 | \___ || | ||| \_/|| __/ | | ||| \_/|| |_\\| || |_/\| /_ | |-||| __/| | 6 | \____/\_/ \|\____/\_/ \_/ \|\____/\____/\_/\____/\____\ \_/ \|\_/ \_/ 7 | 8 | - Powered by Microapp.store 9 | -------------------------------------------------------------------------------- /linjiashop-mobile-api/src/test/java/cn/enilu/flash/vo/UserVo.java: -------------------------------------------------------------------------------- 1 | package cn.enilu.flash.vo; 2 | 3 | /** 4 | * @author :enilu 5 | * @date :Created in 2020/3/13 11:54 6 | */ 7 | public class UserVo { 8 | private Integer sex; 9 | private Integer count; 10 | } 11 | -------------------------------------------------------------------------------- /linjiashop-mobile-api/src/test/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | ## 开发环境配置 2 | debug=true 3 | spring.datasource.url=jdbc:mysql://localhost:3306/linjiashop?useUnicode=true&characterEncoding=UTF8 4 | spring.datasource.username=linjiashop 5 | spring.datasource.password=linjiashop191028 6 | 7 | #默认使用InnoDB引擎 8 | spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect 9 | spring.datasource.sql-script-encoding=utf-8 10 | spring.jpa.show-sql=true 11 | #server.servlet.context-path=/api 12 | -------------------------------------------------------------------------------- /linjiashop-mobile/.env.development: -------------------------------------------------------------------------------- 1 | # just a flag 2 | ENV = 'development' 3 | 4 | # base api 5 | VUE_APP_BASE_API = '/dev-api' 6 | 7 | # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, 8 | # to control whether the babel-plugin-dynamic-import-node plugin is enabled. 9 | # It only does one thing by converting all import() to require(). 10 | # This configuration can significantly increase the speed of hot updates, 11 | # when you have a large number of pages. 12 | # Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js 13 | 14 | VUE_CLI_BABEL_TRANSPILE_MODULES = true 15 | -------------------------------------------------------------------------------- /linjiashop-mobile/.env.production: -------------------------------------------------------------------------------- 1 | # just a flag 2 | ENV = 'production' 3 | 4 | # base api 5 | VUE_APP_BASE_API = '/prod-api' 6 | 7 | -------------------------------------------------------------------------------- /linjiashop-mobile/README.md: -------------------------------------------------------------------------------- 1 | # linjiashop-mobile 2 | - 使用vue.js开发的H5小商城系统 3 | - 前端框架采用[vant](https://vant-contrib.gitee.io/vant/#/zh-CN/) 4 | 5 | 6 | ## 运行项目 7 | 8 | - 运行 npm install --registry=https://registry.npmmirror.com 9 | - 运行 npm run dev 10 | - 启动成功后访问 http://localhost:8080/#/index 11 | - 打包生产:npm run build 12 | -------------------------------------------------------------------------------- /linjiashop-mobile/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['@vue/app'], 3 | plugins: [ 4 | [ 5 | 'import', 6 | { libraryName: 'vant', libraryDirectory: 'es', style: true }, 7 | 'vant' 8 | ] 9 | ] 10 | }; 11 | -------------------------------------------------------------------------------- /linjiashop-mobile/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-mobile/public/favicon.ico -------------------------------------------------------------------------------- /linjiashop-mobile/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | lite-shop-mobile 9 | 10 | 11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /linjiashop-mobile/src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | -------------------------------------------------------------------------------- /linjiashop-mobile/src/api/category.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | getAllCategories:function(){ 5 | return request({ 6 | url: '/category/list', 7 | method: 'get' 8 | }) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /linjiashop-mobile/src/api/topic.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | 4 | export default{ 5 | queryAll:function() { 6 | return request({ 7 | url: '/topic/list', 8 | method: 'get' 9 | }) 10 | }, 11 | get:function(id) { 12 | return request({ 13 | url: '/topic/'+id, 14 | method: 'get' 15 | }) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /linjiashop-mobile/src/api/wechat.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | 5 | getWxSign:function(params){ 6 | return request({ 7 | url: '/wechat/getWxSign', 8 | method: 'post', 9 | params 10 | }) 11 | }, 12 | getWxOpenId:function(params){ 13 | return request({ 14 | url: '/wechat/getWxOpenId', 15 | method: 'post', 16 | params 17 | }) 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /linjiashop-mobile/src/assets/img/alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-mobile/src/assets/img/alipay.png -------------------------------------------------------------------------------- /linjiashop-mobile/src/assets/img/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-mobile/src/assets/img/banner.jpg -------------------------------------------------------------------------------- /linjiashop-mobile/src/assets/img/wxpay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-mobile/src/assets/img/wxpay.png -------------------------------------------------------------------------------- /linjiashop-mobile/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import App from './App'; 3 | import { router } from './router'; 4 | import VueLazyload from 'vue-lazyload' 5 | Vue.use(VueLazyload, { 6 | preLoad: 1.3, 7 | error: 'svg/loading.svg', 8 | loading: 'svg/loading.svg', 9 | attempt: 1 10 | }) 11 | new Vue({ 12 | router, 13 | el: '#app', 14 | render: h => h(App) 15 | }); 16 | -------------------------------------------------------------------------------- /linjiashop-mobile/src/store/getters.js: -------------------------------------------------------------------------------- 1 | const getters = { 2 | category: state => state.category, 3 | device: state => state.app.device, 4 | token: state => state.app.token, 5 | user: state => state.app.user 6 | } 7 | export default getters 8 | -------------------------------------------------------------------------------- /linjiashop-mobile/src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | import getters from './getters' 4 | import app from './modules/app' 5 | 6 | Vue.use(Vuex) 7 | 8 | const store = new Vuex.Store({ 9 | modules: { 10 | app 11 | }, 12 | getters 13 | }) 14 | 15 | export default store 16 | -------------------------------------------------------------------------------- /linjiashop-mobile/src/utils/util.js: -------------------------------------------------------------------------------- 1 | export default { 2 | formatMobile: function (mobile) { 3 | return mobile.substr(0, 3) + '****' + mobile.substr(7, 11); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /linjiashop-wxapp/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": false, 5 | "targets": { 6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }], 9 | "stage-2" 10 | ], 11 | "plugins": ["transform-runtime"], 12 | "env": { 13 | "test": { 14 | "presets": ["env", "stage-2"], 15 | "plugins": ["istanbul"] 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /linjiashop-wxapp/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /linjiashop-wxapp/.eslintignore: -------------------------------------------------------------------------------- 1 | build/*.js 2 | config/*.js 3 | -------------------------------------------------------------------------------- /linjiashop-wxapp/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | dist/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Editor directories and files 9 | .idea 10 | *.suo 11 | *.ntvs* 12 | *.njsproj 13 | *.sln 14 | -------------------------------------------------------------------------------- /linjiashop-wxapp/.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | "postcss-mpvue-wxss": {} 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/build/dev-client.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | require('eventsource-polyfill') 3 | var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') 4 | 5 | hotClient.subscribe(function (event) { 6 | if (event.action === 'reload') { 7 | window.location.reload() 8 | } 9 | }) 10 | -------------------------------------------------------------------------------- /linjiashop-wxapp/build/vue-loader.conf.js: -------------------------------------------------------------------------------- 1 | var utils = require('./utils') 2 | var config = require('../config') 3 | // var isProduction = process.env.NODE_ENV === 'production' 4 | // for mp 5 | var isProduction = true 6 | 7 | module.exports = { 8 | loaders: utils.cssLoaders({ 9 | sourceMap: isProduction 10 | ? config.build.productionSourceMap 11 | : config.dev.cssSourceMap, 12 | extract: isProduction 13 | }), 14 | transformToRequire: { 15 | video: 'src', 16 | source: 'src', 17 | img: 'src', 18 | image: 'xlink:href' 19 | }, 20 | fileExt: config.build.fileExt 21 | } 22 | -------------------------------------------------------------------------------- /linjiashop-wxapp/config/dev.env.js: -------------------------------------------------------------------------------- 1 | var merge = require('webpack-merge') 2 | var prodEnv = require('./prod.env') 3 | 4 | module.exports = merge(prodEnv, { 5 | NODE_ENV: '"development"' 6 | }) 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/config/prod.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"production"' 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | linjiashop-wxapp 6 | 7 | 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-wxapp/package.swan.json: -------------------------------------------------------------------------------- 1 | { 2 | "appid": "testappid", 3 | "setting": { 4 | "urlCheck": false 5 | }, 6 | "condition": { 7 | "swan": { 8 | "current": -1, 9 | "list": [] 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/project.swan.json: -------------------------------------------------------------------------------- 1 | { 2 | "appid": "testappid", 3 | "setting": { 4 | "urlCheck": false 5 | }, 6 | "condition": { 7 | "swan": { 8 | "current": -1, 9 | "list": [] 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/src/components/card.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 14 | 15 | 20 | -------------------------------------------------------------------------------- /linjiashop-wxapp/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App' 3 | import API from './utils/api.js' 4 | Vue.prototype.$API = API(wx) 5 | 6 | Vue.config.errorHandler = function (err) { 7 | if (console && console.error) { 8 | console.error(err) 9 | } 10 | } 11 | const app = new Vue(App) 12 | app.$mount() 13 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/.gitkeep -------------------------------------------------------------------------------- /linjiashop-wxapp/static/img/alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/img/alipay.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/img/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/img/banner.jpg -------------------------------------------------------------------------------- /linjiashop-wxapp/static/img/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/img/logo.jpg -------------------------------------------------------------------------------- /linjiashop-wxapp/static/img/wxpay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/img/wxpay.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/tabs/cart-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/tabs/cart-active.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/tabs/cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/tabs/cart.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/tabs/home-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/tabs/home-active.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/tabs/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/tabs/home.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/tabs/me-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/tabs/me-active.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/tabs/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/tabs/me.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/tabs/search-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/tabs/search-active.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/tabs/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/tabs/search.png -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/action-sheet/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/action-sheet/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-popup": "../popup/index", 6 | "van-loading": "../loading/index" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/area/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/area/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-picker": "../picker/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/area/index.wxml: -------------------------------------------------------------------------------- 1 | 19 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/area/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss'; -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/button/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/button/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-loading": "../loading/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/card/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/card/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-tag": "../tag/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/cell-group/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/cell-group/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | title: String, 5 | border: { 6 | type: Boolean, 7 | value: true 8 | } 9 | } 10 | }); 11 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/cell-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/cell-group/index.wxml: -------------------------------------------------------------------------------- 1 | 5 | {{ title }} 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/cell-group/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-cell-group__title{padding:16px 16px 8px;padding:var(--cell-group-title-padding,16px 16px 8px);font-size:14px;font-size:var(--cell-group-title-font-size,14px);line-height:16px;line-height:var(--cell-group-title-line-height,16px);color:#969799;color:var(--cell-group-title-color,#969799)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/cell/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/cell/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/checkbox-group/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/checkbox-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/checkbox-group/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/checkbox-group/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss'; -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/checkbox/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/checkbox/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/circle/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/circle/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/circle/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {{ text }} 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/circle/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-circle{position:relative;display:inline-block;text-align:center}.van-circle__text{position:absolute;top:50%;left:0;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#323233;color:var(--circle-text-color,#323233)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/col/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/col/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/col/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/collapse-item/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/collapse-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-cell": "../cell/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/collapse/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/collapse/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/collapse/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/collapse/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss'; -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/color.d.ts: -------------------------------------------------------------------------------- 1 | export declare const RED = "#ee0a24"; 2 | export declare const BLUE = "#1989fa"; 3 | export declare const WHITE = "#fff"; 4 | export declare const GREEN = "#07c160"; 5 | export declare const ORANGE = "#ff976a"; 6 | export declare const GRAY = "#323233"; 7 | export declare const GRAY_DARK = "#969799"; 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/color.js: -------------------------------------------------------------------------------- 1 | export const RED = '#ee0a24'; 2 | export const BLUE = '#1989fa'; 3 | export const WHITE = '#fff'; 4 | export const GREEN = '#07c160'; 5 | export const ORANGE = '#ff976a'; 6 | export const GRAY = '#323233'; 7 | export const GRAY_DARK = '#969799'; 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/component.d.ts: -------------------------------------------------------------------------------- 1 | import { VantComponentOptions, CombinedComponentInstance } from '../definitions/index'; 2 | declare function VantComponent(vantOptions?: VantComponentOptions>): void; 3 | export { VantComponent }; 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/style/clearfix.wxss: -------------------------------------------------------------------------------- 1 | .van-clearfix:after{display:table;clear:both;content:""} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/style/ellipsis.wxss: -------------------------------------------------------------------------------- 1 | .van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/style/mixins/clearfix.wxss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/vant/common/style/mixins/clearfix.wxss -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/style/mixins/ellipsis.wxss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/vant/common/style/mixins/ellipsis.wxss -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/style/mixins/hairline.wxss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/vant/common/style/mixins/hairline.wxss -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/style/theme.wxss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/vant/common/style/theme.wxss -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/style/var.wxss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/vant/common/style/var.wxss -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/common/utils.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | export declare function isDef(value: any): boolean; 3 | export declare function isObj(x: any): boolean; 4 | export declare function isNumber(value: any): boolean; 5 | export declare function range(num: number, min: number, max: number): number; 6 | export declare function nextTick(fn: Function): void; 7 | export declare function getSystemInfoSync(): WechatMiniprogram.GetSystemInfoSuccessCallbackResult; 8 | export declare function addUnit(value?: string | number): string | undefined; 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/count-down/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/count-down/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/count-down/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ formattedTime }} 4 | 5 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/count-down/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-count-down{color:#323233;color:var(--count-down-text-color,#323233);font-size:14px;font-size:var(--count-down-font-size,14px);line-height:20px;line-height:var(--count-down-line-height,20px)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/count-down/utils.d.ts: -------------------------------------------------------------------------------- 1 | export declare type TimeData = { 2 | days: number; 3 | hours: number; 4 | minutes: number; 5 | seconds: number; 6 | milliseconds: number; 7 | }; 8 | export declare function parseTimeData(time: number): TimeData; 9 | export declare function parseFormat(format: string, timeData: TimeData): string; 10 | export declare function isSameSecond(time1: number, time2: number): boolean; 11 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/datetime-picker/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/datetime-picker/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-picker": "../picker/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/datetime-picker/index.wxml: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/datetime-picker/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss'; -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/definitions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/vant/definitions/index.js -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/definitions/weapp.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microapp-store/linjiashop/4401d0762d96b575a46dd5961845a875f2415403/linjiashop-wxapp/static/vant/definitions/weapp.js -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/dialog/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/dialog/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-popup": "../popup/index", 5 | "van-button": "../button/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/divider/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/divider/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/divider/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/dropdown-item/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/dropdown-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-popup": "../popup/index", 5 | "van-cell": "../cell/index", 6 | "van-icon": "../icon/index" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/dropdown-item/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-dropdown-item{position:fixed;right:0;left:0;overflow:hidden}.van-dropdown-item__option{text-align:left}.van-dropdown-item__option--active .van-dropdown-item__icon,.van-dropdown-item__option--active .van-dropdown-item__title{color:#1989fa;color:var(--dropdown-menu-option-active-color,#1989fa)}.van-dropdown-item--up{top:0}.van-dropdown-item--down{bottom:0}.van-dropdown-item__icon{display:block;line-height:inherit} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/dropdown-menu/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/dropdown-menu/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/field/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/field/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-cell": "../cell/index", 5 | "van-icon": "../icon/index" 6 | } 7 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action-button/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action-button/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-button": "../button/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action-icon/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action-icon/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-button": "../button/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action-icon/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-goods-action-icon{border:none!important;width:50px!important;width:var(--goods-action-icon-height,50px)!important}.van-goods-action-icon__content{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;height:100%;line-height:1;font-size:10px;font-size:var(--goods-action-icon-font-size,10px);color:#7d7e80;color:var(--goods-action-icon-text-color,#7d7e80)}.van-goods-action-icon__icon{margin-bottom:4px} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | relation: { 4 | type: 'descendant', 5 | name: 'goods-action-button', 6 | linked(child) { 7 | this.children.push(child); 8 | }, 9 | unlinked(child) { 10 | this.children = this.children.filter((item) => item !== child); 11 | } 12 | }, 13 | beforeCreate() { 14 | this.children = []; 15 | }, 16 | props: { 17 | safeAreaInsetBottom: { 18 | type: Boolean, 19 | value: true 20 | } 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/goods-action/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-goods-action{position:fixed;right:0;bottom:0;left:0;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;background-color:#fff;background-color:var(--goods-action-background-color,#fff)}.van-goods-action--safe{padding-bottom:env(safe-area-inset-bottom)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/grid-item/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/grid-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/grid/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/grid/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/grid/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/grid/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-grid{position:relative;box-sizing:border-box;overflow:hidden} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/icon/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/icon/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-info": "../info/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/icon/index.wxml: -------------------------------------------------------------------------------- 1 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/image/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/image/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-loading": "../loading/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/index-anchor/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/index-anchor/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | relation: { 4 | name: 'index-bar', 5 | type: 'ancestor', 6 | linked(target) { 7 | this.parent = target; 8 | }, 9 | unlinked() { 10 | this.parent = null; 11 | } 12 | }, 13 | props: { 14 | useSlot: Boolean, 15 | index: null 16 | }, 17 | data: { 18 | active: false, 19 | wrapperStyle: '', 20 | anchorStyle: '' 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/index-anchor/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/index-anchor/index.wxml: -------------------------------------------------------------------------------- 1 | 5 | 9 | 10 | 11 | {{ index }} 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/index-anchor/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-index-anchor{padding:0 16px;padding:var(--index-anchor-padding,0 16px);color:#323233;color:var(--index-anchor-text-color,#323233);font-weight:500;font-weight:var(--index-anchor-font-weight,500);font-size:14px;font-size:var(--index-anchor-font-size,14px);line-height:32px;line-height:var(--index-anchor-line-height,32px);background-color:initial;background-color:var(--index-anchor-background-color,transparent)}.van-index-anchor--active{right:0;left:0;color:#07c160;color:var(--index-anchor-active-text-color,#07c160);background-color:#fff;background-color:var(--index-anchor-active-background-color,#fff)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/index-bar/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/index-bar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/index-bar/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 19 | {{ item }} 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/index-bar/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-index-bar{position:relative}.van-index-bar__sidebar{position:fixed;top:50%;right:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;user-select:none}.van-index-bar__index{font-weight:500;padding:0 4px 0 16px;padding:0 var(--padding-base,4px) 0 var(--padding-md,16px);font-size:10px;font-size:var(--index-bar-index-font-size,10px);line-height:14px;line-height:var(--index-bar-index-line-height,14px)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/info/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/info/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | dot: Boolean, 5 | info: null, 6 | customStyle: String 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/info/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/info/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ dot ? '' : info }} 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/loading/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/loading/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/loading/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/basic.d.ts: -------------------------------------------------------------------------------- 1 | export declare const basic: string; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/button.d.ts: -------------------------------------------------------------------------------- 1 | export declare const button: string; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/button.js: -------------------------------------------------------------------------------- 1 | export const button = Behavior({ 2 | externalClasses: ['hover-class'], 3 | properties: { 4 | id: String, 5 | lang: { 6 | type: String, 7 | value: 'en' 8 | }, 9 | businessId: Number, 10 | sessionFrom: String, 11 | sendMessageTitle: String, 12 | sendMessagePath: String, 13 | sendMessageImg: String, 14 | showMessageCard: Boolean, 15 | appParameter: String, 16 | ariaLabel: String 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/link.d.ts: -------------------------------------------------------------------------------- 1 | export declare const link: string; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/link.js: -------------------------------------------------------------------------------- 1 | export const link = Behavior({ 2 | properties: { 3 | url: String, 4 | linkType: { 5 | type: String, 6 | value: 'navigateTo' 7 | } 8 | }, 9 | methods: { 10 | jumpLink(urlKey = 'url') { 11 | const url = this.data[urlKey]; 12 | if (url) { 13 | wx[this.data.linkType]({ url }); 14 | } 15 | } 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/observer/behavior.d.ts: -------------------------------------------------------------------------------- 1 | export declare const behavior: string; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/observer/behavior.js: -------------------------------------------------------------------------------- 1 | export const behavior = Behavior({ 2 | methods: { 3 | set(data, callback) { 4 | return new Promise(resolve => { 5 | this.setData(data, () => { 6 | if (callback && typeof callback === 'function') { 7 | callback.call(this); 8 | } 9 | resolve(); 10 | }); 11 | }); 12 | } 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/observer/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare function observe(vantOptions: any, options: any): void; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/open-type.d.ts: -------------------------------------------------------------------------------- 1 | export declare const openType: string; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/touch.d.ts: -------------------------------------------------------------------------------- 1 | export declare const touch: string; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/mixins/transition.d.ts: -------------------------------------------------------------------------------- 1 | export declare const transition: (showDefaultValue: boolean) => any; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/nav-bar/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/nav-bar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/notice-bar/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/notice-bar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/notify/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/notify/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-transition": "../transition/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/notify/index.wxml: -------------------------------------------------------------------------------- 1 | 8 | 12 | 13 | {{ message }} 14 | 15 | 16 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/notify/notify.d.ts: -------------------------------------------------------------------------------- 1 | interface NotifyOptions { 2 | type?: 'primary' | 'success' | 'danger' | 'warning'; 3 | color?: string; 4 | zIndex?: number; 5 | message: string; 6 | context?: any; 7 | duration?: number; 8 | selector?: string; 9 | background?: string; 10 | safeAreaInsetTop?: boolean; 11 | onClick?: () => void; 12 | onOpened?: () => void; 13 | onClose?: () => void; 14 | } 15 | export default function Notify(options: NotifyOptions | string): void; 16 | export {}; 17 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/overlay/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/overlay/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | show: Boolean, 5 | customStyle: String, 6 | duration: { 7 | type: null, 8 | value: 300 9 | }, 10 | zIndex: { 11 | type: Number, 12 | value: 1 13 | } 14 | }, 15 | methods: { 16 | onClick() { 17 | this.$emit('click'); 18 | }, 19 | // for prevent touchmove 20 | noop() { } 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/overlay/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-transition": "../transition/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/overlay/index.wxml: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/overlay/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);background-color:var(--overlay-background-color,rgba(0,0,0,.7))} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/panel/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/panel/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | classes: ['header-class', 'footer-class'], 4 | props: { 5 | desc: String, 6 | title: String, 7 | status: String, 8 | useFooterSlot: Boolean 9 | } 10 | }); 11 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/panel/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-cell": "../cell/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/panel/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/panel/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-panel{background:#fff;background:var(--panel-background-color,#fff)}.van-panel__header-value{color:#ee0a24;color:var(--panel-header-value-color,#ee0a24)}.van-panel__footer{padding:8px 16px;padding:var(--panel-footer-padding,8px 16px)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/picker-column/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/picker-column/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/picker-column/index.wxs: -------------------------------------------------------------------------------- 1 | function isObj(x) { 2 | var type = typeof x; 3 | return x !== null && (type === 'object' || type === 'function'); 4 | } 5 | 6 | module.exports = function (option, valueKey) { 7 | return isObj(option) && option[valueKey] != null ? option[valueKey] : option; 8 | } 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/picker-column/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-picker-column{overflow:hidden;text-align:center;color:#000;color:var(--picker-option-text-color,#000);font-size:16px;font-size:var(--picker-option-font-size,16px)}.van-picker-column__item{padding:0 5px}.van-picker-column__item--selected{font-weight:500;font-weight:var(--font-weight-bold,500);color:#323233;color:var(--picker-option-selected-text-color,#323233)}.van-picker-column__item--disabled{opacity:.3;opacity:var(--picker-option-disabled-opacity,.3)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/picker/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/picker/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "picker-column": "../picker-column/index", 5 | "loading": "../loading/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/picker/shared.d.ts: -------------------------------------------------------------------------------- 1 | export declare const pickerProps: { 2 | title: StringConstructor; 3 | loading: BooleanConstructor; 4 | showToolbar: BooleanConstructor; 5 | cancelButtonText: { 6 | type: StringConstructor; 7 | value: string; 8 | }; 9 | confirmButtonText: { 10 | type: StringConstructor; 11 | value: string; 12 | }; 13 | visibleItemCount: { 14 | type: NumberConstructor; 15 | value: number; 16 | }; 17 | itemHeight: { 18 | type: NumberConstructor; 19 | value: number; 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/picker/shared.js: -------------------------------------------------------------------------------- 1 | export const pickerProps = { 2 | title: String, 3 | loading: Boolean, 4 | showToolbar: Boolean, 5 | cancelButtonText: { 6 | type: String, 7 | value: '取消' 8 | }, 9 | confirmButtonText: { 10 | type: String, 11 | value: '确认' 12 | }, 13 | visibleItemCount: { 14 | type: Number, 15 | value: 5 16 | }, 17 | itemHeight: { 18 | type: Number, 19 | value: 44 20 | } 21 | }; 22 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/popup/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/popup/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-overlay": "../overlay/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/progress/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/progress/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/progress/index.wxs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | text: function(pivotText, percentage) { 3 | return pivotText || percentage + '%'; 4 | } 5 | }; 6 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/radio-group/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/radio-group/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/radio-group/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/radio-group/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss'; -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/radio/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/radio/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/rate/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/rate/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/rate/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-rate{display:-webkit-inline-flex;display:inline-flex;-webkit-user-select:none;user-select:none}.van-rate__item{position:relative;padding:0 2px;padding:0 var(--rate-horizontal-padding,2px)}.van-rate__icon{display:block;height:1em;font-size:20px;font-size:var(--rate-icon-size,20px)}.van-rate__icon--half{position:absolute;top:0;width:.5em;overflow:hidden;left:2px;left:var(--rate-horizontal-padding,2px)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/row/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/row/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/row/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/row/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-row:after{display:table;clear:both;content:""} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/search/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/search/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-field": "../field/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sidebar-item/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sidebar-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-info": "../info/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sidebar-item/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 16 | {{ title }} 17 | 18 | 19 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sidebar/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sidebar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sidebar/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sidebar/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-sidebar{width:85px;width:var(--sidebar-width,85px)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/skeleton/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/skeleton/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/slider/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/slider/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/stepper/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/stepper/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/steps/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/steps/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | import { GREEN } from '../common/color'; 3 | VantComponent({ 4 | props: { 5 | icon: String, 6 | steps: Array, 7 | active: Number, 8 | direction: { 9 | type: String, 10 | value: 'horizontal' 11 | }, 12 | activeColor: { 13 | type: String, 14 | value: GREEN 15 | }, 16 | activeIcon: { 17 | type: String, 18 | value: 'checked' 19 | }, 20 | inactiveIcon: String 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/steps/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sticky/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sticky/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sticky/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/sticky/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-sticky{position:relative}.van-sticky-wrap--fixed{position:fixed;right:0;left:0} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/submit-bar/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/submit-bar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-button": "../button/index", 5 | "van-icon": "../icon/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/swipe-cell/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/swipe-cell/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/swipe-cell/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-swipe-cell{position:relative;overflow:hidden}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/switch/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/switch/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-loading": "../loading/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/switch/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tab/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tab/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tab/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tab/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';:host{-webkit-flex-shrink:0;flex-shrink:0;width:100%}.van-tab__pane,:host{box-sizing:border-box}.van-tab__pane{overflow-y:auto}.van-tab__pane--active{height:auto}.van-tab__pane--inactive{height:0;overflow:visible} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tabbar-item/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tabbar-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-info": "../info/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tabbar/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tabbar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tabbar/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tabbar/index.wxss: -------------------------------------------------------------------------------- 1 | @import '../common/index.wxss';.van-tabbar{display:-webkit-flex;display:flex;width:100%;height:50px;height:var(--tabbar-height,50px);background-color:#fff;background-color:var(--tabbar-background-color,#fff)}.van-tabbar--fixed{position:fixed;bottom:0;left:0}.van-tabbar--safe{padding-bottom:env(safe-area-inset-bottom)} -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tabs/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tabs/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-info": "../info/index", 5 | "van-sticky": "../sticky/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tag/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tag/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | VantComponent({ 3 | props: { 4 | size: String, 5 | mark: Boolean, 6 | color: String, 7 | plain: Boolean, 8 | round: Boolean, 9 | textColor: String, 10 | type: { 11 | type: String, 12 | value: 'default' 13 | }, 14 | closeable: Boolean 15 | }, 16 | methods: { 17 | onClose() { 18 | this.$emit('close'); 19 | } 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tag/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tag/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 14 | 15 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/toast/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/toast/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-loading": "../loading/index", 6 | "van-overlay": "../overlay/index", 7 | "van-transition": "../transition/index" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/transition/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/transition/index.js: -------------------------------------------------------------------------------- 1 | import { VantComponent } from '../common/component'; 2 | import { transition } from '../mixins/transition'; 3 | VantComponent({ 4 | classes: [ 5 | 'enter-class', 6 | 'enter-active-class', 7 | 'enter-to-class', 8 | 'leave-class', 9 | 'leave-active-class', 10 | 'leave-to-class' 11 | ], 12 | mixins: [transition(true)] 13 | }); 14 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/transition/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/transition/index.wxml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tree-select/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tree-select/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index", 5 | "van-sidebar": "../sidebar/index", 6 | "van-sidebar-item": "../sidebar-item/index" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/tree-select/index.wxs: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | var array = require('../wxs/array.wxs'); 3 | 4 | function isActive (activeList, itemId) { 5 | if (array.isArray(activeList)) { 6 | return activeList.indexOf(itemId) > -1; 7 | } 8 | 9 | return activeList === itemId; 10 | } 11 | 12 | module.exports.isActive = isActive; 13 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/uploader/index.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/uploader/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "van-icon": "../icon/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/uploader/utils.d.ts: -------------------------------------------------------------------------------- 1 | interface File { 2 | path: string; 3 | url: string; 4 | size: number; 5 | name: string; 6 | type: string; 7 | time: number; 8 | image: boolean; 9 | } 10 | export declare function isImageUrl(url: string): boolean; 11 | export declare function isImageFile(item: File): boolean; 12 | export {}; 13 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/uploader/utils.js: -------------------------------------------------------------------------------- 1 | const IMAGE_EXT = ['jpeg', 'jpg', 'gif', 'png', 'svg']; 2 | export function isImageUrl(url) { 3 | return IMAGE_EXT.some(ext => url.indexOf(`.${ext}`) !== -1); 4 | } 5 | export function isImageFile(item) { 6 | if (item.type) { 7 | return item.type.indexOf('image') === 0; 8 | } 9 | if (item.path) { 10 | return isImageUrl(item.path); 11 | } 12 | if (item.url) { 13 | return isImageUrl(item.url); 14 | } 15 | return false; 16 | } 17 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/wxs/array.wxs: -------------------------------------------------------------------------------- 1 | function isArray(array) { 2 | return array && array.constructor === 'Array'; 3 | } 4 | 5 | module.exports.isArray = isArray; 6 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/wxs/object.wxs: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | var REGEXP = getRegExp('{|}|"', 'g'); 3 | 4 | function keys(obj) { 5 | return JSON.stringify(obj) 6 | .replace(REGEXP, '') 7 | .split(',') 8 | .map(function(item) { 9 | return item.split(':')[0]; 10 | }); 11 | } 12 | 13 | module.exports.keys = keys; 14 | -------------------------------------------------------------------------------- /linjiashop-wxapp/static/vant/wxs/utils.wxs: -------------------------------------------------------------------------------- 1 | var bem = require('./bem.wxs').bem; 2 | var memoize = require('./memoize.wxs').memoize; 3 | 4 | module.exports = { 5 | bem: memoize(bem), 6 | memoize: memoize 7 | }; 8 | --------------------------------------------------------------------------------