/** * 首页、header生成器 */ import { AmUtil } from "./util"; export class AMIndexGenerator{ /** * 存储路径 */ private savePath:string; /** * 应用title */ private appTitle:string; constructor(path,title){ this.savePath = path; this.appTitle = title; } public genCode(){ this.genHome(this.savePath,this.appTitle); this.genHeader(this.savePath,this.appTitle); } /** * 生成首页 * @param path 存储路径 * @param title 项目title */ genHome(path,title){ let templateStr = `
WELCOME TO
${title}


立即登录
` let fileStr = ` import{GlobalCache, Module,nuitip,Nodom} from "../../js/nodomui.js" export class MAmHome extends Module{ template(){ return \` ${AmUtil.formatHtml(templateStr)} \` } login() { const uName = this.model.userName ? this.model.userName.trim() : undefined; const pwd = this.model.userPwd ? this.model.userPwd.trim() : undefined; if (!uName) { nuitip({ text: "用户名不能为空!", theme: "error", closable: true }); return; } if (!pwd) { nuitip({ text: "密码不能为空!", theme: "error", closable: true }); return; } Nodom.request({ url: "/__auth/login", params: { userName: uName, pwd: pwd }, type: "json" }).then((r) => { if (!r.success) { nuitip({ text: r.result.message, theme: "error" }); return; } GlobalCache.set("logon", r.result); Nodom['$Router'].go("/main"); }); } }`; require('fs').writeFileSync(require('path').resolve(path,'home.js'),AmUtil.formatTs(fileStr)); } /** * 生成顶部 * @param path 存储路径 * @param title 项目title */ genHeader(path,title){ let templateStr = `
${title}
注销
修改密码
工作台
` let fileStr = ` import { GlobalCache, Module, Nodom } from "../../js/nodomui.js"; import { AmUtil } from "./util.js"; export class MAmHeader extends Module{ template(){ return \` ${templateStr} \` } data() { return { userName: "访客", showList: false, closed:true }; } onBeforeRender() { let info = GlobalCache.get("logon"); if (info) { this.model.userName = info.realName || info.userName; } } showList() { this.model.showList = true; } hideList() { this.model.showList = false; } /** * 登出 */ logout() { this.hideList(); // 监听关闭tab GlobalCache.set('maintab.closeall',{}); Nodom['$Router'].go("/home"); } /** * 修改密码 */ updatePwd() { this.hideList(); AmUtil.addTab('修改密码','/pages/module/__base/changepwd.js'); } clickMenu(){ this.model.closed = !this.model.closed; } workTable(){ this.hideList(); AmUtil.addTab('我的工作台','/pages/module/__base/workflow/myflow.js'); } }`; require('fs').writeFileSync(require('path').resolve(path,'header.js'),AmUtil.formatTs(fileStr)); } }