mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-10-26 13:12:12 +08:00
统一定义基准目录 (#77)
* fix :mysql index field is too long, resulting in table creation failure * 统一定义基准目录
This commit is contained in:
parent
499ab6acd4
commit
37c5127863
51
pkg/base/path.go
Normal file
51
pkg/base/path.go
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/**
|
||||||
|
为确保运行结果正常输出,请不要移动此文件
|
||||||
|
*/
|
||||||
|
package base
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"path/filepath"
|
||||||
|
"runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 获取项目基准目录
|
||||||
|
func baseDir(p string) (string, error) {
|
||||||
|
_, file, _, ok := runtime.Caller(0)
|
||||||
|
if !ok {
|
||||||
|
return "", errors.New("runtime.Caller error.")
|
||||||
|
}
|
||||||
|
dir:= filepath.Dir( filepath.Dir( filepath.Dir( file ) ) )
|
||||||
|
return dir+ p, nil
|
||||||
|
}
|
||||||
|
// 获取项目根目录
|
||||||
|
func ProjectDir(p string) string {
|
||||||
|
if p=="" {
|
||||||
|
p= "/"
|
||||||
|
}
|
||||||
|
dir, err:= baseDir(p)
|
||||||
|
if err!= nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
return dir
|
||||||
|
}
|
||||||
|
// 获取各个常用目录
|
||||||
|
func ConfigDir() string {
|
||||||
|
return ProjectDir("/config/")
|
||||||
|
}
|
||||||
|
func ScriptDir() string {
|
||||||
|
return ProjectDir("/script/")
|
||||||
|
}
|
||||||
|
func BinDir() string {
|
||||||
|
return ProjectDir("/bin/")
|
||||||
|
}
|
||||||
|
func LogDir() string {
|
||||||
|
return ProjectDir("/logs/")
|
||||||
|
}
|
||||||
|
func PkgDir() string {
|
||||||
|
return ProjectDir("/pkg/")
|
||||||
|
}
|
||||||
|
func InternalDir() string {
|
||||||
|
return ProjectDir("/internal/")
|
||||||
|
}
|
||||||
|
|
||||||
0
pkg/base/this directory can not be moved
Normal file
0
pkg/base/this directory can not be moved
Normal file
@ -1,21 +1,20 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"Open_IM/pkg/base"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
|
//"path/filepath"
|
||||||
"path/filepath"
|
//"runtime"
|
||||||
"runtime"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var Config config
|
var Config config
|
||||||
|
|
||||||
var (
|
//var (
|
||||||
_, b, _, _ = runtime.Caller(0)
|
// _, b, _, _ = runtime.Caller(0)
|
||||||
// Root folder of this project
|
// // Root folder of this project
|
||||||
Root = filepath.Join(filepath.Dir(b), "../../..")
|
// Root = filepath.Join(filepath.Dir(b), "../../..")
|
||||||
)
|
//)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
ServerIP string `yaml:"serverip"`
|
ServerIP string `yaml:"serverip"`
|
||||||
@ -162,9 +161,16 @@ type config struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
confDir:= base.ConfigDir()
|
||||||
|
logDir:= base.LogDir()
|
||||||
|
|
||||||
|
// fix log dir
|
||||||
|
Config.Log.StorageLocation= logDir
|
||||||
|
|
||||||
// if we cd Open-IM-Server/src/utils and run go test
|
// if we cd Open-IM-Server/src/utils and run go test
|
||||||
// it will panic cannot find config/config.yaml
|
// it will panic cannot find config/config.yaml
|
||||||
bytes, err := ioutil.ReadFile(Root + "/config/config.yaml")
|
bytes, err := ioutil.ReadFile(confDir + "config.yaml")
|
||||||
|
//bytes, err := ioutil.ReadFile(Root + "/config/config.yaml")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user