Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuywap-node
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
毕凯
7 years ago
Commit
270e8cfa6e6cd29d7aae9ce9df38faae63d66f42
2 parents
8829f938
6ad78dde
Merge remote-tracking branch 'origin/master' into release/6.2
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
58 additions
and
33 deletions
apps/home/models/orderDetail.js
config/common.js
doraemon/middleware/error-handler.js
doraemon/middleware/limiter/index.js
doraemon/views/layout.hbs
doraemon/views/partial/analysis.hbs
package.json
public/build/webpack.base.config.js
public/build/webpack.dev.config.js
public/build/webpack.prod.config.js
apps/home/models/orderDetail.js
View file @
270e8cf
...
...
@@ -478,7 +478,7 @@ module.exports = class extends global.yoho.BaseModel {
});
}
return
this
.
pos
t
({
return
this
.
ge
t
({
data
:
apiParams
});
}
...
...
config/common.js
View file @
270e8cf
...
...
@@ -11,8 +11,8 @@ const isProduction = process.env.NODE_ENV === 'production';
const
isTest
=
process
.
env
.
NODE_ENV
===
'test'
;
const
domains
=
{
api
:
'http://api-test3.yohops.com:9999/'
,
service
:
'http://api-test3.yohops.com:9999/'
,
api
:
'http://api.yoho.cn/'
,
service
:
'http://service.yoho.cn/'
,
liveApi
:
'http://testapi.live.yohops.com:9999/'
,
singleApi
:
'http://api-test3.yohops.com:9999/'
,
imSocket
:
'ws://socket.yohobuy.com:10240'
,
...
...
@@ -31,6 +31,11 @@ module.exports = {
assetUrl
:
'//127.0.0.1:5001'
,
testCode
:
'yoho4946abcdef#$%&!@'
,
domains
:
domains
,
report
:
{
host
:
'10.66.0.139'
,
port
:
8086
,
db
:
'web-apm'
},
subDomains
:
{
host
:
'.m.yohobuy.com'
,
default
:
'//m.yohobuy.com'
,
...
...
@@ -196,6 +201,11 @@ if (isProduction) {
}
return
Math
.
min
(
options
.
attempt
*
100
,
1000
);
}
},
report
:
{
host
:
'influxdblog.web.yohoops.org'
,
port
:
8086
,
db
:
'web-apm'
}
});
}
else
if
(
isTest
)
{
...
...
doraemon/middleware/error-handler.js
View file @
270e8cf
...
...
@@ -5,6 +5,8 @@
const
headerModel
=
require
(
'../models/header'
);
const
logger
=
global
.
yoho
.
logger
;
const
helpers
=
global
.
yoho
.
helpers
;
const
sender
=
global
.
yoho
.
apmSender
;
const
hostname
=
require
(
'os'
).
hostname
();
const
forceNoCache
=
(
res
)
=>
{
if
(
res
&&
!
res
.
finished
)
{
...
...
@@ -49,6 +51,29 @@ exports.notFound = () => {
exports
.
serverError
=
()
=>
{
return
(
err
,
req
,
res
,
next
)
=>
{
forceNoCache
(
res
);
const
uid
=
req
.
user
?
req
.
user
.
uid
:
0
;
const
udid
=
req
.
query
.
udid
||
req
.
cookies
?
req
.
cookies
.
_yasvd
:
0
;
if
(
req
.
isApmReport
)
{
// 上报服务端错误
sender
.
addMessage
({
measurement
:
'error-report'
,
tags
:
{
app
:
global
.
yoho
.
config
.
appName
,
// 应用名称
hostname
,
type
:
'server'
,
route
:
`
[
$
{
req
.
method
}]
$
{
req
.
route
.
path
}
`
,
// 请求路由
reqID
:
req
.
reqID
,
uid
,
udid
,
code
:
err
.
code
||
500
},
fields
:
{
message
:
err
.
message
,
stack
:
err
.
stack
}
});
}
if
(
err
&&
err
.
code
===
401
)
{
logger
.
warn
(
`
401
warn
info
:
client_type
=
$
{
req
.
query
.
client_type
},
req
.
user
=
$
{
JSON
.
stringify
(
req
.
user
)},
req
.
query
=
$
{
JSON
.
stringify
(
req
.
query
)},
cookies
=
$
{
JSON
.
stringify
(
req
.
cookies
)}
`
);
// eslint-disable-line
...
...
doraemon/middleware/limiter/index.js
View file @
270e8cf
...
...
@@ -10,7 +10,8 @@ const captchaPolicy = require('./policies/captcha');
const
IP_WHITE_LIST
=
[
'106.38.38.146'
,
'218.94.75.58'
,
'218.94.75.50'
'218.94.75.50'
,
'218.94.77.166'
];
const
limiter
=
(
rule
,
policy
,
context
)
=>
{
...
...
doraemon/views/layout.hbs
View file @
270e8cf
...
...
@@ -22,6 +22,15 @@
<link
rel=
"dns-prefetch"
href=
"
{{
this
}}
"
>
{{/
dnsPrefetch
.
hosts
}}
<script>
window._timeStart = new Date().getTime();
window._yohoAppName = 'yohobuywap-node';
{{#
ifand
isProduction
wap
.
open
.
bughd
}}
!function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var n=r(13),i=r(14);n.init(),i.init()},function(e,t){e.exports=function(e,t,r){if("undefined"==typeof t){var n=null;if(document.cookie)for(var i=document.cookie.split(";"),o=0;o<i.length;o++){var a=(i[o]||"").trim();if(a.substring(0,e.length+1)==e+"="){n=decodeURIComponent(a.substring(e.length+1));break}}return n}r=r||{},null===t&&(t="",r.expires=-1);var d="";if(r.expires&&("number"==typeof r.expires||r.expires.toUTCString)){var s;"number"==typeof r.expires?(s=new Date,s.setTime(s.getTime()+24*r.expires*60*60*1e3)):s=r.expires,d="; expires="+s.toUTCString()}var u=r.path?"; path="+r.path:"",p=r.domain?"; domain="+r.domain:"",c=r.secure?"; secure":"";document.cookie=[e,"=",encodeURIComponent(t),d,u,p,c].join("")}},,function(e,t,r){var n=r(1),i=window._yohoAppName||"unknown",o={config:{reportUrl:"//badjs.yoho.cn/apm/yas.gif"},stringify:function(e){for(var t=[],r=0;r<e.length;r++){var n=e[r],i=[];for(var o in n)n.hasOwnProperty(o)&&i.push(o+"::"+n[o]);t.push(i.join("$$"))}return t.join("**")},report:function(e,t){if(e){var r=new Image;r.src=this.config.reportUrl+"?s="+i+"&l="+e+"&t="+(new Date).getTime(),t&&t()}},getUdid:function(){var e=(n("yohobuy_session")||"").slice(2).split(".")[0];return e||0},getUid:function(){var e=(n("_UID")||"").split("::")[1];return e||0},getReqId:function(){return n("docreqid")||0}};e.exports=o},,,,,,,,,,function(e,t,r){var n=r(1),i=r(3),o="_errLog",a={writeError:function(e,t,r,a,d){var s=JSON.parse(n(o)||"[]");s.push({tp:"err",msg:e,sc:t,ln:r,cn:a,pt:location.href,u:i.getUid(),ud:i.getUdid(),rid:i.getReqId(),st:JSON.stringify(d&&d.stack)}),n(o,JSON.stringify(s)),s.length>=5&&this.reportError()},clearError:function(){n(o,"[]")},reportError:function(){var e=this,t=JSON.parse(n(o)||"[]"),r=i.stringify(t);i.report(r,function(){e.clearError()})},init:function(){var e=this;window.onerror=function(t,r,n,i,o){e.writeError(t,r,n,i,o)},this.reportError()}};e.exports=a},function(e,t,r){function n(e){var t=e.offsetTop;return null!==e.offsetParent&&(t+=n(e.offsetParent)),t}var i=r(3),o=window.screen.height,a=[],d=!1,s=!1,u=0,p=setInterval(function(){var e,t;if(d){if(a.length)for(e=0;e<a.length;e++){if(t=a[e],!t.complete){s=!1;break}s=!0}else s=!0;s&&(u=(new Date).getTime()-_timeStart,clearInterval(p))}else{var r=document.body.querySelector("img")||[];for(e=0;e<r.length;e++){t=r[e];var i=n(t);if(i>o){d=!0;break}i<=o&&!t.hasPushed&&(t.hasPushed=1,a.push(t))}}},0),c={reportTime:function(e){var t=i.stringify(e);i.report(t)},addEvent:function(){var e=this,t=[],r=location.href,n=i.getUid(),o=i.getUdid(),a=i.getReqId(),c=window.performance&&window.performance.timing.navigationStart||0;_timeStart=window._timeStart||0,document.addEventListener&&document.addEventListener("DOMContentLoaded",function(e){t.push({tp:"dcl",t:(new Date).getTime()-_timeStart,pt:r,u:n,ud:o,rid:a});var i=document.body.querySelector("img")||[];i.length||(d=!0)},!1),window.addEventListener&&window.addEventListener("load",function(i){t.push({tp:"ld",t:(new Date).getTime()-_timeStart,pt:r,u:n,ud:o,rid:a}),s=!0,d=!0,p&&clearInterval(p),u&&t.push({tp:"fs",t:u,pt:r,u:n,ud:o,rid:a}),t.push({tp:"pf",dcl:(window.performance&&window.performance.timing.domComplete||0)-c,ld:(window.performance&&window.performance.timing.loadEventStart||0)-c,pt:r,u:n,ud:o,rid:a}),e.reportTime(t)},!1)},init:function(){this.addEvent()}};e.exports=c}]);
{{/
ifand
}}
</script>
{{!-- Android机器页面不再受到用户字体缩放强制改变大小 'http://m.blog.csdn.net/article/details?id=51275080' --}}
<script
type=
"text/javascript"
>
var
isWechat
=
/micromessenger/i
.
test
(
navigator
.
userAgent
||
''
);
...
...
@@ -97,20 +106,6 @@
{{#if
nodownload
}}
<input
type=
"hidden"
id=
"no-download"
value=
"no-download"
>
{{/if}}
{{#
ifand
isProduction
wap
.
open
.
bughd
}}
<script
type=
"text/javascript"
src=
"//cdn.yoho.cn/tool/bj-report-tryjs.min.js?t=
{{
startTime
}}
"
crossOrigin=
"anonymous"
></script>
<script
type=
"text/javascript"
>
if
(
BJ_REPORT
&&
BJ_REPORT
.
init
)
{
BJ_REPORT
.
init
({
id
:
2
,
url
:
"//badjs.yoho.cn/badjs"
,
ignore
:
[
/Script error/i
],
offlineLog
:
false
,
offlineLogAuto
:
false
});
}
</script>
{{/
ifand
}}
{{#
wechatShare
}}
<script
type=
"text/javascript"
src=
"//res.wx.qq.com/open/js/jweixin-1.1.0.js"
></script>
{{/
wechatShare
}}
...
...
@@ -121,18 +116,11 @@
<script
src=
"//
{{
devHost
}}
:5001/
{{
module
}}
.
{{
page
}}
.js"
></script>
{{^}}
<script>
var
STATIC_RESOURCE_PATH
=
'//cdn.yoho.cn/m-yohobuy-node/assets'
;
</script>
<script
src=
"//cdn.yoho.cn/m-yohobuy-node/
{{
version
}}
/libs.js?t=
{{
startTime
}}
"
></script>
{{#
ifand
isProduction
wap
.
open
.
bughd
}}
<script>
if
(
BJ_REPORT
&&
BJ_REPORT
.
tryJs
)
{
BJ_REPORT
.
tryJs
().
spyAll
();
}
</script>
{{/
ifand
}}
<script
src=
"//cdn.yoho.cn/m-yohobuy-node/
{{
version
}}
/
{{
module
}}
.
{{
page
}}
.js?t=
{{
startTime
}}
"
></script>
<script
src=
"//cdn.yoho.cn/m-yohobuy-node/
{{
version
}}
/libs.js?t=
{{
startTime
}}
"
crossorigin=
"anonymous"
></script>
<script
src=
"//cdn.yoho.cn/m-yohobuy-node/
{{
version
}}
/
{{
module
}}
.
{{
page
}}
.js?t=
{{
startTime
}}
"
crossorigin=
"anonymous"
></script>
{{/if}}
{{#
loadJs
}}
<script
type=
"text/javascript"
src=
"
{{
src
}}
"
></script>
<script
type=
"text/javascript"
src=
"
{{
src
}}
"
crossorigin=
"anonymous"
></script>
{{/
loadJs
}}
{{#
unless
devEnv
}}
{{>
analysis
}}
...
...
doraemon/views/partial/analysis.hbs
View file @
270e8cf
...
...
@@ -12,7 +12,7 @@
a.async = 1;
a.src = j;
m.parentNode.insertBefore(a, m);
}(window, document, 'script', (document.location.protocol === 'https:' ? 'https:' : 'http:') + '//cdn.yoho.cn/yas-jssdk/2.4.
2
/yas.js', '_yas'));
}(window, document, 'script', (document.location.protocol === 'https:' ? 'https:' : 'http:') + '//cdn.yoho.cn/yas-jssdk/2.4.
6
/yas.js', '_yas'));
var _hmt = _hmt || [];
...
...
@@ -56,7 +56,7 @@
uid = uid === 0 ? '' : uid;
window._ozuid = uid; // 暴露ozuid
if (window._yas) {
window._yas(1 * new Date(), '2.4.
2
', 'yohobuy_m', uid, '', '');
window._yas(1 * new Date(), '2.4.
6
', 'yohobuy_m', uid, '', '');
}
setTimeout(function() {
...
...
package.json
View file @
270e8cf
{
"name"
:
"m-yohobuy-node"
,
"version"
:
"6.1.
2
"
,
"version"
:
"6.1.
3
"
,
"private"
:
true
,
"description"
:
"A New Yohobuy Project With Express"
,
"repository"
:
{
...
...
@@ -73,7 +73,7 @@
"xml2js"
:
"^0.4.19"
,
"yoho-express-session"
:
"^2.0.0"
,
"yoho-md5"
:
"^2.0.0"
,
"yoho-node-lib"
:
"=0.
3.6
"
,
"yoho-node-lib"
:
"=0.
5.5
"
,
"yoho-zookeeper"
:
"^1.0.8"
},
"devDependencies"
:
{
...
...
public/build/webpack.base.config.js
View file @
270e8cf
...
...
@@ -56,6 +56,7 @@ module.exports = (env) => {
path
:
path
.
join
(
__dirname
,
'bundle'
),
// absolute path
filename
:
'[name].js'
},
devtool
:
'hidden-source-map'
,
module
:
{
rules
:
[{
test
:
/
\.
vue$/
,
...
...
public/build/webpack.dev.config.js
View file @
270e8cf
...
...
@@ -13,7 +13,6 @@ Object.keys(baseConfig.entry).forEach(function(name) {
});
module
.
exports
=
merge
(
baseConfig
,
{
devtool
:
'#cheap-module-source-map'
,
output
:
{
publicPath
:
devInfo
.
publicPath
},
...
...
public/build/webpack.prod.config.js
View file @
270e8cf
...
...
@@ -30,6 +30,7 @@ module.exports = merge(baseConfig, {
}),
new
webpack
.
optimize
.
UglifyJsPlugin
({
parallel
:
true
,
sourceMap
:
true
,
uglifyOptions
:
{
compress
:
{
warnings
:
false
...
...
Please
register
or
login
to post a comment