Authored by lea guo

接口参数定义

... ... @@ -11,6 +11,7 @@ const serviceApi = global.yoho.ServiceAPI;
const checkApiMap = url => {
return apiMaps[url] ? apiMaps[url] : void 0;
};
// eslint-disable-next-line space-before-function-paren
const request = async ({ url, method, reqParams = {}, context }) => {
const apiInfo = checkApiMap(url);
... ...
... ... @@ -9,20 +9,21 @@
/>
</div>
<div class="item-info">
<div class="price-status">
<slot name="item-price">
<div>
<div class="price-status">
<span class="price">¥{{ goodsInfo.goodPrice }}</span>
</slot>
<slot name="orderStatus" :orderStatus="order.statuStr"></slot>
<span class="status">
<slot name="orderStatus" :status="order.statuStr"></slot>
</span>
</div>
<p class="item-name">
{{ goodsInfo.productName }}
</p>
</div>
<p class="item-name">
{{ goodsInfo.productName }}
<p class="item-spec">
<span>{{ goodsInfo.colorName }},</span>
<span>{{ goodsInfo.sizeName }}码</span>
</p>
<slot name="item-spec">
<p class="item-spec">
{{ spec }}
</p>
</slot>
</div>
</div>
</template>
... ... @@ -77,10 +78,40 @@ export default {
flex: 1;
flex-direction: column;
margin-left: 20px;
font-size: 24px;
justify-content: space-between;
.price-status {
display: flex;
justify-content: space-between;
margin-bottom: 12px;
.price {
font-size: 28px;
color: #d0021b;
letter-spacing: 0;
font-weight: bold;
}
.status {
color: #000;
letter-spacing: 0;
font-weight: bold;
}
}
.item-name {
color: #999;
letter-spacing: 0;
line-height: 36px;
}
.item-spec {
font-weight: bold;
& > :last-child {
padding-left: 10px;
}
}
}
}
... ...
<template>
<scroll :data="orderList" class="order-list-wrapper">
<order-list-item
v-for="order in orderList"
:key="order.orderCode"
:order="order"
>
<template #orderStatus="{orderStatus}">{{ orderStatus }}</template>
</order-list-item>
<ul>
<li v-for="order in orderList" :key="order.orderCode">
<order-list-item :order="order">
<template #orderStatus="{status}">{{ status }}</template>
</order-list-item>
</li>
</ul>
</scroll>
</template>
... ... @@ -46,6 +46,6 @@ export default {
</script>
<style lang="scss" scoped>
.order-list-wrapper {
margin: 40px 20px;
margin: 40px 40px;
}
</style>
\ No newline at end of file
... ...
declare module 'yohoApi' {
type PlainObject<T = any> = { [key: string]: T };
interface UrlParam {
api: string; // 接口方法名
ufo: boolean; // 是否是ufo接口
service: boolean; // service接口
path: string; // 接口路由
auth?: boolean; // 接口是否需要登陆,ture时请求参数会自动添加uid
params?: PlainObject; // 仅用于参数校验,不会合并到请求参数中
}
}
... ...
... ... @@ -2,45 +2,45 @@ module.exports = {
'/api/ufo/mine/rollBoardList': {
ufo: true,
api: 'ufo.users.rollNoticeList',
params: {}
params: {},
},
'/api/ufo/mine/seller/orderSummary': {
ufo: true,
api: 'ufo.seller.orderSummary',
params: {
uid: {type: Number}
}
uid: { type: Number },
},
},
'/api/ufo/mine/favoriteNum': {
ufo: true,
api: 'ufo.user.favoriteNum',
params: {
uid: {type: Number}
}
uid: { type: Number },
},
},
'/api/ufo/mine/depositNum': {
ufo: true,
api: 'ufo.deposit.queryUserStorageCount',
params: {
uid: {type: Number}
}
uid: { type: Number },
},
},
'/api/ufo/mine/assets': {
ufo: true,
api: 'ufo.asssets.details',
params: {
uid: {type: Number},
limit: {type: Number},
page: {type: Number}
}
uid: { type: Number },
limit: { type: Number },
page: { type: Number },
},
},
'/api/ufo/mine/order/summary': {
ufo: true,
url: '/shopping',
api: 'ufo.order.summary',
params: {
uid: {type: Number}
}
uid: { type: Number },
},
},
'/api/ufo/mine/resource': {
ufo: true,
... ... @@ -48,17 +48,17 @@ module.exports = {
params: {
content_code: { type: String },
uid: { type: Number },
}
},
},
'/api/ufo/home/noticelist':{
'/api/ufo/home/noticelist': {
ufo: true,
api: 'ufo.users.noticeList',
params:{}
params: {},
},
'/api/ufo/home/favoriteProduct':{
'/api/ufo/home/favoriteProduct': {
ufo: true,
api: 'ufo.user.favoriteList',
params:{}
params: {},
},
'/api/ufo/channel/channelList': {
ufo: true,
... ... @@ -66,6 +66,6 @@ module.exports = {
params: {
content_code: { type: String },
uid: { type: Number, require: true },
}
},
},
};
... ...