Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
semour
/
semour_web
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
f4140683
authored
Nov 14, 2022
by
SUDPTDUBLXEROFX\Administrator
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
no message
parent
e42b1a4e
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
37 additions
and
234 deletions
.idea/workspace.xml
app/Http/Controllers/Api/CartApiController.php
app/Http/Middleware/CheckApiLogin.php
app/Http/Services/CartService.php
routes/api.php
.idea/workspace.xml
deleted
100644 → 0
View file @
e42b1a4e
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"ChangeListManager"
>
<list
default=
"true"
id=
"fb90add0-1393-48c2-9f26-72365d42cd03"
name=
"变更"
comment=
""
>
<change
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/app/Http/Controllers/Api/UserAddressApiController.php"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/app/Http/Controllers/Api/UserAddressApiController.php"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/app/Http/Controllers/Api/UserApiController.php"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/app/Http/Controllers/Api/UserApiController.php"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/app/Http/Services/UserAddressService.php"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/app/Http/Services/UserAddressService.php"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/bootstrap/app.php"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/bootstrap/app.php"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/bootstrap/cache/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/bootstrap/cache/.gitignore"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/storage/app/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/storage/app/.gitignore"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/storage/app/public/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/storage/app/public/.gitignore"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/storage/framework/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/storage/framework/.gitignore"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/storage/framework/cache/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/storage/framework/cache/.gitignore"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/storage/framework/cache/data/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/storage/framework/cache/data/.gitignore"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/storage/framework/sessions/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/storage/framework/sessions/.gitignore"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/storage/framework/testing/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/storage/framework/testing/.gitignore"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/storage/framework/views/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/storage/framework/views/.gitignore"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/storage/logs/.gitignore"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/storage/logs/.gitignore"
afterDir=
"false"
/>
</list>
<option
name=
"SHOW_DIALOG"
value=
"false"
/>
<option
name=
"HIGHLIGHT_CONFLICTS"
value=
"true"
/>
<option
name=
"HIGHLIGHT_NON_ACTIVE_CHANGELIST"
value=
"false"
/>
<option
name=
"LAST_RESOLUTION"
value=
"IGNORE"
/>
</component>
<component
name=
"ComposerSettings"
doNotAsk=
"true"
synchronizationState=
"SYNCHRONIZE"
>
<pharConfigPath>
$PROJECT_DIR$/composer.json
</pharConfigPath>
<execution
/>
</component>
<component
name=
"Git.Settings"
>
<option
name=
"RECENT_GIT_ROOT_PATH"
value=
"$PROJECT_DIR$"
/>
</component>
<component
name=
"GitSEFilterConfiguration"
>
<file-type-list>
<filtered-out-file-type
name=
"LOCAL_BRANCH"
/>
<filtered-out-file-type
name=
"REMOTE_BRANCH"
/>
<filtered-out-file-type
name=
"TAG"
/>
<filtered-out-file-type
name=
"COMMIT_BY_MESSAGE"
/>
</file-type-list>
</component>
<component
name=
"PhpWorkspaceProjectConfiguration"
>
<include_path>
<path
value=
"$PROJECT_DIR$/vendor/swiftmailer/swiftmailer"
/>
<path
value=
"$PROJECT_DIR$/vendor/psy/psysh"
/>
<path
value=
"$PROJECT_DIR$/vendor/fakerphp/faker"
/>
<path
value=
"$PROJECT_DIR$/vendor/asm89/stack-cors"
/>
<path
value=
"$PROJECT_DIR$/vendor/fideloper/proxy"
/>
<path
value=
"$PROJECT_DIR$/vendor/ramsey/uuid"
/>
<path
value=
"$PROJECT_DIR$/vendor/ramsey/collection"
/>
<path
value=
"$PROJECT_DIR$/vendor/composer"
/>
<path
value=
"$PROJECT_DIR$/vendor/brick/math"
/>
<path
value=
"$PROJECT_DIR$/vendor/egulias/email-validator"
/>
<path
value=
"$PROJECT_DIR$/vendor/theseer/tokenizer"
/>
<path
value=
"$PROJECT_DIR$/vendor/league/mime-type-detection"
/>
<path
value=
"$PROJECT_DIR$/vendor/league/commonmark"
/>
<path
value=
"$PROJECT_DIR$/vendor/fruitcake/laravel-cors"
/>
<path
value=
"$PROJECT_DIR$/vendor/league/flysystem"
/>
<path
value=
"$PROJECT_DIR$/vendor/mockery/mockery"
/>
<path
value=
"$PROJECT_DIR$/vendor/phpoption/phpoption"
/>
<path
value=
"$PROJECT_DIR$/vendor/opis/closure"
/>
<path
value=
"$PROJECT_DIR$/vendor/nikic/php-parser"
/>
<path
value=
"$PROJECT_DIR$/vendor/doctrine/instantiator"
/>
<path
value=
"$PROJECT_DIR$/vendor/ralouphie/getallheaders"
/>
<path
value=
"$PROJECT_DIR$/vendor/doctrine/lexer"
/>
<path
value=
"$PROJECT_DIR$/vendor/doctrine/inflector"
/>
<path
value=
"$PROJECT_DIR$/vendor/scrivo/highlight.php"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/type"
/>
<path
value=
"$PROJECT_DIR$/vendor/psr/http-factory"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/diff"
/>
<path
value=
"$PROJECT_DIR$/vendor/psr/simple-cache"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/recursion-context"
/>
<path
value=
"$PROJECT_DIR$/vendor/psr/http-client"
/>
<path
value=
"$PROJECT_DIR$/vendor/voku/portable-ascii"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/resource-operations"
/>
<path
value=
"$PROJECT_DIR$/vendor/psr/container"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup"
/>
<path
value=
"$PROJECT_DIR$/vendor/psr/event-dispatcher"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/object-enumerator"
/>
<path
value=
"$PROJECT_DIR$/vendor/psr/http-message"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/comparator"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/environment"
/>
<path
value=
"$PROJECT_DIR$/vendor/psr/log"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/global-state"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/exporter"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/object-reflector"
/>
<path
value=
"$PROJECT_DIR$/vendor/monolog/monolog"
/>
<path
value=
"$PROJECT_DIR$/vendor/sebastian/version"
/>
<path
value=
"$PROJECT_DIR$/vendor/myclabs/deep-copy"
/>
<path
value=
"$PROJECT_DIR$/vendor/facade/flare-client-php"
/>
<path
value=
"$PROJECT_DIR$/vendor/facade/ignition"
/>
<path
value=
"$PROJECT_DIR$/vendor/facade/ignition-contracts"
/>
<path
value=
"$PROJECT_DIR$/vendor/phpunit/phpunit"
/>
<path
value=
"$PROJECT_DIR$/vendor/phpunit/php-timer"
/>
<path
value=
"$PROJECT_DIR$/vendor/phpunit/php-file-iterator"
/>
<path
value=
"$PROJECT_DIR$/vendor/phpunit/php-text-template"
/>
<path
value=
"$PROJECT_DIR$/vendor/phpunit/php-token-stream"
/>
<path
value=
"$PROJECT_DIR$/vendor/phpunit/php-code-coverage"
/>
<path
value=
"$PROJECT_DIR$/vendor/nunomaduro/collision"
/>
<path
value=
"$PROJECT_DIR$/vendor/tijsverkoyen/css-to-inline-styles"
/>
<path
value=
"$PROJECT_DIR$/vendor/laravel/tinker"
/>
<path
value=
"$PROJECT_DIR$/vendor/hamcrest/hamcrest-php"
/>
<path
value=
"$PROJECT_DIR$/vendor/laravel/framework"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/polyfill-mbstring"
/>
<path
value=
"$PROJECT_DIR$/vendor/guzzlehttp/psr7"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/finder"
/>
<path
value=
"$PROJECT_DIR$/vendor/guzzlehttp/promises"
/>
<path
value=
"$PROJECT_DIR$/vendor/vlucas/phpdotenv"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/routing"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/deprecation-contracts"
/>
<path
value=
"$PROJECT_DIR$/vendor/guzzlehttp/guzzle"
/>
<path
value=
"$PROJECT_DIR$/vendor/dragonmantank/cron-expression"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/css-selector"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/polyfill-intl-grapheme"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/polyfill-php80"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/polyfill-intl-normalizer"
/>
<path
value=
"$PROJECT_DIR$/vendor/nesbot/carbon"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/polyfill-ctype"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/mime"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/polyfill-php72"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/error-handler"
/>
<path
value=
"$PROJECT_DIR$/vendor/filp/whoops"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/polyfill-php73"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/event-dispatcher-contracts"
/>
<path
value=
"$PROJECT_DIR$/vendor/phar-io/version"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/console"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/polyfill-intl-idn"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/event-dispatcher"
/>
<path
value=
"$PROJECT_DIR$/vendor/phar-io/manifest"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/polyfill-iconv"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/http-foundation"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/var-dumper"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/translation-contracts"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/http-kernel"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/string"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/service-contracts"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/process"
/>
<path
value=
"$PROJECT_DIR$/vendor/symfony/translation"
/>
<path
value=
"$PROJECT_DIR$/vendor/laravel/ui"
/>
<path
value=
"$PROJECT_DIR$/vendor/_laravel_idea"
/>
</include_path>
</component>
<component
name=
"ProjectId"
id=
"2GLaKmM80GSH0Rk212pAfPdF2Hx"
/>
<component
name=
"ProjectLevelVcsManager"
>
<ConfirmationsSetting
value=
"1"
id=
"Add"
/>
</component>
<component
name=
"ProjectViewState"
>
<option
name=
"hideEmptyMiddlePackages"
value=
"true"
/>
<option
name=
"showLibraryContents"
value=
"true"
/>
</component>
<component
name=
"PropertiesComponent"
>
<property
name=
"DatabaseDriversLRU"
value=
"mysql"
/>
<property
name=
"RunOnceActivity.OpenProjectViewOnStart"
value=
"true"
/>
<property
name=
"RunOnceActivity.ShowReadmeOnStart"
value=
"true"
/>
<property
name=
"WebServerToolWindowFactoryState"
value=
"false"
/>
<property
name=
"last_opened_file_path"
value=
"$PROJECT_DIR$/app/Http/Services"
/>
<property
name=
"nodejs_interpreter_path.stuck_in_default_project"
value=
"undefined stuck path"
/>
<property
name=
"nodejs_package_manager_path"
value=
"npm"
/>
<property
name=
"settings.editor.selected.configurable"
value=
"preferences.pluginManager"
/>
<property
name=
"vue.rearranger.settings.migration"
value=
"true"
/>
</component>
<component
name=
"RecentsManager"
>
<key
name=
"CopyFile.RECENT_KEYS"
>
<recent
name=
"\\wsl$\Ubuntu-20.04\data\www\semour_web\app\Http\Services"
/>
<recent
name=
"\\wsl$\Ubuntu-20.04\data\www\semour_web\app\Http\Controllers\Api"
/>
<recent
name=
"\\wsl$\Ubuntu-20.04\data\www\semour_web\app\Models"
/>
<recent
name=
"\\wsl$\Ubuntu-20.04\data\www\semour_web\resources\views"
/>
<recent
name=
"\\wsl$\Ubuntu-20.04\data\www\semour_web\resources\views\sku"
/>
</key>
<key
name=
"MoveFile.RECENT_KEYS"
>
<recent
name=
"\\wsl$\Ubuntu-20.04\data\www\semour_web\resources\views\home"
/>
<recent
name=
"\\wsl$\Ubuntu-20.04\data\www\semour_web\app\Http\Controllers"
/>
</key>
</component>
<component
name=
"RunManager"
>
<configuration
name=
"phpunit.xml"
type=
"PHPUnitRunConfigurationType"
factoryName=
"PHPUnit"
>
<TestRunner
scope=
"XML"
/>
<method
v=
"2"
/>
</configuration>
</component>
<component
name=
"SpellCheckerSettings"
RuntimeDictionaries=
"0"
Folders=
"0"
CustomDictionaries=
"0"
DefaultDictionary=
"应用程序级"
UseSingleDictionary=
"true"
transferred=
"true"
/>
<component
name=
"TaskManager"
>
<task
active=
"true"
id=
"Default"
summary=
"默认任务"
>
<changelist
id=
"fb90add0-1393-48c2-9f26-72365d42cd03"
name=
"变更"
comment=
""
/>
<created>
1666170258203
</created>
<option
name=
"number"
value=
"Default"
/>
<option
name=
"presentableId"
value=
"Default"
/>
<updated>
1666170258203
</updated>
<workItem
from=
"1666170260162"
duration=
"17108000"
/>
<workItem
from=
"1666835076791"
duration=
"693000"
/>
<workItem
from=
"1667266026118"
duration=
"40321000"
/>
<workItem
from=
"1667959054458"
duration=
"183000"
/>
<workItem
from=
"1667986756173"
duration=
"14315000"
/>
<workItem
from=
"1668150640953"
duration=
"18277000"
/>
</task>
<servers
/>
</component>
<component
name=
"TypeScriptGeneratedFilesManager"
>
<option
name=
"version"
value=
"3"
/>
</component>
<component
name=
"Vcs.Log.History.Properties"
>
<option
name=
"COLUMN_ID_ORDER"
>
<list>
<option
value=
"Default.Root"
/>
<option
value=
"Default.Author"
/>
<option
value=
"Default.Date"
/>
<option
value=
"Default.Subject"
/>
</list>
</option>
</component>
</project>
\ No newline at end of file
app/Http/Controllers/Api/CartApiController.php
View file @
f4140683
...
...
@@ -49,7 +49,7 @@ class CartApiController extends Controller
//查询当前购物车数量
public
function
cartMyCount
(
Request
$request
){
$result
=
CartService
::
cart
Lists
(
$request
->
user
->
id
,
$request
->
user
->
gid
);
$result
=
CartService
::
cart
MyCount
(
$request
->
user
->
id
,
$request
->
user
->
gid
);
return
$this
->
setSuccessData
(
$result
);
}
...
...
app/Http/Middleware/CheckApiLogin.php
View file @
f4140683
...
...
@@ -7,6 +7,8 @@ use Closure;
class
CheckApiLogin
{
public
$no_login_url
=
[
"api/cart/cartLists"
,
"api/cart/cartMyCount"
];
/**
* Handle an incoming request.
*
...
...
@@ -16,21 +18,20 @@ class CheckApiLogin
*/
public
function
handle
(
$request
,
Closure
$next
)
{
if
(
!
\Auth
::
check
()
&&
!
$request
->
is
(
'api/cart/*'
))
{
//一些接口可以登录或者不登录都可以通行
if
(
!
\Auth
::
check
()
)
{
if
(
in_array
(
$request
->
path
(),
$this
->
no_login_url
)){
//一些接口可以登录或者不登录都可以通行
request
()
->
offsetSet
(
"user"
,(
object
)[
"id"
=>
0
,
"gid"
=>
$request
->
cookie
(
'sem_gid'
)]);
return
$next
(
$request
);
}
else
{
$response
=
[
'code'
=>
1
,
'msg'
=>
'need login...'
,
];
return
response
()
->
json
(
$response
);
}
}
else
{
$request
->
user
=
\Auth
::
user
();
if
(
!
$request
->
user
){
$request
->
user
->
id
=
0
;
}
$gid
=
$request
->
cookie
(
'sem_gid'
);
if
(
$gid
){
$request
->
user
->
gid
=
$gid
;
}
$request
->
user
->
gid
=
""
;
return
$next
(
$request
);
}
}
...
...
app/Http/Services/CartService.php
View file @
f4140683
...
...
@@ -102,14 +102,26 @@ class CartService
/*
* 刷新购物车并且返回列表
*/
public
static
function
cartLists
(
$user_id
,
$gid
=
""
){
public
static
function
cartLists
(
$user_id
,
$gid
=
""
,
$page_size
=
100
,
$page
=
1
){
//当前用户所有可用的购物车数据
$query
=
CartModel
::
where
([
'user_id'
=>
$user_id
,
"status"
=>
1
])
->
orderBy
(
'cart_id'
,
'desc'
);
$result
=
$query
->
get
()
->
toArray
();
$where
[
"status"
]
=
1
;
if
(
!
$user_id
&&
!
$gid
){
return
[];
}
if
(
$user_id
){
$where
[
"user_id"
]
=
$user_id
;
}
if
(
$gid
){
$where
[
"gid"
]
=
$gid
;
}
$query
=
CartModel
::
where
(
$where
)
->
orderBy
(
'cart_id'
,
'desc'
);
$res
=
$query
->
paginate
(
$page_size
,
[
'*'
],
'page'
,
$page
)
->
toArray
();
$result
=
$res
[
"data"
];
if
(
!
$result
){
return
false
;
return
[]
;
}
try
{
...
...
@@ -178,11 +190,10 @@ class CartService
"brand_id"
=>
$skuInfo
[
"brand_id"
],
//品牌id
"brand_name"
=>
$skuInfo
[
"brand_name"
],
//品牌名称
"stock"
=>
$skuInfo
[
"stock"
],
//库存
"stock_format"
=>
numberToHtml
(
$skuInfo
[
"stock"
]),
//库存加密
"max_buy_stock"
=>
$skuInfo
[
"max_buy_stock"
],
//最大可购买数量
"moq"
=>
numberToHtml
(
$skuInfo
[
"moq"
])
,
//最少起订量
"mpq"
=>
numberToHtml
(
$skuInfo
[
"mpq"
])
,
//标准包装量
"mult"
=>
numberToHtml
(
$skuInfo
[
"multiple"
])
,
//递增量
"moq"
=>
$skuInfo
[
"moq"
]
,
//最少起订量
"mpq"
=>
$skuInfo
[
"mpq"
]
,
//标准包装量
"mult"
=>
$skuInfo
[
"multiple"
]
,
//递增量
"hk_delivery_time"
=>
$skuInfo
[
"hk_delivery_time"
],
//香港交期
"ladder_price"
=>
$skuInfo
[
"ladder_price"
],
//价格阶梯
"is_buy"
=>
$skuInfo
[
"is_buy"
],
//是否能购买
...
...
@@ -191,7 +202,12 @@ class CartService
$con
->
commit
();
return
$cartList
;
return
[
"total"
=>
$res
[
"total"
],
//返回总条数
"page"
=>
$res
[
"current_page"
],
//第几页
"page_size"
=>
$page_size
,
//每页多少条
"lists"
=>
$cartList
//数据列表
]
;
}
catch
(
\Exception
$e
){
$con
->
rollback
();
throw
new
InvalidRequestException
(
$e
->
getMessage
()
.
$e
->
getLine
());
...
...
@@ -251,10 +267,6 @@ class CartService
}
$original_price
=
$info
[
"original_price"
];
#梯度价转换
foreach
(
$original_price
as
$e
=>&
$f
){
$f
[
"purchases_format"
]
=
numberToHtml
(
$f
[
"purchases"
]);
}
usort
(
$original_price
,
function
(
$current
,
$next
)
{
//原始价格倒叙
return
$current
[
'purchases'
]
<
$next
[
'purchases'
];
...
...
routes/api.php
View file @
f4140683
...
...
@@ -47,6 +47,7 @@ Route::middleware(['api', 'api.check'])->namespace('Api')->group(function () {
Route
::
POST
(
'cart/saveCart'
,
'CartApiController@saveCart'
);
//添加或者更新购物车
Route
::
POST
(
'cart/cartLists'
,
'CartApiController@cartLists'
);
//购物车列表
Route
::
POST
(
'cart/cartMyCount'
,
'CartApiController@cartMyCount'
);
//购物车总数
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment