|
|
@@ -205,12 +205,12 @@ type DumpedPermissionItems struct {
|
|
|
|
|
|
// DumpRouterPermissionItems 导出
|
|
|
// 参数:
|
|
|
-// - 无
|
|
|
+// - onSave 保存权限条目回调
|
|
|
// 返回值:
|
|
|
// - 导出的权限条目
|
|
|
-func (api *Api) DumpRouterPermissionItems() (*DumpedPermissionItems, error) {
|
|
|
+func (api *Api) DumpRouterPermissionItems(onSave func(items *DumpedPermissionItems) error) error {
|
|
|
if api.options.dumpPermissionItemsOption == nil {
|
|
|
- return new(DumpedPermissionItems), nil
|
|
|
+ return nil
|
|
|
}
|
|
|
|
|
|
dumped := &DumpedPermissionItems{
|
|
|
@@ -231,12 +231,12 @@ func (api *Api) DumpRouterPermissionItems() (*DumpedPermissionItems, error) {
|
|
|
if exist {
|
|
|
content, err := os.ReadFile(saveFilePath)
|
|
|
if err != nil {
|
|
|
- return nil, err
|
|
|
+ return err
|
|
|
}
|
|
|
|
|
|
err = json.Unmarshal(content, &savedPermissionItems)
|
|
|
if err != nil {
|
|
|
- return nil, err
|
|
|
+ return err
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -283,22 +283,29 @@ func (api *Api) DumpRouterPermissionItems() (*DumpedPermissionItems, error) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if onSave != nil {
|
|
|
+ err := onSave(dumped)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if !fileutils.PathExists(saveDir) {
|
|
|
err := os.MkdirAll(saveDir, os.ModeDir|os.ModePerm)
|
|
|
if err != nil {
|
|
|
- return nil, err
|
|
|
+ return err
|
|
|
}
|
|
|
}
|
|
|
|
|
|
routerPermissionItemsJson, err := json.Marshal(routerPermissionItems)
|
|
|
if err != nil {
|
|
|
- return nil, err
|
|
|
+ return err
|
|
|
}
|
|
|
|
|
|
err = os.WriteFile(saveFilePath, routerPermissionItemsJson, os.ModePerm)
|
|
|
if err != nil {
|
|
|
- return nil, err
|
|
|
+ return err
|
|
|
}
|
|
|
|
|
|
- return dumped, nil
|
|
|
+ return nil
|
|
|
}
|