af-mobile-client-vue3 1.3.36 → 1.3.38
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 +68 -68
- package/CLAUDE.md +218 -218
- 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 +31 -31
- 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 +95 -95
- 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/auth/index.ts +77 -77
- package/src/api/auth/types.ts +200 -200
- 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 +251 -251
- 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/CardContainer/CardContainer.vue +118 -118
- package/src/components/data/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 +432 -432
- package/src/components/data/XCellList/index.vue +1436 -1436
- 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 +1311 -1311
- 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.ts +171 -171
- 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/external-routes.ts +60 -60
- package/src/router/guards.ts +131 -131
- package/src/router/index.ts +35 -35
- package/src/router/invoiceRoutes.ts +33 -33
- package/src/router/routes.ts +421 -421
- 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 +13 -13
- package/src/stores/modules/counter.ts +19 -19
- package/src/stores/modules/homeApp.ts +55 -55
- package/src/stores/modules/routeCache.ts +22 -22
- package/src/stores/modules/setting.ts +87 -87
- package/src/stores/modules/user.ts +326 -326
- package/src/stores/mutation-type.ts +12 -12
- package/src/styles/app.less +36 -36
- package/src/styles/login.less +109 -109
- package/src/styles/var.less +25 -25
- package/src/types/auth.ts +89 -89
- package/src/types/env.d.ts +16 -16
- package/src/types/platform.ts +194 -194
- package/src/types/settings.ts +1 -1
- package/src/types/vue-router.d.ts +13 -13
- 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 +201 -201
- 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 +38 -33
- package/src/utils/platform-auth.ts +135 -135
- package/src/utils/progress.ts +19 -19
- package/src/utils/queryFormDefaultRangePicker.ts +57 -57
- package/src/utils/routerUtil.ts +271 -271
- package/src/utils/runEvalFunction.ts +13 -13
- package/src/utils/secureStorage.ts +70 -70
- package/src/utils/set-page-title.ts +5 -5
- package/src/utils/validate.ts +6 -6
- package/src/views/chat/index.vue +153 -153
- package/src/views/common/Forbidden.vue +97 -97
- 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 +108 -108
- package/src/views/component/XFormAppraiseView/index.vue +174 -174
- package/src/views/component/XFormGroupView/index.vue +78 -78
- package/src/views/component/XFormView/index.vue +27 -27
- 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/external/index.vue +152 -152
- package/src/views/invoiceShow/index.vue +61 -61
- package/src/views/loading/AuthLoading.vue +345 -345
- package/src/views/user/login/ForgetPasswordForm.vue +94 -94
- package/src/views/user/login/LoginForm.vue +350 -350
- 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 +507 -507
- package/src/views/user/register/index.vue +952 -952
- 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 +114 -114
- package/.claude/settings.local.json +0 -14
package/src/api/auth/types.ts
CHANGED
|
@@ -1,200 +1,200 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 认证API相关类型定义
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import type { UserType } from '@af-mobile-client-vue3/types/auth'
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* 基础响应接口
|
|
9
|
-
*/
|
|
10
|
-
export interface ApiResponse<T = any> {
|
|
11
|
-
code: number
|
|
12
|
-
msg: string
|
|
13
|
-
data: T
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* 登录响应数据
|
|
18
|
-
*/
|
|
19
|
-
export interface LoginResponseData {
|
|
20
|
-
/** 访问令牌 */
|
|
21
|
-
access_token: string
|
|
22
|
-
/** 过期时间(分钟) */
|
|
23
|
-
expires_in: number
|
|
24
|
-
/** 会话密钥 */
|
|
25
|
-
session?: string
|
|
26
|
-
/** 资源权限 */
|
|
27
|
-
resources?: any
|
|
28
|
-
/** 用户信息 */
|
|
29
|
-
userInfo?: {
|
|
30
|
-
id: string | number
|
|
31
|
-
username: string
|
|
32
|
-
name: string
|
|
33
|
-
avatar?: string
|
|
34
|
-
userType?: UserType
|
|
35
|
-
openid?: string
|
|
36
|
-
platformType?: string
|
|
37
|
-
[key: string]: any
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* 微信公众号登录请求
|
|
43
|
-
*/
|
|
44
|
-
export interface WechatOfficialLoginParams {
|
|
45
|
-
/** 平台类型 */
|
|
46
|
-
platformType: 'WECHAT_OFFICIAL'
|
|
47
|
-
/** 微信授权码 */
|
|
48
|
-
platformUserId: string
|
|
49
|
-
/** 租户名称 */
|
|
50
|
-
tenantName: string
|
|
51
|
-
/** 资源名称,默认为system */
|
|
52
|
-
resourceName?: string
|
|
53
|
-
/** 是否移动端,默认为true */
|
|
54
|
-
isMobile?: boolean
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* 微信小程序登录请求
|
|
59
|
-
*/
|
|
60
|
-
export interface WechatMiniLoginParams {
|
|
61
|
-
/** 平台类型 */
|
|
62
|
-
platformType: 'WECHAT_MINI'
|
|
63
|
-
/** 微信授权码 */
|
|
64
|
-
platformUserId: string
|
|
65
|
-
/** 租户名称 */
|
|
66
|
-
tenantName: string
|
|
67
|
-
/** 资源名称,默认为system */
|
|
68
|
-
resourceName?: string
|
|
69
|
-
/** 是否移动端,默认为true */
|
|
70
|
-
isMobile?: boolean
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* 第三方应用登录请求
|
|
75
|
-
*/
|
|
76
|
-
export interface ThirdPartyAppLoginParams {
|
|
77
|
-
/** 平台类型 */
|
|
78
|
-
platformType: 'THIRD_PARTY_APP'
|
|
79
|
-
/** 第三方授权码 */
|
|
80
|
-
platformUserId: string
|
|
81
|
-
/** 租户名称 */
|
|
82
|
-
tenantName: string
|
|
83
|
-
/** 资源名称,默认为system */
|
|
84
|
-
resourceName?: string
|
|
85
|
-
/** 是否移动端,默认为false */
|
|
86
|
-
isMobile?: boolean
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* 外部用户登录参数联合类型
|
|
91
|
-
*/
|
|
92
|
-
export type ExternalLoginParams
|
|
93
|
-
= | WechatOfficialLoginParams
|
|
94
|
-
| WechatMiniLoginParams
|
|
95
|
-
| ThirdPartyAppLoginParams
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* 传统用户名密码登录请求
|
|
99
|
-
*/
|
|
100
|
-
export interface UsernamePasswordLoginParams {
|
|
101
|
-
/** 用户名 */
|
|
102
|
-
username: string
|
|
103
|
-
/** 密码 */
|
|
104
|
-
password: string
|
|
105
|
-
/** 资源名称 */
|
|
106
|
-
resourceName: string
|
|
107
|
-
/** 是否移动端 */
|
|
108
|
-
isMobile?: boolean
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* 统一认证登录请求
|
|
113
|
-
*/
|
|
114
|
-
export interface UnifiedLoginParams {
|
|
115
|
-
/** 统一认证码 */
|
|
116
|
-
unifiedCode: string
|
|
117
|
-
/** 租户名称 */
|
|
118
|
-
tenantName: string
|
|
119
|
-
/** 登录模式 */
|
|
120
|
-
loginMode: string
|
|
121
|
-
/** 资源名称 */
|
|
122
|
-
resourceName: string
|
|
123
|
-
/** 是否移动端 */
|
|
124
|
-
isMobile?: boolean
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* 所有登录参数的联合类型
|
|
129
|
-
*/
|
|
130
|
-
export type LoginParams
|
|
131
|
-
= | UsernamePasswordLoginParams
|
|
132
|
-
| UnifiedLoginParams
|
|
133
|
-
| ExternalLoginParams
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* 微信授权回调参数
|
|
137
|
-
*/
|
|
138
|
-
export interface WechatCallbackParams {
|
|
139
|
-
/** 授权码 */
|
|
140
|
-
code?: string
|
|
141
|
-
/** 状态参数,通常包含租户名称 */
|
|
142
|
-
state?: string
|
|
143
|
-
/** 租户名称 */
|
|
144
|
-
tenantName?: string
|
|
145
|
-
/** 错误信息 */
|
|
146
|
-
error?: string
|
|
147
|
-
/** 错误描述 */
|
|
148
|
-
error_description?: string
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Token刷新请求
|
|
153
|
-
*/
|
|
154
|
-
export interface RefreshTokenParams {
|
|
155
|
-
/** 刷新令牌 */
|
|
156
|
-
refresh_token?: string
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* 登出请求(通常不需要参数)
|
|
161
|
-
*/
|
|
162
|
-
export interface LogoutParams {
|
|
163
|
-
// 预留
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* 用户信息获取响应
|
|
168
|
-
*/
|
|
169
|
-
export interface UserInfoResponse {
|
|
170
|
-
/** 用户ID */
|
|
171
|
-
id: string | number
|
|
172
|
-
/** 用户名 */
|
|
173
|
-
username: string
|
|
174
|
-
/** 显示名称 */
|
|
175
|
-
name: string
|
|
176
|
-
/** 头像URL */
|
|
177
|
-
avatar?: string
|
|
178
|
-
/** 用户类型 */
|
|
179
|
-
userType?: UserType
|
|
180
|
-
/** 权限列表 */
|
|
181
|
-
permissions?: string[]
|
|
182
|
-
/** 角色列表 */
|
|
183
|
-
roles?: Array<{ id: string, operation: string[] }>
|
|
184
|
-
/** 部门信息 */
|
|
185
|
-
department?: {
|
|
186
|
-
id: string
|
|
187
|
-
name: string
|
|
188
|
-
}
|
|
189
|
-
/** 组织信息 */
|
|
190
|
-
organization?: {
|
|
191
|
-
id: string
|
|
192
|
-
name: string
|
|
193
|
-
}
|
|
194
|
-
/** 外部用户特有字段 */
|
|
195
|
-
openid?: string
|
|
196
|
-
/** 平台类型 */
|
|
197
|
-
platformType?: string
|
|
198
|
-
/** 来源渠道 */
|
|
199
|
-
sourceChannel?: string
|
|
200
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* 认证API相关类型定义
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { UserType } from '@af-mobile-client-vue3/types/auth'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 基础响应接口
|
|
9
|
+
*/
|
|
10
|
+
export interface ApiResponse<T = any> {
|
|
11
|
+
code: number
|
|
12
|
+
msg: string
|
|
13
|
+
data: T
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 登录响应数据
|
|
18
|
+
*/
|
|
19
|
+
export interface LoginResponseData {
|
|
20
|
+
/** 访问令牌 */
|
|
21
|
+
access_token: string
|
|
22
|
+
/** 过期时间(分钟) */
|
|
23
|
+
expires_in: number
|
|
24
|
+
/** 会话密钥 */
|
|
25
|
+
session?: string
|
|
26
|
+
/** 资源权限 */
|
|
27
|
+
resources?: any
|
|
28
|
+
/** 用户信息 */
|
|
29
|
+
userInfo?: {
|
|
30
|
+
id: string | number
|
|
31
|
+
username: string
|
|
32
|
+
name: string
|
|
33
|
+
avatar?: string
|
|
34
|
+
userType?: UserType
|
|
35
|
+
openid?: string
|
|
36
|
+
platformType?: string
|
|
37
|
+
[key: string]: any
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* 微信公众号登录请求
|
|
43
|
+
*/
|
|
44
|
+
export interface WechatOfficialLoginParams {
|
|
45
|
+
/** 平台类型 */
|
|
46
|
+
platformType: 'WECHAT_OFFICIAL'
|
|
47
|
+
/** 微信授权码 */
|
|
48
|
+
platformUserId: string
|
|
49
|
+
/** 租户名称 */
|
|
50
|
+
tenantName: string
|
|
51
|
+
/** 资源名称,默认为system */
|
|
52
|
+
resourceName?: string
|
|
53
|
+
/** 是否移动端,默认为true */
|
|
54
|
+
isMobile?: boolean
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* 微信小程序登录请求
|
|
59
|
+
*/
|
|
60
|
+
export interface WechatMiniLoginParams {
|
|
61
|
+
/** 平台类型 */
|
|
62
|
+
platformType: 'WECHAT_MINI'
|
|
63
|
+
/** 微信授权码 */
|
|
64
|
+
platformUserId: string
|
|
65
|
+
/** 租户名称 */
|
|
66
|
+
tenantName: string
|
|
67
|
+
/** 资源名称,默认为system */
|
|
68
|
+
resourceName?: string
|
|
69
|
+
/** 是否移动端,默认为true */
|
|
70
|
+
isMobile?: boolean
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* 第三方应用登录请求
|
|
75
|
+
*/
|
|
76
|
+
export interface ThirdPartyAppLoginParams {
|
|
77
|
+
/** 平台类型 */
|
|
78
|
+
platformType: 'THIRD_PARTY_APP'
|
|
79
|
+
/** 第三方授权码 */
|
|
80
|
+
platformUserId: string
|
|
81
|
+
/** 租户名称 */
|
|
82
|
+
tenantName: string
|
|
83
|
+
/** 资源名称,默认为system */
|
|
84
|
+
resourceName?: string
|
|
85
|
+
/** 是否移动端,默认为false */
|
|
86
|
+
isMobile?: boolean
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* 外部用户登录参数联合类型
|
|
91
|
+
*/
|
|
92
|
+
export type ExternalLoginParams
|
|
93
|
+
= | WechatOfficialLoginParams
|
|
94
|
+
| WechatMiniLoginParams
|
|
95
|
+
| ThirdPartyAppLoginParams
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* 传统用户名密码登录请求
|
|
99
|
+
*/
|
|
100
|
+
export interface UsernamePasswordLoginParams {
|
|
101
|
+
/** 用户名 */
|
|
102
|
+
username: string
|
|
103
|
+
/** 密码 */
|
|
104
|
+
password: string
|
|
105
|
+
/** 资源名称 */
|
|
106
|
+
resourceName: string
|
|
107
|
+
/** 是否移动端 */
|
|
108
|
+
isMobile?: boolean
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* 统一认证登录请求
|
|
113
|
+
*/
|
|
114
|
+
export interface UnifiedLoginParams {
|
|
115
|
+
/** 统一认证码 */
|
|
116
|
+
unifiedCode: string
|
|
117
|
+
/** 租户名称 */
|
|
118
|
+
tenantName: string
|
|
119
|
+
/** 登录模式 */
|
|
120
|
+
loginMode: string
|
|
121
|
+
/** 资源名称 */
|
|
122
|
+
resourceName: string
|
|
123
|
+
/** 是否移动端 */
|
|
124
|
+
isMobile?: boolean
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* 所有登录参数的联合类型
|
|
129
|
+
*/
|
|
130
|
+
export type LoginParams
|
|
131
|
+
= | UsernamePasswordLoginParams
|
|
132
|
+
| UnifiedLoginParams
|
|
133
|
+
| ExternalLoginParams
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* 微信授权回调参数
|
|
137
|
+
*/
|
|
138
|
+
export interface WechatCallbackParams {
|
|
139
|
+
/** 授权码 */
|
|
140
|
+
code?: string
|
|
141
|
+
/** 状态参数,通常包含租户名称 */
|
|
142
|
+
state?: string
|
|
143
|
+
/** 租户名称 */
|
|
144
|
+
tenantName?: string
|
|
145
|
+
/** 错误信息 */
|
|
146
|
+
error?: string
|
|
147
|
+
/** 错误描述 */
|
|
148
|
+
error_description?: string
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Token刷新请求
|
|
153
|
+
*/
|
|
154
|
+
export interface RefreshTokenParams {
|
|
155
|
+
/** 刷新令牌 */
|
|
156
|
+
refresh_token?: string
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* 登出请求(通常不需要参数)
|
|
161
|
+
*/
|
|
162
|
+
export interface LogoutParams {
|
|
163
|
+
// 预留
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* 用户信息获取响应
|
|
168
|
+
*/
|
|
169
|
+
export interface UserInfoResponse {
|
|
170
|
+
/** 用户ID */
|
|
171
|
+
id: string | number
|
|
172
|
+
/** 用户名 */
|
|
173
|
+
username: string
|
|
174
|
+
/** 显示名称 */
|
|
175
|
+
name: string
|
|
176
|
+
/** 头像URL */
|
|
177
|
+
avatar?: string
|
|
178
|
+
/** 用户类型 */
|
|
179
|
+
userType?: UserType
|
|
180
|
+
/** 权限列表 */
|
|
181
|
+
permissions?: string[]
|
|
182
|
+
/** 角色列表 */
|
|
183
|
+
roles?: Array<{ id: string, operation: string[] }>
|
|
184
|
+
/** 部门信息 */
|
|
185
|
+
department?: {
|
|
186
|
+
id: string
|
|
187
|
+
name: string
|
|
188
|
+
}
|
|
189
|
+
/** 组织信息 */
|
|
190
|
+
organization?: {
|
|
191
|
+
id: string
|
|
192
|
+
name: string
|
|
193
|
+
}
|
|
194
|
+
/** 外部用户特有字段 */
|
|
195
|
+
openid?: string
|
|
196
|
+
/** 平台类型 */
|
|
197
|
+
platformType?: string
|
|
198
|
+
/** 来源渠道 */
|
|
199
|
+
sourceChannel?: string
|
|
200
|
+
}
|
package/src/api/mock/index.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { http } from '@af-mobile-client-vue3/utils/http'
|
|
2
|
-
|
|
3
|
-
interface ListResult {
|
|
4
|
-
code: number
|
|
5
|
-
message: string
|
|
6
|
-
list: Array<any>
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function getListApi(params?: object): Promise<ListResult> {
|
|
10
|
-
return http.request({
|
|
11
|
-
url: '/list/get',
|
|
12
|
-
method: 'get',
|
|
13
|
-
params,
|
|
14
|
-
})
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function getListApiError(data?: object): Promise<ListResult> {
|
|
18
|
-
return http.request({
|
|
19
|
-
url: '/list/error',
|
|
20
|
-
method: 'post',
|
|
21
|
-
data,
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export async function queryProse(): Promise<any> {
|
|
26
|
-
return http.request({
|
|
27
|
-
url: '/project/prose',
|
|
28
|
-
method: 'post',
|
|
29
|
-
})
|
|
30
|
-
}
|
|
1
|
+
import { http } from '@af-mobile-client-vue3/utils/http'
|
|
2
|
+
|
|
3
|
+
interface ListResult {
|
|
4
|
+
code: number
|
|
5
|
+
message: string
|
|
6
|
+
list: Array<any>
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function getListApi(params?: object): Promise<ListResult> {
|
|
10
|
+
return http.request({
|
|
11
|
+
url: '/list/get',
|
|
12
|
+
method: 'get',
|
|
13
|
+
params,
|
|
14
|
+
})
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function getListApiError(data?: object): Promise<ListResult> {
|
|
18
|
+
return http.request({
|
|
19
|
+
url: '/list/error',
|
|
20
|
+
method: 'post',
|
|
21
|
+
data,
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export async function queryProse(): Promise<any> {
|
|
26
|
+
return http.request({
|
|
27
|
+
url: '/project/prose',
|
|
28
|
+
method: 'post',
|
|
29
|
+
})
|
|
30
|
+
}
|
package/src/api/user/index.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { loginApi } from '@af-mobile-client-vue3/services/api/Login'
|
|
2
|
-
|
|
3
|
-
import { get, post } from '@af-mobile-client-vue3/services/restTools'
|
|
4
|
-
import { http } from '@af-mobile-client-vue3/utils/http'
|
|
5
|
-
|
|
6
|
-
export interface BasicResponseModel<T = any> {
|
|
7
|
-
code: number
|
|
8
|
-
msg: string
|
|
9
|
-
data: T
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export function login(data: any) {
|
|
13
|
-
return post(
|
|
14
|
-
loginApi.Login,
|
|
15
|
-
data,
|
|
16
|
-
)
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function OALogin(data: any) {
|
|
20
|
-
return get(`/af-system/user/${data.username}/${data.password}/智慧OA`)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @description: 获取用户信息
|
|
25
|
-
*/
|
|
26
|
-
export function getUserInfo() {
|
|
27
|
-
return get(
|
|
28
|
-
'/getUserInfo',
|
|
29
|
-
)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* @description: 用户登出
|
|
34
|
-
*/
|
|
35
|
-
export function doLogout() {
|
|
36
|
-
return http.request({
|
|
37
|
-
url: loginApi.Logout,
|
|
38
|
-
method: 'DELETE',
|
|
39
|
-
})
|
|
40
|
-
}
|
|
1
|
+
import { loginApi } from '@af-mobile-client-vue3/services/api/Login'
|
|
2
|
+
|
|
3
|
+
import { get, post } from '@af-mobile-client-vue3/services/restTools'
|
|
4
|
+
import { http } from '@af-mobile-client-vue3/utils/http'
|
|
5
|
+
|
|
6
|
+
export interface BasicResponseModel<T = any> {
|
|
7
|
+
code: number
|
|
8
|
+
msg: string
|
|
9
|
+
data: T
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function login(data: any) {
|
|
13
|
+
return post(
|
|
14
|
+
loginApi.Login,
|
|
15
|
+
data,
|
|
16
|
+
)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function OALogin(data: any) {
|
|
20
|
+
return get(`/af-system/user/${data.username}/${data.password}/智慧OA`)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @description: 获取用户信息
|
|
25
|
+
*/
|
|
26
|
+
export function getUserInfo() {
|
|
27
|
+
return get(
|
|
28
|
+
'/getUserInfo',
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @description: 用户登出
|
|
34
|
+
*/
|
|
35
|
+
export function doLogout() {
|
|
36
|
+
return http.request({
|
|
37
|
+
url: loginApi.Logout,
|
|
38
|
+
method: 'DELETE',
|
|
39
|
+
})
|
|
40
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
<svg width="444.233154" height="203.122437" viewBox="0 0 444.233 203.122" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
-
<desc>
|
|
3
|
-
Created with Pixso.
|
|
4
|
-
</desc>
|
|
5
|
-
<defs>
|
|
6
|
-
<filter id="filter_37_876_dd" x="0.529297" y="0.516296" width="443.178467" height="202.089844" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
7
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
8
|
-
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
9
|
-
<feOffset dx="0" dy="-28"/>
|
|
10
|
-
<feGaussianBlur stdDeviation="11.3333"/>
|
|
11
|
-
<feComposite in2="hardAlpha" operator="out" k2="-1" k3="1"/>
|
|
12
|
-
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.039 0"/>
|
|
13
|
-
<feBlend mode="normal" in2="BackgroundImageFix" result="effect_dropShadow_1"/>
|
|
14
|
-
<feBlend mode="normal" in="SourceGraphic" in2="effect_dropShadow_1" result="shape"/>
|
|
15
|
-
</filter>
|
|
16
|
-
</defs>
|
|
17
|
-
<g filter="url(#filter_37_876_dd)">
|
|
18
|
-
<path id="Path 2" d="M34.6331 62.5163C159.633 62.5163 156.204 115.98 222.133 115.98C288.062 115.98 290.281 62.5163 409.633 62.5163C409.801 62.5163 409.633 196.606 409.633 196.606L34.6331 196.606C34.6331 196.606 34.3997 62.5163 34.6331 62.5163Z" fill-rule="evenodd" fill="#FFFFFF"/>
|
|
19
|
-
</g>
|
|
20
|
-
</svg>
|
|
1
|
+
<svg width="444.233154" height="203.122437" viewBox="0 0 444.233 203.122" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
+
<desc>
|
|
3
|
+
Created with Pixso.
|
|
4
|
+
</desc>
|
|
5
|
+
<defs>
|
|
6
|
+
<filter id="filter_37_876_dd" x="0.529297" y="0.516296" width="443.178467" height="202.089844" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
7
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
8
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
9
|
+
<feOffset dx="0" dy="-28"/>
|
|
10
|
+
<feGaussianBlur stdDeviation="11.3333"/>
|
|
11
|
+
<feComposite in2="hardAlpha" operator="out" k2="-1" k3="1"/>
|
|
12
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.039 0"/>
|
|
13
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect_dropShadow_1"/>
|
|
14
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect_dropShadow_1" result="shape"/>
|
|
15
|
+
</filter>
|
|
16
|
+
</defs>
|
|
17
|
+
<g filter="url(#filter_37_876_dd)">
|
|
18
|
+
<path id="Path 2" d="M34.6331 62.5163C159.633 62.5163 156.204 115.98 222.133 115.98C288.062 115.98 290.281 62.5163 409.633 62.5163C409.801 62.5163 409.633 196.606 409.633 196.606L34.6331 196.606C34.6331 196.606 34.3997 62.5163 34.6331 62.5163Z" fill-rule="evenodd" fill="#FFFFFF"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
<svg width="164.000000" height="164.000000" viewBox="0 0 164 164" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
-
<desc>
|
|
3
|
-
Created with Pixso.
|
|
4
|
-
</desc>
|
|
5
|
-
<defs>
|
|
6
|
-
<filter id="filter_68_88_dd" x="0.000000" y="0.000000" width="164.000000" height="164.000000" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
7
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
8
|
-
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
9
|
-
<feOffset dx="0" dy="16"/>
|
|
10
|
-
<feGaussianBlur stdDeviation="10.6667"/>
|
|
11
|
-
<feComposite in2="hardAlpha" operator="out" k2="-1" k3="1"/>
|
|
12
|
-
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0"/>
|
|
13
|
-
<feBlend mode="normal" in2="BackgroundImageFix" result="effect_dropShadow_1"/>
|
|
14
|
-
<feBlend mode="normal" in="SourceGraphic" in2="effect_dropShadow_1" result="shape"/>
|
|
15
|
-
</filter>
|
|
16
|
-
</defs>
|
|
17
|
-
<g filter="url(#filter_68_88_dd)">
|
|
18
|
-
<rect id="LOGO背景" x="32.000000" y="16.000000" rx="23.039997" width="100.000000" height="100.000000" fill="#FFFFFF"/>
|
|
19
|
-
</g>
|
|
20
|
-
</svg>
|
|
1
|
+
<svg width="164.000000" height="164.000000" viewBox="0 0 164 164" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
+
<desc>
|
|
3
|
+
Created with Pixso.
|
|
4
|
+
</desc>
|
|
5
|
+
<defs>
|
|
6
|
+
<filter id="filter_68_88_dd" x="0.000000" y="0.000000" width="164.000000" height="164.000000" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
7
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
8
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
9
|
+
<feOffset dx="0" dy="16"/>
|
|
10
|
+
<feGaussianBlur stdDeviation="10.6667"/>
|
|
11
|
+
<feComposite in2="hardAlpha" operator="out" k2="-1" k3="1"/>
|
|
12
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0"/>
|
|
13
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect_dropShadow_1"/>
|
|
14
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect_dropShadow_1" result="shape"/>
|
|
15
|
+
</filter>
|
|
16
|
+
</defs>
|
|
17
|
+
<g filter="url(#filter_68_88_dd)">
|
|
18
|
+
<rect id="LOGO背景" x="32.000000" y="16.000000" rx="23.039997" width="100.000000" height="100.000000" fill="#FFFFFF"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|