af-mobile-client-vue3 1.3.15 → 1.3.17
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.
- package/.cursorrules +60 -60
- package/.editorconfig +9 -9
- package/.env +10 -10
- package/.env.development +1 -1
- package/.env.production +1 -1
- package/.node-version +1 -1
- package/.vscode/extensions.json +12 -12
- package/.vscode/settings.json +66 -66
- package/CLAUDE.md +189 -189
- package/README.md +182 -182
- package/af-example-mobile-vue-web.iml +9 -9
- package/build/vite/index.ts +98 -98
- package/build/vite/optimize.ts +34 -34
- package/build/vite/vconsole.ts +47 -47
- package/commitlint.config.ts +32 -32
- package/compress.js +36 -36
- package/eslint.config.ts +30 -30
- package/index.html +23 -23
- package/mock/data.ts +20 -20
- package/mock/index.ts +7 -7
- package/mock/modules/prose.mock.ts +13 -13
- package/mock/modules/user.mock.ts +152 -152
- package/mock/util.ts +19 -19
- package/netlify.toml +12 -12
- package/package.json +114 -114
- package/postcss.config.ts +27 -27
- package/public/favicon.svg +4 -4
- package/public/safari-pinned-tab.svg +4 -4
- package/scripts/verifyCommit.js +19 -19
- package/src/App.vue +79 -79
- package/src/api/mock/index.ts +30 -30
- package/src/api/user/index.ts +40 -40
- package/src/assets/img/user/login/background-shadow-1.svg +20 -20
- package/src/assets/img/user/login/logo-background.svg +20 -20
- package/src/bootstrap.ts +26 -26
- package/src/components/core/BeautifulLoading/index.vue +52 -52
- package/src/components/core/ImageUploader/index.vue +244 -244
- package/src/components/core/NavBar/index.vue +53 -53
- package/src/components/core/Tabbar/index.vue +32 -32
- package/src/components/core/Uploader/index.vue +124 -124
- package/src/components/core/XGridDropOption/index.vue +154 -154
- package/src/components/core/XMultiSelect/index.vue +183 -183
- package/src/components/core/XSelect/index.vue +149 -149
- package/src/components/data/{CardHeader → CardContainer}/CardContainer.vue +118 -118
- package/src/components/data/{CardHeader → CardContainer}/CardHeader.vue +99 -99
- package/src/components/data/InfoDisplay/index.vue +132 -132
- package/src/components/data/UserDetail/api.ts +24 -24
- package/src/components/data/UserDetail/index.vue +620 -620
- package/src/components/data/UserDetail/recordEntries.ts +159 -159
- package/src/components/data/UserDetail/types.ts +26 -26
- package/src/components/data/XBadge/index.vue +82 -82
- package/src/components/data/XCellDetail/index.vue +105 -105
- package/src/components/data/XCellList/XCellList.md +313 -313
- package/src/components/data/XCellList/index.vue +1110 -1075
- package/src/components/data/XCellListFilter/QrScanner/index.vue +207 -207
- package/src/components/data/XCellListFilter/QrScanner/startScanAnimation.ts +53 -53
- package/src/components/data/XCellListFilter/VpnRecognition/index.vue +119 -119
- package/src/components/data/XCellListFilter/index.vue +705 -705
- package/src/components/data/XForm/index.vue +659 -659
- package/src/components/data/XFormGroup/doc/DeviceForm.vue +122 -122
- package/src/components/data/XFormGroup/doc/FormGroupDemo.vue +56 -56
- package/src/components/data/XFormGroup/doc/README.md +286 -286
- package/src/components/data/XFormGroup/doc/UserForm.vue +102 -102
- package/src/components/data/XFormGroup/index.vue +240 -240
- package/src/components/data/XFormItem/index.vue +1310 -1310
- package/src/components/data/XOlMap/README.md +227 -227
- package/src/components/data/XOlMap/XLocationPicker/index.vue +226 -226
- package/src/components/data/XOlMap/index.vue +1490 -1490
- package/src/components/data/XOlMap/types.ts +149 -149
- package/src/components/data/XOlMap/utils/wgs84ToGcj02.js +154 -154
- package/src/components/data/XReportForm/DateTimeSecondsPicker.vue +208 -208
- package/src/components/data/XReportForm/XReportFormJsonRender.vue +220 -220
- package/src/components/data/XReportForm/index.vue +1393 -1393
- package/src/components/data/XReportGrid/XAddReport/XAddReport.vue +198 -198
- package/src/components/data/XReportGrid/XAddReport/index.js +3 -3
- package/src/components/data/XReportGrid/XAddReport/index.md +53 -53
- package/src/components/data/XReportGrid/XAddReport/index.ts +10 -10
- package/src/components/data/XReportGrid/XReport.vue +960 -960
- package/src/components/data/XReportGrid/XReportDemo.vue +33 -33
- package/src/components/data/XReportGrid/XReportDesign.vue +597 -597
- package/src/components/data/XReportGrid/XReportDrawer/XReportDrawer.vue +148 -148
- package/src/components/data/XReportGrid/XReportDrawer/index.js +3 -3
- package/src/components/data/XReportGrid/XReportDrawer/index.ts +10 -10
- package/src/components/data/XReportGrid/XReportJsonRender.vue +399 -399
- package/src/components/data/XReportGrid/XReportTrGroup.vue +592 -592
- package/src/components/data/XReportGrid/index.md +46 -46
- package/src/components/data/XReportGrid/print.js +184 -184
- package/src/components/data/XSignature/index.vue +284 -284
- package/src/components/data/XTag/index.vue +10 -10
- package/src/components/layout/NormalDataLayout/index.vue +69 -69
- package/src/components/layout/TabBarLayout/index.vue +40 -40
- package/src/composables/dark.ts +5 -5
- package/src/config/routes.ts +9 -9
- package/src/constants/index.ts +2 -2
- package/src/enums/requestEnum.ts +25 -25
- package/src/expression/ExpressionRunner.ts +28 -28
- package/src/expression/TestExpression.ts +510 -510
- package/src/expression/core/Delegate.ts +116 -116
- package/src/expression/core/Expression.ts +1359 -1359
- package/src/expression/core/Program.ts +985 -985
- package/src/expression/core/Token.ts +29 -29
- package/src/expression/enums/ExpressionType.ts +81 -81
- package/src/expression/enums/TokenType.ts +11 -11
- package/src/expression/exception/BreakWayException.ts +2 -2
- package/src/expression/exception/ContinueWayException.ts +2 -2
- package/src/expression/exception/ExpressionException.ts +29 -29
- package/src/expression/exception/ReturnWayException.ts +14 -14
- package/src/expression/exception/ServiceException.ts +22 -22
- package/src/expression/instances/JSONArray.ts +52 -52
- package/src/expression/instances/JSONObject.ts +118 -118
- package/src/expression/instances/LogicConsole.ts +31 -31
- package/src/font-style/font.css +4 -4
- package/src/hooks/useBoolean.ts +26 -26
- package/src/hooks/useCommon.ts +9 -9
- package/src/hooks/useLoading.ts +16 -16
- package/src/hooks/useLogin.ts +97 -97
- package/src/icons/svg/check-in.svg +32 -32
- package/src/icons/svg/dark.svg +4 -4
- package/src/icons/svg/github.svg +4 -4
- package/src/icons/svg/light.svg +4 -4
- package/src/icons/svg/link.svg +4 -4
- package/src/icons/svgo.yml +22 -22
- package/src/layout/GridView/index.vue +16 -16
- package/src/layout/PageLayout.vue +9 -9
- package/src/layout/SingleLayout.vue +9 -9
- package/src/locales/en-US.json +128 -128
- package/src/locales/zh-CN.json +128 -128
- package/src/logic/LogicRunner.ts +67 -67
- package/src/logic/TestLogic.ts +13 -13
- package/src/logic/plugins/common/DateTools.ts +35 -35
- package/src/logic/plugins/common/VueTools.ts +30 -30
- package/src/logic/plugins/index.ts +7 -7
- package/src/main.ts +44 -44
- package/src/plugins/AppData.ts +38 -38
- package/src/plugins/GetLoginInfoService.ts +10 -10
- package/src/plugins/collectIcons.ts +10 -10
- package/src/plugins/index.ts +11 -11
- package/src/router/README.md +8 -8
- package/src/router/guards.ts +59 -59
- package/src/router/index.ts +35 -35
- package/src/router/invoiceRoutes.ts +33 -33
- package/src/router/routes.ts +347 -341
- package/src/router/types.ts +7 -7
- package/src/services/api/Login.ts +6 -6
- package/src/services/api/common.ts +109 -109
- package/src/services/api/index.ts +7 -7
- package/src/services/api/manage.ts +8 -8
- package/src/services/api/search.ts +16 -16
- package/src/services/api/user.ts +17 -17
- package/src/services/restTools.ts +56 -56
- package/src/services/v3Api.ts +147 -147
- package/src/stores/index.ts +11 -11
- package/src/stores/modules/counter.ts +19 -19
- package/src/stores/modules/routeCache.ts +23 -23
- package/src/stores/modules/setting.ts +76 -76
- package/src/stores/modules/user.ts +235 -235
- package/src/stores/mutation-type.ts +7 -7
- package/src/styles/app.less +36 -36
- package/src/styles/login.less +109 -109
- package/src/styles/var.less +25 -16
- package/src/types/env.d.ts +16 -16
- package/src/types/settings.ts +1 -1
- package/src/types/vue-router.d.ts +9 -9
- package/src/utils/Storage.ts +124 -124
- package/src/utils/authority-utils.ts +84 -84
- package/src/utils/common.ts +41 -41
- package/src/utils/crypto.ts +39 -39
- package/src/utils/dataUtil.ts +42 -42
- package/src/utils/dictUtil.ts +52 -52
- package/src/utils/http/index.ts +199 -199
- package/src/utils/i18n.ts +72 -72
- package/src/utils/indexedDB.ts +195 -195
- package/src/utils/inline-px-to-vw.ts +28 -28
- package/src/utils/mobileUtil.ts +34 -34
- package/src/utils/progress.ts +19 -19
- package/src/utils/routerUtil.ts +271 -271
- package/src/utils/runEvalFunction.ts +13 -13
- package/src/utils/secureStorage.ts +71 -71
- package/src/utils/set-page-title.ts +5 -5
- package/src/utils/validate.ts +6 -6
- package/src/utils/wechatUtil.ts +9 -9
- package/src/views/chat/index.vue +153 -153
- package/src/views/common/LoadError.vue +63 -63
- package/src/views/common/NotFound.vue +67 -67
- package/src/views/component/EvaluateRecordView/index.vue +40 -40
- package/src/views/component/IconifyView/index.vue +504 -504
- package/src/views/component/UserDetailView/UserDetailPage.vue +77 -77
- package/src/views/component/UserDetailView/index.vue +234 -234
- package/src/views/component/XCellDetailView/index.vue +217 -217
- package/src/views/component/XCellListView/index.vue +157 -108
- package/src/views/component/XFormAppraiseView/index.vue +174 -174
- package/src/views/component/XFormGroupView/index.vue +82 -78
- package/src/views/component/XFormGroupView/xformgroup222.vue +97 -0
- package/src/views/component/XFormView/index.vue +27 -27
- package/src/views/component/XOlMapView/XLocationPicker/index.vue +118 -118
- package/src/views/component/XOlMapView/index.vue +434 -434
- package/src/views/component/XOlMapView/testData.ts +64 -64
- package/src/views/component/XReportFormIframeView/index.vue +47 -47
- package/src/views/component/XReportFormView/index.vue +13 -13
- package/src/views/component/XReportGridView/index.vue +17 -17
- package/src/views/component/XRequestView/index.vue +234 -234
- package/src/views/component/XSignatureView/index.vue +50 -50
- package/src/views/component/index.vue +181 -181
- package/src/views/component/menu.vue +117 -117
- package/src/views/component/notice.vue +46 -46
- package/src/views/component/topNav.vue +36 -36
- package/src/views/invoiceShow/index.vue +61 -61
- package/src/views/user/login/ForgetPasswordForm.vue +94 -94
- package/src/views/user/login/LoginForm.vue +346 -346
- package/src/views/user/login/LoginTitle.vue +76 -76
- package/src/views/user/login/LoginWave.vue +109 -109
- package/src/views/user/login/index.vue +22 -22
- package/src/views/user/my/comm/ModifyPassword.vue +346 -346
- package/src/views/user/my/index.vue +340 -340
- package/src/views/userRecords/AbnormalAlarmRecords.vue +21 -21
- package/src/views/userRecords/CardReplacementRecords.vue +21 -21
- package/src/views/userRecords/ChangeRecords.vue +19 -19
- package/src/views/userRecords/CommandViewRecords.vue +20 -20
- package/src/views/userRecords/GasCompensationRecords.vue +20 -20
- package/src/views/userRecords/InstrumentCollectionRecords.vue +21 -21
- package/src/views/userRecords/MeterRecords.vue +20 -20
- package/src/views/userRecords/OperateRecords.vue +51 -51
- package/src/views/userRecords/OtherChargeRecords.vue +19 -19
- package/src/views/userRecords/PaymentRecords.vue +28 -28
- package/src/views/userRecords/PriceAdjustmentRecords.vue +19 -19
- package/src/views/userRecords/ReplacementRecords.vue +19 -19
- package/src/views/userRecords/SafetyRecords.vue +19 -19
- package/src/views/userRecords/TransactionRecords.vue +21 -21
- package/src/views/userRecords/TransferRecords.vue +19 -19
- package/src/views/userRecords/operateRecordDetail/index.vue +316 -316
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AddUserDetail.vue +124 -124
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AdvanceDeliveryDetail.vue +88 -88
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsCancelDetail.vue +205 -205
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsDetail.vue +192 -192
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankDkDetail.vue +192 -192
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankPayDetail.vue +192 -192
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BlacklistDetail.vue +153 -153
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CancellationDetail.vue +101 -101
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterCancelDetail.vue +127 -127
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterDetail.vue +153 -153
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardOverUserDetail.vue +153 -153
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterCancelDetail.vue +166 -166
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterDetail.vue +205 -205
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/DisableManageDetail.vue +127 -127
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/EnableManageDetail.vue +114 -114
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FaZheChangeDetail.vue +124 -124
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FeeDeductionDetail.vue +153 -153
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/GasPriceChangeDetail.vue +126 -126
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/InputtorChangeDetail.vue +126 -126
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterCancelDetail.vue +114 -114
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterDetail.vue +127 -127
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotOpenDetail.vue +88 -88
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineCardDetail.vue +101 -101
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterCancelDetail.vue +218 -218
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterDetail.vue +153 -153
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OffGasAddGasDetail.vue +140 -140
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeCancelDetail.vue +127 -127
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeDetail.vue +114 -114
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OverUserChangeDetail.vue +127 -127
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReBillDetail.vue +127 -127
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/RefundDetail.vue +114 -114
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageCancelDetail.vue +127 -127
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageDetail.vue +114 -114
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/SaleCardGasDetail.vue +140 -140
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageCancelDetail.vue +152 -152
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageDetail.vue +178 -178
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/UserChangeDetail.vue +123 -123
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/WechatPayDetail.vue +192 -192
- package/src/views/userRecords/types.ts +66 -66
- package/tsconfig.json +39 -39
- package/uno.config.ts +82 -82
- package/vite.config.ts +118 -118
- package/.claude/settings.local.json +0 -8
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import type TokenType from '../enums/TokenType'
|
|
2
|
-
|
|
3
|
-
export default class Token {
|
|
4
|
-
private type: TokenType
|
|
5
|
-
private value: any
|
|
6
|
-
private startPos: number
|
|
7
|
-
|
|
8
|
-
constructor(type: TokenType, value: any, startPos: number) {
|
|
9
|
-
this.type = type
|
|
10
|
-
this.value = value
|
|
11
|
-
this.startPos = startPos
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public toString(): string {
|
|
15
|
-
return this.type.toString() + this.value
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
public getType(): TokenType {
|
|
19
|
-
return this.type
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
public getValue(): any {
|
|
23
|
-
return this.value
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
public getStartPos(): number {
|
|
27
|
-
return this.startPos
|
|
28
|
-
}
|
|
29
|
-
}
|
|
1
|
+
import type TokenType from '../enums/TokenType'
|
|
2
|
+
|
|
3
|
+
export default class Token {
|
|
4
|
+
private type: TokenType
|
|
5
|
+
private value: any
|
|
6
|
+
private startPos: number
|
|
7
|
+
|
|
8
|
+
constructor(type: TokenType, value: any, startPos: number) {
|
|
9
|
+
this.type = type
|
|
10
|
+
this.value = value
|
|
11
|
+
this.startPos = startPos
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
public toString(): string {
|
|
15
|
+
return this.type.toString() + this.value
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public getType(): TokenType {
|
|
19
|
+
return this.type
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public getValue(): any {
|
|
23
|
+
return this.value
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public getStartPos(): number {
|
|
27
|
+
return this.startPos
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
enum ExpressionType {
|
|
2
|
-
// >
|
|
3
|
-
GreaterThan,
|
|
4
|
-
// >=
|
|
5
|
-
GreaterThanOrEqual,
|
|
6
|
-
// <
|
|
7
|
-
LessThan,
|
|
8
|
-
// <=
|
|
9
|
-
LessThanOrEqual,
|
|
10
|
-
// = =
|
|
11
|
-
Equal,
|
|
12
|
-
// ! =
|
|
13
|
-
NotEqual,
|
|
14
|
-
// +
|
|
15
|
-
Add,
|
|
16
|
-
// -
|
|
17
|
-
Subtract,
|
|
18
|
-
//*
|
|
19
|
-
Multiply,
|
|
20
|
-
// 除法
|
|
21
|
-
Divide,
|
|
22
|
-
// 求余
|
|
23
|
-
Modulo,
|
|
24
|
-
|
|
25
|
-
// 字符串连接
|
|
26
|
-
Concat,
|
|
27
|
-
// 逻辑非
|
|
28
|
-
Not,
|
|
29
|
-
// 逻辑与
|
|
30
|
-
And,
|
|
31
|
-
// 逻辑或
|
|
32
|
-
Or,
|
|
33
|
-
|
|
34
|
-
// 常数
|
|
35
|
-
Constant,
|
|
36
|
-
// 标识符
|
|
37
|
-
Identity,
|
|
38
|
-
|
|
39
|
-
// 获取对象属性
|
|
40
|
-
Property,
|
|
41
|
-
|
|
42
|
-
// 产生Json对象
|
|
43
|
-
Json,
|
|
44
|
-
// 产生Json数组
|
|
45
|
-
Array,
|
|
46
|
-
// Json对象属性值对
|
|
47
|
-
Attr,
|
|
48
|
-
// 数组下标,[0]
|
|
49
|
-
ArrayIndex,
|
|
50
|
-
// 函数调用
|
|
51
|
-
Call,
|
|
52
|
-
// for循环
|
|
53
|
-
For,
|
|
54
|
-
// 逗号表达式
|
|
55
|
-
Comma,
|
|
56
|
-
// 赋值语句
|
|
57
|
-
Assign,
|
|
58
|
-
// 条件语句
|
|
59
|
-
Condition,
|
|
60
|
-
// 参数
|
|
61
|
-
Param,
|
|
62
|
-
// Try
|
|
63
|
-
Try,
|
|
64
|
-
// Catch
|
|
65
|
-
Catch,
|
|
66
|
-
// 跳出
|
|
67
|
-
Return,
|
|
68
|
-
// 抛出异常
|
|
69
|
-
Throw,
|
|
70
|
-
// 校验
|
|
71
|
-
Validate,
|
|
72
|
-
// 断言
|
|
73
|
-
Assert,
|
|
74
|
-
// 循环终止
|
|
75
|
-
Break,
|
|
76
|
-
// 循环跳过
|
|
77
|
-
Continue,
|
|
78
|
-
// lambda
|
|
79
|
-
Lambda,
|
|
80
|
-
}
|
|
81
|
-
export default ExpressionType
|
|
1
|
+
enum ExpressionType {
|
|
2
|
+
// >
|
|
3
|
+
GreaterThan,
|
|
4
|
+
// >=
|
|
5
|
+
GreaterThanOrEqual,
|
|
6
|
+
// <
|
|
7
|
+
LessThan,
|
|
8
|
+
// <=
|
|
9
|
+
LessThanOrEqual,
|
|
10
|
+
// = =
|
|
11
|
+
Equal,
|
|
12
|
+
// ! =
|
|
13
|
+
NotEqual,
|
|
14
|
+
// +
|
|
15
|
+
Add,
|
|
16
|
+
// -
|
|
17
|
+
Subtract,
|
|
18
|
+
//*
|
|
19
|
+
Multiply,
|
|
20
|
+
// 除法
|
|
21
|
+
Divide,
|
|
22
|
+
// 求余
|
|
23
|
+
Modulo,
|
|
24
|
+
|
|
25
|
+
// 字符串连接
|
|
26
|
+
Concat,
|
|
27
|
+
// 逻辑非
|
|
28
|
+
Not,
|
|
29
|
+
// 逻辑与
|
|
30
|
+
And,
|
|
31
|
+
// 逻辑或
|
|
32
|
+
Or,
|
|
33
|
+
|
|
34
|
+
// 常数
|
|
35
|
+
Constant,
|
|
36
|
+
// 标识符
|
|
37
|
+
Identity,
|
|
38
|
+
|
|
39
|
+
// 获取对象属性
|
|
40
|
+
Property,
|
|
41
|
+
|
|
42
|
+
// 产生Json对象
|
|
43
|
+
Json,
|
|
44
|
+
// 产生Json数组
|
|
45
|
+
Array,
|
|
46
|
+
// Json对象属性值对
|
|
47
|
+
Attr,
|
|
48
|
+
// 数组下标,[0]
|
|
49
|
+
ArrayIndex,
|
|
50
|
+
// 函数调用
|
|
51
|
+
Call,
|
|
52
|
+
// for循环
|
|
53
|
+
For,
|
|
54
|
+
// 逗号表达式
|
|
55
|
+
Comma,
|
|
56
|
+
// 赋值语句
|
|
57
|
+
Assign,
|
|
58
|
+
// 条件语句
|
|
59
|
+
Condition,
|
|
60
|
+
// 参数
|
|
61
|
+
Param,
|
|
62
|
+
// Try
|
|
63
|
+
Try,
|
|
64
|
+
// Catch
|
|
65
|
+
Catch,
|
|
66
|
+
// 跳出
|
|
67
|
+
Return,
|
|
68
|
+
// 抛出异常
|
|
69
|
+
Throw,
|
|
70
|
+
// 校验
|
|
71
|
+
Validate,
|
|
72
|
+
// 断言
|
|
73
|
+
Assert,
|
|
74
|
+
// 循环终止
|
|
75
|
+
Break,
|
|
76
|
+
// 循环跳过
|
|
77
|
+
Continue,
|
|
78
|
+
// lambda
|
|
79
|
+
Lambda,
|
|
80
|
+
}
|
|
81
|
+
export default ExpressionType
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
enum TokenType {
|
|
2
|
-
Int = 'Int',
|
|
3
|
-
Double = 'Double',
|
|
4
|
-
Bool = 'Bool',
|
|
5
|
-
String = 'String',
|
|
6
|
-
Identy = 'Identity',
|
|
7
|
-
Oper = 'Oper',
|
|
8
|
-
End = 'End',
|
|
9
|
-
Null = 'Null',
|
|
10
|
-
}
|
|
11
|
-
export default TokenType
|
|
1
|
+
enum TokenType {
|
|
2
|
+
Int = 'Int',
|
|
3
|
+
Double = 'Double',
|
|
4
|
+
Bool = 'Bool',
|
|
5
|
+
String = 'String',
|
|
6
|
+
Identy = 'Identity',
|
|
7
|
+
Oper = 'Oper',
|
|
8
|
+
End = 'End',
|
|
9
|
+
Null = 'Null',
|
|
10
|
+
}
|
|
11
|
+
export default TokenType
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export default class BreakWayException extends Error {
|
|
2
|
-
}
|
|
1
|
+
export default class BreakWayException extends Error {
|
|
2
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export default class ContinueWayException extends Error {
|
|
2
|
-
}
|
|
1
|
+
export default class ContinueWayException extends Error {
|
|
2
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 表达式执行异常,将显示执行异常的位置信息
|
|
3
|
-
*/
|
|
4
|
-
export default class ExpressionException extends Error {
|
|
5
|
-
constructor(source: string, pos: number, cause: Error) {
|
|
6
|
-
let message: string
|
|
7
|
-
let beforeErrorContent: string = source.substring(0, pos).trim()
|
|
8
|
-
const length: number = beforeErrorContent.length
|
|
9
|
-
if (length > 1000) {
|
|
10
|
-
beforeErrorContent = `以上省略......\n${beforeErrorContent.substring(length - 1000)}`
|
|
11
|
-
}
|
|
12
|
-
const afterErrorContent: string = source.substring(pos)
|
|
13
|
-
const afterErrorContentIndex: number = afterErrorContent.indexOf('\n')
|
|
14
|
-
if (afterErrorContentIndex === -1) {
|
|
15
|
-
message = `${beforeErrorContent.trim()} <- ${afterErrorContent}`
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
message = `${beforeErrorContent.trim()} <- ${afterErrorContent.substring(0, afterErrorContentIndex)}\n后续省略......`
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// 通过原生 Error 的 cause 参数传递原因
|
|
22
|
-
super(message, { cause })
|
|
23
|
-
this.name = this.constructor.name
|
|
24
|
-
|
|
25
|
-
if (Error.captureStackTrace) {
|
|
26
|
-
Error.captureStackTrace(this, this.constructor)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* 表达式执行异常,将显示执行异常的位置信息
|
|
3
|
+
*/
|
|
4
|
+
export default class ExpressionException extends Error {
|
|
5
|
+
constructor(source: string, pos: number, cause: Error) {
|
|
6
|
+
let message: string
|
|
7
|
+
let beforeErrorContent: string = source.substring(0, pos).trim()
|
|
8
|
+
const length: number = beforeErrorContent.length
|
|
9
|
+
if (length > 1000) {
|
|
10
|
+
beforeErrorContent = `以上省略......\n${beforeErrorContent.substring(length - 1000)}`
|
|
11
|
+
}
|
|
12
|
+
const afterErrorContent: string = source.substring(pos)
|
|
13
|
+
const afterErrorContentIndex: number = afterErrorContent.indexOf('\n')
|
|
14
|
+
if (afterErrorContentIndex === -1) {
|
|
15
|
+
message = `${beforeErrorContent.trim()} <- ${afterErrorContent}`
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
message = `${beforeErrorContent.trim()} <- ${afterErrorContent.substring(0, afterErrorContentIndex)}\n后续省略......`
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// 通过原生 Error 的 cause 参数传递原因
|
|
22
|
+
super(message, { cause })
|
|
23
|
+
this.name = this.constructor.name
|
|
24
|
+
|
|
25
|
+
if (Error.captureStackTrace) {
|
|
26
|
+
Error.captureStackTrace(this, this.constructor)
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Return 方法
|
|
3
|
-
*/
|
|
4
|
-
export default class ReturnWayException extends Error {
|
|
5
|
-
private readonly returnObject: any
|
|
6
|
-
constructor(returnValue: any) {
|
|
7
|
-
super()
|
|
8
|
-
this.returnObject = returnValue
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
public getReturnObject(): any {
|
|
12
|
-
return this.returnObject
|
|
13
|
-
}
|
|
14
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Return 方法
|
|
3
|
+
*/
|
|
4
|
+
export default class ReturnWayException extends Error {
|
|
5
|
+
private readonly returnObject: any
|
|
6
|
+
constructor(returnValue: any) {
|
|
7
|
+
super()
|
|
8
|
+
this.returnObject = returnValue
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
public getReturnObject(): any {
|
|
12
|
+
return this.returnObject
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export default class ServiceException extends Error {
|
|
2
|
-
message: string
|
|
3
|
-
code: number | undefined
|
|
4
|
-
constructor(message: string, code?: number) {
|
|
5
|
-
super()
|
|
6
|
-
this.message = message
|
|
7
|
-
this.code = code
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
public getMessage(): string {
|
|
11
|
-
return this.message
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public setMessage(message: string): ServiceException {
|
|
15
|
-
this.message = message
|
|
16
|
-
return this
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
public getCode(): number | undefined {
|
|
20
|
-
return this.code
|
|
21
|
-
}
|
|
22
|
-
}
|
|
1
|
+
export default class ServiceException extends Error {
|
|
2
|
+
message: string
|
|
3
|
+
code: number | undefined
|
|
4
|
+
constructor(message: string, code?: number) {
|
|
5
|
+
super()
|
|
6
|
+
this.message = message
|
|
7
|
+
this.code = code
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
public getMessage(): string {
|
|
11
|
+
return this.message
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
public setMessage(message: string): ServiceException {
|
|
15
|
+
this.message = message
|
|
16
|
+
return this
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public getCode(): number | undefined {
|
|
20
|
+
return this.code
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import JSONObject from '../instances/JSONObject'
|
|
2
|
-
|
|
3
|
-
export default class JSONArray {
|
|
4
|
-
innerList: Array<any>
|
|
5
|
-
|
|
6
|
-
constructor(value?: any) {
|
|
7
|
-
if (value && typeof value === 'string') {
|
|
8
|
-
this.innerList = JSON.parse(value).map((item: any) => this.wrapValue(item))
|
|
9
|
-
}
|
|
10
|
-
else if (value && Array.isArray(value)) {
|
|
11
|
-
this.innerList = value.map((item: any) => this.wrapValue(item))
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
this.innerList = new Array<any>()
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
private wrapValue(value: any): any {
|
|
19
|
-
if (Array.isArray(value)) {
|
|
20
|
-
return new JSONArray(value)
|
|
21
|
-
}
|
|
22
|
-
else if (value && JSONObject.isPlainObject(value)) {
|
|
23
|
-
return new JSONObject(value)
|
|
24
|
-
}
|
|
25
|
-
return value
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public length(): number {
|
|
29
|
-
return this.innerList.length
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
public put(item: any) {
|
|
33
|
-
this.innerList.push(this.wrapValue(item))
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
public get(index: number): any {
|
|
37
|
-
return this.innerList[index]
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
public toString(): string {
|
|
41
|
-
const replacer = (key: string, value: any): any => {
|
|
42
|
-
if (value instanceof JSONObject) {
|
|
43
|
-
return value.innerMap
|
|
44
|
-
}
|
|
45
|
-
else if (value instanceof JSONArray) {
|
|
46
|
-
return value.innerList
|
|
47
|
-
}
|
|
48
|
-
return value
|
|
49
|
-
}
|
|
50
|
-
return JSON.stringify(this.innerList, replacer)
|
|
51
|
-
}
|
|
52
|
-
}
|
|
1
|
+
import JSONObject from '../instances/JSONObject'
|
|
2
|
+
|
|
3
|
+
export default class JSONArray {
|
|
4
|
+
innerList: Array<any>
|
|
5
|
+
|
|
6
|
+
constructor(value?: any) {
|
|
7
|
+
if (value && typeof value === 'string') {
|
|
8
|
+
this.innerList = JSON.parse(value).map((item: any) => this.wrapValue(item))
|
|
9
|
+
}
|
|
10
|
+
else if (value && Array.isArray(value)) {
|
|
11
|
+
this.innerList = value.map((item: any) => this.wrapValue(item))
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
this.innerList = new Array<any>()
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
private wrapValue(value: any): any {
|
|
19
|
+
if (Array.isArray(value)) {
|
|
20
|
+
return new JSONArray(value)
|
|
21
|
+
}
|
|
22
|
+
else if (value && JSONObject.isPlainObject(value)) {
|
|
23
|
+
return new JSONObject(value)
|
|
24
|
+
}
|
|
25
|
+
return value
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public length(): number {
|
|
29
|
+
return this.innerList.length
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
public put(item: any) {
|
|
33
|
+
this.innerList.push(this.wrapValue(item))
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public get(index: number): any {
|
|
37
|
+
return this.innerList[index]
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public toString(): string {
|
|
41
|
+
const replacer = (key: string, value: any): any => {
|
|
42
|
+
if (value instanceof JSONObject) {
|
|
43
|
+
return value.innerMap
|
|
44
|
+
}
|
|
45
|
+
else if (value instanceof JSONArray) {
|
|
46
|
+
return value.innerList
|
|
47
|
+
}
|
|
48
|
+
return value
|
|
49
|
+
}
|
|
50
|
+
return JSON.stringify(this.innerList, replacer)
|
|
51
|
+
}
|
|
52
|
+
}
|