Compare commits
16 Commits
2a9054c9d8
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| 6977325bb1 | |||
| 1a565fd788 | |||
| 67969b005f | |||
| 62ce1f2068 | |||
| f682741758 | |||
| 9fd6e08400 | |||
| a130550274 | |||
| 7d48d74cb1 | |||
| e8b92eb473 | |||
| 21f7367b7e | |||
| 36fecb5d9e | |||
| a52429930e | |||
| 9216e2f157 | |||
| ddde0e25d1 | |||
| 4b9b4f1880 | |||
| 4bbed319f2 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,6 +1,9 @@
|
||||
/node_modules
|
||||
/public/hot
|
||||
/public/storage
|
||||
/public/js
|
||||
/public/css
|
||||
/public/fonts
|
||||
/storage/*.key
|
||||
/vendor
|
||||
/.idea
|
||||
|
||||
@@ -18,7 +18,9 @@ class LoginController extends Controller
|
||||
|
|
||||
*/
|
||||
|
||||
use AuthenticatesUsers;
|
||||
use AuthenticatesUsers{
|
||||
showLoginForm as traitShowLoginForm;
|
||||
}
|
||||
|
||||
/**
|
||||
* Where to redirect users after login.
|
||||
@@ -36,4 +38,47 @@ class LoginController extends Controller
|
||||
{
|
||||
$this->middleware('guest')->except('logout');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the application's login form.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function showLoginForm()
|
||||
{
|
||||
// return view('auth.login');
|
||||
// return $this->traitShowLoginForm();
|
||||
return view('auth.login');
|
||||
}
|
||||
|
||||
/**
|
||||
* 顯示接案者的登入表單
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function showReceiverLoginForm()
|
||||
{
|
||||
return $this->showLoginForm();
|
||||
}
|
||||
|
||||
/**
|
||||
* 顯示發案者的登入表單
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function showCaseBuilderLoginForm()
|
||||
{
|
||||
return $this->showLoginForm();
|
||||
}
|
||||
|
||||
/**
|
||||
* 顯示網站管理者的登入表單
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function showAdminLoginForm()
|
||||
{
|
||||
return $this->showLoginForm();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ return [
|
||||
*/
|
||||
|
||||
'defaults' => [
|
||||
'guard' => 'web',
|
||||
'passwords' => 'users',
|
||||
'guard' => 'receivers-web',
|
||||
'passwords' => 'receivers',
|
||||
],
|
||||
|
||||
/*
|
||||
@@ -36,15 +36,42 @@ return [
|
||||
*/
|
||||
|
||||
'guards' => [
|
||||
'web' => [
|
||||
// 'web' => [
|
||||
// 'driver' => 'session',
|
||||
// 'provider' => 'users',
|
||||
// ],
|
||||
// 'api' => [
|
||||
// 'driver' => 'token',
|
||||
// 'provider' => 'users',
|
||||
// ],
|
||||
|
||||
'receivers-web' => [
|
||||
'driver' => 'session',
|
||||
'provider' => 'users',
|
||||
'provider' => 'receivers',
|
||||
],
|
||||
'receivers-api' => [
|
||||
'driver' => 'token',
|
||||
'provider' => 'receivers',
|
||||
],
|
||||
|
||||
'api' => [
|
||||
'driver' => 'token',
|
||||
'provider' => 'users',
|
||||
'caseBuilders-web' => [
|
||||
'driver' => 'session',
|
||||
'provider' => 'caseBuilders',
|
||||
],
|
||||
'caseBuilders-api' => [
|
||||
'driver' => 'token',
|
||||
'provider' => 'caseBuilders',
|
||||
],
|
||||
|
||||
'admins-web' => [
|
||||
'driver' => 'session',
|
||||
'provider' => 'admins',
|
||||
],
|
||||
// 'admins-api' => [
|
||||
// 'driver' => 'token',
|
||||
// 'provider' => 'admins',
|
||||
// ],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
@@ -65,9 +92,21 @@ return [
|
||||
*/
|
||||
|
||||
'providers' => [
|
||||
'users' => [
|
||||
// 'users' => [
|
||||
// 'driver' => 'eloquent',
|
||||
// 'model' => App\User::class,
|
||||
// ],
|
||||
'receivers' => [
|
||||
'driver' => 'eloquent',
|
||||
'model' => App\User::class,
|
||||
'model' => App\Receiver::class,
|
||||
],
|
||||
'caseBuilders' => [
|
||||
'driver' => 'eloquent',
|
||||
'model' => App\CaseBuilder::class,
|
||||
],
|
||||
'admins' => [
|
||||
'driver' => 'eloquent',
|
||||
'model' => App\Admin::class,
|
||||
],
|
||||
|
||||
// 'users' => [
|
||||
@@ -92,11 +131,21 @@ return [
|
||||
*/
|
||||
|
||||
'passwords' => [
|
||||
'users' => [
|
||||
'provider' => 'users',
|
||||
'table' => 'password_resets',
|
||||
// 'users' => [
|
||||
// 'provider' => 'users',
|
||||
// 'table' => 'password_resets',
|
||||
// 'expire' => 60,
|
||||
// ],
|
||||
'receivers' => [
|
||||
'provider' => 'receivers',
|
||||
'table' => 'password_resets_for_receiver',
|
||||
'expire' => 60,
|
||||
],
|
||||
'caseBuilders' => [
|
||||
'provider' => 'caseBuilders',
|
||||
'table' => 'password_resets_for_casebuilder',
|
||||
'expire' => 60,
|
||||
]
|
||||
],
|
||||
|
||||
];
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreatePasswordResetsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('password_resets', function (Blueprint $table) {
|
||||
$table->string('email')->index();
|
||||
$table->string('token');
|
||||
$table->timestamp('created_at')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('password_resets');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class RenameResetPasswordTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('password_resets', function (Blueprint $table) {
|
||||
$table->rename('password_resets_for_receiver');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('password_resets_for_receiver', function (Blueprint $table) {
|
||||
$table->rename('password_resets');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreatePasswordResetsForCasebuilderTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('password_resets_for_casebuilder', function (Blueprint $table) {
|
||||
$table->string('email')->index();
|
||||
$table->string('token');
|
||||
$table->timestamp('created_at')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('password_resets_for_casebuilder');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreatePasswordResetsForAdminTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('password_resets_for_admin', function (Blueprint $table) {
|
||||
$table->string('email')->index();
|
||||
$table->string('token');
|
||||
$table->timestamp('created_at')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('password_resets_for_admin');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class ModifiyPasswordResetsForReceiverColumn extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('Receiver', function (Blueprint $table) {
|
||||
$table->unique('email');
|
||||
});
|
||||
Schema::table('password_resets_for_receiver', function (Blueprint $table) {
|
||||
$table->foreign('email', 'fk_password_resets_for_receiver_1')->references('email')->on('Receiver')->onUpdate('NO ACTION')->onDelete('CASCADE');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('password_resets_for_receiver', function (Blueprint $table) {
|
||||
$table->dropForeign('fk_password_resets_for_receiver_1');
|
||||
});
|
||||
Schema::table('Receiver', function (Blueprint $table) {
|
||||
$table->dropUnique('email');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class ModifiyPasswordResetsForCasebuilderColumn extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('CaseBuilder', function (Blueprint $table) {
|
||||
$table->unique('contactEmail');
|
||||
});
|
||||
Schema::table('password_resets_for_casebuilder', function (Blueprint $table) {
|
||||
$table->foreign('email', 'fk_password_resets_for_casebuilder_1')->references('contactEmail')->on('CaseBuilder')->onUpdate('NO ACTION')->onDelete('CASCADE');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('password_resets_for_casebuilder', function (Blueprint $table) {
|
||||
$table->dropForeign('fk_password_resets_for_casebuilder_1');
|
||||
});
|
||||
Schema::table('CaseBuilder', function (Blueprint $table) {
|
||||
$table->dropUnique('contactEmail');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class DropPasswordResetsForAdminTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::dropIfExists('password_resets_for_admin');
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::create('password_resets_for_admin', function (Blueprint $table) {
|
||||
$table->string('email')->index();
|
||||
$table->string('token');
|
||||
$table->timestamp('created_at')->nullable();
|
||||
});
|
||||
}
|
||||
}
|
||||
12
package.json
12
package.json
@@ -1,22 +1,24 @@
|
||||
{
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "npm run development",
|
||||
"dev": "yarn development",
|
||||
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"watch": "npm run development -- --watch",
|
||||
"watch-poll": "npm run watch -- --watch-poll",
|
||||
"watch": "yarn development -- --watch",
|
||||
"watch-poll": "yarn watch -- --watch-poll",
|
||||
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"prod": "npm run production",
|
||||
"prod": "yarn production",
|
||||
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"axios": "^0.18",
|
||||
"bootstrap": "^4.0.0",
|
||||
"cross-env": "^5.1",
|
||||
"font-awesome": "^4.7.0",
|
||||
"jquery": "^3.2",
|
||||
"laravel-mix": "^2.0",
|
||||
"lodash": "^4.17.4",
|
||||
"popper.js": "^1.12",
|
||||
"vue": "^2.5.7"
|
||||
}
|
||||
},
|
||||
"dependencies": {}
|
||||
}
|
||||
|
||||
10479
public/css/app.css
vendored
10479
public/css/app.css
vendored
File diff suppressed because it is too large
Load Diff
47404
public/js/app.js
vendored
47404
public/js/app.js
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"/js/app.js": "/js/app.js",
|
||||
"/css/app.css": "/css/app.css"
|
||||
}
|
||||
}
|
||||
|
||||
12
readme.md
12
readme.md
@@ -5,9 +5,7 @@
|
||||
sudo apt install php mysql-server phpmyadmin php-mbstring php-xml php-zip curl wget libpng-dev
|
||||
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
|
||||
sudo cat /etc/mysql/debian.cnf #查詢系統內定的MySQL預設帳號密碼
|
||||
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
||||
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
||||
sudo apt update && apt install nodejs yarn
|
||||
sudo apt update && apt install nodejs npm
|
||||
|
||||
## 專案參數與環境重建
|
||||
當你Clone下來的專案,因為有git採用了 `.gitignore` 機制,比較敏感的參數(像是APP_KEY、資料庫帳密等)與共用的函式庫檔案不會包含進來,必須在自己這邊重建。
|
||||
@@ -22,7 +20,7 @@
|
||||
$ composer install
|
||||
|
||||
### 3. 安裝前端相關函式庫
|
||||
$ yarn install
|
||||
$ npm install
|
||||
|
||||
### 4. 設定 .env 檔
|
||||
將 `.env.example` 複製成 `.env`。
|
||||
@@ -35,9 +33,13 @@
|
||||
這個專案有包含資料庫遷移(Migration),所以只要下:
|
||||
|
||||
$ php artisan migrate
|
||||
|
||||
|
||||
就可以了,資料表都會自動產生
|
||||
|
||||
### 7. 重建前端部屬用檔案
|
||||
|
||||
$ npm run dev
|
||||
|
||||
## 執行此專案
|
||||
### 快速啟動
|
||||
$ php artisan serve
|
||||
|
||||
2
resources/assets/sass/app.scss
vendored
2
resources/assets/sass/app.scss
vendored
@@ -7,6 +7,8 @@
|
||||
|
||||
// Bootstrap
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
@import '~font-awesome/scss/font-awesome';
|
||||
$fa-font-path: "/fonts" !default;
|
||||
|
||||
.navbar-laravel {
|
||||
background-color: #fff;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="container py-4">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="container py-4">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="container py-4">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="container py-4">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
|
||||
@@ -3,6 +3,60 @@
|
||||
@section('title', config('app.name', 'Laravel'))
|
||||
|
||||
@section('content')
|
||||
<button class="btn btn-primary">我想成為KOL</button>
|
||||
<button class="btn btn-primary">我想成為品牌/代理商</button>
|
||||
<main role="main">
|
||||
<section class="jumbotron text-center">
|
||||
<div class="container">
|
||||
<h1 class="jumbotron-heading">不只幫您找好KOL</h1>
|
||||
<p class="lead text-muted">讓您輕鬆管理預算、掌握專案流程</p>
|
||||
<h1 class="jumbotron-heading">不只幫您找好廠商</h1>
|
||||
<p class="lead text-muted">讓您與廠商溝通無障礙、完美結案</p>
|
||||
<form>
|
||||
<div class="form-group">
|
||||
<input class="form-control" type="search" placeholder="Search" aria-label="Search">
|
||||
<button class="btn btn-outline-success" type="submit">Search</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!-- <p>
|
||||
<a href="#" class="btn btn-primary my-2">Main call to action</a>
|
||||
<a href="#" class="btn btn-secondary my-2">Secondary action</a>
|
||||
</p> -->
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<h2>我是廠商</h2>
|
||||
<ul>
|
||||
<li>KOL搜尋</li>
|
||||
<li>我的最愛KOL</li>
|
||||
<li>發案管理</li>
|
||||
<li>合作廠商</li>
|
||||
<li>結案管理</li>
|
||||
</ul>
|
||||
<button class="btn btn-primary">我想成為KOL</button>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<h2>我是KOL</h2>
|
||||
<ul>
|
||||
<li>案件通知</li>
|
||||
<li>合作廠商</li>
|
||||
<li>執行管理</li>
|
||||
<li>發布管理</li>
|
||||
<li>結案管理</li>
|
||||
</ul>
|
||||
<button class="btn btn-primary">我想成為品牌/代理商</button>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<h2>公告區</h2>
|
||||
<ul>
|
||||
<li></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</main>
|
||||
@endsection
|
||||
|
||||
@@ -45,9 +45,13 @@
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="py-4">
|
||||
<main>
|
||||
@yield('content')
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
@include('layouts.partials.footer')
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
<!-- Authentication Links -->
|
||||
@guest
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
|
||||
<a class="nav-link" href="{{ route('login') }}">登入</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
|
||||
<a class="nav-link" href="{{ route('register') }}">註冊</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('register') }}">捷徑</a>
|
||||
</li>
|
||||
<!-- <li class="nav-item">
|
||||
<a class="nav-link" href="/receiver/login">KOL登入<span class="sr-only">(current)</span></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
@@ -14,7 +17,7 @@
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">後台登入</a>
|
||||
</li>
|
||||
</li> -->
|
||||
@else
|
||||
<li class="nav-item dropdown">
|
||||
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
|
||||
|
||||
30
resources/views/layouts/partials/footer.blade.php
Normal file
30
resources/views/layouts/partials/footer.blade.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<hr>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
<h2>關於我們</h2>
|
||||
<ul>
|
||||
<li>關於</li>
|
||||
<li>行銷知識</li>
|
||||
<li>合作提案</li>
|
||||
<li>聯絡我們</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<h2>服務條款</h2>
|
||||
<ul>
|
||||
<li>隱私政策</li>
|
||||
<li>網站條款</li>
|
||||
<li>常見問題</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<h2>服務聯盟</h2>
|
||||
<ul>
|
||||
<li>開箱王</li>
|
||||
<li>BVG</li>
|
||||
<li>凱曜網路</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -19,7 +19,24 @@
|
||||
Route::get('/', 'Home\HomeController@index')->name('home');
|
||||
|
||||
// 登入相關的
|
||||
Auth::routes();
|
||||
// Authentication Routes...
|
||||
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
|
||||
Route::get('/receiver/login', 'Auth\LoginController@showReceiverLoginForm')->name('receiver.login');
|
||||
Route::get('/casebuilder/login', 'Auth\LoginController@showCaseBuilderLoginForm')->name('casebuilder.login');
|
||||
Route::get('/admin/login', 'Auth\LoginController@showAdminLoginForm')->name('admin.login');
|
||||
|
||||
Route::post('login', 'Auth\LoginController@login');
|
||||
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
|
||||
|
||||
// Registration Routes...
|
||||
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
|
||||
Route::post('register', 'Auth\RegisterController@register');
|
||||
|
||||
// Password Reset Routes...
|
||||
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
|
||||
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
|
||||
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
|
||||
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
|
||||
|
||||
// 接案者相關url
|
||||
Route::group(['prefix' => 'receiver'], function () {
|
||||
@@ -41,8 +58,6 @@ Route::group(['prefix' => 'casebuilder'], function () {
|
||||
});
|
||||
|
||||
// 管理者相關url
|
||||
// Route::group(['prefix' => 'admin'], function () {
|
||||
// Route::get('/login', '');
|
||||
// Route::post('/login', '');
|
||||
// Route::get('/dashbord', '');
|
||||
// });
|
||||
Route::group(['prefix' => 'admin'], function () {
|
||||
// Route::get('/dashbord', '');
|
||||
});
|
||||
|
||||
4
webpack.mix.js
vendored
4
webpack.mix.js
vendored
@@ -12,4 +12,6 @@ let mix = require('laravel-mix');
|
||||
*/
|
||||
|
||||
mix.js('resources/assets/js/app.js', 'public/js')
|
||||
.sass('resources/assets/sass/app.scss', 'public/css');
|
||||
.sass('resources/assets/sass/app.scss', 'public/css')
|
||||
.copy('node_modules/font-awesome/fonts', 'public/fonts')
|
||||
.sourceMaps();
|
||||
|
||||
Reference in New Issue
Block a user