moyan-mfw-base 1.2.0-beta.1 → 1.2.0-beta.2
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/package.json +1 -1
- package/src/frontend/dist/{InstallWizard-C3fYg4Wj.cjs → InstallWizard-DJ8E03E3.cjs} +1 -1
- package/src/frontend/dist/{InstallWizard-DIoK0ccp.js → InstallWizard-yjZAy7ks.js} +1 -1
- package/src/frontend/dist/components/business/custom-menu-editor/Index.vue.d.ts +1 -3
- package/src/frontend/dist/components/business/custom-menu-editor/Index.vue.d.ts.map +1 -1
- package/src/frontend/dist/{index-1kL9_Yxw.cjs → index-9n1KGtvA.cjs} +1 -1
- package/src/frontend/dist/{index-D-iR-xPg.js → index-Db-dzDXV.js} +275 -281
- package/src/frontend/dist/{index-CJtM7TQv.js → index-hFI78TBR.js} +1 -1
- package/src/frontend/dist/{index-CeqNVUdB.cjs → index-jESJfPSP.cjs} +2 -2
- package/src/frontend/dist/index.js +1 -1
- package/src/frontend/dist/index.mjs +1 -1
- package/src/frontend/dist/style.css +1 -1
- package/src/frontend/dist/views/sys/app/AppDetail.vue.d.ts +1 -4
- package/src/frontend/dist/views/sys/app/AppDetail.vue.d.ts.map +1 -1
- package/src/frontend/dist/views/sys/app-type/EditForm.vue.d.ts +2 -6
- package/src/frontend/dist/views/sys/app-type/EditForm.vue.d.ts.map +1 -1
- package/src/frontend/dist/views/sys/audit-log/AuditLogDetail.vue.d.ts +1 -5
- package/src/frontend/dist/views/sys/audit-log/AuditLogDetail.vue.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("vue-router"),i=require("element-plus"),N=require("@element-plus/icons-vue"),m=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("vue-router"),i=require("element-plus"),N=require("@element-plus/icons-vue"),m=require("./index-jESJfPSP.cjs"),E={class:"install-wizard"},g={class:"install-container"},C={class:"install-content"},x={key:0,class:"error-text"},y=e.defineComponent({__name:"InstallWizard",setup(k){const p=_.useRouter(),s=e.ref(!1),l=e.ref(""),n=e.ref(""),u=e.computed(()=>l.value?/^(?=.*[A-Za-z])(?=.*\d).{8,32}$/.test(l.value):!1),r=e.computed(()=>n.value?l.value===n.value:!0),v=async()=>{var d,t;if(!u.value){i.ElMessage.error("密码格式不正确,需要 8-32 位且包含字母和数字");return}if(!r.value){i.ElMessage.error("两次输入的密码不一致");return}s.value=!0;try{await new m.ApiInstallInitialize({body:{adminPassword:l.value}}),m.resetSystemInitialized(),i.ElMessage.success("初始化成功,即将跳转到登录页"),setTimeout(()=>{p.push("/login")},1500)}catch(o){i.ElMessage.error(((t=(d=o.response)==null?void 0:d.data)==null?void 0:t.message)||"初始化失败,请稍后重试")}finally{s.value=!1}};return(d,t)=>{const o=e.resolveComponent("el-input"),a=e.resolveComponent("el-form-item"),f=e.resolveComponent("el-alert"),V=e.resolveComponent("el-button"),w=e.resolveComponent("el-form");return e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("div",g,[t[6]||(t[6]=e.createElementVNode("div",{class:"install-header"},[e.createElementVNode("h1",null,"系统初始化"),e.createElementVNode("p",{class:"subtitle"},"Welcome to Moyan MFW")],-1)),e.createElementVNode("div",C,[t[4]||(t[4]=e.createElementVNode("h2",null,"设置管理员密码",-1)),t[5]||(t[5]=e.createElementVNode("p",{class:"step-desc"},"请设置超级管理员 admin 的初始密码",-1)),e.createVNode(w,{"label-width":"120px",class:"password-form"},{default:e.withCtx(()=>[e.createVNode(a,{label:"管理员账号"},{default:e.withCtx(()=>[e.createVNode(o,{value:"admin",disabled:"","data-testid":"install-admin-input"})]),_:1}),e.createVNode(a,{label:"密码",required:""},{default:e.withCtx(()=>[e.createVNode(o,{modelValue:l.value,"onUpdate:modelValue":t[0]||(t[0]=c=>l.value=c),type:"password",placeholder:"请输入 8-32 位密码,包含字母和数字","show-password":"","data-testid":"install-password-input",class:e.normalizeClass({"is-error":!u.value&&l.value})},null,8,["modelValue","class"])]),_:1}),e.createVNode(a,{label:"确认密码",required:""},{default:e.withCtx(()=>[e.createVNode(o,{modelValue:n.value,"onUpdate:modelValue":t[1]||(t[1]=c=>n.value=c),type:"password",placeholder:"请再次输入密码","show-password":"","data-testid":"install-confirm-password-input",class:e.normalizeClass({"is-error":!r.value})},null,8,["modelValue","class"]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",x,"两次输入的密码不一致"))]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(f,{title:"密码要求",type:"info",closable:!1,"show-icon":""},{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createElementVNode("ul",null,[e.createElementVNode("li",null,"长度:8-32 位"),e.createElementVNode("li",null,"必须包含字母和数字")],-1)])]),_:1})]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(V,{type:"primary",size:"large",loading:s.value,disabled:!u.value||!r.value,"data-testid":"install-init-btn",onClick:v},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(N.Loading),{class:"loading-icon"}),t[3]||(t[3]=e.createTextVNode(" 初始化中... ",-1))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" 开始初始化 ")],64))]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),t[7]||(t[7]=e.createElementVNode("div",{class:"install-footer"},[e.createElementVNode("p",null,"© 2026 Moyan MFW. All rights reserved.")],-1))])])}}}),b=m._export_sfc(y,[["__scopeId","data-v-55c19a57"]]);exports.default=b;
|
|
@@ -2,7 +2,7 @@ import { defineComponent as M, ref as w, computed as y, resolveComponent as r, o
|
|
|
2
2
|
import { useRouter as N } from "vue-router";
|
|
3
3
|
import { ElMessage as f } from "element-plus";
|
|
4
4
|
import { Loading as A } from "@element-plus/icons-vue";
|
|
5
|
-
import { d as E, r as F, _ as P } from "./index-
|
|
5
|
+
import { d as E, r as F, _ as P } from "./index-Db-dzDXV.js";
|
|
6
6
|
const R = { class: "install-wizard" }, q = { class: "install-container" }, B = { class: "install-content" }, T = {
|
|
7
7
|
key: 0,
|
|
8
8
|
class: "error-text"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/business/custom-menu-editor/Index.vue"],"names":[],"mappings":"AAs0BA,KAAK,WAAW,GAAG;IACjB,
|
|
1
|
+
{"version":3,"file":"Index.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/business/custom-menu-editor/Index.vue"],"names":[],"mappings":"AAs0BA,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;;;;AA6uCF,wBAOG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),v=require("element-plus"),E=require("vue-router"),c=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),v=require("element-plus"),E=require("vue-router"),c=require("./index-jESJfPSP.cjs"),P={class:"mfw-login-page"},j={class:"mfw-login-title"},F={class:"mfw-login-methods"},$={class:"mfw-login-footer"},W=e.defineComponent({__name:"index",setup(G){const u=E.useRoute(),d=E.useRouter(),n=c.useAuthStore(),m=c.useLayoutStore(),{initColorMode:A,isDark:b}=c.useColorMode(),{initTheme:I}=c.useThemeSwitch(),w=e.ref(),f=e.ref(),_=e.ref(),l=e.ref(!1),g=e.ref(!1),y=e.ref(""),q=e.computed(()=>b.value?"rgba(255, 255, 255, 0.6)":"rgba(64, 158, 255, 0.6)"),B=e.computed(()=>b.value?"rgba(255, 255, 255, 0.3)":"rgba(64, 158, 255, 0.3)"),x=new WeakMap;let N=0;const i=e.reactive({username:"",password:""}),L={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},k=e.computed(()=>S(m.loginExtensions.methods)),V=e.computed(()=>S(m.loginExtensions.footer)),M=e.markRaw({template:'<div style="text-align:center;padding:8px;color:#999;font-size:13px;">加载中...</div>'}),R=e.markRaw({template:'<div style="text-align:center;padding:8px;color:#f56c6c;font-size:13px;">加载失败</div>'});function T(t){return typeof t=="object"&&t!==null&&"loader"in t&&typeof t.loader=="function"}function z(t){return typeof t=="object"&&t!==null&&"default"in t?t.default:t}function D(t){const a=x.get(t);if(a)return a;const r=e.defineAsyncComponent({loader:async()=>z(await t.loader()),delay:120,timeout:t.timeout??1e4,suspensible:!1,loadingComponent:M,errorComponent:R}),o=e.markRaw(r);return x.set(t,o),o}function S(t){return t?T(t)?D(t):t:null}function O(t){var a,r,o;if(t!=null&&t.username){(a=f.value)==null||a.focus();return}if(t!=null&&t.password){(r=_.value)==null||r.focus();return}(o=f.value)==null||o.focus()}async function h(){var r,o;if(l.value)return;const t=Date.now();if(!(t-N<800||(N=t,!w.value)||!await w.value.validate().then(()=>!0).catch(s=>(O(s),!1)))){l.value=!0;try{if(await n.login({username:i.username,password:i.password}),console.log("=======成功======="),await n.fetchUserInfo(),await n.fetchUserApps(),v.ElMessage.success("登录成功"),n.apps.length===0){m.setNavigation({sideMenu:[]},{clearTabs:!0});const p=typeof u.query.redirect=="string"?u.query.redirect:"/";await d.replace(p);return}if(await n.autoSelectApp()){const p=typeof u.query.redirect=="string"?u.query.redirect:"/";await d.replace(p);return}g.value=!0}catch(s){v.ElMessage.error(((o=(r=s==null?void 0:s.response)==null?void 0:r.data)==null?void 0:o.message)||(s==null?void 0:s.message)||"登录失败")}finally{l.value=!1}}}const U=e.computed(()=>n.apps.map(t=>({appId:t.appId,appName:t.appName,appCode:t.appCode,appLogo:t.appLogo,isOwner:t.isOwner,role:t.isOwner?"owner":"member",appTypeName:t.appTypeName})));async function K(t){var a,r;y.value=t.appId;try{await n.selectApp({appId:t.appId,appName:t.appName,appCode:t.appCode,appLogo:t.appLogo,isOwner:t.isOwner,appTypeName:t.appTypeName}),v.ElMessage.success(`已进入应用: ${t.appName}`),await d.replace("/")}catch(o){y.value="",v.ElMessage.error(((r=(a=o==null?void 0:o.response)==null?void 0:a.data)==null?void 0:r.message)||(o==null?void 0:o.message)||"切换应用失败")}}return A(),e.onMounted(async()=>{if(I(),n.isLoggedIn&&n.needSelectApp){if(n.apps.length===0)try{await n.fetchUserInfo(),await n.fetchUserApps()}catch{}if(n.apps.length>0){if(await n.autoSelectApp()){const a=typeof u.query.redirect=="string"?u.query.redirect:"/";await d.replace(a);return}g.value=!0;return}}e.nextTick(()=>{var t;(t=f.value)==null||t.focus()})}),(t,a)=>{const r=e.resolveComponent("el-input"),o=e.resolveComponent("el-form-item"),s=e.resolveComponent("el-button"),p=e.resolveComponent("el-form");return e.openBlock(),e.createElementBlock("div",P,[e.createVNode(e.unref(c.ParticleBackground),{"particle-color":q.value,"line-color":B.value,"particle-count":60,"line-distance":100},null,8,["particle-color","line-color"]),e.createElementVNode("div",{class:e.normalizeClass(["mfw-login-card",{"mfw-login-card--app":g.value}])},[g.value?(e.openBlock(),e.createBlock(c.AppSelectorPanel,{key:1,apps:U.value,loading:!1,"selected-app-id":y.value,onSelect:K},null,8,["apps","selected-app-id"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[a[2]||(a[2]=e.createStaticVNode('<div class="mfw-login-logo" data-v-6fd07ea6><svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-6fd07ea6><rect width="48" height="48" rx="10" class="mfw-logo-bg" data-v-6fd07ea6></rect><path d="M24 12L32 20V28L24 36L16 28V20L24 12Z" class="mfw-logo-path" data-v-6fd07ea6></path><circle cx="24" cy="24" r="4" class="mfw-logo-circle" data-v-6fd07ea6></circle></svg></div>',1)),e.createElementVNode("h1",j,e.toDisplayString(e.unref(m).navigation.brandName||"墨焱管理后台"),1),e.createElementVNode("div",F,[k.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.value),{key:0})):e.createCommentVNode("",!0)]),e.createVNode(p,{ref_key:"formRef",ref:w,model:i,rules:L,"label-position":"top",size:"large",onSubmit:e.withModifiers(h,["prevent"])},{default:e.withCtx(()=>[e.createVNode(o,{prop:"username"},{default:e.withCtx(()=>[e.createVNode(r,{ref_key:"usernameInputRef",ref:f,modelValue:i.username,"onUpdate:modelValue":a[0]||(a[0]=C=>i.username=C),placeholder:"请输入用户名",clearable:"",disabled:l.value,"aria-label":"用户名","data-testid":"login-username-input",onKeyup:e.withKeys(h,["enter"])},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(o,{prop:"password"},{default:e.withCtx(()=>[e.createVNode(r,{ref_key:"passwordInputRef",ref:_,modelValue:i.password,"onUpdate:modelValue":a[1]||(a[1]=C=>i.password=C),"show-password":"",placeholder:"请输入密码",disabled:l.value,"aria-label":"密码","data-testid":"login-password-input",onKeyup:e.withKeys(h,["enter"])},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(o,null,{default:e.withCtx(()=>[e.createVNode(s,{type:"primary",class:"mfw-login-submit","native-type":"submit",loading:l.value,disabled:l.value,"aria-label":"登录","data-testid":"login-submit-btn"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value?"登录中...":"登 录"),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1},8,["model"]),e.createElementVNode("div",$,[V.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V.value),{key:0})):e.createCommentVNode("",!0)])],64))],2)])}}}),Z=c._export_sfc(W,[["__scopeId","data-v-6fd07ea6"]]);exports.default=Z;
|