@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.
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js +9 -9
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/cjs/page/login/index.vue2.js +0 -1
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js +9 -9
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/esm/page/login/index.vue2.js +0 -1
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/package.json +3 -3
|
@@ -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
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
|
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;;"}
|
|
@@ -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;
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
|
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 +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;
|
|
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.
|
|
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"
|