diff --git a/backend/Dockerfile b/backend/Dockerfile index b735391..f888c5e 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -7,8 +7,9 @@ RUN apk add --no-cache tzdata && \ apk del tzdata COPY backend/build/app /app/app -COPY backend/config.toml /app/config.toml -COPY frontend/dist /app/dist +COPY backend/config.prod.toml /app/config.toml +COPY frontend/admin/dist /app/dist/admin +COPY frontend/wechat/dist /app/dist/wechat WORKDIR /app diff --git a/backend/app/service/http/http.go b/backend/app/service/http/http.go index f95a568..968032f 100644 --- a/backend/app/service/http/http.go +++ b/backend/app/service/http/http.go @@ -115,7 +115,13 @@ func Serve(cmd *cobra.Command, args []string) error { if f == "/" { f = "index.html" } - file, err := fabfile.Find(filepath.Join("frontend/admin/dist", f)) + + ext := filepath.Ext(f) + mime := mime.TypeByExtension(ext) + log.Infof("mime type: %s %s", ext, mime) + ctx.Set(fiber.HeaderContentType, mime) + + file, err := fabfile.Find(filepath.Join(svc.App.DistAdmin, f)) if err != nil { return ctx.SendStatus(fiber.StatusNotFound) } @@ -131,9 +137,9 @@ func Serve(cmd *cobra.Command, args []string) error { log.Infof("mime type: %s %s", ext, mime) ctx.Set(fiber.HeaderContentType, mime) - file, err := fabfile.Find(filepath.Join("frontend/wechat/dist", f)) + file, err := fabfile.Find(filepath.Join(svc.App.DistWeChat, f)) if err != nil { - file, err = fabfile.Find(filepath.Join("frontend/wechat/dist", "index.html")) + file, err = fabfile.Find(filepath.Join(svc.App.DistWeChat, "index.html")) if err != nil { return ctx.SendStatus(fiber.StatusNotFound) } diff --git a/backend/config.prod.toml b/backend/config.prod.toml new file mode 100644 index 0000000..c755f57 --- /dev/null +++ b/backend/config.prod.toml @@ -0,0 +1,80 @@ +[App] +Mode = "prod" +BaseURI = "https://mp.jdwan.com" +StoragePath = "/app/downloads" +DistAdmin = "/app/dist/admin" +DistWeChat = "/app/dist/wechat" + +[Http] +Port = 9888 + +[Database] +Host = "host.local" +Database = "quyun" +Password = "xixi0202" + +[JWT] +ExpiresTime = "168h" +SigningKey = "xixi@0202" + +[HashIDs] +Salt = "Salt" + +[Redis] +Host = "" +Port = 6379 +Password = "hello" +DB = 0 + +[Ali] +AccessKeyId = "LTAI5t86SjiP9zRd3q2w7jQN" +AccessKeySecret = "hV7spvJuWh8w0EEIXj8NFi2uBlF4aS" +Bucket ="rogee-test" +Host ="https://assets.jdwan.com" +Region ="cn-beijing" + +[WeChat] +AppID = "wx47649361b6eba174" +AppSecret = "e9cdf19b006cd294a9dae7ad8ae08b72" +Token = "W8Xhw5TivYBgY" +EncodingAesKey = "OlgPgMvsl92zy5oErtEzRcziRT2txoN3jgEHV6RQZMY" +DevMode = false + +[WeChat.Pay] +NotifyURL="https://www.baidu.com/go.php" +MchID = "1702644947" +SerialNo = "4563EC584A35BC84FB27AA4100C934C9A91D59CA" +MechName = "佳芃(北京)企业管理咨询有限公司" +ApiV3Key="5UBDkxVDY44AKafkqN6YgYxgtkXP6Mw6" +PrivateKey="""-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+GjWdwRorgQXw +Z8ouZeW8UsUgjiSUPKLJHGOZQESa09xmzm+DVZWNCPEHJvz1bDmSNXVsQUWRE/+y +MwSfe+faq0d4BZiw1ueFbRyj4Vw/x7B2vY0i8yo0VyTnWdC6QZRc+V+dbuPJM1Ok ++Qf2yg+NZhz3XuTWvQOscAc9+f3aj8fhXJQlRmNby736w0iDu9EQFvPnkVs10/lW +RwICvzEbEMq7D2SSXS/lc/qS84eHYYCnH8b3NGNCt7ifSXPJesGT/+pwBKmPef6T +lK0pjgqqiKltP04nYeP7Ujz5r8v/CPebUG6Iuht3EjH84i4UCpcBdI/mD2rJInJ/ +jiiCjP7tAgMBAAECggEAVYVe94BGsKmTrWpT13m513X4/sNTi2iX5xehavExq+GB +trJKEnBvHgqWvBv7EsHESJVKJRBcJn8zucwf2UuZq5MATOtfnLahYzIJ/2PD52GD +bnepxb5VD0Tg8j9CmngkMYtyS1X2na48g+wQfCK8ymTUxSholH5l565iY6xSWn8r +SD/u/EBLv69i40uocG1hUUicrJZ1wc5T0ct3GpfiA1BfH462/dp6mROONdpwM8IT +ltRH4wjIc2nPgE7eNbXlHg+KkqyNNLA+BeN3yn001QwvP6Q0panuCTsVVlvEuGAY +RwXbu/0fHFbppIpgfr7AFGRWKTF66Peq3ozsG9jNgQKBgQDviSJxN2Mpdln4i5F3 +74s8FMtZ5bY63RHHcvJ5/D9G1iDNHFgLJsgdrbAhLqBbqg73EsIT8TsPlAqKPKS8 +EGKBg75MsMSYu7EmzIURV3Gy+Pou9jOkTUfQfblkiV+uJjWQPlBlfksL1bQnfSvZ +Pk1DCwGMb5DMDazAQLP9/wtLYQKBgQDLKz9YHF+wFsnfUjBQngDLCTkxrfxp8y84 +s/z5IRZIEdfxmnaEeWJXYa0oeQumNLSVHrryvHm3vkBgKexN49TWUGIM3q54gi/R +FPXXJKarDEI7C86Th3g+3FPEez5v+CEncmlB9X3kBT0ZFROWD3HHaz2DUKPVmJe1 +eUOtAN0LDQKBgCoulx8i5taFXgCz61EYoQdajhjtp/KjvZ7G8kZjEm2SBcK5DBQi +pzj6vjqJsHmT8AC4j+7dG055/oUresMXi5FNNvTgaC6RVvgDKifMo1wmFkCw4JU9 +erkPetdmja/oUKRvJM9Kt0KFRq1xkIg4PXjh9krZ1sDoY5STkF7ZTA7hAoGAQhPv +xzV7Pac7wwFVK3MoKOD4FBtVRBRO4G9RsKk9OPVsuWyWbWGZRXhEPCyaSFVOAk37 +WaVJJSSghWY9L9wQxh9gtHTcY99bs/HQP0fxWSJkjBW7+ymNR0ybhgTbeslF5zGD +4Gr6peW6SGUdeKnPRJ+xYvsgPgEiHmixRRxJyCUCgYEAoguVZdpDaRDZGGrTghwj +F4kMIyEczFeBZtK2JEGSLA6j8uj+oBZ26c6K4sh/Btc0l6IkiXijXbTaH87s52xZ +im8aIZZ9jDKUFxtjVUL0l9fjRsCLAvaBbWw3z4EdtOGuYlnhNCheeSd+/Lzqrb1q +pnTiwBHnQCMFFL/rNcz/Mmk= +-----END PRIVATE KEY-----""" +PublicKeyID="PUB_KEY_ID_0117026449472025041400331572000400" +# JS pay domain +# mp.jdwan.com +# quyun.mp.jdwan.com diff --git a/backend/config.toml b/backend/config.toml index f4ff5fd..fa78af0 100644 --- a/backend/config.toml +++ b/backend/config.toml @@ -2,6 +2,8 @@ Mode = "development" BaseURI = "baseURI" StoragePath = "/Users/rogee/Projects/self/quyun/fixtures" +DistAdmin = "/app/dist/admin" +DistWeChat = "/app/dist/wechat" [Http] Port = 8088 diff --git a/backend/providers/app/config.go b/backend/providers/app/config.go index b646be7..9232bbb 100644 --- a/backend/providers/app/config.go +++ b/backend/providers/app/config.go @@ -25,6 +25,8 @@ type Config struct { Cert *Cert BaseURI *string StoragePath string + DistAdmin string + DistWeChat string } func (c *Config) IsDevMode() bool {