Skip to content

Commit a25b774

Browse files
committed
feat: 去掉lodash
1 parent 6dec8c5 commit a25b774

File tree

21 files changed

+534
-711
lines changed

21 files changed

+534
-711
lines changed

package.json

-7
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
"ahooks": "^2.9.6",
2323
"antd": "^4.15.6",
2424
"antd-dayjs-webpack-plugin": "^1.0.6",
25-
"braft-editor": "https://gitee.com/hanwenbo/braft-editor.git",
26-
"braft-finder": "/Users/hanwenbo/react/braft-finder",
2725
"classnames": "^2.2.6",
2826
"dom-parser": "^0.1.6",
2927
"dom-to-image": "^2.6.0",
@@ -35,7 +33,6 @@
3533
"immutability-helper": "^3.1.1",
3634
"js-file-download": "^0.4.9",
3735
"lint-staged": "^10.5.4",
38-
"lodash": "^4.17.21",
3936
"lodash-decorators": "^6.0.1",
4037
"memoize-one": "^5.0.0",
4138
"numeral": "^2.0.6",
@@ -87,9 +84,5 @@
8784
"react-intl": "^5.8.1",
8885
"typescript": "^4.1.2",
8986
"yorkie": "^2.0.0"
90-
},
91-
"resolutions": {
92-
"braft-convert": "https://gitee.com/hanwenbo/braft-convert.git",
93-
"braft-utils": "^3.0.12"
9487
}
9588
}

src/components/coupon/text.js

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import React, { Component } from "react";
2-
import { list } from "@/models/coupon";
32
import moment from "dayjs";
4-
import _ from "lodash";
53

64

75
export default class CouponText extends Component {

src/components/noticeIcon/demo/popover.md

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ title: 带浮层卡片
88
````jsx
99
import NoticeIcon from 'ant-design-pro/lib/NoticeIcon';
1010
import moment from 'moment';
11-
import groupBy from 'lodash/groupBy';
1211
import { Tag } from 'antd';
1312

1413
const data = [{

src/components/siderMenu/leftFooter.js

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Row, Col, Modal } from "antd";
44
import { history as router } from "umi";
55
import { connect } from "umi";
66
import PoweroffOutlined from "@ant-design/icons/PoweroffOutlined";
7+
import UserOutlined from "@ant-design/icons/UserOutlined"
78

89
const confirm = Modal.confirm;
910
@connect()

src/components/uploadImage/imageSpace.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import styles from "./index.css";
66
import ImageGroup from "./imageGroup";
77
import PropTypes from "prop-types";
88
import ImageSpaceModal from "@/components/imageSpace";
9-
import _ from "lodash";
9+
import { isEmpty } from "@/utils";
10+
1011
// 对imageSpace modal的升级 临时写法
1112
export default class UploadImageSpace extends Component {
1213
static propTypes = {
@@ -43,7 +44,7 @@ export default class UploadImageSpace extends Component {
4344
if (multi === true) {
4445
_url = Array.isArray(url) ? url : [];
4546
} else {
46-
_url = !_.isEmpty(url) ? [url] : [];
47+
_url = !isEmpty(url) ? [url] : [];
4748
}
4849
return (
4950
<View className={styles.view1}>

src/layouts/basicLayout.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from "react";
22
import { Layout, Spin } from "antd";
33
import DocumentTitle from "react-document-title";
4-
import isEqual from "lodash/isEqual";
4+
import { isEqual } from "@/utils";
55
import memoizeOne from "memoize-one";
66
import { connect } from "umi";
77
import { ContainerQuery } from "react-container-query";

src/models/menu.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import memoizeOne from "memoize-one";
2-
import isEqual from "lodash/isEqual";
2+
import { isEqual } from "@/utils";
33
import Authorized from "@/utils/authorized";
44
import Policy from "fashop-policy";
55

src/pages/order/components/detail/info/index.js

+81-81
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import DeliverInfo from "./deliver";
55
import OtherInfo from "./other";
66
import GoodsInfo from "./goods";
77
import OperateInfo from "./operate";
8-
import Invoice from "./invoice"
9-
import _ from "lodash"
8+
import Invoice from "./invoice";
9+
import { isEmpty } from "@/utils";
1010
import styles from "@/pages/order/components/detail/info/index.css";
1111
import InfoRow from "@/components/public/info/infoRow";
1212
import { View } from "@/components/flexView";
@@ -17,87 +17,87 @@ export default class OrderDetailInfo extends Component {
1717
render() {
1818
const { orderInfo } = this.props;
1919
const { info } = orderInfo;
20-
const { id, extend_order_extend,extend_user, create_time, sn, trade_no, state, extend_order_goods, amount, freight_fee, payment_code, revise_amount, revise_freight_fee, extend_order_discount, points, pay_balance, is_revise, is_revise_freight, marketing_activity, extend_order_invoice,payable_time } = info;
21-
const { reciver_name, reciver_info, message, deliver_name, deliver_phone, deliver_address, tracking_time, tracking_no, remark,reciver_idcard } = extend_order_extend;
20+
const { id, extend_order_extend, extend_user, create_time, sn, trade_no, state, extend_order_goods, amount, freight_fee, payment_code, revise_amount, revise_freight_fee, extend_order_discount, points, pay_balance, is_revise, is_revise_freight, marketing_activity, extend_order_invoice, payable_time } = info;
21+
const { reciver_name, reciver_info, message, deliver_name, deliver_phone, deliver_address, tracking_time, tracking_no, remark, reciver_idcard } = extend_order_extend;
2222
const { history } = this.props;
2323
return (
24-
<Fragment>
25-
<BasicInfo
26-
sn={sn}
27-
reciver_name={reciver_name}
28-
create_time={create_time}
29-
state={state}
30-
trade_no={trade_no}
31-
payment_code={payment_code}
32-
marketing_activity={marketing_activity}
33-
payable_time={payable_time}
34-
/>
35-
<AddressInfo
36-
reciver_info={reciver_info ? reciver_info : {
37-
address: "",
38-
name: "",
39-
phone: "",
40-
combine_detail: "",
41-
}}
42-
idcard={reciver_idcard}
43-
/>
44-
<View className={styles.infoWarp}>
45-
<p className={styles.infoTitle}>用户信息</p>
46-
<InfoRow
47-
infoList={[
48-
{
49-
title: "头像",
50-
info: <Image
51-
type='avatar'
52-
src={extend_user.profile.avatar}
53-
style={{
54-
width: 20,
55-
height: 20
56-
}}
57-
/>
58-
}, {
59-
title: "昵称",
60-
info: extend_user.profile.nickname
61-
}, {
62-
title: "账号",
63-
info: <a
64-
onClick={()=>{
65-
router.push(`/user/list/detail?id=${extend_user.id}`)
66-
}}
67-
>{extend_user.username}</a>
68-
}
69-
]}
70-
/>
71-
</View>
72-
{!_.isEmpty(extend_order_invoice) && <Invoice
73-
invoice={extend_order_invoice }
74-
/>}
75-
{state >= 30 ? <DeliverInfo
76-
id={id}
77-
deliver_name={deliver_name}
78-
deliver_phone={deliver_phone}
79-
deliver_address={deliver_address}
80-
tracking_no={tracking_no}
81-
tracking_time={tracking_time}
82-
remark={remark}
83-
/> : null}
84-
<OtherInfo
85-
message={message}
86-
/>
87-
<GoodsInfo
88-
extend_order_goods={extend_order_goods ? extend_order_goods : []}
89-
amount={amount ? amount : 0}
90-
freight_fee={freight_fee ? freight_fee : 0}
91-
is_revise={is_revise}
92-
is_revise_freight={is_revise_freight}
93-
revise_amount={revise_amount ? revise_amount : 0}
94-
revise_freight_fee={revise_freight_fee ? revise_freight_fee : 0}
95-
discount={extend_order_discount}
96-
points={points}
97-
pay_balance={pay_balance}
98-
/>
99-
<OperateInfo history={history} info={info} />
100-
</Fragment>
24+
<Fragment>
25+
<BasicInfo
26+
sn={sn}
27+
reciver_name={reciver_name}
28+
create_time={create_time}
29+
state={state}
30+
trade_no={trade_no}
31+
payment_code={payment_code}
32+
marketing_activity={marketing_activity}
33+
payable_time={payable_time}
34+
/>
35+
<AddressInfo
36+
reciver_info={reciver_info ? reciver_info : {
37+
address: "",
38+
name: "",
39+
phone: "",
40+
combine_detail: ""
41+
}}
42+
idcard={reciver_idcard}
43+
/>
44+
<View className={styles.infoWarp}>
45+
<p className={styles.infoTitle}>用户信息</p>
46+
<InfoRow
47+
infoList={[
48+
{
49+
title: "头像",
50+
info: <Image
51+
type='avatar'
52+
src={extend_user.profile.avatar}
53+
style={{
54+
width: 20,
55+
height: 20
56+
}}
57+
/>
58+
}, {
59+
title: "昵称",
60+
info: extend_user.profile.nickname
61+
}, {
62+
title: "账号",
63+
info: <a
64+
onClick={() => {
65+
router.push(`/user/list/detail?id=${extend_user.id}`);
66+
}}
67+
>{extend_user.username}</a>
68+
}
69+
]}
70+
/>
71+
</View>
72+
{!isEmpty(extend_order_invoice) && <Invoice
73+
invoice={extend_order_invoice}
74+
/>}
75+
{state >= 30 ? <DeliverInfo
76+
id={id}
77+
deliver_name={deliver_name}
78+
deliver_phone={deliver_phone}
79+
deliver_address={deliver_address}
80+
tracking_no={tracking_no}
81+
tracking_time={tracking_time}
82+
remark={remark}
83+
/> : null}
84+
<OtherInfo
85+
message={message}
86+
/>
87+
<GoodsInfo
88+
extend_order_goods={extend_order_goods ? extend_order_goods : []}
89+
amount={amount ? amount : 0}
90+
freight_fee={freight_fee ? freight_fee : 0}
91+
is_revise={is_revise}
92+
is_revise_freight={is_revise_freight}
93+
revise_amount={revise_amount ? revise_amount : 0}
94+
revise_freight_fee={revise_freight_fee ? revise_freight_fee : 0}
95+
discount={extend_order_discount}
96+
points={points}
97+
pay_balance={pay_balance}
98+
/>
99+
<OperateInfo history={history} info={info} />
100+
</Fragment>
101101
);
102102

103103
}

src/pages/shop/images/components/add.js

+42-42
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { Form } from '@ant-design/compatible';
1+
import { Form } from "@ant-design/compatible";
22
import React, { Component } from "react";
33
import { message, Modal } from "antd";
44
import { connect } from "umi";
5-
import { Input, Button, TreeSelect } from "antd";
5+
import { Input, Button, TreeSelect } from "antd";
66
import Arr from "@/utils/array";
7-
import _ from "lodash";
7+
import { isEmpty } from "@/utils";
88

99
const FormItem = Form.Item;
1010

@@ -35,10 +35,10 @@ export default class FolderAdd extends Component {
3535
visible: true
3636
}, () => {
3737
this.init();
38-
if (e && typeof e['pid'] !== "undefined") {
38+
if (e && typeof e["pid"] !== "undefined") {
3939
const { form: { setFieldsValue } } = this.props;
4040
setFieldsValue({
41-
pid: e['pid']
41+
pid: e["pid"]
4242
});
4343
}
4444
});
@@ -57,17 +57,17 @@ export default class FolderAdd extends Component {
5757
callback: (response) => {
5858
const folderTree = Arr.toTree(response.result.list);
5959
const loop = data =>
60-
data.map(item => {
61-
let _item = {
62-
title: item.title,
63-
value: `${item.id}`,
64-
key: `${item.id}`
65-
};
66-
if (typeof item["children"] !== "undefined" && !_.isEmpty(item.children)) {
67-
_item["children"] = loop(item.children);
68-
}
69-
return _item;
70-
});
60+
data.map(item => {
61+
let _item = {
62+
title: item.title,
63+
value: `${item.id}`,
64+
key: `${item.id}`
65+
};
66+
if (typeof item["children"] !== "undefined" && !isEmpty(item.children)) {
67+
_item["children"] = loop(item.children);
68+
}
69+
return _item;
70+
});
7171
this.setState({
7272
folderTree: loop(folderTree)
7373
});
@@ -104,48 +104,48 @@ export default class FolderAdd extends Component {
104104
const { submitLoading } = this.props;
105105
const { getFieldDecorator } = this.props.form;
106106
return <Modal
107-
title="新建文件夹"
108-
visible={visible}
109-
width={756}
110-
footer={false}
111-
onCancel={() => {
112-
this.setState({
113-
visible: false
114-
});
115-
}}
107+
title="新建文件夹"
108+
visible={visible}
109+
width={756}
110+
footer={false}
111+
onCancel={() => {
112+
this.setState({
113+
visible: false
114+
});
115+
}}
116116
>
117117

118118
<Form onSubmit={this.handleSubmit} style={{ maxWidth: 600 }}>
119119
<FormItem
120-
label="上级文件夹"
121-
help="如不选择,则默认为根目录文件夹"
122-
{...formItemLayout}
120+
label="上级文件夹"
121+
help="如不选择,则默认为根目录文件夹"
122+
{...formItemLayout}
123123
>
124124
{getFieldDecorator("pid")(
125-
<TreeSelect
126-
treeData={folderTree}
127-
showSearch
128-
dropdownStyle={{ maxHeight: 400, overflow: "auto" }}
129-
placeholder="请输入文件夹名称"
130-
allowClear
131-
treeDefaultExpandAll
132-
/>
125+
<TreeSelect
126+
treeData={folderTree}
127+
showSearch
128+
dropdownStyle={{ maxHeight: 400, overflow: "auto" }}
129+
placeholder="请输入文件夹名称"
130+
allowClear
131+
treeDefaultExpandAll
132+
/>
133133
)}
134134
</FormItem>
135135
<FormItem
136-
label="分组名称"
137-
{...formItemLayout}
136+
label="分组名称"
137+
{...formItemLayout}
138138
>
139139
{getFieldDecorator("title", {
140140
rules: [{
141141
required: true,
142142
message: "请输入分组名称"
143143
}]
144144
})(
145-
<Input
146-
placeholder='请输入分组名称,长度不超过10个字'
147-
style={{ width: "100%" }}
148-
/>
145+
<Input
146+
placeholder='请输入分组名称,长度不超过10个字'
147+
style={{ width: "100%" }}
148+
/>
149149
)}
150150
</FormItem>
151151

0 commit comments

Comments
 (0)