Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Litemall
Commits
6c14c43c
Commit
6c14c43c
authored
Mar 23, 2018
by
Junling Bu
Browse files
V 0.1.0, 项目架构基本完成。
parents
Changes
346
Show whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
20 of 346+
files are displayed.
Plain diff
Email patch
litemall-admin/src/api/goods-attribute.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listGoodsAttribute
(
query
)
{
return
request
({
url
:
'
/goods-attribute/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createGoodsAttribute
(
data
)
{
return
request
({
url
:
'
/goods-attribute/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readGoodsAttribute
(
data
)
{
return
request
({
url
:
'
/goods-attribute/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateGoodsAttribute
(
data
)
{
return
request
({
url
:
'
/goods-attribute/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteGoodsAttribute
(
data
)
{
return
request
({
url
:
'
/goods-attribute/delete
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/api/goods-specification.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listGoodsSpecification
(
query
)
{
return
request
({
url
:
'
/goods-specification/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createGoodsSpecification
(
data
)
{
return
request
({
url
:
'
/goods-specification/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readGoodsSpecification
(
data
)
{
return
request
({
url
:
'
/goods-specification/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateGoodsSpecification
(
data
)
{
return
request
({
url
:
'
/goods-specification/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteGoodsSpecification
(
data
)
{
return
request
({
url
:
'
/goods-specification/delete
'
,
method
:
'
post
'
,
data
})
}
export
function
listGoodsSpecificationVo
(
query
)
{
return
request
({
url
:
'
/goods-specification/volist
'
,
method
:
'
get
'
,
params
:
query
})
}
litemall-admin/src/api/goods.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listGoods
(
query
)
{
return
request
({
url
:
'
/goods/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createGoods
(
data
)
{
return
request
({
url
:
'
/goods/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readGoods
(
data
)
{
return
request
({
url
:
'
/goods/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateGoods
(
data
)
{
return
request
({
url
:
'
/goods/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteGoods
(
data
)
{
return
request
({
url
:
'
/goods/delete
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/api/history.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listHistory
(
query
)
{
return
request
({
url
:
'
/history/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createHistory
(
data
)
{
return
request
({
url
:
'
/history/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readHistory
(
data
)
{
return
request
({
url
:
'
/history/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateHistory
(
data
)
{
return
request
({
url
:
'
/history/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteHistory
(
data
)
{
return
request
({
url
:
'
/history/delete
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/api/issue.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listIssue
(
query
)
{
return
request
({
url
:
'
/issue/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createIssue
(
data
)
{
return
request
({
url
:
'
/issue/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readIssue
(
data
)
{
return
request
({
url
:
'
/issue/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateIssue
(
data
)
{
return
request
({
url
:
'
/issue/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteIssue
(
data
)
{
return
request
({
url
:
'
/issue/delete
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/api/keyword.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listKeyword
(
query
)
{
return
request
({
url
:
'
/keyword/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createKeyword
(
data
)
{
return
request
({
url
:
'
/keyword/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readKeyword
(
data
)
{
return
request
({
url
:
'
/keyword/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateKeyword
(
data
)
{
return
request
({
url
:
'
/keyword/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteKeyword
(
data
)
{
return
request
({
url
:
'
/keyword/delete
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/api/login.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
loginByUsername
(
username
,
password
)
{
const
data
=
{
username
,
password
}
return
request
({
url
:
'
/login/login
'
,
method
:
'
post
'
,
data
})
}
export
function
logout
()
{
return
request
({
url
:
'
/login/logout
'
,
method
:
'
post
'
})
}
export
function
getUserInfo
(
token
)
{
return
request
({
url
:
'
/admin/info
'
,
method
:
'
get
'
,
params
:
{
token
}
})
}
litemall-admin/src/api/order.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listOrder
(
query
)
{
return
request
({
url
:
'
/order/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createOrder
(
data
)
{
return
request
({
url
:
'
/order/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readOrder
(
data
)
{
return
request
({
url
:
'
/order/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateOrder
(
data
)
{
return
request
({
url
:
'
/order/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteOrder
(
data
)
{
return
request
({
url
:
'
/order/delete
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/api/product.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listProduct
(
query
)
{
return
request
({
url
:
'
/product/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createProduct
(
data
)
{
return
request
({
url
:
'
/product/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readProduct
(
data
)
{
return
request
({
url
:
'
/product/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateProduct
(
data
)
{
return
request
({
url
:
'
/product/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteProduct
(
data
)
{
return
request
({
url
:
'
/product/delete
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/api/qiniu.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
getToken
()
{
return
request
({
url
:
'
/qiniu/upload/token
'
,
// 假地址 自行替换
method
:
'
get
'
})
}
litemall-admin/src/api/region.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listRegion
(
query
)
{
return
request
({
url
:
'
/region/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
listSubRegion
(
query
)
{
return
request
({
url
:
'
/region/clist
'
,
method
:
'
get
'
,
params
:
query
})
}
litemall-admin/src/api/storage.js
0 → 100644
View file @
6c14c43c
import
axios
from
'
axios
'
// create an axios instance
const
service
=
axios
.
create
({
baseURL
:
process
.
env
.
OS_API
,
// api的base_url
timeout
:
5000
// request timeout
})
export
function
listStorage
(
query
)
{
return
service
({
url
:
'
/storage/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createStorage
(
data
)
{
return
service
({
url
:
'
/storage/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readStorage
(
data
)
{
return
service
({
url
:
'
/storage/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateStorage
(
data
)
{
return
service
({
url
:
'
/storage/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteStorage
(
data
)
{
return
service
({
url
:
'
/storage/delete
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/api/topic.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
listTopic
(
query
)
{
return
request
({
url
:
'
/topic/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createTopic
(
data
)
{
return
request
({
url
:
'
/topic/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readTopic
(
data
)
{
return
request
({
url
:
'
/topic/read
'
,
method
:
'
get
'
,
data
})
}
export
function
updateTopic
(
data
)
{
return
request
({
url
:
'
/topic/update
'
,
method
:
'
post
'
,
data
})
}
export
function
deleteTopic
(
data
)
{
return
request
({
url
:
'
/topic/delete
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/api/user.js
0 → 100644
View file @
6c14c43c
import
request
from
'
@/utils/request
'
export
function
fetchList
(
query
)
{
return
request
({
url
:
'
/user/list
'
,
method
:
'
get
'
,
params
:
query
})
}
export
function
createUser
(
data
)
{
return
request
({
url
:
'
/user/create
'
,
method
:
'
post
'
,
data
})
}
export
function
readUser
(
data
)
{
return
request
({
url
:
'
/user/detail
'
,
method
:
'
get
'
,
data
})
}
export
function
updateUser
(
data
)
{
return
request
({
url
:
'
/user/update
'
,
method
:
'
post
'
,
data
})
}
litemall-admin/src/assets/401_images/401.gif
0 → 100644
View file @
6c14c43c
160 KB
litemall-admin/src/assets/404_images/404.png
0 → 100644
View file @
6c14c43c
95.8 KB
litemall-admin/src/assets/404_images/404_cloud.png
0 → 100644
View file @
6c14c43c
4.65 KB
litemall-admin/src/assets/echarts-macarons.js
0 → 100644
View file @
6c14c43c
/* eslint-disable */
(
function
(
root
,
factory
)
{
if
(
typeof
define
===
'
function
'
&&
define
.
amd
)
{
// AMD. Register as an anonymous module.
define
([
'
exports
'
,
'
echarts
'
],
factory
);
}
else
if
(
typeof
exports
===
'
object
'
&&
typeof
exports
.
nodeName
!==
'
string
'
)
{
// CommonJS
factory
(
exports
,
require
(
'
echarts
'
));
}
else
{
// Browser globals
factory
({},
root
.
echarts
);
}
}(
this
,
function
(
exports
,
echarts
)
{
var
log
=
function
(
msg
)
{
if
(
typeof
console
!==
'
undefined
'
)
{
console
&&
console
.
error
&&
console
.
error
(
msg
);
}
};
if
(
!
echarts
)
{
log
(
'
ECharts is not Loaded
'
);
return
;
}
var
colorPalette
=
[
'
#2ec7c9
'
,
'
#b6a2de
'
,
'
#5ab1ef
'
,
'
#ffb980
'
,
'
#d87a80
'
,
'
#8d98b3
'
,
'
#e5cf0d
'
,
'
#97b552
'
,
'
#95706d
'
,
'
#dc69aa
'
,
'
#07a2a4
'
,
'
#9a7fd1
'
,
'
#588dd5
'
,
'
#f5994e
'
,
'
#c05050
'
,
'
#59678c
'
,
'
#c9ab00
'
,
'
#7eb00a
'
,
'
#6f5553
'
,
'
#c14089
'
];
var
theme
=
{
color
:
colorPalette
,
title
:
{
textStyle
:
{
fontWeight
:
'
normal
'
,
color
:
'
#008acd
'
}
},
visualMap
:
{
itemWidth
:
15
,
color
:
[
'
#5ab1ef
'
,
'
#e0ffff
'
]
},
toolbox
:
{
iconStyle
:
{
normal
:
{
borderColor
:
colorPalette
[
0
]
}
}
},
tooltip
:
{
backgroundColor
:
'
rgba(50,50,50,0.5)
'
,
axisPointer
:
{
type
:
'
line
'
,
lineStyle
:
{
color
:
'
#008acd
'
},
crossStyle
:
{
color
:
'
#008acd
'
},
shadowStyle
:
{
color
:
'
rgba(200,200,200,0.2)
'
}
}
},
dataZoom
:
{
dataBackgroundColor
:
'
#efefff
'
,
fillerColor
:
'
rgba(182,162,222,0.2)
'
,
handleColor
:
'
#008acd
'
},
grid
:
{
borderColor
:
'
#eee
'
},
categoryAxis
:
{
axisLine
:
{
lineStyle
:
{
color
:
'
#008acd
'
}
},
splitLine
:
{
lineStyle
:
{
color
:
[
'
#eee
'
]
}
}
},
valueAxis
:
{
axisLine
:
{
lineStyle
:
{
color
:
'
#008acd
'
}
},
splitArea
:
{
show
:
true
,
areaStyle
:
{
color
:
[
'
rgba(250,250,250,0.1)
'
,
'
rgba(200,200,200,0.1)
'
]
}
},
splitLine
:
{
lineStyle
:
{
color
:
[
'
#eee
'
]
}
}
},
timeline
:
{
lineStyle
:
{
color
:
'
#008acd
'
},
controlStyle
:
{
normal
:
{
color
:
'
#008acd
'
},
emphasis
:
{
color
:
'
#008acd
'
}
},
symbol
:
'
emptyCircle
'
,
symbolSize
:
3
},
line
:
{
smooth
:
true
,
symbol
:
'
emptyCircle
'
,
symbolSize
:
3
},
candlestick
:
{
itemStyle
:
{
normal
:
{
color
:
'
#d87a80
'
,
color0
:
'
#2ec7c9
'
,
lineStyle
:
{
color
:
'
#d87a80
'
,
color0
:
'
#2ec7c9
'
}
}
}
},
scatter
:
{
symbol
:
'
circle
'
,
symbolSize
:
4
},
map
:
{
label
:
{
normal
:
{
textStyle
:
{
color
:
'
#d87a80
'
}
}
},
itemStyle
:
{
normal
:
{
borderColor
:
'
#eee
'
,
areaColor
:
'
#ddd
'
},
emphasis
:
{
areaColor
:
'
#fe994e
'
}
}
},
graph
:
{
color
:
colorPalette
},
gauge
:
{
axisLine
:
{
lineStyle
:
{
color
:
[[
0.2
,
'
#2ec7c9
'
],[
0.8
,
'
#5ab1ef
'
],[
1
,
'
#d87a80
'
]],
width
:
10
}
},
axisTick
:
{
splitNumber
:
10
,
length
:
15
,
lineStyle
:
{
color
:
'
auto
'
}
},
splitLine
:
{
length
:
22
,
lineStyle
:
{
color
:
'
auto
'
}
},
pointer
:
{
width
:
5
}
}
};
echarts
.
registerTheme
(
'
macarons
'
,
theme
);
}));
litemall-admin/src/components/BackToTop/index.vue
0 → 100644
View file @
6c14c43c
<
template
>
<transition
:name=
"transitionName"
>
<div
class=
"back-to-ceiling"
@
click=
"backToTop"
v-show=
"visible"
:style=
"customStyle"
>
<svg
width=
"16"
height=
"16"
viewBox=
"0 0 17 17"
xmlns=
"http://www.w3.org/2000/svg"
class=
"Icon Icon--backToTopArrow"
aria-hidden=
"true"
style=
"height: 16px; width: 16px;"
>
<title>
回到顶部
</title>
<g>
<path
d=
"M12.036 15.59c0 .55-.453.995-.997.995H5.032c-.55 0-.997-.445-.997-.996V8.584H1.03c-1.1 0-1.36-.633-.578-1.416L7.33.29c.39-.39 1.026-.385 1.412 0l6.878 6.88c.782.78.523 1.415-.58 1.415h-3.004v7.004z"
fill-rule=
"evenodd"
></path>
</g>
</svg>
</div>
</transition>
</
template
>
<
script
>
export
default
{
name
:
'
BackToTop
'
,
props
:
{
visibilityHeight
:
{
type
:
Number
,
default
:
400
},
backPosition
:
{
type
:
Number
,
default
:
0
},
customStyle
:
{
type
:
Object
,
default
:
{
right
:
'
50px
'
,
bottom
:
'
50px
'
,
width
:
'
40px
'
,
height
:
'
40px
'
,
'
border-radius
'
:
'
4px
'
,
'
line-height
'
:
'
45px
'
,
background
:
'
#e7eaf1
'
}
},
transitionName
:
{
type
:
String
,
default
:
'
fade
'
}
},
data
()
{
return
{
visible
:
false
,
interval
:
null
}
},
mounted
()
{
window
.
addEventListener
(
'
scroll
'
,
this
.
handleScroll
)
},
beforeDestroy
()
{
window
.
removeEventListener
(
'
scroll
'
,
this
.
handleScroll
)
if
(
this
.
interval
)
{
clearInterval
(
this
.
interval
)
}
},
methods
:
{
handleScroll
()
{
this
.
visible
=
window
.
pageYOffset
>
this
.
visibilityHeight
},
backToTop
()
{
const
start
=
window
.
pageYOffset
let
i
=
0
this
.
interval
=
setInterval
(()
=>
{
const
next
=
Math
.
floor
(
this
.
easeInOutQuad
(
10
*
i
,
start
,
-
start
,
500
))
if
(
next
<=
this
.
backPosition
)
{
window
.
scrollTo
(
0
,
this
.
backPosition
)
clearInterval
(
this
.
interval
)
}
else
{
window
.
scrollTo
(
0
,
next
)
}
i
++
},
16.7
)
},
easeInOutQuad
(
t
,
b
,
c
,
d
)
{
if
((
t
/=
d
/
2
)
<
1
)
return
c
/
2
*
t
*
t
+
b
return
-
c
/
2
*
(
--
t
*
(
t
-
2
)
-
1
)
+
b
}
}
}
</
script
>
<
style
scoped
>
.back-to-ceiling
{
position
:
fixed
;
display
:
inline-block
;
text-align
:
center
;
cursor
:
pointer
;
}
.back-to-ceiling
:hover
{
background
:
#d5dbe7
;
}
.fade-enter-active
,
.fade-leave-active
{
transition
:
opacity
.5s
;
}
.fade-enter
,
.fade-leave-to
{
opacity
:
0
}
.back-to-ceiling
.Icon
{
fill
:
#9aaabf
;
background
:
none
;
}
</
style
>
litemall-admin/src/components/Breadcrumb/index.vue
0 → 100644
View file @
6c14c43c
<
template
>
<el-breadcrumb
class=
"app-breadcrumb"
separator=
"/"
>
<transition-group
name=
"breadcrumb"
>
<el-breadcrumb-item
v-for=
"(item,index) in levelList"
:key=
"item.path"
v-if=
'item.meta.title'
>
<span
v-if=
'item.redirect==="noredirect"||index==levelList.length-1'
class=
"no-redirect"
>
{{
item
.
meta
.
title
}}
</span>
<router-link
v-else
:to=
"item.redirect||item.path"
>
{{
item
.
meta
.
title
}}
</router-link>
</el-breadcrumb-item>
</transition-group>
</el-breadcrumb>
</
template
>
<
script
>
export
default
{
created
()
{
this
.
getBreadcrumb
()
},
data
()
{
return
{
levelList
:
null
}
},
watch
:
{
$route
()
{
this
.
getBreadcrumb
()
}
},
methods
:
{
getBreadcrumb
()
{
let
matched
=
this
.
$route
.
matched
.
filter
(
item
=>
item
.
name
)
const
first
=
matched
[
0
]
if
(
first
&&
first
.
name
!==
'
dashboard
'
)
{
matched
=
[{
path
:
'
/dashboard
'
,
meta
:
{
title
:
'
主页
'
}}].
concat
(
matched
)
}
this
.
levelList
=
matched
}
}
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scoped
>
.app-breadcrumb.el-breadcrumb
{
display
:
inline-block
;
font-size
:
14px
;
line-height
:
50px
;
margin-left
:
10px
;
.no-redirect
{
color
:
#97a8be
;
cursor
:
text
;
}
}
</
style
>
Prev
1
2
3
4
5
6
7
8
9
10
…
18
Next
Write
Preview
Supports
Markdown
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