github.com/kotovmak/go-admin@v1.1.1/adm/project_web.tmpl.go (about)

     1  package main
     2  
     3  var projectWebTmpl = `
     4  {{define "web_installation"}}
     5      <html>
     6      <head data-suburl="">
     7          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     8          <meta http-equiv="X-UA-Compatible" content="IE=edge">
     9  
    10          <meta name="author" content="GoAdmin">
    11          <meta name="description"
    12                content="GoAdmin is a golang framework which helps gopher to build a data visualization and admin panel in ten minutes">
    13          <meta name="keywords" content="go, git, framework, admin, GoAdmin">
    14  
    15          <meta name="referrer" content="no-referrer">
    16          <meta name="_csrf" content="{{.CSRFToken}}">
    17          <meta name="_suburl" content="">
    18  
    19          <meta property="og:url" content="http://localhost:{{.Port}}/">
    20          <meta property="og:type" content="website">
    21          <meta property="og:title" content="GoAdmin">
    22          <meta property="og:description"
    23                content="GoAdmin is a golang framework which helps gopher to build a data visualization and admin panel in ten minutes.">
    24          <meta property="og:site_name" content="GoAdmin">
    25  
    26          <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    27          <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css">
    28          <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/octicons/8.5.0/build.css">
    29          <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/semantic-ui/2.4.1/semantic.min.css">
    30          <noscript>
    31              <style>
    32                  .dropdown:hover > .menu {
    33                      display: block;
    34                  }
    35  
    36                  .ui.secondary.menu .dropdown.item > .menu {
    37                      margin-top: 0;
    38                  }
    39              </style>
    40          </noscript>
    41  
    42          <style>
    43              .install form .field {
    44                  text-align: left;
    45              }
    46  
    47              h1, h2, h3, h4, h5, .ui.header, .ui.menu, .ui.input input, .ui.button:not(.label) {
    48                  font-family: "PingFang SC", 'Hiragino Sans GB', "Helvetica Neue", "Microsoft YaHei", Arial, Helvetica, sans-serif !important;
    49              }
    50  
    51              .install form label {
    52                  text-align: right;
    53                  width: 320px !important;
    54              }
    55  
    56              .install form .field .help {
    57                  margin-left: 335px !important;
    58              }
    59  
    60              .install form .field {
    61                  text-align: left;
    62              }
    63  
    64              .form .help {
    65                  color: #999999;
    66                  padding-top: 0.6em;
    67                  padding-bottom: 0.6em;
    68                  display: inline-block;
    69                  word-break: break-word;
    70              }
    71  
    72              .ui.attached.header {
    73                  background: #f0f0f0;
    74              }
    75  
    76              .install {
    77                  padding-top: 45px;
    78                  padding-bottom: 80px;
    79              }
    80  
    81              body:not(.full-width) {
    82                  font-family: "PingFang SC", "Helvetica Neue", "Microsoft YaHei", Arial, Helvetica, sans-serif !important;
    83                  background-color: #fff;
    84                  overflow-y: scroll;
    85                  overflow-x: auto;
    86                  min-width: 1020px;
    87              }
    88  
    89              .full.height {
    90                  padding: 0;
    91                  margin: 0 0 -80px 0;
    92                  min-height: 100%;
    93              }
    94  
    95              .hide {
    96                  display: none;
    97              }
    98  
    99              .install form input {
   100                  width: 300px !important;
   101              }
   102  
   103              .install .ui.checkbox label {
   104                  width: auto !important;
   105              }
   106  
   107              .install form .field.optional .title {
   108                  margin-left: 320px !important;
   109              }
   110  
   111              .install .inline.checkbox {
   112                  margin-top: -1em;
   113                  margin-bottom: 2em;
   114              }
   115  
   116              .install .ui.checkbox {
   117                  margin-left: 335px !important;
   118              }
   119  
   120              .ui.container:not(.fluid) {
   121                  width: 980px !important;
   122              }
   123  
   124              .ui.left {
   125                  float: left;
   126              }
   127  
   128              .ui.right {
   129                  float: right;
   130              }
   131  
   132              footer .container .links > *:first-child {
   133                  border-left: none;
   134              }
   135  
   136              footer .container .links > * {
   137                  border-left: 1px solid #d6d6d6;
   138                  padding-left: 8px;
   139                  margin-left: 5px;
   140              }
   141  
   142              footer .container {
   143                  padding-top: 10px;
   144              }
   145  
   146              footer {
   147                  margin-top: 54px !important;
   148                  height: 40px;
   149                  background-color: white;
   150                  border-top: 1px solid #d6d6d6;
   151                  clear: both;
   152                  width: 100%;
   153                  color: #888888;
   154              }
   155  
   156              form .ui.dividing.header {
   157                  background-color: #fbf8f8;
   158                  color: #464545;
   159                  padding-bottom: 6px;
   160                  padding-top: 6px;
   161                  margin-bottom: 25px;
   162              }
   163          </style>
   164  
   165          <script src="https://cdn.bootcdn.net/ajax/libs/semantic-ui/2.4.1/semantic.min.js"></script>
   166  
   167          <title>{{local "web.installation page"}} - GoAdmin</title>
   168  
   169          <meta name="theme-color" content="#65d4e8">
   170      </head>
   171      <body data-gr-c-s-loaded="true">
   172      <div class="full height">
   173          <div class="install">
   174              <div class="ui middle very relaxed page grid">
   175                  <div class="sixteen wide center aligned centered column">
   176                      <h3 class="ui top attached header">
   177                          {{local "web.goadmin web installation program"}}
   178                      </h3>
   179                      <div class="ui attached segment install-form">
   180                          <form class="ui form" onsubmit="return false" action="##" method="post">
   181  
   182                              <h4 class="ui dividing header">{{local "web.database settings"}}</h4>
   183                              <div class="inline required field ">
   184                                  <label>{{local "web.database type"}}</label>
   185                                  <div class="ui selection database type dropdown" tabindex="0">
   186                                      <input type="hidden" id="db_type" name="db_type" value="MySQL">
   187                                      <div class="text">MySQL</div>
   188                                      <i class="dropdown icon"></i>
   189                                      <div class="menu" tabindex="-1">
   190                                          <div class="item active selected" data-value="mysql">MySQL</div>
   191                                          <div class="item" data-value="postgresql">PostgreSQL</div>
   192                                          <div class="item" data-value="mssql">MSSQL</div>
   193                                          <div class="item" data-value="sqlite">SQLite3</div>
   194                                          <div class="item" data-value="oceanbase">OceanBase</div>
   195  
   196                                      </div>
   197                                  </div>
   198                              </div>
   199  
   200                              <div id="sql_settings" class="">
   201                                  <div class="inline required field ">
   202                                      <label for="db_host">{{local "web.database host"}}</label>
   203                                      <input id="db_host" name="db_host" value="127.0.0.1">
   204                                  </div>
   205                                  <div class="inline required field ">
   206                                      <label for="db_port">{{local "web.database port"}}</label>
   207                                      <input id="db_port" name="db_port" value="3306">
   208                                  </div>
   209                                  <div class="inline required field ">
   210                                      <label for="db_user">{{local "web.database user"}}</label>
   211                                      <input id="db_user" name="db_user" value="root">
   212                                  </div>
   213                                  <div class="inline required field ">
   214                                      <label for="db_passwd">{{local "web.database password"}}</label>
   215                                      <input id="db_passwd" name="db_passwd" type="password" value="">
   216                                  </div>
   217                                  <div class="inline required field ">
   218                                      <label for="db_name">{{local "web.database name"}}</label>
   219                                      <input id="db_name" name="db_name" value="goadmin">
   220                                      <span class="help">{{local "web.where the framework sql data install to"}}</span>
   221                                  </div>
   222                              </div>
   223  
   224                              <div id="pgsql_settings" class="hide">
   225                                  <div class="inline required field ">
   226                                      <label for="db_schema">{{local "web.database schema"}}</label>
   227                                      <input id="db_schema" name="db_schema" value="public">
   228                                  </div>
   229                              </div>
   230  
   231                              <div id="sqlite_settings" class="hide">
   232                                  <div class="inline required field ">
   233                                      <label for="db_path">{{local "web.database file"}}</label>
   234                                      <input id="db_path" name="db_path" value="./admin.db">
   235                                      <span class="help">{{local "web.the file path of sqlite3 database"}}<br>{{local "web.please use absolute path when you start as service"}}</span>
   236                                  </div>
   237                              </div>
   238                              <div id="oceanbase_settings" class="hide">
   239                                  <div class="inline required field ">
   240                                      <label for="db_host">{{local "web.database host"}}</label>
   241                                      <input id="db_host" name="db_host" value="127.0.0.1">
   242                                  </div>
   243                                  <div class="inline required field ">
   244                                      <label for="db_port">{{local "web.database port"}}</label>
   245                                      <input id="db_port" name="db_port" value="2883">
   246                                  </div>
   247                                  <div class="inline required field ">
   248                                      <label for="db_user">{{local "web.database user"}}</label>
   249                                      <input id="db_user" name="db_user" value="root@sys">
   250                                  </div>
   251                                  <div class="inline required field ">
   252                                      <label for="db_passwd">{{local "web.database password"}}</label>
   253                                      <input id="db_passwd" name="db_passwd" type="password" value="">
   254                                  </div>
   255                                  <div class="inline required field ">
   256                                      <label for="db_name">{{local "web.database name"}}</label>
   257                                      <input id="db_name" name="db_name" value="goadmin">
   258                                      <span class="help">{{local "web.where the framework sql data install to"}}</span>
   259                                  </div>
   260                              </div>
   261                              <h4 class="ui dividing header">{{local "web.installation settings"}}</h4>
   262  
   263                              <div class="inline required field ">
   264                                  <label>{{local "web.web framework"}}</label>
   265                                  <div class="ui selection database type dropdown" tabindex="0">
   266                                      <input type="hidden" id="web_framework" name="web_framework" value="gin">
   267                                      <div class="text">Gin</div>
   268                                      <i class="dropdown icon"></i>
   269                                      <div class="menu" tabindex="-1">
   270                                          <div class="item active selected" data-value="gin">Gin</div>
   271                                          <div class="item" data-value="beego">Beego</div>
   272                                          <div class="item" data-value="buffalo">Buffalo</div>
   273                                          <div class="item" data-value="fasthttp">Fasthttp</div>
   274                                          <div class="item" data-value="echo">Echo</div>
   275                                          <div class="item" data-value="chi">Chi</div>
   276                                          <div class="item" data-value="gf">Gf</div>
   277                                          <div class="item" data-value="gorilla">Gorilla</div>
   278                                          <div class="item" data-value="iris">Iris</div>
   279                                      </div>
   280                                  </div>
   281                              </div>
   282                              <div class="inline required field ">
   283                                  <label for="module_name">{{local "web.module name"}}</label>
   284                                  <input id="module_name" name="module_name" value="{{.DefModuleName}}" required="">
   285                                  <span class="help">{{local "web.module name is the path of go module"}}</span>
   286                              </div>
   287                              <div class="inline required field ">
   288                                  <label>{{local "web.theme"}}</label>
   289                                  <div class="ui selection database type dropdown" tabindex="0">
   290                                      <input type="hidden" id="theme" name="theme" value="sword">
   291                                      <div class="text">Sword</div>
   292                                      <i class="dropdown icon"></i>
   293                                      <div class="menu" tabindex="-1">
   294                                          <div class="item active selected" data-value="sword">Sword</div>
   295                                          <div class="item" data-value="adminlte">Adminlte</div>
   296                                      </div>
   297                                  </div>
   298                              </div>
   299                              <div class="inline required field ">
   300                                  <label>{{local "web.language"}}</label>
   301                                  <div class="ui selection database type dropdown" tabindex="0">
   302                                      <input type="hidden" id="language" name="language" value="cn">
   303                                      <div class="text">{{local "web.simplified chinese"}}</div>
   304                                      <i class="dropdown icon"></i>
   305                                      <div class="menu" tabindex="-1">
   306                                          <div class="item active selected"
   307                                               data-value="cn">{{local "web.simplified chinese"}}</div>
   308                                          <div class="item" data-value="en">{{local "web.english"}}</div>
   309                                          <div class="item" data-value="jp">{{local "web.japanese"}}</div>
   310                                          <div class="item" data-value="tc">{{local "web.traditional chinese"}}</div>
   311                                      </div>
   312                                  </div>
   313                              </div>
   314                              <div class="inline required field ">
   315                                  <label for="http_port">{{local "web.http port"}}</label>
   316                                  <input id="http_port" name="http_port" value="80"
   317                                         required="">
   318                                  <span class="help">{{local "web.port number which application will listen on"}}</span>
   319                              </div>
   320                              <div class="inline required field ">
   321                                  <label for="prefix">{{local "web.url prefix"}}</label>
   322                                  <input id="prefix" name="prefix" value="admin" required="">
   323                                  <span class="help">{{local "web.url prefix of the running application"}}</span>
   324                              </div>
   325                              <div class="inline required field ">
   326                                  <label>{{local "web.use orm"}}</label>
   327                                  <div class="ui selection database type dropdown" tabindex="0">
   328                                      <input type="hidden" id="use_gorm" name="use_gorm" value="">
   329                                      <div class="text">{{local "web.no use"}}</div>
   330                                      <i class="dropdown icon"></i>
   331                                      <div class="menu" tabindex="-1">
   332                                          <div class="item active selected" data-value="">{{local "web.no use"}}</div>
   333                                          <div class="item" data-value="gorm">GORM</div>
   334                                      </div>
   335                                  </div>
   336                              </div>
   337  
   338                              <h4 class="ui dividing header">{{local "web.application settings"}}</h4>
   339  
   340                              <div class="inline required field">
   341                                  <label for="web_title">{{local "web.website title"}}</label>
   342                                  <input id="web_title" name="web_title" value="GoAdmin"
   343                                         placeholder="{{local "input"}} {{local "web.website title"}}" required="">
   344                              </div>
   345  
   346                              <div class="inline required field">
   347                                  <label for="login_page_logo">{{local "web.login page logo"}}</label>
   348                                  <input id="login_page_logo" name="login_page_logo" value="GoAdmin"
   349                                         placeholder="{{local "input"}} {{local "web.login page logo"}}" required="">
   350                              </div>
   351  
   352                              <div class="inline required field">
   353                                  <label for="sidebar_logo">{{local "web.sidebar logo"}}</label>
   354                                  <input id="sidebar_logo" name="sidebar_logo" value="GoAdmin"
   355                                         placeholder="{{local "input"}} {{local "web.sidebar logo"}}" required="">
   356                              </div>
   357  
   358                              <div class="inline required field">
   359                                  <label for="sidebar_min_logo">{{local "web.sidebar mini logo"}}</label>
   360                                  <input id="sidebar_min_logo" name="sidebar_min_logo" value="GA"
   361                                         placeholder="{{local "input"}} {{local "web.sidebar mini logo"}}" required="">
   362                              </div>
   363  
   364                              <div class="ui divider"></div>
   365                              <div class="inline field">
   366                                  <label></label>
   367                                  <button class="ui primary button"
   368                                          style="background-color: #65d4e8;"
   369                                          onclick="install()">{{local "web.install now"}}</button>
   370                              </div>
   371                          </form>
   372                      </div>
   373                      <div class="ui attached segment install-success-readme-cn"
   374                           style="display:none;text-align: left;padding-left: 50px;padding-top: 30px;">
   375                          <h3>
   376                              一. 安装步骤
   377                          </h3>
   378                          <p>
   379                              1. 下载并导入对应的SQL文件:
   380                          </p>
   381                          <p>
   382                          <ul>
   383                              <li>
   384                                  <a href="https://gitee.com/go-admin/go-admin/raw/master/data/admin.sql" target="_blank">Mysql</a>
   385                              </li>
   386                              <li>
   387                                  <a href="https://gitee.com/go-admin/go-admin/raw/master/data/admin.mssql"
   388                                     target="_blank">Mssql</a>
   389                              </li>
   390                              <li>
   391                                  <a href="https://gitee.com/go-admin/go-admin/raw/master/data/admin.pgsql"
   392                                     target="_blank">Postgresql</a>
   393                              </li>
   394                              <li>
   395                                  <a href="https://gitee.com/go-admin/go-admin/raw/master/data/admin.db" target="_blank">SQLite3</a>
   396                              </li>
   397                              <li>
   398                                  <a href="https://gitee.com/go-admin/go-admin/raw/master/data/admin.sql" target="_blank">OceanBase</a>
   399                              </li>
   400                          </ul>
   401                          <p>
   402                              2. 依次执行以下命令:
   403                          </p>
   404                          {{if eq .GOOS "windows"}}
   405                              <p>
   406                              <pre class="prettyprint lang-bsh">> GO111MODULE=on go mod init <span
   407                                          class="module_name_pre">xxx</span>
   408  > GORPOXY=https://goproxy.io GO111MODULE=on go mod tidy
   409  > GO111MODULE=on go run .</pre>
   410                              </p>
   411                          {{else}}
   412                              <p>
   413                              <pre class="prettyprint lang-bsh">> make init module=<span
   414                                          class="module_name_pre">xxx</span>
   415  > GORPOXY=https://goproxy.io make install
   416  > make serve</pre>
   417                              </p>
   418                          {{end}}
   419                          <p>
   420                              3. 登录访问
   421                          </p>
   422                          <p>
   423                              <a class="login_url_cn" href="http://127.0.0.1:9033/admin/login" target="_blank">http://127.0.0.1:9033/admin/login</a>
   424                          </p>
   425                          <p>
   426                              账号:admin&nbsp; 密码:admin
   427                          </p>
   428                          <p>
   429                              4. 查看文件中的readme了解更多
   430                          </p>
   431                          <h3>
   432                              二. 关于GoAdmin
   433                          </h3>
   434                          <h3>
   435                              <ul>
   436                                  <li>
   437                                      <span style="font-size:15px;font-weight:normal;">Github:&nbsp;<a
   438                                                  href="https://github.com/GoAdminGroup/go-admin" target="_blank">https://github.com/GoAdminGroup/go-admin</a></span>
   439                                  </li>
   440                                  <li>
   441                                      <span style="font-size:15px;font-weight:normal;">官网:<a
   442                                                  href="https://www.go-admin.cn/"
   443                                                  target="_blank">https://www.go-admin.cn/</a></span>
   444                                  </li>
   445                                  <li>
   446                                      <span style="font-size:15px;font-weight:normal;">论坛:<a
   447                                                  href="http://discuss.go-admin.com/" target="_blank">http://discuss.go-admin.com/</a></span>
   448                                  </li>
   449                                  <li>
   450                                      <span style="font-size:15px;font-weight:normal;">文档:<a
   451                                                  href="http://doc.go-admin.cn/zh/" target="_blank">http://doc.go-admin.cn/zh/</a></span>
   452                                  </li>
   453                              </ul>
   454                          </h3>
   455                          <p>
   456                              <br/>
   457                          </p>
   458                      </div>
   459                      <div class="ui attached segment install-success-readme-en"
   460                           style="display:none;text-align: left;padding-left: 50px;padding-top: 30px;">
   461                          <h3>
   462                              一 Installation steps
   463                          </h3>
   464                          <p>
   465                              1. Download and import the corresponding SQL file:
   466                          </p>
   467                          <p>
   468                          <ul>
   469                              <li>
   470                                  <a href="https://raw.githubusercontent.com/GoAdminGroup/go-admin/master/data/admin.sql"
   471                                     target="_blank">Mysql</a>
   472                              </li>
   473                              <li>
   474                                  <a href="https://raw.githubusercontent.com/GoAdminGroup/go-admin/master/data/admin.mssql"
   475                                     target="_blank">Mssql</a>
   476                              </li>
   477                              <li>
   478                                  <a href="https://raw.githubusercontent.com/GoAdminGroup/go-admin/master/data/admin.pgsql"
   479                                     target="_blank">Postgresql</a>
   480                              </li>
   481                              <li>
   482                                  <a href="https://raw.githubusercontent.com/GoAdminGroup/go-admin/master/data/admin.db"
   483                                     target="_blank">SQLite3</a>
   484                              </li>
   485                              <li>
   486                                  <a href="https://raw.githubusercontent.com/GoAdminGroup/go-admin/master/data/admin.sql"
   487                                     target="_blank">OceanBase</a>
   488                              </li>
   489                          </ul>
   490                          <p>
   491                              2. Execute the following command in turn
   492                          </p>
   493                          {{if eq .GOOS "windows"}}
   494                              <p>
   495                              <pre class="prettyprint lang-bsh">> GO111MODULE=on go mod init <span
   496                                          class="module_name_pre">xxx</span>
   497  > GORPOXY=https://goproxy.io GO111MODULE=on go mod tidy
   498  > GO111MODULE=on go run .</pre>
   499                              </p>
   500                          {{else}}
   501                              <p>
   502                              <pre class="prettyprint lang-bsh">> make init module=<span
   503                                          class="module_name_pre">xxx</span>
   504  > GORPOXY=https://goproxy.io make install
   505  > make serve</pre>
   506                              </p>
   507                          {{end}}
   508                          <p>
   509                              3. Login to visit
   510                          </p>
   511                          <p>
   512                              <a class="login_url_en" href="http://127.0.0.1:9033/admin/login" target="_blank">http://127.0.0.1:9033/admin/login</a>
   513                          </p>
   514                          <p>
   515                              Account: admin&nbsp; Password: admin
   516                          </p>
   517                          <p>
   518                              4. Learn more in the readme
   519                          </p>
   520                          <h3>
   521                              二. About GoAdmin
   522                          </h3>
   523                          <h3>
   524                              <ul>
   525                                  <li>
   526                                      <span style="font-size:15px;font-weight:normal;">Github:&nbsp;<a
   527                                                  href="https://github.com/GoAdminGroup/go-admin" target="_blank">https://github.com/GoAdminGroup/go-admin</a></span>
   528                                  </li>
   529                                  <li>
   530                                      <span style="font-size:15px;font-weight:normal;">Official Website: <a
   531                                                  href="https://www.go-admin.com/"
   532                                                  target="_blank">https://www.go-admin.com/</a></span>
   533                                  </li>
   534                                  <li>
   535                                      <span style="font-size:15px;font-weight:normal;">Forum: <a
   536                                                  href="http://discuss.go-admin.com/" target="_blank">http://discuss.go-admin.com/</a></span>
   537                                  </li>
   538                                  <li>
   539                                      <span style="font-size:15px;font-weight:normal;">文档: <a
   540                                                  href="http://doc.go-admin.cn/zh/" target="_blank">https://book.go-admin.cn/</a></span>
   541                                  </li>
   542                              </ul>
   543                          </h3>
   544                          <p>
   545                              <br/>
   546                          </p>
   547                      </div>
   548                  </div>
   549              </div>
   550          </div>
   551      </div>
   552      <div class="ui mini modal">
   553          <i class="close icon"></i>
   554          <div class="header">
   555              {{local "web.result"}}
   556          </div>
   557          <div class="content">
   558  
   559          </div>
   560          <div class="actions">
   561              <div class="ui approve button">{{local "web.ok"}}</div>
   562          </div>
   563      </div>
   564      <footer>
   565          <div class="ui container">
   566              <div class="ui left">
   567                  © 2020 GoAdmin {{local "current version"}}: {{.Version}}
   568              </div>
   569              <div class="ui right links">
   570                  <div class="ui language bottom floating slide up dropdown link item" tabindex="0">
   571                      <i class="world icon"></i>
   572                      <div class="text">{{local .CurrentLang}}</div>
   573                      <div class="menu" tabindex="-1">
   574                          <a class="item {{if eq .CurrentLang "web.simplified chinese"}}active selected{{end}}"
   575                             href="/?lang=cn">{{local "web.simplified chinese"}}</a>
   576                          <a class="item {{if eq .CurrentLang "web.english"}}active selected{{end}}"
   577                             href="/?lang=en">English</a>
   578                      </div>
   579                  </div>
   580                  <a href="http://localhost:5678/assets/librejs/librejs.html" style="display:none" data-jslicense="1">Javascript
   581                      Licenses</a>
   582                  <a target="_blank" rel="noopener noreferrer"
   583                     href="https://www.go-admin.cn" style="color: #65d4e8;">{{local "web.official website"}}</a>
   584                  <span class="version">{{.GoVer}}</span>
   585              </div>
   586          </div>
   587      </footer>
   588  
   589      <script>
   590  
   591          $("#db_type").change(function () {
   592              let sqliteDefault = './admin.db';
   593  
   594              let dbType = $(this).val();
   595              if (dbType === "sqlite") {
   596                  $('#sql_settings').hide();
   597                  $('#pgsql_settings').hide();
   598                  $('#sqlite_settings').show();
   599  
   600                  if (dbType === "sqlite") {
   601                      $('#db_path').val(sqliteDefault);
   602                  }
   603                  return;
   604              }
   605  
   606              let dbDefaults = {
   607                  "mysql": {
   608                      "addr": "127.0.0.1",
   609                      "port": "3306",
   610                      "user": "root"
   611                  },
   612                  "postgresql": {
   613                      "addr": "127.0.0.1",
   614                      "port": "5432",
   615                      "user": "postgres"
   616                  },
   617                  "mssql": {
   618                      "addr": "127.0.0.1",
   619                      "port": "1433",
   620                      "user": "sa"
   621                  },
   622                  "oceanbase": {
   623                      "addr": "127.0.0.1",
   624                      "port": "2881",
   625                      "user": "root@sys"
   626                  }
   627              };
   628  
   629              $('#sqlite_settings').hide();
   630              $('#sql_settings').show();
   631              $('#pgsql_settings').toggle(dbType === "postgresql");
   632  
   633              $.each(dbDefaults, function (key, value) {
   634                  if ($('#db_type').val() === key) {
   635                      $('#db_host').val(value["addr"]);
   636                      $('#db_port').val(value["port"]);
   637                      $('#db_user').val(value["user"]);
   638                      return false;
   639                  }
   640              });
   641          });
   642  
   643  
   644          $('#offline-mode input').change(function () {
   645              if ($(this).is(':checked')) {
   646                  $('#disable-gravatar').checkbox('check');
   647                  $('#federated-avatar-lookup').checkbox('uncheck');
   648              }
   649          });
   650          $('#disable-gravatar input').change(function () {
   651              if ($(this).is(':checked')) {
   652                  $('#federated-avatar-lookup').checkbox('uncheck');
   653              } else {
   654                  $('#offline-mode').checkbox('uncheck');
   655              }
   656          });
   657          $('#federated-avatar-lookup input').change(function () {
   658              if ($(this).is(':checked')) {
   659                  $('#disable-gravatar').checkbox('uncheck');
   660                  $('#offline-mode').checkbox('uncheck');
   661              }
   662          });
   663          $('#disable-registration input').change(function () {
   664              if ($(this).is(':checked')) {
   665                  $('#enable-captcha').checkbox('uncheck');
   666              }
   667          });
   668          $('#enable-captcha input').change(function () {
   669              if ($(this).is(':checked')) {
   670                  $('#disable-registration').checkbox('uncheck');
   671              }
   672          });
   673  
   674          function install() {
   675              let port = $('#http_port').val();
   676              let prefix = $('#prefix').val();
   677              let login_url = "http://127.0.0.1:" + port + "/" + prefix + "/login";
   678  
   679              $('.login_url_cn').attr("href", login_url);
   680              $('.login_url_cn').html(login_url);
   681              $('.login_url_en').attr("href", login_url);
   682              $('.login_url_en').html(login_url);
   683  
   684              let module_name = $('#module_name').val();
   685              $('.module_name_pre').each(function (index, ele) {
   686                  $(ele).html(module_name);
   687              });
   688  
   689              $.ajax({
   690                  type: "POST",
   691                  dataType: "json",
   692                  url: '/install?lang={{if eq .CurrentLang "web.simplified chinese"}}cn{{else}}en{{end}}',
   693                  data: $('form.form').serialize(),
   694                  success: function (data) {
   695                      console.log(data);
   696                      $('.ui.modal .content').html(data.msg);
   697                      $('.ui.modal').modal('show');
   698                      if (data.code === 0) {
   699                          $('.install-form').hide();
   700                          {{if eq .CurrentLang "web.simplified chinese"}}
   701                          $('.install-success-readme-cn').show();
   702                          {{else}}
   703                          $('.install-success-readme-en').show();
   704                          {{end}}
   705                      }
   706                  },
   707                  error: function () {
   708                      alert("error");
   709                  }
   710              });
   711          }
   712  
   713          $('.ui.dropdown').dropdown({
   714              forceSelection: false
   715          });
   716          $('.ui.accordion').accordion();
   717          $('.ui.checkbox').checkbox();
   718          $('.poping.up').popup();
   719  
   720      </script>
   721      </body>
   722      </html>
   723  {{end}}
   724  `