Merge branch 'master' of https://github.com/NEUP-Net-Depart/NEUP-FleaMarket
This commit is contained in:
@@ -11,6 +11,7 @@ use App\User;
|
||||
use App\Announcement;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Ticket;
|
||||
use App\Transaction;
|
||||
use Mews\Purifier\Purifier;
|
||||
|
||||
class AdminController extends Controller
|
||||
@@ -28,7 +29,9 @@ class AdminController extends Controller
|
||||
$data['users'] = User::orderby('id', 'asc')->get();
|
||||
$data['cats'] = GoodCat::orderby('cat_name', 'asc')->get();
|
||||
$data['announcements'] = Announcement::orderby('id', 'dsc')->get();
|
||||
$data['reports'] = Ticket::where('type', '2')->orderby('id', 'dsc')->paginate(16);
|
||||
$data['reports'] = Ticket::where('type', '2')->orderby('id', 'dsc')->paginate(40);
|
||||
$data['users'] = User::orderby('id', 'asc')->paginate(40);
|
||||
$data['trans'] = Transaction::orderby('id', 'asc')->paginate(40);
|
||||
return View::make('admin.index')->with($data);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ use App\PasswordReset;
|
||||
use Mail;
|
||||
use App\AuthLog;
|
||||
use phpCAS;
|
||||
use App\Wechat;
|
||||
|
||||
class AuthController extends Controller
|
||||
{
|
||||
@@ -27,6 +28,68 @@ class AuthController extends Controller
|
||||
return View::make('auth.login');
|
||||
}
|
||||
|
||||
public function wx(Request $request)
|
||||
{
|
||||
if(isset($request->data) && $request->sign == substr(md5($request->data . env('WECHAT_KEY')), 8, 16))
|
||||
{
|
||||
$data['wechat'] = json_decode(base64_decode($request->data));
|
||||
$user = User::where('wechat_open_id', $data['wechat']->openId)->first();
|
||||
$request->session()->put('wechat_open_id', $data['wechat']->openId);
|
||||
if(!$user) {
|
||||
$wechat = Wechat::firstOrNew(['open_id' => $data['wechat']->openId]);
|
||||
$wechat->head_img_url = $data['wechat']->headImgUrl;
|
||||
$wechat->nick_name = $data['wechat']->nickName;
|
||||
$wechat->sex = $data['wechat']->sex;
|
||||
$wechat->save();
|
||||
|
||||
return view('auth.wechatGuide')->with($data);
|
||||
}
|
||||
else {
|
||||
if ($user->baned) {
|
||||
$nowdate = time();
|
||||
$banedstart = $user->banedstart;
|
||||
$date = $nowdate-$banedstart;
|
||||
if($date>($user->banedtime)*86400 && $user->banedtime!=-1)
|
||||
{
|
||||
$user->baned = 0;
|
||||
return Redirect::to('/');
|
||||
}
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_login_banned";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
if($user->banedtime == -1)
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被永久封禁!');
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被封禁!'.ceil($user->banedtime-($date/86400)).'天后解禁!');
|
||||
}
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_login_success";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
$request->session()->put('user_id', $user->id);
|
||||
$request->session()->put('username', $user->username);
|
||||
$request->session()->put('nickname', $user->nickname);
|
||||
if ($user->privilege)
|
||||
$request->session()->put('is_admin', $user->privilege);
|
||||
|
||||
if ($user->registerCompletion() != 0)
|
||||
return Redirect::to('/register/' . $user->registerCompletion());
|
||||
else
|
||||
return Redirect::to('/');
|
||||
}
|
||||
}
|
||||
return Redirect::to("http://api.xms.rmbz.net/open/oauth?path=" . env("APP_URL") . "/wx");
|
||||
}
|
||||
|
||||
public function cas(Request $request)
|
||||
{
|
||||
phpCAS::client(CAS_VERSION_2_0, "sso.neu.cn", 443, "/cas");
|
||||
@@ -53,6 +116,18 @@ class AuthController extends Controller
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
if($request->session()->has('wechat_open_id')) {
|
||||
$user->wechat_open_id = $request->session()->get('wechat_open_id');
|
||||
$user->save();
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_sso_bind_success";
|
||||
$log->save();
|
||||
// log end
|
||||
}
|
||||
|
||||
$request->session()->put('user_id', $user->id);
|
||||
|
||||
return Redirect::to('/register/' . $user->registerCompletion());
|
||||
@@ -75,10 +150,10 @@ class AuthController extends Controller
|
||||
$log->event = "cas_login_banned";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
|
||||
if($user->banedtime == -1)
|
||||
return Redirect::back()->withInput()->withErrors('你已经被永久封禁!');
|
||||
return Redirect::back()->withInput()->withErrors('你已经被封禁!'.ceil($user->banedtime-($date/86400)).'天后解禁!');
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被永久封禁!');
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被封禁!'.ceil($user->banedtime-($date/86400)).'天后解禁!');
|
||||
}
|
||||
|
||||
// log start
|
||||
@@ -95,6 +170,18 @@ class AuthController extends Controller
|
||||
if ($user->privilege)
|
||||
$request->session()->put('is_admin', $user->privilege);
|
||||
|
||||
if($request->session()->has('wechat_open_id')) {
|
||||
$user->wechat_open_id = $request->session()->get('wechat_open_id');
|
||||
$user->save();
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_sso_bind_success";
|
||||
$log->save();
|
||||
// log end
|
||||
}
|
||||
|
||||
if ($user->registerCompletion() != 0)
|
||||
return Redirect::to('/register/' . $user->registerCompletion());
|
||||
else
|
||||
@@ -144,7 +231,7 @@ class AuthController extends Controller
|
||||
$log->event = "login_banned";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
|
||||
if($user->banedtime == -1)
|
||||
return Redirect::back()->withInput()->withErrors('你已经被永久封禁!');
|
||||
return Redirect::back()->withInput()->withErrors('你已经被封禁!'.ceil($user->banedtime-($date/86400)).'天后解禁!');
|
||||
@@ -166,6 +253,18 @@ class AuthController extends Controller
|
||||
if ($user->privilege)
|
||||
$request->session()->put('is_admin', $user->privilege);
|
||||
|
||||
if($request->session()->has('wechat_open_id')) {
|
||||
$user->wechat_open_id = $request->session()->get('wechat_open_id');
|
||||
$user->save();
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_bind_success";
|
||||
$log->save();
|
||||
// log end
|
||||
}
|
||||
|
||||
if ($user->registerCompletion() != 0)
|
||||
return Redirect::to('/register/' . $user->registerCompletion());
|
||||
else
|
||||
@@ -229,6 +328,7 @@ class AuthController extends Controller
|
||||
$request->session()->forget('username');
|
||||
$request->session()->forget('nickname');
|
||||
$request->session()->forget('is_admin');
|
||||
$request->session()->forget('wechat_open_id');
|
||||
|
||||
return Redirect::to('/');
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ use App\Http\Controllers\Controller;
|
||||
use App\GoodInfo;
|
||||
use App\GoodCat;
|
||||
use App\Announcement;
|
||||
use App\Transaction;
|
||||
|
||||
class ContentController extends Controller
|
||||
{
|
||||
@@ -25,6 +26,7 @@ class ContentController extends Controller
|
||||
$data['catgoods'][$cat->cat_name] = GoodInfo::where('cat_id', $cat->id)->where('baned', false)->where('count', '>', 0)->inRandomOrder()->limit(4)->get();
|
||||
}
|
||||
$data['announces'] = Announcement::orderby('id', 'dsc')->limit(3)->get();
|
||||
$data['trans'] = Transaction::where('status', '>', 3)->orderby('id', 'dsc')->limit(20)->get();
|
||||
return View::make('welcome')->with($data);
|
||||
}
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ class UserController extends Controller
|
||||
{
|
||||
$data = [];
|
||||
$user_id = $request->session()->get('user_id');
|
||||
$data['user'] = User::find($user_id);
|
||||
$data['user'] = User::with('wechat')->find($user_id);
|
||||
$data['userinfos'] = UserInfo::where('user_id', $user_id)->get();
|
||||
$data['tab'] = isset($request->tab) ? $request->tab : "profile";
|
||||
return View::make('user.user')->with($data);
|
||||
|
||||
@@ -51,7 +51,7 @@ class addGoodRequest extends Request
|
||||
'count.max' => '库存数不能超过2147483647!',
|
||||
//'good_tag.required' => '商品标签不能为空!',
|
||||
//'other_tag.max' => '自定义标签不能多于2048个字符!',
|
||||
'goodTitlePic.required' => '必须为商品上传一张图片!',
|
||||
'goodTitlePic.required' => '必须为商品上传封面!',
|
||||
'crop_width.required' => '请按要求裁剪图片',
|
||||
'crop_height.required' => '请按要求裁剪图片',
|
||||
'crop_x.required' => '请按要求裁剪图片',
|
||||
|
||||
@@ -30,6 +30,7 @@ Route::group(['middleware' => ['web']],function () {
|
||||
Route::group(['middleware' => ['authredirect']], function() {
|
||||
Route::get('/login', "AuthController@showLogin");
|
||||
Route::get('/sso', "AuthController@cas");
|
||||
Route::get('/wx', "AuthController@wx");
|
||||
Route::post('/login', "AuthController@login");
|
||||
Route::get('/register', "AuthController@showRegister");
|
||||
Route::post('/register', "AuthController@register");
|
||||
|
||||
+3
-1
@@ -20,7 +20,8 @@ class Transaction extends Model
|
||||
|
||||
public function getSellerIdAttribute()
|
||||
{
|
||||
return $this->good->user_id;
|
||||
if($this->good != NULL)
|
||||
return $this->good->user_id;
|
||||
}
|
||||
|
||||
public function seller()
|
||||
@@ -32,4 +33,5 @@ class Transaction extends Model
|
||||
{
|
||||
return $this->hasOne('App\Ticket', 'trans_id');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,4 +36,19 @@ class User extends Model
|
||||
return $this->nickname != "" ? $this->nickname : "一位先锋市场用户";
|
||||
}
|
||||
|
||||
public function wechat()
|
||||
{
|
||||
return $this->belongsTo('App\Wechat', "wechat_open_id", "open_id");
|
||||
}
|
||||
|
||||
public function getcoding()
|
||||
{
|
||||
$len=strlen($this->stuid);
|
||||
$ans = "";
|
||||
$ans = $ans . substr($this->stuid, 0, 1);
|
||||
for($i=1; $i<($len-1); $i++) $ans = $ans . '*';
|
||||
$ans = $ans . substr($this->stuid, -1);
|
||||
return $ans;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Wechat extends Model
|
||||
{
|
||||
protected $fillable = ['open_id'];
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateWechatsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('wechats', function (Blueprint $table) {
|
||||
$table->string('open_id');
|
||||
$table->primary('open_id');
|
||||
$table->string('head_img_url');
|
||||
$table->string('nick_name');
|
||||
$table->string('sex');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('wechats');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AlterUserAddWechatId extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
if (Schema::hasTable('users') && !Schema::hasColumn('users', 'wechat_open_id'))
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->string('wechat_open_id')->nullable()->unique();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
if (Schema::hasTable('users') && Schema::hasColumn('users', 'wechat_open_id'))
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->dropColumn('wechat_open_id');
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+22
@@ -0,0 +1,22 @@
|
||||
.head-img {
|
||||
border-style: solid;
|
||||
border-width: 0.3em;
|
||||
border-color: #cccccc;
|
||||
border-radius: 15%;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.nickname {
|
||||
background: #f9fafa;
|
||||
padding: 3px 6px;
|
||||
border-radius: 3px;
|
||||
color: #f4645f;
|
||||
margin: 5px;
|
||||
border: 1px solid #ded9d9;
|
||||
overflow-x: auto;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
margin-top: 3em;
|
||||
}
|
||||
@@ -7,7 +7,9 @@
|
||||
<ul class="tabs" data-tabs="w6tmms-tabs" id="editadmin" role="tablist">
|
||||
<li class="tabs-title is-active " role="presentation"><a href="#announcement" aria-selected="true" role="tab" aria-controls="extra" id="extra-label">公告管理</a></li>
|
||||
<li class="tabs-title " role="presentation"><a href="#classify" role="tab" aria-controls="account" aria-selected="false" id="account-label">分类管理</a></li>
|
||||
<li class="tabs-title "><a href="#report">查看举报记录</a></li>
|
||||
<li class="tabs-title"><a href="#report">查看举报记录</a></li>
|
||||
<li class="tabs-title"><a href="#userlist">查看所有用户</a></li>
|
||||
<li class="tabs-title"><a href="#translist">交易列表</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tabs-content" data-tabs-content="editadmin">
|
||||
@@ -91,6 +93,7 @@
|
||||
<th>#</th>
|
||||
<th>举报者ID</th>
|
||||
<th>被举报者ID</th>
|
||||
<th>举报理由</th>
|
||||
<th>受理管理员ID</th>
|
||||
<th colspan="2">状态</th>
|
||||
</tr>
|
||||
@@ -98,9 +101,10 @@
|
||||
@foreach($reports as $repo)
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{ $repo->id }}</td>
|
||||
<td>{{ $repo->sender_id }}</td>
|
||||
<td>{{ $repo->receiver_id }}</td>
|
||||
<td>{{$repo->id}}</td>
|
||||
<td><a href="/user/{{$repo->sender_id}}">{{$repo->sender_id}}</a></td>
|
||||
<td><a href="/user/{{$repo->receiver_id}}">{{$repo->receiver_id}}</a></td>
|
||||
<td>{{$repo->message}}</td>
|
||||
@if(!$repo->assignee)
|
||||
<td>
|
||||
<form action="/repo/{{ $repo->id }}/assign" method="POST">
|
||||
@@ -144,6 +148,110 @@
|
||||
{{ $reports->links() }}
|
||||
</div>
|
||||
|
||||
<div class="tabs-panel" id="userlist">
|
||||
<div class="card-section">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>用户ID</th>
|
||||
<th>权限</th>
|
||||
<th>学号</th>
|
||||
<th>真实姓名</th>
|
||||
<th>昵称</th>
|
||||
<th>用户名</th>
|
||||
<th>邮箱</th>
|
||||
<th>是否封禁</th>
|
||||
<th>注册时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@foreach($users as $user)
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="/user/{{$user->id}}">{{$user->id}}</a></td>
|
||||
<td>{{$user->privilege}}</td>
|
||||
<td>{{$user->stuid}}</td>
|
||||
<td>{{$user->realname}}</td>
|
||||
<td><a href="/user/{{$user->id}}">{{$user->nickname}}</a></td>
|
||||
<td>{{$user->username}}</td>
|
||||
<td>{{$user->email}}</td>
|
||||
<td>
|
||||
@if($user->baned == 0)
|
||||
否
|
||||
@endif
|
||||
@if($user->baned == 1)
|
||||
已封禁{{$user->banedtime}}天
|
||||
@endif
|
||||
@if($user->baned == -1)
|
||||
已永久封禁
|
||||
@endif
|
||||
</td>
|
||||
<td>{{$user->created_at}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
{{ $users->links() }}
|
||||
</div>
|
||||
|
||||
<div class="tabs-panel" id="translist">
|
||||
<div class="card-section">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>交易单号</th>
|
||||
<th>卖家学号</th>
|
||||
<th>买家学号</th>
|
||||
<th>商品ID</th>
|
||||
<th>交易数目</th>
|
||||
<th>交易状态</th>
|
||||
<th>评价</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@foreach($trans as $tran)
|
||||
@if($tran->seller != NULL)
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{$tran->id}}</td>
|
||||
<td><a href="/user/{{$tran->seller->id}}">{{$tran->seller->stuid}}</a></td>
|
||||
<td><a href="/user/{{$tran->buyer_id}}">{{$tran->buyer->stuid}}</a></td>
|
||||
<td><a href="/good/{{$tran->good_id}}">{{$tran->good_id}}</a></td>
|
||||
<td>{{$tran->number}}</td>
|
||||
<td>
|
||||
@if($tran->status == 0)
|
||||
订单已取消
|
||||
@endif
|
||||
@if($tran->status == 1)
|
||||
买家已购买,卖家未确认
|
||||
@endif
|
||||
@if($tran->status == 2)
|
||||
卖家已确认
|
||||
@endif
|
||||
@if($tran->status == 3)
|
||||
交易失败
|
||||
@endif
|
||||
@if($tran->status == 4)
|
||||
交易成功待评价
|
||||
@endif
|
||||
@if($tran->status == 5)
|
||||
交易成功已评价
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($tran->status == 5)
|
||||
{{$tran->reason}}
|
||||
@else
|
||||
无
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@endif
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
{{ $trans->links() }}
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
// WYSIWYG
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html class="no-js" lang="zh">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<link rel="stylesheet" href="/css/foundation.css"/>
|
||||
<link rel="stylesheet" href="/css/app.css"/>
|
||||
<link rel="stylesheet" href="/css/cropper.min.css"/>
|
||||
<link rel="stylesheet" href="/css/froala_editor.min.css">
|
||||
<link rel="stylesheet" href="/css/froala_editor.pkgd.min.css">
|
||||
<link rel="stylesheet" href="/css/font-awesome.min.css">
|
||||
<link type="text/css" media="screen" rel="stylesheet" href="/css/responsive-tables.css" />
|
||||
@yield('asset')
|
||||
<script src="/js/jquery.min.js"></script>
|
||||
<script src="/js/vendor/jquery.min.js"></script>
|
||||
<script src="/js/vendor/what-input.min.js"></script>
|
||||
<script src="/js/vendor/foundation.min.js"></script>
|
||||
<script src="/js/cropper.min.js"></script>
|
||||
<!--Pop foundation and cropper's old version jQuery-->
|
||||
<script type="text/javascript">
|
||||
var $jQuery_FOUNDATION = $.noConflict(true);
|
||||
</script>
|
||||
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
|
||||
<script src="/js/jquery.slides.min.js"></script>
|
||||
<script src="/js/app.js"></script>
|
||||
<script src="/js/froala_editor.pkgd.min.js"></script>
|
||||
<title>微信登录 - 先锋市场</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="content-wrapper row align-middle">
|
||||
<div class="small-10 small-push-1 columns card">
|
||||
<div class="card-section">
|
||||
<form action="/login" method="POST" data-abide novalidate>
|
||||
<center>
|
||||
<img class="head-img" src="{{ $wechat->headImgUrl }}" width="64" height="64"/>
|
||||
</center>
|
||||
<p>您正在使用微信账号 <span class="nickname">{{ $wechat->nickName }}</span> 登录先锋市场,要绑定此账号,点击下面的按钮继续。</p>
|
||||
<div class="row">
|
||||
<a type="submit" class="expanded hollow button" href="/login">我已有账号</a>
|
||||
</div>
|
||||
<div class="row">
|
||||
<a href="/sso" style="float: right" class="expanded button small-centered" href="/sso">校园卡认证注册</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<link rel="stylesheet" href="/css/wechat.css"/>
|
||||
@include('layout.footer')
|
||||
</body>
|
||||
</html>
|
||||
@@ -53,13 +53,13 @@
|
||||
</span>
|
||||
</h2>
|
||||
<div><!-- 放tag 和更多图片缩略图 --></div>
|
||||
货主:<a href="/user/{{ $user->id }}">@if(isset($user->nickname)){{ $user->nickname }} @else 还没有昵称>_< @endif
|
||||
卖家:<a href="/user/{{ $user->id }}">@if(isset($user->nickname)){{ $user->nickname }} @else 还没有昵称>_< @endif
|
||||
@if($user->baned)
|
||||
【已封禁】
|
||||
@endif
|
||||
</a>
|
||||
@if ($user->id != session('user_id'))
|
||||
<a href="/message/startConversation/{{ $user->id }}">和我联系</a>
|
||||
<a href="/message/startConversation/{{ $user->id }}">联系卖家</a>
|
||||
@endif
|
||||
<h4 style="color: #cc4b37"><b>¥{{ $good->price }}</b></h4>
|
||||
<p id="ach" class="show-for-small-only gb_right">@if($good->count > 1)(库存:{{ $good->count }}件)@else 仅一件 @endif</p>
|
||||
@@ -169,7 +169,7 @@
|
||||
<li style="width:25%">
|
||||
<button class="button warning"
|
||||
style="color:white;font-size: 15px;width:100%;height:40px;padding-left:0;padding-right:0;" onclick="window.location.href='/message/startConversation/{{ $user->id }}'">
|
||||
联系货主
|
||||
联系卖家
|
||||
</button>
|
||||
</li>
|
||||
<li style="width:50%">
|
||||
|
||||
@@ -30,6 +30,14 @@
|
||||
<input type="submit" class="hollow button" value="解绑">
|
||||
@endif
|
||||
</form>
|
||||
<form>
|
||||
@if($user->wechat_open_id)
|
||||
<label>微信:已关联 {{$user->wechat->nick_name}}</label>
|
||||
<img class="head-img" src="{{$user->wechat->head_img_url}}" width="64px" height="64px">
|
||||
@else
|
||||
<label>微信:请在东大小秘书中点击“闲置市场”链接来关联微信。</label>
|
||||
@endif
|
||||
</form>
|
||||
<form action="/user/edit/password" method="POST">
|
||||
{{ csrf_field() }}
|
||||
@if($user->password!='')
|
||||
@@ -39,4 +47,6 @@
|
||||
<label>确认新密码<input type="password" name="newPassword_confirmation" placeholder="必填" required></label>
|
||||
<input type="submit" class="hollow button" name="password_submit" value="保存">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<link rel="stylesheet" href="/css/wechat.css"/>
|
||||
@@ -4,8 +4,85 @@
|
||||
|
||||
@section('asset')
|
||||
<link rel="stylesheet" href="/css/wel.css" />
|
||||
|
||||
<style>
|
||||
.slide-title{
|
||||
background: rgba(0,0,0,.5);
|
||||
color: #fff;
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
padding: 0 10px;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.slide-title span{
|
||||
float: left;
|
||||
margin-right: 0px;
|
||||
}
|
||||
.slide-title span:nth-child(1),
|
||||
.slide-list li span:nth-child(1){
|
||||
width: 1500px;
|
||||
}
|
||||
.slide-title span:nth-child(2),
|
||||
.slide-list li span:nth-child(2){
|
||||
width: 1500px;
|
||||
}
|
||||
.slide-title span:nth-child(3),
|
||||
.slide-list li span:nth-child(3){
|
||||
width: 1500px;
|
||||
}
|
||||
|
||||
.slide-container{
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
height: 90px;
|
||||
}
|
||||
.slide-list{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
color: #000;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.slide-list li {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 3px;
|
||||
}
|
||||
.slide-list li span {
|
||||
display: inline-block;
|
||||
margin-right: 0px;
|
||||
font-size: 13px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.slide-list li.odd{
|
||||
background: rgba(51,79,109,.2);
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
var doscroll = function(){
|
||||
var $parent = $('.js-slide-list');
|
||||
var $first = $parent.find('li:first');
|
||||
var height = $first.height();
|
||||
$first.animate({
|
||||
marginTop: -height + 'px'
|
||||
}, 500, function() {
|
||||
$first.css('marginTop', 0).appendTo($parent);
|
||||
});
|
||||
};
|
||||
setInterval(function(){doscroll()}, 2000);
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="row">
|
||||
@@ -165,7 +242,7 @@
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="hide-for-medium-only large-5 columns">
|
||||
<div class="large-5 columns">
|
||||
<div class="row">
|
||||
<div class="medium-10 medium-offset-2 columns">
|
||||
<div class="card">
|
||||
@@ -178,6 +255,22 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="medium-10 medium-offset-2 columns">
|
||||
<div class="slide-title">
|
||||
<h4>交易公示牌OvO</h4>
|
||||
</div>
|
||||
<div class="slide-container">
|
||||
<ul class="slide-list js-slide-list">
|
||||
@foreach($trans as $tran)
|
||||
@if($tran->seller != NULL)
|
||||
<li class="odd"><span>恭喜{{$tran->seller->getcoding()}}和{{$tran->buyer->getcoding()}}成功完成了一笔交易!OvO</span></li>
|
||||
@endif
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="/js/good/cat.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user