clz) throws BeansException {
49 | return getBeanFactory().getBean(clz);
50 | }
51 |
52 | /**
53 | * 根据名称,查看工厂中是否含有此bean
54 | *
55 | * @param name bean名称
56 | * @return boolean
57 | */
58 | public static boolean containsBean(String name) {
59 | return getBeanFactory().containsBean(name);
60 | }
61 |
62 | }
--------------------------------------------------------------------------------
/src/main/resources/application-dev.properties:
--------------------------------------------------------------------------------
1 | # mysql配置
2 | spring.datasource.url=jdbc:mysql://10.22.83.65:3307/case_manager?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
3 | spring.datasource.username=root
4 | spring.datasource.password=Password123@mysql
5 | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
6 |
7 | spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
8 | spring.datasource.druid.initial-size=5
9 | spring.datasource.druid.min-idle=5
10 | spring.datasource.druid.maxActive=20
11 | spring.datasource.druid.maxWait=60000
12 | spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
13 | spring.datasource.druid.minEvictableIdleTimeMillis=300000
14 | spring.datasource.druid.validationQuery=SELECT 1 FROM DUAL
15 | spring.datasource.druid.testWhileIdle=true
16 | spring.datasource.druid.testOnBorrow=false
17 | spring.datasource.druid.testOnReturn=false
18 | spring.datasource.druid.poolPreparedStatements=true
19 | spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20
20 | spring.datasource.druid.connectionProperties=druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
21 |
22 | logging.config=classpath:log4j2.xml
23 |
24 | spring.thymeleaf.servlet.content-type=text/html
25 | spring.thymeleaf.encoding=utf-8
26 | spring.thymeleaf.mode=LEGACYHTML5
27 | spring.thymeleaf.cache=false
28 | spring.mvc.static-path-pattern=/**
29 | # 配置本地图片文件保存目录
30 | web.upload-path=/data/H5/sit/yhttest/AgileTC/image/
31 | spring.resources.static-locations=classpath:/web/dist/,file:${web.upload-path}
32 | spring.thymeleaf.prefix=classpath:/web/dist/
33 | spring.thymeleaf.suffix=.html
34 |
35 |
--------------------------------------------------------------------------------
/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # 默认启动环境
2 | spring.profiles.active=dev
3 | spring.application.name=case-server
4 |
5 | # HTTPs端口
6 | server.port=8443
7 |
8 | # HTTPS配置
9 | https.ssl.enable=true
10 | https.ssl.key-store=classpath:keystore.p12
11 | https.ssl.key-store-password=12345678
12 | https.ssl.keyStoreType=PKCS12
13 | https.ssl.keyAlias=tomcat
14 |
15 | http.port=8094
16 |
17 | # mybatis.xml文件位置配置
18 | mybatis.typeAliasesPackage=com.xiaoju.framework.*
19 | mybatis.mapperLocations=classpath*:mapper/*.xml
20 |
21 | # 文件上传限制,后端改为了100M
22 | spring.servlet.multipart.max-file-size=100MB
23 | spring.servlet.multipart.max-request-size=101MB
24 |
25 | spring.datasource.druid.connection-init-sqls=set names utf8mb4
26 |
27 | # log配置
28 | logging.config=classpath:log4j2.xml
29 |
30 | # 解析项目下的前端包
31 | spring.thymeleaf.servlet.content-type=text/html
32 | spring.thymeleaf.encoding=utf-8
33 | spring.thymeleaf.mode=LEGACYHTML5
34 | spring.thymeleaf.cache=false
35 | spring.mvc.static-path-pattern=/**
36 | spring.resources.static-locations=classpath:/web/dist/
37 | spring.thymeleaf.prefix=classpath:/web/dist/
38 | spring.thymeleaf.suffix=.html
39 |
40 | # 关闭devtools
41 | spring.devtools.add-properties=true
42 |
43 | # 权限开关,默认关闭
44 | authority.flag=false
--------------------------------------------------------------------------------
/src/main/resources/web/.editorconfig:
--------------------------------------------------------------------------------
1 | # # http://editorconfig.org
2 | # root = true
3 |
4 | # [*]
5 | # indent_style = space
6 | # indent_size = 2
7 | # end_of_line = lf
8 | # charset = utf-8
9 | # trim_trailing_whitespace = true
10 | # insert_final_newline = true
11 |
12 | # [*.md]
13 | # trim_trailing_whitespace = false
14 |
15 | # [Makefile]
16 | # indent_style = tab
17 |
18 | # https://editorconfig.org
19 | root = true # 根目录的配置文件,编辑器会由当前目录向上查找,如果找到 `roor = true` 的文件,则不再查找
20 |
21 | [*] # 匹配所有的文件
22 | indent_style = space # 空格缩进
23 | indent_size = 4 # 缩进空格为4个
24 | end_of_line = lf # 文件换行符是 linux 的 `\n`
25 | charset = utf-8 # 文件编码是 utf-8
26 | trim_trailing_whitespace = true # 不保留行末的空格
27 | insert_final_newline = true # 文件末尾添加一个空行
28 | curly_bracket_next_line = false # 大括号不另起一行
29 | spaces_around_operators = true # 运算符两遍都有空格
30 | indent_brace_style = 1tbs # 条件语句格式是 1tbs
31 |
32 | [*.js] # 对所有的 js 文件生效
33 | quote_type = single # 字符串使用单引号
34 |
35 | [*.{html,less,css,json}] # 对所有 html, less, css, json 文件生效
36 | quote_type = double # 字符串使用双引号
37 |
38 | [package.json] # 对 package.json 生效
39 | indent_size = 2 # 使用2个空格缩进
40 |
--------------------------------------------------------------------------------
/src/main/resources/web/.eslintignore:
--------------------------------------------------------------------------------
1 | /dist/
--------------------------------------------------------------------------------
/src/main/resources/web/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /npm-debug.log*
6 | /yarn-error.log
7 | /yarn.lock
8 | /package-lock.json
9 |
10 |
11 | # misc
12 | .DS_Store
13 |
14 | # umi
15 | /src/pages/.umi
16 | /src/pages/.umi-production
17 | /src/pages/.umi-test
18 | /.env.local
19 |
--------------------------------------------------------------------------------
/src/main/resources/web/.prettierignore:
--------------------------------------------------------------------------------
1 | **/*.md
2 | **/*.svg
3 | **/*.ejs
4 | **/*.html
5 | package.json
6 | .umi
7 | .umi-production
8 | .umi-test
9 |
--------------------------------------------------------------------------------
/src/main/resources/web/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "all",
4 | "printWidth": 80,
5 | "overrides": [
6 | {
7 | "files": ".prettierrc",
8 | "options": { "parser": "json" }
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/resources/web/.umirc copy.js:
--------------------------------------------------------------------------------
1 | // config/config.js示例
2 | export default {
3 | base: '/web/', //部署到非根目录时才需配置
4 | targets: { //配置浏览器最低版本,比如兼容ie11
5 | ie: 11
6 | },
7 | hash: true, //开启打包文件的hash值后缀
8 | history: 'hash', //umi默认是用的Browser History,如果要用Hash History,配置一下即可
9 | treeShaking: true, //去除那些引用的但却没有使用的代码
10 | plugins: [
11 | [
12 | 'umi-plugin-react',
13 | {
14 | antd: true, //启用后自动配置 babel-plugin-import,实现antd按需加载
15 | dynamicImport: { //实现路由级的动态加载
16 | webpackChunkName: true //实现有意义的异步文件名
17 | },
18 | dva: {
19 | dynamicImport: true, //是否启用按需加载
20 | hmr: true //是否启用 dva 的 热更新
21 | },
22 | //通过 webpack 的 dll 插件预打包一份 dll 文件来达到二次启动提速的目的
23 | dll: {
24 | exclude: [],
25 | include: ['dva', 'dva/router', 'dva/saga', 'dva/fetch', 'antd/es']
26 | },
27 | //约定式路由时才需引用,用于忽略指定文件夹中自动生成的路由
28 | routes: {
29 | exclude: [
30 | /components\//,
31 | /model\.(j|t)sx?$/,
32 | /components\.(j|t)sx?$/,
33 | /service\.(j|t)sx?$/,
34 | /models\//,
35 | /services\//
36 | ],
37 | },
38 | }
39 | ]
40 | ],
41 | //配置式路由时,路由文件由此引用(往下会讲到)
42 | routes: routes,
43 | //代理请求
44 | proxy: {
45 | "/api": {
46 | "target": "http://jsonplaceholder.typicode.com/",
47 | "changeOrigin": true,
48 | "pathRewrite": { "^/api": "" }
49 | }
50 | },
51 | alias: { '@': resolve(__dirname, '../src'), } //别名,umirc.js为'src'
52 | };
--------------------------------------------------------------------------------
/src/main/resources/web/README.md:
--------------------------------------------------------------------------------
1 | 如果出现表格滚动样式问题,可能是antd版本问题导致,目前线上使用版本为3.23.6
--------------------------------------------------------------------------------
/src/main/resources/web/config/config.dev.js:
--------------------------------------------------------------------------------
1 | export default {
2 | define: {
3 | "process.env.apiUrl": 'http://localhost:8094',
4 | "process.env.name": '开发环境'
5 | }
6 | }
--------------------------------------------------------------------------------
/src/main/resources/web/config/config.pro.js:
--------------------------------------------------------------------------------
1 | export default {
2 | define: {
3 | "process.env.apiUrl": 'http://yht.sunline.cn:8094',
4 | "process.env.name": '生产环境'
5 | }
6 | }
--------------------------------------------------------------------------------
/src/main/resources/web/config/config.sit.js:
--------------------------------------------------------------------------------
1 | export default {
2 | define: {
3 | "process.env.apiUrl": 'http://yhtsit.sunline.cn:8094',
4 | "process.env.name": '测试环境'
5 | }
6 | }
--------------------------------------------------------------------------------
/src/main/resources/web/dist/img/2.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/dist/img/2.ico
--------------------------------------------------------------------------------
/src/main/resources/web/dist/img/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/dist/img/2.png
--------------------------------------------------------------------------------
/src/main/resources/web/dist/img/3.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/dist/img/3.ico
--------------------------------------------------------------------------------
/src/main/resources/web/dist/img/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/dist/img/3.png
--------------------------------------------------------------------------------
/src/main/resources/web/dist/img/favico.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/dist/img/favico.ico
--------------------------------------------------------------------------------
/src/main/resources/web/dist/img/favico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/dist/img/favico.png
--------------------------------------------------------------------------------
/src/main/resources/web/dist/index.html:
--------------------------------------------------------------------------------
1 | 银户通-测试案例智能管理平台
--------------------------------------------------------------------------------
/src/main/resources/web/dist/layouts__index.28b9f196.async.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[6],{aArQ:function(e,t,n){"use strict";n.r(t);n("k/Y0");var a=n("wEI+"),l=(n("B9cy"),n("Ol7k")),o=n("q1tI"),r=n.n(o),u=n("bKel"),c=n.n(u),i=n("+Gva"),s=n("/MKj"),d=l.a.Content;t.default=c()(Object(s.c)(function(e){return{global:e.global}})(class extends o.Component{render(){var e=this.props.children,t=void 0===e?{}:e;return r.a.createElement(a.b,{locale:i.default},r.a.createElement(l.a,null,r.a.createElement(d,{style:{minHeight:"100vh"}},t)))}}))},bKel:function(e,t,n){e.exports=n("utR0").default},"k/Y0":function(e,t,n){},utR0:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=n("6YkS").withRouter;t.default=a}}]);
--------------------------------------------------------------------------------
/src/main/resources/web/dist/layouts__index.903d1124.chunk.css:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/main/resources/web/dist/p__contrast__index.207ff033.chunk.css:
--------------------------------------------------------------------------------
1 | .contras_card,.contras_card_default{margin:24px}.contras_card .contras_title,.contras_card_default .contras_title{margin-top:-24px;padding:16px 0}.contras_card .contras_title>span:first-child,.contras_card_default .contras_title>span:first-child{margin-right:20px;color:#000;font-size:14px}.contras_card_default .ant-table-thead .ant-table-selection-column .ant-table-header-column{display:none}.historyBox{padding:0 20px 20px;background:#fff}.historyBox .box_title{display:flex;justify-content:space-between;margin-bottom:5px}.historyBox .title_color .ant-card-head,.historyBox .title_history .ant-card-head{border-bottom:0}.historyBox .title_color .ant-card-head,.historyBox .title_color>.ant-card-body,.historyBox .title_history .ant-card-head,.historyBox .title_history>.ant-card-body{padding:0}.historyBox .title_color{width:300px}.historyBox .title_color span{margin-bottom:15px;padding:3px 20px;color:rgba(0,0,0,.65)}
2 | .ant-dropdown.dropStyle .ant-dropdown-menu{background-color:#37f;border-radius:0;padding:0}.ant-dropdown.dropStyle .ant-dropdown-menu-item{color:#fff;padding:0;width:auto}.ant-dropdown.dropStyle .ant-dropdown-menu-item a,.ant-dropdown.dropStyle .ant-dropdown-menu-item span{display:block;height:50px;line-height:50px;padding:0 15px;margin:0;color:#fff}.ant-dropdown.dropStyle .ant-dropdown-menu-item:hover,.ant-dropdown.dropStyle .ant-dropdown-menu-item-active{background-color:rgba(26,29,36,.5)}.user{float:right;display:flex;align-items:center;color:#fff;height:32px;padding:0 10px;background:#37f;border-radius:4px;cursor:pointer;margin-top:16px}.user .dowm,.user .userIcon{font-size:large}.user .username{white-space:nowrap;margin:0 10px}.loginCss{color:#fff;float:right}
3 |
--------------------------------------------------------------------------------
/src/main/resources/web/dist/p__landing__login.aef4033c.chunk.css:
--------------------------------------------------------------------------------
1 | .login{background:#87ceeb;height:100vh;display:flex;align-items:center;justify-content:center;background:url(/static/login.032e8b38.png) no-repeat;background-size:cover;background-attachment:fixed}.login .card{background:#fff;margin-left:40%;width:500px;height:375px;border-radius:10px;box-shadow:0 6px 13px 0 rgb(0 0 0);padding:20px 50px 40px}.login .card .title{font-size:22px;font-weight:500;margin-bottom:15px}.login .card .title span{font-size:14px;margin-left:5px;font-weight:300}.login .card .btn{display:inline-block;cursor:pointer;width:200px;font-size:14px;text-align:center;padding:6px 0;border:1px solid #e3e7ed}.login .card .btn:first-of-type{border-radius:4px 0 0 4px}.login .card .btn:nth-of-type(2){border-radius:0 4px 4px 0}.login .card .btn_active{border:1px solid #40a9ff;color:#40a9ff}.login .card .input{margin-top:30px}.login .card .input input{height:36px}.login .card1{background:#fff;margin-left:40%;width:500px;height:400px;border-radius:10px;box-shadow:0 6px 13px 0 rgb(0 0 0);padding:20px 50px 40px}.login .card1 .title{font-size:22px;font-weight:500;margin-bottom:15px}.login .card1 .title span{font-size:14px;margin-left:5px;font-weight:300}.login .card1 .btn{display:inline-block;cursor:pointer;width:200px;font-size:14px;text-align:center;padding:6px 0;border:1px solid #e3e7ed}.login .card1 .btn:first-of-type{border-radius:4px 0 0 4px}.login .card1 .btn:nth-of-type(2){border-radius:0 4px 4px 0}.login .card1 .btn_active{border:1px solid #40a9ff;color:#40a9ff}.login .card1 .input{margin-top:30px}.login .card1 .input input{height:36px}.login .onBtn{width:100%;height:36px;margin-top:10px}.login .zIndex{z-index:1}
2 |
--------------------------------------------------------------------------------
/src/main/resources/web/dist/static/atclogo4.ac91848f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/dist/static/atclogo4.ac91848f.png
--------------------------------------------------------------------------------
/src/main/resources/web/dist/static/login.032e8b38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/dist/static/login.032e8b38.png
--------------------------------------------------------------------------------
/src/main/resources/web/mock/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/mock/.gitkeep
--------------------------------------------------------------------------------
/src/main/resources/web/mock/index.js:
--------------------------------------------------------------------------------
1 | export default {};
2 |
--------------------------------------------------------------------------------
/src/main/resources/web/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "agiletc",
3 | "version": "1.0.0",
4 | "author": "刘智",
5 | "description": "银户通-测试案例智能管理平台",
6 | "main": "app.js",
7 | "scripts": {
8 | "start": "umi dev",
9 | "dev": "cross-env UMI_ENV=dev umi dev",
10 | "sit": "cross-env UMI_ENV=sit umi dev",
11 | "pro": "cross-env UMI_ENV=pro umi dev",
12 | "build": "umi build",
13 | "build:dev": "cross-env UMI_ENV=dev umi build",
14 | "build:sit": "cross-env UMI_ENV=sit umi build",
15 | "build:pro": "cross-env UMI_ENV=pro umi build",
16 | "lint": "eslint --ext .js src mock tests",
17 | "ui": "umi ui",
18 | "precommit": "lint-staged"
19 | },
20 | "dependencies": {
21 | "antd": "^3.23.6",
22 | "axios": "^0.19.0",
23 | "dva": "2.6.0-beta.6",
24 | "enquire-js": "^0.2.1",
25 | "lodash.debounce": "^4.0.8",
26 | "moment": "^2.24.0",
27 | "qrcode.react": "^1.0.0",
28 | "rc-queue-anim": "^1.8.5",
29 | "rc-scroll-anim": "^2.7.4",
30 | "rc-texty": "^0.2.0",
31 | "react": "^16.8.6",
32 | "react-agiletc-editor": "^0.1.17-beta.13",
33 | "react-dom": "^16.8.6",
34 | "react-resize-panel": "^0.3.5"
35 | },
36 | "devDependencies": {
37 | "babel-eslint": "^9.0.0",
38 | "cross-env": "^7.0.3",
39 | "eslint": "^5.4.0",
40 | "eslint-config-prettier": "^6.1.0",
41 | "eslint-config-standard": "^11.0.0",
42 | "eslint-config-umi": "^1.4.0",
43 | "eslint-plugin-flowtype": "^2.50.0",
44 | "eslint-plugin-import": "^2.14.0",
45 | "eslint-plugin-jsx-a11y": "^5.1.1",
46 | "eslint-plugin-node": "^6.0.1",
47 | "eslint-plugin-prettier": "^3.1.0",
48 | "eslint-plugin-promise": "^3.8.0",
49 | "eslint-plugin-react": "^7.14.3",
50 | "eslint-plugin-standard": "^3.1.0",
51 | "husky": "^0.14.3",
52 | "lint-staged": "^9.2.5",
53 | "node-sass": "^4.14.1",
54 | "prettier": "^1.18.2",
55 | "react-test-renderer": "^16.7.0",
56 | "sass-loader": "^7.3.1",
57 | "umi": "2.13.15",
58 | "umi-plugin-react": "^1.8.4"
59 | },
60 | "husky": {
61 | "hooks": {
62 | "pre-commit": "lint-staged"
63 | }
64 | },
65 | "lint-staged": {
66 | "*.{js,jsx}": [
67 | "eslint --fix",
68 | "git add"
69 | ]
70 | },
71 | "engines": {
72 | "node": ">=8.0.0"
73 | },
74 | "eslintIgnore": [
75 | "dist/"
76 | ]
77 | }
--------------------------------------------------------------------------------
/src/main/resources/web/public/img/2.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/public/img/2.ico
--------------------------------------------------------------------------------
/src/main/resources/web/public/img/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/public/img/2.png
--------------------------------------------------------------------------------
/src/main/resources/web/public/img/3.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/public/img/3.ico
--------------------------------------------------------------------------------
/src/main/resources/web/public/img/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/public/img/3.png
--------------------------------------------------------------------------------
/src/main/resources/web/public/img/favico.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/public/img/favico.ico
--------------------------------------------------------------------------------
/src/main/resources/web/public/img/favico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/public/img/favico.png
--------------------------------------------------------------------------------
/src/main/resources/web/src/app.js:
--------------------------------------------------------------------------------
1 | // import utils from './utils';
2 | // utils.setcookie('username', 'user');
3 | export const dva = {
4 | config: {
5 | onError(err) {
6 | err.preventDefault()
7 | // eslint-disable-next-line
8 | console.error(err.message);
9 | },
10 | },
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/components/case/caselist/img/swap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/src/components/case/caselist/img/swap.png
--------------------------------------------------------------------------------
/src/main/resources/web/src/components/case/casemgt/index.scss:
--------------------------------------------------------------------------------
1 | .progress{
2 |
3 | .border-wrap{
4 | display: inline-block;
5 | width:100%;
6 | border-radius: 5px ;
7 | }
8 | .div-wrap{
9 | display: inline-block;
10 | height:10px;
11 | cursor: pointer;
12 | }
13 |
14 | .div-wrap:first-child{ border-bottom-left-radius: 3px 3px;
15 | border-top-left-radius: 3px 3px;}
16 | .div-wrap:last-child{ border-bottom-right-radius: 3px 3px;
17 | border-top-right-radius: 3px 3px;}
18 | }
19 | .case-title{
20 | font-size: 16px;
21 | color: #8B9ABE;
22 | }
23 | .description-case{
24 | font-size: 12px;
25 | }
26 | .m-b-18{
27 | margin-bottom: 18px;
28 | }
29 | .font-size-12{
30 | font-size: 12px;
31 | }
32 | .elipsis-case{
33 |
34 |
35 | overflow:hidden; white-space: nowrap; word-break:break-all;text-overflow:ellipsis;
36 | }
--------------------------------------------------------------------------------
/src/main/resources/web/src/layouts/headers.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import 'antd/dist/antd.css'
3 | import { Layout, Icon, Menu, Dropdown, message } from 'antd'
4 | import getQueryString from '@/utils/getCookies'
5 | import '../pages/landing/less/index.less'
6 | import request from '@/utils/axios'
7 | const { Header } = Layout
8 | const getCookies = getQueryString.getCookie
9 |
10 | class Headers extends React.Component {
11 | componentDidMount() {
12 | if (!getCookies('username')) {
13 | window.location.href = `/login?jumpto=${window.location.href}`
14 | }
15 | }
16 | // 登出
17 | handleDropdownClick = () => {
18 | request(`/user/quit`, {
19 | method: 'POST',
20 | }).then(res => {
21 | if (res && res.code === 200) {
22 | window.location.href = `/login?jumpto=${window.location.href}`
23 | } else {
24 | message.error(res.msg)
25 | }
26 | })
27 | }
28 |
29 | render() {
30 | const menu = (
31 |
39 | )
40 | return getCookies('username') ? (
41 |
59 | ) : null
60 | }
61 | }
62 | export default Headers
63 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/layouts/index.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react'
2 | import withRouter from 'umi/withRouter'
3 | import { ConfigProvider, Layout } from 'antd'
4 | import zhCN from 'antd/es/locale/zh_CN'
5 | import { connect } from 'dva'
6 |
7 | const { Content } = Layout
8 |
9 | function mapStateToProps(state) {
10 | return {
11 | global: state.global,
12 | }
13 | }
14 | class PageLayout extends Component {
15 | render() {
16 | const { children = {} } = this.props
17 | return (
18 |
19 |
20 | {children}
21 |
22 |
23 | )
24 | }
25 | }
26 | export default withRouter(connect(mapStateToProps)(PageLayout))
27 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/layouts/index.scss:
--------------------------------------------------------------------------------
1 | .doneHeader {
2 | background: linear-gradient(to right, #404e67 0, #6f85ad 100%);
3 | // padding: 0 0 0 240px;
4 | padding: 0;
5 | ul {
6 | background: transparent;
7 | }
8 | .user {
9 | height: 64px;
10 | text-align: right;
11 | padding: 16px 16px 16px 0;
12 | line-height: 32px;
13 | a {
14 | color: #fff;
15 | height: 32px;
16 | line-height: 32px;
17 | display: inline-block;
18 | }
19 | .ant-dropdown ul.ant-dropdown-menu {
20 | background: #fff;
21 | .ant-dropdown-menu-item > a {
22 | color: rgba(0, 0, 0, 0.65);
23 | }
24 | }
25 | @media screen and (max-width: 576px) {
26 | font-size: 0.8em;
27 | }
28 | @media screen and (max-width: 375px) {
29 | font-size: 0.6em;
30 | }
31 | }
32 | }
33 | .ant-badge {
34 | @media screen and (max-width: 576px) {
35 | font-size: 0.8em;
36 | }
37 | @media screen and (max-width: 375px) {
38 | font-size: 0.6em;
39 | }
40 | }
41 | .logo {
42 | height: 64px;
43 | padding: 16px;
44 | line-height: 32px;
45 | a {
46 | display: inline-block;
47 | height: 32px;
48 | line-height: 32px;
49 | }
50 | img {
51 | max-width: 100%;
52 | max-height: 32px;
53 | }
54 | }
55 | .doneSider {
56 | background: #2b3037;
57 | color: #fff;
58 | padding: 16px 0;
59 | }
60 | .doneSiderUl {
61 | list-style: none;
62 | padding-inline-start: 0px;
63 | margin-bottom: 0;
64 | text-align: center;
65 | li {
66 | padding: 8px;
67 | }
68 | }
69 | .doneSiderItemText {
70 | color: #fff;
71 | display: inline-block;
72 | padding: 4px 0 8px 0;
73 | }
74 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/models/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/src/models/.gitkeep
--------------------------------------------------------------------------------
/src/main/resources/web/src/models/global.js:
--------------------------------------------------------------------------------
1 | export default {
2 | namespace: 'global',
3 | state: {},
4 | reducers: {},
5 | effects: {},
6 | };
7 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/404.js:
--------------------------------------------------------------------------------
1 | import Redirect from 'umi/redirect';
2 | export default () => {
3 | return ;
4 | };
5 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/contrast/index.scss:
--------------------------------------------------------------------------------
1 | .contras_card,
2 | .contras_card_default {
3 | margin: 24px;
4 | .contras_title {
5 | margin-top: -24px;
6 | padding: 16px 0;
7 | > span:first-child {
8 | margin-right: 20px;
9 | color: #000;
10 | font-size: 14px;
11 | }
12 | }
13 | }
14 | .contras_card_default {
15 | .ant-table-thead .ant-table-selection-column .ant-table-header-column {
16 | display: none;
17 | }
18 | }
19 | .historyBox {
20 | padding: 0 20px 20px;
21 | background: white;
22 | .box_title {
23 | display: flex;
24 | justify-content: space-between;
25 | margin-bottom: 5px;
26 | }
27 | .title_history,
28 | .title_color {
29 | .ant-card-head {
30 | border-bottom: 0;
31 | }
32 | .ant-card-head,
33 | > .ant-card-body {
34 | padding: 0;
35 | }
36 | }
37 | .title_color {
38 | width: 300px;
39 | span {
40 | margin-bottom: 15px;
41 | padding: 3px 20px;
42 | color: rgba(0, 0, 0, 0.65);
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/document.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | 银户通-测试案例智能管理平台
10 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/Banner3.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Button } from 'antd'
3 | import QueueAnim from 'rc-queue-anim'
4 | import Texty from 'rc-texty'
5 | import 'rc-texty/assets/index.css'
6 |
7 | class Banner extends React.PureComponent {
8 | render() {
9 | const { ...currentProps } = this.props
10 | const { dataSource } = currentProps
11 | delete currentProps.dataSource
12 | delete currentProps.isMobile
13 | const children = dataSource.textWrapper.children.map(item => {
14 | const { name, texty, ...$item } = item
15 | if (name.match('button')) {
16 | return (
17 |
20 | )
21 | }
22 |
23 | return (
24 |
25 | {texty ? {item.children} : item.children}
26 |
27 | )
28 | })
29 | return (
30 |
31 |
32 | {children}
33 |
34 |
35 | )
36 | }
37 | }
38 | export default Banner
39 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/Footer0.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import TweenOne from 'rc-tween-one'
3 | import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'
4 |
5 | class Footer extends React.PureComponent {
6 | render() {
7 | const { ...props } = this.props
8 | const { dataSource } = props
9 | delete props.dataSource
10 | delete props.isMobile
11 | return (
12 |
13 |
14 |
19 | {dataSource.copyright.children}
20 |
21 |
22 |
23 | )
24 | }
25 | }
26 |
27 | export default Footer
28 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/data.source.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import logoImg from './img/atclogo4.png'
3 | import getQueryString from '@/utils/getCookies'
4 | const getCookies = getQueryString.getCookie
5 | export const Banner30DataSource = {
6 | wrapper: { className: 'banner3' },
7 | textWrapper: {
8 | className: 'banner3-text-wrapper',
9 | children: [
10 | {
11 | name: 'slogan',
12 | className: 'banner3-slogan',
13 | children: (
14 |
15 |

16 |
17 |
银户通
18 |
19 | ),
20 | },
21 | {
22 | name: 'name',
23 | className: 'banner3-name',
24 | children: (
25 |
26 | 一套敏捷的测试用例管理平台
27 |
28 | ),
29 | },
30 | {
31 | name: 'nameEn',
32 | className: 'banner3-name-en',
33 | children: (
34 |
35 | 以脑图方式编辑可快速上手,用例关联需求形成流程闭环,并支持组件化引用,
36 |
37 | 可在各个平台嵌入使用,是测试人员的贴心助手
38 |
39 | ),
40 | },
41 | {
42 | name: 'button',
43 | className: 'banner3-button',
44 | children: (
45 |
46 | 开始使用
47 |
48 | ),
49 | href: getCookies('username') ? '/case/caseList/1' : `/login?/case/caseList/1`,
50 | },
51 | ],
52 | },
53 | }
54 | export const Footer00DataSource = {
55 | wrapper: { className: 'home-page-wrapper footer0-wrapper' },
56 | OverPack: { className: 'home-page footer0', playScale: 0.05 },
57 | copyright: {
58 | className: 'copyright',
59 | children: (
60 |
61 |
62 | Copyright © 2021 深圳市银户通科技有限公司 保留所有版权
63 |
64 |
65 | ),
66 | },
67 | }
68 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/documentation.md:
--------------------------------------------------------------------------------
1 | # 如何使用:
2 |
3 | - umi 里如何使用[请查看](https://landing.ant.design/docs/use/umi)。
4 | - 其它脚手架使用[请查看](https://landing.ant.design/docs/use/getting-started)。
5 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/img/atclogo4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/src/pages/landing/img/atclogo4.png
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/img/login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/src/pages/landing/img/login.png
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/less/antMotionStyle.less:
--------------------------------------------------------------------------------
1 | @import './common.less';
2 | @import './custom.less';
3 | @import './content.less';
4 | @import './banner3.less';
5 | @import './footer0.less';
6 | @import './edit.less';
7 | @import './login.less';
8 | @import './index.less';
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/less/common.less:
--------------------------------------------------------------------------------
1 |
2 | // @import "~antd/lib/style/v2-compatible-reset.less";
3 |
4 | body {
5 | word-wrap: break-word;
6 | }
7 |
8 | body,
9 | div,
10 | dl,
11 | dt,
12 | dd,
13 | ul,
14 | ol,
15 | li,
16 | h1,
17 | h2,
18 | h3,
19 | h4,
20 | h5,
21 | h6 {
22 | margin: 0;
23 | padding: 0;
24 | }
25 |
26 | /* .content-wrapper > .tween-one-leaving,
27 | .queue-anim-leaving {
28 | // position: absolute !important;
29 | // width: 100%;
30 | } */
31 |
32 | .video {
33 | max-width: 800px;
34 | }
35 |
36 | #react-content {
37 | min-height: 100%;
38 | }
39 | .home-page-wrapper p {
40 | padding: 0;
41 | margin: 0;
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/less/content.less:
--------------------------------------------------------------------------------
1 | @homepage: home-page;
2 | .@{homepage}-wrapper {
3 | width: 100%;
4 | position: relative;
5 | overflow: hidden;
6 | .@{homepage} {
7 | height: 100%;
8 | max-width: 1200px;
9 | position: relative;
10 | margin: auto;
11 | will-change: transform;
12 | }
13 | .title-wrapper > h1, > h1 {
14 | font-size: 32px;
15 | color: @text-color;
16 | margin-bottom: 16px;
17 | }
18 | .title-wrapper {
19 | margin: 0 auto 64px;
20 | text-align: center;
21 | }
22 | }
23 |
24 | .@{homepage} {
25 | padding: 128px 24px;
26 | }
27 |
28 | @media screen and (max-width: 767px) {
29 | .@{homepage}-wrapper {
30 | .@{homepage} {
31 | padding: 56px 24px;
32 | >h1 {
33 | font-size: 24px;
34 | margin: 0 auto 32px;
35 | &.title-h1 {
36 | margin-bottom: 8px;
37 | }
38 | }
39 | >p {
40 | margin-bottom: 32px;
41 | }
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/less/custom.less:
--------------------------------------------------------------------------------
1 | @import "~antd/lib/style/themes/default.less";
2 |
3 | @line-color: #e9e9e9;
4 |
5 | @shadow-color: rgba(0, 0, 0, 0.15);
6 |
7 | @bottom-bar-bg-color: #262626;
8 | @bottom-bar-line-color: #000;
9 |
10 | @template-bg-color: #001529;
11 | @template-bg-color-light: #ececec;
12 | @template-nav-bg-color: #001529;
13 | @template-text-color: #ccc;
14 | @template-text-title-color: #bcbcbc;
15 | @template-text-color-light: #fff;
16 | @template-footer-text-color: #999;
17 |
18 | @animate-duration: .45s;
19 |
20 | /* 详细页图片或框框的样式;
21 | */
22 | .page-shadow() {
23 | box-shadow: 0 5px 8px @shadow-color;
24 | }
25 |
26 | .page-pro() {
27 | border-radius: 6px;
28 | border: 1px solid @line-color;
29 | transform: translateY(0);
30 | transition: transform .3s @ease-out, box-shadow .3s @ease-out;
31 | &:hover {
32 | .page-shadow();
33 | transform: translateY(-5px);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/less/edit.less:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/src/pages/landing/less/edit.less
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/less/footer0.less:
--------------------------------------------------------------------------------
1 | .footer0-wrapper {
2 | background-color: @template-bg-color;
3 | height: 80px;
4 | overflow: hidden;
5 | .footer0 {
6 | height: 100%;
7 | padding: 0 24px;
8 | line-height: 80px;
9 | text-align: center;
10 | color: @template-footer-text-color;
11 | position: relative;
12 | }
13 | }
14 |
15 | @media screen and (max-width: 767px) {
16 | .footer0-wrapper {
17 | .footer0 {
18 | font-size: 12px;
19 | &.home-page {
20 | padding: 0;
21 | }
22 | >div {
23 | width: 90%;
24 | margin: auto;
25 | }
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/less/index.less:
--------------------------------------------------------------------------------
1 | :global(.ant-dropdown).dropStyle {
2 | :global(.ant-dropdown-menu) {
3 | background-color: #3377ff;
4 | border-radius: 0;
5 | padding: 0;
6 | }
7 | :global(.ant-dropdown-menu-item) {
8 | color: #fff;
9 | padding: 0;
10 | width: auto;
11 | span,
12 | a {
13 | display: block;
14 | height: 50px;
15 | line-height: 50px;
16 | padding: 0 15px;
17 | margin: 0;
18 | color: #fff;
19 | }
20 | }
21 | :global(.ant-dropdown-menu-item):hover,
22 | :global(.ant-dropdown-menu-item-active) {
23 | background-color: rgba(26, 29, 36, 0.5);
24 | }
25 | }
26 | .user {
27 | float: right;
28 | display: flex;
29 | align-items: center;
30 | color: #ffff;
31 | height: 32px;
32 | padding: 0 10px;
33 | background: #3377ff;
34 | border-radius: 4px;
35 | cursor: pointer;
36 | margin-top: 16px;
37 | .userIcon, .dowm {
38 | font-size: large;
39 | }
40 | .username {
41 | white-space: nowrap;
42 | margin: 0 10px;
43 | }
44 | }
45 | .loginCss {
46 | color: #fff;
47 | float: right;
48 | }
49 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/landing/utils.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Button } from 'antd'
3 |
4 | export const isImg = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?/
5 | export const getChildrenToRender = (item, i) => {
6 | let tag = item.name.indexOf('title') === 0 ? 'h1' : 'div'
7 | tag = item.href ? 'a' : tag
8 | let children =
9 | typeof item.children === 'string' && item.children.match(isImg)
10 | ? React.createElement('img', { src: item.children, alt: 'img' })
11 | : item.children
12 | if (item.name.indexOf('button') === 0 && typeof item.children === 'object') {
13 | children = React.createElement(Button, {
14 | ...item.children,
15 | })
16 | }
17 | return React.createElement(tag, { key: i.toString(), ...item }, children)
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/pages/testTask/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import Casemgt from '../../components/case/casemgt'
3 | import 'antd/dist/antd.css'
4 | import getQueryString from '@/utils/getCookies'
5 | const getCookies = getQueryString.getCookie
6 |
7 | class casePage extends React.Component {
8 | componentDidMount() {
9 | if (!getCookies('username')) {
10 | window.location.href = `/login?jumpto=${window.location.href}`
11 | }
12 | }
13 | render() {
14 | return getCookies('username') ? (
15 |
27 | ) : null
28 | }
29 | }
30 | export default casePage
31 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/services/global.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/resources/web/src/services/global.js
--------------------------------------------------------------------------------
/src/main/resources/web/src/utils/getCookies.js:
--------------------------------------------------------------------------------
1 | exports.getCookie = function(name) {
2 | function getCookieVal(offset) {
3 | let endstr = document.cookie.indexOf(';', offset);
4 | if (endstr === -1) {
5 | endstr = document.cookie.length;
6 | }
7 | return decodeURI(document.cookie.substring(offset, endstr));
8 | }
9 | let arg = name + '=';
10 | let alen = arg.length;
11 | let clen = document.cookie.length;
12 | let i = 0;
13 | let j = 0;
14 | while (i < clen) {
15 | j = i + alen;
16 | if (document.cookie.substring(i, j) === arg) return getCookieVal(j);
17 | i = document.cookie.indexOf(' ', i) + 1;
18 | if (i === 0) break;
19 | }
20 | return null;
21 | };
--------------------------------------------------------------------------------
/src/main/resources/web/src/utils/index.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | export default {
3 | getQueryString(name) {
4 | let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
5 | let r = window.location.search.substr(1).match(reg);
6 | if (r != null) return unescape(r[2]);
7 | return null;
8 | },
9 | setcookie(name, value) {
10 | let Days = 30;
11 | let exp = new Date();
12 | exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
13 | document.cookie =
14 | name + '=' + escape(value) + ';expires=' + exp.toGMTString();
15 | },
16 | };
17 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/utils/link.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Link from 'umi/link';
3 | import config from '@/page/index/config';
4 |
5 | export default class Button extends React.Component {
6 | render() {
7 | let linkTo = config.RouterPrefix + this.props.to;
8 |
9 | return (
10 |
11 | {this.props.children}
12 |
13 | );
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/resources/web/src/utils/requirementUtils.js:
--------------------------------------------------------------------------------
1 | import _ from 'lodash';
2 |
3 | export function getRequirmentAllInfos(projectLs, requirementLs, requirementId) {
4 | let initProject = { id: 0, name: '零散需求' };
5 | if (requirementLs.length === 0) {
6 | return;
7 | }
8 | let options = { projectLs: [], requirementLs: [] };
9 | let requirement = _.find(requirementLs, temp => {
10 | return temp.id === requirementId;
11 | });
12 | let project = null;
13 | if (requirement) {
14 | project = _.find(projectLs, temp => {
15 | return temp.id === requirement.iterationId;
16 | });
17 | }
18 | project = project || initProject;
19 | options.projectLs.push(project);
20 | options.requirementLs = requirementLs.filter(item => item.iterationId === project.id);
21 | return {
22 | project: project,
23 | requirement: requirement,
24 | options: options
25 | };
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/resources/web/webpack.config.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 不是真实的 webpack 配置,仅为兼容 webstorm 和 intellij idea 代码跳转
3 | * ref: https://github.com/umijs/umi/issues/1109#issuecomment-423380125
4 | */
5 |
6 | module.exports = {
7 | resolve: {
8 | alias: {
9 | '@': require('path').resolve(__dirname, 'src')
10 | }
11 | },
12 | configureWebpack: {
13 | devtool: 'source-map'
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/逻辑.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/src/main/逻辑.png
--------------------------------------------------------------------------------
/target/classes/application-dev.properties:
--------------------------------------------------------------------------------
1 | # mysql配置
2 | spring.datasource.url=jdbc:mysql://10.22.83.65:3307/case_manager?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
3 | spring.datasource.username=root
4 | spring.datasource.password=Password123@mysql
5 | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
6 |
7 | spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
8 | spring.datasource.druid.initial-size=5
9 | spring.datasource.druid.min-idle=5
10 | spring.datasource.druid.maxActive=20
11 | spring.datasource.druid.maxWait=60000
12 | spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
13 | spring.datasource.druid.minEvictableIdleTimeMillis=300000
14 | spring.datasource.druid.validationQuery=SELECT 1 FROM DUAL
15 | spring.datasource.druid.testWhileIdle=true
16 | spring.datasource.druid.testOnBorrow=false
17 | spring.datasource.druid.testOnReturn=false
18 | spring.datasource.druid.poolPreparedStatements=true
19 | spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20
20 | spring.datasource.druid.connectionProperties=druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
21 |
22 | logging.config=classpath:log4j2.xml
23 |
24 | spring.thymeleaf.servlet.content-type=text/html
25 | spring.thymeleaf.encoding=utf-8
26 | spring.thymeleaf.mode=LEGACYHTML5
27 | spring.thymeleaf.cache=false
28 | spring.mvc.static-path-pattern=/**
29 | # 配置本地图片文件保存目录
30 | web.upload-path=/data/H5/sit/yhttest/AgileTC/image/
31 | spring.resources.static-locations=classpath:/web/dist/,file:${web.upload-path}
32 | spring.thymeleaf.prefix=classpath:/web/dist/
33 | spring.thymeleaf.suffix=.html
34 |
35 |
--------------------------------------------------------------------------------
/target/classes/application.properties:
--------------------------------------------------------------------------------
1 | # 默认启动环境
2 | spring.profiles.active=dev
3 | spring.application.name=case-server
4 |
5 | # HTTPs端口
6 | server.port=8443
7 |
8 | # HTTPS配置
9 | https.ssl.enable=true
10 | https.ssl.key-store=classpath:keystore.p12
11 | https.ssl.key-store-password=12345678
12 | https.ssl.keyStoreType=PKCS12
13 | https.ssl.keyAlias=tomcat
14 |
15 | http.port=8094
16 |
17 | # mybatis.xml文件位置配置
18 | mybatis.typeAliasesPackage=com.xiaoju.framework.*
19 | mybatis.mapperLocations=classpath*:mapper/*.xml
20 |
21 | # 文件上传限制,后端改为了100M
22 | spring.servlet.multipart.max-file-size=100MB
23 | spring.servlet.multipart.max-request-size=101MB
24 |
25 | spring.datasource.druid.connection-init-sqls=set names utf8mb4
26 |
27 | # log配置
28 | logging.config=classpath:log4j2.xml
29 |
30 | # 解析项目下的前端包
31 | spring.thymeleaf.servlet.content-type=text/html
32 | spring.thymeleaf.encoding=utf-8
33 | spring.thymeleaf.mode=LEGACYHTML5
34 | spring.thymeleaf.cache=false
35 | spring.mvc.static-path-pattern=/**
36 | spring.resources.static-locations=classpath:/web/dist/
37 | spring.thymeleaf.prefix=classpath:/web/dist/
38 | spring.thymeleaf.suffix=.html
39 |
40 | # 关闭devtools
41 | spring.devtools.add-properties=true
42 |
43 | # 权限开关,默认关闭
44 | authority.flag=false
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/CaseServerApplication.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/CaseServerApplication.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/config/ApplicationConfig$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/config/ApplicationConfig$1.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/config/ApplicationConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/config/ApplicationConfig.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/constants/BizConstant.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/constants/BizConstant.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/constants/SystemConstant.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/constants/SystemConstant.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/constants/XmindConstant.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/constants/XmindConstant.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/constants/enums/EnvEnum.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/constants/enums/EnvEnum.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/constants/enums/PriorityEnum.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/constants/enums/PriorityEnum.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/constants/enums/ProgressEnum.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/constants/enums/ProgressEnum.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/constants/enums/StatusCode.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/constants/enums/StatusCode.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/controller/BackupController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/controller/BackupController.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/controller/CaseController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/controller/CaseController.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/controller/DirController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/controller/DirController.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/controller/RecordController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/controller/RecordController.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/controller/UploadController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/controller/UploadController.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/controller/UserController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/controller/UserController.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/controller/WebController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/controller/WebController.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/dto/Authority.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/dto/Authority.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/dto/DirNodeDto.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/dto/DirNodeDto.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/dto/MergeCaseDto.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/dto/MergeCaseDto.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/dto/PickCaseDto.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/dto/PickCaseDto.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/dto/RecordNumDto.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/dto/RecordNumDto.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/dto/RecordWsDto.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/dto/RecordWsDto.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/dto/User.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/dto/User.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/exception/CaseServerException.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/exception/CaseServerException.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/exception/ExpHandler.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/exception/ExpHandler.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/persistent/Biz.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/persistent/Biz.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/persistent/CaseBackup.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/persistent/CaseBackup.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/persistent/ExecRecord.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/persistent/ExecRecord.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/persistent/TestCase.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/persistent/TestCase.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/ParamValidate.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/ParamValidate.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/auth/UserLoginReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/auth/UserLoginReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/auth/UserRegisterReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/auth/UserRegisterReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/cases/CaseConditionReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/cases/CaseConditionReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/cases/CaseCreateReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/cases/CaseCreateReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/cases/CaseDeleteReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/cases/CaseDeleteReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/cases/CaseEditReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/cases/CaseEditReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/cases/CaseQueryReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/cases/CaseQueryReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/cases/FileImportReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/cases/FileImportReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/dir/DirCreateReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/dir/DirCreateReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/dir/DirDeleteReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/dir/DirDeleteReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/dir/DirRenameReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/dir/DirRenameReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/record/RecordAddReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/record/RecordAddReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/record/RecordDeleteReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/record/RecordDeleteReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/record/RecordQueryReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/record/RecordQueryReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/record/RecordUpdateReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/record/RecordUpdateReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/ws/RecordWsClearReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/ws/RecordWsClearReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/request/ws/WsSaveReq.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/request/ws/WsSaveReq.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/PersonResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/PersonResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/cases/CaseConditionResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/cases/CaseConditionResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/cases/CaseDetailResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/cases/CaseDetailResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/cases/CaseGeneralInfoResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/cases/CaseGeneralInfoResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/cases/CaseListResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/cases/CaseListResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/cases/ExportXmindResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/cases/ExportXmindResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/controller/PageModule.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/controller/PageModule.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/controller/Response.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/controller/Response.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/controller/Status.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/controller/Status.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/dir/BizListResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/dir/BizListResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/dir/BizNodeResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/dir/BizNodeResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/dir/DirTreeResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/dir/DirTreeResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/records/RecordGeneralInfoResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/records/RecordGeneralInfoResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/response/records/RecordListResp.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/response/records/RecordListResp.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/xmind/CaseContent.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/xmind/CaseContent.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/xmind/CaseCount.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/xmind/CaseCount.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/xmind/DataObj.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/xmind/DataObj.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/xmind/IntCount.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/xmind/IntCount.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/entity/xmind/RootData.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/entity/xmind/RootData.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/filter/WebSocketFilter$WsAuthFilter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/filter/WebSocketFilter$WsAuthFilter.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/filter/WebSocketFilter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/filter/WebSocketFilter.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/CaseMessageType.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/CaseMessageType.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/CaseRoom.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/CaseRoom.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/CaseWsMessages.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/CaseWsMessages.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/Client$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/Client$1.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/Client.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/Client.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/RecordRoom.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/RecordRoom.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/Room$1$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/Room$1$1.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/Room$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/Room$1.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/Room$Player.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/Room$Player.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/Room.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/Room.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/WebSocket$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/WebSocket$1.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/WebSocket$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/WebSocket$2.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/WebSocket$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/WebSocket$3.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/handler/WebSocket.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/handler/WebSocket.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/listener/IocCloseListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/listener/IocCloseListener.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/mapper/AuthorityMapper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/mapper/AuthorityMapper.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/mapper/BizMapper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/mapper/BizMapper.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/mapper/CaseBackupMapper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/mapper/CaseBackupMapper.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/mapper/ExecRecordMapper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/mapper/ExecRecordMapper.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/mapper/TestCaseMapper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/mapper/TestCaseMapper.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/mapper/UserMapper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/mapper/UserMapper.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/CaseBackupService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/CaseBackupService.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/CaseService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/CaseService.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/DirService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/DirService.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/FileService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/FileService.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/RecordService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/RecordService.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/UserService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/UserService.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/impl/CaseBackupServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/impl/CaseBackupServiceImpl.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/impl/CaseServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/impl/CaseServiceImpl.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/impl/DirServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/impl/DirServiceImpl.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/impl/FileServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/impl/FileServiceImpl.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/impl/RecordServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/impl/RecordServiceImpl.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/service/impl/UserServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/service/impl/UserServiceImpl.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/util/BitBaseUtil.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/util/BitBaseUtil.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/util/CodecUtils.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/util/CodecUtils.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/util/CookieUtils.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/util/CookieUtils.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/util/FileUtil.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/util/FileUtil.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/util/SpringUtils.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/util/SpringUtils.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/util/StringUtil.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/util/StringUtil.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/util/TimeUtil.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/util/TimeUtil.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/util/TreeUtil$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/util/TreeUtil$1.class
--------------------------------------------------------------------------------
/target/classes/com/xiaoju/framework/util/TreeUtil.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/com/xiaoju/framework/util/TreeUtil.class
--------------------------------------------------------------------------------
/target/classes/web/.editorconfig:
--------------------------------------------------------------------------------
1 | # # http://editorconfig.org
2 | # root = true
3 |
4 | # [*]
5 | # indent_style = space
6 | # indent_size = 2
7 | # end_of_line = lf
8 | # charset = utf-8
9 | # trim_trailing_whitespace = true
10 | # insert_final_newline = true
11 |
12 | # [*.md]
13 | # trim_trailing_whitespace = false
14 |
15 | # [Makefile]
16 | # indent_style = tab
17 |
18 | # https://editorconfig.org
19 | root = true # 根目录的配置文件,编辑器会由当前目录向上查找,如果找到 `roor = true` 的文件,则不再查找
20 |
21 | [*] # 匹配所有的文件
22 | indent_style = space # 空格缩进
23 | indent_size = 4 # 缩进空格为4个
24 | end_of_line = lf # 文件换行符是 linux 的 `\n`
25 | charset = utf-8 # 文件编码是 utf-8
26 | trim_trailing_whitespace = true # 不保留行末的空格
27 | insert_final_newline = true # 文件末尾添加一个空行
28 | curly_bracket_next_line = false # 大括号不另起一行
29 | spaces_around_operators = true # 运算符两遍都有空格
30 | indent_brace_style = 1tbs # 条件语句格式是 1tbs
31 |
32 | [*.js] # 对所有的 js 文件生效
33 | quote_type = single # 字符串使用单引号
34 |
35 | [*.{html,less,css,json}] # 对所有 html, less, css, json 文件生效
36 | quote_type = double # 字符串使用双引号
37 |
38 | [package.json] # 对 package.json 生效
39 | indent_size = 2 # 使用2个空格缩进
40 |
--------------------------------------------------------------------------------
/target/classes/web/.eslintignore:
--------------------------------------------------------------------------------
1 | /dist/
--------------------------------------------------------------------------------
/target/classes/web/.prettierignore:
--------------------------------------------------------------------------------
1 | **/*.md
2 | **/*.svg
3 | **/*.ejs
4 | **/*.html
5 | package.json
6 | .umi
7 | .umi-production
8 | .umi-test
9 |
--------------------------------------------------------------------------------
/target/classes/web/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "all",
4 | "printWidth": 80,
5 | "overrides": [
6 | {
7 | "files": ".prettierrc",
8 | "options": { "parser": "json" }
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/target/classes/web/.umirc copy.js:
--------------------------------------------------------------------------------
1 | // config/config.js示例
2 | export default {
3 | base: '/web/', //部署到非根目录时才需配置
4 | targets: { //配置浏览器最低版本,比如兼容ie11
5 | ie: 11
6 | },
7 | hash: true, //开启打包文件的hash值后缀
8 | history: 'hash', //umi默认是用的Browser History,如果要用Hash History,配置一下即可
9 | treeShaking: true, //去除那些引用的但却没有使用的代码
10 | plugins: [
11 | [
12 | 'umi-plugin-react',
13 | {
14 | antd: true, //启用后自动配置 babel-plugin-import,实现antd按需加载
15 | dynamicImport: { //实现路由级的动态加载
16 | webpackChunkName: true //实现有意义的异步文件名
17 | },
18 | dva: {
19 | dynamicImport: true, //是否启用按需加载
20 | hmr: true //是否启用 dva 的 热更新
21 | },
22 | //通过 webpack 的 dll 插件预打包一份 dll 文件来达到二次启动提速的目的
23 | dll: {
24 | exclude: [],
25 | include: ['dva', 'dva/router', 'dva/saga', 'dva/fetch', 'antd/es']
26 | },
27 | //约定式路由时才需引用,用于忽略指定文件夹中自动生成的路由
28 | routes: {
29 | exclude: [
30 | /components\//,
31 | /model\.(j|t)sx?$/,
32 | /components\.(j|t)sx?$/,
33 | /service\.(j|t)sx?$/,
34 | /models\//,
35 | /services\//
36 | ],
37 | },
38 | }
39 | ]
40 | ],
41 | //配置式路由时,路由文件由此引用(往下会讲到)
42 | routes: routes,
43 | //代理请求
44 | proxy: {
45 | "/api": {
46 | "target": "http://jsonplaceholder.typicode.com/",
47 | "changeOrigin": true,
48 | "pathRewrite": { "^/api": "" }
49 | }
50 | },
51 | alias: { '@': resolve(__dirname, '../src'), } //别名,umirc.js为'src'
52 | };
--------------------------------------------------------------------------------
/target/classes/web/README.md:
--------------------------------------------------------------------------------
1 | 如果出现表格滚动样式问题,可能是antd版本问题导致,目前线上使用版本为3.23.6
--------------------------------------------------------------------------------
/target/classes/web/config/config.dev.js:
--------------------------------------------------------------------------------
1 | export default {
2 | define: {
3 | "process.env.apiUrl": 'http://localhost:8094',
4 | "process.env.name": '开发环境'
5 | }
6 | }
--------------------------------------------------------------------------------
/target/classes/web/config/config.pro.js:
--------------------------------------------------------------------------------
1 | export default {
2 | define: {
3 | "process.env.apiUrl": 'http://yht.sunline.cn:8094',
4 | "process.env.name": '生产环境'
5 | }
6 | }
--------------------------------------------------------------------------------
/target/classes/web/config/config.sit.js:
--------------------------------------------------------------------------------
1 | export default {
2 | define: {
3 | "process.env.apiUrl": 'http://yhtsit.sunline.cn:8094',
4 | "process.env.name": '测试环境'
5 | }
6 | }
--------------------------------------------------------------------------------
/target/classes/web/dist/img/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/dist/img/2.png
--------------------------------------------------------------------------------
/target/classes/web/dist/img/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/dist/img/3.png
--------------------------------------------------------------------------------
/target/classes/web/dist/img/favico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/dist/img/favico.png
--------------------------------------------------------------------------------
/target/classes/web/dist/index.html:
--------------------------------------------------------------------------------
1 | 银户通-测试案例智能管理平台
--------------------------------------------------------------------------------
/target/classes/web/dist/layouts__index.28b9f196.async.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[6],{aArQ:function(e,t,n){"use strict";n.r(t);n("k/Y0");var a=n("wEI+"),l=(n("B9cy"),n("Ol7k")),o=n("q1tI"),r=n.n(o),u=n("bKel"),c=n.n(u),i=n("+Gva"),s=n("/MKj"),d=l.a.Content;t.default=c()(Object(s.c)(function(e){return{global:e.global}})(class extends o.Component{render(){var e=this.props.children,t=void 0===e?{}:e;return r.a.createElement(a.b,{locale:i.default},r.a.createElement(l.a,null,r.a.createElement(d,{style:{minHeight:"100vh"}},t)))}}))},bKel:function(e,t,n){e.exports=n("utR0").default},"k/Y0":function(e,t,n){},utR0:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=n("6YkS").withRouter;t.default=a}}]);
--------------------------------------------------------------------------------
/target/classes/web/dist/layouts__index.903d1124.chunk.css:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/target/classes/web/dist/p__contrast__index.207ff033.chunk.css:
--------------------------------------------------------------------------------
1 | .contras_card,.contras_card_default{margin:24px}.contras_card .contras_title,.contras_card_default .contras_title{margin-top:-24px;padding:16px 0}.contras_card .contras_title>span:first-child,.contras_card_default .contras_title>span:first-child{margin-right:20px;color:#000;font-size:14px}.contras_card_default .ant-table-thead .ant-table-selection-column .ant-table-header-column{display:none}.historyBox{padding:0 20px 20px;background:#fff}.historyBox .box_title{display:flex;justify-content:space-between;margin-bottom:5px}.historyBox .title_color .ant-card-head,.historyBox .title_history .ant-card-head{border-bottom:0}.historyBox .title_color .ant-card-head,.historyBox .title_color>.ant-card-body,.historyBox .title_history .ant-card-head,.historyBox .title_history>.ant-card-body{padding:0}.historyBox .title_color{width:300px}.historyBox .title_color span{margin-bottom:15px;padding:3px 20px;color:rgba(0,0,0,.65)}
2 | .ant-dropdown.dropStyle .ant-dropdown-menu{background-color:#37f;border-radius:0;padding:0}.ant-dropdown.dropStyle .ant-dropdown-menu-item{color:#fff;padding:0;width:auto}.ant-dropdown.dropStyle .ant-dropdown-menu-item a,.ant-dropdown.dropStyle .ant-dropdown-menu-item span{display:block;height:50px;line-height:50px;padding:0 15px;margin:0;color:#fff}.ant-dropdown.dropStyle .ant-dropdown-menu-item:hover,.ant-dropdown.dropStyle .ant-dropdown-menu-item-active{background-color:rgba(26,29,36,.5)}.user{float:right;display:flex;align-items:center;color:#fff;height:32px;padding:0 10px;background:#37f;border-radius:4px;cursor:pointer;margin-top:16px}.user .dowm,.user .userIcon{font-size:large}.user .username{white-space:nowrap;margin:0 10px}.loginCss{color:#fff;float:right}
3 |
--------------------------------------------------------------------------------
/target/classes/web/dist/p__landing__login.aef4033c.chunk.css:
--------------------------------------------------------------------------------
1 | .login{background:#87ceeb;height:100vh;display:flex;align-items:center;justify-content:center;background:url(/static/login.032e8b38.png) no-repeat;background-size:cover;background-attachment:fixed}.login .card{background:#fff;margin-left:40%;width:500px;height:375px;border-radius:10px;box-shadow:0 6px 13px 0 rgb(0 0 0);padding:20px 50px 40px}.login .card .title{font-size:22px;font-weight:500;margin-bottom:15px}.login .card .title span{font-size:14px;margin-left:5px;font-weight:300}.login .card .btn{display:inline-block;cursor:pointer;width:200px;font-size:14px;text-align:center;padding:6px 0;border:1px solid #e3e7ed}.login .card .btn:first-of-type{border-radius:4px 0 0 4px}.login .card .btn:nth-of-type(2){border-radius:0 4px 4px 0}.login .card .btn_active{border:1px solid #40a9ff;color:#40a9ff}.login .card .input{margin-top:30px}.login .card .input input{height:36px}.login .card1{background:#fff;margin-left:40%;width:500px;height:400px;border-radius:10px;box-shadow:0 6px 13px 0 rgb(0 0 0);padding:20px 50px 40px}.login .card1 .title{font-size:22px;font-weight:500;margin-bottom:15px}.login .card1 .title span{font-size:14px;margin-left:5px;font-weight:300}.login .card1 .btn{display:inline-block;cursor:pointer;width:200px;font-size:14px;text-align:center;padding:6px 0;border:1px solid #e3e7ed}.login .card1 .btn:first-of-type{border-radius:4px 0 0 4px}.login .card1 .btn:nth-of-type(2){border-radius:0 4px 4px 0}.login .card1 .btn_active{border:1px solid #40a9ff;color:#40a9ff}.login .card1 .input{margin-top:30px}.login .card1 .input input{height:36px}.login .onBtn{width:100%;height:36px;margin-top:10px}.login .zIndex{z-index:1}
2 |
--------------------------------------------------------------------------------
/target/classes/web/dist/static/atclogo4.ac91848f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/dist/static/atclogo4.ac91848f.png
--------------------------------------------------------------------------------
/target/classes/web/dist/static/login.032e8b38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/dist/static/login.032e8b38.png
--------------------------------------------------------------------------------
/target/classes/web/mock/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/mock/.gitkeep
--------------------------------------------------------------------------------
/target/classes/web/mock/index.js:
--------------------------------------------------------------------------------
1 | export default {};
2 |
--------------------------------------------------------------------------------
/target/classes/web/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "agiletc",
3 | "version": "1.0.0",
4 | "author": "刘智",
5 | "description": "银户通-测试案例智能管理平台",
6 | "main": "app.js",
7 | "scripts": {
8 | "start": "umi dev",
9 | "dev": "cross-env UMI_ENV=dev umi dev",
10 | "sit": "cross-env UMI_ENV=sit umi dev",
11 | "pro": "cross-env UMI_ENV=pro umi dev",
12 | "build": "umi build",
13 | "build:dev": "cross-env UMI_ENV=dev umi build",
14 | "build:sit": "cross-env UMI_ENV=sit umi build",
15 | "build:pro": "cross-env UMI_ENV=pro umi build",
16 | "lint": "eslint --ext .js src mock tests",
17 | "ui": "umi ui",
18 | "precommit": "lint-staged"
19 | },
20 | "dependencies": {
21 | "antd": "^3.23.6",
22 | "axios": "^0.19.0",
23 | "dva": "2.6.0-beta.6",
24 | "enquire-js": "^0.2.1",
25 | "lodash.debounce": "^4.0.8",
26 | "moment": "^2.24.0",
27 | "qrcode.react": "^1.0.0",
28 | "rc-queue-anim": "^1.8.5",
29 | "rc-scroll-anim": "^2.7.4",
30 | "rc-texty": "^0.2.0",
31 | "react": "^16.8.6",
32 | "react-agiletc-editor": "^0.1.17-beta.13",
33 | "react-dom": "^16.8.6",
34 | "react-resize-panel": "^0.3.5"
35 | },
36 | "devDependencies": {
37 | "babel-eslint": "^9.0.0",
38 | "cross-env": "^7.0.3",
39 | "eslint": "^5.4.0",
40 | "eslint-config-prettier": "^6.1.0",
41 | "eslint-config-standard": "^11.0.0",
42 | "eslint-config-umi": "^1.4.0",
43 | "eslint-plugin-flowtype": "^2.50.0",
44 | "eslint-plugin-import": "^2.14.0",
45 | "eslint-plugin-jsx-a11y": "^5.1.1",
46 | "eslint-plugin-node": "^6.0.1",
47 | "eslint-plugin-prettier": "^3.1.0",
48 | "eslint-plugin-promise": "^3.8.0",
49 | "eslint-plugin-react": "^7.14.3",
50 | "eslint-plugin-standard": "^3.1.0",
51 | "husky": "^0.14.3",
52 | "lint-staged": "^9.2.5",
53 | "node-sass": "^4.14.1",
54 | "prettier": "^1.18.2",
55 | "react-test-renderer": "^16.7.0",
56 | "sass-loader": "^7.3.1",
57 | "umi": "2.13.15",
58 | "umi-plugin-react": "^1.8.4"
59 | },
60 | "husky": {
61 | "hooks": {
62 | "pre-commit": "lint-staged"
63 | }
64 | },
65 | "lint-staged": {
66 | "*.{js,jsx}": [
67 | "eslint --fix",
68 | "git add"
69 | ]
70 | },
71 | "engines": {
72 | "node": ">=8.0.0"
73 | },
74 | "eslintIgnore": [
75 | "dist/"
76 | ]
77 | }
--------------------------------------------------------------------------------
/target/classes/web/public/img/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/public/img/2.png
--------------------------------------------------------------------------------
/target/classes/web/public/img/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/public/img/3.png
--------------------------------------------------------------------------------
/target/classes/web/public/img/favico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/public/img/favico.png
--------------------------------------------------------------------------------
/target/classes/web/src/app.js:
--------------------------------------------------------------------------------
1 | // import utils from './utils';
2 | // utils.setcookie('username', 'user');
3 | export const dva = {
4 | config: {
5 | onError(err) {
6 | err.preventDefault()
7 | // eslint-disable-next-line
8 | console.error(err.message);
9 | },
10 | },
11 | }
12 |
--------------------------------------------------------------------------------
/target/classes/web/src/components/case/caselist/img/swap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/src/components/case/caselist/img/swap.png
--------------------------------------------------------------------------------
/target/classes/web/src/components/case/casemgt/index.scss:
--------------------------------------------------------------------------------
1 | .progress{
2 |
3 | .border-wrap{
4 | display: inline-block;
5 | width:100%;
6 | border-radius: 5px ;
7 | }
8 | .div-wrap{
9 | display: inline-block;
10 | height:10px;
11 | cursor: pointer;
12 | }
13 |
14 | .div-wrap:first-child{ border-bottom-left-radius: 3px 3px;
15 | border-top-left-radius: 3px 3px;}
16 | .div-wrap:last-child{ border-bottom-right-radius: 3px 3px;
17 | border-top-right-radius: 3px 3px;}
18 | }
19 | .case-title{
20 | font-size: 16px;
21 | color: #8B9ABE;
22 | }
23 | .description-case{
24 | font-size: 12px;
25 | }
26 | .m-b-18{
27 | margin-bottom: 18px;
28 | }
29 | .font-size-12{
30 | font-size: 12px;
31 | }
32 | .elipsis-case{
33 |
34 |
35 | overflow:hidden; white-space: nowrap; word-break:break-all;text-overflow:ellipsis;
36 | }
--------------------------------------------------------------------------------
/target/classes/web/src/layouts/headers.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import 'antd/dist/antd.css'
3 | import { Layout, Icon, Menu, Dropdown, message } from 'antd'
4 | import getQueryString from '@/utils/getCookies'
5 | import '../pages/landing/less/index.less'
6 | import request from '@/utils/axios'
7 | const { Header } = Layout
8 | const getCookies = getQueryString.getCookie
9 |
10 | class Headers extends React.Component {
11 | componentDidMount() {
12 | if (!getCookies('username')) {
13 | window.location.href = `/login?jumpto=${window.location.href}`
14 | }
15 | }
16 | // 登出
17 | handleDropdownClick = () => {
18 | request(`/user/quit`, {
19 | method: 'POST',
20 | }).then(res => {
21 | if (res && res.code === 200) {
22 | window.location.href = `/login?jumpto=${window.location.href}`
23 | } else {
24 | message.error(res.msg)
25 | }
26 | })
27 | }
28 |
29 | render() {
30 | const menu = (
31 |
39 | )
40 | return getCookies('username') ? (
41 |
59 | ) : null
60 | }
61 | }
62 | export default Headers
63 |
--------------------------------------------------------------------------------
/target/classes/web/src/layouts/index.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react'
2 | import withRouter from 'umi/withRouter'
3 | import { ConfigProvider, Layout } from 'antd'
4 | import zhCN from 'antd/es/locale/zh_CN'
5 | import { connect } from 'dva'
6 |
7 | const { Content } = Layout
8 |
9 | function mapStateToProps(state) {
10 | return {
11 | global: state.global,
12 | }
13 | }
14 | class PageLayout extends Component {
15 | render() {
16 | const { children = {} } = this.props
17 | return (
18 |
19 |
20 | {children}
21 |
22 |
23 | )
24 | }
25 | }
26 | export default withRouter(connect(mapStateToProps)(PageLayout))
27 |
--------------------------------------------------------------------------------
/target/classes/web/src/layouts/index.scss:
--------------------------------------------------------------------------------
1 | .doneHeader {
2 | background: linear-gradient(to right, #404e67 0, #6f85ad 100%);
3 | // padding: 0 0 0 240px;
4 | padding: 0;
5 | ul {
6 | background: transparent;
7 | }
8 | .user {
9 | height: 64px;
10 | text-align: right;
11 | padding: 16px 16px 16px 0;
12 | line-height: 32px;
13 | a {
14 | color: #fff;
15 | height: 32px;
16 | line-height: 32px;
17 | display: inline-block;
18 | }
19 | .ant-dropdown ul.ant-dropdown-menu {
20 | background: #fff;
21 | .ant-dropdown-menu-item > a {
22 | color: rgba(0, 0, 0, 0.65);
23 | }
24 | }
25 | @media screen and (max-width: 576px) {
26 | font-size: 0.8em;
27 | }
28 | @media screen and (max-width: 375px) {
29 | font-size: 0.6em;
30 | }
31 | }
32 | }
33 | .ant-badge {
34 | @media screen and (max-width: 576px) {
35 | font-size: 0.8em;
36 | }
37 | @media screen and (max-width: 375px) {
38 | font-size: 0.6em;
39 | }
40 | }
41 | .logo {
42 | height: 64px;
43 | padding: 16px;
44 | line-height: 32px;
45 | a {
46 | display: inline-block;
47 | height: 32px;
48 | line-height: 32px;
49 | }
50 | img {
51 | max-width: 100%;
52 | max-height: 32px;
53 | }
54 | }
55 | .doneSider {
56 | background: #2b3037;
57 | color: #fff;
58 | padding: 16px 0;
59 | }
60 | .doneSiderUl {
61 | list-style: none;
62 | padding-inline-start: 0px;
63 | margin-bottom: 0;
64 | text-align: center;
65 | li {
66 | padding: 8px;
67 | }
68 | }
69 | .doneSiderItemText {
70 | color: #fff;
71 | display: inline-block;
72 | padding: 4px 0 8px 0;
73 | }
74 |
--------------------------------------------------------------------------------
/target/classes/web/src/models/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/src/models/.gitkeep
--------------------------------------------------------------------------------
/target/classes/web/src/models/global.js:
--------------------------------------------------------------------------------
1 | export default {
2 | namespace: 'global',
3 | state: {},
4 | reducers: {},
5 | effects: {},
6 | };
7 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/.umi/TitleWrapper.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | export default class UmiReactTitle extends React.Component {
4 | componentDidMount() {
5 | document.title = this.props.route._title;
6 | }
7 | getTitle() {
8 | const separator = '' || ' - ';
9 | const title = this.props.route._title.split(separator).map(item => {
10 | return formatMessage({
11 | id: item.trim(),
12 | defaultMessage: item.trim(),
13 | });
14 | })
15 | return title.join(separator);
16 | }
17 | componentWillUnmount() {
18 | if (document.title === this.props.route._title) {
19 | document.title = this.props.route._title;
20 | }
21 | }
22 | render() {
23 | return this.props.children;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/.umi/dva.js:
--------------------------------------------------------------------------------
1 | import dva from 'dva';
2 | import { Component } from 'react';
3 | import createLoading from 'dva-loading';
4 | import history from '@tmp/history';
5 |
6 | let app = null;
7 |
8 | export function _onCreate() {
9 | const plugins = require('umi/_runtimePlugin');
10 | const runtimeDva = plugins.mergeConfig('dva');
11 | app = dva({
12 | history,
13 |
14 | ...(runtimeDva.config || {}),
15 | ...(window.g_useSSR ? { initialState: window.g_initialData } : {}),
16 | });
17 |
18 | app.use(createLoading());
19 | (runtimeDva.plugins || []).forEach(plugin => {
20 | app.use(plugin);
21 | });
22 |
23 | app.model({ namespace: 'global', ...(require('D:/King/Vue/AgileTC/case-server/src/main/resources/web/src/models/global.js').default) });
24 | return app;
25 | }
26 |
27 | export function getApp() {
28 | return app;
29 | }
30 |
31 | export class _DvaContainer extends Component {
32 | render() {
33 | const app = getApp();
34 | app.router(() => this.props.children);
35 | return app.start()();
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/.umi/history.js:
--------------------------------------------------------------------------------
1 | // create history
2 | const history = require('umi/lib/createHistory').default({
3 | basename: window.routerBase,
4 | });
5 | window.g_history = history;
6 | export default history;
7 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/.umi/polyfills.js:
--------------------------------------------------------------------------------
1 | import 'core-js';
2 | import 'regenerator-runtime/runtime';
3 |
4 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/.umi/umiExports.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/src/pages/.umi/umiExports.ts
--------------------------------------------------------------------------------
/target/classes/web/src/pages/404.js:
--------------------------------------------------------------------------------
1 | import Redirect from 'umi/redirect';
2 | export default () => {
3 | return ;
4 | };
5 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/contrast/index.scss:
--------------------------------------------------------------------------------
1 | .contras_card,
2 | .contras_card_default {
3 | margin: 24px;
4 | .contras_title {
5 | margin-top: -24px;
6 | padding: 16px 0;
7 | > span:first-child {
8 | margin-right: 20px;
9 | color: #000;
10 | font-size: 14px;
11 | }
12 | }
13 | }
14 | .contras_card_default {
15 | .ant-table-thead .ant-table-selection-column .ant-table-header-column {
16 | display: none;
17 | }
18 | }
19 | .historyBox {
20 | padding: 0 20px 20px;
21 | background: white;
22 | .box_title {
23 | display: flex;
24 | justify-content: space-between;
25 | margin-bottom: 5px;
26 | }
27 | .title_history,
28 | .title_color {
29 | .ant-card-head {
30 | border-bottom: 0;
31 | }
32 | .ant-card-head,
33 | > .ant-card-body {
34 | padding: 0;
35 | }
36 | }
37 | .title_color {
38 | width: 300px;
39 | span {
40 | margin-bottom: 15px;
41 | padding: 3px 20px;
42 | color: rgba(0, 0, 0, 0.65);
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/document.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | 银户通-测试案例智能管理平台
10 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/Banner3.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Button } from 'antd'
3 | import QueueAnim from 'rc-queue-anim'
4 | import Texty from 'rc-texty'
5 | import 'rc-texty/assets/index.css'
6 |
7 | class Banner extends React.PureComponent {
8 | render() {
9 | const { ...currentProps } = this.props
10 | const { dataSource } = currentProps
11 | delete currentProps.dataSource
12 | delete currentProps.isMobile
13 | const children = dataSource.textWrapper.children.map(item => {
14 | const { name, texty, ...$item } = item
15 | if (name.match('button')) {
16 | return (
17 |
20 | )
21 | }
22 |
23 | return (
24 |
25 | {texty ? {item.children} : item.children}
26 |
27 | )
28 | })
29 | return (
30 |
31 |
32 | {children}
33 |
34 |
35 | )
36 | }
37 | }
38 | export default Banner
39 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/Footer0.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import TweenOne from 'rc-tween-one'
3 | import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'
4 |
5 | class Footer extends React.PureComponent {
6 | render() {
7 | const { ...props } = this.props
8 | const { dataSource } = props
9 | delete props.dataSource
10 | delete props.isMobile
11 | return (
12 |
13 |
14 |
19 | {dataSource.copyright.children}
20 |
21 |
22 |
23 | )
24 | }
25 | }
26 |
27 | export default Footer
28 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/data.source.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import logoImg from './img/atclogo4.png'
3 | import getQueryString from '@/utils/getCookies'
4 | const getCookies = getQueryString.getCookie
5 | export const Banner30DataSource = {
6 | wrapper: { className: 'banner3' },
7 | textWrapper: {
8 | className: 'banner3-text-wrapper',
9 | children: [
10 | {
11 | name: 'slogan',
12 | className: 'banner3-slogan',
13 | children: (
14 |
15 |

16 |
17 |
银户通
18 |
19 | ),
20 | },
21 | {
22 | name: 'name',
23 | className: 'banner3-name',
24 | children: (
25 |
26 | 一套敏捷的测试用例管理平台
27 |
28 | ),
29 | },
30 | {
31 | name: 'nameEn',
32 | className: 'banner3-name-en',
33 | children: (
34 |
35 | 以脑图方式编辑可快速上手,用例关联需求形成流程闭环,并支持组件化引用,
36 |
37 | 可在各个平台嵌入使用,是测试人员的贴心助手
38 |
39 | ),
40 | },
41 | {
42 | name: 'button',
43 | className: 'banner3-button',
44 | children: (
45 |
46 | 开始使用
47 |
48 | ),
49 | href: getCookies('username') ? '/case/caseList/1' : `/login?/case/caseList/1`,
50 | },
51 | ],
52 | },
53 | }
54 | export const Footer00DataSource = {
55 | wrapper: { className: 'home-page-wrapper footer0-wrapper' },
56 | OverPack: { className: 'home-page footer0', playScale: 0.05 },
57 | copyright: {
58 | className: 'copyright',
59 | children: (
60 |
61 |
62 | Copyright © 2021 深圳市银户通科技有限公司 保留所有版权
63 |
64 |
65 | ),
66 | },
67 | }
68 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/documentation.md:
--------------------------------------------------------------------------------
1 | # 如何使用:
2 |
3 | - umi 里如何使用[请查看](https://landing.ant.design/docs/use/umi)。
4 | - 其它脚手架使用[请查看](https://landing.ant.design/docs/use/getting-started)。
5 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/img/atclogo4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/src/pages/landing/img/atclogo4.png
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/img/login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/src/pages/landing/img/login.png
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/less/antMotionStyle.less:
--------------------------------------------------------------------------------
1 | @import './common.less';
2 | @import './custom.less';
3 | @import './content.less';
4 | @import './banner3.less';
5 | @import './footer0.less';
6 | @import './edit.less';
7 | @import './login.less';
8 | @import './index.less';
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/less/common.less:
--------------------------------------------------------------------------------
1 |
2 | // @import "~antd/lib/style/v2-compatible-reset.less";
3 |
4 | body {
5 | word-wrap: break-word;
6 | }
7 |
8 | body,
9 | div,
10 | dl,
11 | dt,
12 | dd,
13 | ul,
14 | ol,
15 | li,
16 | h1,
17 | h2,
18 | h3,
19 | h4,
20 | h5,
21 | h6 {
22 | margin: 0;
23 | padding: 0;
24 | }
25 |
26 | /* .content-wrapper > .tween-one-leaving,
27 | .queue-anim-leaving {
28 | // position: absolute !important;
29 | // width: 100%;
30 | } */
31 |
32 | .video {
33 | max-width: 800px;
34 | }
35 |
36 | #react-content {
37 | min-height: 100%;
38 | }
39 | .home-page-wrapper p {
40 | padding: 0;
41 | margin: 0;
42 | }
43 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/less/content.less:
--------------------------------------------------------------------------------
1 | @homepage: home-page;
2 | .@{homepage}-wrapper {
3 | width: 100%;
4 | position: relative;
5 | overflow: hidden;
6 | .@{homepage} {
7 | height: 100%;
8 | max-width: 1200px;
9 | position: relative;
10 | margin: auto;
11 | will-change: transform;
12 | }
13 | .title-wrapper > h1, > h1 {
14 | font-size: 32px;
15 | color: @text-color;
16 | margin-bottom: 16px;
17 | }
18 | .title-wrapper {
19 | margin: 0 auto 64px;
20 | text-align: center;
21 | }
22 | }
23 |
24 | .@{homepage} {
25 | padding: 128px 24px;
26 | }
27 |
28 | @media screen and (max-width: 767px) {
29 | .@{homepage}-wrapper {
30 | .@{homepage} {
31 | padding: 56px 24px;
32 | >h1 {
33 | font-size: 24px;
34 | margin: 0 auto 32px;
35 | &.title-h1 {
36 | margin-bottom: 8px;
37 | }
38 | }
39 | >p {
40 | margin-bottom: 32px;
41 | }
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/less/custom.less:
--------------------------------------------------------------------------------
1 | @import "~antd/lib/style/themes/default.less";
2 |
3 | @line-color: #e9e9e9;
4 |
5 | @shadow-color: rgba(0, 0, 0, 0.15);
6 |
7 | @bottom-bar-bg-color: #262626;
8 | @bottom-bar-line-color: #000;
9 |
10 | @template-bg-color: #001529;
11 | @template-bg-color-light: #ececec;
12 | @template-nav-bg-color: #001529;
13 | @template-text-color: #ccc;
14 | @template-text-title-color: #bcbcbc;
15 | @template-text-color-light: #fff;
16 | @template-footer-text-color: #999;
17 |
18 | @animate-duration: .45s;
19 |
20 | /* 详细页图片或框框的样式;
21 | */
22 | .page-shadow() {
23 | box-shadow: 0 5px 8px @shadow-color;
24 | }
25 |
26 | .page-pro() {
27 | border-radius: 6px;
28 | border: 1px solid @line-color;
29 | transform: translateY(0);
30 | transition: transform .3s @ease-out, box-shadow .3s @ease-out;
31 | &:hover {
32 | .page-shadow();
33 | transform: translateY(-5px);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/less/edit.less:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/src/pages/landing/less/edit.less
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/less/footer0.less:
--------------------------------------------------------------------------------
1 | .footer0-wrapper {
2 | background-color: @template-bg-color;
3 | height: 80px;
4 | overflow: hidden;
5 | .footer0 {
6 | height: 100%;
7 | padding: 0 24px;
8 | line-height: 80px;
9 | text-align: center;
10 | color: @template-footer-text-color;
11 | position: relative;
12 | }
13 | }
14 |
15 | @media screen and (max-width: 767px) {
16 | .footer0-wrapper {
17 | .footer0 {
18 | font-size: 12px;
19 | &.home-page {
20 | padding: 0;
21 | }
22 | >div {
23 | width: 90%;
24 | margin: auto;
25 | }
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/less/index.less:
--------------------------------------------------------------------------------
1 | :global(.ant-dropdown).dropStyle {
2 | :global(.ant-dropdown-menu) {
3 | background-color: #3377ff;
4 | border-radius: 0;
5 | padding: 0;
6 | }
7 | :global(.ant-dropdown-menu-item) {
8 | color: #fff;
9 | padding: 0;
10 | width: auto;
11 | span,
12 | a {
13 | display: block;
14 | height: 50px;
15 | line-height: 50px;
16 | padding: 0 15px;
17 | margin: 0;
18 | color: #fff;
19 | }
20 | }
21 | :global(.ant-dropdown-menu-item):hover,
22 | :global(.ant-dropdown-menu-item-active) {
23 | background-color: rgba(26, 29, 36, 0.5);
24 | }
25 | }
26 | .user {
27 | float: right;
28 | display: flex;
29 | align-items: center;
30 | color: #ffff;
31 | height: 32px;
32 | padding: 0 10px;
33 | background: #3377ff;
34 | border-radius: 4px;
35 | cursor: pointer;
36 | margin-top: 16px;
37 | .userIcon, .dowm {
38 | font-size: large;
39 | }
40 | .username {
41 | white-space: nowrap;
42 | margin: 0 10px;
43 | }
44 | }
45 | .loginCss {
46 | color: #fff;
47 | float: right;
48 | }
49 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/landing/utils.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Button } from 'antd'
3 |
4 | export const isImg = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?/
5 | export const getChildrenToRender = (item, i) => {
6 | let tag = item.name.indexOf('title') === 0 ? 'h1' : 'div'
7 | tag = item.href ? 'a' : tag
8 | let children =
9 | typeof item.children === 'string' && item.children.match(isImg)
10 | ? React.createElement('img', { src: item.children, alt: 'img' })
11 | : item.children
12 | if (item.name.indexOf('button') === 0 && typeof item.children === 'object') {
13 | children = React.createElement(Button, {
14 | ...item.children,
15 | })
16 | }
17 | return React.createElement(tag, { key: i.toString(), ...item }, children)
18 | }
19 |
--------------------------------------------------------------------------------
/target/classes/web/src/pages/testTask/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import Casemgt from '../../components/case/casemgt'
3 | import 'antd/dist/antd.css'
4 | import getQueryString from '@/utils/getCookies'
5 | const getCookies = getQueryString.getCookie
6 |
7 | class casePage extends React.Component {
8 | componentDidMount() {
9 | if (!getCookies('username')) {
10 | window.location.href = `/login?jumpto=${window.location.href}`
11 | }
12 | }
13 | render() {
14 | return getCookies('username') ? (
15 |
27 | ) : null
28 | }
29 | }
30 | export default casePage
31 |
--------------------------------------------------------------------------------
/target/classes/web/src/services/global.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/classes/web/src/services/global.js
--------------------------------------------------------------------------------
/target/classes/web/src/utils/getCookies.js:
--------------------------------------------------------------------------------
1 | exports.getCookie = function(name) {
2 | function getCookieVal(offset) {
3 | let endstr = document.cookie.indexOf(';', offset);
4 | if (endstr === -1) {
5 | endstr = document.cookie.length;
6 | }
7 | return decodeURI(document.cookie.substring(offset, endstr));
8 | }
9 | let arg = name + '=';
10 | let alen = arg.length;
11 | let clen = document.cookie.length;
12 | let i = 0;
13 | let j = 0;
14 | while (i < clen) {
15 | j = i + alen;
16 | if (document.cookie.substring(i, j) === arg) return getCookieVal(j);
17 | i = document.cookie.indexOf(' ', i) + 1;
18 | if (i === 0) break;
19 | }
20 | return null;
21 | };
--------------------------------------------------------------------------------
/target/classes/web/src/utils/index.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | export default {
3 | getQueryString(name) {
4 | let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
5 | let r = window.location.search.substr(1).match(reg);
6 | if (r != null) return unescape(r[2]);
7 | return null;
8 | },
9 | setcookie(name, value) {
10 | let Days = 30;
11 | let exp = new Date();
12 | exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
13 | document.cookie =
14 | name + '=' + escape(value) + ';expires=' + exp.toGMTString();
15 | },
16 | };
17 |
--------------------------------------------------------------------------------
/target/classes/web/src/utils/link.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Link from 'umi/link';
3 | import config from '@/page/index/config';
4 |
5 | export default class Button extends React.Component {
6 | render() {
7 | let linkTo = config.RouterPrefix + this.props.to;
8 |
9 | return (
10 |
11 | {this.props.children}
12 |
13 | );
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/target/classes/web/src/utils/requirementUtils.js:
--------------------------------------------------------------------------------
1 | import _ from 'lodash';
2 |
3 | export function getRequirmentAllInfos(projectLs, requirementLs, requirementId) {
4 | let initProject = { id: 0, name: '零散需求' };
5 | if (requirementLs.length === 0) {
6 | return;
7 | }
8 | let options = { projectLs: [], requirementLs: [] };
9 | let requirement = _.find(requirementLs, temp => {
10 | return temp.id === requirementId;
11 | });
12 | let project = null;
13 | if (requirement) {
14 | project = _.find(projectLs, temp => {
15 | return temp.id === requirement.iterationId;
16 | });
17 | }
18 | project = project || initProject;
19 | options.projectLs.push(project);
20 | options.requirementLs = requirementLs.filter(item => item.iterationId === project.id);
21 | return {
22 | project: project,
23 | requirement: requirement,
24 | options: options
25 | };
26 | }
27 |
--------------------------------------------------------------------------------
/target/classes/web/webpack.config.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 不是真实的 webpack 配置,仅为兼容 webstorm 和 intellij idea 代码跳转
3 | * ref: https://github.com/umijs/umi/issues/1109#issuecomment-423380125
4 | */
5 |
6 | module.exports = {
7 | resolve: {
8 | alias: {
9 | '@': require('path').resolve(__dirname, 'src')
10 | }
11 | },
12 | configureWebpack: {
13 | devtool: 'source-map'
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com\xiaoju\framework\CaseServerApplicationTests.class
2 |
--------------------------------------------------------------------------------
/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst:
--------------------------------------------------------------------------------
1 | D:\King\Vue\AgileTC\case-server\src\test\java\com\xiaoju\framework\CaseServerApplicationTests.java
2 |
--------------------------------------------------------------------------------
/target/test-classes/com/xiaoju/framework/CaseServerApplicationTests.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hagyao520/TestCaseManageSystem/82d5dde690f6100a21968d319220f7b805fbf351/target/test-classes/com/xiaoju/framework/CaseServerApplicationTests.class
--------------------------------------------------------------------------------