Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
xianyu-ufo-app-web
·
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
shuaiguo
5 years ago
Commit
7143cebacc43bf7e83cce04a01635f34a81fd775
2 parents
ee25c64e
93120fb3
Merge branch 'master' into develop
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
125 additions
and
13 deletions
apps/common/create-api-server.js
apps/pages/home/tradeIncome/tradeIncome.vue
apps/pages/list/filtrate.vue
apps/pages/list/list.vue
apps/pages/product/product-detail.vue
apps/store/product/actions.js
config/product-api-map.js
create-app.js
doraemon/middleware/report-yas.js
package.json
apps/common/create-api-server.js
View file @
7143ceb
...
...
@@ -107,6 +107,7 @@ export const createApi = (context, store) => {
.
then
(
resolve
({
context
,
store
,
reqParams
}))
.
catch
(
err
=>
{
console
.
log
(
'----create----api--server--get---'
,
err
);
return
err
;
});
},
post
(
url
,
reqParams
=
{})
{
...
...
@@ -119,6 +120,7 @@ export const createApi = (context, store) => {
.
then
(
resolve
({
context
,
store
,
reqParams
}))
.
catch
(
err
=>
{
console
.
log
(
'----create----api--server--post---'
,
err
);
return
err
;
});
},
};
...
...
apps/pages/home/tradeIncome/tradeIncome.vue
View file @
7143ceb
...
...
@@ -48,7 +48,7 @@ export default {
loadingOptions() {
return {
hide: !this.totalPage,
noMore: this.page > this.totalPage
noMore: this.page >
=
this.totalPage
};
}
},
...
...
@@ -83,7 +83,7 @@ export default {
let { page, pagetotal } = res.data || {};
this.page = page || 0;
this.
pageTotal
= pagetotal || 0;
this.
totalPage
= pagetotal || 0;
}
});
}
...
...
apps/pages/list/filtrate.vue
View file @
7143ceb
...
...
@@ -72,11 +72,11 @@ export default {
activated() {
let params = {...this.$route.query};
if (this.yoho.direction === 'forword') {
//
if (this.yoho.direction === 'forword') {
Object.assign(this.$data, this.$options.data());
!params.order && (params.order = 'sale_desc');
this.fetchData(params);
}
//
}
},
computed: {
...
...
apps/pages/list/list.vue
View file @
7143ceb
...
...
@@ -133,6 +133,10 @@ export default {
}
},
deactivated() {
this.$refs.filtrate.hide();
},
methods: {
...mapActions(['fetchProductList', 'getDirection']),
...
...
apps/pages/product/product-detail.vue
View file @
7143ceb
...
...
@@ -547,6 +547,17 @@ export default {
return;
}
// 商品是否指定出售
const limitInfo = get(this.productDetail, 'limitInfo', {});
if(limitInfo.isLimit === '1') {
this.$createDialog({
type: "alert",
title: "商品出售限制",
content: limitInfo.tip || '',
confirmBtn: { text: "我知道了" }
}).show();
return;
}
/**
* 数据埋点
* 商品详情页点击出售/购买/求购按钮
...
...
apps/store/product/actions.js
View file @
7143ceb
...
...
@@ -8,7 +8,7 @@ export default {
return
state
.
products
[
productId
];
},
async
fetchProductInfo
({
commit
,
state
},
{
productId
})
{
const
queryTasks
=
[
''
,
'/resource'
,
'/activity'
,
'/recommend'
].
map
(
path
=>
{
const
queryTasks
=
[
''
,
'/resource'
,
'/activity'
,
'/recommend'
,
'/limit/info'
].
map
(
path
=>
{
let
params
=
{
product_id
:
productId
};
if
(
path
===
'/resource'
)
{
...
...
@@ -25,14 +25,16 @@ export default {
});
});
let
[
detail
,
resource
,
activity
,
recommend
]
=
await
Promise
.
all
(
queryTasks
);
let
[
detail
,
resource
,
activity
,
recommend
,
limitInfo
]
=
await
Promise
.
all
(
queryTasks
);
resource
=
get
(
resource
,
'[0].data[0]'
,
{});
commit
(
Types
.
UPDATE_PRODUCT_DETAIL
,
Object
.
assign
(
detail
.
product_info
,
{
const
{
product_info
=
{}}
=
detail
||
{};
commit
(
Types
.
UPDATE_PRODUCT_DETAIL
,
Object
.
assign
(
product_info
,
{
resource
,
activity
:
activity
||
[],
recommend
:
recommend
&&
recommend
.
product_list
||
[],
limitInfo
:
limitInfo
||
{}
}));
},
async
fetchRecommendProduct
({
commit
},
{
productId
})
{
...
...
config/product-api-map.js
View file @
7143ceb
...
...
@@ -124,4 +124,14 @@ module.exports = {
skup
:
{
type
:
Number
},
},
},
// 商品限制信息查询
'/api/ufo/product/limit/info'
:
{
ufo
:
true
,
auth
:
true
,
api
:
'ufo.product.limitInfo'
,
params
:
{
product_id
:
{
type
:
Number
},
// 商品id
},
},
};
...
...
create-app.js
View file @
7143ceb
...
...
@@ -95,6 +95,7 @@ exports.createApp = async(app) => {
const
errorMiddleware
=
require
(
'./doraemon/middleware/error-handler'
);
const
ssrApiMiddleware
=
require
(
'./doraemon/middleware/ssr-api'
);
const
ssrRouteMiddleware
=
require
(
'./doraemon/middleware/ssr'
);
const
reportYasMiddleware
=
require
(
'./doraemon/middleware/report-yas'
);
// YOHO 前置中间件
app
.
use
(
setYohoDataMiddleware
);
...
...
@@ -107,12 +108,12 @@ exports.createApp = async(app) => {
let
udid
=
uuid
.
v4
();
if
(
req
.
yoho
.
isApp
&&
req
.
query
.
udid
)
{
udid
=
req
.
query
.
udid
;
udid
=
req
.
query
.
udid
;
}
res
.
cookie
(
'udid'
,
udid
,
{
domain
:
'yohobuy.com'
,
expires
:
new
Date
(
Date
.
now
()
+
365
*
24
*
60
*
60
*
1000
)
domain
:
'yohobuy.com'
,
expires
:
new
Date
(
Date
.
now
()
+
365
*
24
*
60
*
60
*
1000
)
});
req
.
cookies
.
udid
=
udid
;
}
...
...
@@ -155,7 +156,7 @@ exports.createApp = async(app) => {
app
.
use
(
'/xianyu'
,
ssrApiMiddleware
);
app
.
use
(
ssrRouteMiddleware
.
routers
);
app
.
use
(
[
reportYasMiddleware
,
ssrRouteMiddleware
.
routers
]
);
app
.
all
(
'*'
,
ssrRouteMiddleware
.
ssrRender
);
// 404
...
...
doraemon/middleware/report-yas.js
0 → 100644
View file @
7143ceb
const
axios
=
require
(
'axios'
);
const
_
=
require
(
'lodash'
);
const
logger
=
global
.
yoho
.
logger
;
module
.
exports
=
(
req
,
res
,
next
)
=>
{
if
(
req
.
path
===
'/xianyu/index/channel'
)
{
try
{
const
json
=
{
appop
:
'XY_UFO_MAIN_START_SERVICE'
,
param
:
{}
};
const
xianyu
=
{
isiOS
:
/
\(
i
[^
;
]
+;
(
U;
)?
CPU.+Mac OS X/i
.
test
(
req
.
get
(
'User-Agent'
)
||
''
),
isAndroid
:
/Android/i
.
test
(
req
.
get
(
'User-Agent'
)
||
''
),
};
const
appBaseLogs
=
{
status
:
[
{
ca
:
''
,
lo
:
''
,
cy
:
'CN'
,
av
:
''
,
udid
:
req
.
cookies
.
udid
,
ln
:
''
,
ab
:
''
,
sid
:
''
,
net
:
''
,
la
:
''
}
],
device
:
{
res
:
''
,
ifa
:
''
,
mac
:
''
,
osv
:
''
,
ifv
:
''
,
ps
:
''
,
os
:
xianyu
.
isiOS
?
'ios'
:
'android'
,
ak
:
'yoho_xianyu_'
+
(
xianyu
.
isiOS
?
'ios'
:
'android'
),
sv
:
''
,
ch
:
''
,
dm
:
''
,
tdid
:
''
,
afp
:
''
,
udid
:
req
.
cookies
.
udid
},
events
:
[{
sid
:
''
,
uid
:
req
.
user
.
uid
}]
};
let
param
=
json
.
param
;
const
srcId
=
req
.
cookies
.
SRC_ID
||
''
;
param
.
SRC_ID
=
srcId
;
let
ev
=
appBaseLogs
.
events
[
0
];
let
event
=
_
.
merge
(
ev
,
{
ts
:
(
new
Date
()).
getTime
().
toString
(),
indx
:
1
,
op
:
json
.
appop
,
param
:
param
});
let
logs
=
_
.
merge
(
appBaseLogs
,
{
events
:
[
event
]
});
const
data
=
'_mlogs='
+
encodeURIComponent
(
JSON
.
stringify
(
logs
));
axios
.
post
(
'https://analytics.m.yohobuy.com/yas_mobile'
,
data
,
{
headers
:
{
'content-type'
:
'application/x-www-form-urlencoded'
}
});
}
catch
(
e
)
{
logger
.
error
(
e
);
}
}
next
();
};
...
...
package.json
View file @
7143ceb
{
"name"
:
"xianyu-ufo-app-web"
,
"version"
:
"
0.0.4
"
,
"version"
:
"
1.0.1
"
,
"private"
:
true
,
"description"
:
"Xianyu Project With Express"
,
"repository"
:
{
...
...
Please
register
or
login
to post a comment