@maketribe/ms-app 3.2.18 → 3.2.19
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/business/verify-dialog/verify-dialog-api.js +1 -1
- package/dist/cjs/components/business/verify-dialog/verify-dialog-api.js.map +1 -1
- package/dist/cjs/components/business/verify-dialog/verify-panel.js +22 -27
- package/dist/cjs/components/business/verify-dialog/verify-panel.js.map +1 -1
- package/dist/cjs/installer.js +4 -4
- package/dist/cjs/layouts/components/bar/index.js +4 -4
- package/dist/cjs/layouts/components/menu/menu-item.js +5 -5
- package/dist/cjs/layouts/components/simple-page-layout/index.vue.js +53 -0
- package/dist/cjs/layouts/components/simple-page-layout/index.vue.js.map +1 -0
- package/dist/cjs/layouts/components/simple-page-layout/index.vue2.js +4 -0
- package/dist/cjs/layouts/components/simple-page-layout/index.vue2.js.map +1 -0
- package/dist/cjs/layouts/components/simple-page-layout/team-image.vue.js +1506 -0
- package/dist/cjs/layouts/components/simple-page-layout/team-image.vue.js.map +1 -0
- package/dist/cjs/layouts/container/default.js +3 -3
- package/dist/cjs/message-impl/DialogerImpl.js +2 -4
- package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +2 -2
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +4 -4
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js +1 -4
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +4 -4
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +1 -4
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +4 -4
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +4 -4
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list.js +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +1 -4
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js +1 -4
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +1 -1
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +4 -4
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +2 -2
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +4 -4
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +4 -4
- package/dist/cjs/page/index/dv/default/edit.vue2.js +1 -1
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +4 -4
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +4 -4
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -2
- package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js +2 -2
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +4 -4
- package/dist/cjs/page/index/dv/default/table.vue2.js +1 -1
- package/dist/cjs/page/login/index.vue2.js +116 -127
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue2.js +104 -108
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/components/business/verify-dialog/verify-dialog-api.js +1 -1
- package/dist/esm/components/business/verify-dialog/verify-dialog-api.js.map +1 -1
- package/dist/esm/components/business/verify-dialog/verify-panel.js +23 -28
- package/dist/esm/components/business/verify-dialog/verify-panel.js.map +1 -1
- package/dist/esm/installer.js +4 -4
- package/dist/esm/layouts/components/bar/index.js +4 -4
- package/dist/esm/layouts/components/menu/menu-item.js +5 -5
- package/dist/esm/layouts/components/simple-page-layout/index.vue.js +54 -0
- package/dist/esm/layouts/components/simple-page-layout/index.vue.js.map +1 -0
- package/dist/esm/layouts/components/simple-page-layout/index.vue2.js +5 -0
- package/dist/esm/layouts/components/simple-page-layout/index.vue2.js.map +1 -0
- package/dist/esm/layouts/components/simple-page-layout/team-image.vue.js +1507 -0
- package/dist/esm/layouts/components/simple-page-layout/team-image.vue.js.map +1 -0
- package/dist/esm/layouts/container/default.js +3 -3
- package/dist/esm/message-impl/DialogerImpl.js +2 -4
- package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +2 -2
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +4 -4
- package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js +1 -4
- package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +4 -4
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +1 -4
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +4 -4
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +4 -4
- package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list.js +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +1 -4
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/esm/modules/ms/pages/icons/index.vue2.js +1 -4
- package/dist/esm/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js +1 -1
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +4 -4
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +2 -2
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +4 -4
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -1
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +4 -4
- package/dist/esm/page/index/dv/default/edit.vue2.js +1 -1
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +4 -4
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +4 -4
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -2
- package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js +2 -2
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +4 -4
- package/dist/esm/page/index/dv/default/table.vue2.js +1 -1
- package/dist/esm/page/login/index.vue2.js +117 -128
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue2.js +105 -109
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/style/index.css +1 -1
- package/dist/style/layouts/default/index.css +1 -1
- package/dist/style/layouts/default/simple-page-layout.css +1 -0
- package/dist/style/layouts/index.css +1 -1
- package/dist/style/page/index.css +1 -1
- package/dist/style/page/login.css +1 -1
- package/dist/style/src/layouts/default/index.scss +1 -0
- package/dist/style/src/layouts/default/simple-page-layout.scss +132 -0
- package/dist/style/src/page/login.scss +60 -86
- package/dist/types/layouts/components/simple-page-layout/index.vue.d.ts +11 -0
- package/dist/types/layouts/components/simple-page-layout/team-image.vue.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <
|
|
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\r\n v-model=\"loginFormData.account\"\r\n placeholder=\"帐号\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput\r\n v-model=\"loginFormData.password\"\r\n type=\"password\"\r\n placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\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 </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\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 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 // 验证不通过\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\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 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EuDA,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;;AAGtC,UAAG,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAW;AACjC;AAAA,MACF;AAEA,UAAI,UAAU,MAAMC,uBAAiB,EAAE,OAAM,MAAM,OAAc;AAGjE,oBAAc,QAAQ,UAAQ;AAE1B,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;AACnC;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -36,17 +36,12 @@ require("../../components/data-model/data-table-pagination/index.js");
|
|
|
36
36
|
const index = require("../../components/business/verify-dialog/index.js");
|
|
37
37
|
require("../../components/business/resource-list/index.js");
|
|
38
38
|
require("../../components/business/resource-manager/index.js");
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
const _hoisted_4 = { class: "login-main" };
|
|
46
|
-
const _hoisted_5 = { class: "form-container" };
|
|
47
|
-
const _hoisted_6 = { class: "form-wrap" };
|
|
48
|
-
const _hoisted_7 = { class: "form-title" };
|
|
49
|
-
const _hoisted_8 = { class: "notify" };
|
|
39
|
+
const index_vue_vue_type_script_setup_true_lang = require("../../layouts/components/simple-page-layout/index.vue.js");
|
|
40
|
+
const _hoisted_1 = { class: "login-form-wrap" };
|
|
41
|
+
const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("div", { class: "login-form-title" }, " 账号申请 ", -1);
|
|
42
|
+
const _hoisted_3 = { class: "login-form-item" };
|
|
43
|
+
const _hoisted_4 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
|
|
44
|
+
const _hoisted_5 = { class: "notify" };
|
|
50
45
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
51
46
|
...{
|
|
52
47
|
mkRoute: {
|
|
@@ -104,116 +99,117 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
104
99
|
};
|
|
105
100
|
vue.ref(false);
|
|
106
101
|
return (_ctx, _cache) => {
|
|
102
|
+
const _component_MKSvgIcon = vue.resolveComponent("MKSvgIcon");
|
|
107
103
|
const _component_el_link = vue.resolveComponent("el-link");
|
|
108
104
|
const _component_ElInput = vue.resolveComponent("ElInput");
|
|
109
105
|
const _component_ElFormItem = vue.resolveComponent("ElFormItem");
|
|
110
106
|
const _component_ElButton = vue.resolveComponent("ElButton");
|
|
111
107
|
const _component_ElForm = vue.resolveComponent("ElForm");
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
vue.createElementVNode("
|
|
119
|
-
vue.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
underline: false,
|
|
125
|
-
onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(router).push("/login"))
|
|
126
|
-
}, {
|
|
127
|
-
default: vue.withCtx(() => [
|
|
128
|
-
vue.createTextVNode(" 返回登录 ")
|
|
129
|
-
]),
|
|
130
|
-
_: 1
|
|
131
|
-
})
|
|
132
|
-
])
|
|
133
|
-
]),
|
|
134
|
-
vue.createVNode(_component_ElForm, {
|
|
135
|
-
model: signFormData,
|
|
136
|
-
rules,
|
|
137
|
-
size: "large",
|
|
138
|
-
ref_key: "formEl",
|
|
139
|
-
ref: formEl
|
|
108
|
+
return vue.openBlock(), vue.createBlock(index_vue_vue_type_script_setup_true_lang, { class: "login-wrap" }, {
|
|
109
|
+
default: vue.withCtx(() => [
|
|
110
|
+
vue.createElementVNode("div", _hoisted_1, [
|
|
111
|
+
_hoisted_2,
|
|
112
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
113
|
+
_hoisted_4,
|
|
114
|
+
vue.createElementVNode("span", _hoisted_5, [
|
|
115
|
+
vue.createTextVNode(" 已有账号? "),
|
|
116
|
+
vue.createVNode(_component_el_link, {
|
|
117
|
+
underline: false,
|
|
118
|
+
type: "primary",
|
|
119
|
+
onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(router).push("/login"))
|
|
140
120
|
}, {
|
|
141
121
|
default: vue.withCtx(() => [
|
|
142
|
-
vue.
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
vue.createVNode(
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
vue.createVNode(
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
vue.createVNode(
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
vue.createVNode(
|
|
122
|
+
vue.createTextVNode(" 返回登录 "),
|
|
123
|
+
vue.createVNode(_component_MKSvgIcon, {
|
|
124
|
+
iconClass: "ArrowRightBold",
|
|
125
|
+
style: { "margin-left": "5px" }
|
|
126
|
+
})
|
|
127
|
+
]),
|
|
128
|
+
_: 1
|
|
129
|
+
})
|
|
130
|
+
])
|
|
131
|
+
]),
|
|
132
|
+
vue.createVNode(_component_ElForm, {
|
|
133
|
+
model: signFormData,
|
|
134
|
+
rules,
|
|
135
|
+
size: "large",
|
|
136
|
+
ref_key: "formEl",
|
|
137
|
+
ref: formEl
|
|
138
|
+
}, {
|
|
139
|
+
default: vue.withCtx(() => [
|
|
140
|
+
vue.createVNode(_component_ElFormItem, { prop: "account" }, {
|
|
141
|
+
default: vue.withCtx(() => [
|
|
142
|
+
vue.createVNode(_component_ElInput, {
|
|
143
|
+
modelValue: signFormData.account,
|
|
144
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => signFormData.account = $event),
|
|
145
|
+
placeholder: "帐号"
|
|
146
|
+
}, null, 8, ["modelValue"])
|
|
147
|
+
]),
|
|
148
|
+
_: 1
|
|
149
|
+
}),
|
|
150
|
+
vue.createVNode(_component_ElFormItem, { prop: "email" }, {
|
|
151
|
+
default: vue.withCtx(() => [
|
|
152
|
+
vue.createVNode(_component_ElInput, {
|
|
153
|
+
modelValue: signFormData.email,
|
|
154
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => signFormData.email = $event),
|
|
155
|
+
placeholder: "邮箱"
|
|
156
|
+
}, null, 8, ["modelValue"])
|
|
157
|
+
]),
|
|
158
|
+
_: 1
|
|
159
|
+
}),
|
|
160
|
+
vue.createVNode(_component_ElFormItem, { prop: "name" }, {
|
|
161
|
+
default: vue.withCtx(() => [
|
|
162
|
+
vue.createVNode(_component_ElInput, {
|
|
163
|
+
modelValue: signFormData.name,
|
|
164
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => signFormData.name = $event),
|
|
165
|
+
placeholder: "姓名"
|
|
166
|
+
}, null, 8, ["modelValue"])
|
|
167
|
+
]),
|
|
168
|
+
_: 1
|
|
169
|
+
}),
|
|
170
|
+
vue.createVNode(_component_ElFormItem, { prop: "nickName" }, {
|
|
171
|
+
default: vue.withCtx(() => [
|
|
172
|
+
vue.createVNode(_component_ElInput, {
|
|
173
|
+
modelValue: signFormData.nickName,
|
|
174
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => signFormData.nickName = $event),
|
|
175
|
+
placeholder: "昵称"
|
|
176
|
+
}, null, 8, ["modelValue"])
|
|
177
|
+
]),
|
|
178
|
+
_: 1
|
|
179
|
+
}),
|
|
180
|
+
vue.createVNode(_component_ElFormItem, { prop: "phone" }, {
|
|
181
|
+
default: vue.withCtx(() => [
|
|
182
|
+
vue.createVNode(_component_ElInput, {
|
|
183
|
+
modelValue: signFormData.phone,
|
|
184
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => signFormData.phone = $event),
|
|
185
|
+
placeholder: "手机号"
|
|
186
|
+
}, null, 8, ["modelValue"])
|
|
187
|
+
]),
|
|
188
|
+
_: 1
|
|
189
|
+
}),
|
|
190
|
+
vue.createVNode(_component_ElFormItem, null, {
|
|
191
|
+
default: vue.withCtx(() => [
|
|
192
|
+
vue.createVNode(_component_ElButton, {
|
|
193
|
+
type: "primary",
|
|
194
|
+
style: { "width": "100%" },
|
|
195
|
+
loading: loading.value,
|
|
196
|
+
onClick: handleAccountApply
|
|
197
|
+
}, {
|
|
193
198
|
default: vue.withCtx(() => [
|
|
194
|
-
vue.
|
|
195
|
-
type: "primary",
|
|
196
|
-
style: { "width": "100%" },
|
|
197
|
-
loading: loading.value,
|
|
198
|
-
onClick: handleAccountApply
|
|
199
|
-
}, {
|
|
200
|
-
default: vue.withCtx(() => [
|
|
201
|
-
vue.createTextVNode(" 提交申请 ")
|
|
202
|
-
]),
|
|
203
|
-
_: 1
|
|
204
|
-
}, 8, ["loading"])
|
|
199
|
+
vue.createTextVNode(" 提交申请 ")
|
|
205
200
|
]),
|
|
206
201
|
_: 1
|
|
207
|
-
})
|
|
202
|
+
}, 8, ["loading"])
|
|
208
203
|
]),
|
|
209
204
|
_: 1
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
])
|
|
205
|
+
})
|
|
206
|
+
]),
|
|
207
|
+
_: 1
|
|
208
|
+
}, 8, ["model"])
|
|
214
209
|
])
|
|
215
|
-
])
|
|
216
|
-
|
|
210
|
+
]),
|
|
211
|
+
_: 1
|
|
212
|
+
});
|
|
217
213
|
};
|
|
218
214
|
}
|
|
219
215
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/signup/index.vue"],"sourcesContent":["<template>\r\n <
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/signup/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\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('/login')\">\r\n 返回登录\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n <ElForm\r\n :model=\"signFormData\"\r\n :rules=\"rules\"\r\n size=\"large\"\r\n ref=\"formEl\"\r\n >\r\n <ElFormItem prop=\"account\">\r\n <ElInput v-model=\"signFormData.account\" placeholder=\"帐号\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"email\">\r\n <ElInput v-model=\"signFormData.email\" placeholder=\"邮箱\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"name\">\r\n <ElInput v-model=\"signFormData.name\" placeholder=\"姓名\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"nickName\">\r\n <ElInput v-model=\"signFormData.nickName\" placeholder=\"昵称\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"phone\">\r\n <ElInput v-model=\"signFormData.phone\" placeholder=\"手机号\" />\r\n </ElFormItem>\r\n\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\"\r\n :loading=\"loading\" @click=\"handleAccountApply\">\r\n 提交申请\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n </div>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { FormRules } from \"element-plus\";\r\nimport { Messager } from \"@maketribe/dm\";\r\nimport { useHttpRequest } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"signup\",\r\n path: \"/signup\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst router = useRouter();\r\n\r\nconst httpRequest = useHttpRequest()!;\r\n\r\nconst loading = ref(false);\r\n\r\nconst rules: FormRules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n email: [\r\n {\r\n required: true,\r\n trigger: \"change\",\r\n validator: (rule, value, callback) => {\r\n if (!value) {\r\n callback(new Error(\"邮箱必填\"));\r\n } else if (\r\n !/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$/.test(value)\r\n ) {\r\n callback(new Error(\"邮箱规则不符\"));\r\n } else {\r\n callback();\r\n }\r\n },\r\n },\r\n ],\r\n name: [{ required: true, message: \"姓名必填\" }],\r\n};\r\n\r\n\r\nconst signFormData = reactive({\r\n account: \"\",\r\n email: \"\",\r\n name: \"\",\r\n nickName: \"\",\r\n phone: \"\",\r\n vCdoe:\"\"\r\n});\r\n\r\nconst handleAccountApply = async () => {\r\n\r\n if(! await formEl.value.validate()){\r\n return ;\r\n }\r\n\r\n // 验证码\r\n signFormData.vCdoe = (await MKOpenVerifyCode({ sence:\"AccountApply\" } as any)) + \"\";\r\n\r\n const result = await httpRequest.post(\"ms/app/account-apply\",signFormData);\r\n\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"注册失败\"});\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"注册成功,请联系管理员通过验证\" });\r\n};\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n</script>\r\n"],"names":["ref","useRouter","useHttpRequest","reactive","MKOpenVerifyCode","Messager"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEM,UAAA,SAAmBA,QAAI,IAAI;AAEjC,UAAM,SAASC,UAAAA;AAEf,UAAM,cAAcC,eAAAA;AAEd,UAAA,UAAUF,QAAI,KAAK;AAEzB,UAAM,QAAmB;AAAA,MACvB,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,OAAO;AAAA,QACL;AAAA,UACE,UAAU;AAAA,UACV,SAAS;AAAA,UACT,WAAW,CAAC,MAAM,OAAO,aAAa;AACpC,gBAAI,CAAC,OAAO;AACD,uBAAA,IAAI,MAAM,MAAM,CAAC;AAAA,YAE1B,WAAA,CAAC,qDAAqD,KAAK,KAAK,GAChE;AACS,uBAAA,IAAI,MAAM,QAAQ,CAAC;AAAA,YAAA,OACvB;AACI;YACX;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,MAAM,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAI5C,UAAM,eAAeG,IAAAA,SAAS;AAAA,MAC5B,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAM;AAAA,IAAA,CACP;AAED,UAAM,qBAAqB,YAAY;AAErC,UAAG,CAAE,MAAM,OAAO,MAAM,YAAW;AACjC;AAAA,MACF;AAGA,mBAAa,QAAS,MAAMC,MAAA,iBAAiB,EAAE,OAAM,eAAA,CAAuB,IAAK;AAEjF,YAAM,SAAS,MAAM,YAAY,KAAK,wBAAuB,YAAY;AAErE,UAAA,OAAO,KAAK,QAAQ,KAAK;AAC3BC,oBAAS,MAAM,EAAE,SAAS,OAAO,KAAK,OAAO,QAAO;AACpD;AAAA,MACF;AAEAA,SAAAA,SAAS,QAAQ,EAAE,SAAS,kBAAmB,CAAA;AAAA,IAAA;AAItBL,QAAAA,IAAI,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,7 +5,7 @@ async function OpenVerifyCode(options) {
|
|
|
5
5
|
return new Promise((resolve) => {
|
|
6
6
|
const dialogInstance = Dialoger.customRender({
|
|
7
7
|
width: options.width ?? "300px",
|
|
8
|
-
title: options.title ?? "
|
|
8
|
+
title: options.title ?? "图片验证",
|
|
9
9
|
class: "mk-verify-dialog",
|
|
10
10
|
body: () => createVNode(VerifyPanel, {
|
|
11
11
|
"scene": options.sence,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-dialog-api.js","sources":["../../../../../src/components/business/verify-dialog/verify-dialog-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport VerifyPanel from \"./verify-panel\";\r\nimport { ElButton } from \"element-plus\";\r\n\r\ntype VerifyCodeOptions = { sence:string,title:string,width:string }\r\n\r\nasync function OpenVerifyCode(options: VerifyCodeOptions): Promise<any> {\r\n return new Promise((resolve) => {\r\n \r\n const dialogInstance = Dialoger.customRender({\r\n width: options.width ?? \"300px\",\r\n title: options.title ?? \"
|
|
1
|
+
{"version":3,"file":"verify-dialog-api.js","sources":["../../../../../src/components/business/verify-dialog/verify-dialog-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport VerifyPanel from \"./verify-panel\";\r\nimport { ElButton } from \"element-plus\";\r\n\r\ntype VerifyCodeOptions = { sence:string,title:string,width:string }\r\n\r\nasync function OpenVerifyCode(options: VerifyCodeOptions): Promise<any> {\r\n return new Promise((resolve) => {\r\n \r\n const dialogInstance = Dialoger.customRender({\r\n width: options.width ?? \"300px\",\r\n title: options.title ?? \"图片验证\",\r\n class: \"mk-verify-dialog\",\r\n body: () => (\r\n <VerifyPanel scene={options.sence} onConfirm={\r\n result=>{\r\n dialogInstance.destroy();\r\n resolve(result)\r\n }\r\n }></VerifyPanel>\r\n ),\r\n footer: () => \"\",\r\n onClose: () => {\r\n setTimeout(() => {\r\n dialogInstance.destroy();\r\n }, 100);\r\n },\r\n });\r\n });\r\n}\r\n\r\nexport default OpenVerifyCode;\r\n"],"names":["OpenVerifyCode","options","Promise","resolve","dialogInstance","Dialoger","customRender","width","title","class","body","_createVNode","VerifyPanel","sence","result","destroy","footer","onClose","setTimeout"],"mappings":";;;AAOA,eAAeA,eAAeC,SAA0C;AACtE,SAAO,IAAIC,QAASC,aAAY;AAE9B,UAAMC,iBAAiBC,SAASC,aAAa;AAAA,MAC3CC,OAAON,QAAQM,SAAS;AAAA,MACxBC,OAAOP,QAAQO,SAAS;AAAA,MACxBC,OAAO;AAAA,MACPC,MAAMA,MAAAC,YAAAC,aAAA;AAAA,QAAA,SACgBX,QAAQY;AAAAA,QAAK,aAC/BC,YAAQ;AACNV,yBAAeW,QAAO;AACtBZ,kBAAQW,MAAM;AAAA,QAChB;AAAA,MAEH,GAAA,IAAA;AAAA,MACDE,QAAQA,MAAM;AAAA,MACdC,SAASA,MAAM;AACbC,mBAAW,MAAM;AACfd,yBAAeW,QAAO;AAAA,QACvB,GAAE,GAAG;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, unref, onMounted,
|
|
2
|
-
import "@maketribe/dm";
|
|
3
|
-
import "../../basic/config-provider/index.js";
|
|
4
|
-
import "vue-router";
|
|
5
|
-
import "@maketribe/request";
|
|
6
|
-
import "@maketribe/locale";
|
|
7
|
-
import { Disposable, createDisposable } from "@maketribe/utils";
|
|
8
|
-
import "../../../core/DataModelDefines.js";
|
|
9
|
-
import "element-plus";
|
|
10
|
-
import { useHttpRequest } from "../../../composables/use-http-request.js";
|
|
1
|
+
import { defineComponent, ref, computed, unref, onMounted, createVNode, Fragment, withDirectives, resolveDirective } from "vue";
|
|
11
2
|
import { verifyDialogProps, verifyDialogEmits } from "./verify-dialog-option.js";
|
|
3
|
+
import { WebHttpRequest } from "@maketribe/request";
|
|
4
|
+
import { Disposable, createDisposable } from "@maketribe/utils";
|
|
5
|
+
const webHttpRequest = new class InnerWebHttpRequest extends WebHttpRequest {
|
|
6
|
+
async getClientId() {
|
|
7
|
+
await this.loadClientIDPromise;
|
|
8
|
+
return this.clientID;
|
|
9
|
+
}
|
|
10
|
+
}();
|
|
12
11
|
const VerifyPanel = /* @__PURE__ */ defineComponent({
|
|
13
12
|
name: "VerifyPanel",
|
|
14
13
|
props: verifyDialogProps,
|
|
@@ -31,17 +30,18 @@ const VerifyPanel = /* @__PURE__ */ defineComponent({
|
|
|
31
30
|
transform: `rotate(-${unref(deg)}deg)`
|
|
32
31
|
};
|
|
33
32
|
});
|
|
34
|
-
const
|
|
33
|
+
const loadImage = async () => {
|
|
35
34
|
loading.value = true;
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
const clientId = await webHttpRequest.getClientId();
|
|
36
|
+
return await new Promise((reslove) => {
|
|
37
|
+
const img = new Image();
|
|
38
|
+
img.onload = () => {
|
|
39
|
+
imageUrl.value = img.src;
|
|
40
|
+
reslove(void 0);
|
|
41
|
+
loading.value = false;
|
|
42
|
+
};
|
|
43
|
+
img.src = `/api/ms/app/captcha/rotation/image?scene=${props.scene}&t=${Math.random()}&rcid=${clientId}`;
|
|
42
44
|
});
|
|
43
|
-
loading.value = false;
|
|
44
|
-
return response.data ?? null;
|
|
45
45
|
};
|
|
46
46
|
const handleSwitchConfirm = () => {
|
|
47
47
|
emit("confirm", unref(deg));
|
|
@@ -50,12 +50,12 @@ const VerifyPanel = /* @__PURE__ */ defineComponent({
|
|
|
50
50
|
if (unref(isError)) {
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
|
+
const startX = mouseDownEvent instanceof MouseEvent ? mouseDownEvent.clientX : mouseDownEvent.touches[0].clientX;
|
|
53
54
|
const disposable = new Disposable();
|
|
54
55
|
const totalWidth = unref(wrapperEl).getBoundingClientRect().width;
|
|
55
56
|
const handleMouseMove = (event) => {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
slideWidth = Math.min(Math.max(x - y + 48, 48), totalWidth);
|
|
57
|
+
const moveX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;
|
|
58
|
+
slideWidth = Math.min(Math.max(moveX - startX + 48, 48), totalWidth);
|
|
59
59
|
deg.value = Math.floor((slideWidth - 48) / (totalWidth - 48) * 360);
|
|
60
60
|
unref(grandEl).style.width = `${slideWidth}px`;
|
|
61
61
|
unref(buttonEl).style.transform = `translateX(${slideWidth - 48}px)`;
|
|
@@ -93,12 +93,7 @@ const VerifyPanel = /* @__PURE__ */ defineComponent({
|
|
|
93
93
|
}
|
|
94
94
|
});
|
|
95
95
|
onMounted(async () => {
|
|
96
|
-
|
|
97
|
-
const url = URL.createObjectURL(blob);
|
|
98
|
-
imageUrl.value = url;
|
|
99
|
-
onUnmounted(() => {
|
|
100
|
-
URL.revokeObjectURL(url);
|
|
101
|
-
});
|
|
96
|
+
await loadImage();
|
|
102
97
|
});
|
|
103
98
|
return () => {
|
|
104
99
|
return createVNode(Fragment, null, [withDirectives(createVNode("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-panel.js","sources":["../../../../../src/components/business/verify-dialog/verify-panel.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n unref,\r\n ref,\r\n onMounted,\r\n
|
|
1
|
+
{"version":3,"file":"verify-panel.js","sources":["../../../../../src/components/business/verify-dialog/verify-panel.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n unref,\r\n ref,\r\n onMounted,\r\n Ref,\r\n Fragment\r\n} from \"vue\";\r\nimport { useHttpRequest } from \"../../../composables\";\r\nimport { verifyDialogProps, verifyDialogEmits } from \"./verify-dialog-option\";\r\nimport { WebHttpRequest } from \"@maketribe/request\";\r\nimport { Disposable, createDisposable } from \"@maketribe/utils\";\r\n\r\n// 建一个私有的类吧客户端id放出来\r\nconst webHttpRequest = new (class InnerWebHttpRequest extends WebHttpRequest{\r\n async getClientId(){\r\n await this.loadClientIDPromise\r\n return this.clientID\r\n }\r\n});\r\n\r\nexport default defineComponent({\r\n name: \"VerifyPanel\",\r\n props: verifyDialogProps,\r\n emits: verifyDialogEmits,\r\n setup(props, { emit, expose }) {\r\n \r\n const wrapperEl: Ref<HTMLElement | null> = ref(null);\r\n const buttonEl: Ref<HTMLElement | null> = ref(null);\r\n const grandEl: Ref<HTMLElement | null> = ref(null);\r\n\r\n // 样式默认宽度是48px\r\n let slideWidth: number = 48;\r\n\r\n const isError = ref(false);\r\n\r\n const deg = ref(0);\r\n const imageUrl = ref(\"\");\r\n const loading = ref(false);\r\n const imageStyle = computed(() => {\r\n return {\r\n backgroundImage: `url(${unref(imageUrl)})`,\r\n transform: `rotate(-${unref(deg)}deg)`,\r\n };\r\n });\r\n\r\n const loadImage = async ():Promise<undefined> => {\r\n\r\n loading.value = true;\r\n\r\n const clientId = await webHttpRequest.getClientId();\r\n \r\n return await new Promise(reslove=>{\r\n\r\n const img = new Image();\r\n\r\n img.onload = ()=>{\r\n imageUrl.value = img.src;\r\n reslove(undefined);\r\n loading.value = false;\r\n }\r\n img.src = `/api/ms/app/captcha/rotation/image?scene=${props.scene}&t=${Math.random()}&rcid=${clientId}`\r\n })\r\n\r\n };\r\n\r\n const handleSwitchConfirm = () => {\r\n emit(\"confirm\", unref(deg));\r\n };\r\n\r\n const handleMouseDown = (mouseDownEvent: MouseEvent|TouchEvent) => {\r\n if (unref(isError)) {\r\n return;\r\n }\r\n\r\n const startX = mouseDownEvent instanceof MouseEvent ? mouseDownEvent.clientX : mouseDownEvent.touches[0].clientX;\r\n const disposable = new Disposable();\r\n const totalWidth = unref(wrapperEl)!.getBoundingClientRect().width;\r\n\r\n const handleMouseMove = (event: MouseEvent|TouchEvent) => {\r\n \r\n const moveX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;\r\n\r\n // 限定宽度范围\r\n slideWidth = Math.min(Math.max(moveX - startX + 48, 48),totalWidth);\r\n\r\n deg.value = Math.floor(((slideWidth - 48) / (totalWidth - 48)) * 360);\r\n\r\n unref(grandEl)!.style.width = `${slideWidth}px`;\r\n unref(buttonEl)!.style.transform = `translateX(${slideWidth - 48}px)`;\r\n };\r\n\r\n const handleMouseUp = (event: MouseEvent|TouchEvent) => {\r\n if (deg.value !== 0) {\r\n handleSwitchConfirm();\r\n }\r\n\r\n disposable.dispose();\r\n };\r\n\r\n document.addEventListener(\"mousemove\", handleMouseMove);\r\n document.addEventListener(\"touchmove\", handleMouseMove);\r\n document.addEventListener(\"mouseup\", handleMouseUp);\r\n document.addEventListener(\"touchend\", handleMouseUp);\r\n document.addEventListener(\"touchcancel\", handleMouseUp);\r\n\r\n disposable.register(\r\n createDisposable(() => {\r\n document.removeEventListener(\"mousemove\", handleMouseMove);\r\n document.removeEventListener(\"touchmove\", handleMouseMove);\r\n document.removeEventListener(\"mouseup\", handleMouseUp);\r\n document.removeEventListener(\"touchend\", handleMouseUp);\r\n document.removeEventListener(\"touchcancel\", handleMouseUp);\r\n })\r\n );\r\n };\r\n\r\n const reset = () => {\r\n unref(grandEl)!.style.width = ``;\r\n unref(buttonEl)!.style.transform = ``;\r\n };\r\n\r\n expose({\r\n fail: () => {\r\n isError.value = true;\r\n\r\n setTimeout(() => {\r\n isError.value = false;\r\n\r\n reset();\r\n }, 1000);\r\n },\r\n });\r\n\r\n onMounted(async () => {\r\n await loadImage();\r\n });\r\n\r\n return () => {\r\n return (\r\n <Fragment>\r\n <div class=\"mk-verify-dialog__wrapper\" v-loading={unref(loading)}>\r\n <div\r\n class=\"mk-verify-dialog__image\"\r\n ref=\"imageEl\"\r\n style={imageStyle.value}\r\n />\r\n <div class=\"mk-verify-dialog__coordinate\" />\r\n </div>\r\n <div class={[\"mk-verify-switch\", unref(isError) ? \"is-error\" : \"\"]}>\r\n <div\r\n class=\"mk-verify-switch__wrapper\"\r\n ref={((el: HTMLDivElement) => (wrapperEl.value = el)) as any}\r\n >\r\n <div\r\n class=\"mk-verify-switch__button-grand\"\r\n ref={((el: HTMLDivElement) => (grandEl.value = el)) as any}\r\n />\r\n <div\r\n class=\"mk-verify-switch__button\"\r\n ref={((el: HTMLDivElement) => (buttonEl.value = el)) as any}\r\n onMousedown={handleMouseDown}\r\n onTouchstart={handleMouseDown}\r\n />\r\n </div>\r\n </div>\r\n </Fragment>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["webHttpRequest","InnerWebHttpRequest","WebHttpRequest","getClientId","loadClientIDPromise","clientID","defineComponent","name","props","verifyDialogProps","emits","verifyDialogEmits","setup","emit","expose","wrapperEl","ref","buttonEl","grandEl","slideWidth","isError","deg","imageUrl","loading","imageStyle","computed","backgroundImage","unref","transform","loadImage","value","clientId","Promise","reslove","img","Image","onload","src","undefined","scene","Math","random","handleSwitchConfirm","handleMouseDown","mouseDownEvent","startX","MouseEvent","clientX","touches","disposable","Disposable","totalWidth","getBoundingClientRect","width","handleMouseMove","event","moveX","min","max","floor","style","handleMouseUp","dispose","document","addEventListener","register","createDisposable","removeEventListener","reset","fail","setTimeout","onMounted","_createVNode","_Fragment","_withDirectives","_resolveDirective","el"],"mappings":"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"}
|
package/dist/esm/installer.js
CHANGED
|
@@ -31,12 +31,12 @@ import { MKImageCropperContent } from "./components/basic/image-cropper/index.js
|
|
|
31
31
|
import { MKDataForm } from "./components/data-model/data-form/index.js";
|
|
32
32
|
import { MKDataTable } from "./components/data-model/data-table/index.js";
|
|
33
33
|
import { MKDataTablePagination } from "./components/data-model/data-table-pagination/index.js";
|
|
34
|
-
import "
|
|
35
|
-
import "@maketribe/locale";
|
|
36
|
-
import "./core/DataModelDefines.js";
|
|
37
|
-
import "./components/business/verify-dialog/verify-dialog-option.js";
|
|
34
|
+
import "./components/business/verify-dialog/verify-panel.js";
|
|
38
35
|
import "./components/business/resource-list/index.js";
|
|
39
36
|
import "./components/business/resource-manager/index.js";
|
|
37
|
+
import "./core/DataModelDefines.js";
|
|
38
|
+
import "vue-router";
|
|
39
|
+
import "@maketribe/locale";
|
|
40
40
|
import { MKDialogs } from "./layouts/components/dialogs/index.js";
|
|
41
41
|
import { provideGlobalConfig } from "./components/basic/config-provider/use-global-config.js";
|
|
42
42
|
import { MKTableHeaderItem } from "./components/data-model/data-table/views/table-view/header/index.js";
|
|
@@ -28,13 +28,13 @@ import "../../../components/data-model/data-form/index.js";
|
|
|
28
28
|
import "../../../components/data-model/data-table/index.js";
|
|
29
29
|
import "../../../components/data-model/data-table-pagination/index.js";
|
|
30
30
|
import "@maketribe/dm";
|
|
31
|
-
import
|
|
31
|
+
import "../../../components/business/verify-dialog/verify-panel.js";
|
|
32
|
+
import "../../../components/business/resource-list/index.js";
|
|
33
|
+
import "../../../components/business/resource-manager/index.js";
|
|
32
34
|
import { MenuNode } from "../../../core/menu/MenuNode.js";
|
|
33
35
|
import "../../../core/DataModelDefines.js";
|
|
36
|
+
import { MSAppClient } from "../../../core/MSAppClient.js";
|
|
34
37
|
import { MenuType } from "../../../constants/menu.js";
|
|
35
|
-
import "../../../components/business/verify-dialog/verify-dialog-option.js";
|
|
36
|
-
import "../../../components/business/resource-list/index.js";
|
|
37
|
-
import "../../../components/business/resource-manager/index.js";
|
|
38
38
|
const MKBar = /* @__PURE__ */ defineComponent({
|
|
39
39
|
name: "MKBar",
|
|
40
40
|
props: {
|
|
@@ -28,13 +28,13 @@ import "../../../components/data-model/data-form/index.js";
|
|
|
28
28
|
import "../../../components/data-model/data-table/index.js";
|
|
29
29
|
import "../../../components/data-model/data-table-pagination/index.js";
|
|
30
30
|
import "@maketribe/dm";
|
|
31
|
-
import "
|
|
32
|
-
import "@maketribe/locale";
|
|
33
|
-
import { MenuNode } from "../../../core/menu/MenuNode.js";
|
|
34
|
-
import "../../../core/DataModelDefines.js";
|
|
35
|
-
import "../../../components/business/verify-dialog/verify-dialog-option.js";
|
|
31
|
+
import "../../../components/business/verify-dialog/verify-panel.js";
|
|
36
32
|
import "../../../components/business/resource-list/index.js";
|
|
37
33
|
import "../../../components/business/resource-manager/index.js";
|
|
34
|
+
import { MenuNode } from "../../../core/menu/MenuNode.js";
|
|
35
|
+
import "../../../core/DataModelDefines.js";
|
|
36
|
+
import "vue-router";
|
|
37
|
+
import "@maketribe/locale";
|
|
38
38
|
const MKAsideMenuItem = /* @__PURE__ */ defineComponent({
|
|
39
39
|
name: "MKMenuItem",
|
|
40
40
|
props: {
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { defineComponent, openBlock, createElementBlock, createElementVNode, unref, Fragment, createTextVNode, toDisplayString, createVNode, renderSlot } from "vue";
|
|
2
|
+
import "@maketribe/dm";
|
|
3
|
+
import "../../../components/basic/config-provider/index.js";
|
|
4
|
+
import "vue-router";
|
|
5
|
+
import "@maketribe/request";
|
|
6
|
+
import "@maketribe/locale";
|
|
7
|
+
import "@maketribe/utils";
|
|
8
|
+
import "../../../core/DataModelDefines.js";
|
|
9
|
+
import "element-plus";
|
|
10
|
+
import { useMSAppClient } from "../../../composables/use-ms-app-client.js";
|
|
11
|
+
import TeamImage from "./team-image.vue.js";
|
|
12
|
+
const _hoisted_1 = { class: "simple-page-layout__warp" };
|
|
13
|
+
const _hoisted_2 = { class: "simple-page-layout__bg" };
|
|
14
|
+
const _hoisted_3 = { class: "simple-page-layout__bg_title" };
|
|
15
|
+
const _hoisted_4 = ["src"];
|
|
16
|
+
const _hoisted_5 = { class: "simple-page-layout__bg_body" };
|
|
17
|
+
const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", { class: "simple-page-layout__bg_block" }, null, -1);
|
|
18
|
+
const _hoisted_7 = /* @__PURE__ */ createElementVNode("div", { class: "simple-page-layout__bg_block block2" }, null, -1);
|
|
19
|
+
const _hoisted_8 = { class: "simple-page-layout__main" };
|
|
20
|
+
const _hoisted_9 = { class: "simple-page-layout__main_body" };
|
|
21
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
22
|
+
__name: "index",
|
|
23
|
+
setup(__props) {
|
|
24
|
+
const system = useMSAppClient();
|
|
25
|
+
return (_ctx, _cache) => {
|
|
26
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
27
|
+
createElementVNode("div", _hoisted_2, [
|
|
28
|
+
createElementVNode("div", _hoisted_3, [
|
|
29
|
+
unref(system).logo ? (openBlock(), createElementBlock("img", {
|
|
30
|
+
key: 0,
|
|
31
|
+
src: unref(system).logo
|
|
32
|
+
}, null, 8, _hoisted_4)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
33
|
+
createTextVNode(toDisplayString(unref(system).projectName), 1)
|
|
34
|
+
], 64))
|
|
35
|
+
]),
|
|
36
|
+
createElementVNode("div", _hoisted_5, [
|
|
37
|
+
createVNode(TeamImage)
|
|
38
|
+
]),
|
|
39
|
+
_hoisted_6,
|
|
40
|
+
_hoisted_7
|
|
41
|
+
]),
|
|
42
|
+
createElementVNode("div", _hoisted_8, [
|
|
43
|
+
createElementVNode("div", _hoisted_9, [
|
|
44
|
+
renderSlot(_ctx.$slots, "default")
|
|
45
|
+
])
|
|
46
|
+
])
|
|
47
|
+
]);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
export {
|
|
52
|
+
_sfc_main as default
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=index.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../../../src/layouts/components/simple-page-layout/index.vue"],"sourcesContent":["<template>\r\n\r\n <div class=\"simple-page-layout__warp\">\r\n\r\n <div class=\"simple-page-layout__bg\">\r\n <div class=\"simple-page-layout__bg_title\">\r\n <template v-if=\"system.logo\">\r\n <img :src=\"system.logo\"></img>\r\n </template>\r\n <template v-else>\r\n {{system.projectName}}\r\n </template>\r\n </div>\r\n <div class=\"simple-page-layout__bg_body\">\r\n <TeamImage/>\r\n </div>\r\n <div class=\"simple-page-layout__bg_block\"> </div>\r\n <div class=\"simple-page-layout__bg_block block2\"> </div>\r\n </div>\r\n <div class=\"simple-page-layout__main\">\r\n <div class=\"simple-page-layout__main_body\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { useMSAppClient } from \"../../../composables\";\r\nimport TeamImage from \"./team-image.vue\"\r\n\r\nconst system = useMSAppClient()!;\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiCA,UAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|