Browse Source

frozen

master
林一峰 7 years ago
parent
commit
1ccd4ee594
  1. 116
      app/Common/OSS.php
  2. 22
      app/Common/Sms.php
  3. 4
      app/Common/Token.php
  4. 15
      app/Http/Controllers/Api/GoodsController.php
  5. 6
      app/Http/Controllers/Api/ImageController.php
  6. 117
      app/Http/Controllers/Api/WechatAuthController.php
  7. 6
      app/Http/Kernel.php
  8. 4
      app/Http/Middleware/TokenAuth.php
  9. 11
      app/Http/Model/Goods.php
  10. 184
      public/css/bxslider.css
  11. 2972
      public/css/frozen.css
  12. 300
      public/css/language-selector.css
  13. 218
      public/css/lanrenzhijia.css
  14. BIN
      public/fonts/iconfont-full.ttf
  15. BIN
      public/fonts/iconfont.ttf
  16. 10
      public/js/bxslider.min.js
  17. 1527
      public/js/frozen.js
  18. 70
      public/js/online.js
  19. 1773
      public/js/zepto.min.js
  20. 5
      routes/web.php

116
app/Common/OSS.php

@ -0,0 +1,116 @@
<?php
namespace App\Common;
use JohnLui\AliyunOSS;
class OSS
{
private $ossClient;
public function __construct($isInternal = false)
{
$serverAddress = $isInternal ? config('app.ossServerInternal') : config('app.ossServer');
$this->ossClient = AliyunOSS::boot(
$serverAddress,
config('app.AccessKeyId'),
config('app.AccessKeySecret')
);
}
public static function upload($ossKey, $filePath, $bucket = '')
{
$isInternal = config('app.isInternal');
!$bucket && $bucket = config('app.ossBucket');
$oss = new OSS($isInternal); // 上传文件使用内网,免流量费
$oss->ossClient->setBucket($bucket);
$oss->ossClient->uploadFile($ossKey, $filePath);
}
/**
* 直接把变量内容上传到oss
*
* @param $osskey
* @param $content
* @param string $bucket
*/
public static function uploadContent($osskey, $content, $bucket = '')
{
$isInternal = config('app.isInternal');
!$bucket && $bucket = config('app.ossBucket');
$oss = new OSS($isInternal); // 上传文件使用内网,免流量费
$oss->ossClient->setBucket($bucket);
$oss->ossClient->uploadContent($osskey, $content);
}
/**
* 删除存储在oss中的文件
*
* @param string $ossKey 存储的key(文件路径和文件名)
* @param string $bucket
*
* @return bool
*/
public static function deleteObject($ossKey, $bucket = '')
{
$isInternal = config('app.isInternal');
!$bucket && $bucket = config('app.ossBucket');
$oss = new OSS($isInternal); // 上传文件使用内网,免流量费
return $oss->ossClient->deleteObject($bucket, $ossKey);
}
/**
* 复制存储在阿里云OSS中的Object
*
* @param string $sourceBuckt 复制的源Bucket
* @param string $sourceKey - 复制的的源Object的Key
* @param string $destBucket - 复制的目的Bucket
* @param string $destKey - 复制的目的Object的Key
*
* @return Models\CopyObjectResult
*/
public function copyObject($sourceBuckt, $sourceKey, $destBucket, $destKey)
{
$oss = new OSS(true); // 上传文件使用内网,免流量费
return $oss->ossClient->copyObject($sourceBuckt, $sourceKey, $destBucket, $destKey);
}
/**
* 移动存储在阿里云OSS中的Object
*
* @param string $sourceBuckt 复制的源Bucket
* @param string $sourceKey - 复制的的源Object的Key
* @param string $destBucket - 复制的目的Bucket
* @param string $destKey - 复制的目的Object的Key
*
* @return Models\CopyObjectResult
*/
public function moveObject($sourceBuckt, $sourceKey, $destBucket, $destKey)
{
$oss = new OSS(true); // 上传文件使用内网,免流量费
return $oss->ossClient->moveObject($sourceBuckt, $sourceKey, $destBucket, $destKey);
}
public static function getUrl($ossKey, $bucket = '')
{
!$bucket && $bucket = config('app.ossBucket');
$oss = new OSS();
$oss->ossClient->setBucket($bucket);
return $oss->ossClient->getUrl($ossKey, new \DateTime("+1 day"));
}
public static function createBucket($bucketName)
{
$oss = new OSS();
return $oss->ossClient->createBucket($bucketName);
}
public static function getAllObjectKey($bucketName)
{
$oss = new OSS();
return $oss->ossClient->getAllObjectKey($bucketName);
}
}

22
app/Common/Sms.php

@ -37,4 +37,26 @@ class Sms
SmsLog::success($mobile, $text, $result);
return true;
}
/**
* 阿里大于
*
* @param $text 发送的内容
* @param $mobile 要发送到哪个手机号上
* @return bool
*/
public static function SendDySms($text, $mobile)
{
$c = new TopClient;
$c->appkey = $appkey;
$c->secretKey = $secret;
$req = new AlibabaAliqinFcSmsNumSendRequest;
$req->setExtend("123456");
$req->setSmsType("normal");
$req->setSmsFreeSignName("阿里大于");
$req->setSmsParam("{\"code\":\"1234\",\"product\":\"alidayu\"}");
$req->setRecNum("13000000000");
$req->setSmsTemplateCode("SMS_585014");
$resp = $c->execute($req);
}
}

4
app/Common/Token.php

@ -87,7 +87,7 @@ class Token
{
if($data == $token->data && strtotime($token->expired_at)>time())
{
return array('token'=>$token->token,'expired_at'=>$token->expired_at);
return array('access_token'=>$token->token,'expired_at'=>$token->expired_at);
}
}
@ -103,6 +103,6 @@ class Token
'expired_at' => $expired_at
));
return array('token'=>$token,'expired_at'=>$expired_at);
return array('access_token'=>$token,'expired_at'=>$expired_at);
}
}

15
app/Http/Controllers/Api/GoodsController.php

@ -19,15 +19,16 @@ class GoodsController extends CommonController
//参数
$data['limit'] = $request->input('limit', 10);
$data['offset'] = $request->input('offset', 0);
if($request->input('type', null) !== null){$data['type'] = $request->input('type');}
$data['user_id'] = Token::$uid;
if($request->input('typeid', '') != ''){$data['typeid'] = $request->input('typeid');}
if($request->input('tuijian', '') != ''){$data['tuijian'] = $request->input('tuijian');}
if($request->input('status', '') != ''){$data['status'] = $request->input('status');}
if($request->input('keyword', '') != ''){$data['keyword'] = $request->input('keyword');}
if($request->input('min_price', '') != ''){$data['min_price'] = $request->input('min_price');}
if($request->input('max_price', '') != ''){$data['max_price'] = $request->input('max_price');}
if($request->input('orderby', '') != ''){$data['orderby'] = $request->input('orderby');}
$res = Goods::getList($data);
if($res === false)
{
return ReturnData::create(ReturnData::SYSTEM_FAIL);
}
return ReturnData::create(ReturnData::SUCCESS,$res);
}

6
app/Http/Controllers/Api/ImageController.php

@ -40,7 +40,7 @@ class ImageController extends CommonController
}
//文件小于1M
if ($file["size"] < 102400)
if ($file["size"] < 1024000)
{
if ($file["error"] > 0)
{
@ -48,9 +48,9 @@ class ImageController extends CommonController
}
else
{
if(!file_exists($uploads_path))
if(!file_exists(base_path('public').$uploads_path))
{
Helper::createDir($uploads_path); //创建文件夹;
Helper::createDir(base_path('public').$uploads_path); //创建文件夹;
}
move_uploaded_file($file["tmp_name"], base_path('public').$image_path);

117
app/Http/Controllers/Api/WechatAuthController.php

@ -0,0 +1,117 @@
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Api\CommonController;
//微信auth2.0 受权
class WechatAuthController extends CommonController
{
public $appid = 'wxba09d9f0fed4b84b'; //微信APPID,公众平台获取
public $appsecret = '332c2b1fc1eb282c0136b73723db4237'; //微信APPSECREC,公众平台获取
public $redirect_uri = "http://www.你的域名.cn/项目目录/index.php?m=分组&c=控制器&a=方法"; //微信回调地址,要跟公众平台的配置域名相同
public $code;
public $openid;
public $state = 123; //重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
public function auth(Request $request)
{
//如果$_SESSION中没有openid,说明用户刚刚登陆,就执行getCode、getOpenId、getUserInfo获取他的信息
if (!isset($_SESSION['openid']))
{
$this->code = $this->getCode();
$this->access_token = $this->getOpenId();
$userInfo = $this->getUserInfo();
//把用户的微信信息存到数据库中
/* if ($userInfo)
{
$ins = M('Wechat_user_info');
$map['openid'] = $userInfo['openid'];
$result = $ins->where($map)->find(); //根据OPENID查找数据库中是否有这个用户,如果没有就写数据库。继承该类的其他类,用户都写入了数据库中。
if (!$result)
{
$ins->add($userInfo);
}
$_SESSION['openid'] = $userInfo['openid']; //写到$_SESSION中。微信缓存很坑爹,调试时请及时清除缓存再试。
} */
}
}
/**
* @explain
* 获取code,用于获取openid和access_token
* @remark
* code只能使用一次,当获取到之后code失效,再次获取需要重新进入
* 不会弹出授权页面,适用于关注公众号后自定义菜单跳转等,如果不关注,那么只能获取openid
**/
public function getCode()
{
if (isset($_REQUEST["code"]))
{
return $_REQUEST["code"];
}
else
{
$str = "location: https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . $this->appid . "&redirect_uri=" . $this->redirect_uri . "&response_type=code&scope=snsapi_userinfo&state=". $this->state ."#wechat_redirect";
header($str);
exit;
}
}
/**
* @explain
* 用于获取用户openid
**/
public function getOpenId()
{
$access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" . $this->appid . "&secret=" . $this->appsecret . "&code=" . $this->code . "&grant_type=authorization_code";
$access_token_json = $this->https_request($access_token_url);
$access_token_array = json_decode($access_token_json, TRUE);
return $access_token_array;
}
/**
* @explain
* 通过code获取用户openid以及用户的微信号信息
* @return
* @remark
* 获取到用户的openid之后可以判断用户是否有数据,可以直接跳过获取access_token,也可以继续获取access_token
* access_token每日获取次数是有限制的,access_token有时间限制,可以存储到数据库7200s. 7200s后access_token失效
**/
public function getUserInfo()
{
$userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$this->access_token['access_token'] ."&openid=" . $this->access_token['openid']."&lang=zh_CN";
$userinfo_json = $this->https_request($userinfo_url);
$userinfo_array = json_decode($userinfo_json, TRUE);
return $userinfo_array;
}
/**
* @explain
* 发送http请求,并返回数据
**/
public function https_request($url, $data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data))
{
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
}

6
app/Http/Kernel.php

@ -27,11 +27,11 @@ class Kernel extends HttpKernel
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
//\App\Http\Middleware\EncryptCookies::class, //禁用,FLi
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
//\Illuminate\Session\Middleware\StartSession::class, //禁用,FLi
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
//\Illuminate\View\Middleware\ShareErrorsFromSession::class, //禁用,FLi
// \App\Http\Middleware\VerifyCsrfToken::class, //禁用VerifyCsrfToken,FLi
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],

4
app/Http/Middleware/TokenAuth.php

@ -13,9 +13,9 @@ class TokenAuth
*/
public function handle($request, Closure $next)
{
$token = $request->header('Token') ?: $request->input('token');
$token = $request->header('AccessToken','') ?: $request->input('access_token','');
if (!$token)
if ($token == '')
{
return ReturnData::create(ReturnData::FORBIDDEN);
}

11
app/Http/Model/Goods.php

@ -31,8 +31,8 @@ class Goods extends BaseModel
//protected $connection = 'connection-name';
//常用字段
protected $common_field = [
'id', 'typeid', 'tuijian', 'click', 'title', 'goods_sn', 'price','litpic', 'pubdate', 'addtime', 'market_price', 'goods_number', 'sale', 'comments','promote_start_date','promote_price','promote_end_date','goods_img','spec','point'
protected static $common_field = [
'id', 'typeid', 'tuijian', 'click', 'title', 'sn', 'price','litpic', 'pubdate', 'add_time', 'market_price', 'goods_number', 'sale', 'comments','promote_start_date','promote_price','promote_end_date','goods_img','spec','point'
];
const STATUS = 0; //商品是否删除,0未删除
@ -66,8 +66,7 @@ class Goods extends BaseModel
$model = $model->where($where);
}
if(isset($keyword)){$model = $model->where("title", "like", "%$keyword%");} //关键词搜索
if(isset($goods_sn)){$model = $model->where("goods_sn", "like", "%$goods_sn%");} //货号搜索
if(isset($keyword)){$model = $model->where("title", "like", "%$keyword%")->orWhere("sn", "like", "%$keyword%");} //关键词搜索
if(isset($max_price) && isset($min_price)){$model = $model->where("price", ">=", $min_price)->where("price", "<=", $max_price);} //价格区间搜索
$res['count'] = $model->count();
@ -99,10 +98,6 @@ class Goods extends BaseModel
{
$res['list'] = $model->select(self::$common_field)->skip($offset)->take($limit)->orderBy('id','desc')->get()->toArray();
}
else
{
return false;
}
return $res;
}

184
public/css/bxslider.css

@ -1,184 +0,0 @@
/* AB模版网 做最好的织梦整站模板下载网站 */
/* 网址:Www.AdminBuy.Cn */
/* 图标大全:Sc.AdminBuy.Cn 专业建站素材网站 */
/* QQ:9490489 */
/**
* BxSlider v4.1.2 - Fully loaded, responsive content slider
* /bxslider.com
*
* Written by: Steven Wanderski, 2014
* /stevenwanderski.com
* (while drinking Belgian ales and listening to jazz)
*
* CEO and founder of bxCreative, LTD
* /bxcreative.com
*/
/** RESET AND LAYOUT
===================================*/
.bx-wrapper {
position: relative;
/*margin: 0 auto 60px;*/
margin: 0 auto 0px;
padding: 0;
*zoom: 1;
}
.bx-wrapper img {
max-width: 100%;
display: block;
}
/** THEME
===================================*/
.bx-wrapper .bx-viewport {
/* -moz-box-shadow: 0 0 5px #ccc;
-webkit-box-shadow: 0 0 5px #ccc;
box-shadow: 0 0 5px #ccc;
border: 5px solid #fff;
left: -5px;
background: #fff;*/
/*fix other elements on the page moving (on Chrome)*/
-webkit-transform: translatez(0);
-moz-transform: translatez(0);
-ms-transform: translatez(0);
-o-transform: translatez(0);
transform: translatez(0);
}
.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
position: absolute;
bottom: -30px;
width: 100%;
}
/* LOADER */
.bx-wrapper .bx-loading {
min-height: 50px;
background: url(../images/bx_loader.gif) center center no-repeat #fff;
height: 100%;
width: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 2000;
}
/* PAGER */
.bx-wrapper .bx-pager {
text-align: center;
font-size: .85em;
font-family: Arial;
font-weight: bold;
color: #666;
padding-top: 20px;
}
.bx-wrapper .bx-pager .bx-pager-item, .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
display: inline-block;
*zoom: 1;
*display: inline;
}
.bx-wrapper .bx-pager.bx-default-pager a {
/*background: #303c4b;*/
border: 1px solid #fff;
text-indent: -9999px;
display: block;
width: 15px;
height: 15px;
margin: 0 3px;
outline: 0;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active {
background: #fff;
border: 1px solid #fff;
}
/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
left: 10px;
background: url(../images/controls.png) no-repeat 0 -32px;
}
.bx-wrapper .bx-next {
right: 10px;
background: url(../images/controls.png) no-repeat -43px -32px;
}
.bx-wrapper .bx-prev:hover {
background-position: 0 0;
}
.bx-wrapper .bx-next:hover {
background-position: -43px 0;
}
.bx-wrapper .bx-controls-direction a {
position: absolute;
top: 50%;
margin-top: -16px;
outline: 0;
width: 32px;
height: 32px;
text-indent: -9999px;
z-index: 999;
}
.bx-wrapper .bx-controls-direction a.disabled {
display: none;
}
/* AUTO CONTROLS (START / STOP) */
.bx-wrapper .bx-controls-auto {
text-align: center;
}
.bx-wrapper .bx-controls-auto .bx-start {
display: block;
text-indent: -9999px;
width: 10px;
height: 11px;
outline: 0;
background: url(../images/controls.png) -86px -11px no-repeat;
margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-start:hover, .bx-wrapper .bx-controls-auto .bx-start.active {
background-position: -86px 0;
}
.bx-wrapper .bx-controls-auto .bx-stop {
display: block;
text-indent: -9999px;
width: 9px;
height: 11px;
outline: 0;
background: url(../images/controls.png) -86px -44px no-repeat;
margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-stop:hover, .bx-wrapper .bx-controls-auto .bx-stop.active {
background-position: -86px -33px;
}
/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
text-align: left;
width: 80%;
}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
right: 0;
width: 35px;
}
/* IMAGE CAPTIONS */
.bx-wrapper .bx-caption {
position: absolute;
bottom: 0;
left: 0;
background: #666\9;
background: rgba(80, 80, 80, 0.75);
width: 100%;
}
.bx-wrapper .bx-caption span {
color: #fff;
font-family: Arial;
display: block;
font-size: .85em;
padding: 10px;
}

2972
public/css/frozen.css
File diff suppressed because it is too large
View File

300
public/css/language-selector.css

@ -1,300 +0,0 @@
/* IE5.5 hacks */
* html #lang_sel,
* html #lang_sel_list {
width: 12em;
}
* html #lang_sel a,
* html #lang_sel_list a {
width: 149px;
}
* html #lang_sel a:visited,
* html #lang_sel_list a:visited {
width: 149px;
}
* html #lang_sel ul ul,
* html #lang_sel_list ul {
top: 18px;
}
* html #lang_sel ul ul a,
* html #lang_sel_list ul a {
width: 150px;
}
* html #lang_sel ul ul a:visited,
* html #lang_sel_list ul a:visited {
width: 150px;
}
/* remove all the bullets, borders and padding from the default list styling */
#lang_sel {
height: 32px;
position: relative;
font-family: verdana, arial, sans-serif;
display: inline-block;
/* style the table so that it takes no part in the layout - required for IE to work */
/* style the top level hover */
}
#lang_sel ul {
padding: 0 !important;
margin: 0 !important;
list-style-type: none !important;
/* hide the sub levels and give them a positon absolute so that they take up no room */
}
#lang_sel ul li:hover ul, #lang_sel ul a:hover ul {
visibility: visible;
}
#lang_sel ul ul {
visibility: hidden;
position: absolute;
height: 0;
top: 25px;
left: 0;
border-top: 1px solid #cdcdcd;
}
#lang_sel ul ul a {
background: #ffffff;
color: #444444;
height: auto;
line-height: 1em;
padding: 5px 10px;
border-width: 0 1px 1px 1px;
}
#lang_sel ul ul a:visited {
background: #ffffff;
color: #444444;
height: auto;
line-height: 1em;
padding: 5px 10px;
border-width: 0 1px 1px 1px;
}
#lang_sel li {
float: left;
width: 95px;
position: relative;
padding: 0 !important;
margin: 0 !important;
list-style-type: none !important;
}
#lang_sel li:before {
content: '' !important;
}
#lang_sel a {
display: block;
font-size: 11px;
text-decoration: none !important;
color: #444444;
border: 1px solid #cdcdcd;
background: #fff;
padding-left: 10px;
line-height: 24px;
}
#lang_sel a:visited {
display: block;
font-size: 11px;
text-decoration: none !important;
color: #444444;
border: 1px solid #cdcdcd;
background: #fff;
padding-left: 10px;
line-height: 24px;
}
#lang_sel a.lang_sel_sel {
background: url(../img/nav-arrow-down.png) #fff right no-repeat;
color: #444;
}
#lang_sel a.lang_sel_sel:hover {
text-decoration: none;
color: #000;
}
#lang_sel table {
position: absolute;
top: 0;
left: 0;
border-collapse: collapse;
}
#lang_sel a:hover, #lang_sel ul ul a:hover, #lang_sel :hover > a, #lang_sel ul ul :hover > a {
color: #000;
background: #eee;
}
#lang_sel img.iclflag {
width: 18px;
height: 12px;
position: relative;
top: 1px;
display:inline;
float:none;
vertical-align: middle;
}
#lang_sel.icl_rtl {
text-align: right;
direction: rtl;
}
#lang_sel.icl_rtl .lang_sel_sel {
padding-right: 14px;
}
/* make the second level visible when hover on first level list OR link */
#lang_sel_footer {
margin: 0;
padding: 7px;
text-align: center;
font: 11px Verdana, sans-serif;
min-height: 15px;
clear: both;
background-color: #fff;
border: 1px solid #cdcdcd;
}
#lang_sel_footer ul {
list-style: none;
margin: 0;
padding: 0;
}
#lang_sel_footer ul li {
display: inline;
margin: 0 1px 0 0;
padding: 0;
white-space: nowrap;
line-height: 25px;
}
#lang_sel_footer ul li img {
position: relative;
top: 1px;
width: 18px;
height: 12px;
}
#lang_sel_footer ul li a {
text-decoration: none;
padding: 5px 10px;
}
#lang_sel_footer ul li a:visited {
text-decoration: none;
padding: 5px 10px;
}
#wpml_credit_footer {
width: 100%;
margin: 10px 0;
padding: 0;
text-align: center;
font-size: 11px;
}
/* remove all the bullets, borders and padding from the default list styling */
#lang_sel_list {
height: 32px;
position: relative;
z-index: 99;
font-family: verdana, arial, sans-serif;
/* style the table so that it takes no ppart in the layout - required for IE to work */
}
#lang_sel_list ul {
padding: 0 !important;
margin: 0 !important;
list-style-type: none !important;
}
#lang_sel_list ul li:hover ul, #lang_sel_list ul a:hover ul {
visibility: visible;
}
#lang_sel_list ul.lang_sel_list_vertical {
width: 149px;
}
#lang_sel_list ul a {
background: #ffffff;
color: #444444;
height: auto;
line-height: 1em;
}
#lang_sel_list li {
float: left;
position: relative;
padding: 0 !important;
margin: 0 !important;
list-style-type: none !important;
}
#lang_sel_list li:before {
content: '' !important;
}
#lang_sel_list a {
display: block;
font-size: 11px;
text-decoration: none !important;
color: #444444;
background: #fff;
line-height: 18px;
padding-left: 5px;
}
#lang_sel_list a:visited {
display: block;
font-size: 11px;
text-decoration: none !important;
color: #444444;
background: #fff;
line-height: 18px;
padding-left: 5px;
}
#lang_sel_list a.lang_sel_sel {
background-image: none;
color: #444;
}
#lang_sel_list a.lang_sel_sel:hover {
text-decoration: none;
color: #000;
}
#lang_sel_list.lang_sel_list_vertical {
width: 149px;
/* hide the sub levels and give them a positon absolute so that they take up no room */
}
#lang_sel_list.lang_sel_list_vertical ul {
/*visibility:hidden;position:absolute;*/
height: 0;
top: 19px;
left: 0;
border-top: 1px solid #cdcdcd;
}
#lang_sel_list.lang_sel_list_vertical ul a {
padding: 3px 10px;
}
#lang_sel_list.lang_sel_list_vertical li {
width: 149px;
}
#lang_sel_list.lang_sel_list_vertical a {
border: 1px solid #cdcdcd;
border-top-width: 0;
padding-left: 10px;
}
#lang_sel_list.lang_sel_list_vertical a:visited {
border: 1px solid #cdcdcd;
border-top-width: 0;
padding-left: 10px;
}
#lang_sel_list table {
position: absolute;
top: 0;
left: 0;
border-collapse: collapse;
}
#lang_sel_list img.iclflag {
width: 18px;
height: 12px;
position: relative;
top: 1px;
display:inline;
}
/* style the second level links */
#lang_sel_list_list ul a:visited {
background: #ffffff;
color: #444444;
height: auto;
line-height: 1em;
padding: 3px 10px;
}
/* reset menu img definitions */
.menu-item-language img.iclflag {
height: 12px !important;
width: 18px !important;
margin-bottom: 0 !important;
margin-right: 4px;
}

218
public/css/lanrenzhijia.css

@ -1,218 +0,0 @@
/* 代码整理:懒人之家 www.lanrenzhijia.com */
body {
font-family:"microsoft Yahei";
color:#666;
margin:0;
}
table, td {
font:12px/180% Arial, Helvetica, sans-serif, Verdana;
color:#666;
}
table {
border-collapse2:collapse2;
border-spacing:0;
empty-cells:show;
}
th, td {
border-collapse2:collapse2;
}
A:link {
text-decoration:none;
}
A:visited {
text-decoration:none;
}
A:hover {
text-decoration:none;
}
img {
border:0;
}
div, p, img, ul, li, form, input, label, span, dl, dt, dd {
margin:0;
padding:0;
font-family:microsoft yahei, Helvetica, sans-serif;
}
ol, ul, li {
list-style-type:none;
}
.overh {
overflow:auto;
zoom:1;
overflow-x:hidden;
overflow-y:hidden;
}
html {
-webkit-text-size-adjust:none;
}
input[type="submit"]::-moz-focus-inner {
border:none;
padding:0;
}
a {
blr:expression(this.onFocus=this.blur())
} /*for IE*/
a {
outline:none;
} /*for Firefox*/
h2 {
font-family:'Microsoft yahei';
font-weight:normal;
}
.overz {
font-size:12px;
overflow:auto;
zoom:1;
overflow-x:hidden;
overflow-y:hidden;
}
.overz A{ color:#666666;}
.overz h2{margin:0;
padding:0;
font-family:microsoft yahei, Helvetica, sans-serif;}
.mn_12 {
margin-bottom:12px;
}
/* 代码整理:懒人之家 www.lanrenzhijia.com */
.online_icon {
width:36px;
height:156px;
overflow:hidden;
font-family:'宋体';
}
.online_icon a {
display:block;
width:36px;
height:156px;
background:url(../images/online_bg.png) no-repeat;
_background:url(../images/online_bg_ie6.png) no-repeat;
}
.online_windows {
width:144px;
}
.online_w_top {
background:url(../images/online_bg.png) no-repeat -36px 0;
height:10px;
_background:url(../images/online_bg_ie6.png) no-repeat -36px 0;
_margin-bottom:-7px;
}
.online_w_c {
background:url(../images/online_bg.png) repeat-y 0 -185px;
padding:0 5px;
_background:url(../images/online_bg_ie6.png) repeat-y 0 -185px
}
.online_w_bottom {
background:url(../images/online_bg.png) repeat-y -36px -35px;
height:29px;
_background:url(../images/online_bg_ie6.png) repeat-y -36px -35px;
}
.online_content {
background:url(../images/online_bg.png) no-repeat -147px -185px;
padding-top:11px;
_background:url(../images/online_bg_ie6.png) no-repeat -147px -185px;
}
.online_content a.qq_icon {
background:url(../images/online_bg.png) no-repeat -37px -130px;
width:121px;
height:25px;
display:block;
margin:0 auto;
text-indent:30px;
line-height:23px;
cursor:pointer;
_background:url(../images/online_bg_ie6.png) no-repeat -37px -130px;
}
.online_content a.qq_icon:hover {
background-position:-159px -130px;
color:#FFF;
}
.online_content a.ww_icon {
background:url(../images/w1.png) no-repeat;
width:121px;
height:25px;
display:block;
margin:0 auto;
text-indent:30px;
line-height:23px;
cursor:pointer;
_background:url(../images/w1.png) no-repeat;
}
.online_content a.ww_icon:hover {
background:url(../images/w2.png) no-repeat;
color:#FFF;
}
.online_bar h2 {
background:url(../images/online_bg.png) repeat-x 0 -156px;
height:29px;
line-height:27px;
font-size:12px;
color:#666;
text-align:left;
_background:url(../images/online_bg_ie6.png) repeat-x 0 -156px;
}
.online_bar h2 a {
display:block;
padding-left:14px;
margin-left:6px;
cursor:pointer;
}
.expand h2 a {
background:url(../images/online_bg.png) no-repeat -36px -69px;
_background:url(../images/online_bg_ie6.png) no-repeat -36px -69px;
}
.collapse2 h2 a {
color:#666666;
background:url(../images/online_bg.png) no-repeat -36px -96px;
_background:url(../images/online_bg_ie6.png) no-repeat -36px -96px;
}
.expand h2 a:hover, .collapse2 h2 a:hover {
text-decoration:none;
color:#c81d04;
}
.online_content {
text-align:center;
border-bottom:1px solid #d0d0d0;
margin-bottom:1px;
}
.online_content ul li {
height:24px;
line-height:24px;
margin-bottom:4px;
font-family:'宋体';
}
.online_content ul li a:hover {
color:#c81d04;
}
/* 代码整理:懒人之家 www.lanrenzhijia.com */
#online_qq_layer {
position:fixed;
right:0px;
top:150px;
_position:absolute;
}
* html, * html body {
_background-attachment:fixed;
}
* html #online_qq_layer {
_bottom:auto;
_top:expression(eval(document.documentElement.scrollTop + 150));
}
#online_qq_tab {
float:left;
margin-top: 50px;
}
#onlineService {
float:left;
margin-left:-3px;
display:none;
}
#onlineType1, #onlineType2, #onlineType3, #onlineType4, #onlineType5, #onlineType6 {
display:none;
}
#onlineType1 {
display:block;
}
/* 代码整理:懒人之家 www.lanrenzhijia.com */

BIN
public/fonts/iconfont-full.ttf

Binary file not shown.

BIN
public/fonts/iconfont.ttf

Binary file not shown.

10
public/js/bxslider.min.js
File diff suppressed because it is too large
View File

1527
public/js/frozen.js
File diff suppressed because it is too large
View File

70
public/js/online.js

@ -1,70 +0,0 @@
$(function(){
// cms客服浮动面板
if($("#cmsFloatPanel"))
{
$("#cmsFloatPanel > .ctrolPanel > a.arrow").click(function(){$("html,body").animate({scrollTop :0}, 800);return false;});
var objServicePanel = $("#cmsFloatPanel > .servicePanel");
var objMessagePanel = $("#cmsFloatPanel > .messagePanel");
var objQrcodePanel = $("#cmsFloatPanel > .qrcodePanel");
var w_s = objServicePanel.outerWidth();
var w_m = objMessagePanel.outerWidth();
var w_q = objQrcodePanel.outerWidth();
$("#cmsFloatPanel .ctrolPanel > a.service").bind({
click : function(){return false;},
mouseover : function(){
objMessagePanel.stop().hide();objQrcodePanel.stop().hide();
if(objServicePanel.css("display") == "none"){
objServicePanel.css("width","0px").show();
objServicePanel.animate({"width" : w_s + "px"},600);
}
return false;
}
});
$(".servicePanel-inner > .serviceMsgPanel > .serviceMsgPanel-hd > a",objServicePanel).bind({
click : function(){
objServicePanel.animate({"width" : "0px"},600,function(){
objServicePanel.hide();
});
return false;
}
});
$("#cmsFloatPanel > .ctrolPanel > a.message").bind({
click : function(){return false;},
mouseover : function(){
objServicePanel.stop().hide();objQrcodePanel.stop().hide();
if(objMessagePanel.css("display") == "none"){
objMessagePanel.css("width","0px").show();
objMessagePanel.animate({"width" : w_m + "px"},600);
}
return false;
}
});
$(".messagePanel-inner > .formPanel > .formPanel-bd > a",objMessagePanel).bind({
click : function(){
objMessagePanel.animate({"width" : "0px"},600,function(){
objMessagePanel.stop().hide();
});
return false;
}
});
$("#cmsFloatPanel > .ctrolPanel > a.qrcode").bind({
click : function(){return false;},
mouseover : function(){
objServicePanel.stop().hide();objMessagePanel.stop().hide();
if(objQrcodePanel.css("display") == "none"){
objQrcodePanel.css("width","0px").show();
objQrcodePanel.animate({"width" : w_q + "px"},600);
}
return false;
}
});
$(".qrcodePanel-inner > .codePanel > .codePanel-hd > a",objQrcodePanel).bind({
click : function(){
objQrcodePanel.animate({"width" : "0px"},600,function(){
objQrcodePanel.stop().hide();
});
return false;
}
});
}
});

1773
public/js/zepto.min.js
File diff suppressed because it is too large
View File

5
routes/web.php

@ -180,8 +180,9 @@ Route::group(['prefix' => 'fladmin', 'namespace' => 'Admin', 'middleware' => ['w
});
//接口路由,无需token验证
Route::group(['prefix' => 'dataapi', 'namespace' => 'Api', 'middleware' => ['web']], function () {
Route::group(['middleware' => ['web']], function () {
Route::post('/dataapi/customer_login', 'Api\WechatAuthController@customerLogin');
Route::post('/dataapi/', 'Api\UserController@signin'); //签到
});
//接口路由,需token验证

Loading…
Cancel
Save