vuethink 安装流程

来源:互联网 发布:理科生 禅师 知乎 编辑:程序博客网 时间:2024/06/07 02:57

Vuthink正确安装过程

1.      下载项目vuethink,本例将项目放置website文件下。

2.      后台搭建

本地建站–》以phpstudy为例

1)      新建站点域名

<VirtualHost*:80>

    DocumentRoot "D:\website\VueThink\php\public"

    ServerName www.vuethink.com

    ServerAlias

  <Directory "D:\website\VueThink\php\public">

      Options FollowSymLinks ExecCGI

      AllowOverride All

      Order allow,deny

      Allow from all

      Require all granted

  </Directory>

</VirtualHost>

2)      win+R运行drivers

在etc/hosts文件添加本地ip域名

127.0.0.1www.vuethink.com

3.      前台搭建

1)      运行cmd 进入frontend文件

2)      npm install

本项目提示npm WARN package.json xxx@0.0.0 No repository field.

参考地址 :http://hao.jser.com/archive/5381/

修改:在package.json添加(也可以忽略,不修改)

"private":true,

             "repository": {

        "type":"git",

        "url":"http://github.com/yourname/repositoryname.git"

            },

3)      npm run dev

4.      检查php版本

首先thinkphp5.0要求php为5.4以上,所以请先检查php版本。

5.     用户名:admin,密码 :123456

6.      修改文件

1)      修改数据库配置文件Vuethink/php/config/database.php

'type'          => 'mysql',

'hostname'      => '127.0.0.1',

'database'      => 'install',

'username'      => 'root',

'password'      => 'root',

2)      旧版压缩包,数据表menu url字段开头带有/

修改前端src/router.js文件

将所有children path 路径前加/ ,再次登录跳转显示正常

           新版压缩包,数据表menuurl字段开头不带/

此处不用修改

3)      修改application\admin\controller\Base.php文件,看到最后:

// miss 路由:处理没有匹配到的路由规则

public function miss()

{

             return ;

} 将return; 修改为 return “router_error”; (此处修改方便提示)

4)      前后端分离,修改main.js文件

将axios.defaults.baseURL = HOST改为

axios.defaults.baseURL = 'http://www.vuethink.com/index.php/'   vuethink采用axios请求后端程序,而且此处设置就是让axios每次请求都自动加上baseURL。

window.HOST = HOST改为

window.HOST = 'http://www.vuethink.com/index.php/' 这里的意义还没弄明白,后面再补充。


安装完成

解释带index.php原因(thinkphp问题):

由于thinkphp5.0中 \config\config.php

// 入口自动绑定模块

'auto_bind_module'  =>false,

这里设置为false,所以url必须是http://vuethink.com/index.php/admin/base/getConfigs

但是地址栏输入url后仍不显示,原来\config\route_admin.php中定义上面url请求只能是POST请求,所以才有问题。

将'admin/base/getConfigs'=> ['admin/base/getConfigs', ['method' => 'POST']], 的POST改为GET,

在地址栏输入http://www.vuethink.com/index.php/admin/base/getConfigs,结果显示数据(安全起见,测试完成后要改回POST方式)

而前后端路由关系是 :路由地址经过拼接发出请求,获取数据

1. Main.js文件

axios.defaults.baseURL= "http://www.vuethink.com/index.php/"

window.HOST ="http://www.vuethink.com/index.php/"

2. 例如login.vue文件

this.apiPost('admin/base/login',data).then((res) => {

              if (res.code != 200) {

                this.loading = !this.loading

                this.handleError(res)

              } else {

                this.refreshVerify()

                if (this.checked) {

                  Cookies.set('rememberPwd',true, { expires: 1 })

                }

                this.resetCommonData(res.data)

                _g.toastMsg('success', '登录成功')

              }

            }

0 0