代码拉取完成,页面将自动刷新
同步操作将从 进击的皇虫/DocHub 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package HomeControllers
import (
"strings"
"github.com/TruthHun/DocHub/helper"
"github.com/TruthHun/DocHub/models"
"github.com/astaxie/beego"
)
type InstallController struct {
beego.Controller
}
type installForm struct {
Host string `form:"host"`
Port int `form:"port"`
Database string `form:"database"`
Prefix string `form:"prefix"` //表前缀
Username string `form:"username"`
Password string `form:"password"`
Charset string `form:"charset"`
}
//安装程序
func (this *InstallController) Install() {
if helper.IsInstalled { //如果程序已安装,在访问该路由是,跳转到首页
this.Redirect("/", 302)
return
}
if this.Ctx.Request.Method == "GET" {
this.TplName = "Install/install.html"
return
}
var form installForm
var respData = map[string]interface{}{"status": 0}
this.ParseForm(&form)
if form.Charset == "" {
respData["msg"] = "请选择您创建的数据库字符编码!!!请选择您创建的数据库字符编码!!!请选择您创建的数据库字符编码!!!"
} else if form.Database == "" || form.Host == "" || form.Username == "" || form.Port <= 0 {
respData["msg"] = "所有必填输入项均不能为空,请按要求进行填写"
} else {
if err := models.CheckDatabaseIsExist(form.Host, form.Port, form.Username, form.Password, form.Database); err != nil {
respData["msg"] = "数据库连接失败:" + err.Error()
} else {
//生成app.conf配置项
if form.Prefix = strings.TrimSpace(form.Prefix); form.Prefix == "" {
form.Prefix = "hc_"
}
if err = helper.GenerateAppConf(form.Host, form.Port, form.Username, form.Password, form.Database, form.Prefix, form.Charset); err == nil {
//重载app.conf
if err = beego.LoadAppConfig("ini", "conf/app.conf"); err == nil {
//初始化数据库
models.Init()
//将安装设置为true
helper.IsInstalled = true
respData["msg"] = "程序安装成功"
respData["status"] = 1
} else {
respData["msg"] = "重载配置文件失败:" + err.Error()
}
} else {
respData["msg"] = "生成配置文件失败:" + err.Error()
}
}
}
this.Data["json"] = respData
this.ServeJSON()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。