Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梁国权
gin-vue-admin
提交
c1f2c6f6
G
gin-vue-admin
项目概览
梁国权
/
gin-vue-admin
与 Fork 源项目一致
Fork自
FLIPPED-AURORA / gin-vue-admin
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gin-vue-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c1f2c6f6
编写于
11月 07, 2020
作者:
V
v_zhibsong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add filemove
add filemove
上级
0e4c9c02
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
83 addition
and
8 deletion
+83
-8
server/service/sys_auto_code.go
server/service/sys_auto_code.go
+20
-8
server/utils/fileoperations.go
server/utils/fileoperations.go
+63
-0
未找到文件。
server/service/sys_auto_code.go
浏览文件 @
c1f2c6f6
...
...
@@ -88,14 +88,26 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
_
=
f
.
Close
()
}
// 生成压缩包
if
err
:=
utils
.
ZipFiles
(
"./ginvueadmin.zip"
,
fileList
,
"."
,
"."
);
err
!=
nil
{
return
err
}
// 移除中间文件
if
err
:=
os
.
RemoveAll
(
autoPath
);
err
!=
nil
{
return
err
defer
func
()
{
// 移除中间文件
if
err
:=
os
.
RemoveAll
(
autoPath
);
err
!=
nil
{
return
}
}()
if
autoCode
.
AutoMoveFile
{
// 判断是否需要自动转移
for
_
,
value
:=
range
dataList
{
// 转移
err
:=
utils
.
FileMove
(
value
.
locationPath
,
value
.
autoCodePath
)
if
err
!=
nil
{
return
err
}
}
}
else
{
// 打包
if
err
:=
utils
.
ZipFiles
(
"./ginvueadmin.zip"
,
fileList
,
"."
,
"."
);
err
!=
nil
{
return
err
}
}
return
nil
}
...
...
server/utils/fileoperations.go
0 → 100644
浏览文件 @
c1f2c6f6
package
utils
import
(
"errors"
"fmt"
"io/ioutil"
"os"
"path/filepath"
)
// package fileOperations use File Operations
// fileMove: 文件移动
// src: 源位置 需要传入绝对路径
// dst: 目标位置 需要传入绝对路径
func
fileMove
(
src
string
,
dst
string
)
error
{
if
!
filepath
.
IsAbs
(
dst
)
&&
!
filepath
.
IsAbs
(
src
)
{
return
errors
.
New
(
fmt
.
Sprintf
(
"%s or %s path is not abs"
,
dst
,
src
))
}
return
os
.
Rename
(
src
,
dst
)
}
// FileMove: 文件移动供外部调用
// src: 源位置 绝对路径相对路径都可以
// dst: 目标位置 绝对路径相对路径都可以 dst 必须为文件夹
func
FileMove
(
src
string
,
dst
string
)
error
{
var
err
error
// 转化为绝对路径
src
,
err
=
filepath
.
Abs
(
src
)
if
err
!=
nil
{
return
err
}
dst
,
err
=
filepath
.
Abs
(
dst
)
if
err
!=
nil
{
return
err
}
// 判断传入的是否是目录
oSrc
,
err
:=
os
.
Stat
(
src
)
if
err
!=
nil
{
return
err
}
if
!
oSrc
.
IsDir
()
{
return
errors
.
New
(
fmt
.
Sprintf
(
"%s is not Dir"
,
src
))
}
oDst
,
err
:=
os
.
Stat
(
dst
)
if
err
!=
nil
{
return
err
}
if
!
oDst
.
IsDir
()
{
return
errors
.
New
(
fmt
.
Sprintf
(
"%s is not Dir"
,
dst
))
}
// 遍历指定目录下所有文件
f
,
err
:=
ioutil
.
ReadDir
(
src
)
for
_
,
file
:=
range
f
{
nDst
:=
filepath
.
Join
(
dst
,
file
.
Name
())
nSrc
:=
filepath
.
Join
(
src
,
file
.
Name
())
err
=
fileMove
(
nSrc
,
nDst
)
if
err
!=
nil
{
return
err
}
}
return
err
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录