lodash fp
by Mike Lin
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash-fp/0.10.4/lodash-fp.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
test
JavaScript
const orderDto = {
orderStatus: '10'
}
const paoTuiPsList = [83, 84, 87, 96] // 同城直送/钉钉跑腿/微信跑腿/支付宝
const thirdPartyPsList = [92, 93] // 苏宁小店/天猫美妆
const data = _.cond([
[() => paoTuiPsList.indexOf(orderDto.platformShopid) !== -1, () => [
{ code: 76, reason: '联系不到寄件人' },
{ code: 86, reason: '自身原因无法配送(车坏了,车没电了等)' },
{ code: 85, reason: '其他' },
]], [() => thirdPartyPsList.indexOf(orderDto.platformShopid) !== -1, () => [ // 天猫美妆的渠道
{ code: 86, reason: '自身原因无法配送(车坏了,车没电了等)' },
{ code: 85, reason: '其他' },
]], [() => +orderDto.orderStatus === 10, () => [
{ code: 86, reason: '自身原因无法配送(车坏了,车没电了等)' },
{ code: 87, reason: '因商家原因取消(不给单,订单已送走等)' },
{ code: 84, reason: '等餐还要很久' },
{ code: 85, reason: '其他' },
]], [() => true, () => [
{ code: 86, reason: '自身原因无法配送(车坏了,车没电了等)' },
{ code: 87, reason: '因商家原因取消(不给单,订单已送走等)' },
{ code: 85, reason: '其他' },
]]
])
console.log('-----', data())