@maketribe/ms-app 3.0.15 → 3.0.16
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/dist/cjs/components/upload-file/upload-file.js +7 -1
- package/dist/cjs/components/upload-file/upload-file.js.map +1 -1
- package/dist/cjs/core/MSAppClient.js +3 -0
- package/dist/cjs/core/MSAppClient.js.map +1 -1
- package/dist/esm/components/upload-file/upload-file.js +7 -1
- package/dist/esm/components/upload-file/upload-file.js.map +1 -1
- package/dist/esm/core/MSAppClient.js +4 -1
- package/dist/esm/core/MSAppClient.js.map +1 -1
- package/package.json +4 -4
- package/src/components/upload-file/upload-file.tsx +4 -1
- package/src/core/MSAppClient.ts +10 -1
|
@@ -4,6 +4,10 @@ var vue = require('vue');
|
|
|
4
4
|
var elementPlus = require('element-plus');
|
|
5
5
|
var request = require('@maketribe/request');
|
|
6
6
|
var uploadFileOptions = require('./upload-file-options.js');
|
|
7
|
+
require('@maketribe/dm');
|
|
8
|
+
require('@maketribe/utils');
|
|
9
|
+
require('../../core/DataModelDefines.js');
|
|
10
|
+
var MSAppClient = require('../../core/MSAppClient.js');
|
|
7
11
|
|
|
8
12
|
var UploadFile = /* @__PURE__ */ vue.defineComponent({
|
|
9
13
|
name: "MKUploadFile",
|
|
@@ -13,7 +17,9 @@ var UploadFile = /* @__PURE__ */ vue.defineComponent({
|
|
|
13
17
|
slots,
|
|
14
18
|
emit
|
|
15
19
|
}) {
|
|
16
|
-
const upload = props.upload ?? new request.WebFileUpload(
|
|
20
|
+
const upload = props.upload ?? new request.WebFileUpload({
|
|
21
|
+
httpRequest: MSAppClient.MSAppClient.instance.httpRequest
|
|
22
|
+
});
|
|
17
23
|
const fileList = vue.computed({
|
|
18
24
|
get: () => props.fileList,
|
|
19
25
|
set: (v) => emit("update:file-list", v)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-file.js","sources":["../../../../src/components/upload-file/upload-file.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { ElMessage, ElUpload, UploadFile, UploadFiles } from \"element-plus\";\nimport { UploadError, WebFileUpload } from \"@maketribe/request\";\nimport { uploadFileProps, uploadFileEmits } from \"./upload-file-options\";\n\nexport default defineComponent({\n name: \"MKUploadFile\",\n props: uploadFileProps,\n emits: uploadFileEmits,\n setup(props, { slots, emit }) {\n const upload
|
|
1
|
+
{"version":3,"file":"upload-file.js","sources":["../../../../src/components/upload-file/upload-file.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { ElMessage, ElUpload, UploadFile, UploadFiles } from \"element-plus\";\nimport { UploadError, WebFileUpload } from \"@maketribe/request\";\nimport { uploadFileProps, uploadFileEmits } from \"./upload-file-options\";\nimport { MSAppClient } from \"../../core\";\n\nexport default defineComponent({\n name: \"MKUploadFile\",\n props: uploadFileProps,\n emits: uploadFileEmits,\n setup(props, { slots, emit }) {\n const upload =\n props.upload ??\n new WebFileUpload({ httpRequest: MSAppClient.instance!.httpRequest });\n\n const fileList = computed({\n get: () => props.fileList,\n set: (v) => emit(\"update:file-list\", v),\n });\n\n const handleChange = async (uploadFile: UploadFile) => {\n if (uploadFile.raw) {\n try {\n const result = await upload.upload(uploadFile.raw);\n if (result.data.code == 200) {\n emit(\"uploadSuccess\", result);\n }\n } catch (e) {\n if (e instanceof UploadError) {\n ElMessage.error(e.message);\n }\n }\n }\n };\n\n const handleRemove = (uploadFile: UploadFile, uploadFiles: UploadFiles) => {\n emit(\"remove\", uploadFile, uploadFiles);\n };\n\n return () => {\n return (\n <ElUpload\n class=\"mk-upload-file\"\n autoUpload={false}\n showFileList={props.showFileList}\n fileList={unref(fileList)}\n listType={props.listType}\n onChange={handleChange}\n onRemove={handleRemove}\n limit={props.limit}\n v-slots={slots}\n />\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","uploadFileProps","emits","uploadFileEmits","setup","slots","emit","upload","WebFileUpload","httpRequest","MSAppClient","instance","fileList","computed","get","set","v","handleChange","uploadFile","raw","result","data","code","e","UploadError","ElMessage","error","message","handleRemove","uploadFiles","_createVNode","ElUpload","showFileList","unref","listType","limit"],"mappings":";;;;;;;;;;;AAMA,iCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,cAAA;AAAA,EACNC,KAAOC,EAAAA,iCAAAA;AAAAA,EACPC,KAAOC,EAAAA,iCAAAA;AAAAA,EACPC,MAAMJ,KAAO,EAAA;AAAA,IAAEK,KAAAA;AAAAA,IAAOC,IAAAA;AAAAA,GAAQ,EAAA;AAC5B,IAAA,MAAMC,MACJP,GAAAA,KAAAA,CAAMO,MACN,IAAA,IAAIC,qBAAc,CAAA;AAAA,MAAEC,WAAAA,EAAaC,wBAAYC,QAAUF,CAAAA,WAAAA;AAAAA,KAAa,CAAA,CAAA;AAEtE,IAAA,MAAMG,WAAWC,YAAS,CAAA;AAAA,MACxBC,GAAAA,EAAKA,MAAMd,KAAMY,CAAAA,QAAAA;AAAAA,MACjBG,GAAMC,EAAAA,CAAAA,CAAAA,KAAMV,IAAK,CAAA,kBAAA,EAAoBU,CAAC,CAAA;AAAA,KACvC,CAAA,CAAA;AAED,IAAMC,MAAAA,YAAAA,GAAe,OAAOC,UAA2B,KAAA;AACrD,MAAA,IAAIA,WAAWC,GAAK,EAAA;AAClB,QAAI,IAAA;AACF,UAAA,MAAMC,MAAS,GAAA,MAAMb,MAAOA,CAAAA,MAAAA,CAAOW,WAAWC,GAAG,CAAA,CAAA;AACjD,UAAIC,IAAAA,MAAAA,CAAOC,IAAKC,CAAAA,IAAAA,IAAQ,GAAK,EAAA;AAC3BhB,YAAAA,IAAAA,CAAK,iBAAiBc,MAAM,CAAA,CAAA;AAAA,WAC9B;AAAA,iBACOG,CAAG,EAAA;AACV,UAAA,IAAIA,aAAaC,mBAAa,EAAA;AAC5BC,YAAUC,qBAAAA,CAAAA,KAAAA,CAAMH,EAAEI,OAAO,CAAA,CAAA;AAAA,WAC3B;AAAA,SACF;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAMC,MAAAA,YAAAA,GAAeA,CAACV,UAAAA,EAAwBW,WAA6B,KAAA;AACzEvB,MAAK,IAAA,CAAA,QAAA,EAAUY,YAAYW,WAAW,CAAA,CAAA;AAAA,KACxC,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,OAAAC,gBAAAC,oBAAA,EAAA;AAAA,QAAA,OAAA,EAAA,gBAAA;AAAA,QAAA,YAGgB,EAAA,KAAA;AAAA,QAAK,gBACH/B,KAAMgC,CAAAA,YAAAA;AAAAA,QAAY,UAAA,EACtBC,UAAMrB,QAAQ,CAAA;AAAA,QAAC,YACfZ,KAAMkC,CAAAA,QAAAA;AAAAA,QAAQ,UACdjB,EAAAA,YAAAA;AAAAA,QAAY,UACZW,EAAAA,YAAAA;AAAAA,QAAY,SACf5B,KAAMmC,CAAAA,KAAAA;AAAAA,SACJ9B,KAAK,CAAA,CAAA;AAAA,KAGpB,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
|
|
@@ -53,6 +53,9 @@ class MSAppClient {
|
|
|
53
53
|
request.HttpRequest.appID = this.appID;
|
|
54
54
|
this.httpRequest = this._options.httpRequest;
|
|
55
55
|
dm.DataModel.setHttpRequest(this.httpRequest);
|
|
56
|
+
request.DVQueryable.setDefaultDataViewRequest(
|
|
57
|
+
new request.DataViewRequest({ httpRequest: this.httpRequest })
|
|
58
|
+
);
|
|
56
59
|
}
|
|
57
60
|
setUserSession(userSession) {
|
|
58
61
|
if (this.userSession) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport { HttpRequest, R, WebHttpRequest } from \"@maketribe/request\";\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\nimport { I18n } from \"@maketribe/locale\";\n\nimport { Event, md5 } from \"@maketribe/utils\";\nimport { UserSession } from \"./UserSession\";\nimport { authBeforeEach } from \"../router-middleware\";\nimport { PageManager } from \"./PageManager\";\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\n\nexport type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n};\n\nexport interface MSAppClientOptions {\n pageManager?: PageManager;\n projectName: string;\n httpRequest?: HttpRequest;\n origin: string;\n appID: string;\n logo?: string;\n locale?: string;\n vueRouter?: VueRouter;\n dataTableComponents?: IComponents;\n dataFormComponents?: IComponents;\n dataFilterComponents?: IComponents;\n whereFilterComponents?: IComponents;\n}\n\nexport class MSAppClient {\n static instance: MSAppClient | null = null;\n\n origin: string = \"\";\n\n private _options: Required<MSAppClientOptions>;\n\n projectName: string;\n\n logo: string;\n\n appID: string;\n\n userSession: UserSession | null = null;\n\n httpRequest: HttpRequest;\n\n ready: boolean = false;\n\n initd: boolean = false;\n\n pageManager: PageManager;\n\n /**\n * @deprecated\n * @description 使用 MSAppClient.instance.userSession.userInfo\n */\n get userInfo() {\n return this.userSession?.userInfo ?? null;\n }\n\n i18n: I18n;\n\n dataTableComponents: IComponents;\n dataFormComponents: IComponents;\n dataFilterComponents: IComponents;\n whereFilterComponents: IComponents;\n\n vueRouter: VueRouter;\n\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\n\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\n new Event();\n\n constructor(options: MSAppClientOptions) {\n this._options = this._normalizeOptions(options);\n\n this.appID = this._options.appID;\n\n this.logo = this._options.logo;\n\n this.projectName = options.projectName;\n\n this.i18n = I18n.instance;\n this.i18n.setCurrentLanguageName(this._options.locale);\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n\n this.vueRouter = this._options.vueRouter;\n\n this.pageManager = this._options.pageManager;\n\n HttpRequest.appID = this.appID;\n\n this.httpRequest = this._options.httpRequest;\n\n DataModel.setHttpRequest(this.httpRequest);\n }\n\n setUserSession(userSession: UserSession | null) {\n if (this.userSession) {\n this.userSession.dispose();\n }\n\n this.userSession = userSession;\n\n this.userSessionChangeEvent.emit({ userSession });\n }\n\n private _normalizeOptions(\n options: MSAppClientOptions\n ): Required<MSAppClientOptions> {\n return {\n appID: options.appID,\n projectName: options.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: options.origin,\n logo: options.logo || \"\",\n locale: options.locale || \"zh-cn\",\n vueRouter:\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n }),\n pageManager: options.pageManager ?? new PageManager(),\n dataTableComponents: options.dataTableComponents ?? new Components(),\n dataFormComponents: options.dataFormComponents ?? new Components(),\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\n };\n }\n getI18n() {\n return this.i18n;\n }\n\n getOptions() {\n return this._options;\n }\n\n async loadCurrentUserSession(options?: {\n accessToken: string;\n xAccessToken: string;\n }) {\n const userSession = (this.userSession = new UserSession({\n msAppClient: this,\n ...options,\n }));\n this.userSession = null;\n\n this.beforeInitUserSessionEvent.emit({ userSession });\n const userSessionInitResult = await userSession.init();\n\n if (userSessionInitResult?.data.code !== 200) {\n userSession.dispose();\n return userSessionInitResult!;\n }\n\n this.setUserSession(userSession);\n }\n\n async init() {\n if (this.initd) {\n return;\n }\n\n this.vueRouter.beforeEach(async (to, from, next) => {\n const route = await authBeforeEach(this, to, from);\n\n if (route) {\n next(route);\n return;\n }\n\n next();\n });\n\n this.pageManager.init();\n this.pageManager.setMSAppCLient(this);\n\n this.httpRequest.getInterceptors().response.use((config) => {\n if (config.data.code === 401) {\n if (this.userSession) {\n this.userSession.lock();\n } else {\n this.vueRouter.push({ name: \"login\" });\n }\n }\n return config;\n });\n\n this.initd = true;\n }\n\n async login(account: string, password: string, code: string) {\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\n });\n\n if (response.data.code === 200) {\n await this.loadCurrentUserSession({\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\n });\n }\n\n return response;\n }\n\n formatURL(url: string) {\n return url;\n }\n\n async modifyPassword(account: string, code: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/modify-password\",\n method: \"POST\",\n data: { account, vCode: code },\n });\n\n return response;\n }\n\n async logout() {\n this.userSession?.dispose();\n this.setUserSession(null);\n\n return this.httpRequest.get(\"/api/ms-login/logout\");\n }\n}\n"],"names":["Event","I18n","HttpRequest","DataModel","WebHttpRequest","createRouter","createWebHashHistory","PageManager","Components","UserSession","authBeforeEach","md5","ACCESS_TOKEN_HEADER","X_ACCESS_TOKEN_HEADER"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport {\n DataViewRequest,\n DVQueryable,\n HttpRequest,\n R,\n WebHttpRequest,\n} from \"@maketribe/request\";\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\nimport { I18n } from \"@maketribe/locale\";\n\nimport { Event, md5 } from \"@maketribe/utils\";\nimport { UserSession } from \"./UserSession\";\nimport { authBeforeEach } from \"../router-middleware\";\nimport { PageManager } from \"./PageManager\";\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\n\nexport type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n};\n\nexport interface MSAppClientOptions {\n pageManager?: PageManager;\n projectName: string;\n httpRequest?: HttpRequest;\n origin: string;\n appID: string;\n logo?: string;\n locale?: string;\n vueRouter?: VueRouter;\n dataTableComponents?: IComponents;\n dataFormComponents?: IComponents;\n dataFilterComponents?: IComponents;\n whereFilterComponents?: IComponents;\n}\n\nexport class MSAppClient {\n static instance: MSAppClient | null = null;\n\n origin: string = \"\";\n\n private _options: Required<MSAppClientOptions>;\n\n projectName: string;\n\n logo: string;\n\n appID: string;\n\n userSession: UserSession | null = null;\n\n httpRequest: HttpRequest;\n\n ready: boolean = false;\n\n initd: boolean = false;\n\n pageManager: PageManager;\n\n /**\n * @deprecated\n * @description 使用 MSAppClient.instance.userSession.userInfo\n */\n get userInfo() {\n return this.userSession?.userInfo ?? null;\n }\n\n i18n: I18n;\n\n dataTableComponents: IComponents;\n dataFormComponents: IComponents;\n dataFilterComponents: IComponents;\n whereFilterComponents: IComponents;\n\n vueRouter: VueRouter;\n\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\n\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\n new Event();\n\n constructor(options: MSAppClientOptions) {\n this._options = this._normalizeOptions(options);\n\n this.appID = this._options.appID;\n\n this.logo = this._options.logo;\n\n this.projectName = options.projectName;\n\n this.i18n = I18n.instance;\n this.i18n.setCurrentLanguageName(this._options.locale);\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n\n this.vueRouter = this._options.vueRouter;\n\n this.pageManager = this._options.pageManager;\n\n HttpRequest.appID = this.appID;\n\n this.httpRequest = this._options.httpRequest;\n\n DataModel.setHttpRequest(this.httpRequest);\n DVQueryable.setDefaultDataViewRequest(\n new DataViewRequest({ httpRequest: this.httpRequest })\n );\n }\n\n setUserSession(userSession: UserSession | null) {\n if (this.userSession) {\n this.userSession.dispose();\n }\n\n this.userSession = userSession;\n\n this.userSessionChangeEvent.emit({ userSession });\n }\n\n private _normalizeOptions(\n options: MSAppClientOptions\n ): Required<MSAppClientOptions> {\n return {\n appID: options.appID,\n projectName: options.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: options.origin,\n logo: options.logo || \"\",\n locale: options.locale || \"zh-cn\",\n vueRouter:\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n }),\n pageManager: options.pageManager ?? new PageManager(),\n dataTableComponents: options.dataTableComponents ?? new Components(),\n dataFormComponents: options.dataFormComponents ?? new Components(),\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\n };\n }\n getI18n() {\n return this.i18n;\n }\n\n getOptions() {\n return this._options;\n }\n\n async loadCurrentUserSession(options?: {\n accessToken: string;\n xAccessToken: string;\n }) {\n const userSession = (this.userSession = new UserSession({\n msAppClient: this,\n ...options,\n }));\n this.userSession = null;\n\n this.beforeInitUserSessionEvent.emit({ userSession });\n const userSessionInitResult = await userSession.init();\n\n if (userSessionInitResult?.data.code !== 200) {\n userSession.dispose();\n return userSessionInitResult!;\n }\n\n this.setUserSession(userSession);\n }\n\n async init() {\n if (this.initd) {\n return;\n }\n\n this.vueRouter.beforeEach(async (to, from, next) => {\n const route = await authBeforeEach(this, to, from);\n\n if (route) {\n next(route);\n return;\n }\n\n next();\n });\n\n this.pageManager.init();\n this.pageManager.setMSAppCLient(this);\n\n this.httpRequest.getInterceptors().response.use((config) => {\n if (config.data.code === 401) {\n if (this.userSession) {\n this.userSession.lock();\n } else {\n this.vueRouter.push({ name: \"login\" });\n }\n }\n return config;\n });\n\n this.initd = true;\n }\n\n async login(account: string, password: string, code: string) {\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\n });\n\n if (response.data.code === 200) {\n await this.loadCurrentUserSession({\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\n });\n }\n\n return response;\n }\n\n formatURL(url: string) {\n return url;\n }\n\n async modifyPassword(account: string, code: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/modify-password\",\n method: \"POST\",\n data: { account, vCode: code },\n });\n\n return response;\n }\n\n async logout() {\n this.userSession?.dispose();\n this.setUserSession(null);\n\n return this.httpRequest.get(\"/api/ms-login/logout\");\n }\n}\n"],"names":["Event","I18n","HttpRequest","DataModel","DVQueryable","DataViewRequest","WebHttpRequest","createRouter","createWebHashHistory","PageManager","Components","UserSession","authBeforeEach","md5","ACCESS_TOKEN_HEADER","X_ACCESS_TOKEN_HEADER"],"mappings":"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"}
|
|
@@ -2,6 +2,10 @@ import { defineComponent, computed, createVNode, unref } from 'vue';
|
|
|
2
2
|
import { ElUpload, ElMessage } from 'element-plus';
|
|
3
3
|
import { WebFileUpload, UploadError } from '@maketribe/request';
|
|
4
4
|
import { uploadFileProps, uploadFileEmits } from './upload-file-options.js';
|
|
5
|
+
import '@maketribe/dm';
|
|
6
|
+
import '@maketribe/utils';
|
|
7
|
+
import '../../core/DataModelDefines.js';
|
|
8
|
+
import { MSAppClient } from '../../core/MSAppClient.js';
|
|
5
9
|
|
|
6
10
|
var UploadFile = /* @__PURE__ */ defineComponent({
|
|
7
11
|
name: "MKUploadFile",
|
|
@@ -11,7 +15,9 @@ var UploadFile = /* @__PURE__ */ defineComponent({
|
|
|
11
15
|
slots,
|
|
12
16
|
emit
|
|
13
17
|
}) {
|
|
14
|
-
const upload = props.upload ?? new WebFileUpload(
|
|
18
|
+
const upload = props.upload ?? new WebFileUpload({
|
|
19
|
+
httpRequest: MSAppClient.instance.httpRequest
|
|
20
|
+
});
|
|
15
21
|
const fileList = computed({
|
|
16
22
|
get: () => props.fileList,
|
|
17
23
|
set: (v) => emit("update:file-list", v)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-file.js","sources":["../../../../src/components/upload-file/upload-file.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { ElMessage, ElUpload, UploadFile, UploadFiles } from \"element-plus\";\nimport { UploadError, WebFileUpload } from \"@maketribe/request\";\nimport { uploadFileProps, uploadFileEmits } from \"./upload-file-options\";\n\nexport default defineComponent({\n name: \"MKUploadFile\",\n props: uploadFileProps,\n emits: uploadFileEmits,\n setup(props, { slots, emit }) {\n const upload
|
|
1
|
+
{"version":3,"file":"upload-file.js","sources":["../../../../src/components/upload-file/upload-file.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { ElMessage, ElUpload, UploadFile, UploadFiles } from \"element-plus\";\nimport { UploadError, WebFileUpload } from \"@maketribe/request\";\nimport { uploadFileProps, uploadFileEmits } from \"./upload-file-options\";\nimport { MSAppClient } from \"../../core\";\n\nexport default defineComponent({\n name: \"MKUploadFile\",\n props: uploadFileProps,\n emits: uploadFileEmits,\n setup(props, { slots, emit }) {\n const upload =\n props.upload ??\n new WebFileUpload({ httpRequest: MSAppClient.instance!.httpRequest });\n\n const fileList = computed({\n get: () => props.fileList,\n set: (v) => emit(\"update:file-list\", v),\n });\n\n const handleChange = async (uploadFile: UploadFile) => {\n if (uploadFile.raw) {\n try {\n const result = await upload.upload(uploadFile.raw);\n if (result.data.code == 200) {\n emit(\"uploadSuccess\", result);\n }\n } catch (e) {\n if (e instanceof UploadError) {\n ElMessage.error(e.message);\n }\n }\n }\n };\n\n const handleRemove = (uploadFile: UploadFile, uploadFiles: UploadFiles) => {\n emit(\"remove\", uploadFile, uploadFiles);\n };\n\n return () => {\n return (\n <ElUpload\n class=\"mk-upload-file\"\n autoUpload={false}\n showFileList={props.showFileList}\n fileList={unref(fileList)}\n listType={props.listType}\n onChange={handleChange}\n onRemove={handleRemove}\n limit={props.limit}\n v-slots={slots}\n />\n );\n };\n },\n});\n"],"names":["name","props","uploadFileProps","emits","uploadFileEmits","setup","slots","emit","upload","WebFileUpload","httpRequest","MSAppClient","instance","fileList","computed","get","set","v","handleChange","uploadFile","raw","result","data","code","e","UploadError","ElMessage","error","message","handleRemove","uploadFiles","_createVNode","ElUpload","showFileList","unref","listType","limit"],"mappings":";;;;;;;;;AAMA,iCAA+B,eAAA,CAAA;AAAA,EAC7BA,IAAM,EAAA,cAAA;AAAA,EACNC,KAAOC,EAAAA,eAAAA;AAAAA,EACPC,KAAOC,EAAAA,eAAAA;AAAAA,EACPC,MAAMJ,KAAO,EAAA;AAAA,IAAEK,KAAAA;AAAAA,IAAOC,IAAAA;AAAAA,GAAQ,EAAA;AAC5B,IAAA,MAAMC,MACJP,GAAAA,KAAAA,CAAMO,MACN,IAAA,IAAIC,aAAc,CAAA;AAAA,MAAEC,WAAAA,EAAaC,YAAYC,QAAUF,CAAAA,WAAAA;AAAAA,KAAa,CAAA,CAAA;AAEtE,IAAA,MAAMG,WAAWC,QAAS,CAAA;AAAA,MACxBC,GAAAA,EAAKA,MAAMd,KAAMY,CAAAA,QAAAA;AAAAA,MACjBG,GAAMC,EAAAA,CAAAA,CAAAA,KAAMV,IAAK,CAAA,kBAAA,EAAoBU,CAAC,CAAA;AAAA,KACvC,CAAA,CAAA;AAED,IAAMC,MAAAA,YAAAA,GAAe,OAAOC,UAA2B,KAAA;AACrD,MAAA,IAAIA,WAAWC,GAAK,EAAA;AAClB,QAAI,IAAA;AACF,UAAA,MAAMC,MAAS,GAAA,MAAMb,MAAOA,CAAAA,MAAAA,CAAOW,WAAWC,GAAG,CAAA,CAAA;AACjD,UAAIC,IAAAA,MAAAA,CAAOC,IAAKC,CAAAA,IAAAA,IAAQ,GAAK,EAAA;AAC3BhB,YAAAA,IAAAA,CAAK,iBAAiBc,MAAM,CAAA,CAAA;AAAA,WAC9B;AAAA,iBACOG,CAAG,EAAA;AACV,UAAA,IAAIA,aAAaC,WAAa,EAAA;AAC5BC,YAAUC,SAAAA,CAAAA,KAAAA,CAAMH,EAAEI,OAAO,CAAA,CAAA;AAAA,WAC3B;AAAA,SACF;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAMC,MAAAA,YAAAA,GAAeA,CAACV,UAAAA,EAAwBW,WAA6B,KAAA;AACzEvB,MAAK,IAAA,CAAA,QAAA,EAAUY,YAAYW,WAAW,CAAA,CAAA;AAAA,KACxC,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,OAAAC,YAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,EAAA,gBAAA;AAAA,QAAA,YAGgB,EAAA,KAAA;AAAA,QAAK,gBACH/B,KAAMgC,CAAAA,YAAAA;AAAAA,QAAY,UAAA,EACtBC,MAAMrB,QAAQ,CAAA;AAAA,QAAC,YACfZ,KAAMkC,CAAAA,QAAAA;AAAAA,QAAQ,UACdjB,EAAAA,YAAAA;AAAAA,QAAY,UACZW,EAAAA,YAAAA;AAAAA,QAAY,SACf5B,KAAMmC,CAAAA,KAAAA;AAAAA,SACJ9B,KAAK,CAAA,CAAA;AAAA,KAGpB,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRouter, createWebHashHistory } from 'vue-router';
|
|
2
|
-
import { HttpRequest, WebHttpRequest } from '@maketribe/request';
|
|
2
|
+
import { HttpRequest, DVQueryable, DataViewRequest, WebHttpRequest } from '@maketribe/request';
|
|
3
3
|
import { DataModel, Components } from '@maketribe/dm';
|
|
4
4
|
import { I18n } from '@maketribe/locale';
|
|
5
5
|
import { Event, md5 } from '@maketribe/utils';
|
|
@@ -51,6 +51,9 @@ class MSAppClient {
|
|
|
51
51
|
HttpRequest.appID = this.appID;
|
|
52
52
|
this.httpRequest = this._options.httpRequest;
|
|
53
53
|
DataModel.setHttpRequest(this.httpRequest);
|
|
54
|
+
DVQueryable.setDefaultDataViewRequest(
|
|
55
|
+
new DataViewRequest({ httpRequest: this.httpRequest })
|
|
56
|
+
);
|
|
54
57
|
}
|
|
55
58
|
setUserSession(userSession) {
|
|
56
59
|
if (this.userSession) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport { HttpRequest, R, WebHttpRequest } from \"@maketribe/request\";\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\nimport { I18n } from \"@maketribe/locale\";\n\nimport { Event, md5 } from \"@maketribe/utils\";\nimport { UserSession } from \"./UserSession\";\nimport { authBeforeEach } from \"../router-middleware\";\nimport { PageManager } from \"./PageManager\";\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\n\nexport type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n};\n\nexport interface MSAppClientOptions {\n pageManager?: PageManager;\n projectName: string;\n httpRequest?: HttpRequest;\n origin: string;\n appID: string;\n logo?: string;\n locale?: string;\n vueRouter?: VueRouter;\n dataTableComponents?: IComponents;\n dataFormComponents?: IComponents;\n dataFilterComponents?: IComponents;\n whereFilterComponents?: IComponents;\n}\n\nexport class MSAppClient {\n static instance: MSAppClient | null = null;\n\n origin: string = \"\";\n\n private _options: Required<MSAppClientOptions>;\n\n projectName: string;\n\n logo: string;\n\n appID: string;\n\n userSession: UserSession | null = null;\n\n httpRequest: HttpRequest;\n\n ready: boolean = false;\n\n initd: boolean = false;\n\n pageManager: PageManager;\n\n /**\n * @deprecated\n * @description 使用 MSAppClient.instance.userSession.userInfo\n */\n get userInfo() {\n return this.userSession?.userInfo ?? null;\n }\n\n i18n: I18n;\n\n dataTableComponents: IComponents;\n dataFormComponents: IComponents;\n dataFilterComponents: IComponents;\n whereFilterComponents: IComponents;\n\n vueRouter: VueRouter;\n\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\n\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\n new Event();\n\n constructor(options: MSAppClientOptions) {\n this._options = this._normalizeOptions(options);\n\n this.appID = this._options.appID;\n\n this.logo = this._options.logo;\n\n this.projectName = options.projectName;\n\n this.i18n = I18n.instance;\n this.i18n.setCurrentLanguageName(this._options.locale);\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n\n this.vueRouter = this._options.vueRouter;\n\n this.pageManager = this._options.pageManager;\n\n HttpRequest.appID = this.appID;\n\n this.httpRequest = this._options.httpRequest;\n\n DataModel.setHttpRequest(this.httpRequest);\n }\n\n setUserSession(userSession: UserSession | null) {\n if (this.userSession) {\n this.userSession.dispose();\n }\n\n this.userSession = userSession;\n\n this.userSessionChangeEvent.emit({ userSession });\n }\n\n private _normalizeOptions(\n options: MSAppClientOptions\n ): Required<MSAppClientOptions> {\n return {\n appID: options.appID,\n projectName: options.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: options.origin,\n logo: options.logo || \"\",\n locale: options.locale || \"zh-cn\",\n vueRouter:\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n }),\n pageManager: options.pageManager ?? new PageManager(),\n dataTableComponents: options.dataTableComponents ?? new Components(),\n dataFormComponents: options.dataFormComponents ?? new Components(),\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\n };\n }\n getI18n() {\n return this.i18n;\n }\n\n getOptions() {\n return this._options;\n }\n\n async loadCurrentUserSession(options?: {\n accessToken: string;\n xAccessToken: string;\n }) {\n const userSession = (this.userSession = new UserSession({\n msAppClient: this,\n ...options,\n }));\n this.userSession = null;\n\n this.beforeInitUserSessionEvent.emit({ userSession });\n const userSessionInitResult = await userSession.init();\n\n if (userSessionInitResult?.data.code !== 200) {\n userSession.dispose();\n return userSessionInitResult!;\n }\n\n this.setUserSession(userSession);\n }\n\n async init() {\n if (this.initd) {\n return;\n }\n\n this.vueRouter.beforeEach(async (to, from, next) => {\n const route = await authBeforeEach(this, to, from);\n\n if (route) {\n next(route);\n return;\n }\n\n next();\n });\n\n this.pageManager.init();\n this.pageManager.setMSAppCLient(this);\n\n this.httpRequest.getInterceptors().response.use((config) => {\n if (config.data.code === 401) {\n if (this.userSession) {\n this.userSession.lock();\n } else {\n this.vueRouter.push({ name: \"login\" });\n }\n }\n return config;\n });\n\n this.initd = true;\n }\n\n async login(account: string, password: string, code: string) {\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\n });\n\n if (response.data.code === 200) {\n await this.loadCurrentUserSession({\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\n });\n }\n\n return response;\n }\n\n formatURL(url: string) {\n return url;\n }\n\n async modifyPassword(account: string, code: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/modify-password\",\n method: \"POST\",\n data: { account, vCode: code },\n });\n\n return response;\n }\n\n async logout() {\n this.userSession?.dispose();\n this.setUserSession(null);\n\n return this.httpRequest.get(\"/api/ms-login/logout\");\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport {\n DataViewRequest,\n DVQueryable,\n HttpRequest,\n R,\n WebHttpRequest,\n} from \"@maketribe/request\";\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\nimport { I18n } from \"@maketribe/locale\";\n\nimport { Event, md5 } from \"@maketribe/utils\";\nimport { UserSession } from \"./UserSession\";\nimport { authBeforeEach } from \"../router-middleware\";\nimport { PageManager } from \"./PageManager\";\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\n\nexport type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n};\n\nexport interface MSAppClientOptions {\n pageManager?: PageManager;\n projectName: string;\n httpRequest?: HttpRequest;\n origin: string;\n appID: string;\n logo?: string;\n locale?: string;\n vueRouter?: VueRouter;\n dataTableComponents?: IComponents;\n dataFormComponents?: IComponents;\n dataFilterComponents?: IComponents;\n whereFilterComponents?: IComponents;\n}\n\nexport class MSAppClient {\n static instance: MSAppClient | null = null;\n\n origin: string = \"\";\n\n private _options: Required<MSAppClientOptions>;\n\n projectName: string;\n\n logo: string;\n\n appID: string;\n\n userSession: UserSession | null = null;\n\n httpRequest: HttpRequest;\n\n ready: boolean = false;\n\n initd: boolean = false;\n\n pageManager: PageManager;\n\n /**\n * @deprecated\n * @description 使用 MSAppClient.instance.userSession.userInfo\n */\n get userInfo() {\n return this.userSession?.userInfo ?? null;\n }\n\n i18n: I18n;\n\n dataTableComponents: IComponents;\n dataFormComponents: IComponents;\n dataFilterComponents: IComponents;\n whereFilterComponents: IComponents;\n\n vueRouter: VueRouter;\n\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\n\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\n new Event();\n\n constructor(options: MSAppClientOptions) {\n this._options = this._normalizeOptions(options);\n\n this.appID = this._options.appID;\n\n this.logo = this._options.logo;\n\n this.projectName = options.projectName;\n\n this.i18n = I18n.instance;\n this.i18n.setCurrentLanguageName(this._options.locale);\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n\n this.vueRouter = this._options.vueRouter;\n\n this.pageManager = this._options.pageManager;\n\n HttpRequest.appID = this.appID;\n\n this.httpRequest = this._options.httpRequest;\n\n DataModel.setHttpRequest(this.httpRequest);\n DVQueryable.setDefaultDataViewRequest(\n new DataViewRequest({ httpRequest: this.httpRequest })\n );\n }\n\n setUserSession(userSession: UserSession | null) {\n if (this.userSession) {\n this.userSession.dispose();\n }\n\n this.userSession = userSession;\n\n this.userSessionChangeEvent.emit({ userSession });\n }\n\n private _normalizeOptions(\n options: MSAppClientOptions\n ): Required<MSAppClientOptions> {\n return {\n appID: options.appID,\n projectName: options.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: options.origin,\n logo: options.logo || \"\",\n locale: options.locale || \"zh-cn\",\n vueRouter:\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n }),\n pageManager: options.pageManager ?? new PageManager(),\n dataTableComponents: options.dataTableComponents ?? new Components(),\n dataFormComponents: options.dataFormComponents ?? new Components(),\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\n };\n }\n getI18n() {\n return this.i18n;\n }\n\n getOptions() {\n return this._options;\n }\n\n async loadCurrentUserSession(options?: {\n accessToken: string;\n xAccessToken: string;\n }) {\n const userSession = (this.userSession = new UserSession({\n msAppClient: this,\n ...options,\n }));\n this.userSession = null;\n\n this.beforeInitUserSessionEvent.emit({ userSession });\n const userSessionInitResult = await userSession.init();\n\n if (userSessionInitResult?.data.code !== 200) {\n userSession.dispose();\n return userSessionInitResult!;\n }\n\n this.setUserSession(userSession);\n }\n\n async init() {\n if (this.initd) {\n return;\n }\n\n this.vueRouter.beforeEach(async (to, from, next) => {\n const route = await authBeforeEach(this, to, from);\n\n if (route) {\n next(route);\n return;\n }\n\n next();\n });\n\n this.pageManager.init();\n this.pageManager.setMSAppCLient(this);\n\n this.httpRequest.getInterceptors().response.use((config) => {\n if (config.data.code === 401) {\n if (this.userSession) {\n this.userSession.lock();\n } else {\n this.vueRouter.push({ name: \"login\" });\n }\n }\n return config;\n });\n\n this.initd = true;\n }\n\n async login(account: string, password: string, code: string) {\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\n });\n\n if (response.data.code === 200) {\n await this.loadCurrentUserSession({\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\n });\n }\n\n return response;\n }\n\n formatURL(url: string) {\n return url;\n }\n\n async modifyPassword(account: string, code: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/modify-password\",\n method: \"POST\",\n data: { account, vCode: code },\n });\n\n return response;\n }\n\n async logout() {\n this.userSession?.dispose();\n this.setUserSession(null);\n\n return this.httpRequest.get(\"/api/ms-login/logout\");\n }\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maketribe/ms-app",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.16",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"files": [
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"vue": "^3.3.4",
|
|
21
21
|
"vue-codemirror": "^6.1.1",
|
|
22
22
|
"vue-router": "^4.2.4",
|
|
23
|
-
"@maketribe/locale": "^1.0.5",
|
|
24
23
|
"@maketribe/dm": "^3.0.9",
|
|
25
|
-
"@maketribe/
|
|
26
|
-
"@maketribe/
|
|
24
|
+
"@maketribe/locale": "^1.0.5",
|
|
25
|
+
"@maketribe/request": "^1.1.11",
|
|
26
|
+
"@maketribe/utils": "^1.1.4"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "npm run clean && npm run build:js && npm run build:type && npm run build:style",
|
|
@@ -2,13 +2,16 @@ import { computed, defineComponent, unref } from "vue";
|
|
|
2
2
|
import { ElMessage, ElUpload, UploadFile, UploadFiles } from "element-plus";
|
|
3
3
|
import { UploadError, WebFileUpload } from "@maketribe/request";
|
|
4
4
|
import { uploadFileProps, uploadFileEmits } from "./upload-file-options";
|
|
5
|
+
import { MSAppClient } from "../../core";
|
|
5
6
|
|
|
6
7
|
export default defineComponent({
|
|
7
8
|
name: "MKUploadFile",
|
|
8
9
|
props: uploadFileProps,
|
|
9
10
|
emits: uploadFileEmits,
|
|
10
11
|
setup(props, { slots, emit }) {
|
|
11
|
-
const upload =
|
|
12
|
+
const upload =
|
|
13
|
+
props.upload ??
|
|
14
|
+
new WebFileUpload({ httpRequest: MSAppClient.instance!.httpRequest });
|
|
12
15
|
|
|
13
16
|
const fileList = computed({
|
|
14
17
|
get: () => props.fileList,
|
package/src/core/MSAppClient.ts
CHANGED
|
@@ -3,7 +3,13 @@ import {
|
|
|
3
3
|
createWebHashHistory,
|
|
4
4
|
Router as VueRouter,
|
|
5
5
|
} from "vue-router";
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
DataViewRequest,
|
|
8
|
+
DVQueryable,
|
|
9
|
+
HttpRequest,
|
|
10
|
+
R,
|
|
11
|
+
WebHttpRequest,
|
|
12
|
+
} from "@maketribe/request";
|
|
7
13
|
import { IComponents, DataModel, Components } from "@maketribe/dm";
|
|
8
14
|
import { I18n } from "@maketribe/locale";
|
|
9
15
|
|
|
@@ -106,6 +112,9 @@ export class MSAppClient {
|
|
|
106
112
|
this.httpRequest = this._options.httpRequest;
|
|
107
113
|
|
|
108
114
|
DataModel.setHttpRequest(this.httpRequest);
|
|
115
|
+
DVQueryable.setDefaultDataViewRequest(
|
|
116
|
+
new DataViewRequest({ httpRequest: this.httpRequest })
|
|
117
|
+
);
|
|
109
118
|
}
|
|
110
119
|
|
|
111
120
|
setUserSession(userSession: UserSession | null) {
|