林一峰
7 years ago
20 changed files with 6551 additions and 809 deletions
-
116app/Common/OSS.php
-
22app/Common/Sms.php
-
4app/Common/Token.php
-
15app/Http/Controllers/Api/GoodsController.php
-
6app/Http/Controllers/Api/ImageController.php
-
117app/Http/Controllers/Api/WechatAuthController.php
-
6app/Http/Kernel.php
-
4app/Http/Middleware/TokenAuth.php
-
11app/Http/Model/Goods.php
-
184public/css/bxslider.css
-
2972public/css/frozen.css
-
300public/css/language-selector.css
-
218public/css/lanrenzhijia.css
-
BINpublic/fonts/iconfont-full.ttf
-
BINpublic/fonts/iconfont.ttf
-
10public/js/bxslider.min.js
-
1527public/js/frozen.js
-
70public/js/online.js
-
1773public/js/zepto.min.js
-
5routes/web.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); |
|||
} |
|||
|
|||
} |
@ -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; |
|||
} |
|||
} |
@ -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
File diff suppressed because it is too large
View File
@ -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; |
|||
} |
@ -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 */ |
Binary file not shown.
Binary file not shown.
10
public/js/bxslider.min.js
File diff suppressed because it is too large
View File
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
File diff suppressed because it is too large
View File
@ -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
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue