本来采用此项目是从 IrisAdminApi 升级而来。在开发过程中遇到一个问题:gorm 的多对多关系中间表中自定义字段。 在搜索的过程中无意间发现了 gorm 作者团队的 CMS 框架 Qor-Admin ,文档请见 https://doc.getqor.com/。 一见到
Qor-Admin
框架,我就决定使用它重构我的项目了,它有很多值得我去深入了解的地方。 —— 不想偷懒的程序员无法成为一个优秀的程序员。Qor-Admin
可以单独使用,也可以和其他框架结合使用。本项目采用Iris 结合 Qor-Admin
形式开发,其他框架大同小异。 参考项目:qor-exampleqor-example 是一个购物商城实例,目前已经使用 iris 重构了路由 (有部分问题未修复),详细代码位于 devForQor 分支。 devForGoTenancy 分支 , 是一次更换 qor-admin 前端模版的尝试,因为前端水平有限,目前没有完成,暂停更新....。
qor 整体框架组件十分的完善,实现了大部分的功能。当然,框架做了太多事情,随之而来的问题也会很多。我在使用过程中总结了一些问题都集中记录在 问题记录 中。
注意:因为将原本的认证路由 auth/*
修改为 admin/*
,导致认证 auth
包的 assets/*
资源路径和 admin
包的 assets/*
资源路径重叠
导致只能用 iris 代理其中之一,为了解决这个问题我将 auth
包的前端文件都复制到了 admin
包中。
提供一个 iris'wiki 中文文档,方便大家学习 iris :
qor 文档地址
也欢迎加入 Iris-go 学习交流QQ群,一起交流学习心得 :676717248
package main
import (
"github.com/kataras/iris/v12"
"github.com/qor/admin"
)
func main() {
app := iris.New()
qorPrefix := "/admin"
// create a new qor admin instance.
q := admin.New(&admin.AdminConfig{DB: yourDB})
// create a qor handler and convert it to an iris one with `iris.FromStd`.
handler := iris.FromStd(q.NewServeMux(qorPrefix))
// register routes for "/admin" and "/admin/:xxx/..."
app.Any(qorPrefix, handler)
app.Any(qorPrefix+"/{p:path}", handler)
// start the server.
app.Listen(":8080")
}
拉取项目
git clone https://github.com/snowlyg/go-tenancy.git
// github 克隆太慢可以用 gitee 地址:
git clone https://gitee.com/dtouyu/go-tenancy.git
加载依赖管理包 (解决国内下载依赖太慢问题) golang 1.13 可以直接执行:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
修改
go-tenancy/config
下的配置文件 : application.yml - 应用配置 database.yml - 数据配置 smtp.yml - 邮箱配置
加载数据
#第一次启动执行
go run config/db/seeds/main.go config/db/seeds/seeds.go
打包模版文件和静态文件
# 模版文件 - 仅部署到生产环境使用,开发跳过此步骤
go run main.go -compile-templates=true
# windows 环境如果安装失败,请尝试运行:
# npm install -g node-gyp
# npm install --global --production windows-build-tools
#安装 npm 依赖
npm install
#打包静态文件
npm run build
运行项目
go get github.com/silenceper/gowatch
#安装 gowatch 后才可以使用
gowatch
当然你也可以直接使用,此方法无法热加载
go run main.go
dev@getqor.com/testing
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。