GFAST-CMS

请务必先看一下前面的文档和goframe开发文档

CMS 前台

前台应用为 /internal/app/home

前台应用的API定义在 /api/v1/home 中

应用依赖ucenter模块

前台访问地址为: http://location:8808/home 如果需要修改 则修改 /internal/app/home/router/router.go 中 home的名称。修改为 / 则访问地址为根目录

如果使用nginx 来部署则不需要修改 home路由,请在nginx中增加反向代理,具体看最后面的nginx配置示例

group.Group("/home", func(group *ghttp.RouterGroup) {
        // 对 /home 下的路径启用ucenter中间件
        g.Server().BindMiddleware("/home/*", ucenterService.Middleware().Ctx)
        // 绑定404错误跳转页面
        g.Server().BindStatusHandler(404, func(r *ghttp.Request) {
            if gregex.IsMatchString(`^/home/*`, r.RequestURI) {
                view := homeService.CmsTemplate().GetCmsView(r)
                homeService.HomeCommon().Success(r, view, "common/404.html")
            }
        })
        // 绑定500错误跳转页面
        g.Server().BindStatusHandler(500, func(r *ghttp.Request) {
            if gregex.IsMatchString(`^/home/*`, r.RequestURI) {
                view := homeService.CmsTemplate().GetCmsView(r)
                view.Assign("errMsg", "服务器发生500错误:"+r.GetError().Error())
                homeService.HomeCommon().Success(r, view, "common/500.html")
            }
        })
})

管理后台部署

修改配置文件 .env.production

# 线上环境
ENV = 'production'

# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
# 如下配置访问地址为: http://域名/sys/ 注意后面的斜杠
VITE_PUBLIC_PATH = '/sys/'

# 线上环境接口地址
VITE_API_URL = '/prod-api/'

执行 npm build 编译管理端文件

nginx部署配置说明

以下是完整 nginx配置文件,请参考修改为自己的域名和路径

server
{
    listen 80; # 监听端口
    server_name demo.g-fast.cn; # 绑定域名
    index index.php index.html index.htm default.php default.htm default.html; # 默认索引文件
    root /www/wwwroot/demo.g-fast.cn; # root 网站根路径

    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }

    # 关键配置,管理后台路径重写定位到 http://域名/sys/index.html
    location ^~ /sys/ {
        try_files $uri $uri/ /index.html;
    }

    # 关键配置,上传文件路径重定位到golang 的上传目录
    location ^~ /prod-api/upload_file/
    {
        alias /www/wwwroot/demo.g-fast.cn/go_app/resource/public/upload_file/;
    }

    # 关键配置,上传文件路径重定位到golang 的上传目录
    location ^~ /upload_file/
    {
        alias /www/wwwroot/demo.g-fast.cn/go_app/resource/public/upload_file/;
    }

    # 关键配置,CMS的静态文件(.css,.js)重定位
    location ^~ /cms/default/
    {
        alias /www/wwwroot/demo.g-fast.cn/go_app/resource/public/cms/default/;
        expires      12h;
        error_log /dev/null;
        access_log /dev/null;
    }

    # 关键配置,CMS的公共静态文件地址代理,如表情文件
    location ^~ /static/
    {
        alias /www/wwwroot/demo.g-fast.cn/go_app/resource/public/static/;
    }

    # 关键配置,后台接口 反向代理
    location ^~ /prod-api/
    {
        proxy_pass http://127.0.0.1:8818/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;

        add_header X-Cache $upstream_cache_status;

        add_header Cache-Control no-cache;
    }

    # 将 /home/ 地址转发到 / 防止后台解析的url中带 /home/ 路径
    location ^~ /home/
    {
        rewrite ^/home/(.*)$ /$1 permanent;
    }

    # 关键配置,将 http://域名/ 访问地址反向代理到 CMS 的 home 路由
    location /
    {
        proxy_pass http://127.0.0.1:8818/home/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;

        add_header X-Cache $upstream_cache_status;

           add_header Cache-Control no-cache;
    }
    # 访问日志路径
    access_log  /www/wwwlogs/demo.g-fast.cn.log;
    # 错误日志路径
    error_log  /www/wwwlogs/demo.g-fast.cn.error.log;
}

修正模板文件中的接口 APIBASE 地址

请修改 layout.html 中的 apibase 地址 var APIBASE = “/api/v1/“

// prod-api 为反向代理的地址
var APIBASE = "/prod-api/api/v1/"

模板文件

模板文件地址:/resource/template/cms/theme

样式文件地址:/resource/cms/

修改模板样式请在后台管理的CMS配置中修改 主题模板 默认模板为 default

作者:袁学飞  创建时间:2024-02-18 09:35
最后编辑:袁学飞  更新时间:2024-03-21 15:58