Merge branch 'master' into dev
This commit is contained in:
@@ -11,6 +11,8 @@ 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 +30,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('/');
|
||||
}
|
||||
@@ -286,7 +386,7 @@ class AuthController extends Controller
|
||||
if ($user == NULL)
|
||||
abort(404);
|
||||
if (!$user->havecheckedemail) {
|
||||
$user->email = '';
|
||||
$user->email = null;
|
||||
$user->save();
|
||||
return true;
|
||||
}
|
||||
@@ -419,7 +519,7 @@ class AuthController extends Controller
|
||||
$user = User::find($check_email->user_id);
|
||||
if($user->email != $token[2])
|
||||
return Redirect::to('/login')->withErrors('此链接已失效。');
|
||||
$user->email = "";
|
||||
$user->email = null;
|
||||
$user->update();
|
||||
$check_email->delete();
|
||||
|
||||
|
||||
@@ -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
|
||||
{
|
||||
@@ -22,9 +23,10 @@ class ContentController extends Controller
|
||||
$data['populargoods'] = GoodInfo::where('baned', false)->where('count', '>', 0)->where('fav_num', '>', 0)->orderby('fav_num', 'desc')->limit(8)->get();
|
||||
$data['cats'] = GoodCat::orderby('cat_index', 'asc')->get();
|
||||
foreach($data['cats'] as $cat){
|
||||
$data['catgoods'][$cat->cat_name] = GoodInfo::where('cat_id', $cat->id)->where('baned', false)->inRandomOrder()->limit(4)->get();
|
||||
$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(5)->get();
|
||||
$data['trans'] = Transaction::where('status', '>', 3)->orderby('id', 'dsc')->limit(20)->get();
|
||||
return View::make('welcome')->with($data);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ use App\Http\Controllers\Controller;
|
||||
class MessageController extends Controller
|
||||
{
|
||||
public function showMessageView(Request $request)
|
||||
{
|
||||
{
|
||||
return View::make('message.message');
|
||||
}
|
||||
|
||||
@@ -55,6 +55,8 @@ class MessageController extends Controller
|
||||
MessageContact::where('user_id', $user_id)
|
||||
->where('contact_id', $contact_id)
|
||||
->update(['unread_count' => 0]);
|
||||
User::where('id', $user_id)
|
||||
->update(['last_get_new_message_time' => time()]);
|
||||
return json_encode($messages);
|
||||
}
|
||||
|
||||
@@ -165,4 +167,4 @@ class MessageController extends Controller
|
||||
return json_encode(['result' => true, 'msg' => 'success']);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ class User extends Model
|
||||
{
|
||||
protected $table = 'users';
|
||||
|
||||
protected $fillable = ['last_get_new_message_time', 'last_send_email_time'];
|
||||
|
||||
public function user_infos()
|
||||
{
|
||||
return $this->hasMany('App\UserInfo');
|
||||
@@ -34,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'];
|
||||
}
|
||||
Generated
+31
-31
@@ -125,7 +125,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/ezyang/htmlpurifier/d0c392f77d2f2a3dcf7fcb79e2a1e2b8804e75b2.zip",
|
||||
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d0c392f77d2f2a3dcf7fcb79e2a1e2b8804e75b2",
|
||||
"reference": "d0c392f77d2f2a3dcf7fcb79e2a1e2b8804e75b2",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -483,16 +483,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v5.4.26",
|
||||
"version": "v5.4.27",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "a7ebbfab64111e24f8e584db64e2be9279ded357"
|
||||
"reference": "66f5e1b37cbd66e730ea18850ded6dc0ad570404"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/laravel/framework/a7ebbfab64111e24f8e584db64e2be9279ded357.zip",
|
||||
"reference": "a7ebbfab64111e24f8e584db64e2be9279ded357",
|
||||
"url": "https://files.phpcomposer.com/files/laravel/framework/66f5e1b37cbd66e730ea18850ded6dc0ad570404.zip",
|
||||
"reference": "66f5e1b37cbd66e730ea18850ded6dc0ad570404",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -608,7 +608,7 @@
|
||||
"framework",
|
||||
"laravel"
|
||||
],
|
||||
"time": "2017-06-13T18:58:49+00:00"
|
||||
"time": "2017-06-15T19:08:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/flysystem",
|
||||
@@ -703,7 +703,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/mewebstudio/Purifier/e7cb532acbb9f5aaed4d62fe21fe387c8abf18db.zip",
|
||||
"url": "https://api.github.com/repos/mewebstudio/Purifier/zipball/e7cb532acbb9f5aaed4d62fe21fe387c8abf18db",
|
||||
"reference": "e7cb532acbb9f5aaed4d62fe21fe387c8abf18db",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2393,7 +2393,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://packagist.phpcomposer.com/files/fzaninotto/Faker/44f9a286a04b80c76a4e5fb7aad8bb539b920123.zip",
|
||||
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/44f9a286a04b80c76a4e5fb7aad8bb539b920123",
|
||||
"reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2486,7 +2486,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/padraic/mockery/6fdb61243844dc924071d3404bb23994ea0b6856.zip",
|
||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/6fdb61243844dc924071d3404bb23994ea0b6856",
|
||||
"reference": "6fdb61243844dc924071d3404bb23994ea0b6856",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2551,7 +2551,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/myclabs/DeepCopy/8e6e04167378abf1ddb4d3522d8755c5fd90d102.zip",
|
||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102",
|
||||
"reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2593,7 +2593,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://packagist.phpcomposer.com/files/phpDocumentor/ReflectionCommon/144c307535e82c8fdcaacbcfc1d6d8eeb896687c.zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
|
||||
"reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2647,7 +2647,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://packagist.phpcomposer.com/files/phpDocumentor/ReflectionDocBlock/8331b5efe816ae05461b7ca1e721c01b46bafb3e.zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e",
|
||||
"reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2692,7 +2692,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://packagist.phpcomposer.com/files/phpDocumentor/TypeResolver/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb.zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb",
|
||||
"reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2739,7 +2739,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/phpspec/prophecy/93d39f1f7f9326d746203c7c056f300f7f126073.zip",
|
||||
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073",
|
||||
"reference": "93d39f1f7f9326d746203c7c056f300f7f126073",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2802,7 +2802,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/php-code-coverage/ef7b2f56815df854e66ceaee8ebe9393ae36a40d.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
|
||||
"reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2865,7 +2865,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://packagist.phpcomposer.com/files/sebastianbergmann/php-file-iterator/3cc8f69b3028d0f96a9078e6295d86e9bf019be5.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
|
||||
"reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2953,7 +2953,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/php-timer/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
||||
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3002,7 +3002,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/php-token-stream/e03f8f67534427a787e21a385a67ec3ca6978ea7.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7",
|
||||
"reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3051,7 +3051,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/phpunit/3cb94a5f8c07a03c8b7527ed7468a2926203f58b.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3cb94a5f8c07a03c8b7527ed7468a2926203f58b",
|
||||
"reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3133,7 +3133,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/phpunit-mock-objects/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24",
|
||||
"reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3192,7 +3192,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/code-unit-reverse-lookup/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
|
||||
"reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3237,7 +3237,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://packagist.phpcomposer.com/files/sebastianbergmann/comparator/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
||||
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3301,7 +3301,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/diff/7f066a26a962dbe58ddea9f72a4e82874a3975a4.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
||||
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3353,7 +3353,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/environment/5795ffe5dc5b02460c3e34222fee8cbe245d8fac.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
|
||||
"reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3403,7 +3403,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/exporter/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
|
||||
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3521,7 +3521,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/object-enumerator/1311872ac850040a79c3c058bea3e22d0f09cbb7.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7",
|
||||
"reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3567,7 +3567,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/recursion-context/2c3ba150cbec723aa057506e73a8d33bdb286c9a.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a",
|
||||
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3620,7 +3620,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/resource-operations/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
|
||||
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3662,7 +3662,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://files.phpcomposer.com/files/sebastianbergmann/version/99732be0ddb3361e16ad77b68ba41efc8e979019.zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
|
||||
"reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3705,7 +3705,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://packagist.phpcomposer.com/files/symfony/dom-crawler/dff8fecf1f56990d88058e3a1885c2a5f1b8e970.zip",
|
||||
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/dff8fecf1f56990d88058e3a1885c2a5f1b8e970",
|
||||
"reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3761,7 +3761,7 @@
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://packagist.phpcomposer.com/files/webmozart/assert/2db61e59ff05fe5126d152bd0655c9ea113e550f.zip",
|
||||
"url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f",
|
||||
"reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f",
|
||||
"shasum": ""
|
||||
},
|
||||
|
||||
@@ -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');
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AlterUsersTableAddLocker extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
if (Schema::hasTable('users') && !Schema::hasColumn('users', 'last_get_new_message_time')
|
||||
&& !Schema::hasColumn('users', 'last_send_email_time')) {
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->integer('last_get_new_message_time')->nullable()->default(0);
|
||||
$table->integer('last_send_email_time')->nullable()->default(0);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
if (Schema::hasTable('users') && Schema::hasColumn('users', 'last_get_new_message_time')
|
||||
&& Schema::hasColumn('users', 'last_send_email_time')) {
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->dropColumn(['last_get_new_message_time', 'last_send_email_time']);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+223
@@ -0,0 +1,223 @@
|
||||
hr {
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
.banner-back {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 160px;
|
||||
width: 100%;
|
||||
z-index: -10;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.banner {
|
||||
background-image: url('/img/banner.jpg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center 0;
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
left: -20px;
|
||||
padding: 0 20px;
|
||||
height: 160px;
|
||||
width: 100%;
|
||||
z-index: -10;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
.top-bar {
|
||||
box-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.top-bar .menu {
|
||||
background: none;
|
||||
}
|
||||
|
||||
.top-bar-list {
|
||||
display: block;
|
||||
color: #FEFEFE !IMPORTANT;
|
||||
padding: 0 1rem !IMPORTANT;
|
||||
height: 54px;
|
||||
line-height: 54px !IMPORTANT;
|
||||
}
|
||||
|
||||
.top-bar-list:hover {
|
||||
background: rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
|
||||
.top-bar-list:active {
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
.top-bar-dropdown::after {
|
||||
border-color: #FFFFFF transparent transparent !IMPORTANT;
|
||||
}
|
||||
|
||||
.top-bar-avatar::after {
|
||||
border-color: transparent transparent transparent !IMPORTANT;
|
||||
}
|
||||
|
||||
.top-bar-dropdown-menu {
|
||||
border: 1px solid #DDDDDD;
|
||||
border-radius: 5px;
|
||||
background-color: #FFFFFF !IMPORTANT;
|
||||
}
|
||||
|
||||
.top-bar,
|
||||
.top-bar-left,
|
||||
.top-bar-right {
|
||||
height: 54px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.top-bar-back {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.top-bar-filter {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
|
||||
.top-bar-bg {
|
||||
position: absolute;
|
||||
background-image: url('/img/banner.jpg');
|
||||
background-position: center 0;
|
||||
background-repeat: no-repeat;
|
||||
height: 74px;
|
||||
top: -10px;
|
||||
left: -20px;
|
||||
padding: 0 20px;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
-webki-filter: blur(5px);
|
||||
-ms-filter: blur(5px);
|
||||
filter: blur(5px);
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
#top-bar-quick-access-small {
|
||||
position: relative;
|
||||
top: 30px;
|
||||
}
|
||||
|
||||
#top-bar-quick-access {
|
||||
position: relative;
|
||||
top: 30px;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.top-bar-avatar {
|
||||
display: block;
|
||||
color: #FEFEFE !IMPORTANT;
|
||||
padding: 0 1rem !IMPORTANT;
|
||||
height: 54px;
|
||||
transition: background 0.25s ease-out;
|
||||
padding: 0 !IMPORTANT;
|
||||
transition: box-shadow 0.25s;
|
||||
}
|
||||
|
||||
.top-bar-avatar > img {
|
||||
margin-right: 0 !IMPORTANT;
|
||||
border: 0;
|
||||
border-radius: 27px;
|
||||
}
|
||||
|
||||
.top-bar-button {
|
||||
height: 54px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
padding: 0 1rem!IMPORTANT;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 0;
|
||||
transition: background-color 0.25s ease-out, color 0.25s ease-out;
|
||||
line-height: 54px!IMPORTANT;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-color: #1779ba;
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
.top-bar-button:hover {
|
||||
color: #fefefe;
|
||||
background-color: #14679e;
|
||||
}
|
||||
|
||||
.search-bar {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.page-content {
|
||||
position: relative;
|
||||
margin-top: 60px;
|
||||
}
|
||||
|
||||
.one-line-text {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.card-divider {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.card-item,
|
||||
.card-item div {
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.card-item:last-child,
|
||||
.card-item:last-child div {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
table.card-table {
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
table.card-table th,
|
||||
table.card-table td {
|
||||
padding: 0.75em;
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
background: #fefefe;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.card-table.card-section {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
footer span {
|
||||
font-size: 13px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.vertical > li > a {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.vertical > li > a > img {
|
||||
border: 0;
|
||||
border-radius: 110px;
|
||||
}
|
||||
|
||||
input::placeholder, textarea::placeholder {
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.message-num-tip {
|
||||
cursor:pointer;
|
||||
background-color: #e69d00;
|
||||
}
|
||||
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;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
$(document).ready(function(){
|
||||
switch ($("#nm").prop("className")){
|
||||
switch ($("#nm").val()){
|
||||
case "p":
|
||||
$("#sort").text('按价格从低到高');break;
|
||||
case "pd":
|
||||
@@ -53,8 +53,8 @@ function setc(ha){
|
||||
if(ha!="a"){
|
||||
hr=hr+"&sort="+ha;
|
||||
}
|
||||
else if($("#nm").prop("className")!=""){
|
||||
hr=hr+"&sort="+$("#nm").prop("className");
|
||||
else if($("#nm").val()!=""){
|
||||
hr=hr+"&sort="+$("#nm").val();
|
||||
}
|
||||
if($("#searchq").val()!=""){
|
||||
hr=hr+"&query="+$("#searchq").val();
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<li class="nav-item"><a class="nav-link" href="#classify" role="tab" data-toggle="tab" aria-controls="classify">分类管理</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#report" role="tab" data-toggle="tab" aria-controls="report">查看举报记录</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#userlist" role="tab" data-toggle="tab" aria-controls="userlist">查看所有用户</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#translist" role="tab" data-toggle="tab" aria-controls="translist">交易列表</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -94,6 +95,7 @@
|
||||
<th>#</th>
|
||||
<th>举报者ID</th>
|
||||
<th>被举报者ID</th>
|
||||
<th>举报理由</th>
|
||||
<th>受理管理员ID</th>
|
||||
<th colspan="2">状态</th>
|
||||
</tr>
|
||||
@@ -176,11 +178,11 @@
|
||||
@foreach($users as $user)
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{$user->id}}</td>
|
||||
<td><a href="/user/{{$user->id}}">{{$user->id}}</a></td>
|
||||
<td>{{$user->privilege}}</td>
|
||||
<td>{{$user->stuid}}</td>
|
||||
<td>{{$user->realname}}</td>
|
||||
<td>{{$user->nickname}}</td>
|
||||
<td><a href="/user/{{$user->id}}">{{$user->nickname}}</a></td>
|
||||
<td>{{$user->username}}</td>
|
||||
<td>{{$user->email}}</td>
|
||||
<td>
|
||||
@@ -199,7 +201,65 @@
|
||||
</tbody>
|
||||
@endforeach
|
||||
</table>
|
||||
{{ $users->links() }}
|
||||
</div>
|
||||
<div class="tab-pane" id="translist" role="tabpanel">
|
||||
<table class="table table-hover">
|
||||
<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>
|
||||
{{ $trans->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
// WYSIWYG Editor
|
||||
@@ -224,3 +284,4 @@
|
||||
$('a[href="https://www.froala.com/wysiwyg-editor?k=u"]').wrap("<div hidden='hidden'></div>");
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
|
||||
@@ -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>
|
||||
@@ -93,7 +93,6 @@
|
||||
</div>
|
||||
<div class="card-block" style="word-break:break-all;min-height: 100px">{!! $good->description !!}</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
function add_favlist() {
|
||||
var str_data = $("#fav input").map(function () {
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
<p>
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-3">
|
||||
<input type="hidden" id="nm" value="@if(isset($_GET['sort'])){{ $_GET['sort'] }}@endif" style="display: none" />
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-primary dropdown-toggle" id="sort" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<input type="hidden" id="nm" class="@if(isset($_GET['sort'])){{ $_GET['sort'] }}@endif" />
|
||||
排序
|
||||
综合排序
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="sort">
|
||||
<a href="/good/" class="dropdown-item">综合排序</a>
|
||||
|
||||
@@ -123,4 +123,4 @@
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
</form>
|
||||
@else
|
||||
<form action="/user/edit/email" method="POST" class="password-form">
|
||||
{{ csrf_field() }}
|
||||
<div class="input-group">
|
||||
<input type="email" id="email" class="form-control" value="@if(!$user->havecheckedemail)[未验证]@endif{{$user->email}}" disabled>
|
||||
<input type="hidden" name="email" id="email" class="form-control" value="{{$user->email}}">
|
||||
@@ -61,6 +62,14 @@
|
||||
</form>
|
||||
@endif
|
||||
</p>
|
||||
<p>
|
||||
@if($user->wechat_open_id=='')
|
||||
<label>微信:请在东大小秘书中点击“闲置市场”链接来关联微信。</label>
|
||||
@else
|
||||
<label>微信:已关联 {{$user->wechat->nick_name}}</label>
|
||||
<img class="head-img" src="{{$user->wechat->head_img_url}}" width="64px" height="64px">
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
@@ -80,4 +89,6 @@
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<link rel="stylesheet" href="/css/wechat.css"/>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
@include('layout.catlist')
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ class GoodTest extends BrowserKitTestCase
|
||||
->see('库存数必须是整数')
|
||||
->type('10', 'count')
|
||||
->press('添加')
|
||||
->see('必须为商品上传一张图片')
|
||||
->see('必须为商品上传封面')
|
||||
->attach(__DIR__ . '/resources/good.jpg', 'goodTitlePic')
|
||||
->press('添加')
|
||||
->see('请按要求裁剪图片')
|
||||
|
||||
Reference in New Issue
Block a user