@yunzhanghu/sdk-nodejs 0.0.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.json +19 -0
  3. package/.husky/pre-commit +7 -0
  4. package/LICENSE +201 -0
  5. package/README.md +114 -0
  6. package/example/apiUserSign.js +70 -0
  7. package/example/authentication.js +142 -0
  8. package/example/bizlicXjjH5.js +46 -0
  9. package/example/bizlicXjjH5Api.js +65 -0
  10. package/example/conf/config.js +30 -0
  11. package/example/dataService.js +98 -0
  12. package/example/h5UserSign.js +68 -0
  13. package/example/invoice.js +91 -0
  14. package/example/notify.js +36 -0
  15. package/example/package.json +12 -0
  16. package/example/payment.js +186 -0
  17. package/example/tax.js +34 -0
  18. package/package.json +47 -0
  19. package/prettier.config.js +32 -0
  20. package/src/common/client.ts +367 -0
  21. package/src/common/exception/yzhSDKHttpException.ts +32 -0
  22. package/src/common/http/index.ts +57 -0
  23. package/src/common/utils/index.ts +18 -0
  24. package/src/index.ts +1 -0
  25. package/src/services/apiusersign/index.ts +125 -0
  26. package/src/services/authentication/index.ts +247 -0
  27. package/src/services/bizlicxjjh5/index.ts +129 -0
  28. package/src/services/bizlicxjjh5api/index.ts +169 -0
  29. package/src/services/dataservice/index.ts +315 -0
  30. package/src/services/h5usersign/index.ts +145 -0
  31. package/src/services/index.ts +10 -0
  32. package/src/services/invoice/index.ts +257 -0
  33. package/src/services/payment/index.ts +523 -0
  34. package/src/services/tax/index.ts +77 -0
  35. package/src/typings.d.ts +1 -0
  36. package/tsconfig.json +25 -0
  37. package/yzh/common/client.d.ts +119 -0
  38. package/yzh/common/client.js +314 -0
  39. package/yzh/common/exception/yzhSDKHttpException.d.ts +10 -0
  40. package/yzh/common/exception/yzhSDKHttpException.js +21 -0
  41. package/yzh/common/http/index.d.ts +6 -0
  42. package/yzh/common/http/index.js +51 -0
  43. package/yzh/common/utils/index.d.ts +14 -0
  44. package/yzh/common/utils/index.js +11 -0
  45. package/yzh/index.d.ts +1 -0
  46. package/yzh/index.js +4 -0
  47. package/yzh/services/apiusersign/index.d.ts +86 -0
  48. package/yzh/services/apiusersign/index.js +26 -0
  49. package/yzh/services/authentication/index.d.ts +153 -0
  50. package/yzh/services/authentication/index.js +42 -0
  51. package/yzh/services/bizlicxjjh5/index.d.ts +76 -0
  52. package/yzh/services/bizlicxjjh5/index.js +18 -0
  53. package/yzh/services/bizlicxjjh5api/index.d.ts +107 -0
  54. package/yzh/services/bizlicxjjh5api/index.js +22 -0
  55. package/yzh/services/dataservice/index.d.ts +243 -0
  56. package/yzh/services/dataservice/index.js +38 -0
  57. package/yzh/services/h5usersign/index.d.ts +90 -0
  58. package/yzh/services/h5usersign/index.js +26 -0
  59. package/yzh/services/index.d.ts +10 -0
  60. package/yzh/services/index.js +23 -0
  61. package/yzh/services/invoice/index.d.ts +158 -0
  62. package/yzh/services/invoice/index.js +34 -0
  63. package/yzh/services/payment/index.d.ts +358 -0
  64. package/yzh/services/payment/index.js +50 -0
  65. package/yzh/services/tax/index.d.ts +55 -0
  66. package/yzh/services/tax/index.js +18 -0
@@ -0,0 +1,30 @@
1
+ const config = {
2
+ // 平台企业 ID,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
3
+ dealer_id: "200***62",
4
+ // 综合服务主体 ID,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
5
+ broker_id: "xj***t",
6
+ // 平台企业 App Key,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
7
+ app_key: "36pr4E***ofEd",
8
+ // 平台企业 3DES Key,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
9
+ des3_key: "Y54w5g***x9jv",
10
+ // 平台企业私钥,自行生成 RSA 公私钥,私钥请妥善保存,谨防泄露。平台企业公钥请登录云账户综合服务平台配置,选择“业务中心 > 业务管理 > 对接信息”,单击页面右上角的“编辑”,完成平台企业公钥配置
11
+ private_key: `-----BEGIN PRIVATE KEY-----
12
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1LHsuXz2JQ01f
13
+ *
14
+ *
15
+ *
16
+ J3yJsY8L1j3V4sO5ykS76x8Y
17
+ -----END PRIVATE KEY-----`,
18
+ // 云账户公钥,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
19
+ yzh_public_key: `-----BEGIN PUBLIC KEY-----
20
+ MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe4ipz4/EGFZphz2rYy8T2hdCL
21
+ *
22
+ *
23
+ *
24
+ QqP7lt6FdvzGxehaHwIDAQAB
25
+ -----END PUBLIC KEY-----`,
26
+ // 签名方式,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取,默认为 RSA 签名方式。
27
+ // rsa:RSA 签名方式 sha256:HMAC 签名方式
28
+ sign_type: "rsa",
29
+ }
30
+ module.exports = config
@@ -0,0 +1,98 @@
1
+ const yzhAPI = require("../yzh/index.js")
2
+ const config = require("./conf/config.js")
3
+
4
+ // 对账文件获取
5
+
6
+ const dataService = new yzhAPI.Dataservice(config)
7
+
8
+ // 查询日订单文件
9
+ dataService
10
+ .GetDailyOrderFile({
11
+ order_date: "2023-01-13",
12
+ })
13
+ .then((data) => {
14
+ console.log("响应内容:", data)
15
+ })
16
+ .catch((err) => {
17
+ console.log(err.toString())
18
+ })
19
+
20
+ // 查询日流水文件
21
+ dataService
22
+ .GetDailyBillFileV2({
23
+ bill_date: "2023-01-13",
24
+ })
25
+ .then((data) => {
26
+ console.log("响应内容:", data)
27
+ })
28
+ .catch((err) => {
29
+ console.log(err.toString())
30
+ })
31
+
32
+ // 查询平台企业预付业务服务费记录
33
+ dataService
34
+ .ListDealerRechargeRecordV2({
35
+ begin_at: "2023-01-01",
36
+ end_at: "2023-01-30",
37
+ })
38
+ .then((data) => {
39
+ console.log("响应内容:", JSON.stringify(data, null, 2))
40
+ })
41
+ .catch((err) => {
42
+ console.log(err.toString())
43
+ })
44
+
45
+ // 查询日订单数据
46
+ dataService
47
+ .ListDailyOrder({
48
+ order_date: "2023-01-13",
49
+ offset: 0,
50
+ length: 100,
51
+ channel: "",
52
+ data_type: "",
53
+ })
54
+ .then((data) => {
55
+ console.log("响应内容:", JSON.stringify(data, null, 2))
56
+ })
57
+ .catch((err) => {
58
+ console.log(err.toString())
59
+ })
60
+
61
+ // 查询日订单文件(支付和退款订单)
62
+ dataService
63
+ .GetDailyOrderFileV2({
64
+ order_date: "2023-01-13",
65
+ })
66
+ .then((data) => {
67
+ console.log("响应内容:", data)
68
+ })
69
+ .catch((err) => {
70
+ console.log(err.toString())
71
+ })
72
+
73
+ // 查询日流水数据
74
+ dataService
75
+ .ListDailyBill({
76
+ bill_date: "2022-10-28",
77
+ offset: 0,
78
+ length: 100,
79
+ data_type: "",
80
+ })
81
+ .then((data) => {
82
+ console.log("响应内容:", JSON.stringify(data, null, 2))
83
+ })
84
+ .catch((err) => {
85
+ console.log(err.toString())
86
+ })
87
+
88
+ // 查询余额日账单数据
89
+ dataService
90
+ .ListBalanceDailyStatement({
91
+ statement_date: "2022-10-28",
92
+ })
93
+ .then((data) => {
94
+ console.log("响应内容:", JSON.stringify(data, null, 2))
95
+ })
96
+ .catch((err) => {
97
+ console.log(err.toString())
98
+ })
@@ -0,0 +1,68 @@
1
+ const yzhAPI = require("../yzh/index.js")
2
+ const config = require("./conf/config.js")
3
+
4
+ // H5 签约
5
+
6
+ const h5usersign = new yzhAPI.H5usersign(config)
7
+
8
+ // 预申请签约
9
+ h5usersign
10
+ .H5UserPresign({
11
+ dealer_id: config.dealer_id,
12
+ broker_id: config.broker_id,
13
+ real_name: "张三",
14
+ id_card: " 120110119990000111",
15
+ certificate_type: 0,
16
+ })
17
+ .then((data) => {
18
+ console.log("响应内容:", data)
19
+ })
20
+ .catch((err) => {
21
+ console.log(err.toString())
22
+ })
23
+
24
+ // 申请签约
25
+ h5usersign
26
+ .H5UserSign({
27
+ token: "55866120-532d-44dd-9251-cf453c7f4c63",
28
+ color: "",
29
+ url: "https://xxx",
30
+ redirect_url: "",
31
+ })
32
+ .then((data) => {
33
+ console.log("响应内容:", data)
34
+ })
35
+ .catch((err) => {
36
+ console.log(err.toString())
37
+ })
38
+
39
+ // 获取用户签约状态
40
+ h5usersign
41
+ .GetH5UserSignStatus({
42
+ dealer_id: config.dealer_id,
43
+ broker_id: config.broker_id,
44
+ real_name: "张三",
45
+ id_card: "120110119990000111",
46
+ })
47
+ .then((data) => {
48
+ console.log("响应内容:", data)
49
+ })
50
+ .catch((err) => {
51
+ console.log(err.toString())
52
+ })
53
+
54
+ // 用户解约(测试账号专用接口)
55
+ h5usersign
56
+ .H5UserRelease({
57
+ dealer_id: config.dealer_id,
58
+ broker_id: config.broker_id,
59
+ real_name: "张三",
60
+ id_card: "120110119990000111",
61
+ certificate_type: 0,
62
+ })
63
+ .then((data) => {
64
+ console.log("响应内容:", data)
65
+ })
66
+ .catch((err) => {
67
+ console.log(err.toString())
68
+ })
@@ -0,0 +1,91 @@
1
+ const yzhAPI = require("../yzh/index.js")
2
+ const config = require("./conf/config.js")
3
+
4
+ // 发票开具
5
+
6
+ const invoice = new yzhAPI.Invoice(config)
7
+
8
+ // 查询平台企业已开具和待开具发票金额
9
+ invoice
10
+ .GetInvoiceStat({
11
+ dealer_id: config.dealer_id,
12
+ broker_id: config.broker_id,
13
+ year: 2023,
14
+ })
15
+ .then((data) => {
16
+ console.log("响应内容:", data)
17
+ })
18
+ .catch((err) => {
19
+ console.log(err.toString())
20
+ })
21
+
22
+ // 查询可开具发票额度和发票开具信息
23
+ invoice
24
+ .GetInvoiceAmount({
25
+ dealer_id: config.dealer_id,
26
+ broker_id: config.broker_id,
27
+ })
28
+ .then((data) => {
29
+ console.log("响应内容:", data)
30
+ })
31
+ .catch((err) => {
32
+ console.log(err.toString())
33
+ })
34
+
35
+ // 发票开具申请
36
+ invoice
37
+ .ApplyInvoice({
38
+ dealer_id: config.dealer_id,
39
+ broker_id: config.broker_id,
40
+ invoice_apply_id: "20230118",
41
+ amount: "1.00",
42
+ invoice_type: "2",
43
+ bank_name_account: "",
44
+ goods_services_name: "*测试分类*test测试内容",
45
+ remark: "",
46
+ })
47
+ .then((data) => {
48
+ console.log("响应内容:", data)
49
+ })
50
+ .catch((err) => {
51
+ console.log(err.toString())
52
+ })
53
+
54
+ // 查询发票开具申请状态
55
+ invoice
56
+ .GetInvoiceStatus({
57
+ invoice_apply_id: "1",
58
+ application_id: "417481",
59
+ })
60
+ .then((data) => {
61
+ console.log("响应内容:", data)
62
+ })
63
+ .catch((err) => {
64
+ console.log(err.toString())
65
+ })
66
+
67
+ // 下载 PDF 版发票
68
+ invoice
69
+ .GetInvoiceFile({
70
+ invoice_apply_id: "20230118",
71
+ application_id: "417481",
72
+ })
73
+ .then((data) => {
74
+ console.log("响应内容:", data)
75
+ })
76
+ .catch((err) => {
77
+ console.log(err.toString())
78
+ })
79
+
80
+ // 发送发票扫描件压缩包下载链接邮件
81
+ invoice
82
+ .SendReminderEmail({
83
+ invoice_apply_id: "",
84
+ application_id: "416286",
85
+ })
86
+ .then((data) => {
87
+ console.log("响应内容:", data)
88
+ })
89
+ .catch((err) => {
90
+ console.log(err.toString())
91
+ })
@@ -0,0 +1,36 @@
1
+ const yunzhanghu = require("../yzh/index.js")
2
+
3
+ // 模拟异步通知接口验签+解密
4
+
5
+ const util = new yunzhanghu.Util({
6
+ dealer_id: process.env.DEALER_ID,
7
+ broker_id: process.env.BROKER_ID,
8
+ app_key: process.env.APP_KEY,
9
+ des3_key: process.env.DES3_KEY,
10
+ private_key: process.env.PRIVATE_KEY,
11
+ yzh_public_key: process.env.YZH_PUBLIC_KEY,
12
+ sign_type: process.env.sign_type,
13
+ })
14
+
15
+ // 回调函数
16
+ Promise.resolve({
17
+ // 返回的数据
18
+ data: "xxxx",
19
+ // 返回的随机字符串
20
+ mess: "xxxx",
21
+ // 返回的时间戳
22
+ timestamp: "xxxx",
23
+ // 返回的签名
24
+ sign: "xxxx",
25
+ }).then((res) => {
26
+ // 接口返回结果
27
+ const result = util.notifyDecoder(res)
28
+ // 验签成功
29
+ if (result.result) {
30
+ console.log("解密后数据内容", result.plaintext)
31
+ // TODO:业务逻辑处理
32
+ } else {
33
+ // 验签失败
34
+ // TODO:业务逻辑处理
35
+ }
36
+ })
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "example",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC"
12
+ }
@@ -0,0 +1,186 @@
1
+ const yzhAPI = require("../yzh/index.js")
2
+ const config = require("./conf/config.js")
3
+ // 实时支付
4
+ const payment = new yzhAPI.Payment(config)
5
+
6
+ // 银行卡实时支付
7
+ payment
8
+ .CreateBankpayOrder({
9
+ order_id: "nodetest123",
10
+ dealer_id: config.dealer_id,
11
+ broker_id: config.broker_id,
12
+ real_name: "张三",
13
+ card_no: "1111111",
14
+ id_card: "11111111",
15
+ pay: "0.01",
16
+ pay_remark: "test",
17
+ notify_url: "https://xxx",
18
+ project_id: "",
19
+ })
20
+ .then((data) => {
21
+ console.log("响应内容:", data)
22
+ })
23
+ .catch((err) => {
24
+ console.log(err.toString())
25
+ })
26
+
27
+ // 支付宝实时支付
28
+ payment
29
+ .CreateAlipayOrder({
30
+ order_id: "nodetest123",
31
+ dealer_id: config.dealer_id,
32
+ broker_id: config.broker_id,
33
+ real_name: "张三",
34
+ card_no: "1111111",
35
+ id_card: "11111111",
36
+ pay: "0.01",
37
+ check_name: "Check",
38
+ pay_remark: "test",
39
+ notify_url: "https://xxx",
40
+ project_id: "",
41
+ })
42
+ .then((data) => {
43
+ console.log("响应内容:", data)
44
+ })
45
+ .catch((err) => {
46
+ console.log(err.toString())
47
+ })
48
+
49
+ // 微信实时支付
50
+ payment
51
+ .CreateWxpayOrder({
52
+ order_id: "nodetest1234",
53
+ dealer_id: config.dealer_id,
54
+ broker_id: config.broker_id,
55
+ real_name: "张三",
56
+ openid: "1111111",
57
+ id_card: "11111111",
58
+ pay: "0.3",
59
+ wx_app_id: "",
60
+ pay_remark: "test",
61
+ notify_url: "https://xxx",
62
+ project_id: "",
63
+ })
64
+ .then((data) => {
65
+ console.log("响应内容:", data)
66
+ })
67
+ .catch((err) => {
68
+ console.log(err.toString())
69
+ })
70
+
71
+ // 查询单笔订单信息
72
+ payment
73
+ .GetOrder({
74
+ order_id: "2222",
75
+ channel: "支付宝",
76
+ data_type: "",
77
+ })
78
+ .then((data) => {
79
+ console.log("响应内容:", data)
80
+ })
81
+ .catch((err) => {
82
+ console.log(err.toString())
83
+ })
84
+
85
+ // 查询平台企业余额
86
+ payment
87
+ .ListAccount({
88
+ dealer_id: config.dealer_id,
89
+ })
90
+ .then((data) => {
91
+ console.log("响应内容:", data)
92
+ })
93
+ .catch((err) => {
94
+ console.log(err.toString())
95
+ })
96
+
97
+ // 查询电子回单
98
+ payment
99
+ .GetEleReceiptFile({
100
+ order_id: "120530112204453",
101
+ ref: "",
102
+ })
103
+ .then((data) => {
104
+ console.log("响应内容:", data)
105
+ })
106
+ .catch((err) => {
107
+ console.log(err.toString())
108
+ })
109
+
110
+ // 取消待支付订单
111
+ payment
112
+ .CancelOrder({
113
+ dealer_id: config.dealer_id,
114
+ order_id: "2222",
115
+ })
116
+ .then((data) => {
117
+ console.log("响应内容:", data)
118
+ })
119
+ .catch((err) => {
120
+ console.log("@@@@@@", err.toString())
121
+ })
122
+
123
+ // 查询平台企业汇款信息
124
+ payment
125
+ .GetDealerVARechargeAccount({
126
+ dealer_id: config.dealer_id,
127
+ broker_id: config.broker_id,
128
+ })
129
+ .then((data) => {
130
+ console.log("响应内容:", data)
131
+ })
132
+ .catch((err) => {
133
+ console.log(err.toString())
134
+ })
135
+
136
+ // 批次下单
137
+ payment
138
+ .CreateBatchOrder({
139
+ batch_id: "batchtest123456",
140
+ dealer_id: config.dealer_id,
141
+ broker_id: config.broker_id,
142
+ channel: "支付宝",
143
+ total_pay: "0.02",
144
+ total_count: "2",
145
+ order_list: [
146
+ {
147
+ order_id: "2013011801111",
148
+ real_name: "张三",
149
+ card_no: "test333@163.com",
150
+ id_card: "11111",
151
+ pay: "0.01",
152
+ pay_remark: "测试订单1",
153
+ notify_url: "https://xxx",
154
+ },
155
+ {
156
+ order_id: "2013011802111",
157
+ real_name: "李四",
158
+ card_no: "test123@123.com",
159
+ id_card: "22",
160
+ pay: "0.01",
161
+ pay_remark: "测试订单2111",
162
+ notify_url: "https://xxx",
163
+ },
164
+ ],
165
+ })
166
+ .then((data) => {
167
+ console.log("响应内容:", JSON.stringify(data, null, 2))
168
+ })
169
+ .catch((err) => {
170
+ console.log(err.toString())
171
+ })
172
+
173
+ // 批次确认
174
+ payment
175
+ .ConfirmBatchOrder({
176
+ batch_id: "batchtest1234",
177
+ dealer_id: config.dealer_id,
178
+ broker_id: config.broker_id,
179
+ channel: "支付宝",
180
+ })
181
+ .then((data) => {
182
+ console.log("响应内容:", data)
183
+ })
184
+ .catch((err) => {
185
+ console.log(err.toString())
186
+ })
package/example/tax.js ADDED
@@ -0,0 +1,34 @@
1
+ const yzhAPI = require("../yzh/index.js")
2
+ const config = require("./conf/config.js")
3
+
4
+ // 个人所得税扣缴明细表
5
+ const tax = new yzhAPI.Tax(config)
6
+
7
+ // 下载个人所得税扣缴明细表
8
+ tax
9
+ .GetTaxFile({
10
+ dealer_id: config.dealer_id,
11
+ ent_id: "accumulus_tj",
12
+ year_month: "2022-10",
13
+ })
14
+ .then((data) => {
15
+ console.log("返回内容data", data)
16
+ })
17
+ .catch((err) => {
18
+ console.log(err.toString())
19
+ })
20
+
21
+ // 查询纳税人是否为跨集团用户
22
+ tax
23
+ .GetUserCross({
24
+ dealer_id: config.dealer_id,
25
+ ent_id: "accumulus_tj",
26
+ id_card: "1201101199900000",
27
+ year: "2022",
28
+ })
29
+ .then((data) => {
30
+ console.log("返回内容data", data)
31
+ })
32
+ .catch((err) => {
33
+ console.log(err.toString())
34
+ })
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@yunzhanghu/sdk-nodejs",
3
+ "version": "0.0.1-beta.1",
4
+ "description": "云账户 SDK for Node.js",
5
+ "main": "yzh/index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1",
8
+ "build": "tsc",
9
+ "prettier": "prettier --config prettier.config.js --write 'src/**/*.{ts,js}'",
10
+ "lint:tsc": "tsc -p tsconfig.json --noEmit",
11
+ "lint:es": "eslint --ext .js,ts --cache src",
12
+ "prepare": "husky install"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git@code.yunzhanghu.com:ts/sdk-nodejs.git"
17
+ },
18
+ "engines": {
19
+ "node": ">=12"
20
+ },
21
+ "author": "yunzhanghuapi",
22
+ "license": "Apache-2.0",
23
+ "devDependencies": {
24
+ "@types/crypto-js": "^4.1.1",
25
+ "@types/node": "^18.11.18",
26
+ "@types/urlencode": "^1.1.2",
27
+ "@typescript-eslint/eslint-plugin": "^5.50.0",
28
+ "@typescript-eslint/parser": "^5.50.0",
29
+ "eslint": "^8.33.0",
30
+ "husky": "^8.0.3",
31
+ "lint-staged": "^13.1.0",
32
+ "prettier": "^2.8.3",
33
+ "typescript": "^4.9.4"
34
+ },
35
+ "dependencies": {
36
+ "axios": "^1.2.1",
37
+ "crypto-js": "^4.1.1",
38
+ "tslib": "^2.4.1",
39
+ "urlencode": "^1.1.0"
40
+ },
41
+ "lint-staged": {
42
+ "*.{js,ts}": [
43
+ "eslint --fix --ext .js,ts --cache src",
44
+ "git add"
45
+ ]
46
+ }
47
+ }
@@ -0,0 +1,32 @@
1
+ // prettier.config.js
2
+ module.exports = {
3
+ // 一行最多 100 字符
4
+ printWidth: 100,
5
+ // 使用 4 个空格缩进
6
+ tabWidth: 2,
7
+ // 不使用缩进符,而使用空格
8
+ useTabs: false,
9
+ // 行尾需要有分号
10
+ semi: false,
11
+ // 使用单引号
12
+ singleQuote: false,
13
+ // 对象的 key 仅在必要时用引号
14
+ quoteProps: "as-needed",
15
+ // 末尾不需要逗号
16
+ trailingComma: "es5",
17
+ // 大括号内的首尾需要空格
18
+ bracketSpacing: true,
19
+ // 箭头函数,只有一个参数的时候,也需要括号
20
+ arrowParens: "always",
21
+ // 每个文件格式化的范围是文件的全部内容
22
+ rangeStart: 0,
23
+ rangeEnd: Infinity,
24
+ // 不需要写文件开头的 @prettier
25
+ requirePragma: false,
26
+ // 不需要自动在文件开头插入 @prettier
27
+ insertPragma: false,
28
+ // 使用默认的折行标准
29
+ proseWrap: "preserve",
30
+ // 换行符使用 lf
31
+ endOfLine: "lf",
32
+ }