Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yoho-community-web
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
1
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
陈峰
6 years ago
Commit
d2940833a7d4de0c6464c47d3fb2944f8039c196
1 parent
1b7ef92f
自动fix代码规范
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
407 additions
and
375 deletions
apps/app.vue
apps/common/create-api-client.js
apps/components/comments/comment-placeholder.js
apps/directives/transfer-dom.js
apps/entry-client.js
apps/pages/article/article-detail.vue
apps/pages/article/article-nice.vue
apps/pages/article/components/topic/list-item.vue
apps/pages/article/index.js
apps/pages/article/topic.vue
apps/pages/userpage/components/follow-topic-item.vue
apps/plugins/grass-prompt.js
apps/plugins/share.js
apps/statics/font/cube-icon.css
apps/statics/font/iconfont.css
apps/statics/scss/common.scss
apps/statics/scss/grass-prompt.scss
apps/store/article/actions.js
apps/store/article/mutations.js
apps/store/comment/actions.js
apps/utils/error-handler.js
apps/utils/init-client.js
apps/utils/share-handler.js
apps/utils/version.js
config/api-map/topic.js
config/api-map/userpage.js
doraemon/middleware/ssr.js
utils/authcode.js
utils/handle-result.js
apps/app.vue
View file @
d294083
...
...
@@ -181,6 +181,7 @@ export default {
backface-visibility: hidden;
perspective: 1000;
}
.route-view-local-forword-leave-active {
transition: all 300ms ease;
}
...
...
@@ -188,6 +189,7 @@ export default {
.route-view-local-forword-enter-active {
transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.route-view-local-forword-enter {
transform: translate3d(100%, 0, 0);
}
...
...
@@ -195,6 +197,7 @@ export default {
.route-view-local-forword-leave-active {
transform: translate3d(-30%, 0, 0);
}
.route-view-local-forword-enter-active,
.route-view-local-back-enter-active {
z-index: 20;
...
...
apps/common/create-api-client.js
View file @
d294083
...
...
@@ -14,7 +14,7 @@ axios.defaults.headers = {
const
errHandle
=
(
error
)
=>
{
let
res
=
error
.
response
;
console
.
log
(
error
);
if
(
+
res
.
status
===
510
)
{
if
(
get
(
res
,
'data.data.refer'
))
{
...
...
apps/components/comments/comment-placeholder.js
View file @
d294083
import
{
get
,
trim
}
from
'lodash'
;
import
{
createNamespacedHelpers
}
from
'vuex'
;
const
{
mapActions
}
=
createNamespacedHelpers
(
'comment'
);
import
YAS
from
'utils/yas-constants'
;
const
{
mapActions
:
articleMapActions
,
mapMutations
:
articleMapMutations
}
=
createNamespacedHelpers
(
'article'
);
...
...
apps/directives/transfer-dom.js
View file @
d294083
...
...
@@ -8,25 +8,32 @@
*/
function
getTarget
(
node
)
{
if
(
node
===
void
0
)
{
node
=
document
.
body
node
=
document
.
body
;
}
if
(
node
===
true
)
{
return
document
.
body
}
return
node
instanceof
window
.
Node
?
node
:
document
.
querySelector
(
node
)
if
(
node
===
true
)
{
return
document
.
body
;
}
return
node
instanceof
window
.
Node
?
node
:
document
.
querySelector
(
node
);
}
const
directive
=
{
inserted
(
el
,
{
value
},
vnode
)
{
if
(
el
.
dataset
&&
el
.
dataset
.
transfer
!==
'true'
)
return
false
;
if
(
el
.
dataset
&&
el
.
dataset
.
transfer
!==
'true'
)
{
return
false
;
}
el
.
className
=
el
.
className
?
el
.
className
+
' v-transfer-dom'
:
'v-transfer-dom'
;
const
parentNode
=
el
.
parentNode
;
if
(
!
parentNode
)
return
;
if
(
!
parentNode
)
{
return
;
}
const
home
=
document
.
createComment
(
''
);
let
hasMovedOut
=
false
;
if
(
value
!==
false
)
{
parentNode
.
replaceChild
(
home
,
el
);
// moving out, el is no longer in the document
getTarget
(
value
).
appendChild
(
el
);
// moving into new place
hasMovedOut
=
true
hasMovedOut
=
true
;
}
if
(
!
el
.
__transferDomData
)
{
el
.
__transferDomData
=
{
...
...
@@ -34,14 +41,21 @@ const directive = {
home
:
home
,
target
:
getTarget
(
value
),
hasMovedOut
:
hasMovedOut
}
}
;
}
},
componentUpdated
(
el
,
{
value
})
{
if
(
el
.
dataset
&&
el
.
dataset
.
transfer
!==
'true'
)
return
false
;
if
(
el
.
dataset
&&
el
.
dataset
.
transfer
!==
'true'
)
{
return
false
;
}
// need to make sure children are done updating (vs. `update`)
const
ref$1
=
el
.
__transferDomData
;
if
(
!
ref$1
)
return
;
if
(
!
ref$1
)
{
return
;
}
// homes.get(el)
const
parentNode
=
ref$1
.
parentNode
;
const
home
=
ref$1
.
home
;
...
...
@@ -50,6 +64,7 @@ const directive = {
if
(
!
hasMovedOut
&&
value
)
{
// remove from document and leave placeholder
parentNode
.
replaceChild
(
home
,
el
);
// append to target
getTarget
(
value
).
appendChild
(
el
);
el
.
__transferDomData
=
Object
.
assign
({},
el
.
__transferDomData
,
{
hasMovedOut
:
true
,
target
:
getTarget
(
value
)
});
...
...
@@ -63,15 +78,20 @@ const directive = {
}
},
unbind
(
el
)
{
if
(
el
.
dataset
&&
el
.
dataset
.
transfer
!==
'true'
)
return
false
;
if
(
el
.
dataset
&&
el
.
dataset
.
transfer
!==
'true'
)
{
return
false
;
}
el
.
className
=
el
.
className
.
replace
(
'v-transfer-dom'
,
''
);
const
ref$1
=
el
.
__transferDomData
;
if
(
!
ref$1
)
return
;
if
(
!
ref$1
)
{
return
;
}
if
(
el
.
__transferDomData
.
hasMovedOut
===
true
)
{
el
.
__transferDomData
.
parentNode
&&
el
.
__transferDomData
.
parentNode
.
appendChild
(
el
)
el
.
__transferDomData
.
parentNode
&&
el
.
__transferDomData
.
parentNode
.
appendChild
(
el
)
;
}
el
.
__transferDomData
=
null
el
.
__transferDomData
=
null
;
}
};
export
default
directive
;
\ No newline at end of file
export
default
directive
;
...
...
apps/entry-client.js
View file @
d294083
...
...
@@ -122,7 +122,7 @@ router.onReady(() => {
PAGE_ID
:
to
.
name
,
TYPE_ID
:
to
.
params
[
getReportParamsKey
(
to
.
name
)],
SOURCE_ID
:
from
.
name
,
PAGE_NEW_CREATE
:
!!
find
(
get
(
store
,
'state.yoho.historys'
),
history
=>
{
PAGE_NEW_CREATE
:
find
(
get
(
store
,
'state.yoho.historys'
),
history
=>
{
return
history
.
path
===
to
.
path
;
})
?
'Y'
:
'N'
}
...
...
apps/pages/article/article-detail.vue
View file @
d294083
...
...
@@ -178,7 +178,7 @@ export default {
},
headerTitleAnimateStep() {
if (this.articleInfo.sort === 2) {
let {height, top} = get(this.$refs, 'detailLong.authorBlock', {});
;
let {height, top} = get(this.$refs, 'detailLong.authorBlock', {});
let scrollTop = this.scrollTop + get(this.$refs, 'header.$el.offsetHeight', 0);
if (top && height) {
...
...
@@ -367,7 +367,7 @@ export default {
return;
}
this._preReportArticles = this._preReportArticles|| {};
this._preReportArticles = this._preReportArticles
|| {};
let reportArticles = {};
let articles = [];
...
...
@@ -462,7 +462,7 @@ export default {
}
}
&.preview-page .recycle-scroll-reveal-main{
&.preview-page .recycle-scroll-reveal-main
{
position: relative;
&:before {
...
...
@@ -484,6 +484,7 @@ export default {
margin: 6px 0;
}
}
.loading {
display: none;
}
...
...
@@ -527,7 +528,7 @@ export default {
.detail-fixed-footer {
width: 100%;
position: absolute!important;
position: absolute
!important;
bottom: 0;
z-index: 10;
transition: all 300ms;
...
...
@@ -549,7 +550,6 @@ export default {
padding: 0 20px;
border-radius: 35px;
box-sizing: border-box;
}
}
...
...
apps/pages/article/article-nice.vue
View file @
d294083
...
...
@@ -64,7 +64,7 @@ export default {
if (result.code === 200) {
this.page++;
if (get(result, 'data.detailList'|| []).length) {
if (get(result, 'data.detailList'
|| []).length) {
list = result.data.detailList;
}
...
...
apps/pages/article/components/topic/list-item.vue
View file @
d294083
...
...
@@ -18,7 +18,7 @@ import {get} from 'lodash';
export default {
data() {
return {}
return {}
;
},
props: [
'data'
...
...
@@ -81,7 +81,7 @@ export default {
.hot {
width: 92px;
height: 30px;
background-image: url(
'~statics/image/article/topic-hot.png'
);
background-image: url(
"~statics/image/article/topic-hot.png"
);
background-size: contain;
background-repeat: no-repeat;
align-self: center;
...
...
@@ -93,7 +93,7 @@ export default {
line-height: 1.3;
color: #b0b0b0;
letter-spacing: 0.06PX;
overflow:hidden;
overflow:
hidden;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
...
...
apps/pages/article/index.js
View file @
d294083
...
...
@@ -6,7 +6,7 @@ export default [{
meta
:
{
keepAlive
:
true
}
},{
},
{
path
:
'/article/share/:id'
,
name
:
'article.share'
,
alias
:
'/article/share/:id'
,
...
...
apps/pages/article/topic.vue
View file @
d294083
...
...
@@ -194,6 +194,7 @@ export default {
this._topicHeaderHeight = this._topicHeaderHeight || this.$refs.topicBanner.$el.offsetHeight;
let step = Math.round((scrollTop - 4) / (this._topicHeaderHeight - this._headerHeight - 10) * 100);
if (step) {
this.headerAnimateStep = Math.max(Math.min(step, 100), 0);
}
...
...
@@ -318,7 +319,7 @@ export default {
return;
}
this._preReportArticles = this._preReportArticles|| {};
this._preReportArticles = this._preReportArticles
|| {};
let reportArticles = {};
let articles = [];
...
...
@@ -391,7 +392,7 @@ export default {
border-radius: 42px;
font-size: 30px;
color: #fff;
background: #
D0021B
;
background: #
d0021b
;
position: absolute;
bottom: 100px;
left: calc(50% - 130px);
...
...
apps/pages/userpage/components/follow-topic-item.vue
View file @
d294083
...
...
@@ -18,7 +18,7 @@ import {get} from 'lodash';
export default {
data() {
return {}
return {}
;
},
props: [
'data'
...
...
@@ -87,7 +87,7 @@ export default {
line-height: 1.3;
color: #b0b0b0;
letter-spacing: 0.06PX;
overflow:hidden;
overflow:
hidden;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
...
...
apps/plugins/grass-prompt.js
View file @
d294083
...
...
@@ -107,11 +107,11 @@ export default {
timer
&&
clearTimeout
(
timer
);
promptVM
.
classNames
=
[];
}
}
}
;
res
.
show
();
return
res
;
}
}
;
}
}
}
;
...
...
apps/plugins/share.js
View file @
d294083
let
shareData
=
{
title
:
''
,
link
:
''
,
desc
:
'逛'
,
imgUrl
:
'http://static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png'
title
:
''
,
link
:
''
,
desc
:
'逛'
,
imgUrl
:
'http://static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png'
};
let
jsApiList
=
[
'checkJsApi'
,
'onMenuShareTimeline'
,
'onMenuShareAppMessage'
,
'onMenuShareQQ'
,
'onMenuShareWeibo'
,
'onMenuShareQZone'
'checkJsApi'
,
'onMenuShareTimeline'
,
'onMenuShareAppMessage'
,
'onMenuShareQQ'
,
'onMenuShareWeibo'
,
'onMenuShareQZone'
];
const
setWxShareData
=
function
()
{
...
...
@@ -28,12 +28,12 @@ function loadScript(url, success) {
script
.
type
=
'text/javascript'
;
script
.
onload
=
script
.
onreadystatechange
=
function
()
{
if
(
!
this
.
readyState
||
this
.
readyState
===
'loaded'
||
this
.
readyState
===
'complete'
)
{
if
(
!
this
.
readyState
||
this
.
readyState
===
'loaded'
||
this
.
readyState
===
'complete'
)
{
success
&&
success
();
script
.
onload
=
script
.
onreadystatechange
=
null
;
}
};
script
.
src
=
url
;
script
.
src
=
url
;
head
.
appendChild
(
script
);
}
...
...
@@ -54,12 +54,13 @@ function jsonp(url, data = {}) {
JSONP
.
type
=
'text/javascript'
;
JSONP
.
src
=
`
$
{
url
}?
$
{
query
.
join
(
'&'
)}
`
;
const
head
=
document
.
getElementsByTagName
(
'head'
)[
0
];
head
.
appendChild
(
JSONP
);
setTimeout
(()
=>
{
head
.
removeChild
(
JSONP
)
head
.
removeChild
(
JSONP
)
;
},
500
);
})
})
;
}
function
init
(
qs
)
{
...
...
@@ -93,7 +94,7 @@ function init(qs) {
setWxShareData
();
});
}
})
})
;
});
}
...
...
@@ -105,7 +106,7 @@ function init(qs) {
shareData
.
desc
=
res
.
data
.
content
||
res
.
data
.
title
;
shareData
.
imgUrl
=
res
.
data
.
pic
;
shareData
.
title
=
res
.
data
.
title
;
}
;
}
});
}
}
...
...
@@ -129,4 +130,4 @@ export default {
url
:
shareData
.
link
});
}
}
}
;
...
...
apps/statics/font/cube-icon.css
View file @
d294083
@font-face
{
font-family
:
'cube-icon'
;
src
:
url('cube-icon.eot')
,
url(data:application/font-woff2;charset=utf-8;base64,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)
format
(
'woff2'
),
url(data:application/font-woff;charset=utf-8;base64,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)
format
(
'woff'
),
url('cube-icon.ttf')
format
(
'truetype'
),
url('cube-icon.svg#cube-icon')
format
(
'svg'
);
font-family
:
"cube-icon"
;
src
:
url("cube-icon.eot")
,
url(data:application/font-woff2;charset=utf-8;base64,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)
format
(
"woff2"
),
url(data:application/font-woff;charset=utf-8;base64,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)
format
(
"woff"
),
url("cube-icon.ttf")
format
(
"truetype"
),
url("cube-icon.svg#cube-icon")
format
(
"svg"
);
}
...
...
apps/statics/font/iconfont.css
View file @
d294083
@font-face
{
font-family
:
"iconfont"
;
src
:
url('iconfont.eot?t=1560482536952')
;
/* IE9 */
src
:
url('iconfont.eot?t=1560482536952#iefix')
format
(
'embedded-opentype'
),
/* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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')
format
(
'woff2'
),
url('iconfont.woff?t=1560482536952')
format
(
'woff'
),
url('iconfont.ttf?t=1560482536952')
format
(
'truetype'
),
/* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1560482536952#iconfont')
format
(
'svg'
);
/* iOS 4.1- */
@font-face
{
font-family
:
"iconfont"
;
src
:
url("iconfont.eot?t=1560482536952")
;
/* IE9 */
src
:
url("iconfont.eot?t=1560482536952#iefix")
format
(
"embedded-opentype"
),
url("data:application/x-font-woff2;charset=utf-8;base64,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")
format
(
"woff2"
),
url("iconfont.woff?t=1560482536952")
format
(
"woff"
),
url("iconfont.ttf?t=1560482536952")
format
(
"truetype"
),
url("iconfont.svg?t=1560482536952#iconfont")
format
(
"svg"
);
/* iOS 4.1- */
}
.iconfont
{
...
...
apps/statics/scss/common.scss
View file @
d294083
...
...
@@ -10,16 +10,18 @@
*/
html
{
touch-action
:
manipulation
;
font-family
:
sans-serif
;
/* 1 */
-ms-text-size-adjust
:
100%
;
/* 2 */
-webkit-text-size-adjust
:
100%
;
/* 2 */
user-select
:none
;
font-size
:
initial
;
touch-action
:
manipulation
;
font-family
:
sans-serif
;
/* 1 */
-ms-text-size-adjust
:
100%
;
/* 2 */
-webkit-text-size-adjust
:
100%
;
/* 2 */
user-select
:
none
;
font-size
:
initial
;
}
/**
...
...
@@ -27,7 +29,7 @@ html {
*/
body
{
margin
:
0
;
margin
:
0
;
}
/* HTML5 display definitions
...
...
@@ -51,8 +53,8 @@ menu,
nav
,
section
,
summary
{
/* 1 */
display
:
block
;
/* 1 */
display
:
block
;
}
/**
...
...
@@ -63,7 +65,7 @@ audio,
canvas
,
progress
,
video
{
display
:
inline-block
;
display
:
inline-block
;
}
/**
...
...
@@ -71,8 +73,8 @@ video {
*/
audio
:not
([
controls
])
{
display
:
none
;
height
:
0
;
display
:
none
;
height
:
0
;
}
/**
...
...
@@ -80,7 +82,7 @@ audio:not([controls]) {
*/
progress
{
vertical-align
:
baseline
;
vertical-align
:
baseline
;
}
/**
...
...
@@ -90,7 +92,7 @@ progress {
template
,
[
hidden
]
{
display
:
none
;
display
:
none
;
}
/* Links
...
...
@@ -102,13 +104,13 @@ template,
*/
a
{
background-color
:
transparent
;
background-color
:
transparent
;
/* 1 */
/* 1 */
-webkit-text-decoration-skip
:
objects
;
-webkit-text-decoration-skip
:
objects
;
/* 2 */
/* 2 */
}
/**
...
...
@@ -118,7 +120,7 @@ a {
a
:active
,
a
:hover
{
outline-width
:
0
;
outline-width
:
0
;
}
/* Text-level semantics
...
...
@@ -130,17 +132,17 @@ a:hover {
*/
abbr
[
title
]
{
border-bottom
:
none
;
border-bottom
:
none
;
/* 1 */
/* 1 */
text-decoration
:
underline
;
text-decoration
:
underline
;
/* 2 */
/* 2 */
text-decoration
:
underline
dotted
;
text-decoration
:
underline
dotted
;
/* 2 */
/* 2 */
}
/**
...
...
@@ -149,7 +151,7 @@ abbr[title] {
b
,
strong
{
font-weight
:
inherit
;
font-weight
:
inherit
;
}
/**
...
...
@@ -158,7 +160,7 @@ strong {
b
,
strong
{
font-weight
:
bolder
;
font-weight
:
bolder
;
}
/**
...
...
@@ -166,7 +168,7 @@ strong {
*/
dfn
{
font-style
:
italic
;
font-style
:
italic
;
}
/**
...
...
@@ -175,8 +177,8 @@ dfn {
*/
h1
{
font-size
:
2em
;
margin
:
0
.67em
0
;
font-size
:
2em
;
margin
:
0
.67em
0
;
}
/**
...
...
@@ -184,8 +186,8 @@ h1 {
*/
mark
{
background-color
:
#ff0
;
color
:
#000
;
background-color
:
#ff0
;
color
:
#000
;
}
/**
...
...
@@ -193,7 +195,7 @@ mark {
*/
small
{
font-size
:
80%
;
font-size
:
80%
;
}
/**
...
...
@@ -203,18 +205,18 @@ small {
sub
,
sup
{
font-size
:
75%
;
line-height
:
0
;
position
:
relative
;
vertical-align
:
baseline
;
font-size
:
75%
;
line-height
:
0
;
position
:
relative
;
vertical-align
:
baseline
;
}
sub
{
bottom
:
-0
.25em
;
bottom
:
-0
.25em
;
}
sup
{
top
:
-0
.5em
;
top
:
-0
.5em
;
}
/* Embedded content
...
...
@@ -225,7 +227,7 @@ sup {
*/
img
{
border-style
:
none
;
border-style
:
none
;
}
/**
...
...
@@ -233,7 +235,7 @@ img {
*/
svg
:not
(
:root
)
{
overflow
:
hidden
;
overflow
:
hidden
;
}
/* Grouping content
...
...
@@ -248,13 +250,13 @@ code,
kbd
,
pre
,
samp
{
font-family
:
monospace
,
monospace
;
font-family
:
monospace
,
monospace
;
/* 1 */
/* 1 */
font-size
:
1em
;
font-size
:
1em
;
/* 2 */
/* 2 */
}
/**
...
...
@@ -262,7 +264,7 @@ samp {
*/
figure
{
margin
:
1em
1rem
;
margin
:
1em
1rem
;
}
/**
...
...
@@ -271,17 +273,17 @@ figure {
*/
hr
{
box-sizing
:
content-box
;
box-sizing
:
content-box
;
/* 1 */
/* 1 */
height
:
0
;
height
:
0
;
/* 1 */
/* 1 */
overflow
:
visible
;
overflow
:
visible
;
/* 2 */
/* 2 */
}
/* Forms
...
...
@@ -296,13 +298,13 @@ button,
input
,
select
,
textarea
{
font
:
inherit
;
font
:
inherit
;
/* 1 */
/* 1 */
margin
:
0
;
margin
:
0
;
/* 2 */
/* 2 */
}
/**
...
...
@@ -310,7 +312,7 @@ textarea {
*/
optgroup
{
font-weight
:
bold
;
font-weight
:
bold
;
}
/**
...
...
@@ -320,10 +322,9 @@ optgroup {
button
,
input
{
/* 1 */
/* 1 */
overflow
:
visible
;
overflow
:
visible
;
}
/**
...
...
@@ -333,10 +334,9 @@ input {
button
,
select
{
/* 1 */
/* 1 */
text-transform
:
none
;
text-transform
:
none
;
}
/**
...
...
@@ -349,9 +349,9 @@ button,
html
[
type
=
"button"
],
[
type
=
"reset"
],
[
type
=
"submit"
]
{
-webkit-appearance
:
button
;
-webkit-appearance
:
button
;
/* 2 */
/* 2 */
}
/**
...
...
@@ -362,8 +362,8 @@ button::-moz-focus-inner,
[
type
=
"button"
]
::-
moz-focus-inner
,
[
type
=
"reset"
]
::-
moz-focus-inner
,
[
type
=
"submit"
]
::-
moz-focus-inner
{
border-style
:
none
;
padding
:
0
;
border-style
:
none
;
padding
:
0
;
}
/**
...
...
@@ -374,7 +374,7 @@ button:-moz-focusring,
[
type
=
"button"
]
:-
moz-focusring
,
[
type
=
"reset"
]
:-
moz-focusring
,
[
type
=
"submit"
]
:-
moz-focusring
{
outline
:
1px
dotted
ButtonText
;
outline
:
1px
dotted
ButtonText
;
}
/**
...
...
@@ -382,9 +382,9 @@ button:-moz-focusring,
*/
fieldset
{
border
:
1px
solid
#c0c0c0
;
margin
:
0
0
.05rem
;
padding
:
0
.35em
0
.625em
0
.75em
;
border
:
1px
solid
#c0c0c0
;
margin
:
0
0
.05rem
;
padding
:
0
.35em
0
.625em
0
.75em
;
}
/**
...
...
@@ -395,29 +395,29 @@ fieldset {
*/
legend
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
/* 1 */
/* 1 */
color
:
inherit
;
color
:
inherit
;
/* 2 */
/* 2 */
display
:
table
;
display
:
table
;
/* 1 */
/* 1 */
max-width
:
100%
;
max-width
:
100%
;
/* 1 */
/* 1 */
padding
:
0
;
padding
:
0
;
/* 3 */
/* 3 */
white-space
:
normal
;
white-space
:
normal
;
/* 1 */
/* 1 */
}
/**
...
...
@@ -425,7 +425,7 @@ legend {
*/
textarea
{
overflow
:
auto
;
overflow
:
auto
;
}
/**
...
...
@@ -435,13 +435,13 @@ textarea {
[
type
=
"checkbox"
],
[
type
=
"radio"
]
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
/* 1 */
/* 1 */
padding
:
0
;
padding
:
0
;
/* 2 */
/* 2 */
}
/**
...
...
@@ -450,7 +450,7 @@ textarea {
[
type
="
number
"]
:
:-
webkit-inner-spin-button
,
[
type
=
"number"
]
::-
webkit-outer-spin-button
{
height
:
auto
;
height
:
auto
;
}
/**
...
...
@@ -459,13 +459,13 @@ textarea {
*/
[
type
=
"search"
]
{
-webkit-appearance
:
textfield
;
-webkit-appearance
:
textfield
;
/* 1 */
/* 1 */
outline-offset
:
-0
.05rem
;
outline-offset
:
-0
.05rem
;
/* 2 */
/* 2 */
}
/**
...
...
@@ -474,7 +474,7 @@ textarea {
[
type
="
search
"]
:
:-
webkit-search-cancel-button
,
[
type
=
"search"
]
::-
webkit-search-decoration
{
-webkit-appearance
:
none
;
-webkit-appearance
:
none
;
}
/**
...
...
@@ -482,8 +482,8 @@ textarea {
*/
::-webkit-input-placeholder
{
color
:
inherit
;
opacity
:
0
.54
;
color
:
inherit
;
opacity
:
0
.54
;
}
/**
...
...
@@ -492,105 +492,105 @@ textarea {
*/
::-webkit-file-upload-button
{
-webkit-appearance
:
button
;
-webkit-appearance
:
button
;
/* 1 */
/* 1 */
font
:
inherit
;
font
:
inherit
;
/* 2 */
/* 2 */
}
/* stylelint-enable */
.clearfix
:after
{
content
:
""
;
display
:
block
;
clear
:
both
;
content
:
""
;
display
:
block
;
clear
:
both
;
}
*,
*
:before
,
*
:after
{
box-sizing
:
border-box
;
margin
:
0
;
padding
:
0
;
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
);
box-sizing
:
border-box
;
margin
:
0
;
padding
:
0
;
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
);
}
.font
{
font-family
:
"PingFang SC"
,
"HiraginoSansGB-W3"
,
"SanFranciscoText-Regular"
,
Helvetica
,
Roboto
,
"Heiti SC"
,
"黑体"
,
Arial
;
font-family
:
"PingFang SC"
,
"HiraginoSansGB-W3"
,
"SanFranciscoText-Regular"
,
Helvetica
,
Roboto
,
"Heiti SC"
,
"黑体"
,
Arial
;
}
html
,
body
{
font-size
:
24px
;
font-family
:
"PingFang SC"
,
"HiraginoSansGB-W3"
,
"SanFranciscoText-Regular"
,
Helvetica
,
Roboto
,
"Heiti SC"
,
"黑体"
,
Arial
;
line-height
:
1
.4
;
scroll-behavior
:
smooth
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
width
:
100%
;
height
:
100%
;
color
:
#222
;
font-size
:
24px
;
font-family
:
"PingFang SC"
,
"HiraginoSansGB-W3"
,
"SanFranciscoText-Regular"
,
Helvetica
,
Roboto
,
"Heiti SC"
,
"黑体"
,
Arial
;
line-height
:
1
.4
;
scroll-behavior
:
smooth
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
width
:
100%
;
height
:
100%
;
color
:
#222
;
}
body
{
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
}
/* stylelint-disable */
::-webkit-scrollbar
{
display
:
none
;
display
:
none
;
}
/* stylelint-enable */
a
{
outline
:
none
;
color
:
#000
;
text-decoration
:
none
;
outline
:
none
;
color
:
#000
;
text-decoration
:
none
;
}
input
{
border
:
0
;
border
:
0
;
}
ol
,
ul
{
list-style
:
none
;
list-style
:
none
;
}
*
:focus
{
outline
:
none
;
outline
:
none
;
}
.main-wrap
{
position
:
relative
;
margin-right
:
auto
;
margin-left
:
auto
;
max-width
:
18
.75rem
;
width
:
100%
;
position
:
relative
;
margin-right
:
auto
;
margin-left
:
auto
;
max-width
:
18
.75rem
;
width
:
100%
;
}
.text-center
{
text-align
:
center
;
text-align
:
center
;
}
.hide
{
display
:
none
;
display
:
none
;
}
.overflow-hidden
{
overflow
:
hidden
;
height
:
100%
;
overflow
:
hidden
;
height
:
100%
;
}
.right
{
...
...
@@ -606,110 +606,110 @@ ul {
}
.ellipsis
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
img
.lazy-img
{
opacity
:
0
;
opacity
:
0
;
}
img
[
lazy
=
loading
]
{
opacity
:
0
.2
;
opacity
:
0
.2
;
}
img
[
lazy
=
error
]
{
opacity
:
0
;
opacity
:
0
;
}
img
[
lazy
=
loaded
]
{
opacity
:
1
;
opacity
:
1
;
}
.line-clamp-1
{
/* stylelint-disable-line */
/* stylelint-disable-line */
display
:
-
webkit-box
;
overflow
:
hidden
;
word-break
:
break-all
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
display
:
-
webkit-box
;
overflow
:
hidden
;
word-break
:
break-all
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
}
.line-clamp-2
{
/* stylelint-disable-line */
/* stylelint-disable-line */
display
:
-
webkit-box
;
overflow
:
hidden
;
word-break
:
break-all
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
display
:
-
webkit-box
;
overflow
:
hidden
;
word-break
:
break-all
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
}
.line-clamp-3
{
/* stylelint-disable-line */
/* stylelint-disable-line */
display
:
-
webkit-box
;
overflow
:
hidden
;
word-break
:
break-all
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
3
;
display
:
-
webkit-box
;
overflow
:
hidden
;
word-break
:
break-all
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
3
;
}
.line-clamp-4
{
/* stylelint-disable-line */
/* stylelint-disable-line */
display
:
-
webkit-box
;
overflow
:
hidden
;
word-break
:
break-all
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
4
;
display
:
-
webkit-box
;
overflow
:
hidden
;
word-break
:
break-all
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
4
;
}
.icon
{
speak
:
none
;
font-weight
:
normal
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
speak
:
none
;
font-weight
:
normal
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
}
.pointer-events
{
pointer-events
:
none
;
pointer-events
:
none
;
}
.cube-toast-icon
{
display
:
flex
;
align-items
:
center
;
display
:
flex
;
align-items
:
center
;
}
.hover-opacity
{
&
:active
{
opacity
:
0
.8
;
}
&
:active
{
opacity
:
0
.8
;
}
&
.loading
{
opacity
:
0
.8
;
}
&
.loading
{
opacity
:
0
.8
;
}
}
button
{
border
:
none
;
border
:
none
;
}
.invisible
{
visibility
:
hidden
;
visibility
:
hidden
;
}
.immerse-body
.layout-header-wrap
{
padding-top
:
22
PX
;
padding-top
:
22
PX
;
}
.immerse-body-high
.layout-header-wrap
{
padding-top
:
44
PX
;
padding-top
:
44
PX
;
}
...
...
apps/statics/scss/grass-prompt.scss
View file @
d294083
...
...
@@ -23,7 +23,7 @@
>
*
{
margin-top
:
10px
;
overflow
:
hidden
;
text-overflow
:ellipsis
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
&
:first-child
{
...
...
apps/store/article/actions.js
View file @
d294083
...
...
@@ -216,7 +216,7 @@ export default {
commit
(
Types
.
GUANG_ARTICLE_CONTENT
,
processContents
.
finalDetail
);
commit
(
Types
.
GUANG_DETAIL_PRODUCT_LIST
,
processContents
.
allgoods
);
//再处理其他信息
//
再处理其他信息
const
[
goodsList
,
zan
,
article
]
=
await
Promise
.
all
([
this
.
$api
.
post
(
'/api/guang/article/queryGoods'
,
{
query
:
processContents
.
allgoods
.
skn
.
join
(
','
),
...
...
apps/store/article/mutations.js
View file @
d294083
...
...
@@ -425,7 +425,7 @@ export default {
val
.
topicImageUrl
+=
'/format/jpg'
;
}
state
.
topicList
.
push
(
val
);
})
})
;
}
},
[
Types
.
FETCH_TOPIC_LIST_FAILD
](
state
)
{
...
...
apps/store/comment/actions.js
View file @
d294083
...
...
@@ -9,7 +9,7 @@ export default {
limit
,
page
,
columnType
}
}
;
if
(
rootCommentId
>
0
)
{
params
.
rootCommentId
=
rootCommentId
;
...
...
apps/utils/error-handler.js
View file @
d294083
export
default
err
=>
{
}
\ No newline at end of file
};
...
...
apps/utils/init-client.js
View file @
d294083
...
...
@@ -26,9 +26,9 @@ const setStatusBar = (width, height, store) => {
}
function
getAppVersion
(
str
,
split
)
{
const
match
=
str
.
match
(
new
RegExp
(
'(^|)app_version=([^'
+
split
+
']*)('
+
split
+
'|$)'
));
const
match
=
str
.
match
(
new
RegExp
(
'(^|)app_version=([^'
+
split
+
']*)('
+
split
+
'|$)'
));
return
match
&&
match
.
length
?
match
[
2
]
:
''
;
return
match
&&
match
.
length
?
match
[
2
]
:
''
;
}
const
appVersion
=
getAppVersion
(
document
.
cookie
,
';'
)
||
getAppVersion
(
location
.
href
,
'&'
);
...
...
@@ -45,6 +45,7 @@ const setStatusBar = (width, height, store) => {
const
initClient
=
(
store
)
=>
{
window
.
onresize
=
()
=>
{
const
{
clientWidth
,
clientHeight
}
=
document
.
body
;
store
.
commit
(
'SET_WINDOW_SIZE'
,
{
clientWidth
,
clientHeight
});
setStatusBar
(
clientWidth
,
clientHeight
,
store
);
};
...
...
@@ -106,7 +107,7 @@ const getYohoState = () => {
}
},
window
:
setStatusBar
(
clientWidth
,
clientHeight
)
}
}
;
};
export
{
...
...
apps/utils/share-handler.js
View file @
d294083
...
...
@@ -38,7 +38,7 @@ const getDetailShareData = (article) => {
desc
,
hideType
:
[
'7'
,
'8'
,
'9'
]
};
}
}
;
const
getTopicShareData
=
(
topic
)
=>
{
return
{
...
...
@@ -48,7 +48,7 @@ const getTopicShareData = (topic) => {
desc
:
'我在有货的社区发现一个热门话题。'
+
topic
.
topicDesc
,
hideType
:
[
'7'
,
'8'
,
'9'
]
};
}
}
;
export
{
getDetailShareData
,
...
...
apps/utils/version.js
View file @
d294083
function
toVersion
(
str
=
''
)
{
const
ver
=
str
.
split
(
'.'
).
map
(
i
=>
Number
(
i
));
const
ver
=
str
.
split
(
'.'
).
map
(
i
=>
Number
(
i
));
if
(
!
ver
[
0
])
{
ver
[
0
]
=
0
;
}
if
(
!
ver
[
0
])
{
ver
[
0
]
=
0
;
}
if
(
!
ver
[
1
])
{
ver
[
1
]
=
0
;
}
if
(
!
ver
[
1
])
{
ver
[
1
]
=
0
;
}
if
(
!
ver
[
2
])
{
ver
[
2
]
=
0
;
}
if
(
!
ver
[
2
])
{
ver
[
2
]
=
0
;
}
return
ver
;
return
ver
;
}
function
toNumber
(
ver
)
{
const
major
=
ver
[
0
]
*
10000
;
const
minor
=
ver
[
1
]
*
100
;
const
patch
=
ver
[
2
]
*
1
;
const
major
=
ver
[
0
]
*
10000
;
const
minor
=
ver
[
1
]
*
100
;
const
patch
=
ver
[
2
]
*
1
;
return
major
+
minor
+
patch
;
return
major
+
minor
+
patch
;
}
function
compare
(
left
,
right
)
{
if
(
left
>
right
)
{
return
1
;
}
else
if
(
left
<
right
)
{
return
-
1
;
}
else
{
return
0
;
}
if
(
left
>
right
)
{
return
1
;
}
else
if
(
left
<
right
)
{
return
-
1
;
}
else
{
return
0
;
}
}
export
default
function
(
left
,
right
)
{
const
leftVersion
=
toNumber
(
toVersion
(
left
));
const
rightVersion
=
toNumber
(
toVersion
(
right
));
const
result
=
compare
(
leftVersion
,
rightVersion
);
export
default
function
(
left
,
right
)
{
const
leftVersion
=
toNumber
(
toVersion
(
left
));
const
rightVersion
=
toNumber
(
toVersion
(
right
));
const
result
=
compare
(
leftVersion
,
rightVersion
);
return
result
;
};
return
result
;
}
...
...
config/api-map/topic.js
View file @
d294083
...
...
@@ -25,4 +25,4 @@ module.exports = {
lastedTime
:
{
type
:
Number
}
}
}
}
}
;
...
...
config/api-map/userpage.js
View file @
d294083
...
...
@@ -122,4 +122,4 @@ module.exports = {
}
},
}
}
;
...
...
doraemon/middleware/ssr.js
View file @
d294083
...
...
@@ -167,6 +167,7 @@ const render = (route) => {
}
scripts
=
scripts
.
replace
(
/defer/g
,
'defer crossorigin="anonymous"'
);
// resources = resources.replace(/link/g, 'link crossorigin="anonymous"');
if
(
req
.
yoho
.
isiOS
&&
zk
.
asyncJs
)
{
asyncScripts
=
asyncLoadScripts
(
scripts
);
...
...
@@ -242,6 +243,7 @@ const devRender = (route) => {
let
{
styles
,
scripts
,
resources
,
states
,
html
}
=
msg
;
scripts
=
scripts
.
replace
(
/defer/g
,
'defer crossorigin="anonymous"'
);
// resources = resources.replace(/link/g, 'link crossorigin="anonymous"');
const
result
=
template
({
html
,
...
...
utils/authcode.js
View file @
d294083
...
...
@@ -2,116 +2,116 @@
const
md5
=
require
(
'md5'
);
const
microtime
=
function
()
{
let
unixtimeMs
=
new
Date
().
getTime
();
let
sec
=
parseInt
(
unixtimeMs
/
1000
,
10
);
let
unixtimeMs
=
new
Date
().
getTime
();
let
sec
=
parseInt
(
unixtimeMs
/
1000
,
10
);
return
(
unixtimeMs
-
(
sec
*
1000
))
/
1000
+
' '
+
sec
;
return
(
unixtimeMs
-
(
sec
*
1000
))
/
1000
+
' '
+
sec
;
};
const
getTimestamp
=
function
()
{
let
unixtimeMs
=
new
Date
().
getTime
();
let
unixtimeMs
=
new
Date
().
getTime
();
return
parseInt
(
unixtimeMs
/
1000
,
10
);
return
parseInt
(
unixtimeMs
/
1000
,
10
);
};
module
.
exports
=
function
(
str
,
key
,
expiry
,
operation
)
{
operation
=
operation
?
operation
:
'decode'
;
key
=
key
?
key
:
''
;
expiry
=
expiry
?
expiry
:
0
;
let
tmpstr
,
tmp
;
operation
=
operation
?
operation
:
'decode'
;
key
=
key
?
key
:
''
;
expiry
=
expiry
?
expiry
:
0
;
let
tmpstr
,
tmp
;
let
ckeyLength
=
4
;
let
ckeyLength
=
4
;
key
=
md5
(
key
);
key
=
md5
(
key
);
// 密匙a会参与加解密
let
keya
=
md5
(
key
.
substr
(
0
,
16
));
// 密匙a会参与加解密
let
keya
=
md5
(
key
.
substr
(
0
,
16
));
// 密匙b会用来做数据完整性验证
let
keyb
=
md5
(
key
.
substr
(
16
,
16
));
// 密匙b会用来做数据完整性验证
let
keyb
=
md5
(
key
.
substr
(
16
,
16
));
// 密匙c用于变化生成的密文
let
keyc
=
operation
===
'decode'
?
str
.
substr
(
0
,
ckeyLength
)
:
md5
(
microtime
()).
substr
(
-
ckeyLength
);
// 密匙c用于变化生成的密文
let
keyc
=
operation
===
'decode'
?
str
.
substr
(
0
,
ckeyLength
)
:
md5
(
microtime
()).
substr
(
-
ckeyLength
);
// 参与运算的密匙
let
cryptkey
=
keya
+
md5
(
keya
+
keyc
);
// 参与运算的密匙
let
cryptkey
=
keya
+
md5
(
keya
+
keyc
);
let
strbuf
;
let
strbuf
;
if
(
operation
===
'decode'
)
{
str
=
str
.
substr
(
ckeyLength
);
strbuf
=
new
Buffer
(
str
,
'base64'
);
if
(
operation
===
'decode'
)
{
str
=
str
.
substr
(
ckeyLength
);
strbuf
=
new
Buffer
(
str
,
'base64'
);
// string = b.toString();
// string = b.toString();
}
else
{
expiry
=
expiry
?
expiry
+
getTimestamp
()
:
0
;
tmpstr
=
expiry
.
toString
();
if
(
tmpstr
.
length
>=
10
)
{
str
=
tmpstr
.
substr
(
0
,
10
)
+
md5
(
str
+
keyb
).
substr
(
0
,
16
)
+
str
;
}
else
{
expiry
=
expiry
?
expiry
+
getTimestamp
()
:
0
;
tmpstr
=
expiry
.
toString
();
if
(
tmpstr
.
length
>=
10
)
{
str
=
tmpstr
.
substr
(
0
,
10
)
+
md5
(
str
+
keyb
).
substr
(
0
,
16
)
+
str
;
}
else
{
let
count
=
10
-
tmpstr
.
length
;
for
(
let
i
=
0
;
i
<
count
;
i
++
)
{
tmpstr
=
'0'
+
tmpstr
;
}
str
=
tmpstr
+
md5
(
str
+
keyb
).
substr
(
0
,
16
)
+
str
;
}
strbuf
=
new
Buffer
(
str
);
let
count
=
10
-
tmpstr
.
length
;
for
(
let
i
=
0
;
i
<
count
;
i
++
)
{
tmpstr
=
'0'
+
tmpstr
;
}
str
=
tmpstr
+
md5
(
str
+
keyb
).
substr
(
0
,
16
)
+
str
;
}
strbuf
=
new
Buffer
(
str
);
}
let
box
=
new
Array
(
256
);
let
rndkey
=
[];
let
box
=
new
Array
(
256
);
let
rndkey
=
[];
for
(
let
i
=
0
;
i
<
256
;
i
++
)
{
box
[
i
]
=
i
;
for
(
let
i
=
0
;
i
<
256
;
i
++
)
{
box
[
i
]
=
i
;
// 产生密匙簿
rndkey
[
i
]
=
cryptkey
.
charCodeAt
(
i
%
cryptkey
.
length
);
}
// 产生密匙簿
rndkey
[
i
]
=
cryptkey
.
charCodeAt
(
i
%
cryptkey
.
length
);
}
// 用固定的算法,打乱密匙簿,增加随机性,好像很复杂,实际上对并不会增加密文的强度
for
(
let
j
=
0
,
i
=
0
;
i
<
256
;
i
++
)
{
j
=
(
j
+
box
[
i
]
+
rndkey
[
i
])
%
256
;
tmp
=
box
[
i
];
box
[
i
]
=
box
[
j
];
box
[
j
]
=
tmp
;
}
// 用固定的算法,打乱密匙簿,增加随机性,好像很复杂,实际上对并不会增加密文的强度
for
(
let
j
=
0
,
i
=
0
;
i
<
256
;
i
++
)
{
j
=
(
j
+
box
[
i
]
+
rndkey
[
i
])
%
256
;
tmp
=
box
[
i
];
box
[
i
]
=
box
[
j
];
box
[
j
]
=
tmp
;
}
// 核心加解密部分
let
s
=
''
;
// 核心加解密部分
let
s
=
''
;
for
(
let
a
=
0
,
j
=
0
,
i
=
0
;
i
<
strbuf
.
length
;
i
++
)
{
a
=
(
a
+
1
)
%
256
;
j
=
(
j
+
box
[
a
])
%
256
;
tmp
=
box
[
a
];
box
[
a
]
=
box
[
j
];
box
[
j
]
=
tmp
;
for
(
let
a
=
0
,
j
=
0
,
i
=
0
;
i
<
strbuf
.
length
;
i
++
)
{
a
=
(
a
+
1
)
%
256
;
j
=
(
j
+
box
[
a
])
%
256
;
tmp
=
box
[
a
];
box
[
a
]
=
box
[
j
];
box
[
j
]
=
tmp
;
// 从密匙簿得出密匙进行异或,再转成字符
// s += String.fromCharCode(string[i] ^ (box[(box[a] + box[j]) % 256]));
/* jshint -W016*/
strbuf
[
i
]
=
strbuf
[
i
]
^
(
box
[(
box
[
a
]
+
box
[
j
])
%
256
]);
}
// 从密匙簿得出密匙进行异或,再转成字符
// s += String.fromCharCode(string[i] ^ (box[(box[a] + box[j]) % 256]));
/* jshint -W016*/
strbuf
[
i
]
=
strbuf
[
i
]
^
(
box
[(
box
[
a
]
+
box
[
j
])
%
256
]);
}
if
(
operation
===
'decode'
)
{
s
=
strbuf
.
toString
();
if
((
s
.
substr
(
0
,
10
)
===
'0'
.
repeat
(
10
)
||
if
(
operation
===
'decode'
)
{
s
=
strbuf
.
toString
();
if
((
s
.
substr
(
0
,
10
)
===
'0'
.
repeat
(
10
)
||
s
.
substr
(
0
,
10
)
-
getTimestamp
()
>
0
)
&&
s
.
substr
(
10
,
16
)
===
md5
(
s
.
substr
(
26
)
+
keyb
).
substr
(
0
,
16
))
{
s
=
s
.
substr
(
26
);
}
else
{
s
=
''
;
}
s
=
s
.
substr
(
26
);
}
else
{
s
=
strbuf
.
toString
(
'base64'
);
let
regex
=
new
RegExp
(
'='
,
'g'
);
s
=
s
.
replace
(
regex
,
''
);
s
=
keyc
+
s
;
s
=
''
;
}
}
else
{
s
=
strbuf
.
toString
(
'base64'
);
let
regex
=
new
RegExp
(
'='
,
'g'
);
s
=
s
.
replace
(
regex
,
''
);
s
=
keyc
+
s
;
}
return
s
;
return
s
;
};
...
...
utils/handle-result.js
View file @
d294083
...
...
@@ -9,7 +9,7 @@ module.exports = (result, apiInfo) => {
if
(
!
_
.
has
(
resData
,
k
)
&&
_
.
has
(
v
,
'default'
))
{
data
[
k
]
=
v
.
default
;
}
else
{
data
[
k
]
=
resData
[
k
]
data
[
k
]
=
resData
[
k
]
;
}
});
...
...
Please
register
or
login
to post a comment