diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 19d81608..3a4cbdd0 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -41,6 +41,7 @@ env: TAB_NAME: "::PET ADMIN" PAGE_SIZE: "20" PAGE_LINK: "https://yaoapps.com" + PAGE_ICON: "icon-trash" DEMO_APP: ${{ github.WORKSPACE }}/../app diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 71d49c39..15a60aef 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -45,6 +45,7 @@ env: TAB_NAME: "::PET ADMIN" PAGE_SIZE: "20" PAGE_LINK: "https://yaoapps.com" + PAGE_ICON: "icon-trash" DEMO_APP: ${{ github.WORKSPACE }}/../app diff --git a/widgets/environment/environment.go b/widgets/environment/environment.go index a2a0a0a0..73d9a94d 100644 --- a/widgets/environment/environment.go +++ b/widgets/environment/environment.go @@ -52,21 +52,36 @@ func replaceAny(value interface{}, defaults map[string]interface{}) interface{} func replaceStr(value string, defaults map[string]interface{}) interface{} { - if strings.HasPrefix(value, "\\$$ENV.") { - return fmt.Sprintf("$ENV.%s", strings.TrimLeft(value, "\\$$ENV.")) + v := strings.TrimSpace(value) + if strings.HasPrefix(v, "\\$$ENV.") { + return fmt.Sprintf("$ENV.%s", strings.TrimLeft(v, "\\$$ENV.")) } - if !strings.HasPrefix(value, "$ENV.") { + if !strings.HasPrefix(v, "$ENV.") { return value } - name := strings.TrimLeft(value, "$ENV.") + return getEnv(v, defaults) +} + +func getEnv(value string, defaults map[string]interface{}) interface{} { + + vars := strings.Split(value, "||") + name := strings.TrimLeft(strings.TrimSpace(vars[0]), "$ENV.") v := os.Getenv(name) if v != "" { return v } - return defaults[name] + if len(vars) > 1 { + v = strings.TrimSpace(vars[1]) + } + + if v == "" { + return defaults[name] + } + + return v } func replaceMap(values map[string]interface{}, defaults map[string]interface{}) map[string]interface{} { diff --git a/widgets/environment/environment_test.go b/widgets/environment/environment_test.go index 8e0fb365..089d277c 100644 --- a/widgets/environment/environment_test.go +++ b/widgets/environment/environment_test.go @@ -30,6 +30,7 @@ func TestReadFile(t *testing.T) { assert.Equal(t, "::PET ADMIN", res.Get("name")) assert.Equal(t, "20", res.Get("action.search.default.2")) assert.Equal(t, "https://yaoapps.com", res.Get("layout.header.preset.import.operation.0.link")) - assert.Equal(t, "cured", res.Get("layout.table.operation.actions.2.action.Table.save.status")) - + assert.Equal(t, "cured", res.Get("layout.table.operation.actions[2].action.Table.save.status")) + assert.Equal(t, "提示", res["layout.table.operation.actions[5].confirm.title"]) + assert.Equal(t, "icon-trash", res["layout.table.operation.actions[5].icon"]) }