├── README.md └── itstack-demo-frame-02 ├── itstack-demo-frame-dcs-test ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── itstack │ │ │ └── demo │ │ │ └── controller │ │ │ └── UserController.java │ ├── resources │ │ ├── logback.xml │ │ ├── spring-config.xml │ │ └── spring │ │ │ ├── spring-config-dubbo-consumer.xml │ │ │ └── spring-mvc.xml │ └── webapp │ │ ├── WEB-INF │ │ └── web.xml │ │ ├── index.html │ │ ├── page │ │ └── user │ │ │ ├── js │ │ │ └── user.js │ │ │ └── user.html │ │ ├── res │ │ ├── api │ │ │ ├── clear.json │ │ │ ├── init.json │ │ │ ├── menus.json │ │ │ ├── table.json │ │ │ ├── tableSelect.json │ │ │ └── upload.json │ │ ├── css │ │ │ ├── layuimini.css │ │ │ └── public.css │ │ ├── images │ │ │ ├── bg.jpg │ │ │ ├── captcha.jpg │ │ │ ├── donate_qrcode.png │ │ │ ├── favicon.ico │ │ │ ├── home.png │ │ │ └── logo.png │ │ ├── js │ │ │ ├── lay-config.js │ │ │ └── lay-module │ │ │ │ ├── echarts │ │ │ │ ├── echarts.js │ │ │ │ └── echartsTheme.js │ │ │ │ ├── iconPicker │ │ │ │ └── iconPickerFa.js │ │ │ │ ├── layuimini │ │ │ │ └── layuimini.js │ │ │ │ ├── step-lay │ │ │ │ ├── step.css │ │ │ │ └── step.js │ │ │ │ ├── tableSelect │ │ │ │ └── tableSelect.js │ │ │ │ ├── treetable-lay │ │ │ │ ├── treetable.css │ │ │ │ └── treetable.js │ │ │ │ └── wangEditor │ │ │ │ ├── fonts │ │ │ │ └── w-e-icon.woff │ │ │ │ ├── wangEditor.css │ │ │ │ ├── wangEditor.js │ │ │ │ ├── wangEditor.min.css │ │ │ │ ├── wangEditor.min.js │ │ │ │ └── wangEditor.min.js.map │ │ ├── lib │ │ │ ├── font-awesome-4.7.0 │ │ │ │ ├── HELP-US-OUT.txt │ │ │ │ ├── css │ │ │ │ │ ├── font-awesome.css │ │ │ │ │ └── font-awesome.min.css │ │ │ │ ├── fonts │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ ├── less │ │ │ │ │ ├── animated.less │ │ │ │ │ ├── bordered-pulled.less │ │ │ │ │ ├── core.less │ │ │ │ │ ├── fixed-width.less │ │ │ │ │ ├── font-awesome.less │ │ │ │ │ ├── icons.less │ │ │ │ │ ├── larger.less │ │ │ │ │ ├── list.less │ │ │ │ │ ├── mixins.less │ │ │ │ │ ├── path.less │ │ │ │ │ ├── rotated-flipped.less │ │ │ │ │ ├── screen-reader.less │ │ │ │ │ ├── stacked.less │ │ │ │ │ └── variables.less │ │ │ │ └── scss │ │ │ │ │ ├── _animated.scss │ │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ │ ├── _core.scss │ │ │ │ │ ├── _fixed-width.scss │ │ │ │ │ ├── _icons.scss │ │ │ │ │ ├── _larger.scss │ │ │ │ │ ├── _list.scss │ │ │ │ │ ├── _mixins.scss │ │ │ │ │ ├── _path.scss │ │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ ├── _stacked.scss │ │ │ │ │ ├── _variables.scss │ │ │ │ │ └── font-awesome.scss │ │ │ ├── jq-module │ │ │ │ ├── jquery.particleground.min.js │ │ │ │ ├── paigusu.min.js │ │ │ │ └── zyupload │ │ │ │ │ ├── zyupload-1.0.0.min.css │ │ │ │ │ └── zyupload-1.0.0.min.js │ │ │ ├── jquery-3.4.1 │ │ │ │ └── jquery-3.4.1.min.js │ │ │ └── layui-v2.5.4 │ │ │ │ ├── css │ │ │ │ ├── layui.css │ │ │ │ ├── layui.mobile.css │ │ │ │ └── modules │ │ │ │ │ ├── code.css │ │ │ │ │ ├── laydate │ │ │ │ │ └── default │ │ │ │ │ │ └── laydate.css │ │ │ │ │ └── layer │ │ │ │ │ └── default │ │ │ │ │ ├── icon-ext.png │ │ │ │ │ ├── icon.png │ │ │ │ │ ├── layer.css │ │ │ │ │ ├── loading-0.gif │ │ │ │ │ ├── loading-1.gif │ │ │ │ │ └── loading-2.gif │ │ │ │ ├── font │ │ │ │ ├── iconfont.eot │ │ │ │ ├── iconfont.svg │ │ │ │ ├── iconfont.ttf │ │ │ │ ├── iconfont.woff │ │ │ │ └── iconfont.woff2 │ │ │ │ ├── images │ │ │ │ └── face │ │ │ │ │ ├── 0.gif │ │ │ │ │ ├── 1.gif │ │ │ │ │ ├── 10.gif │ │ │ │ │ ├── 11.gif │ │ │ │ │ ├── 12.gif │ │ │ │ │ ├── 13.gif │ │ │ │ │ ├── 14.gif │ │ │ │ │ ├── 15.gif │ │ │ │ │ ├── 16.gif │ │ │ │ │ ├── 17.gif │ │ │ │ │ ├── 18.gif │ │ │ │ │ ├── 19.gif │ │ │ │ │ ├── 2.gif │ │ │ │ │ ├── 20.gif │ │ │ │ │ ├── 21.gif │ │ │ │ │ ├── 22.gif │ │ │ │ │ ├── 23.gif │ │ │ │ │ ├── 24.gif │ │ │ │ │ ├── 25.gif │ │ │ │ │ ├── 26.gif │ │ │ │ │ ├── 27.gif │ │ │ │ │ ├── 28.gif │ │ │ │ │ ├── 29.gif │ │ │ │ │ ├── 3.gif │ │ │ │ │ ├── 30.gif │ │ │ │ │ ├── 31.gif │ │ │ │ │ ├── 32.gif │ │ │ │ │ ├── 33.gif │ │ │ │ │ ├── 34.gif │ │ │ │ │ ├── 35.gif │ │ │ │ │ ├── 36.gif │ │ │ │ │ ├── 37.gif │ │ │ │ │ ├── 38.gif │ │ │ │ │ ├── 39.gif │ │ │ │ │ ├── 4.gif │ │ │ │ │ ├── 40.gif │ │ │ │ │ ├── 41.gif │ │ │ │ │ ├── 42.gif │ │ │ │ │ ├── 43.gif │ │ │ │ │ ├── 44.gif │ │ │ │ │ ├── 45.gif │ │ │ │ │ ├── 46.gif │ │ │ │ │ ├── 47.gif │ │ │ │ │ ├── 48.gif │ │ │ │ │ ├── 49.gif │ │ │ │ │ ├── 5.gif │ │ │ │ │ ├── 50.gif │ │ │ │ │ ├── 51.gif │ │ │ │ │ ├── 52.gif │ │ │ │ │ ├── 53.gif │ │ │ │ │ ├── 54.gif │ │ │ │ │ ├── 55.gif │ │ │ │ │ ├── 56.gif │ │ │ │ │ ├── 57.gif │ │ │ │ │ ├── 58.gif │ │ │ │ │ ├── 59.gif │ │ │ │ │ ├── 6.gif │ │ │ │ │ ├── 60.gif │ │ │ │ │ ├── 61.gif │ │ │ │ │ ├── 62.gif │ │ │ │ │ ├── 63.gif │ │ │ │ │ ├── 64.gif │ │ │ │ │ ├── 65.gif │ │ │ │ │ ├── 66.gif │ │ │ │ │ ├── 67.gif │ │ │ │ │ ├── 68.gif │ │ │ │ │ ├── 69.gif │ │ │ │ │ ├── 7.gif │ │ │ │ │ ├── 70.gif │ │ │ │ │ ├── 71.gif │ │ │ │ │ ├── 8.gif │ │ │ │ │ └── 9.gif │ │ │ │ ├── lay │ │ │ │ └── modules │ │ │ │ │ ├── carousel.js │ │ │ │ │ ├── code.js │ │ │ │ │ ├── colorpicker.js │ │ │ │ │ ├── element.js │ │ │ │ │ ├── flow.js │ │ │ │ │ ├── form.js │ │ │ │ │ ├── jquery.js │ │ │ │ │ ├── laydate.js │ │ │ │ │ ├── layedit.js │ │ │ │ │ ├── layer.js │ │ │ │ │ ├── laypage.js │ │ │ │ │ ├── laytpl.js │ │ │ │ │ ├── mobile.js │ │ │ │ │ ├── rate.js │ │ │ │ │ ├── slider.js │ │ │ │ │ ├── table.js │ │ │ │ │ ├── transfer.js │ │ │ │ │ ├── tree.js │ │ │ │ │ ├── upload.js │ │ │ │ │ └── util.js │ │ │ │ ├── layui.all.js │ │ │ │ └── layui.js │ │ └── page │ │ │ ├── 404.html │ │ │ ├── button.html │ │ │ ├── color-select.html │ │ │ ├── editor.html │ │ │ ├── form-step.html │ │ │ ├── form.html │ │ │ ├── icon-picker.html │ │ │ ├── icon.html │ │ │ ├── layer.html │ │ │ ├── login-1.html │ │ │ ├── login-2.html │ │ │ ├── menu.html │ │ │ ├── setting.html │ │ │ ├── table-select.html │ │ │ ├── upload.html │ │ │ ├── user-password.html │ │ │ ├── user-setting.html │ │ │ ├── welcome-1.html │ │ │ └── welcome.html │ │ └── res_layui.html │ └── test │ └── java │ └── org │ └── itstack │ └── demo │ └── test │ └── ApiTest.java ├── itstack-demo-frame-dcs ├── itstack-demo-frame-dcs-ddd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── itstack │ │ │ │ └── demo │ │ │ │ ├── application │ │ │ │ ├── UserService.java │ │ │ │ └── task │ │ │ │ │ └── UserTask.java │ │ │ │ ├── domain │ │ │ │ ├── model │ │ │ │ │ ├── aggregates │ │ │ │ │ │ └── UserInfoCollect.java │ │ │ │ │ ├── req │ │ │ │ │ │ └── UserReq.java │ │ │ │ │ └── vo │ │ │ │ │ │ └── UserInfo.java │ │ │ │ ├── repostory │ │ │ │ │ └── IUserRepository.java │ │ │ │ └── service │ │ │ │ │ └── UserServiceImpl.java │ │ │ │ ├── infrastructure │ │ │ │ ├── dao │ │ │ │ │ └── IUserDao.java │ │ │ │ ├── po │ │ │ │ │ └── User.java │ │ │ │ ├── repository │ │ │ │ │ ├── UserRepository.java │ │ │ │ │ ├── mysql │ │ │ │ │ │ └── UserDBRepository.java │ │ │ │ │ └── redis │ │ │ │ │ │ └── UserRedisRepository.java │ │ │ │ └── util │ │ │ │ │ └── Redis.java │ │ │ │ └── interfaces │ │ │ │ ├── assembler │ │ │ │ └── UserAssembler.java │ │ │ │ └── facade │ │ │ │ └── UserRpc.java │ │ ├── resources │ │ │ ├── logback.xml │ │ │ ├── mapper │ │ │ │ └── User_Mapper.xml │ │ │ ├── mybatis-config.xml │ │ │ ├── props │ │ │ │ ├── config.properties │ │ │ │ └── jdbc.properties │ │ │ ├── spring-config.xml │ │ │ └── spring │ │ │ │ ├── spring-config-datasource.xml │ │ │ │ ├── spring-config-dubbo-provider.xml │ │ │ │ ├── spring-config-redis.xml │ │ │ │ ├── spring-config-schedule-userTask.xml │ │ │ │ └── spring-mvc.xml │ │ └── webapp │ │ │ └── WEB-INF │ │ │ └── web.xml │ │ └── test │ │ └── java │ │ └── org │ │ └── itstack │ │ └── demo │ │ └── test │ │ └── ApiTest.java ├── itstack-demo-frame-dcs-rpc │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── itstack │ │ └── demo │ │ └── rpc │ │ ├── IUserRpc.java │ │ ├── dto │ │ └── UserDto.java │ │ ├── req │ │ └── UserReq.java │ │ └── res │ │ └── UserRes.java └── pom.xml └── itstack-demo-frame-parent ├── itstack-demo-frame-common ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── itstack │ └── demo │ └── frame │ └── common │ ├── constants │ └── Constants.java │ └── domain │ ├── PageRequest.java │ └── Result.java └── pom.xml /README.md: -------------------------------------------------------------------------------- 1 | # itstack-demo-frame 2 | itstack-demo-frame 3 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/java/org/itstack/demo/controller/UserController.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.controller; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import org.itstack.demo.frame.common.domain.Result; 5 | import org.itstack.demo.rpc.IUserRpc; 6 | import org.itstack.demo.rpc.req.UserReq; 7 | import org.itstack.demo.rpc.res.UserRes; 8 | import org.slf4j.Logger; 9 | import org.slf4j.LoggerFactory; 10 | import org.springframework.stereotype.Controller; 11 | import org.springframework.web.bind.annotation.RequestMapping; 12 | import org.springframework.web.bind.annotation.RequestMethod; 13 | import org.springframework.web.bind.annotation.ResponseBody; 14 | 15 | import javax.annotation.Resource; 16 | 17 | /** 18 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 19 | * 论坛:http://bugstack.cn 20 | * Create by 付政委 on @2019 21 | */ 22 | @Controller 23 | @RequestMapping("/api/user/") 24 | public class UserController { 25 | 26 | private Logger logger = LoggerFactory.getLogger(UserController.class); 27 | 28 | @Resource 29 | private IUserRpc userRpc; 30 | 31 | @RequestMapping(path = "queryUserInfoList", method = RequestMethod.GET) 32 | @ResponseBody 33 | public UserRes queryUserInfoList(String json, String page, String limit) { 34 | try { 35 | logger.info("查询用户信息列表开始。json:{}", json); 36 | UserReq req = JSON.parseObject(json, UserReq.class); 37 | if (null == req) req = new UserReq(); 38 | req.setPage(page, limit); 39 | UserRes userRes = userRpc.queryUserInfoList(req); 40 | logger.info("查询用户信息列表完成。userRes:{}", JSON.toJSONString(userRes)); 41 | return userRes; 42 | } catch (Exception e) { 43 | logger.error("查询用户信息列表失败。json:{}", json, e); 44 | return new UserRes(Result.buildErrorResult()); 45 | } 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 9 | 10 | 11 | 12 | 14 | ${log.info.location}/system_info.log 15 | true 16 | 17 | INFO 18 | ACCEPT 19 | DENY 20 | 21 | 22 | ${log.info.location}/system_info.%d{yyyy-MM-dd}.%i.log 23 | 24 | 26 | 100MB 27 | 28 | 100 29 | 30 | 31 | 32 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 33 | 34 | 35 | 36 | 38 | ${log.info.location}/system_error.log 39 | true 40 | 41 | ERROR 42 | ACCEPT 43 | DENY 44 | 45 | 46 | ${log.info.location}/system_error.%d{yyyy-MM-dd}.%i.log 47 | 48 | 50 | 100MB 51 | 52 | 100 53 | 54 | 55 | 56 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 57 | 58 | 59 | 60 | 62 | ${log.info.location}/app_info.log 63 | true 64 | 65 | INFO 66 | ACCEPT 67 | DENY 68 | 69 | 70 | ${log.info.location}/app_info.%d{yyyy-MM-dd}.%i.log 71 | 72 | 74 | 100MB 75 | 76 | 100 77 | 78 | 79 | 80 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 81 | 82 | 83 | 84 | 86 | ${log.info.location}/app_error.log 87 | true 88 | 89 | ERROR 90 | ACCEPT 91 | DENY 92 | 93 | 94 | ${log.info.location}/app_error.%d{yyyy-MM-dd}.%i.log 95 | 96 | 98 | 100MB 99 | 100 | 100 101 | 102 | 103 | 104 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/resources/spring-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | classpath:props/*.properties 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/resources/spring/spring-config-dubbo-consumer.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/resources/spring/spring-mvc.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | _rootArtifactId_ 7 | 8 | 9 | encodingFilter 10 | org.springframework.web.filter.CharacterEncodingFilter 11 | 12 | encoding 13 | UTF-8 14 | 15 | 16 | 17 | 18 | encodingFilter 19 | /* 20 | 21 | 22 | 23 | 24 | DispatcherServlet 25 | org.springframework.web.servlet.DispatcherServlet 26 | 27 | contextConfigLocation 28 | classpath:spring-config.xml 29 | 30 | 1 31 | 32 | 33 | 34 | DispatcherServlet 35 | *.do 36 | 37 | 38 | 39 | index.html 40 | 41 | 42 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 基础SSM服务框架&DDD模式 | bugstack虫洞栈 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 23 | 24 | 25 |
26 | 27 |
28 | 30 | 31 |
32 |
33 | 34 | 36 | 43 | 44 | 63 |
64 | 65 |
66 |
67 |
68 |
69 | 70 |
71 |
72 |
    73 |
  • 74 |
75 | 84 |
85 |
86 |
87 |
88 |
89 |
90 | 91 |
92 | 93 | 94 | 95 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/page/user/js/user.js: -------------------------------------------------------------------------------- 1 | layui.use(['form', 'table'], function () { 2 | var $ = layui.jquery, 3 | form = layui.form, 4 | table = layui.table; 5 | 6 | /* $.ajax({ 7 | type: 'post', 8 | url: '/api/demo01/queryNodeList.do', 9 | async: false, 10 | success: function (res) { 11 | if (res.code === 0) { 12 | $('#schedulerServer').empty(); 13 | $.each(res.data, function (index, item) { 14 | $('#schedulerServer').append(new Option(item.name, item.id));// 下拉菜单里添加元素 15 | }); 16 | layui.form.render("select"); 17 | } 18 | } 19 | });*/ 20 | 21 | // 监听搜索操作 22 | form.on('submit(data-search-btn)', function (data) { 23 | var index = layer.msg("查询中,请稍后...", {icon: 16, time: false, shade: 0}); 24 | //执行搜索重载 25 | table.reload('userTable', { 26 | where: { 27 | json: JSON.stringify(globalUtil.serializeObject(data.field)) 28 | } 29 | }, 'data'); 30 | layer.close(index); 31 | return false; 32 | }); 33 | 34 | // 事件操作 35 | $(".data-add-btn").on("click", function () { 36 | var checkTable = table.checkStatus('currentTableId') 37 | if (null == checkTable) return; 38 | 39 | var data = checkTable.data[0]; 40 | 41 | var instruct = {}; 42 | instruct.ip = data.ip; 43 | instruct.schedulerServerId = data.schedulerServerId; 44 | instruct.beanName = data.beanName; 45 | instruct.methodName = data.methodName; 46 | instruct.cron = data.cron; 47 | instruct.status = 1; 48 | 49 | $.ajax({ 50 | type: 'post', 51 | url: '/api/pushInstruct', 52 | data: { 53 | json: JSON.stringify(instruct) 54 | }, 55 | success: function (res) { 56 | if (res.code === 0) { 57 | layer.msg(''); 58 | table.reload('currentTableId'); 59 | } else { 60 | layer.msg(''); 61 | } 62 | } 63 | }); 64 | 65 | }); 66 | 67 | // 监听删除操作 68 | $(".data-delete-btn").on("click", function () { 69 | var checkTable = table.checkStatus('currentTableId') 70 | if (null == checkTable) return; 71 | 72 | var data = checkTable.data[0]; 73 | 74 | var instruct = {}; 75 | instruct.ip = data.ip; 76 | instruct.schedulerServerId = data.schedulerServerId; 77 | instruct.beanName = data.beanName; 78 | instruct.methodName = data.methodName; 79 | instruct.cron = data.cron; 80 | instruct.status = 0; 81 | 82 | $.ajax({ 83 | type: 'post', 84 | url: '/api/pushInstruct', 85 | data: { 86 | json: JSON.stringify(instruct) 87 | }, 88 | success: function (res) { 89 | if (res.code == 0) { 90 | layer.msg('关闭成功'); 91 | table.reload('currentTableId'); 92 | } else { 93 | layer.msg('关闭失败'); 94 | } 95 | } 96 | }); 97 | }); 98 | 99 | //监听表格复选框选择 100 | table.on('checkbox(currentTableFilter)', function (obj) { 101 | console.log(obj) 102 | }); 103 | 104 | table.on('tool(currentTableFilter)', function (obj) { 105 | var data = obj.data; 106 | if (obj.event === 'edit') { 107 | layer.alert('编辑行:
' + JSON.stringify(data)) 108 | } else if (obj.event === 'delete') { 109 | layer.confirm('真的删除行么', function (index) { 110 | obj.del(); 111 | layer.close(index); 112 | }); 113 | } 114 | }); 115 | 116 | }); 117 | 118 | menu = {}; 119 | 120 | util = { 121 | statusInfo: function (d) { 122 | if (d.status === 0) return '在校'; 123 | if (d.status === 1) return '毕业'; 124 | }, 125 | formatDate: function (d) { 126 | return layui.util.toDateString(d.entryTime, 'yyyy-MM-dd HH:mm:ss'); 127 | } 128 | }; -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/page/user/user.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 测试页面 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 | 42 | 43 |
44 | 45 | 46 |
47 |
48 | 52 |
53 |
54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |
用户ID姓名年龄地址入学时间状态
68 | 69 | 70 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/api/clear.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 1, 3 | "msg": "服务端清理缓存成功" 4 | } -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/api/init.json: -------------------------------------------------------------------------------- 1 | { 2 | "clearInfo": { 3 | "clearUrl": "res/api/clear.json" 4 | }, 5 | "homeInfo": { 6 | "title": "首页", 7 | "icon": "fa fa-home", 8 | "href": "res/page/welcome.html" 9 | }, 10 | "logoInfo": { 11 | "title": "bugstack虫洞栈", 12 | "image": "res/images/logo.png", 13 | "href": "" 14 | }, 15 | "menuInfo": { 16 | "currency": { 17 | "title": "服务管理", 18 | "icon": "fa fa-address-book", 19 | "child": [ 20 | { 21 | "title": "用户中心", 22 | "href": "", 23 | "icon": "fa fa-calendar", 24 | "target": "_self", 25 | "child": [ 26 | { 27 | "title": "用户列表", 28 | "href": "/page/user/user.html", 29 | "icon": "fa fa-list-alt", 30 | "target": "_self" 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/api/table.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0, 3 | "msg": "", 4 | "count": 1000, 5 | "data": [ 6 | { 7 | "id": 10000, 8 | "username": "user-0", 9 | "sex": "女", 10 | "city": "城市-0", 11 | "sign": "签名-0", 12 | "experience": 255, 13 | "logins": 24, 14 | "wealth": 82830700, 15 | "classify": "作家", 16 | "score": 57 17 | }, 18 | { 19 | "id": 10001, 20 | "username": "user-1", 21 | "sex": "男", 22 | "city": "城市-1", 23 | "sign": "签名-1", 24 | "experience": 884, 25 | "logins": 58, 26 | "wealth": 64928690, 27 | "classify": "词人", 28 | "score": 27 29 | }, 30 | { 31 | "id": 10002, 32 | "username": "user-2", 33 | "sex": "女", 34 | "city": "城市-2", 35 | "sign": "签名-2", 36 | "experience": 650, 37 | "logins": 77, 38 | "wealth": 6298078, 39 | "classify": "酱油", 40 | "score": 31 41 | }, 42 | { 43 | "id": 10003, 44 | "username": "user-3", 45 | "sex": "女", 46 | "city": "城市-3", 47 | "sign": "签名-3", 48 | "experience": 362, 49 | "logins": 157, 50 | "wealth": 37117017, 51 | "classify": "诗人", 52 | "score": 68 53 | }, 54 | { 55 | "id": 10004, 56 | "username": "user-4", 57 | "sex": "男", 58 | "city": "城市-4", 59 | "sign": "签名-4", 60 | "experience": 807, 61 | "logins": 51, 62 | "wealth": 76263262, 63 | "classify": "作家", 64 | "score": 6 65 | }, 66 | { 67 | "id": 10005, 68 | "username": "user-5", 69 | "sex": "女", 70 | "city": "城市-5", 71 | "sign": "签名-5", 72 | "experience": 173, 73 | "logins": 68, 74 | "wealth": 60344147, 75 | "classify": "作家", 76 | "score": 87 77 | }, 78 | { 79 | "id": 10006, 80 | "username": "user-6", 81 | "sex": "女", 82 | "city": "城市-6", 83 | "sign": "签名-6", 84 | "experience": 982, 85 | "logins": 37, 86 | "wealth": 57768166, 87 | "classify": "作家", 88 | "score": 34 89 | }, 90 | { 91 | "id": 10007, 92 | "username": "user-7", 93 | "sex": "男", 94 | "city": "城市-7", 95 | "sign": "签名-7", 96 | "experience": 727, 97 | "logins": 150, 98 | "wealth": 82030578, 99 | "classify": "作家", 100 | "score": 28 101 | }, 102 | { 103 | "id": 10008, 104 | "username": "user-8", 105 | "sex": "男", 106 | "city": "城市-8", 107 | "sign": "签名-8", 108 | "experience": 951, 109 | "logins": 133, 110 | "wealth": 16503371, 111 | "classify": "词人", 112 | "score": 14 113 | }, 114 | { 115 | "id": 10009, 116 | "username": "user-9", 117 | "sex": "女", 118 | "city": "城市-9", 119 | "sign": "签名-9", 120 | "experience": 484, 121 | "logins": 25, 122 | "wealth": 86801934, 123 | "classify": "词人", 124 | "score": 75 125 | } 126 | ] 127 | } -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/api/tableSelect.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0, 3 | "msg": "", 4 | "count": 16, 5 | "data": [ 6 | { "id":"001", "username":"张玉林", "sex":"女" }, 7 | { "id":"002", "username":"刘晓军", "sex":"男" }, 8 | { "id":"003", "username":"张恒", "sex":"男" }, 9 | { "id":"004", "username":"朱一", "sex":"男" }, 10 | { "id":"005", "username":"刘佳能", "sex":"女" }, 11 | { "id":"006", "username":"晓梅", "sex":"女" }, 12 | { "id":"007", "username":"马冬梅", "sex":"女" }, 13 | { "id":"008", "username":"刘晓庆", "sex":"女" }, 14 | { "id":"009", "username":"刘晓庆", "sex":"女" }, 15 | { "id":"010", "username":"刘晓庆", "sex":"女" }, 16 | { "id":"011", "username":"刘晓庆", "sex":"女" }, 17 | { "id":"012", "username":"刘晓庆", "sex":"女" }, 18 | { "id":"013", "username":"刘晓庆", "sex":"女" }, 19 | { "id":"014", "username":"刘晓庆", "sex":"女" }, 20 | { "id":"015", "username":"刘晓庆", "sex":"女" }, 21 | { "id":"016", "username":"刘晓庆", "sex":"女" } 22 | ] 23 | } -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/api/upload.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 1, 3 | "msg": "上传成功", 4 | "data": { 5 | "url": [ 6 | "../images/logo.png", 7 | "../images/captcha.jpg" 8 | ] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/css/public.css: -------------------------------------------------------------------------------- 1 | body {margin:15px 15px 15px 15px;background:#f2f2f2;} 2 | .layuimini-container {border:1px solid #f2f2f2;border-radius:5px;background-color:#ffffff} 3 | .layuimini-main {margin:10px 10px 10px 10px;} 4 | 5 | /**必填红点 */ 6 | .layuimini-form>.layui-form-item>.required:after {content:'*';color:red;position:absolute;margin-left:4px;font-weight:bold;line-height:1.8em;top:6px;right:5px;} 7 | .layuimini-form>.layui-form-item>.layui-form-label {width:120px !important;} 8 | .layuimini-form>.layui-form-item>.layui-input-block {margin-left:150px !important;} 9 | .layuimini-form>.layui-form-item>.layui-input-block >tip {display:inline-block;margin-top:10px;line-height:10px;font-size:10px;color:#a29c9c;} 10 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/bg.jpg -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/captcha.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/captcha.jpg -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/donate_qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/donate_qrcode.png -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/favicon.ico -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/home.png -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/images/logo.png -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/js/lay-config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * date:2019/08/16 3 | * author:Mr.Chung 4 | * description:此处放layui自定义扩展 5 | */ 6 | 7 | window.rootPath = (function (src) { 8 | src = document.scripts[document.scripts.length - 1].src; 9 | return src.substring(0, src.lastIndexOf("/") + 1); 10 | })(); 11 | 12 | layui.config({ 13 | base: rootPath + "lay-module/", 14 | version: true 15 | }).extend({ 16 | layuimini: "layuimini/layuimini", // layuimini扩展 17 | step: 'step-lay/step', // 分步表单扩展 18 | treetable: 'treetable-lay/treetable', //table树形扩展 19 | tableSelect: 'tableSelect/tableSelect', // table选择扩展 20 | iconPickerFa: 'iconPicker/iconPickerFa', // fa图标选择扩展 21 | echarts: 'echarts/echarts', // echarts图表扩展 22 | echartsTheme: 'echarts/echartsTheme', // echarts图表主题扩展 23 | wangEditor: 'wangEditor/wangEditor', // wangEditor富文本扩展 24 | }); -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/js/lay-module/step-lay/step.css: -------------------------------------------------------------------------------- 1 | .lay-step { 2 | font-size: 0; 3 | width: 400px; 4 | margin: 0 auto; 5 | max-width: 100%; 6 | padding-left: 200px; 7 | } 8 | 9 | .step-item { 10 | display: inline-block; 11 | line-height: 26px; 12 | position: relative; 13 | font-size: 14px; 14 | } 15 | 16 | .step-item-tail { 17 | width: 100%; 18 | padding: 0 10px; 19 | position: absolute; 20 | left: 0; 21 | top: 13px; 22 | } 23 | 24 | .step-item-tail i { 25 | display: inline-block; 26 | width: 100%; 27 | height: 1px; 28 | vertical-align: top; 29 | background: #c2c2c2; 30 | position: relative; 31 | } 32 | 33 | .step-item-tail .step-item-tail-done { 34 | background: #009688; 35 | } 36 | 37 | .step-item-head { 38 | position: relative; 39 | display: inline-block; 40 | height: 26px; 41 | width: 26px; 42 | text-align: center; 43 | vertical-align: top; 44 | color: #009688; 45 | border: 1px solid #009688; 46 | border-radius: 50%; 47 | background: #ffffff; 48 | } 49 | 50 | .step-item-head.step-item-head-active { 51 | background: #009688; 52 | color: #ffffff; 53 | } 54 | 55 | .step-item-main { 56 | display: block; 57 | position: relative; 58 | margin-left: -50%; 59 | margin-right: 50%; 60 | padding-left: 26px; 61 | text-align: center; 62 | } 63 | 64 | .step-item-main-title { 65 | font-weight: bolder; 66 | color: #555555; 67 | } 68 | 69 | .step-item-main-desc { 70 | color: #aaaaaa; 71 | } 72 | 73 | .lay-step + [carousel-item]:before { 74 | display: none; 75 | } 76 | 77 | .lay-step + [carousel-item] > * { 78 | background-color: transparent; 79 | } -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/js/lay-module/step-lay/step.js: -------------------------------------------------------------------------------- 1 | layui.define(['layer', 'carousel'], function (exports) { 2 | var $ = layui.jquery; 3 | var layer = layui.layer; 4 | var carousel = layui.carousel; 5 | 6 | // 添加步骤条dom节点 7 | var renderDom = function (elem, stepItems, postion) { 8 | var stepDiv = '
'; 9 | for (var i = 0; i < stepItems.length; i++) { 10 | stepDiv += '
'; 11 | // 线 12 | if (i < (stepItems.length - 1)) { 13 | if (i < postion) { 14 | stepDiv += '
'; 15 | } else { 16 | stepDiv += '
'; 17 | } 18 | } 19 | 20 | // 数字 21 | var number = stepItems[i].number; 22 | if (!number) { 23 | number = i + 1; 24 | } 25 | if (i == postion) { 26 | stepDiv += '
' + number + '
'; 27 | } else if (i < postion) { 28 | stepDiv += '
'; 29 | } else { 30 | stepDiv += '
' + number + '
'; 31 | } 32 | 33 | // 标题和描述 34 | var title = stepItems[i].title; 35 | var desc = stepItems[i].desc; 36 | if (title || desc) { 37 | stepDiv += '
'; 38 | if (title) { 39 | stepDiv += '
' + title + '
'; 40 | } 41 | if (desc) { 42 | stepDiv += '
' + desc + '
'; 43 | } 44 | stepDiv += '
'; 45 | } 46 | stepDiv += '
'; 47 | } 48 | stepDiv += '
'; 49 | 50 | $(elem).prepend(stepDiv); 51 | 52 | // 计算每一个条目的宽度 53 | var bfb = 100 / stepItems.length; 54 | $('.step-item').css('width', bfb + '%'); 55 | }; 56 | 57 | var step = { 58 | // 渲染步骤条 59 | render: function (param) { 60 | param.indicator = 'none'; // 不显示指示器 61 | param.arrow = 'always'; // 始终显示箭头 62 | param.autoplay = false; // 关闭自动播放 63 | if (!param.stepWidth) { 64 | param.stepWidth = '400px'; 65 | } 66 | 67 | // 渲染轮播图 68 | carousel.render(param); 69 | 70 | // 渲染步骤条 71 | var stepItems = param.stepItems; 72 | renderDom(param.elem, stepItems, 0); 73 | $('.lay-step').css('width', param.stepWidth); 74 | 75 | //监听轮播切换事件 76 | carousel.on('change(' + param.filter + ')', function (obj) { 77 | $(param.elem).find('.lay-step').remove(); 78 | renderDom(param.elem, stepItems, obj.index); 79 | $('.lay-step').css('width', param.stepWidth); 80 | }); 81 | 82 | // 隐藏左右箭头按钮 83 | $(param.elem).find('.layui-carousel-arrow').css('display', 'none'); 84 | 85 | // 去掉轮播图的背景颜色 86 | $(param.elem).css('background-color', 'transparent'); 87 | }, 88 | // 下一步 89 | next: function (elem) { 90 | $(elem).find('.layui-carousel-arrow[lay-type=add]').trigger('click'); 91 | }, 92 | // 上一步 93 | pre: function (elem) { 94 | $(elem).find('.layui-carousel-arrow[lay-type=sub]').trigger('click'); 95 | } 96 | }; 97 | 98 | layui.link(layui.cache.base + 'step-lay/step.css'); 99 | 100 | exports('step', step); 101 | }); 102 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/js/lay-module/treetable-lay/treetable.css: -------------------------------------------------------------------------------- 1 | .treeTable-empty { 2 | width: 20px; 3 | display: inline-block; 4 | } 5 | 6 | .treeTable-icon { 7 | cursor: pointer; 8 | } 9 | 10 | .treeTable-icon .layui-icon-triangle-d:before { 11 | content: "\e623"; 12 | } 13 | 14 | .treeTable-icon.open .layui-icon-triangle-d:before { 15 | content: "\e625"; 16 | background-color: transparent; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/js/lay-module/wangEditor/fonts/w-e-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/js/lay-module/wangEditor/fonts/w-e-icon.woff -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | .fa-icon-rotate(@degrees, @rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; 16 | -webkit-transform: rotate(@degrees); 17 | -ms-transform: rotate(@degrees); 18 | transform: rotate(@degrees); 19 | } 20 | 21 | .fa-icon-flip(@horiz, @vert, @rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; 23 | -webkit-transform: scale(@horiz, @vert); 24 | -ms-transform: scale(@horiz, @vert); 25 | transform: scale(@horiz, @vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | .sr-only() { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | .sr-only-focusable() { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/font-awesome-4.7.0/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.4 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/font/iconfont.eot -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/font/iconfont.ttf -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/font/iconfont.woff -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/font/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/font/iconfont.woff2 -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/0.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/1.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/10.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/11.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/12.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/13.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/14.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/15.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/16.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/17.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/18.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/19.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/2.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/20.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/21.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/22.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/23.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/24.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/25.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/26.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/27.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/28.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/29.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/3.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/30.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/31.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/32.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/33.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/34.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/35.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/36.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/37.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/38.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/39.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/4.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/40.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/41.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/42.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/43.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/44.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/45.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/46.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/47.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/48.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/49.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/5.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/50.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/51.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/52.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/53.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/54.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/55.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/56.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/57.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/58.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/59.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/6.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/60.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/61.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/62.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/63.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/64.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/65.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/66.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/67.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/68.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/69.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/7.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/70.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/71.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/8.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/images/face/9.gif -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/lay/modules/carousel.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.4 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t="carousel",a="layui-this",l=">*[carousel-item]>*",o="layui-carousel-left",r="layui-carousel-right",d="layui-carousel-prev",s="layui-carousel-next",u="layui-carousel-arrow",c="layui-carousel-ind",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(clearInterval(e.timer),e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['",'"].join(""));n.elem.attr("lay-arrow",n.arrow),n.elem.find("."+u)[0]&&n.elem.find("."+u).remove(),n.elem.append(t),t.on("click",function(){var n=i(this),t=n.attr("lay-type");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['
"].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+c)[0]&&n.elem.find("."+c).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-(t.height()/2)),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide("add",a-n.index):a/g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/lay/modules/flow.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.4 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('
'+d+"
");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)}); -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/lay/modules/laypage.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.4 MIT License By https://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"上一页",a.next="next"in a?a.next:"下一页";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?''+a.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),refresh:['','',""].join(""),skip:function(){return['到第','','页',""].join("")}()};return['
',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
"].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;oi.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)}); -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.4 MIT License By https://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)}); -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/lay/modules/rate.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.4 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.jquery,i={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,a){return layui.onevent.call(this,n,e,a)}},l=function(){var e=this,a=e.config;return{setvalue:function(a){e.setvalue.call(e,a)},config:a}},n="rate",t="layui-rate",o="layui-icon-rate",s="layui-icon-rate-solid",u="layui-icon-rate-half",r="layui-icon-rate-solid layui-icon-rate-half",c="layui-icon-rate-solid layui-icon-rate",f="layui-icon-rate layui-icon-rate-half",v=function(e){var l=this;l.index=++i.index,l.config=a.extend({},l.config,i.config,e),l.render()};v.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},v.prototype.render=function(){var e=this,i=e.config,l=i.theme?'style="color: '+i.theme+';"':"";i.elem=a(i.elem),parseInt(i.value)!==i.value&&(i.half||(i.value=Math.ceil(i.value)-i.value<.5?Math.ceil(i.value):Math.floor(i.value)));for(var n='
    ",u=1;u<=i.length;u++){var r='
  • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
  • ":n+=r}n+="
"+(i.text?''+i.value+"星":"")+"";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"星"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)}); -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/lib/layui-v2.5.4/lay/modules/util.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.4 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(t){"use strict";var e=layui.$,i={fixbar:function(t){var i,n,a="layui-fixbar",o="layui-fixbar-top",r=e(document),l=e("body");t=e.extend({showHeight:200},t),t.bar1=t.bar1===!0?"":t.bar1,t.bar2=t.bar2===!0?"":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,""],g=e(['
    ',t.bar1?'
  • '+c[0]+"
  • ":"",t.bar2?'
  • '+c[1]+"
  • ":"",'
  • '+c[2]+"
  • ","
"].join("")),s=g.find("."+o),u=function(){var e=r.scrollTop();e>=t.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};e("."+a)[0]||("object"==typeof t.css&&g.css(t.css),l.append(g),u(),g.find("li").on("click",function(){var i=e(this),n=i.attr("lay-type");"top"===n&&e("html,body").animate({scrollTop:0},200),t.click&&t.click.call(this,n)}),r.on("scroll",function(){clearTimeout(n),n=setTimeout(function(){u()},100)}))},countdown:function(t,e,i){var n=this,a="function"==typeof e,o=new Date(t).getTime(),r=new Date(!e||a?(new Date).getTime():e).getTime(),l=o-r,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=e);var g=setTimeout(function(){n.countdown(t,r+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],e,g),l<=0&&clearTimeout(g),g},timeAgo:function(t,e){var i=this,n=[[],[]],a=(new Date).getTime()-new Date(t).getTime();return a>6912e5?(a=new Date(t),n[0][0]=i.digit(a.getFullYear(),4),n[0][1]=i.digit(a.getMonth()+1),n[0][2]=i.digit(a.getDate()),e||(n[1][0]=i.digit(a.getHours()),n[1][1]=i.digit(a.getMinutes()),n[1][2]=i.digit(a.getSeconds())),n[0].join("-")+" "+n[1].join(":")):a>=864e5?(a/1e3/60/60/24|0)+"天前":a>=36e5?(a/1e3/60/60|0)+"小时前":a>=12e4?(a/1e3/60|0)+"分钟前":a<0?"未来":"刚刚"},digit:function(t,e){var i="";t=String(t),e=e||2;for(var n=t.length;n/g,">").replace(/'/g,"'").replace(/"/g,""")},event:function(t,n,a){n=i.event[t]=e.extend(!0,i.event[t],n)||{},e("body").on(a||"click","*["+t+"]",function(){var i=e(this),a=i.attr(t);n[a]&&n[a].call(this,i)})}};!function(t,e,i){"$:nomunge";function n(){a=e[l](function(){o.each(function(){var e=t(this),i=e.width(),n=e.height(),a=t.data(this,g);(i!==a.w||n!==a.h)&&e.trigger(c,[a.w=i,a.h=n])}),n()},r[s])}var a,o=t([]),r=t.resize=t.extend(t.resize,{}),l="setTimeout",c="resize",g=c+"-special-event",s="delay",u="throttleWindow";r[s]=250,r[u]=!0,t.event.special[c]={setup:function(){if(!r[u]&&this[l])return!1;var e=t(this);o=o.add(e),t.data(this,g,{w:e.width(),h:e.height()}),1===o.length&&n()},teardown:function(){if(!r[u]&&this[l])return!1;var e=t(this);o=o.not(e),e.removeData(g),o.length||clearTimeout(a)},add:function(e){function n(e,n,o){var r=t(this),l=t.data(this,g)||{};l.w=n!==i?n:r.width(),l.h=o!==i?o:r.height(),a.apply(this,arguments)}if(!r[u]&&this[l])return!1;var a;return t.isFunction(e)?(a=e,n):(a=e.handler,void(e.handler=n))}}}(e,window),t("util",i)}); -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 404 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 45 | 46 | 47 |
48 |
49 |
50 |
51 |
52 |
53 | 54 |
55 |
56 |
57 |
58 | 59 |
60 |
61 |
62 |
63 | 64 |
65 |
66 |
OH! 67 | 68 |
69 |
70 |

很抱歉,你访问的页面找不到了

71 |
72 |
73 |
74 | 75 | 109 | 110 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/color-select.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 颜色选择器 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 |
14 | 颜色选择器使用开源项目:paigusu
15 | TableSelect 16 |
17 | 18 |
19 |
20 | 21 |
22 | 23 | 24 |
25 |
26 |
27 | 28 |
29 |     $(function () {
30 |         $('.paigusu').paigusu({
31 |             color: '#1926dc',//初始色  支持两种配置方案
32 |         }, function (event, obj) {
33 |             console.log(event);
34 |             console.log(obj);
35 |             $(event).css('color', '#' + obj.hex)
36 |         });
37 |     });
38 |         
39 |
40 |
41 | 42 | 43 | 44 | 56 | 57 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/editor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 富文本编辑器 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 | 16 |
17 | 富文本编辑器使用开源项目:wangEditor
18 | 具体使用请参考下方官网,以下仅做示例,上传接口请改为实际后端接口
19 | 目前上传接口返回数据是写死在json里面的
20 | wangEditor 21 |
22 | 23 |
24 |

欢迎使用 wangEditor 富文本编辑器

25 |
26 | 27 |
 28 |         var E = window.wangEditor;
 29 |         var editor = new E('#editor');
 30 |         editor.customConfig.uploadImgServer = "../api/upload.json";
 31 |         editor.customConfig.uploadFileName = 'image';
 32 |         editor.customConfig.pasteFilterStyle = false;
 33 |         editor.customConfig.uploadImgMaxLength = 5;
 34 |         editor.customConfig.uploadImgHooks = {
 35 |             // 上传超时
 36 |             timeout: function (xhr, editor) {
 37 |                 layer.msg('上传超时!')
 38 |             },
 39 |             // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式,可使用该配置
 40 |             customInsert: function (insertImg, result, editor) {
 41 |                 console.log(result);
 42 |                 if (result.code == 1) {
 43 |                     var url = result.data.url;
 44 |                     url.forEach(function (e) {
 45 |                         insertImg(e);
 46 |                     })
 47 |                 } else {
 48 |                     layer.msg(result.msg);
 49 |                 }
 50 |             }
 51 |         };
 52 |         editor.customConfig.customAlert = function (info) {
 53 |             layer.msg(info);
 54 |         };
 55 |         editor.create();
 56 |         
57 | 58 |
59 |
60 | 61 | 62 | 63 | 64 | 100 | 101 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/icon-picker.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 图标选择器 6 | 7 | 8 | 9 | 12 | 13 | 14 |
15 |
16 | 17 |
18 | fa图标选择器根据开源Layui-IconPicker插件修改而来。
19 | 不同的参数的地方是,去掉了type参数,新增url参数,url参数为fa图标less/variables.less文件路径。
20 | Layui-IconPicker 21 |
22 | 23 |
24 |
25 | 26 |
27 | 28 |
29 |
30 | 31 |
32 | 33 |
34 | 35 |
36 |
37 |
38 | 39 |
 40 |         iconPickerFa.render({
 41 |             // 选择器,推荐使用input
 42 |             elem: '#iconPicker',
 43 |             // fa 图标接口
 44 |             url: "/lib/font-awesome-4.7.0/less/variables.less",
 45 |             // 是否开启搜索:true/false,默认true
 46 |             search: true,
 47 |             // 是否开启分页:true/false,默认true
 48 |             page: true,
 49 |             // 每页显示数量,默认12
 50 |             limit: 12,
 51 |             // 点击回调
 52 |             click: function (data) {
 53 |                 console.log(data);
 54 |             },
 55 |             // 渲染成功后的回调
 56 |             success: function (d) {
 57 |                 console.log(d);
 58 |             }
 59 |         });
 60 |         
61 | 62 |
63 |
64 | 65 | 66 | 118 | 119 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/login-1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 后台管理-登陆 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 33 | 34 | 35 |
36 | 66 |
67 | 68 | 69 | 70 | 108 | 109 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/login-2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 后台管理-登陆 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 36 | 37 | 38 |
39 |
40 | 60 |
61 | 62 | 92 | 93 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/menu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | menu 6 | 7 | 8 | 15 | 16 | 17 |
18 |
19 |
20 |
21 | 22 | 23 |
24 |
25 |
26 |
27 |
28 | 29 | 33 | 34 | 35 | 36 | 98 | 99 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/setting.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 系统设置 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |
21 | 22 |
23 | 24 | 填写自己部署网站的名称。 25 |
26 |
27 |
28 | 29 |
30 | 31 |
32 |
33 | 34 |
35 | 36 |
37 | 38 |
39 |
分钟
40 |
本地开发一般推荐设置为 0,线上环境建议设置为 10。
41 |
42 |
43 | 44 |
45 | 46 |
47 |
KB
48 |
提示:1 M = 1024 KB
49 |
50 |
51 | 52 |
53 | 54 |
55 |
56 | 57 |
58 | 59 |
60 | 61 |
62 |
63 |
64 | 65 |
66 | 67 |
68 |
69 |
70 | 71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 | 79 |
80 |
81 |
82 |
83 | 84 |
85 |
86 |
87 |
88 |
89 | 90 | 105 | 106 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/upload.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | zyupload上传实例 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 |
14 | 上传组件使用开源项目:zyupload
15 | zyupload 16 |
17 |
18 |
 19 |         // 初始化插件
 20 |         $("#zyupload").zyUpload({
 21 |             width: "650px",                 // 宽度
 22 |             height: "400px",                 // 宽度
 23 |             itemWidth: "140px",                 // 文件项的宽度
 24 |             itemHeight: "115px",                 // 文件项的高度
 25 |             url: "api/upload",  // 上传文件的路径
 26 |             fileType: ["jpg", "png", "txt", "js", "exe"],// 上传文件的类型
 27 |             fileSize: 51200000,                // 上传文件的大小
 28 |             multiple: true,                    // 是否可以多个文件上传
 29 |             dragDrop: true,                    // 是否可以拖动上传文件
 30 |             tailor: true,                    // 是否可以裁剪图片
 31 |             del: true,                    // 是否可以删除文件
 32 |             finishDel: false,  				  // 是否在上传文件完成后删除预览
 33 |             /* 外部获得的回调接口 */
 34 |             onSelect: function (selectFiles, allFiles) {    // 选择文件的回调方法  selectFile:当前选中的文件  allFiles:还没上传的全部文件
 35 |                 console.info("当前选择了以下文件:");
 36 |                 console.info(selectFiles);
 37 |             },
 38 |             onDelete: function (file, files) {              // 删除一个文件的回调方法 file:当前删除的文件  files:删除之后的文件
 39 |                 console.info("当前删除了此文件:");
 40 |                 console.info(file.name);
 41 |             },
 42 |             onSuccess: function (file, response) {          // 文件上传成功的回调方法
 43 |                 console.info("此文件上传成功:");
 44 |                 console.info(file.name);
 45 |                 console.info("此文件上传到服务器地址:");
 46 |                 console.info(response);
 47 |                 $("#uploadInf").append("

上传成功,文件地址是:" + response + "

"); 48 | }, 49 | onFailure: function (file, response) { // 文件上传失败的回调方法 50 | console.info("此文件上传失败:"); 51 | console.info(file.name); 52 | }, 53 | onComplete: function (response) { // 上传完成的回调方法 54 | console.info("文件上传完成"); 55 | console.info(response); 56 | } 57 | }); 58 |
59 |
60 |
61 | 62 | 63 | 64 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/user-password.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 修改密码 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |
21 | 22 |
23 | 24 | 填写自己账号的旧的密码。 25 |
26 |
27 | 28 |
29 | 30 |
31 | 32 |
33 |
34 |
35 | 36 |
37 | 38 |
39 |
40 | 41 |
42 |
43 | 44 |
45 |
46 |
47 |
48 |
49 | 50 | 65 | 66 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res/page/user-setting.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 基本资料 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |
21 | 22 |
23 | 24 | 填写自己管理账号的名称。 25 |
26 |
27 |
28 | 29 |
30 | 31 |
32 |
33 |
34 | 35 |
36 | 37 |
38 |
39 |
40 | 41 |
42 | 43 |
44 |
45 | 46 |
47 |
48 | 49 |
50 |
51 |
52 |
53 |
54 | 55 | 70 | 71 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/main/webapp/res_layui.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs-test/src/test/java/org/itstack/demo/test/ApiTest.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.test; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import org.itstack.demo.rpc.IUserRpc; 5 | import org.itstack.demo.rpc.req.UserReq; 6 | import org.itstack.demo.rpc.res.UserRes; 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | import org.slf4j.Logger; 10 | import org.slf4j.LoggerFactory; 11 | import org.springframework.test.context.ContextConfiguration; 12 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 13 | 14 | import javax.annotation.Resource; 15 | 16 | @RunWith(SpringJUnit4ClassRunner.class) 17 | @ContextConfiguration("classpath:spring-config.xml") 18 | public class ApiTest { 19 | 20 | private Logger logger = LoggerFactory.getLogger(ApiTest.class); 21 | 22 | @Resource 23 | private IUserRpc userRpc; 24 | 25 | @Test 26 | public void test_queryUserInfoList() { 27 | UserReq req = new UserReq(); 28 | req.setName("豆豆"); 29 | req.setPage("1", "5"); 30 | UserRes res = userRpc.queryUserInfoList(req); 31 | logger.info("\r\n测试结果 req:{} res:{}", JSON.toJSONString(req), JSON.toJSONString(res)); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/application/UserService.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.application; 2 | 3 | import org.itstack.demo.domain.model.aggregates.UserInfoCollect; 4 | import org.itstack.demo.domain.model.req.UserReq; 5 | 6 | /** 7 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 8 | * 论坛:http://bugstack.cn 9 | * Create by 付政委 on @2019 10 | */ 11 | public interface UserService { 12 | 13 | UserInfoCollect queryUserInfoList(UserReq req); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/application/task/UserTask.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.application.task; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | 6 | public class UserTask { 7 | 8 | private Logger logger = LoggerFactory.getLogger(UserTask.class); 9 | 10 | public void execute() throws Exception{ 11 | logger.info("定时处理用户信息任务:0/5 * * * * ?"); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/domain/model/aggregates/UserInfoCollect.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.domain.model.aggregates; 2 | 3 | import org.itstack.demo.domain.model.vo.UserInfo; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 9 | * 论坛:http://bugstack.cn 10 | * Create by 付政委 on @2019 11 | */ 12 | public class UserInfoCollect { 13 | 14 | private Long count; 15 | private List userInfoList; 16 | 17 | public UserInfoCollect() { 18 | } 19 | 20 | public UserInfoCollect(Long count, List userInfoList) { 21 | this.count = count; 22 | this.userInfoList = userInfoList; 23 | } 24 | 25 | public Long getCount() { 26 | return count; 27 | } 28 | 29 | public void setCount(Long count) { 30 | this.count = count; 31 | } 32 | 33 | public List getUserInfoList() { 34 | return userInfoList; 35 | } 36 | 37 | public void setUserInfoList(List userInfoList) { 38 | this.userInfoList = userInfoList; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/domain/model/req/UserReq.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.domain.model.req; 2 | 3 | import org.itstack.demo.frame.common.domain.PageRequest; 4 | 5 | /** 6 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 7 | * 论坛:http://bugstack.cn 8 | * Create by 付政委 on @2019 9 | */ 10 | public class UserReq extends PageRequest { 11 | 12 | private String name; 13 | private Integer status; 14 | 15 | public String getName() { 16 | return name; 17 | } 18 | 19 | public void setName(String name) { 20 | this.name = name; 21 | } 22 | 23 | public Integer getStatus() { 24 | return status; 25 | } 26 | 27 | public void setStatus(Integer status) { 28 | this.status = status; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/domain/model/vo/UserInfo.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.domain.model.vo; 2 | 3 | import java.util.Date; 4 | 5 | /** 6 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 7 | * 论坛:http://bugstack.cn 8 | * Create by 付政委 on @2019 9 | */ 10 | public class UserInfo { 11 | 12 | private Long userId; 13 | private String name; 14 | private Integer age; 15 | private String address; 16 | private Date entryTime; 17 | private Integer status; 18 | 19 | public Long getUserId() { 20 | return userId; 21 | } 22 | 23 | public void setUserId(Long userId) { 24 | this.userId = userId; 25 | } 26 | 27 | public String getName() { 28 | return name; 29 | } 30 | 31 | public void setName(String name) { 32 | this.name = name; 33 | } 34 | 35 | public Integer getAge() { 36 | return age; 37 | } 38 | 39 | public void setAge(Integer age) { 40 | this.age = age; 41 | } 42 | 43 | public String getAddress() { 44 | return address; 45 | } 46 | 47 | public void setAddress(String address) { 48 | this.address = address; 49 | } 50 | 51 | public Date getEntryTime() { 52 | return entryTime; 53 | } 54 | 55 | public void setEntryTime(Date entryTime) { 56 | this.entryTime = entryTime; 57 | } 58 | 59 | public Integer getStatus() { 60 | return status; 61 | } 62 | 63 | public void setStatus(Integer status) { 64 | this.status = status; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/domain/repostory/IUserRepository.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.domain.repostory; 2 | 3 | import org.itstack.demo.domain.model.aggregates.UserInfoCollect; 4 | import org.itstack.demo.domain.model.req.UserReq; 5 | import org.itstack.demo.domain.model.vo.UserInfo; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 11 | * 论坛:http://bugstack.cn 12 | * Create by 付政委 on @2019 13 | */ 14 | public interface IUserRepository { 15 | 16 | UserInfoCollect queryUserInfoList(UserReq req); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/domain/service/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.domain.service; 2 | 3 | import org.itstack.demo.application.UserService; 4 | import org.itstack.demo.domain.model.aggregates.UserInfoCollect; 5 | import org.itstack.demo.domain.model.req.UserReq; 6 | import org.itstack.demo.domain.model.vo.UserInfo; 7 | import org.itstack.demo.domain.repostory.IUserRepository; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Service; 10 | 11 | import javax.annotation.Resource; 12 | import java.util.List; 13 | 14 | /** 15 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 16 | * 论坛:http://bugstack.cn 17 | * Create by 付政委 on @2019 18 | */ 19 | @Service("userService") 20 | public class UserServiceImpl implements UserService { 21 | 22 | @Resource(name = "userRepository") 23 | private IUserRepository userRepository; 24 | 25 | @Override 26 | public UserInfoCollect queryUserInfoList(UserReq req) { 27 | return userRepository.queryUserInfoList(req); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/infrastructure/dao/IUserDao.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.infrastructure.dao; 2 | 3 | import org.itstack.demo.domain.model.req.UserReq; 4 | import org.itstack.demo.infrastructure.po.User; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 10 | * 论坛:http://bugstack.cn 11 | * Create by 付政委 on @2019 12 | */ 13 | public interface IUserDao { 14 | 15 | List queryUserInfoList(UserReq req); 16 | 17 | Long queryUserInfoCount(UserReq req); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/infrastructure/po/User.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.infrastructure.po; 2 | 3 | import java.util.Date; 4 | 5 | /** 6 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 7 | * 论坛:http://bugstack.cn 8 | * Create by 付政委 on @2019 9 | */ 10 | public class User { 11 | 12 | private Long id; 13 | private String name; 14 | private Integer age; 15 | private String address; 16 | private Date entryTime; 17 | private Integer status; 18 | private String remark; 19 | private Date createTime; 20 | private Date updateTime; 21 | 22 | public Long getId() { 23 | return id; 24 | } 25 | 26 | public void setId(Long id) { 27 | this.id = id; 28 | } 29 | 30 | public String getName() { 31 | return name; 32 | } 33 | 34 | public void setName(String name) { 35 | this.name = name; 36 | } 37 | 38 | public Integer getAge() { 39 | return age; 40 | } 41 | 42 | public void setAge(Integer age) { 43 | this.age = age; 44 | } 45 | 46 | public String getAddress() { 47 | return address; 48 | } 49 | 50 | public void setAddress(String address) { 51 | this.address = address; 52 | } 53 | 54 | public Date getEntryTime() { 55 | return entryTime; 56 | } 57 | 58 | public void setEntryTime(Date entryTime) { 59 | this.entryTime = entryTime; 60 | } 61 | 62 | public Integer getStatus() { 63 | return status; 64 | } 65 | 66 | public void setStatus(Integer status) { 67 | this.status = status; 68 | } 69 | 70 | public String getRemark() { 71 | return remark; 72 | } 73 | 74 | public void setRemark(String remark) { 75 | this.remark = remark; 76 | } 77 | 78 | public Date getCreateTime() { 79 | return createTime; 80 | } 81 | 82 | public void setCreateTime(Date createTime) { 83 | this.createTime = createTime; 84 | } 85 | 86 | public Date getUpdateTime() { 87 | return updateTime; 88 | } 89 | 90 | public void setUpdateTime(Date updateTime) { 91 | this.updateTime = updateTime; 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/infrastructure/repository/UserRepository.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.infrastructure.repository; 2 | 3 | import org.itstack.demo.domain.model.aggregates.UserInfoCollect; 4 | import org.itstack.demo.domain.model.req.UserReq; 5 | import org.itstack.demo.domain.repostory.IUserRepository; 6 | import org.itstack.demo.infrastructure.repository.mysql.UserDBRepository; 7 | import org.itstack.demo.infrastructure.repository.redis.UserRedisRepository; 8 | import org.springframework.stereotype.Repository; 9 | 10 | import javax.annotation.Resource; 11 | 12 | /** 13 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 14 | * 论坛:http://bugstack.cn 15 | * Create by 付政委 on @2019 16 | */ 17 | @Repository("userRepository") 18 | public class UserRepository implements IUserRepository { 19 | 20 | @Resource 21 | private UserDBRepository userDBRepository; 22 | @Resource 23 | private UserRedisRepository userRedisRepository; 24 | 25 | @Override 26 | public UserInfoCollect queryUserInfoList(UserReq req) { 27 | UserInfoCollect userInfoCollect = userRedisRepository.queryUserInfoList(req); 28 | if (null != userInfoCollect) return userInfoCollect; 29 | return userDBRepository.queryUserInfoList(req); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/infrastructure/repository/mysql/UserDBRepository.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.infrastructure.repository.mysql; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import org.apache.commons.lang3.StringUtils; 5 | import org.itstack.demo.domain.model.aggregates.UserInfoCollect; 6 | import org.itstack.demo.domain.model.req.UserReq; 7 | import org.itstack.demo.domain.model.vo.UserInfo; 8 | import org.itstack.demo.domain.repostory.IUserRepository; 9 | import org.itstack.demo.infrastructure.dao.IUserDao; 10 | import org.itstack.demo.infrastructure.po.User; 11 | import org.itstack.demo.infrastructure.util.Redis; 12 | import org.springframework.stereotype.Repository; 13 | 14 | import javax.annotation.Resource; 15 | import java.util.ArrayList; 16 | import java.util.List; 17 | 18 | /** 19 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 20 | * 论坛:http://bugstack.cn 21 | * Create by 付政委 on @2019 22 | */ 23 | @Repository("userDBRepository") 24 | public class UserDBRepository implements IUserRepository { 25 | 26 | @Resource 27 | private IUserDao userDao; 28 | @Resource 29 | private Redis redis; 30 | 31 | @Override 32 | public UserInfoCollect queryUserInfoList(UserReq req) { 33 | Long count = userDao.queryUserInfoCount(req); 34 | List userList = userDao.queryUserInfoList(req); 35 | List userInfoList = new ArrayList<>(); 36 | userList.forEach(user -> { 37 | UserInfo userInfo = new UserInfo(); 38 | userInfo.setUserId(user.getId()); 39 | userInfo.setName(user.getName()); 40 | userInfo.setAge(user.getAge()); 41 | userInfo.setAddress(user.getAddress()); 42 | userInfo.setEntryTime(user.getEntryTime()); 43 | userInfo.setStatus(user.getStatus()); 44 | userInfoList.add(userInfo); 45 | }); 46 | UserInfoCollect userInfoCollect = new UserInfoCollect(count, userInfoList); 47 | if (StringUtils.isNoneBlank(req.getName())) { 48 | redis.set(req.getName(), JSON.toJSONString(userInfoCollect)); 49 | } 50 | return userInfoCollect; 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/infrastructure/repository/redis/UserRedisRepository.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.infrastructure.repository.redis; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import org.apache.commons.lang3.StringUtils; 5 | import org.itstack.demo.domain.model.aggregates.UserInfoCollect; 6 | import org.itstack.demo.domain.model.req.UserReq; 7 | import org.itstack.demo.domain.repostory.IUserRepository; 8 | import org.itstack.demo.infrastructure.util.Redis; 9 | import org.springframework.stereotype.Repository; 10 | 11 | import javax.annotation.Resource; 12 | 13 | /** 14 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 15 | * 论坛:http://bugstack.cn 16 | * Create by 付政委 on @2019 17 | */ 18 | @Repository("userRedisRepository") 19 | public class UserRedisRepository implements IUserRepository { 20 | 21 | @Resource 22 | private Redis redis; 23 | 24 | @Override 25 | public UserInfoCollect queryUserInfoList(UserReq req) { 26 | if (StringUtils.isBlank(req.getName())) return null; 27 | Object obj = redis.get(req.getName()); 28 | if (null == obj) return null; 29 | return JSON.parseObject(obj.toString(), UserInfoCollect.class); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/interfaces/assembler/UserAssembler.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.interfaces.assembler; 2 | 3 | import org.itstack.demo.domain.model.aggregates.UserInfoCollect; 4 | import org.itstack.demo.domain.model.req.UserReq; 5 | import org.itstack.demo.domain.model.vo.UserInfo; 6 | import org.itstack.demo.frame.common.domain.Result; 7 | import org.itstack.demo.rpc.dto.UserDto; 8 | import org.itstack.demo.rpc.res.UserRes; 9 | 10 | import java.util.ArrayList; 11 | import java.util.List; 12 | 13 | /** 14 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 15 | * 论坛:http://bugstack.cn 16 | * Create by 付政委 on @2019 17 | */ 18 | public class UserAssembler { 19 | 20 | public static UserReq buildUserReq(org.itstack.demo.rpc.req.UserReq req) { 21 | org.itstack.demo.domain.model.req.UserReq userReq = new UserReq(); 22 | userReq.setName(req.getName()); 23 | userReq.setStatus(req.getStatus()); 24 | userReq.setPageStart(req.getPageStart()); 25 | userReq.setPageEnd(req.getPageEnd()); 26 | return userReq; 27 | } 28 | 29 | public static UserRes buildUserInfoCollect(UserInfoCollect userInfoCollect) { 30 | List dtoList = new ArrayList<>(); 31 | List userInfoList = userInfoCollect.getUserInfoList(); 32 | for (UserInfo userInfo : userInfoList) { 33 | UserDto userDto = new UserDto(); 34 | userDto.setName(userInfo.getName()); 35 | userDto.setStatus(userInfo.getStatus()); 36 | dtoList.add(userDto); 37 | } 38 | return new UserRes(Result.buildSuccessResult(), userInfoCollect.getCount(), dtoList); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/java/org/itstack/demo/interfaces/facade/UserRpc.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.interfaces.facade; 2 | 3 | import org.itstack.demo.application.UserService; 4 | import org.itstack.demo.domain.model.aggregates.UserInfoCollect; 5 | import org.itstack.demo.interfaces.assembler.UserAssembler; 6 | import org.itstack.demo.rpc.IUserRpc; 7 | import org.itstack.demo.rpc.req.UserReq; 8 | import org.itstack.demo.rpc.res.UserRes; 9 | import org.springframework.stereotype.Service; 10 | 11 | import javax.annotation.Resource; 12 | 13 | /** 14 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 15 | * 论坛:http://bugstack.cn 16 | * Create by 付政委 on @2019 17 | */ 18 | @Service("userRpc") 19 | public class UserRpc implements IUserRpc { 20 | 21 | @Resource 22 | private UserService userService; 23 | 24 | @Override 25 | public UserRes queryUserInfoList(UserReq req) { 26 | UserInfoCollect userInfoCollect = userService.queryUserInfoList(UserAssembler.buildUserReq(req)); 27 | return UserAssembler.buildUserInfoCollect(userInfoCollect); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 9 | 10 | 11 | 12 | 14 | ${log.info.location}/system_info.log 15 | true 16 | 17 | INFO 18 | ACCEPT 19 | DENY 20 | 21 | 22 | ${log.info.location}/system_info.%d{yyyy-MM-dd}.%i.log 23 | 24 | 26 | 100MB 27 | 28 | 100 29 | 30 | 31 | 32 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 33 | 34 | 35 | 36 | 38 | ${log.info.location}/system_error.log 39 | true 40 | 41 | ERROR 42 | ACCEPT 43 | DENY 44 | 45 | 46 | ${log.info.location}/system_error.%d{yyyy-MM-dd}.%i.log 47 | 48 | 50 | 100MB 51 | 52 | 100 53 | 54 | 55 | 56 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 57 | 58 | 59 | 60 | 62 | ${log.info.location}/app_info.log 63 | true 64 | 65 | INFO 66 | ACCEPT 67 | DENY 68 | 69 | 70 | ${log.info.location}/app_info.%d{yyyy-MM-dd}.%i.log 71 | 72 | 74 | 100MB 75 | 76 | 100 77 | 78 | 79 | 80 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 81 | 82 | 83 | 84 | 86 | ${log.info.location}/app_error.log 87 | true 88 | 89 | ERROR 90 | ACCEPT 91 | DENY 92 | 93 | 94 | ${log.info.location}/app_error.%d{yyyy-MM-dd}.%i.log 95 | 96 | 98 | 100MB 99 | 100 | 100 101 | 102 | 103 | 104 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80}[%L] - %msg%n 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/mapper/User_Mapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 20 | 21 | 34 | 35 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/mybatis-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/props/config.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzhengwei/itstack-demo-frame/2760ef15b85408e89f7a2df8056906f568f25c31/itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/props/config.properties -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/props/jdbc.properties: -------------------------------------------------------------------------------- 1 | db.jdbc.driverClassName=com.mysql.jdbc.Driver 2 | db.jdbc.url=jdbc:mysql://172.25.64.119:3306/itstack_demo_ddd?createDatabaseIfNotExist=true&characterEncoding=utf-8&useUnicode=true 3 | db.jdbc.username=root 4 | db.jdbc.password=JRTEST -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/spring-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | classpath:props/*.properties 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/spring/spring-config-datasource.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/spring/spring-config-dubbo-provider.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/spring/spring-config-redis.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/spring/spring-config-schedule-userTask.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/resources/spring/spring-mvc.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | _rootArtifactId_ 7 | 8 | 9 | encodingFilter 10 | org.springframework.web.filter.CharacterEncodingFilter 11 | 12 | encoding 13 | UTF-8 14 | 15 | 16 | 17 | 18 | encodingFilter 19 | /* 20 | 21 | 22 | 23 | 24 | DispatcherServlet 25 | org.springframework.web.servlet.DispatcherServlet 26 | 27 | contextConfigLocation 28 | classpath:spring-config.xml 29 | 30 | 1 31 | 32 | 33 | 34 | DispatcherServlet 35 | *.do 36 | 37 | 38 | 39 | index.html 40 | 41 | 42 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-ddd/src/test/java/org/itstack/demo/test/ApiTest.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.test; 2 | 3 | /** 4 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 5 | * 论坛:http://bugstack.cn 6 | * Create by 付政委 on @2019 7 | */ 8 | public class ApiTest { 9 | 10 | public static void main(String[] args) { 11 | System.out.println(""); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-rpc/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | itstack-demo-frame-dcs 7 | org.itstack.demo 8 | 1.0.0-SNAPSHOT 9 | 10 | 4.0.0 11 | 12 | itstack-demo-frame-dcs-rpc 13 | jar 14 | 15 | 16 | 17 | org.itstack.demo 18 | itstack-demo-frame-common 19 | 20 | 21 | 22 | 23 | itstack-demo-frame-dcs-rpc 24 | 25 | 26 | org.apache.maven.plugins 27 | maven-compiler-plugin 28 | 29 | ${jdk.version} 30 | ${jdk.version} 31 | UTF-8 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-rpc/src/main/java/org/itstack/demo/rpc/IUserRpc.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.rpc; 2 | 3 | import org.itstack.demo.rpc.req.UserReq; 4 | import org.itstack.demo.rpc.res.UserRes; 5 | 6 | public interface IUserRpc { 7 | 8 | UserRes queryUserInfoList(UserReq req); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-rpc/src/main/java/org/itstack/demo/rpc/dto/UserDto.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.rpc.dto; 2 | 3 | import java.io.Serializable; 4 | 5 | public class UserDto implements Serializable { 6 | 7 | private String name; 8 | private Integer status; 9 | 10 | public String getName() { 11 | return name; 12 | } 13 | 14 | public void setName(String name) { 15 | this.name = name; 16 | } 17 | 18 | public Integer getStatus() { 19 | return status; 20 | } 21 | 22 | public void setStatus(Integer status) { 23 | this.status = status; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-rpc/src/main/java/org/itstack/demo/rpc/req/UserReq.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.rpc.req; 2 | 3 | import org.itstack.demo.frame.common.domain.PageRequest; 4 | 5 | import java.io.Serializable; 6 | 7 | public class UserReq extends PageRequest implements Serializable { 8 | 9 | private static final long serialVersionUID = -1781606436664906783L; 10 | 11 | private String name; 12 | private Integer status; 13 | 14 | public String getName() { 15 | return name; 16 | } 17 | 18 | public void setName(String name) { 19 | this.name = name; 20 | } 21 | 22 | public Integer getStatus() { 23 | return status; 24 | } 25 | 26 | public void setStatus(Integer status) { 27 | this.status = status; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/itstack-demo-frame-dcs-rpc/src/main/java/org/itstack/demo/rpc/res/UserRes.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.rpc.res; 2 | 3 | import org.itstack.demo.frame.common.domain.Result; 4 | import org.itstack.demo.rpc.dto.UserDto; 5 | 6 | import java.util.List; 7 | 8 | public class UserRes implements java.io.Serializable{ 9 | 10 | private static final long serialVersionUID = -6764782345715366841L; 11 | 12 | private Result result; 13 | private Long count; 14 | private List list; 15 | 16 | public UserRes() { 17 | } 18 | 19 | public UserRes(Result result) { 20 | this.result = result; 21 | } 22 | 23 | public UserRes(Result result, Long count, List list) { 24 | this.result = result; 25 | this.count = count; 26 | this.list = list; 27 | } 28 | 29 | public Result getResult() { 30 | return result; 31 | } 32 | 33 | public void setResult(Result result) { 34 | this.result = result; 35 | } 36 | 37 | public Long getCount() { 38 | return count; 39 | } 40 | 41 | public void setCount(Long count) { 42 | this.count = count; 43 | } 44 | 45 | public List getList() { 46 | return list; 47 | } 48 | 49 | public void setList(List list) { 50 | this.list = list; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-dcs/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | 9 | org.itstack.demo 10 | itstack-demo-frame-parent 11 | 1.0.0-RELEASE 12 | 13 | 14 | itstack-demo-frame-dcs 15 | pom 16 | 1.0.0-SNAPSHOT 17 | 18 | 19 | itstack-demo-frame-dcs-ddd 20 | itstack-demo-frame-dcs-rpc 21 | 22 | 23 | 24 | 25 | 26 | org.itstack.demo 27 | itstack-demo-frame-common 28 | 1.0.0-RELEASE 29 | 30 | 31 | org.itstack.demo 32 | itstack-demo-frame-dcs-rpc 33 | 1.0.0-SNAPSHOT 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-parent/itstack-demo-frame-common/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | itstack-demo-frame-parent 7 | org.itstack.demo 8 | 1.0.0-RELEASE 9 | 10 | 4.0.0 11 | 12 | itstack-demo-frame-common 13 | jar 14 | 15 | 16 | 17 | org.apache.commons 18 | commons-lang3 19 | 20 | 21 | 22 | 23 | itstack-demo-frame-common 24 | 25 | 26 | 27 | org.apache.maven.plugins 28 | maven-compiler-plugin 29 | 30 | ${jdk.version} 31 | ${jdk.version} 32 | 1.8 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-parent/itstack-demo-frame-common/src/main/java/org/itstack/demo/frame/common/constants/Constants.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.frame.common.constants; 2 | 3 | public class Constants { 4 | 5 | public enum ResponseCode { 6 | SUCCESS("0000", "成功"), 7 | UN_ERROR("0001","未知失败"), 8 | ILLEGAL_PARAMETER("0002","非法参数"), 9 | INDEX_DUP("0003","主键冲突"); 10 | 11 | private String code; 12 | private String info; 13 | 14 | ResponseCode(String code, String info) { 15 | this.code = code; 16 | this.info = info; 17 | } 18 | 19 | public String getCode() { 20 | return code; 21 | } 22 | 23 | public String getInfo() { 24 | return info; 25 | } 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-parent/itstack-demo-frame-common/src/main/java/org/itstack/demo/frame/common/domain/PageRequest.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.frame.common.domain; 2 | 3 | import org.apache.commons.lang3.StringUtils; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 9 | * 论坛:http://bugstack.cn 10 | * Create by 付政委 on @2019 11 | */ 12 | public class PageRequest implements Serializable { 13 | 14 | private static final long serialVersionUID = -2203830502451687016L; 15 | private int pageStart = 0; //开始 limit 第一个参数 16 | private int pageEnd = 0; //结束 limit 第二个参数 17 | 18 | private int page; //页数 19 | private int rows; //行数 20 | 21 | public PageRequest() { 22 | } 23 | 24 | public PageRequest(String page, String rows) { 25 | this.page = StringUtils.isEmpty(page) ? 1 : Integer.parseInt(page); 26 | this.rows = StringUtils.isEmpty(page) ? 10 : Integer.parseInt(rows); 27 | if (0 == this.page) { 28 | this.page = 1; 29 | } 30 | this.pageStart = (this.page - 1) * this.rows; 31 | this.pageEnd = this.rows; 32 | } 33 | 34 | public void setPage(String page, String rows){ 35 | this.page = StringUtils.isEmpty(page) ? 1 : Integer.parseInt(page); 36 | this.rows = StringUtils.isEmpty(page) ? 10 : Integer.parseInt(rows); 37 | if (0 == this.page) { 38 | this.page = 1; 39 | } 40 | this.pageStart = (this.page - 1) * this.rows; 41 | this.pageEnd = this.rows; 42 | } 43 | 44 | public int getPageStart() { 45 | return pageStart; 46 | } 47 | 48 | public void setPageStart(int pageStart) { 49 | this.pageStart = pageStart; 50 | } 51 | 52 | public int getPageEnd() { 53 | return pageEnd; 54 | } 55 | 56 | public void setPageEnd(int pageEnd) { 57 | this.pageEnd = pageEnd; 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /itstack-demo-frame-02/itstack-demo-frame-parent/itstack-demo-frame-common/src/main/java/org/itstack/demo/frame/common/domain/Result.java: -------------------------------------------------------------------------------- 1 | package org.itstack.demo.frame.common.domain; 2 | 3 | import org.itstack.demo.frame.common.constants.Constants; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 微信公众号:bugstack虫洞栈 | 欢迎关注学习专题案例 9 | * 论坛:http://bugstack.cn 10 | * Create by 付政委 on @2019 11 | */ 12 | public class Result implements Serializable { 13 | 14 | private static final long serialVersionUID = -3826891916021780628L; 15 | private String code; 16 | private String info; 17 | 18 | public static Result buildResult(String code, String info) { 19 | return new Result(code, info); 20 | } 21 | 22 | public static Result buildSuccessResult() { 23 | return new Result(Constants.ResponseCode.SUCCESS.getCode(), Constants.ResponseCode.SUCCESS.getInfo()); 24 | } 25 | 26 | public static Result buildErrorResult() { 27 | return new Result(Constants.ResponseCode.UN_ERROR.getCode(), Constants.ResponseCode.UN_ERROR.getInfo()); 28 | } 29 | 30 | public Result(String code, String info) { 31 | this.code = code; 32 | this.info = info; 33 | } 34 | 35 | public String getCode() { 36 | return code; 37 | } 38 | 39 | public void setCode(String code) { 40 | this.code = code; 41 | } 42 | 43 | public String getInfo() { 44 | return info; 45 | } 46 | 47 | public void setInfo(String info) { 48 | this.info = info; 49 | } 50 | 51 | } 52 | --------------------------------------------------------------------------------