Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
纵之格
ShopXO
提交
7afdcb61
ShopXO
项目概览
纵之格
/
ShopXO
通知
394
Star
16
Fork
11
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7afdcb61
编写于
4月 01, 2023
作者:
G
gongfuxiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
商品详情及用户优化
上级
ad7c3aab
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
179 addition
and
92 deletion
+179
-92
app/api/controller/Buy.php
app/api/controller/Buy.php
+5
-4
app/index/view/default/goods/index.html
app/index/view/default/goods/index.html
+2
-4
app/service/GoodsCartService.php
app/service/GoodsCartService.php
+55
-1
app/service/GoodsService.php
app/service/GoodsService.php
+61
-20
app/service/UserService.php
app/service/UserService.php
+37
-39
public/static/index/default/css/common.css
public/static/index/default/css/common.css
+0
-1
public/static/index/default/css/goods.css
public/static/index/default/css/goods.css
+13
-16
public/static/index/default/js/goods.js
public/static/index/default/js/goods.js
+6
-7
未找到文件。
app/api/controller/Buy.php
浏览文件 @
7afdcb61
...
...
@@ -77,10 +77,11 @@ class Buy extends Common
// 数据返回组装
$result
=
[
'goods_list'
=>
$buy_goods
,
'payment_list'
=>
$payment_list
,
'base'
=>
$buy_base
,
'common_site_type'
=>
(
int
)
$buy_base
[
'common_site_type'
],
'goods_list'
=>
$buy_goods
,
'payment_list'
=>
$payment_list
,
'base'
=>
$buy_base
,
'common_site_type'
=>
(
int
)
$buy_base
[
'common_site_type'
],
'default_payment_id'
=>
$params
[
'payment_id'
],
];
$ret
=
SystemBaseService
::
DataReturn
(
$result
);
}
...
...
app/index/view/default/goods/index.html
浏览文件 @
7afdcb61
...
...
@@ -304,7 +304,7 @@
<!--各种规格-->
{{if $goods['is_shelves'] == 1 and $goods['inventory'] gt 0}}
<dl
class=
"
iteminfo_parameter sys_item_specpara
"
>
<dl
class=
"
buy-spec-info-container
"
>
<dt
class=
"buy-event mini-spec-event"
data-type=
"buy"
>
<div
class=
"cart-title"
>
<span
class=
"specpara-title"
>
{{:MyLang('goods.panel_can_choice_spec_name')}}
</span>
...
...
@@ -535,9 +535,7 @@
<!-- 加入购物车表单 -->
<form
action=
"{{:MyUrl('index/cart/save')}}"
method=
"post"
class=
"cart-form am-hide"
request-type=
"ajax-fun"
request-value=
"CartSubmitBack"
>
<input
type=
"hidden"
name=
"goods_id"
value=
"{{$goods.id}}"
/>
<input
type=
"hidden"
name=
"stock"
value=
"1"
/>
<input
type=
"hidden"
name=
"spec"
value=
""
/>
<input
type=
"hidden"
name=
"goods_data"
value=
""
/>
<button
type=
"submit"
></button>
</form>
{{else /}}
...
...
app/service/GoodsCartService.php
浏览文件 @
7afdcb61
...
...
@@ -200,6 +200,60 @@ class GoodsCartService
* @param [array] $params [输入参数]
*/
public
static
function
GoodsCartSave
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'user'
,
'error_msg'
=>
MyLang
(
'user_info_incorrect_tips'
),
],
];
$ret
=
ParamsChecked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 是否批量
$ret
=
DataReturn
(
MyLang
(
'operate_fail'
),
-
1
);
if
(
!
empty
(
$params
[
'goods_data'
]))
{
// 是否数组
if
(
!
is_array
(
$params
[
'goods_data'
]))
{
$params
[
'goods_data'
]
=
json_decode
(
base64_decode
(
urldecode
(
$params
[
'goods_data'
])),
true
);
}
if
(
empty
(
$params
[
'goods_data'
]))
{
return
DataReturn
(
MyLang
(
'params_error_tips'
),
-
1
);
}
// 循环处理
foreach
(
$params
[
'goods_data'
]
as
$k
=>
$v
)
{
$ret
=
self
::
GoodsCartSaveHandle
(
array_merge
(
$v
,
[
'user'
=>
$params
[
'user'
]]));
if
(
$ret
[
'code'
]
!=
0
)
{
$ret
[
'msg'
]
=
(
$k
+
1
)
.
'、'
.
$ret
[
'msg'
];
return
$ret
;
}
}
}
else
{
$ret
=
self
::
GoodsCartSaveHandle
(
$params
);
}
return
$ret
;
}
/**
* 购物车添加/更新处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-08-29
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
GoodsCartSaveHandle
(
$params
=
[])
{
// 请求参数
$p
=
[
...
...
@@ -342,7 +396,7 @@ class GoodsCartService
}
/**
* 购物车数量
保存
* 购物车数量
更新
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
...
...
app/service/GoodsService.php
浏览文件 @
7afdcb61
...
...
@@ -2409,28 +2409,69 @@ class GoodsService
*/
public
static
function
GoodsStock
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
MyLang
(
'goods_id_error_tips'
),
],
[
'checked_type'
=>
'min'
,
'key_name'
=>
'stock'
,
'checked_data'
=>
1
,
'error_msg'
=>
MyLang
(
'common_service.goods.base_buy_stock_error_tips'
),
],
];
$ret
=
ParamsChecked
(
$params
,
$p
);
if
(
$ret
!==
true
)
// 是否批量
if
(
!
empty
(
$params
[
'goods_data'
]))
{
return
DataReturn
(
$ret
,
-
1
);
}
// 是否数组
if
(
!
is_array
(
$params
[
'goods_data'
]))
{
$params
[
'goods_data'
]
=
json_decode
(
htmlspecialchars_decode
(
$params
[
'goods_data'
]),
true
);
}
if
(
empty
(
$params
[
'goods_data'
]))
{
return
DataReturn
(
MyLang
(
'params_error_tips'
),
-
1
);
}
// 循环处理
$result
=
[];
foreach
(
$params
[
'goods_data'
]
as
$v
)
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
MyLang
(
'goods_id_error_tips'
),
],
[
'checked_type'
=>
'isset'
,
'key_name'
=>
'stock'
,
'error_msg'
=>
MyLang
(
'common_service.goods.base_buy_stock_error_tips'
),
],
];
$ret
=
ParamsChecked
(
$v
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 获取商品基础信息
return
self
::
GoodsSpecDetail
(
$params
);
// 获取商品基础信息
$result
[]
=
self
::
GoodsSpecDetail
(
$v
);
}
return
DataReturn
(
MyLang
(
'operate_success'
),
0
,
$result
);
}
else
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
MyLang
(
'goods_id_error_tips'
),
],
[
'checked_type'
=>
'isset'
,
'key_name'
=>
'stock'
,
'error_msg'
=>
MyLang
(
'common_service.goods.base_buy_stock_error_tips'
),
],
];
$ret
=
ParamsChecked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 获取商品基础信息
return
self
::
GoodsSpecDetail
(
$params
);
}
}
/**
...
...
app/service/UserService.php
浏览文件 @
7afdcb61
...
...
@@ -796,35 +796,39 @@ class UserService
* @version 0.0.1
* @datetime 2017-03-09T11:37:43+0800
* @param [int] $user_id [用户id]
* @param [array] $user [用户信息]
* @return [boolean] [记录成功true, 失败false]
*/
public
static
function
UserLoginRecord
(
$user_id
=
0
)
public
static
function
UserLoginRecord
(
$user_id
=
0
,
$user
=
[]
)
{
if
(
!
empty
(
$user_id
))
if
(
!
empty
(
$user_id
)
&&
empty
(
$user
)
)
{
$user
=
self
::
UserInfo
(
'id'
,
$user_id
);
if
(
!
empty
(
$user
))
$user
=
self
::
UserHandle
(
self
::
UserInfo
(
'id'
,
$user_id
));
}
if
(
!
empty
(
$user
))
{
// 用户id处理
if
(
empty
(
$user_id
))
{
// 用户数据处理
$user
=
self
::
UserHandle
(
$user
);
$user_id
=
$user
[
'id'
];
}
// 用户登录成功信息纪录钩子
$hook_name
=
'plugins_service_user_login_success_record'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'user'
=>
&
$user
,
'user_id'
=>
$user_id
]);
// 用户登录成功信息纪录钩子
$hook_name
=
'plugins_service_user_login_success_record'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'user'
=>
&
$user
,
'user_id'
=>
$user_id
]);
// web端设置session
if
(
APPLICATION
==
'web'
)
{
// 存储session
MyCookie
(
self
::
$user_login_key
,
$user
);
}
return
true
;
// web端设置session
if
(
APPLICATION
==
'web'
)
{
// 存储session
MyCookie
(
self
::
$user_login_key
,
$user
);
}
return
true
;
}
return
false
;
}
...
...
@@ -1292,7 +1296,7 @@ class UserService
$body_html
=
[];
// 用户登录后钩子
$user
=
self
::
User
Info
(
'id'
,
$user_id
,
'id,number_code,system_type,username,nickname,mobile,email,gender,avatar,province,city,county,birthday'
);
$user
=
self
::
User
Handle
(
self
::
UserInfo
(
'id'
,
$user_id
)
);
// 会员码生成处理
if
(
empty
(
$user
[
'number_code'
]))
...
...
@@ -1318,10 +1322,10 @@ class UserService
// 成功返回
if
(
APPLICATION
==
'app'
)
{
$result
=
self
::
AppUserInfoHandle
(
$user_id
);
$result
=
self
::
AppUserInfoHandle
(
0
,
null
,
null
,
$user
);
}
else
{
// 登录记录
if
(
!
self
::
UserLoginRecord
(
$user_id
))
if
(
!
self
::
UserLoginRecord
(
0
,
$user
))
{
return
DataReturn
(
MyLang
(
'login_failure_tips'
),
-
100
);
}
...
...
@@ -2142,7 +2146,7 @@ class UserService
$user
=
self
::
UserHandle
(
self
::
UserInfo
(
'id'
,
$params
[
'user'
][
'id'
]));
// 重新更新用户缓存
self
::
UserLoginRecord
(
$user
[
'id'
]
);
self
::
UserLoginRecord
(
0
,
$user
);
if
(
!
empty
(
$user
[
'token'
]))
{
MyCache
(
SystemService
::
CacheKey
(
'shopxo.cache_user_info'
)
.
$user
[
'token'
],
$user
);
...
...
@@ -2424,17 +2428,14 @@ class UserService
// 获取用户信息
if
(
!
empty
(
$user_id
))
{
$user
=
self
::
User
Info
(
'id'
,
$user_id
);
$user
=
self
::
User
Handle
(
self
::
UserInfo
(
'id'
,
$user_id
)
);
}
elseif
(
!
empty
(
$where_field
)
&&
!
empty
(
$where_value
)
&&
empty
(
$user
))
{
$user
=
self
::
User
Info
(
$where_field
,
$where_value
);
$user
=
self
::
User
Handle
(
self
::
UserInfo
(
$where_field
,
$where_value
)
);
}
if
(
!
empty
(
$user
))
{
// 用户信息处理
$user
=
self
::
UserHandle
(
$user
);
// 是否强制绑定手机号码
$user
[
'is_mandatory_bind_mobile'
]
=
intval
(
MyC
(
'common_user_is_mandatory_bind_mobile'
));
...
...
@@ -2447,11 +2448,8 @@ class UserService
$user
[
'number_code'
]
=
self
::
UserNumberCodeCreatedHandle
(
$user
[
'id'
]);
}
// 非token数据库校验,则重新生成token更新到数据库
if
(
$where_field
!=
'token'
)
{
$user
=
self
::
UserTokenUpdate
(
$user
[
'id'
],
$user
);
}
// 重新生成token更新到数据库并缓存
$user
=
self
::
UserTokenUpdate
(
$user
[
'id'
],
$user
);
}
// 用户信息钩子
...
...
@@ -2481,21 +2479,21 @@ class UserService
public
static
function
UserTokenUpdate
(
$user_id
,
$user
=
[])
{
// 未指定用户则读取用户信息、并处理数据
if
(
empty
(
$user
))
if
(
empty
(
$user
)
&&
!
empty
(
$user_id
)
)
{
$user
=
self
::
UserHandle
(
self
::
UserInfo
(
'id'
,
$user_id
));
}
if
(
!
empty
(
$user
))
{
// token生成并存储缓存
$user
[
'token'
]
=
ApiService
::
CreatedUserToken
(
$user
_id
);
if
(
self
::
UserPlatformUpdate
(
'user_id'
,
$user
_id
,
[
'token'
=>
$user
[
'token'
]])
)
$user
[
'token'
]
=
ApiService
::
CreatedUserToken
(
$user
[
'id'
]
);
if
(
self
::
UserPlatformUpdate
(
'user_id'
,
$user
[
'id'
],
[
'token'
=>
$user
[
'token'
],
'upd_time'
=>
time
()])
!==
false
)
{
MyCache
(
SystemService
::
CacheKey
(
'shopxo.cache_user_info'
)
.
$user
[
'token'
],
$user
);
}
// web端用户登录纪录处理
self
::
UserLoginRecord
(
$user_id
);
self
::
UserLoginRecord
(
$user_id
,
$user
);
}
return
$user
;
}
...
...
public/static/index/default/css/common.css
浏览文件 @
7afdcb61
...
...
@@ -454,7 +454,6 @@ ul.am-dropdown-content > .am-active > a:focus,
.am-nav
>
li
.am-active
>
a
:hover
,
.am-nav
>
li
.am-active
>
a
:focus
{
color
:
#d2354c
!important
;
background-color
:
transparent
;
}
.am-article-title.blog-title
{
...
...
public/static/index/default/css/goods.css
浏览文件 @
7afdcb61
...
...
@@ -34,7 +34,7 @@ input{font-size:12px;font-size:100%;outline:none;line-height:normal;color:#444;}
.stock-tips
{
font-size
:
12px
;
}
/*可选规格*/
.
iteminfo_paramet
er
{
margin-bottom
:
10px
;
}
.
buy-spec-info-contain
er
{
margin-bottom
:
10px
;
}
.theme-signin-left
{
max-height
:
250px
;
overflow-y
:
scroll
;
background
:
#fff
;}
.theme-options
{
display
:
block
;
overflow
:
hidden
;
padding-left
:
10px
;
padding-right
:
10px
;
margin-bottom
:
5px
;
color
:
#666
;}
.theme-signin-left
.sku-line
{
float
:
left
;
margin
:
10px
;
margin-left
:
0
;
border-radius
:
2px
;
background
:
#efefef
;
padding
:
3px
8px
;
border
:
1px
solid
#d5d5d5
;}
...
...
@@ -43,7 +43,7 @@ input{font-size:12px;font-size:100%;outline:none;line-height:normal;color:#444;}
.sku-line-images
img
{
width
:
30px
;
height
:
30px
;
vertical-align
:
middle
;
border-radius
:
2px
;
}
.theme-signin
.btn
{
width
:
100%
;
font-size
:
16px
;
padding
:
5px
;}
.btn-op
{
position
:
fixed
;
left
:
0
;
bottom
:
0
;
width
:
100%
;
z-index
:
3
;}
.
iteminfo_paramet
er
dt
.buy-event
{
text-align
:
left
;
width
:
100%
;}
.
buy-spec-info-contain
er
dt
.buy-event
{
text-align
:
left
;
width
:
100%
;}
.theme-options
dd
{
margin
:
10px
0px
;}
.introduce-main
.am-sticky-placeholder
{
margin
:
0px
!important
;
}
...
...
@@ -163,7 +163,7 @@ input{font-size:12px;font-size:100%;outline:none;line-height:normal;color:#444;}
.iteminfo_mktprice
em
,
.goods-price
{
color
:
#c00
;}
.tb-detail-price
dd
{
display
:
inline-block
;}
.goods-favor-count
{
color
:
#999
;
}
.
iteminfo_paramet
er
a
:hover
{
text-decoration
:
none
;
color
:
initial
;}
.
buy-spec-info-contain
er
a
:hover
{
text-decoration
:
none
;
color
:
initial
;}
.tm-indcon
.tm-label
,
.tb-detail-price
dt
,
.specpara-title
{
white-space
:
nowrap
;
color
:
#666
;
font-weight
:
400
;
}
.tb-detail-price
{
background
:
#fcf1e3
url(../images/goods-meta-bg.png)
;
background-size
:
cover
;
-moz-background-size
:
cover
;
background-repeat
:
no-repeat
;
height
:
auto
;
padding
:
10px
;
}
.tb-detail-price
.items
{
display
:
block
;
margin
:
5px
0
;}
...
...
@@ -172,7 +172,7 @@ input{font-size:12px;font-size:100%;outline:none;line-height:normal;color:#444;}
/* 二维码 */
.goods-qrcode
{
position
:
absolute
;
bottom
:
5px
;
right
:
10px
;
cursor
:
pointer
;
color
:
#666
;
width
:
150px
;
text-align
:
right
;}
.goods-qrcode
.qrcode-images
{
display
:
none
;
position
:
absolute
;
z-index
:
2
;
top
:
30px
;
right
:
0
;}
.goods-qrcode
.qrcode-images
{
display
:
none
;
position
:
absolute
;
z-index
:
105
;
top
:
30px
;
right
:
0
;}
.goods-qrcode
:hover
.qrcode-images
{
display
:
block
;}
/* 视频 */
...
...
@@ -194,7 +194,7 @@ input{font-size:12px;font-size:100%;outline:none;line-height:normal;color:#444;}
.scoll
.goods-video-submit-start
{
left
:
0
;
bottom
:
30px
;
padding
:
10px
10px
5px
10px
;
}
/*销量*/
.tm-ind-panel
,
.
iteminfo_paramet
er
,
.parameters-base
{
border-bottom
:
1px
dotted
#dadada
;
}
.tm-ind-panel
,
.
buy-spec-info-contain
er
,
.parameters-base
{
border-bottom
:
1px
dotted
#dadada
;
}
.tm-ind-panel
{
padding
:
10px
5px
;
position
:
relative
;
overflow
:
hidden
;
clear
:
both
;
display
:
flex
;}
.tm-ind-item
{
float
:
left
;
width
:
33%
;
text-align
:
center
;
position
:
relative
;
left
:
-1px
;
border-left
:
1px
solid
#E5DFDA
;
flex
:
1
1
0%
;
line-height
:
16px
;
cursor
:
pointer
;}
...
...
@@ -212,8 +212,8 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
.buy-event
.cart-title
.am-icon-angle-right
{
float
:
right
;}
/*数量*/
.
iteminfo_parameter.munber
,
.iteminfo_paramet
er.freight
{
display
:
none
;}
.
iteminfo_paramet
er.munber
dd
{
margin-left
:
5px
;}
.
buy-spec-info-container.munber
,
.buy-spec-info-contain
er.freight
{
display
:
none
;}
.
buy-spec-info-contain
er.munber
dd
{
margin-left
:
5px
;}
#min
,
#add
{
width
:
35px
;
height
:
25px
;
outline
:
none
;
line-height
:
23px
;
padding
:
0
;
cursor
:
pointer
;
}
#text_box
{
width
:
60px
;
height
:
25px
;
text-align
:
center
;
font-size
:
12px
!important
;
}
.theme-popover
.am-input-group
{
display
:
inline-flex
;
}
...
...
@@ -409,8 +409,8 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
.scoll
{
float
:
left
;
width
:
calc
(
45%
-
20px
);}
.scoll
.slider-content
{
border
:
1px
solid
#eee
;
}
.clearfix-right
{
float
:
right
;
width
:
55%
;
min-height
:
270px
;}
.
iteminfo_paramet
er.freight
{
display
:
block
;
margin-top
:
10px
;
margin-bottom
:
10px
;}
.
iteminfo_paramet
er.freight
dt
{
margin-left
:
-70px
;
float
:
left
;
margin-right
:
10px
;
padding-top
:
5px
;
padding-bottom
:
20px
;}
.
buy-spec-info-contain
er.freight
{
display
:
block
;
margin-top
:
10px
;
margin-bottom
:
10px
;}
.
buy-spec-info-contain
er.freight
dt
{
margin-left
:
-70px
;
float
:
left
;
margin-right
:
10px
;
padding-top
:
5px
;
padding-bottom
:
20px
;}
.buy-nav
{
position
:
static
;
margin-top
:
20px
;
overflow
:
hidden
;
}
ul
.am-avg-sm-4.am-tabs-nav.am-nav.am-nav-tabs
{
width
:
auto
;}
...
...
@@ -427,7 +427,7 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
/*基础*/
.tb-detail-price
.items
dt
{
min-width
:
85px
;
}
.
iteminfo_paramet
er
{
padding-left
:
50px
;}
.
buy-spec-info-contain
er
{
padding-left
:
50px
;}
.tb-detail-hd
,
.tb-detail-price
{
text-align
:
left
;}
.tb-detail-hd
h1
{
font-size
:
16px
;}
...
...
@@ -466,7 +466,7 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
/*规格*/
.theme-popover
{
display
:
block
;
position
:
static
;
border
:
none
;
box-shadow
:
none
;
width
:
100%
;}
.theme-poptit
,
.theme-signin-right
,
.
iteminfo_paramet
er
dt
.buy-event
,
.btn-op
{
display
:
none
;}
.theme-poptit
,
.theme-signin-right
,
.
buy-spec-info-contain
er
dt
.buy-event
,
.btn-op
{
display
:
none
;}
.theme-options
{
overflow
:
visible
;
padding
:
0px
0px
;
margin-bottom
:
5px
;}
.theme-options
ul
{
overflow
:
hidden
;
float
:
none
;}
...
...
@@ -474,12 +474,9 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
.theme-signin-left
.cart-title
{
margin-left
:
-46px
;
float
:
left
;}
.scoll
{
display
:
none
;}
.item-inform
{
max-width
:
1000px
;
background
:
#fff
;
margin-bottom
:
30px
;
}
.clearfix-left
{
display
:
block
;
float
:
left
;
width
:
350px
;}
.clearfix-right
{
width
:
calc
(
100%
-
370px
);
margin-left
:
10px
;}
.freight
{
width
:
400px
;
float
:
left
;}
.iteminfo_parameter.freight
dt
{
padding-top
:
6px
;
padding-bottom
:
0px
;}
.iteminfo_parameter
{
border-bottom
:
0
;
}
.clearfix-right
{
width
:
calc
(
100%
-
370px
);
margin-left
:
10px
;}}
.buy-spec-info-container
{
border-bottom
:
0
;
}
/*左侧商品-看了又看*/
.introduce-main
{
width
:
80%
;
float
:
left
;
background
:
#fff
;}
...
...
public/static/index/default/js/goods.js
浏览文件 @
7afdcb61
...
...
@@ -175,15 +175,15 @@ function BuyCartHandle(e)
}
// 操作类型
var
goods_data
=
encodeURIComponent
(
CryptoJS
.
enc
.
Base64
.
stringify
(
CryptoJS
.
enc
.
Utf8
.
parse
(
JSON
.
stringify
([{
goods_id
:
params
.
id
,
stock
:
params
.
stock
,
spec
:
params
.
spec
}]))));
switch
(
params
.
type
)
{
// 立即购买
case
'
buy
'
:
var
goods_data
=
encodeURIComponent
(
CryptoJS
.
enc
.
Base64
.
stringify
(
CryptoJS
.
enc
.
Utf8
.
parse
(
JSON
.
stringify
([{
goods_id
:
params
.
id
,
stock
:
params
.
stock
,
spec
:
params
.
spec
}]))));
var
$form
=
$
(
'
form.buy-form
'
);
$form
.
find
(
'
input[name="goods_data"]
'
).
val
(
goods_data
);
$form
.
find
(
'
button[type="submit"]
'
).
trigger
(
'
click
'
);
...
...
@@ -192,8 +192,7 @@ function BuyCartHandle(e)
// 加入购物车
case
'
cart
'
:
var
$form
=
$
(
'
form.cart-form
'
);
$form
.
find
(
'
input[name="spec"]
'
).
val
(
JSON
.
stringify
(
params
.
spec
));
$form
.
find
(
'
input[name="stock"]
'
).
val
(
params
.
stock
);
$form
.
find
(
'
input[name="goods_data"]
'
).
val
(
goods_data
);
$form
.
find
(
'
button[type="submit"]
'
).
trigger
(
'
click
'
);
PoptitClose
();
break
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录