@maketribe/ms-app 3.2.55 → 3.2.57

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.
@@ -27,7 +27,7 @@ const _MsConfigTable = class _MsConfigTable extends (_b = dm.DataTable, _a = dat
27
27
  super({
28
28
  name: _MsConfigTable[dataModel.DATA_MODEL_NAME],
29
29
  moduleName: index.MODULE_NAME,
30
- sortFieldName: "sortNo",
30
+ // sortFieldName: "sortNo",
31
31
  ...options
32
32
  });
33
33
  }
@@ -50,14 +50,14 @@ const _MsConfigTable = class _MsConfigTable extends (_b = dm.DataTable, _a = dat
50
50
  this.setColumns([
51
51
  new dm.TableColumn({ name: "key", label: "配置键" }),
52
52
  new dm.TableColumn({ name: "memo", label: "备注" }),
53
- new dm.TableColumn({
54
- name: "sortNo",
55
- label: "排序",
56
- componentInfo: "MKColumnSort",
57
- componentProps: {
58
- // drag: true
59
- }
60
- }),
53
+ // new TableColumn({
54
+ // name: "sortNo",
55
+ // label: "排序",
56
+ // componentInfo: "MKColumnSort",
57
+ // componentProps: {
58
+ // // drag: true
59
+ // }
60
+ // }),
61
61
  new dm.TableActionColumn()
62
62
  ]);
63
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MsConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\r\nimport {\r\n DataTable,\r\n DataTableOptions,\r\n TableColumn,\r\n TableActionColumn,\r\n TableHeaderItem,\r\n RefreshButton,\r\n AddButton,\r\n FilterColumn,\r\n} from \"@maketribe/dm\";\r\nimport { MsConfig } from \"./MsConfigForm\";\r\nimport { R, ResponseConfig } from \"@maketribe/request\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class MsConfigTable extends DataTable<MsConfig> {\r\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\r\n\r\n private static _instance: MsConfigTable | null = null;\r\n\r\n static get instance(): MsConfigTable {\r\n if (!MsConfigTable._instance) {\r\n MsConfigTable._instance = new MsConfigTable();\r\n MsConfigTable._instance.init().then(() => {\r\n MsConfigTable._instance!.dataFilter.setReady();\r\n });\r\n }\r\n\r\n return MsConfigTable._instance;\r\n }\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsConfigTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n sortFieldName: \"sortNo\",\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.header.rightArea = [\r\n new RefreshButton(),\r\n new AddButton(),\r\n new TableHeaderItem({\r\n componentInfo: \"MKBatchOpt\",\r\n predicate: () =>\r\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\r\n }),\r\n ];\r\n\r\n this.dataFilter.setColumns([\r\n new FilterColumn({ name: \"key\", label: \"配置键\", search: true }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"key\", label: \"配置键\" }),\r\n new TableColumn({ name: \"memo\", label: \"备注\" }),\r\n new TableColumn({\r\n name: \"sortNo\",\r\n label: \"排序\",\r\n componentInfo: \"MKColumnSort\",\r\n componentProps: {\r\n // drag: true\r\n }\r\n }),\r\n new TableActionColumn(),\r\n ]);\r\n }\r\n\r\n formatItem(item: MsConfig): MsConfig {\r\n let value = item.value;\r\n\r\n try {\r\n value = JSON.parse(value);\r\n } catch (e) {}\r\n\r\n return { ...item, value };\r\n }\r\n\r\n static async loadConfig<T = any>(\r\n key: string\r\n ): Promise<ResponseConfig<R<MsConfig<T>>>> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.allList({\r\n data: { condition: where },\r\n });\r\n\r\n return {\r\n ...response,\r\n data: {\r\n ...response.data,\r\n data: response.data.data?.[0] ?? null,\r\n },\r\n };\r\n }\r\n\r\n static async getConfigValue<T = any>(key: string): Promise<T | null> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (response.data.code !== 200) {\r\n throw new Error(response.data.msg);\r\n }\r\n\r\n try {\r\n return JSON.parse(response.data.data[0]?.value);\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static async setConfigValue(key: string, value: any) {\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n\r\n const where = new Where();\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const listResponse = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (listResponse.data.code !== 200) {\r\n throw new Error(listResponse.data.msg);\r\n }\r\n\r\n const response =\r\n listResponse.data.data.length === 0\r\n ? await dataViewRequest.add({ key, value })\r\n : await dataViewRequest.update({\r\n ...listResponse.data.data[0],\r\n value,\r\n });\r\n\r\n return response.data;\r\n }\r\n}\r\n\r\n(window as any).MsConfigTable = MsConfigTable;\r\n"],"names":["DataTable","DATA_MODEL_NAME","MODULE_NAME","RefreshButton","AddButton","TableHeaderItem","MSAppClient","FilterColumn","TableColumn","TableActionColumn","Where","_a"],"mappings":"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"}
1
+ {"version":3,"file":"MsConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\r\nimport {\r\n DataTable,\r\n DataTableOptions,\r\n TableColumn,\r\n TableActionColumn,\r\n TableHeaderItem,\r\n RefreshButton,\r\n AddButton,\r\n FilterColumn,\r\n} from \"@maketribe/dm\";\r\nimport { MsConfig } from \"./MsConfigForm\";\r\nimport { R, ResponseConfig } from \"@maketribe/request\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class MsConfigTable extends DataTable<MsConfig> {\r\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\r\n\r\n private static _instance: MsConfigTable | null = null;\r\n\r\n static get instance(): MsConfigTable {\r\n if (!MsConfigTable._instance) {\r\n MsConfigTable._instance = new MsConfigTable();\r\n MsConfigTable._instance.init().then(() => {\r\n MsConfigTable._instance!.dataFilter.setReady();\r\n });\r\n }\r\n\r\n return MsConfigTable._instance;\r\n }\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsConfigTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n // sortFieldName: \"sortNo\",\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.header.rightArea = [\r\n new RefreshButton(),\r\n new AddButton(),\r\n new TableHeaderItem({\r\n componentInfo: \"MKBatchOpt\",\r\n predicate: () =>\r\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\r\n }),\r\n ];\r\n\r\n this.dataFilter.setColumns([\r\n new FilterColumn({ name: \"key\", label: \"配置键\", search: true }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"key\", label: \"配置键\" }),\r\n new TableColumn({ name: \"memo\", label: \"备注\" }),\r\n // new TableColumn({\r\n // name: \"sortNo\",\r\n // label: \"排序\",\r\n // componentInfo: \"MKColumnSort\",\r\n // componentProps: {\r\n // // drag: true\r\n // }\r\n // }),\r\n new TableActionColumn(),\r\n ]);\r\n }\r\n\r\n formatItem(item: MsConfig): MsConfig {\r\n let value = item.value;\r\n\r\n try {\r\n value = JSON.parse(value);\r\n } catch (e) {}\r\n\r\n return { ...item, value };\r\n }\r\n\r\n static async loadConfig<T = any>(\r\n key: string\r\n ): Promise<ResponseConfig<R<MsConfig<T>>>> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.allList({\r\n data: { condition: where },\r\n });\r\n\r\n return {\r\n ...response,\r\n data: {\r\n ...response.data,\r\n data: response.data.data?.[0] ?? null,\r\n },\r\n };\r\n }\r\n\r\n static async getConfigValue<T = any>(key: string): Promise<T | null> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (response.data.code !== 200) {\r\n throw new Error(response.data.msg);\r\n }\r\n\r\n try {\r\n return JSON.parse(response.data.data[0]?.value);\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static async setConfigValue(key: string, value: any) {\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n\r\n const where = new Where();\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const listResponse = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (listResponse.data.code !== 200) {\r\n throw new Error(listResponse.data.msg);\r\n }\r\n\r\n const response =\r\n listResponse.data.data.length === 0\r\n ? await dataViewRequest.add({ key, value })\r\n : await dataViewRequest.update({\r\n ...listResponse.data.data[0],\r\n value,\r\n });\r\n\r\n return response.data;\r\n }\r\n}\r\n\r\n(window as any).MsConfigTable = MsConfigTable;\r\n"],"names":["DataTable","DATA_MODEL_NAME","MODULE_NAME","RefreshButton","AddButton","TableHeaderItem","MSAppClient","FilterColumn","TableColumn","TableActionColumn","Where","_a"],"mappings":";;;;;;;;;;;;;;;AAiBO,MAAM,iBAAN,MAAM,wBAAsBA,QAAAA,WACzBC,eAAAA,iBADyBD,IAAoB;AAAA,EAKrD,WAAW,WAA0B;AAC/B,QAAA,CAAC,eAAc,WAAW;AACd,qBAAA,YAAY,IAAI;AAC9B,qBAAc,UAAU,KAAO,EAAA,KAAK,MAAM;AAC1B,uBAAA,UAAW,WAAW;MAAS,CAC9C;AAAA,IACH;AAEA,WAAO,eAAc;AAAA,EACvB;AAAA,EAEA,YAAY,UAA4B,IAAI;AACpC,UAAA;AAAA,MACJ,MAAM,eAAcC,yBAAe;AAAA,MACnC,YAAYC,MAAA;AAAA;AAAA,MAEZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,OAAO,YAAY;AAAA,MACtB,IAAIC,iBAAc;AAAA,MAClB,IAAIC,aAAU;AAAA,MACd,IAAIC,mBAAgB;AAAA,QAClB,eAAe;AAAA,QACf,WAAW,MACTC;;AAAAA,yBAAAA,OAAAA,MAAAA,YAAAA,YAAY,aAAZA,gBAAAA,IAAsB,gBAAtBA,gBAAAA,IAAmC,aAAnCA,mBAA6C,YAAW;AAAA;AAAA,MAAA,CAC3D;AAAA,IAAA;AAGH,SAAK,WAAW,WAAW;AAAA,MACzB,IAAIC,gBAAa,EAAE,MAAM,OAAO,OAAO,OAAO,QAAQ,MAAM;AAAA,IAAA,CAC7D;AAED,SAAK,WAAW;AAAA,MACd,IAAIC,GAAAA,YAAY,EAAE,MAAM,OAAO,OAAO,OAAO;AAAA,MAC7C,IAAIA,GAAAA,YAAY,EAAE,MAAM,QAAQ,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAS7C,IAAIC,qBAAkB;AAAA,IAAA,CACvB;AAAA,EACH;AAAA,EAEA,WAAW,MAA0B;AACnC,QAAI,QAAQ,KAAK;AAEb,QAAA;AACM,cAAA,KAAK,MAAM,KAAK;AAAA,aACjB,GAAG;AAAA,IAAC;AAEN,WAAA,EAAE,GAAG,MAAM;EACpB;AAAA,EAEA,aAAa,WACX,KACyC;;AACnC,UAAA,QAAQ,IAAIC,QAAAA;AAEZ,UAAA,aAAa,OAAO,KAAK,GAAG;AAE5B,UAAA,kBAAkB,eAAc,SAAS;AACzC,UAAA,WAAW,MAAM,gBAAgB,QAAQ;AAAA,MAC7C,MAAM,EAAE,WAAW,MAAM;AAAA,IAAA,CAC1B;AAEM,WAAA;AAAA,MACL,GAAG;AAAA,MACH,MAAM;AAAA,QACJ,GAAG,SAAS;AAAA,QACZ,QAAMC,MAAA,SAAS,KAAK,SAAd,gBAAAA,IAAqB,OAAM;AAAA,MACnC;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,aAAa,eAAwB,KAAgC;;AAC7D,UAAA,QAAQ,IAAID,QAAAA;AAEZ,UAAA,aAAa,OAAO,KAAK,GAAG;AAE5B,UAAA,kBAAkB,eAAc,SAAS;AACzC,UAAA,WAAW,MAAM,gBAAgB,MAAM;AAAA,MAC3C,MAAM,EAAE,WAAW,OAAO,IAAI,GAAG,IAAI,EAAE;AAAA,IAAA,CACxC;AAEG,QAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,YAAM,IAAI,MAAM,SAAS,KAAK,GAAG;AAAA,IACnC;AAEI,QAAA;AACF,aAAO,KAAK,OAAMC,MAAA,SAAS,KAAK,KAAK,CAAC,MAApB,gBAAAA,IAAuB,KAAK;AAAA,IAAA,QACxC;AACC,aAAA;AAAA,IACT;AAAA,EACF;AAAA,EAEA,aAAa,eAAe,KAAa,OAAY;AAC7C,UAAA,kBAAkB,eAAc,SAAS;AAEzC,UAAA,QAAQ,IAAID,QAAAA;AACZ,UAAA,aAAa,OAAO,KAAK,GAAG;AAE5B,UAAA,eAAe,MAAM,gBAAgB,MAAM;AAAA,MAC/C,MAAM,EAAE,WAAW,OAAO,IAAI,GAAG,IAAI,EAAE;AAAA,IAAA,CACxC;AAEG,QAAA,aAAa,KAAK,SAAS,KAAK;AAClC,YAAM,IAAI,MAAM,aAAa,KAAK,GAAG;AAAA,IACvC;AAEA,UAAM,WACJ,aAAa,KAAK,KAAK,WAAW,IAC9B,MAAM,gBAAgB,IAAI,EAAE,KAAK,MAAO,CAAA,IACxC,MAAM,gBAAgB,OAAO;AAAA,MAC3B,GAAG,aAAa,KAAK,KAAK,CAAC;AAAA,MAC3B;AAAA,IAAA,CACD;AAEP,WAAO,SAAS;AAAA,EAClB;AACF;AApIE,cADW,gBACHT,IAA2B;AAEnC,cAHW,gBAGI,aAAkC;AAH5C,IAAM,gBAAN;AAuIN,OAAe,gBAAgB;;"}
@@ -154,7 +154,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
154
154
  router.push({ path: "/" });
155
155
  }
156
156
  } catch (e) {
157
- elementPlus.ElMessage.error("登录失败");
158
157
  } finally {
159
158
  loading.value = false;
160
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{ loginFormData.account }} 绑定的邮箱!请查收!\r\n </div>\r\n </template>\r\n\r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput v-model=\"loginFormData.account\" placeholder=\"帐号\" @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput v-model=\"loginFormData.password\" type=\"password\" placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{ forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n <MKPasswordDialog v-model:showDialog=\"showDialog\"></MKPasswordDialog>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\nimport { MKPasswordDialog } from \"../../layouts/components/header/passwordDialog\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst showDialog = ref(false)\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n // 验证不通过\r\n if (!await formEl.value?.validate()) {\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence: scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult + \"\";\r\n console.log(vResult);\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n if (data.data.isMidifyPassword) {\r\n showDialog.value = true;\r\n }\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":["ref","useMSAppClient","useRouter","computed","reactive","MKOpenVerifyCode","ElMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEM,UAAA,aAAaA,QAAI,KAAK;AAE2BA,QAAAA,IAAI,IAAI;AAGpCA,QAAAA,IAAI,KAAK;AAE9B,UAAA,SAAmBA,QAAI,IAAI;AAEjC,UAAM,SAASC,eAAAA;AAEf,UAAM,SAASC,UAAAA;AAET,UAAA,UAAUF,QAAI,KAAK;AAEHG,QAAA;AAAA,MACpB,MAAM,CAAC,cAAc,WAAW,CAAC,cAAc;AAAA,IACjD;AACsBA,iBAAS,MAAM,CAAC,cAAc,OAAO;AAErD,UAAA,iBAAiBH,QAAI,KAAK;AAChC,UAAM,QAAQG,IAAA;AAAA,MAAS,MACrB,eAAe,QAAQ,mBAAmB;AAAA,IAAA;AAG5C,UAAM,QAAQ;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAGhD,UAAM,gBAAgBC,IAAAA,SAAS;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA,CACR;AAGK,UAAA,aAAa,OAAO,MAAc;;AAEtC,UAAI,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAY;AACnC;AAAA,MACF;AAEA,UAAI,UAAU,MAAMC,uBAAiB,EAAE,OAAO,MAAM,OAAc;AAGlE,oBAAc,QAAQ,UAAU;AAChC,cAAQ,IAAI,OAAO;AACf,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,YAAI,eAAe,OAAO;AAExB,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXC,wBAAAA,UAAA,MAAM,KAAK,OAAO,SAAS;AACrC;AAAA,UACF;AAEAA,gCAAU,QAAQ,cAAc;AAChC,yBAAe,QAAQ;AAAA,QAAA,OAElB;AAEL,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXA,wBAAAA,UAAA,MAAM,KAAK,OAAO,OAAO;AAC/B,gBAAA,KAAK,KAAK,kBAAkB;AAC9B,yBAAW,QAAQ;AAAA,YACrB;AACA;AAAA,UACF;AAEA,iBAAO,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,QAC3B;AAAA,eACO,GAAG;AACVA,8BAAU,MAAM,MAAM;AAAA,MAAA,UACtB;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{ loginFormData.account }} 绑定的邮箱!请查收!\r\n </div>\r\n </template>\r\n\r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput v-model=\"loginFormData.account\" placeholder=\"帐号\" @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput v-model=\"loginFormData.password\" type=\"password\" placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{ forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n <MKPasswordDialog v-model:showDialog=\"showDialog\"></MKPasswordDialog>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\nimport { MKPasswordDialog } from \"../../layouts/components/header/passwordDialog\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst showDialog = ref(false)\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n // 验证不通过\r\n if (!await formEl.value?.validate()) {\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence: scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult + \"\";\r\n console.log(vResult);\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n if (data.data.isMidifyPassword) {\r\n showDialog.value = true;\r\n }\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n // ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":["ref","useMSAppClient","useRouter","computed","reactive","MKOpenVerifyCode","ElMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEM,UAAA,aAAaA,QAAI,KAAK;AAE2BA,QAAAA,IAAI,IAAI;AAGpCA,QAAAA,IAAI,KAAK;AAE9B,UAAA,SAAmBA,QAAI,IAAI;AAEjC,UAAM,SAASC,eAAAA;AAEf,UAAM,SAASC,UAAAA;AAET,UAAA,UAAUF,QAAI,KAAK;AAEHG,QAAA;AAAA,MACpB,MAAM,CAAC,cAAc,WAAW,CAAC,cAAc;AAAA,IACjD;AACsBA,iBAAS,MAAM,CAAC,cAAc,OAAO;AAErD,UAAA,iBAAiBH,QAAI,KAAK;AAChC,UAAM,QAAQG,IAAA;AAAA,MAAS,MACrB,eAAe,QAAQ,mBAAmB;AAAA,IAAA;AAG5C,UAAM,QAAQ;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAGhD,UAAM,gBAAgBC,IAAAA,SAAS;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA,CACR;AAGK,UAAA,aAAa,OAAO,MAAc;;AAEtC,UAAI,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAY;AACnC;AAAA,MACF;AAEA,UAAI,UAAU,MAAMC,uBAAiB,EAAE,OAAO,MAAM,OAAc;AAGlE,oBAAc,QAAQ,UAAU;AAChC,cAAQ,IAAI,OAAO;AACf,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,YAAI,eAAe,OAAO;AAExB,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXC,wBAAAA,UAAA,MAAM,KAAK,OAAO,SAAS;AACrC;AAAA,UACF;AAEAA,gCAAU,QAAQ,cAAc;AAChC,yBAAe,QAAQ;AAAA,QAAA,OAElB;AAEL,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXA,wBAAAA,UAAA,MAAM,KAAK,OAAO,OAAO;AAC/B,gBAAA,KAAK,KAAK,kBAAkB;AAC9B,yBAAW,QAAQ;AAAA,YACrB;AACA;AAAA,UACF;AAEA,iBAAO,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,QAC3B;AAAA,eACO,GAAG;AAAA,MAAA,UAEV;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -25,7 +25,7 @@ const _MsConfigTable = class _MsConfigTable extends (_b = DataTable, _a = DATA_M
25
25
  super({
26
26
  name: _MsConfigTable[DATA_MODEL_NAME],
27
27
  moduleName: MODULE_NAME,
28
- sortFieldName: "sortNo",
28
+ // sortFieldName: "sortNo",
29
29
  ...options
30
30
  });
31
31
  }
@@ -48,14 +48,14 @@ const _MsConfigTable = class _MsConfigTable extends (_b = DataTable, _a = DATA_M
48
48
  this.setColumns([
49
49
  new TableColumn({ name: "key", label: "配置键" }),
50
50
  new TableColumn({ name: "memo", label: "备注" }),
51
- new TableColumn({
52
- name: "sortNo",
53
- label: "排序",
54
- componentInfo: "MKColumnSort",
55
- componentProps: {
56
- // drag: true
57
- }
58
- }),
51
+ // new TableColumn({
52
+ // name: "sortNo",
53
+ // label: "排序",
54
+ // componentInfo: "MKColumnSort",
55
+ // componentProps: {
56
+ // // drag: true
57
+ // }
58
+ // }),
59
59
  new TableActionColumn()
60
60
  ]);
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MsConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\r\nimport {\r\n DataTable,\r\n DataTableOptions,\r\n TableColumn,\r\n TableActionColumn,\r\n TableHeaderItem,\r\n RefreshButton,\r\n AddButton,\r\n FilterColumn,\r\n} from \"@maketribe/dm\";\r\nimport { MsConfig } from \"./MsConfigForm\";\r\nimport { R, ResponseConfig } from \"@maketribe/request\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class MsConfigTable extends DataTable<MsConfig> {\r\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\r\n\r\n private static _instance: MsConfigTable | null = null;\r\n\r\n static get instance(): MsConfigTable {\r\n if (!MsConfigTable._instance) {\r\n MsConfigTable._instance = new MsConfigTable();\r\n MsConfigTable._instance.init().then(() => {\r\n MsConfigTable._instance!.dataFilter.setReady();\r\n });\r\n }\r\n\r\n return MsConfigTable._instance;\r\n }\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsConfigTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n sortFieldName: \"sortNo\",\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.header.rightArea = [\r\n new RefreshButton(),\r\n new AddButton(),\r\n new TableHeaderItem({\r\n componentInfo: \"MKBatchOpt\",\r\n predicate: () =>\r\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\r\n }),\r\n ];\r\n\r\n this.dataFilter.setColumns([\r\n new FilterColumn({ name: \"key\", label: \"配置键\", search: true }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"key\", label: \"配置键\" }),\r\n new TableColumn({ name: \"memo\", label: \"备注\" }),\r\n new TableColumn({\r\n name: \"sortNo\",\r\n label: \"排序\",\r\n componentInfo: \"MKColumnSort\",\r\n componentProps: {\r\n // drag: true\r\n }\r\n }),\r\n new TableActionColumn(),\r\n ]);\r\n }\r\n\r\n formatItem(item: MsConfig): MsConfig {\r\n let value = item.value;\r\n\r\n try {\r\n value = JSON.parse(value);\r\n } catch (e) {}\r\n\r\n return { ...item, value };\r\n }\r\n\r\n static async loadConfig<T = any>(\r\n key: string\r\n ): Promise<ResponseConfig<R<MsConfig<T>>>> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.allList({\r\n data: { condition: where },\r\n });\r\n\r\n return {\r\n ...response,\r\n data: {\r\n ...response.data,\r\n data: response.data.data?.[0] ?? null,\r\n },\r\n };\r\n }\r\n\r\n static async getConfigValue<T = any>(key: string): Promise<T | null> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (response.data.code !== 200) {\r\n throw new Error(response.data.msg);\r\n }\r\n\r\n try {\r\n return JSON.parse(response.data.data[0]?.value);\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static async setConfigValue(key: string, value: any) {\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n\r\n const where = new Where();\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const listResponse = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (listResponse.data.code !== 200) {\r\n throw new Error(listResponse.data.msg);\r\n }\r\n\r\n const response =\r\n listResponse.data.data.length === 0\r\n ? await dataViewRequest.add({ key, value })\r\n : await dataViewRequest.update({\r\n ...listResponse.data.data[0],\r\n value,\r\n });\r\n\r\n return response.data;\r\n }\r\n}\r\n\r\n(window as any).MsConfigTable = MsConfigTable;\r\n"],"names":["_b","_a"],"mappings":"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"}
1
+ {"version":3,"file":"MsConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\r\nimport {\r\n DataTable,\r\n DataTableOptions,\r\n TableColumn,\r\n TableActionColumn,\r\n TableHeaderItem,\r\n RefreshButton,\r\n AddButton,\r\n FilterColumn,\r\n} from \"@maketribe/dm\";\r\nimport { MsConfig } from \"./MsConfigForm\";\r\nimport { R, ResponseConfig } from \"@maketribe/request\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class MsConfigTable extends DataTable<MsConfig> {\r\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\r\n\r\n private static _instance: MsConfigTable | null = null;\r\n\r\n static get instance(): MsConfigTable {\r\n if (!MsConfigTable._instance) {\r\n MsConfigTable._instance = new MsConfigTable();\r\n MsConfigTable._instance.init().then(() => {\r\n MsConfigTable._instance!.dataFilter.setReady();\r\n });\r\n }\r\n\r\n return MsConfigTable._instance;\r\n }\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsConfigTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n // sortFieldName: \"sortNo\",\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.header.rightArea = [\r\n new RefreshButton(),\r\n new AddButton(),\r\n new TableHeaderItem({\r\n componentInfo: \"MKBatchOpt\",\r\n predicate: () =>\r\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\r\n }),\r\n ];\r\n\r\n this.dataFilter.setColumns([\r\n new FilterColumn({ name: \"key\", label: \"配置键\", search: true }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"key\", label: \"配置键\" }),\r\n new TableColumn({ name: \"memo\", label: \"备注\" }),\r\n // new TableColumn({\r\n // name: \"sortNo\",\r\n // label: \"排序\",\r\n // componentInfo: \"MKColumnSort\",\r\n // componentProps: {\r\n // // drag: true\r\n // }\r\n // }),\r\n new TableActionColumn(),\r\n ]);\r\n }\r\n\r\n formatItem(item: MsConfig): MsConfig {\r\n let value = item.value;\r\n\r\n try {\r\n value = JSON.parse(value);\r\n } catch (e) {}\r\n\r\n return { ...item, value };\r\n }\r\n\r\n static async loadConfig<T = any>(\r\n key: string\r\n ): Promise<ResponseConfig<R<MsConfig<T>>>> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.allList({\r\n data: { condition: where },\r\n });\r\n\r\n return {\r\n ...response,\r\n data: {\r\n ...response.data,\r\n data: response.data.data?.[0] ?? null,\r\n },\r\n };\r\n }\r\n\r\n static async getConfigValue<T = any>(key: string): Promise<T | null> {\r\n const where = new Where();\r\n\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n const response = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (response.data.code !== 200) {\r\n throw new Error(response.data.msg);\r\n }\r\n\r\n try {\r\n return JSON.parse(response.data.data[0]?.value);\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static async setConfigValue(key: string, value: any) {\r\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\r\n\r\n const where = new Where();\r\n where.addCondition(\"key\", \"=\", key);\r\n\r\n const listResponse = await dataViewRequest.query({\r\n data: { condition: where, pc: 1, pn: 1 },\r\n });\r\n\r\n if (listResponse.data.code !== 200) {\r\n throw new Error(listResponse.data.msg);\r\n }\r\n\r\n const response =\r\n listResponse.data.data.length === 0\r\n ? await dataViewRequest.add({ key, value })\r\n : await dataViewRequest.update({\r\n ...listResponse.data.data[0],\r\n value,\r\n });\r\n\r\n return response.data;\r\n }\r\n}\r\n\r\n(window as any).MsConfigTable = MsConfigTable;\r\n"],"names":["_b","_a"],"mappings":"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"}
@@ -153,7 +153,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
153
153
  router.push({ path: "/" });
154
154
  }
155
155
  } catch (e) {
156
- ElMessage.error("登录失败");
157
156
  } finally {
158
157
  loading.value = false;
159
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{ loginFormData.account }} 绑定的邮箱!请查收!\r\n </div>\r\n </template>\r\n\r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput v-model=\"loginFormData.account\" placeholder=\"帐号\" @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput v-model=\"loginFormData.password\" type=\"password\" placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{ forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n <MKPasswordDialog v-model:showDialog=\"showDialog\"></MKPasswordDialog>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\nimport { MKPasswordDialog } from \"../../layouts/components/header/passwordDialog\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst showDialog = ref(false)\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n // 验证不通过\r\n if (!await formEl.value?.validate()) {\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence: scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult + \"\";\r\n console.log(vResult);\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n if (data.data.isMidifyPassword) {\r\n showDialog.value = true;\r\n }\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEM,UAAA,aAAa,IAAI,KAAK;AAE2B,QAAI,IAAI;AAGpC,QAAI,KAAK;AAE9B,UAAA,SAAmB,IAAI,IAAI;AAEjC,UAAM,SAAS;AAEf,UAAM,SAAS;AAET,UAAA,UAAU,IAAI,KAAK;AAEH;AAAA,MACpB,MAAM,CAAC,cAAc,WAAW,CAAC,cAAc;AAAA,IACjD;AACsB,aAAS,MAAM,CAAC,cAAc,OAAO;AAErD,UAAA,iBAAiB,IAAI,KAAK;AAChC,UAAM,QAAQ;AAAA,MAAS,MACrB,eAAe,QAAQ,mBAAmB;AAAA,IAAA;AAG5C,UAAM,QAAQ;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAGhD,UAAM,gBAAgB,SAAS;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA,CACR;AAGK,UAAA,aAAa,OAAO,MAAc;;AAEtC,UAAI,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAY;AACnC;AAAA,MACF;AAEA,UAAI,UAAU,MAAM,iBAAiB,EAAE,OAAO,MAAM,OAAc;AAGlE,oBAAc,QAAQ,UAAU;AAChC,cAAQ,IAAI,OAAO;AACf,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,YAAI,eAAe,OAAO;AAExB,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACX,sBAAA,MAAM,KAAK,OAAO,SAAS;AACrC;AAAA,UACF;AAEA,oBAAU,QAAQ,cAAc;AAChC,yBAAe,QAAQ;AAAA,QAAA,OAElB;AAEL,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACX,sBAAA,MAAM,KAAK,OAAO,OAAO;AAC/B,gBAAA,KAAK,KAAK,kBAAkB;AAC9B,yBAAW,QAAQ;AAAA,YACrB;AACA;AAAA,UACF;AAEA,iBAAO,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,QAC3B;AAAA,eACO,GAAG;AACV,kBAAU,MAAM,MAAM;AAAA,MAAA,UACtB;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{ loginFormData.account }} 绑定的邮箱!请查收!\r\n </div>\r\n </template>\r\n\r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput v-model=\"loginFormData.account\" placeholder=\"帐号\" @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput v-model=\"loginFormData.password\" type=\"password\" placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{ forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n <MKPasswordDialog v-model:showDialog=\"showDialog\"></MKPasswordDialog>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\nimport { MKPasswordDialog } from \"../../layouts/components/header/passwordDialog\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst showDialog = ref(false)\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n // 验证不通过\r\n if (!await formEl.value?.validate()) {\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence: scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult + \"\";\r\n console.log(vResult);\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n if (data.data.isMidifyPassword) {\r\n showDialog.value = true;\r\n }\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n // ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEM,UAAA,aAAa,IAAI,KAAK;AAE2B,QAAI,IAAI;AAGpC,QAAI,KAAK;AAE9B,UAAA,SAAmB,IAAI,IAAI;AAEjC,UAAM,SAAS;AAEf,UAAM,SAAS;AAET,UAAA,UAAU,IAAI,KAAK;AAEH;AAAA,MACpB,MAAM,CAAC,cAAc,WAAW,CAAC,cAAc;AAAA,IACjD;AACsB,aAAS,MAAM,CAAC,cAAc,OAAO;AAErD,UAAA,iBAAiB,IAAI,KAAK;AAChC,UAAM,QAAQ;AAAA,MAAS,MACrB,eAAe,QAAQ,mBAAmB;AAAA,IAAA;AAG5C,UAAM,QAAQ;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAGhD,UAAM,gBAAgB,SAAS;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA,CACR;AAGK,UAAA,aAAa,OAAO,MAAc;;AAEtC,UAAI,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAY;AACnC;AAAA,MACF;AAEA,UAAI,UAAU,MAAM,iBAAiB,EAAE,OAAO,MAAM,OAAc;AAGlE,oBAAc,QAAQ,UAAU;AAChC,cAAQ,IAAI,OAAO;AACf,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,YAAI,eAAe,OAAO;AAExB,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACX,sBAAA,MAAM,KAAK,OAAO,SAAS;AACrC;AAAA,UACF;AAEA,oBAAU,QAAQ,cAAc;AAChC,yBAAe,QAAQ;AAAA,QAAA,OAElB;AAEL,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACX,sBAAA,MAAM,KAAK,OAAO,OAAO;AAC/B,gBAAA,KAAK,KAAK,kBAAkB;AAC9B,yBAAW,QAAQ;AAAA,YACrB;AACA;AAAA,UACF;AAEA,iBAAO,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,QAC3B;AAAA,eACO,GAAG;AAAA,MAAA,UAEV;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maketribe/ms-app",
3
- "version": "3.2.55",
3
+ "version": "3.2.57",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -53,9 +53,9 @@
53
53
  "vue-cropper": "^1.1.4",
54
54
  "vue-router": "^4.2.4",
55
55
  "@maketribe/dm": "^3.2.13",
56
- "@maketribe/utils": "^3.2.1",
57
56
  "@maketribe/locale": "^3.2.0",
58
- "@maketribe/request": "^3.2.5"
57
+ "@maketribe/request": "^3.2.5",
58
+ "@maketribe/utils": "^3.2.1"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/sortablejs": "^1.15.8"