Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
易企天创
zentaoatf
提交
505edec8
Z
zentaoatf
项目概览
易企天创
/
zentaoatf
10 个月 前同步成功
通知
11
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
3
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zentaoatf
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
3
Issue
3
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
505edec8
编写于
1月 20, 2022
作者:
aaronchen2k2k
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
check project path exist
上级
55d342b6
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
56 addition
and
37 deletion
+56
-37
internal/pkg/domain/struct.go
internal/pkg/domain/struct.go
+1
-0
internal/server/modules/v1/controller/project.go
internal/server/modules/v1/controller/project.go
+8
-11
internal/server/modules/v1/service/project.go
internal/server/modules/v1/service/project.go
+12
-2
ui/src/layouts/IndexLayout/components/RightTopProject.vue
ui/src/layouts/IndexLayout/components/RightTopProject.vue
+25
-24
ui/src/services/project.ts
ui/src/services/project.ts
+10
-0
未找到文件。
internal/pkg/domain/struct.go
浏览文件 @
505edec8
...
...
@@ -59,6 +59,7 @@ type ErrMsg struct {
var
(
NoErr
=
ErrMsg
{
0
,
"请求成功"
}
CommonErr
=
ErrMsg
{
1001
,
"请求失败"
}
NeedInitErr
=
ErrMsg
{
2001
,
"前往初始化数据库"
}
AuthErr
=
ErrMsg
{
4001
,
"会话超时,请重新登录!"
}
AuthExpireErr
=
ErrMsg
{
4002
,
"token 过期,请刷新token"
}
...
...
internal/server/modules/v1/controller/project.go
浏览文件 @
505edec8
...
...
@@ -65,20 +65,17 @@ func (c *ProjectCtrl) Get(ctx iris.Context) {
// Create 添加
func
(
c
*
ProjectCtrl
)
Create
(
ctx
iris
.
Context
)
{
req
:=
model
.
Project
{}
if
err
:=
ctx
.
ReadJSON
(
&
req
);
err
!=
nil
{
errs
:=
validate
.
ValidRequest
(
err
)
if
len
(
errs
)
>
0
{
logUtils
.
Errorf
(
"参数验证失败"
,
zap
.
String
(
"错误"
,
strings
.
Join
(
errs
,
";"
)))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
strings
.
Join
(
errs
,
";"
)})
return
}
err
:=
ctx
.
ReadJSON
(
&
req
)
req
.
Path
=
strings
.
TrimSpace
(
req
.
Path
)
if
err
!=
nil
||
req
.
Path
==
""
{
logUtils
.
Errorf
(
"参数验证失败 %s"
,
err
.
Error
())
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
id
,
err
:=
c
.
ProjectService
.
Create
(
req
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
c
.
ErrCode
(
err
),
Data
:
nil
,
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
CommonErr
.
Code
,
Msg
:
err
.
Error
()})
return
}
...
...
internal/server/modules/v1/service/project.go
浏览文件 @
505edec8
package
service
import
(
"errors"
"fmt"
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
fileUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/file"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
...
...
@@ -33,8 +35,16 @@ func (s *ProjectService) FindById(id uint) (model.Project, error) {
return
s
.
ProjectRepo
.
FindById
(
id
)
}
func
(
s
*
ProjectService
)
Create
(
project
model
.
Project
)
(
uint
,
error
)
{
return
s
.
ProjectRepo
.
Create
(
project
)
func
(
s
*
ProjectService
)
Create
(
project
model
.
Project
)
(
id
uint
,
err
error
)
{
po
,
_
:=
s
.
ProjectRepo
.
FindByPath
(
fileUtils
.
AddPathSepIfNeeded
(
project
.
Path
))
if
po
.
ID
!=
0
{
err
=
errors
.
New
(
fmt
.
Sprintf
(
"路径为%s的项目已存在。"
,
project
.
Path
))
return
}
id
,
_
=
s
.
ProjectRepo
.
Create
(
project
)
return
}
func
(
s
*
ProjectService
)
Update
(
id
uint
,
project
model
.
Project
)
error
{
...
...
ui/src/layouts/IndexLayout/components/RightTopProject.vue
浏览文件 @
505edec8
...
...
@@ -12,9 +12,9 @@
</a-select>
<dir-selection
:visible=
"
selectionF
ormVisible"
:onCancel=
"
selectionC
ancel"
:onSubmit=
"s
electionS
ubmit"
:visible=
"
f
ormVisible"
:onCancel=
"
c
ancel"
:onSubmit=
"submit"
/>
</div>
</
template
>
...
...
@@ -25,20 +25,21 @@ import {useStore} from "vuex";
import
{
ProjectData
}
from
"
@/store/project
"
;
import
DirSelection
from
"
@/views/component/file/DirSelection.vue
"
;
import
{
createProject
}
from
"
@/services/project
"
;
interface
RightTopProject
{
projects
:
ComputedRef
<
any
[]
>
;
currProject
:
ComputedRef
;
selectProject
:
(
value
:
string
)
=>
void
;
selectionF
ormVisible
:
Ref
<
boolean
>
;
set
Selection
FormVisible
:
(
val
:
boolean
)
=>
void
;
s
electionS
ubmit
:
(
parentDir
:
string
)
=>
Promise
<
void
>
;
selectionC
ancel
:
()
=>
void
;
f
ormVisible
:
Ref
<
boolean
>
;
setFormVisible
:
(
val
:
boolean
)
=>
void
;
submit
:
(
parentDir
:
string
)
=>
Promise
<
void
>
;
c
ancel
:
()
=>
void
;
}
export
default
defineComponent
({
name
:
'
RightTopProject
Selection
'
,
name
:
'
RightTopProject
'
,
components
:
{
DirSelection
},
setup
():
RightTopProject
{
const
store
=
useStore
<
{
project
:
ProjectData
}
>
();
...
...
@@ -56,37 +57,37 @@ export default defineComponent({
console
.
log
(
'
selectProject
'
,
value
)
if
(
value
===
''
)
{
set
Selection
FormVisible
(
true
)
setFormVisible
(
true
)
}
else
{
store
.
dispatch
(
'
project/fetchProject
'
,
value
);
}
}
const
selectionF
ormVisible
=
ref
<
boolean
>
(
false
);
const
set
Selection
FormVisible
=
(
val
:
boolean
)
=>
{
selectionF
ormVisible
.
value
=
val
;
const
f
ormVisible
=
ref
<
boolean
>
(
false
);
const
setFormVisible
=
(
val
:
boolean
)
=>
{
f
ormVisible
.
value
=
val
;
};
const
s
electionS
ubmit
=
async
(
parentDir
:
string
)
=>
{
console
.
log
(
'
s
electionS
ubmit
'
,
parentDir
)
await
store
.
dispatch
(
'
project/fetchProject
'
,
parentDir
);
setSelectionFormVisible
(
false
);
const
submit
=
async
(
parentDir
:
string
)
=>
{
console
.
log
(
'
submit
'
,
parentDir
)
createProject
(
parentDir
).
then
(()
=>
{
store
.
dispatch
(
'
project/fetchProject
'
,
parentDir
);
setFormVisible
(
false
);
}).
catch
(
err
=>
{
console
.
log
(
''
)
})
}
const
selectionC
ancel
=
()
=>
{
const
c
ancel
=
()
=>
{
store
.
dispatch
(
'
project/fetchProject
'
,
currProject
.
value
.
path
);
set
Selection
FormVisible
(
false
);
setFormVisible
(
false
);
}
return
{
selectProject
,
projects
,
currProject
,
selectionF
ormVisible
,
set
Selection
FormVisible
,
s
electionS
ubmit
,
selectionC
ancel
,
f
ormVisible
,
setFormVisible
,
submit
,
c
ancel
,
}
}
})
...
...
ui/src/services/project.ts
浏览文件 @
505edec8
...
...
@@ -11,3 +11,13 @@ export async function queryProject(currProjectPath: string): Promise<any> {
params
,
});
}
export
async
function
createProject
(
projectPath
:
string
):
Promise
<
any
>
{
const
data
=
{
path
:
projectPath
}
return
request
({
url
:
`/
${
apiPath
}
`
,
method
:
'
post
'
,
data
:
data
,
});
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录