Skip to content

Introduction

Runtime environment module, provides global state variables and utility functions for application runtime. Includes version number, environment identifier, application name, platform type, directory paths, HTTP service status, and other global information, as well as environment detection and path retrieval functions.

Import

go
import "github.com/wallace5303/ee-go/eruntime"

API

Version

Description: Framework version number, default value is "0.1.0".

Type: string

ENV

Description: Runtime environment identifier, value is "dev" or "prod", default value is "dev".

Type: string

AppName

Description: Application name, default is empty string, assigned by business code at startup.

Type: string

Platform

Description: Client platform type, value is "pc", "mobile", or "web", default value is "pc".

Type: string

IsExiting

Description: Indicates whether the application is exiting, default value is false. The task module checks this flag when adding or executing tasks; if true, task operations are skipped.

Type: bool

Debug

Description: Whether debug mode is enabled, default value is false.

Type: bool

BaseDir

Description: Application root directory path, initialized by getting the current working directory via os.Getwd().

Type: string

PublicDir

Description: Static resource directory path, set to BaseDir + "/public" by InitDir().

Type: string

UserHomeDir

Description: Operating system user home directory path.

Type: string

UserHomeConfDir

Description: Configuration file directory path under the operating system user home directory.

Type: string

UserHomeAppDir

Description: Application data directory path under the operating system user home directory.

Type: string

WorkDir

Description: Application work directory path.

Type: string

DataDir

Description: Application data storage directory path.

Type: string

TmpDir

Description: Application temporary data storage directory path.

Type: string

Port

Description: HTTP service listening port, default value is "0" (indicating not set).

Type: string

SSL

Description: Whether SSL is enabled, default value is false.

Type: bool

HttpServerIsRunning

Description: Whether the HTTP server is running, default value is false.

Type: bool

InitDir()

Description: Initialize the PublicDir directory path, setting it to filepath.Join(BaseDir, "public"). Should be called early in application startup.

Returns: No return value

Example:

go
eruntime.InitDir()
fmt.Println(eruntime.PublicDir) // Output: /path/to/app/public

IsProd()

Description: Check whether the current environment is production, i.e. ENV == "prod".

Returns: booltrue if in production environment, false otherwise

Example:

go
if eruntime.IsProd() {
    fmt.Println("running in production mode")
}

IsDev()

Description: Check whether the current environment is development, i.e. ENV == "dev".

Returns: booltrue if in development environment, false otherwise

Example:

go
if eruntime.IsDev() {
    fmt.Println("running in development mode")
}

IsDebug()

Description: Check whether debug mode is enabled, i.e. the value of Debug.

Returns: booltrue if debug is enabled, false otherwise

Example:

go
if eruntime.IsDebug() {
    fmt.Println("debug mode is enabled")
}

Pwd()

Description: Get the absolute path of the directory where the current executable file resides. Locates the executable via exec.LookPath, gets the absolute path via filepath.Abs, and finally returns its parent directory.

Returns: string — absolute path of the directory where the executable resides

Example:

go
dir := eruntime.Pwd()
fmt.Println("executable directory:", dir)