jmash-core-mp 0.1.8 → 0.1.10

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 (131) hide show
  1. package/.editorconfig +9 -9
  2. package/README.md +60 -60
  3. package/babel.config.json +34 -34
  4. package/eslint.config.mjs +7 -7
  5. package/lib/api/auth/index.d.ts +21 -21
  6. package/lib/api/auth/index.js +187 -187
  7. package/lib/api/auth/types.d.ts +86 -86
  8. package/lib/api/auth/types.js +9 -9
  9. package/lib/api/cms/index.d.ts +12 -9
  10. package/lib/api/cms/index.js +67 -42
  11. package/lib/api/cms/types.d.ts +109 -72
  12. package/lib/api/cms/types.js +1 -1
  13. package/lib/api/constant.d.ts +5 -5
  14. package/lib/api/constant.js +6 -6
  15. package/lib/api/dict/index.d.ts +18 -18
  16. package/lib/api/dict/index.js +34 -34
  17. package/lib/api/dict/types.d.ts +28 -28
  18. package/lib/api/dict/types.js +1 -1
  19. package/lib/api/dicts.d.ts +18 -18
  20. package/lib/api/dicts.js +67 -67
  21. package/lib/api/files/index.d.ts +25 -25
  22. package/lib/api/files/index.js +131 -131
  23. package/lib/api/files/types.d.ts +38 -38
  24. package/lib/api/files/types.js +1 -1
  25. package/lib/api/index.d.ts +4 -4
  26. package/lib/api/index.js +6 -6
  27. package/lib/api/myorgan/types.d.ts +22 -22
  28. package/lib/api/myorgan/types.js +1 -1
  29. package/lib/api/region/index.d.ts +7 -7
  30. package/lib/api/region/index.js +19 -19
  31. package/lib/api/region/types.d.ts +19 -19
  32. package/lib/api/region/types.js +1 -1
  33. package/lib/api/types.d.ts +14 -14
  34. package/lib/api/types.js +1 -1
  35. package/lib/app.mpx.d.ts +1 -0
  36. package/lib/components/auth-user/jmash-update-user.mpx.d.ts +1 -0
  37. package/lib/components/auth-user/jmash-user.mpx.d.ts +1 -0
  38. package/lib/components/core/jmash-login.mpx.d.ts +1 -0
  39. package/lib/index.d.ts +15 -13
  40. package/lib/index.js +12 -11
  41. package/lib/store/user.d.ts +31 -31
  42. package/lib/store/user.js +224 -224
  43. package/lib/types/core.d.ts +41 -41
  44. package/lib/types/core.js +1 -1
  45. package/lib/utils/common.d.ts +35 -0
  46. package/lib/utils/common.js +163 -0
  47. package/lib/utils/config.d.ts +3 -3
  48. package/lib/utils/config.js +30 -30
  49. package/lib/utils/db.d.ts +21 -21
  50. package/lib/utils/db.js +84 -84
  51. package/lib/utils/grpc.d.ts +5 -5
  52. package/lib/utils/grpc.js +20 -20
  53. package/lib/utils/net.d.ts +7 -7
  54. package/lib/utils/net.js +15 -15
  55. package/lib/utils/request.d.ts +2 -2
  56. package/lib/utils/request.js +122 -122
  57. package/mpx.config.js +27 -27
  58. package/package.json +1 -1
  59. package/postcss.config.js +11 -11
  60. package/project.config.json +24 -24
  61. package/project.private.config.json +13 -13
  62. package/public/index.html +15 -15
  63. package/src/api/auth/index.ts +215 -215
  64. package/src/api/auth/types.ts +166 -166
  65. package/src/api/cms/index.ts +94 -58
  66. package/src/api/cms/types.ts +204 -137
  67. package/src/api/constant.ts +6 -6
  68. package/src/api/dict/index.ts +44 -44
  69. package/src/api/dict/types.ts +49 -49
  70. package/src/api/dicts.ts +72 -72
  71. package/src/api/files/index.ts +159 -159
  72. package/src/api/files/types.ts +67 -67
  73. package/src/api/index.ts +11 -11
  74. package/src/api/myorgan/types.ts +42 -42
  75. package/src/api/region/index.ts +23 -23
  76. package/src/api/region/types.ts +36 -36
  77. package/src/api/types.ts +19 -19
  78. package/src/app.mpx +72 -72
  79. package/src/components/auth-user/jmash-logout.mpx +91 -91
  80. package/src/components/auth-user/jmash-update-user.mpx +381 -381
  81. package/src/components/auth-user/jmash-update-user.web.mpx +365 -365
  82. package/src/components/auth-user/jmash-user.mpx +355 -345
  83. package/src/components/common/jmash-avatar-edit.mpx +153 -153
  84. package/src/components/common/jmash-cascader-region.mpx +112 -112
  85. package/src/components/common/jmash-menu.mpx +129 -129
  86. package/src/components/common/jmash-none-data.mpx +77 -77
  87. package/src/components/common/jmash-pic-swiper.mpx +71 -71
  88. package/src/components/common/jmash-popup.mpx +137 -137
  89. package/src/components/common/jmash-search.mpx +126 -126
  90. package/src/components/common/jmash-single-btn.mpx +53 -53
  91. package/src/components/common/jmash-stepper.mpx +214 -214
  92. package/src/components/common/jmash-tab-bar.mpx +50 -50
  93. package/src/components/common/jmash-textarea.mpx +88 -88
  94. package/src/components/common/jmash-top-navigation.mpx +203 -199
  95. package/src/components/common/jmash-upload-picture.mpx +170 -170
  96. package/src/components/core/jmash-cms-protocol.mpx +66 -66
  97. package/src/components/core/jmash-login.ali.mpx +284 -284
  98. package/src/components/core/jmash-login.mpx +348 -348
  99. package/src/components/core/jmash-login.web.mpx +421 -421
  100. package/src/components/core/jmash-popup-login.ali.mpx +311 -311
  101. package/src/components/core/jmash-popup-login.mpx +415 -415
  102. package/src/components/core/jmash-popup-login.web.mpx +389 -389
  103. package/src/custom-tab-bar/index.mpx +10 -10
  104. package/src/global.d.ts +11 -11
  105. package/src/index.ts +27 -13
  106. package/src/packages/index.mpx +8 -8
  107. package/src/packages/pages/auth/cms-protocol.mpx +30 -30
  108. package/src/packages/pages/auth/login.mpx +58 -58
  109. package/src/packages/pages/auth/update-user.mpx +17 -17
  110. package/src/pages/basic-component.mpx +30 -30
  111. package/src/pages/half-home.mpx +58 -58
  112. package/src/pages/home.mpx +43 -43
  113. package/src/pages/index.mpx +43 -43
  114. package/src/pages/tabbar/home.mpx +71 -71
  115. package/src/pages/tabbar/my.mpx +80 -80
  116. package/src/store/user.ts +268 -268
  117. package/src/styles/index.scss +20 -20
  118. package/src/styles/vars.scss +27 -27
  119. package/src/types/core.ts +70 -70
  120. package/src/utils/common.ts +176 -0
  121. package/src/utils/config.ts +31 -31
  122. package/src/utils/db.ts +100 -100
  123. package/src/utils/grpc.ts +21 -21
  124. package/src/utils/net.ts +18 -18
  125. package/src/utils/request.ts +134 -134
  126. package/static/ali/mini.project.json +4 -4
  127. package/static/dd/project.config.json +15 -15
  128. package/static/swan/project.swan.json +14 -14
  129. package/static/tt/project.config.json +11 -11
  130. package/static/wx/project.config.json +40 -40
  131. package/uno.config.js +9 -9
package/.editorconfig CHANGED
@@ -1,9 +1,9 @@
1
- root = true
2
-
3
- [*]
4
- charset = utf-8
5
- indent_style = space
6
- indent_size = 2
7
- end_of_line = lf
8
- insert_final_newline = true
9
- trim_trailing_whitespace = true
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ indent_style = space
6
+ indent_size = 2
7
+ end_of_line = lf
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
package/README.md CHANGED
@@ -1,60 +1,60 @@
1
- # jmash-core-mp
2
-
3
- 采用 MPX 构建的 Jmash 高性能跨端小程序。
4
- https://mpxjs.cn/
5
-
6
- ## Project setup
7
-
8
- ```javascript
9
- // 开发构建,默认输出微信小程序
10
- npm run serve
11
-
12
- // 开发构建,跨平台输出支付宝小程序
13
- npm run serve:ali
14
-
15
- // 开发构建,跨平台输出 Web
16
- npm run serve:web
17
-
18
- // 开发构建,跨平台输出其他平台小程序target = swan|tt|qq|jd|ks
19
- npm run serve -- --targets={target}
20
-
21
- // 开发构建,同时输出多平台产物
22
- npm run serve -- --targets=wx,ali,web
23
-
24
- // 生产构建,默认输出微信小程序
25
- npm run build
26
-
27
- // 生产构建,跨平台输出
28
- npm run build:ali
29
- npm run build:web
30
- npm run build -- --targets=wx,ali,web
31
- ```
32
-
33
- # ALi 小程序
34
-
35
- 登录
36
- minidev login
37
-
38
- 调试开发
39
- minidev dev
40
-
41
- 本地 IP 调试
42
- minidev dev --host 192.168.1.154
43
-
44
- 真机调试
45
- minidev remote-debug -a 2021006137629651
46
-
47
- Web 端调试
48
- minidev dev
49
- web -a 2021006137629651
50
- 真机预览
51
- minidev preview -a 2021006137629651
52
-
53
- # pnpm publish --no-git-checks
54
-
55
- 官方镜像
56
- npm config set registry https://registry.npmjs.org/
57
- 国内镜像
58
- npm config set registry https://registry.npmmirror.com/
59
- 代理镜像
60
- npm config set registry https://npm.crenjoy.com/
1
+ # jmash-core-mp
2
+
3
+ 采用 MPX 构建的 Jmash 高性能跨端小程序。
4
+ https://mpxjs.cn/
5
+
6
+ ## Project setup
7
+
8
+ ```javascript
9
+ // 开发构建,默认输出微信小程序
10
+ npm run serve
11
+
12
+ // 开发构建,跨平台输出支付宝小程序
13
+ npm run serve:ali
14
+
15
+ // 开发构建,跨平台输出 Web
16
+ npm run serve:web
17
+
18
+ // 开发构建,跨平台输出其他平台小程序target = swan|tt|qq|jd|ks
19
+ npm run serve -- --targets={target}
20
+
21
+ // 开发构建,同时输出多平台产物
22
+ npm run serve -- --targets=wx,ali,web
23
+
24
+ // 生产构建,默认输出微信小程序
25
+ npm run build
26
+
27
+ // 生产构建,跨平台输出
28
+ npm run build:ali
29
+ npm run build:web
30
+ npm run build -- --targets=wx,ali,web
31
+ ```
32
+
33
+ # ALi 小程序
34
+
35
+ 登录
36
+ minidev login
37
+
38
+ 调试开发
39
+ minidev dev
40
+
41
+ 本地 IP 调试
42
+ minidev dev --host 192.168.1.154
43
+
44
+ 真机调试
45
+ minidev remote-debug -a 2021006137629651
46
+
47
+ Web 端调试
48
+ minidev dev
49
+ web -a 2021006137629651
50
+ 真机预览
51
+ minidev preview -a 2021006137629651
52
+
53
+ # pnpm publish --no-git-checks
54
+
55
+ 官方镜像
56
+ npm config set registry https://registry.npmjs.org/
57
+ 国内镜像
58
+ npm config set registry https://registry.npmmirror.com/
59
+ 代理镜像
60
+ npm config set registry https://npm.crenjoy.com/
package/babel.config.json CHANGED
@@ -1,34 +1,34 @@
1
- {
2
- "presets": [
3
- [
4
- "@babel/preset-env",
5
- {
6
- "modules": false,
7
- "shippedProposals": true
8
- }
9
- ],
10
- ],
11
- "plugins": [
12
- [
13
- "@babel/transform-runtime",
14
- {
15
- "corejs": 3,
16
- "version": "^7.10.4"
17
- }
18
- ],
19
- "@mpxjs/babel-plugin-inject-page-events",
20
- ],
21
- "sourceType": "unambiguous",
22
- "env": {
23
- "test": {
24
- "presets": [
25
- [
26
- "@babel/env",
27
- {
28
- "shippedProposals": true
29
- }
30
- ]
31
- ]
32
- }
33
- }
34
- }
1
+ {
2
+ "presets": [
3
+ [
4
+ "@babel/preset-env",
5
+ {
6
+ "modules": false,
7
+ "shippedProposals": true
8
+ }
9
+ ],
10
+ ],
11
+ "plugins": [
12
+ [
13
+ "@babel/transform-runtime",
14
+ {
15
+ "corejs": 3,
16
+ "version": "^7.10.4"
17
+ }
18
+ ],
19
+ "@mpxjs/babel-plugin-inject-page-events",
20
+ ],
21
+ "sourceType": "unambiguous",
22
+ "env": {
23
+ "test": {
24
+ "presets": [
25
+ [
26
+ "@babel/env",
27
+ {
28
+ "shippedProposals": true
29
+ }
30
+ ]
31
+ ]
32
+ }
33
+ }
34
+ }
package/eslint.config.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { mpxConfig } from '@mpxjs/eslint-config'
2
- export default mpxConfig(
3
- {
4
- mpx: true,
5
- typescript: true
6
- }
7
- )
1
+ import { mpxConfig } from '@mpxjs/eslint-config'
2
+ export default mpxConfig(
3
+ {
4
+ mpx: true,
5
+ typescript: true
6
+ }
7
+ )
@@ -1,21 +1,21 @@
1
- import { ResponseData } from "../../types/core";
2
- import type { LoginReq, LoginRes, RolesPerms, WebLoginReq, TokenModel, PhoneRegisterReq, PhoneReplaceReq, UpdateUserReq, UserInfoReq, UserInfo } from "./types";
3
- declare class AuthApi {
4
- mpLogin(data: LoginReq): Promise<ResponseData<LoginRes>>;
5
- mpPhoneRegister(data: PhoneRegisterReq): Promise<ResponseData<LoginRes>>;
6
- replaceBindphone(data: PhoneReplaceReq): Promise<ResponseData<string>>;
7
- webLogin(data: WebLoginReq): Promise<ResponseData<TokenModel>>;
8
- refreshToken(): Promise<ResponseData<TokenModel>>;
9
- userInfo(): Promise<ResponseData<UserInfo>>;
10
- userRolesPerms(): Promise<ResponseData<RolesPerms>>;
11
- allowRunAsUser(): Promise<ResponseData<any[]>>;
12
- runAsUser(userId: string): Promise<ResponseData<any>>;
13
- updateUser(data: any): Promise<ResponseData<any>>;
14
- updatePwd(encodeOldPwd: string, encodeNewPwd: string): Promise<ResponseData<any>>;
15
- deptTree(deptId?: string, tenant?: string): Promise<ResponseData<any[]>>;
16
- jobTree(jobId?: string, tenant?: string): Promise<ResponseData<any[]>>;
17
- updateUserInfo(data: UpdateUserReq): Promise<ResponseData<UserInfo>>;
18
- findUserInfo(data: UserInfoReq): Promise<ResponseData<UserInfo>>;
19
- }
20
- export declare const authApi: AuthApi;
21
- export {};
1
+ import { ResponseData } from "../../types/core";
2
+ import type { LoginReq, LoginRes, RolesPerms, WebLoginReq, TokenModel, PhoneRegisterReq, PhoneReplaceReq, UpdateUserReq, UserInfoReq, UserInfo } from "./types";
3
+ declare class AuthApi {
4
+ mpLogin(data: LoginReq): Promise<ResponseData<LoginRes>>;
5
+ mpPhoneRegister(data: PhoneRegisterReq): Promise<ResponseData<LoginRes>>;
6
+ replaceBindphone(data: PhoneReplaceReq): Promise<ResponseData<string>>;
7
+ webLogin(data: WebLoginReq): Promise<ResponseData<TokenModel>>;
8
+ refreshToken(): Promise<ResponseData<TokenModel>>;
9
+ userInfo(): Promise<ResponseData<UserInfo>>;
10
+ userRolesPerms(): Promise<ResponseData<RolesPerms>>;
11
+ allowRunAsUser(): Promise<ResponseData<any[]>>;
12
+ runAsUser(userId: string): Promise<ResponseData<any>>;
13
+ updateUser(data: any): Promise<ResponseData<any>>;
14
+ updatePwd(encodeOldPwd: string, encodeNewPwd: string): Promise<ResponseData<any>>;
15
+ deptTree(deptId?: string, tenant?: string): Promise<ResponseData<any[]>>;
16
+ jobTree(jobId?: string, tenant?: string): Promise<ResponseData<any[]>>;
17
+ updateUserInfo(data: UpdateUserReq): Promise<ResponseData<UserInfo>>;
18
+ findUserInfo(data: UserInfoReq): Promise<ResponseData<UserInfo>>;
19
+ }
20
+ export declare const authApi: AuthApi;
21
+ export {};
@@ -1,187 +1,187 @@
1
- import { OpensType } from "./types";
2
- import { db } from "../../utils/db";
3
- import { grpc } from "../../utils/grpc";
4
- import { config } from "../../utils/config";
5
- import mpx from "@mpxjs/core";
6
- class AuthApi {
7
- // 小程序静默登录
8
- mpLogin(data) {
9
- if (__mpx_mode__ === "wx") {
10
- data.opensType = OpensType.wechat;
11
- }
12
- if (__mpx_mode__ === "ali") {
13
- data.opensType = OpensType.ali_pay;
14
- }
15
- return mpx.xfetch.fetch({
16
- url: "/v1/front/rbac/miniapp_login/" + config.tenant,
17
- method: "POST",
18
- data,
19
- header: {
20
- "content-type": "application/json",
21
- Authorization: false,
22
- },
23
- });
24
- }
25
- // 手机号注册登录
26
- mpPhoneRegister(data) {
27
- if (__mpx_mode__ === "wx") {
28
- data.opensType = OpensType.wechat;
29
- }
30
- if (__mpx_mode__ === "ali") {
31
- data.opensType = OpensType.ali_pay;
32
- }
33
- return mpx.xfetch.fetch({
34
- url: "/v1/front/rbac/miniapp_phonenumber/" + config.tenant,
35
- method: "POST",
36
- data: data,
37
- header: {
38
- Authorization: false,
39
- },
40
- });
41
- }
42
- // 已登陆状态小程序更换绑定手机号
43
- replaceBindphone(data) {
44
- data.tenant = config.tenant;
45
- if (__mpx_mode__ === "wx") {
46
- data.opensType = OpensType.wechat;
47
- }
48
- if (__mpx_mode__ === "ali") {
49
- data.opensType = OpensType.ali_pay;
50
- }
51
- grpc.clearEmpty(data);
52
- return mpx.xfetch.fetch({
53
- url: "/v1/front/rbac/miniapp_bindphone",
54
- method: "POST",
55
- data: data,
56
- });
57
- }
58
- //web登录.
59
- webLogin(data) {
60
- data.tenant = config.tenant;
61
- data.directoryId = "user";
62
- data.clientId = config.appId ? config.appId : "h5";
63
- data.captchaId = "1";
64
- data.captchaCode = "1";
65
- return mpx.xfetch.fetch({
66
- url: "/v1/rbac/auth/login",
67
- method: "POST",
68
- data: data,
69
- header: {
70
- Authorization: false,
71
- },
72
- });
73
- }
74
- // 刷新token
75
- refreshToken() {
76
- return mpx.xfetch.fetch({
77
- url: "/v1/front/rbac/auth/refresh_token",
78
- method: "POST",
79
- data: {
80
- refreshToken: db.getRefreshToken(),
81
- tenant: config.tenant,
82
- clientId: config.appId,
83
- },
84
- header: { "content-type": "application/json" },
85
- });
86
- }
87
- // 获取当前会话用户
88
- userInfo() {
89
- return mpx.xfetch.fetch({
90
- url: "/v1/rbac/auth/user?tenant=" + config.tenant,
91
- method: "GET",
92
- });
93
- }
94
- // 当前用户角色权限
95
- userRolesPerms() {
96
- return mpx.xfetch.fetch({
97
- url: "/v1/rbac/auth/roles_perms?tenant=" + config.tenant,
98
- method: "GET",
99
- });
100
- }
101
- // 允许切换身份的用户列表
102
- allowRunAsUser() {
103
- return mpx.xfetch.fetch({
104
- url: "/v1/rbac/auth/allow_run_as_user?tenant=" + config.tenant,
105
- method: "GET",
106
- });
107
- }
108
- // 运行某种身份
109
- runAsUser(userId) {
110
- const data = {
111
- tenant: config.tenant,
112
- userId: userId,
113
- };
114
- return mpx.xfetch.fetch({
115
- url: "/v1/rbac/auth/run_as",
116
- method: "POST",
117
- data: data,
118
- });
119
- }
120
- // 更新用户
121
- updateUser(data) {
122
- return mpx.xfetch.fetch({
123
- url: "/v1/rbac/auth/user",
124
- method: "PATCH",
125
- data: data,
126
- });
127
- }
128
- // 修改密码
129
- updatePwd(encodeOldPwd, encodeNewPwd) {
130
- const data = {
131
- tenant: db.getUserTenant(),
132
- encodeOldPwd: encodeOldPwd,
133
- encodeNewPwd: encodeNewPwd,
134
- };
135
- return mpx.xfetch.fetch({
136
- url: "/v1/rbac/auth/change_pwd",
137
- method: "PATCH",
138
- data: data,
139
- });
140
- }
141
- // 部门Tree
142
- deptTree(deptId, tenant) {
143
- const query = {
144
- tenant: tenant ? tenant : config.tenant,
145
- excludeId: deptId,
146
- };
147
- return mpx.xfetch.fetch({
148
- url: "/v1/rbac/dept/treelist",
149
- method: "GET",
150
- data: query,
151
- });
152
- }
153
- // 职务Tree
154
- jobTree(jobId, tenant) {
155
- const query = {
156
- tenant: tenant ? tenant : config.tenant,
157
- roleType: "job",
158
- hasRoleType: true,
159
- excludeId: jobId,
160
- };
161
- return mpx.xfetch.fetch({
162
- url: "/v1/rbac/role/treelist",
163
- method: "GET",
164
- data: query,
165
- });
166
- }
167
- // 修改个人信息
168
- updateUserInfo(data) {
169
- data.tenant = config.tenant;
170
- grpc.clearEmpty(data);
171
- return mpx.xfetch.fetch({
172
- url: "/v1/rbac/auth/user",
173
- method: "PATCH",
174
- data: data,
175
- });
176
- }
177
- // 获取当前会话用户的信息
178
- findUserInfo(data) {
179
- data.tenant = config.tenant;
180
- return mpx.xfetch.fetch({
181
- url: "/v1/front/rbac/auth/user",
182
- method: "GET",
183
- data,
184
- });
185
- }
186
- }
187
- export const authApi = new AuthApi();
1
+ import { OpensType } from "./types";
2
+ import { db } from "../../utils/db";
3
+ import { grpc } from "../../utils/grpc";
4
+ import { config } from "../../utils/config";
5
+ import mpx from "@mpxjs/core";
6
+ class AuthApi {
7
+ // 小程序静默登录
8
+ mpLogin(data) {
9
+ if (__mpx_mode__ === "wx") {
10
+ data.opensType = OpensType.wechat;
11
+ }
12
+ if (__mpx_mode__ === "ali") {
13
+ data.opensType = OpensType.ali_pay;
14
+ }
15
+ return mpx.xfetch.fetch({
16
+ url: "/v1/front/rbac/miniapp_login/" + config.tenant,
17
+ method: "POST",
18
+ data,
19
+ header: {
20
+ "content-type": "application/json",
21
+ Authorization: false,
22
+ },
23
+ });
24
+ }
25
+ // 手机号注册登录
26
+ mpPhoneRegister(data) {
27
+ if (__mpx_mode__ === "wx") {
28
+ data.opensType = OpensType.wechat;
29
+ }
30
+ if (__mpx_mode__ === "ali") {
31
+ data.opensType = OpensType.ali_pay;
32
+ }
33
+ return mpx.xfetch.fetch({
34
+ url: "/v1/front/rbac/miniapp_phonenumber/" + config.tenant,
35
+ method: "POST",
36
+ data: data,
37
+ header: {
38
+ Authorization: false,
39
+ },
40
+ });
41
+ }
42
+ // 已登陆状态小程序更换绑定手机号
43
+ replaceBindphone(data) {
44
+ data.tenant = config.tenant;
45
+ if (__mpx_mode__ === "wx") {
46
+ data.opensType = OpensType.wechat;
47
+ }
48
+ if (__mpx_mode__ === "ali") {
49
+ data.opensType = OpensType.ali_pay;
50
+ }
51
+ grpc.clearEmpty(data);
52
+ return mpx.xfetch.fetch({
53
+ url: "/v1/front/rbac/miniapp_bindphone",
54
+ method: "POST",
55
+ data: data,
56
+ });
57
+ }
58
+ //web登录.
59
+ webLogin(data) {
60
+ data.tenant = config.tenant;
61
+ data.directoryId = "user";
62
+ data.clientId = config.appId ? config.appId : "h5";
63
+ data.captchaId = "1";
64
+ data.captchaCode = "1";
65
+ return mpx.xfetch.fetch({
66
+ url: "/v1/rbac/auth/login",
67
+ method: "POST",
68
+ data: data,
69
+ header: {
70
+ Authorization: false,
71
+ },
72
+ });
73
+ }
74
+ // 刷新token
75
+ refreshToken() {
76
+ return mpx.xfetch.fetch({
77
+ url: "/v1/front/rbac/auth/refresh_token",
78
+ method: "POST",
79
+ data: {
80
+ refreshToken: db.getRefreshToken(),
81
+ tenant: config.tenant,
82
+ clientId: config.appId,
83
+ },
84
+ header: { "content-type": "application/json" },
85
+ });
86
+ }
87
+ // 获取当前会话用户
88
+ userInfo() {
89
+ return mpx.xfetch.fetch({
90
+ url: "/v1/rbac/auth/user?tenant=" + config.tenant,
91
+ method: "GET",
92
+ });
93
+ }
94
+ // 当前用户角色权限
95
+ userRolesPerms() {
96
+ return mpx.xfetch.fetch({
97
+ url: "/v1/rbac/auth/roles_perms?tenant=" + config.tenant,
98
+ method: "GET",
99
+ });
100
+ }
101
+ // 允许切换身份的用户列表
102
+ allowRunAsUser() {
103
+ return mpx.xfetch.fetch({
104
+ url: "/v1/rbac/auth/allow_run_as_user?tenant=" + config.tenant,
105
+ method: "GET",
106
+ });
107
+ }
108
+ // 运行某种身份
109
+ runAsUser(userId) {
110
+ const data = {
111
+ tenant: config.tenant,
112
+ userId: userId,
113
+ };
114
+ return mpx.xfetch.fetch({
115
+ url: "/v1/rbac/auth/run_as",
116
+ method: "POST",
117
+ data: data,
118
+ });
119
+ }
120
+ // 更新用户
121
+ updateUser(data) {
122
+ return mpx.xfetch.fetch({
123
+ url: "/v1/rbac/auth/user",
124
+ method: "PATCH",
125
+ data: data,
126
+ });
127
+ }
128
+ // 修改密码
129
+ updatePwd(encodeOldPwd, encodeNewPwd) {
130
+ const data = {
131
+ tenant: db.getUserTenant(),
132
+ encodeOldPwd: encodeOldPwd,
133
+ encodeNewPwd: encodeNewPwd,
134
+ };
135
+ return mpx.xfetch.fetch({
136
+ url: "/v1/rbac/auth/change_pwd",
137
+ method: "PATCH",
138
+ data: data,
139
+ });
140
+ }
141
+ // 部门Tree
142
+ deptTree(deptId, tenant) {
143
+ const query = {
144
+ tenant: tenant ? tenant : config.tenant,
145
+ excludeId: deptId,
146
+ };
147
+ return mpx.xfetch.fetch({
148
+ url: "/v1/rbac/dept/treelist",
149
+ method: "GET",
150
+ data: query,
151
+ });
152
+ }
153
+ // 职务Tree
154
+ jobTree(jobId, tenant) {
155
+ const query = {
156
+ tenant: tenant ? tenant : config.tenant,
157
+ roleType: "job",
158
+ hasRoleType: true,
159
+ excludeId: jobId,
160
+ };
161
+ return mpx.xfetch.fetch({
162
+ url: "/v1/rbac/role/treelist",
163
+ method: "GET",
164
+ data: query,
165
+ });
166
+ }
167
+ // 修改个人信息
168
+ updateUserInfo(data) {
169
+ data.tenant = config.tenant;
170
+ grpc.clearEmpty(data);
171
+ return mpx.xfetch.fetch({
172
+ url: "/v1/rbac/auth/user",
173
+ method: "PATCH",
174
+ data: data,
175
+ });
176
+ }
177
+ // 获取当前会话用户的信息
178
+ findUserInfo(data) {
179
+ data.tenant = config.tenant;
180
+ return mpx.xfetch.fetch({
181
+ url: "/v1/front/rbac/auth/user",
182
+ method: "GET",
183
+ data,
184
+ });
185
+ }
186
+ }
187
+ export const authApi = new AuthApi();