Browse Source

添加参数

yjp 5 days ago
parent
commit
68135bf138
1 changed files with 16 additions and 9 deletions
  1. 16 9
      framework/core/api/api.go

+ 16 - 9
framework/core/api/api.go

@@ -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
 }