├── .env.example ├── .gitignore ├── .vscode ├── launch.json └── tasks.json ├── LICENSE ├── README-zh_CN.md ├── README.md ├── __test__features └── login.feature ├── bootstrap.js ├── build.copy.ts ├── client ├── 0.da799fcda0c92e4d235e.js ├── 1.04174bdebf077a36b3d7.js ├── 1.f05342d75799c4d0ea1f.js ├── 2.35c2a8d618abd5784e33.js ├── 2.c801ac274653b366b78e.js ├── 3rdpartylicenses.txt ├── Simple-Line-Icons.0cb0b9c589c0624c9c78.woff2 ├── Simple-Line-Icons.2fe2efe63441d830b1ac.svg ├── Simple-Line-Icons.78f07e2c2a535c26ef21.woff ├── Simple-Line-Icons.d2285965fe34b0546504.ttf ├── Simple-Line-Icons.f33df365d6d0255b586f.eot ├── assets │ ├── app-data.json │ ├── demo.docx │ ├── demo.pdf │ ├── demo.pptx │ ├── demo.xlsx │ ├── i18n │ │ ├── en.json │ │ └── zh-CN.json │ ├── iconsfont.json │ ├── img │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── avatar.jpg │ │ ├── bg1.jpg │ │ ├── bg10.jpg │ │ ├── bg2.jpg │ │ ├── bg3.jpg │ │ ├── bg4.jpg │ │ ├── bg5.jpg │ │ ├── bg6.jpg │ │ ├── bg7.jpg │ │ ├── bg8.jpg │ │ ├── bg9.jpg │ │ ├── half-float-bg-1.jpg │ │ ├── logo-color.svg │ │ ├── logo-full--.svg │ │ ├── logo-full.svg │ │ ├── logo.svg │ │ ├── typerx-color.revert.svg │ │ ├── typerx-color.svg │ │ ├── typerx-fullcolor.svg │ │ ├── typerx-monochrome.svg │ │ ├── typerx-white.svg │ │ └── zorro.svg │ ├── scripts │ │ ├── appearances │ │ │ ├── appearance.module.js │ │ │ ├── appearance.module.js.map │ │ │ ├── menu.appearance.js │ │ │ └── menu.appearance.js.map │ │ └── types │ │ │ ├── types.js │ │ │ └── types.js.map │ └── umeditor │ │ ├── dialogs │ │ ├── emotion │ │ │ ├── emotion.css │ │ │ ├── emotion.js │ │ │ └── images │ │ │ │ ├── 0.gif │ │ │ │ ├── bface.gif │ │ │ │ ├── cface.gif │ │ │ │ ├── fface.gif │ │ │ │ ├── jxface2.gif │ │ │ │ ├── neweditor-tab-bg.png │ │ │ │ ├── tface.gif │ │ │ │ ├── wface.gif │ │ │ │ └── yface.gif │ │ ├── formula │ │ │ ├── formula.css │ │ │ ├── formula.html │ │ │ ├── formula.js │ │ │ └── images │ │ │ │ └── formula.png │ │ ├── image │ │ │ ├── image.css │ │ │ ├── image.js │ │ │ └── images │ │ │ │ ├── close.png │ │ │ │ ├── upload1.png │ │ │ │ └── upload2.png │ │ ├── link │ │ │ └── link.js │ │ ├── map │ │ │ ├── map.html │ │ │ └── map.js │ │ └── video │ │ │ ├── images │ │ │ ├── center_focus.jpg │ │ │ ├── left_focus.jpg │ │ │ ├── none_focus.jpg │ │ │ └── right_focus.jpg │ │ │ ├── video.css │ │ │ └── video.js │ │ ├── index.html │ │ ├── lang │ │ ├── en │ │ │ ├── en.js │ │ │ └── images │ │ │ │ ├── addimage.png │ │ │ │ ├── alldeletebtnhoverskin.png │ │ │ │ ├── alldeletebtnupskin.png │ │ │ │ ├── background.png │ │ │ │ ├── button.png │ │ │ │ ├── copy.png │ │ │ │ ├── deletedisable.png │ │ │ │ ├── deleteenable.png │ │ │ │ ├── imglabel.png │ │ │ │ ├── listbackground.png │ │ │ │ ├── localimage.png │ │ │ │ ├── music.png │ │ │ │ ├── rotateleftdisable.png │ │ │ │ ├── rotateleftenable.png │ │ │ │ ├── rotaterightdisable.png │ │ │ │ ├── rotaterightenable.png │ │ │ │ └── upload.png │ │ └── zh-cn │ │ │ ├── images │ │ │ ├── copy.png │ │ │ ├── imglabel.png │ │ │ ├── localimage.png │ │ │ ├── music.png │ │ │ └── upload.png │ │ │ └── zh-cn.js │ │ ├── php │ │ ├── Uploader.class.php │ │ ├── getContent.php │ │ └── imageUp.php │ │ ├── themes │ │ └── default │ │ │ ├── css │ │ │ ├── umeditor.css │ │ │ └── umeditor.min.css │ │ │ └── images │ │ │ ├── caret.png │ │ │ ├── close.png │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── ok.gif │ │ │ ├── pop-bg.png │ │ │ ├── spacer.gif │ │ │ └── videologo.gif │ │ ├── third-party │ │ ├── jquery.min.js │ │ ├── mathquill │ │ │ ├── font │ │ │ │ ├── Symbola.eot │ │ │ │ ├── Symbola.otf │ │ │ │ ├── Symbola.svg │ │ │ │ ├── Symbola.ttf │ │ │ │ ├── Symbola.woff │ │ │ │ └── stixgeneral-bundle │ │ │ │ │ ├── STIXFontLicense2010.txt │ │ │ │ │ ├── stixgeneral-webfont.eot │ │ │ │ │ ├── stixgeneral-webfont.svg │ │ │ │ │ ├── stixgeneral-webfont.ttf │ │ │ │ │ ├── stixgeneral-webfont.woff │ │ │ │ │ ├── stixgeneralbol-webfont.eot │ │ │ │ │ ├── stixgeneralbol-webfont.svg │ │ │ │ │ ├── stixgeneralbol-webfont.ttf │ │ │ │ │ ├── stixgeneralbol-webfont.woff │ │ │ │ │ ├── stixgeneralbolita-webfont.eot │ │ │ │ │ ├── stixgeneralbolita-webfont.svg │ │ │ │ │ ├── stixgeneralbolita-webfont.ttf │ │ │ │ │ ├── stixgeneralbolita-webfont.woff │ │ │ │ │ ├── stixgeneralitalic-webfont.eot │ │ │ │ │ ├── stixgeneralitalic-webfont.svg │ │ │ │ │ ├── stixgeneralitalic-webfont.ttf │ │ │ │ │ └── stixgeneralitalic-webfont.woff │ │ │ ├── mathquill.css │ │ │ ├── mathquill.js │ │ │ └── mathquill.min.js │ │ └── template.min.js │ │ ├── umeditor.config.js │ │ ├── umeditor.js │ │ └── umeditor.min.js ├── favicon.ico ├── index.html ├── main.1c928f0c4c29bac52d9c.js ├── main.de992497eda1fe3210cf.js ├── polyfills.a87ed4459215cc9bca61.js ├── runtime.c52f2ccde0ad942352e4.js ├── runtime.ff21bd64f0038d44edf2.js ├── scripts.0182c9f81ccc5001d26a.js ├── scripts.6da9c4d91ad9897a31e4.js ├── styles.18239c6cf644885170a1.css └── styles.40ba8e7688d7c4ff42e0.css ├── data ├── export.accounts.json ├── export.dicts.json ├── export.groups.json ├── export.menus.json ├── export.roles.json └── export.settings.json ├── dist ├── appearances.d.ts ├── appearances.js ├── appearances.js.map ├── controllers.d.ts ├── controllers.js ├── controllers.js.map ├── index.d.ts ├── index.js ├── index.js.map └── pages │ ├── home.d.ts │ ├── home.js │ ├── home.js.map │ ├── sub.pages.d.ts │ ├── sub.pages.js │ └── sub.pages.js.map ├── logo ├── typerx fullcolor.svg ├── typerx monochrome.svg ├── typerx to put in blue background.svg └── typerx white.svg ├── nodemon.json ├── package-lock.json ├── package.json ├── packages ├── client │ ├── .dockerignore │ ├── .editorconfig │ ├── .gitignore │ ├── .stylelintrc │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── CONTRIBUTING.md │ ├── Dockerfile │ ├── README.md │ ├── _mock │ │ ├── README.md │ │ ├── _api.ts │ │ ├── _chart.ts │ │ ├── _pois.ts │ │ ├── _profile.ts │ │ ├── _rule.ts │ │ └── index.ts │ ├── _nginx │ │ ├── default.conf │ │ └── ssl │ │ │ └── .gitignore │ ├── angular.json │ ├── build.copy.ts │ ├── docker-compose.debug.yml │ ├── docker-compose.yml │ ├── e2e │ │ ├── app.e2e-spec.ts │ │ ├── app.po.ts │ │ └── tsconfig.e2e.json │ ├── karma.conf.js │ ├── package.json │ ├── protractor.conf.js │ ├── proxy.conf.json │ ├── scripts │ │ └── color-less.js │ ├── src │ │ ├── app │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── core │ │ │ │ ├── README.md │ │ │ │ ├── core.module.ts │ │ │ │ ├── i18n │ │ │ │ │ ├── i18n.service.spec.ts │ │ │ │ │ └── i18n.service.ts │ │ │ │ ├── index.ts │ │ │ │ ├── module-import-guard.ts │ │ │ │ ├── net │ │ │ │ │ └── default.interceptor.ts │ │ │ │ └── startup │ │ │ │ │ └── startup.service.ts │ │ │ ├── custom.form.factory.ts │ │ │ ├── delon.module.ts │ │ │ ├── delon.module.ts.bak │ │ │ ├── layout │ │ │ │ ├── default │ │ │ │ │ ├── default.component.html │ │ │ │ │ ├── default.component.ts │ │ │ │ │ ├── header │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── fullscreen.component.ts │ │ │ │ │ │ │ ├── i18n.component.ts │ │ │ │ │ │ │ ├── icon.component.ts │ │ │ │ │ │ │ ├── notify.component.ts │ │ │ │ │ │ │ ├── search.component.ts │ │ │ │ │ │ │ ├── storage.component.ts │ │ │ │ │ │ │ ├── task.component.ts │ │ │ │ │ │ │ └── user.component.ts │ │ │ │ │ │ ├── header.component.html │ │ │ │ │ │ ├── header.component.ts │ │ │ │ │ │ └── index.md │ │ │ │ │ ├── setting-drawer │ │ │ │ │ │ ├── setting-drawer-item.component.html │ │ │ │ │ │ ├── setting-drawer-item.component.ts │ │ │ │ │ │ ├── setting-drawer.component.html │ │ │ │ │ │ └── setting-drawer.component.ts │ │ │ │ │ └── sidebar │ │ │ │ │ │ ├── sidebar.component.html │ │ │ │ │ │ └── sidebar.component.ts │ │ │ │ ├── fullscreen │ │ │ │ │ ├── fullscreen.component.html │ │ │ │ │ └── fullscreen.component.ts │ │ │ │ ├── layout.module.ts │ │ │ │ └── passport │ │ │ │ │ ├── passport.component.html │ │ │ │ │ ├── passport.component.less │ │ │ │ │ └── passport.component.ts │ │ │ ├── pages │ │ │ │ ├── cms │ │ │ │ │ ├── articles │ │ │ │ │ │ ├── articles.html │ │ │ │ │ │ └── articles.ts │ │ │ │ │ ├── categories │ │ │ │ │ │ ├── categories.html │ │ │ │ │ │ └── categories.ts │ │ │ │ │ ├── cms.module.ts │ │ │ │ │ ├── custom │ │ │ │ │ │ ├── custom.html │ │ │ │ │ │ └── custom.ts │ │ │ │ │ ├── media │ │ │ │ │ │ ├── media.html │ │ │ │ │ │ └── media.ts │ │ │ │ │ ├── pages │ │ │ │ │ │ ├── pages.html │ │ │ │ │ │ └── pages.ts │ │ │ │ │ └── widgets │ │ │ │ │ │ ├── widgets.html │ │ │ │ │ │ └── widgets.ts │ │ │ │ ├── home │ │ │ │ │ ├── home.component.html │ │ │ │ │ └── home.component.ts │ │ │ │ ├── login │ │ │ │ │ ├── login.component.html │ │ │ │ │ ├── login.component.less │ │ │ │ │ └── login.component.ts │ │ │ │ └── system │ │ │ │ │ ├── accounts │ │ │ │ │ ├── accounts.html │ │ │ │ │ └── accounts.ts │ │ │ │ │ ├── dicts │ │ │ │ │ ├── dicts.html │ │ │ │ │ └── dicts.ts │ │ │ │ │ ├── logs │ │ │ │ │ ├── logs.html │ │ │ │ │ └── logs.ts │ │ │ │ │ ├── menus │ │ │ │ │ ├── menus.html │ │ │ │ │ └── menus.ts │ │ │ │ │ ├── permission │ │ │ │ │ ├── permission.html │ │ │ │ │ └── permission.ts │ │ │ │ │ ├── roles │ │ │ │ │ ├── roles.html │ │ │ │ │ └── roles.ts │ │ │ │ │ ├── settings │ │ │ │ │ ├── settings.html │ │ │ │ │ └── settings.ts │ │ │ │ │ └── system.module.ts │ │ │ ├── routes │ │ │ │ ├── callback │ │ │ │ │ └── callback.component.ts │ │ │ │ ├── dashboard │ │ │ │ │ ├── analysis │ │ │ │ │ │ ├── analysis.component.html │ │ │ │ │ │ ├── analysis.component.less │ │ │ │ │ │ └── analysis.component.ts │ │ │ │ │ └── default │ │ │ │ │ │ ├── dashboard.component.html │ │ │ │ │ │ └── dashboard.component.ts │ │ │ │ ├── exception │ │ │ │ │ ├── 403.component.ts │ │ │ │ │ ├── 404.component.ts │ │ │ │ │ └── 500.component.ts │ │ │ │ ├── passport │ │ │ │ │ ├── lock │ │ │ │ │ │ ├── lock.component.html │ │ │ │ │ │ ├── lock.component.spec.ts │ │ │ │ │ │ └── lock.component.ts │ │ │ │ │ ├── login │ │ │ │ │ │ ├── login.component.html │ │ │ │ │ │ ├── login.component.less │ │ │ │ │ │ └── login.component.ts │ │ │ │ │ ├── register-result │ │ │ │ │ │ ├── register-result.component.html │ │ │ │ │ │ ├── register-result.component.less │ │ │ │ │ │ └── register-result.component.ts │ │ │ │ │ └── register │ │ │ │ │ │ ├── register.component.html │ │ │ │ │ │ ├── register.component.less │ │ │ │ │ │ └── register.component.ts │ │ │ │ ├── routes-routing.module.ts │ │ │ │ ├── routes.module.ts │ │ │ │ └── widgets │ │ │ │ │ ├── widgets-routing.module.ts │ │ │ │ │ ├── widgets.module.ts │ │ │ │ │ └── widgets │ │ │ │ │ ├── widgets.component.html │ │ │ │ │ ├── widgets.component.less │ │ │ │ │ ├── widgets.component.spec.ts │ │ │ │ │ └── widgets.component.ts │ │ │ ├── services │ │ │ │ ├── ajax.proxy.ts │ │ │ │ ├── can.admin.provide.ts │ │ │ │ ├── can.auth.provide.ts │ │ │ │ ├── list.context.ts │ │ │ │ ├── tree.service.ts │ │ │ │ └── user.service.ts │ │ │ └── shared │ │ │ │ ├── README.md │ │ │ │ ├── base │ │ │ │ ├── base.component.ts │ │ │ │ ├── base.detail.component.ts │ │ │ │ ├── base.detail.html │ │ │ │ ├── base.list.component.ts │ │ │ │ ├── base.list.html │ │ │ │ ├── base.selector.html │ │ │ │ ├── base.selector.ts │ │ │ │ ├── base.stand.component.ts │ │ │ │ ├── base.stand.html │ │ │ │ ├── base.tree.selector.html │ │ │ │ ├── base.tree.selector.ts │ │ │ │ ├── base.tree.table.html │ │ │ │ ├── base.tree.table.ts │ │ │ │ ├── transfer.selector.html │ │ │ │ └── transfer.selector.ts │ │ │ │ ├── json-schema │ │ │ │ ├── index.md │ │ │ │ ├── json-schema.module.ts │ │ │ │ ├── util.ts │ │ │ │ └── widgets │ │ │ │ │ ├── avatar │ │ │ │ │ └── avatar.widget.ts │ │ │ │ │ ├── choices │ │ │ │ │ └── choices.widget.ts │ │ │ │ │ ├── dict │ │ │ │ │ └── dict.widget.ts │ │ │ │ │ ├── image │ │ │ │ │ └── image.widget.ts │ │ │ │ │ ├── list-box │ │ │ │ │ └── list-box.ts │ │ │ │ │ ├── search │ │ │ │ │ └── search.widget.ts │ │ │ │ │ ├── tabs │ │ │ │ │ └── tabs.widget.ts │ │ │ │ │ ├── textarea │ │ │ │ │ └── textarea.widget.ts │ │ │ │ │ ├── tinymce │ │ │ │ │ ├── index.md │ │ │ │ │ └── tinymce.widget.ts │ │ │ │ │ ├── tree-select │ │ │ │ │ └── tree-select.widget.ts │ │ │ │ │ ├── tree │ │ │ │ │ └── search.widget.ts │ │ │ │ │ ├── ueditor │ │ │ │ │ ├── index.md │ │ │ │ │ └── ueditor.widget.ts │ │ │ │ │ └── umeditor │ │ │ │ │ └── umeditor.widget.ts │ │ │ │ ├── shared.module.ts │ │ │ │ └── utils │ │ │ │ ├── index.ts │ │ │ │ └── utils.ts │ │ ├── appearances │ │ │ └── appearance.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── alain-default.less │ │ │ ├── app-data.json │ │ │ ├── demo.docx │ │ │ ├── demo.pdf │ │ │ ├── demo.pptx │ │ │ ├── demo.xlsx │ │ │ ├── i18n │ │ │ │ ├── en.json │ │ │ │ └── zh-CN.json │ │ │ ├── iconsfont.json │ │ │ ├── img │ │ │ │ ├── 1.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── 5.png │ │ │ │ ├── 6.png │ │ │ │ ├── avatar.jpg │ │ │ │ ├── bg1.jpg │ │ │ │ ├── bg10.jpg │ │ │ │ ├── bg2.jpg │ │ │ │ ├── bg3.jpg │ │ │ │ ├── bg4.jpg │ │ │ │ ├── bg5.jpg │ │ │ │ ├── bg6.jpg │ │ │ │ ├── bg7.jpg │ │ │ │ ├── bg8.jpg │ │ │ │ ├── bg9.jpg │ │ │ │ ├── half-float-bg-1.jpg │ │ │ │ ├── logo-color.svg │ │ │ │ ├── logo-full--.svg │ │ │ │ ├── logo-full.svg │ │ │ │ ├── logo.svg │ │ │ │ ├── typerx-color.revert.svg │ │ │ │ ├── typerx-color.svg │ │ │ │ ├── typerx-fullcolor.svg │ │ │ │ ├── typerx-monochrome.svg │ │ │ │ ├── typerx-white.svg │ │ │ │ └── zorro.svg │ │ │ ├── scripts │ │ │ │ ├── appearances │ │ │ │ │ ├── appearance.module.js │ │ │ │ │ ├── appearance.module.js.map │ │ │ │ │ ├── menu.appearance.js │ │ │ │ │ └── menu.appearance.js.map │ │ │ │ └── types │ │ │ │ │ ├── types.js │ │ │ │ │ └── types.js.map │ │ │ └── umeditor │ │ │ │ ├── dialogs │ │ │ │ ├── emotion │ │ │ │ │ ├── emotion.css │ │ │ │ │ ├── emotion.js │ │ │ │ │ └── images │ │ │ │ │ │ ├── 0.gif │ │ │ │ │ │ ├── bface.gif │ │ │ │ │ │ ├── cface.gif │ │ │ │ │ │ ├── fface.gif │ │ │ │ │ │ ├── jxface2.gif │ │ │ │ │ │ ├── neweditor-tab-bg.png │ │ │ │ │ │ ├── tface.gif │ │ │ │ │ │ ├── wface.gif │ │ │ │ │ │ └── yface.gif │ │ │ │ ├── formula │ │ │ │ │ ├── formula.css │ │ │ │ │ ├── formula.html │ │ │ │ │ ├── formula.js │ │ │ │ │ └── images │ │ │ │ │ │ └── formula.png │ │ │ │ ├── image │ │ │ │ │ ├── image.css │ │ │ │ │ ├── image.js │ │ │ │ │ └── images │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ ├── upload1.png │ │ │ │ │ │ └── upload2.png │ │ │ │ ├── link │ │ │ │ │ └── link.js │ │ │ │ ├── map │ │ │ │ │ ├── map.html │ │ │ │ │ └── map.js │ │ │ │ └── video │ │ │ │ │ ├── images │ │ │ │ │ ├── center_focus.jpg │ │ │ │ │ ├── left_focus.jpg │ │ │ │ │ ├── none_focus.jpg │ │ │ │ │ └── right_focus.jpg │ │ │ │ │ ├── video.css │ │ │ │ │ └── video.js │ │ │ │ ├── index.html │ │ │ │ ├── lang │ │ │ │ ├── en │ │ │ │ │ ├── en.js │ │ │ │ │ └── images │ │ │ │ │ │ ├── addimage.png │ │ │ │ │ │ ├── alldeletebtnhoverskin.png │ │ │ │ │ │ ├── alldeletebtnupskin.png │ │ │ │ │ │ ├── background.png │ │ │ │ │ │ ├── button.png │ │ │ │ │ │ ├── copy.png │ │ │ │ │ │ ├── deletedisable.png │ │ │ │ │ │ ├── deleteenable.png │ │ │ │ │ │ ├── imglabel.png │ │ │ │ │ │ ├── listbackground.png │ │ │ │ │ │ ├── localimage.png │ │ │ │ │ │ ├── music.png │ │ │ │ │ │ ├── rotateleftdisable.png │ │ │ │ │ │ ├── rotateleftenable.png │ │ │ │ │ │ ├── rotaterightdisable.png │ │ │ │ │ │ ├── rotaterightenable.png │ │ │ │ │ │ └── upload.png │ │ │ │ └── zh-cn │ │ │ │ │ ├── images │ │ │ │ │ ├── copy.png │ │ │ │ │ ├── imglabel.png │ │ │ │ │ ├── localimage.png │ │ │ │ │ ├── music.png │ │ │ │ │ └── upload.png │ │ │ │ │ └── zh-cn.js │ │ │ │ ├── php │ │ │ │ ├── Uploader.class.php │ │ │ │ ├── getContent.php │ │ │ │ └── imageUp.php │ │ │ │ ├── themes │ │ │ │ └── default │ │ │ │ │ ├── css │ │ │ │ │ ├── umeditor.css │ │ │ │ │ └── umeditor.min.css │ │ │ │ │ └── images │ │ │ │ │ ├── caret.png │ │ │ │ │ ├── close.png │ │ │ │ │ ├── icons.gif │ │ │ │ │ ├── icons.png │ │ │ │ │ ├── ok.gif │ │ │ │ │ ├── pop-bg.png │ │ │ │ │ ├── spacer.gif │ │ │ │ │ └── videologo.gif │ │ │ │ ├── third-party │ │ │ │ ├── jquery.min.js │ │ │ │ ├── mathquill │ │ │ │ │ ├── font │ │ │ │ │ │ ├── Symbola.eot │ │ │ │ │ │ ├── Symbola.otf │ │ │ │ │ │ ├── Symbola.svg │ │ │ │ │ │ ├── Symbola.ttf │ │ │ │ │ │ ├── Symbola.woff │ │ │ │ │ │ └── stixgeneral-bundle │ │ │ │ │ │ │ ├── STIXFontLicense2010.txt │ │ │ │ │ │ │ ├── stixgeneral-webfont.eot │ │ │ │ │ │ │ ├── stixgeneral-webfont.svg │ │ │ │ │ │ │ ├── stixgeneral-webfont.ttf │ │ │ │ │ │ │ ├── stixgeneral-webfont.woff │ │ │ │ │ │ │ ├── stixgeneralbol-webfont.eot │ │ │ │ │ │ │ ├── stixgeneralbol-webfont.svg │ │ │ │ │ │ │ ├── stixgeneralbol-webfont.ttf │ │ │ │ │ │ │ ├── stixgeneralbol-webfont.woff │ │ │ │ │ │ │ ├── stixgeneralbolita-webfont.eot │ │ │ │ │ │ │ ├── stixgeneralbolita-webfont.svg │ │ │ │ │ │ │ ├── stixgeneralbolita-webfont.ttf │ │ │ │ │ │ │ ├── stixgeneralbolita-webfont.woff │ │ │ │ │ │ │ ├── stixgeneralitalic-webfont.eot │ │ │ │ │ │ │ ├── stixgeneralitalic-webfont.svg │ │ │ │ │ │ │ ├── stixgeneralitalic-webfont.ttf │ │ │ │ │ │ │ └── stixgeneralitalic-webfont.woff │ │ │ │ │ ├── mathquill.css │ │ │ │ │ ├── mathquill.js │ │ │ │ │ └── mathquill.min.js │ │ │ │ └── template.min.js │ │ │ │ ├── umeditor.config.js │ │ │ │ ├── umeditor.js │ │ │ │ └── umeditor.min.js │ │ ├── environments │ │ │ ├── environment.hmr.ts │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── generated │ │ │ ├── .gitignore │ │ │ ├── .openapi-generator-ignore │ │ │ ├── .openapi-generator │ │ │ │ └── VERSION │ │ │ ├── README.md │ │ │ ├── api.module.ts │ │ │ ├── api │ │ │ │ ├── api.ts │ │ │ │ ├── cms.service.ts │ │ │ │ └── core.service.ts │ │ │ ├── configuration.ts │ │ │ ├── encoder.ts │ │ │ ├── git_push.sh │ │ │ ├── index.ts │ │ │ ├── model │ │ │ │ ├── accountResponse.ts │ │ │ │ ├── apiResponse.ts │ │ │ │ ├── appearance.ts │ │ │ │ ├── articleResponse.ts │ │ │ │ ├── categoryResponse.ts │ │ │ │ ├── createAccountDto.ts │ │ │ │ ├── createArticleDto.ts │ │ │ │ ├── createCategoryDto.ts │ │ │ │ ├── createCustomDto.ts │ │ │ │ ├── createDictDto.ts │ │ │ │ ├── createGroupDto.ts │ │ │ │ ├── createMediaDto.ts │ │ │ │ ├── createMenuDto.ts │ │ │ │ ├── createPageDto.ts │ │ │ │ ├── createRoleDto.ts │ │ │ │ ├── createSettingDto.ts │ │ │ │ ├── createWidgetDto.ts │ │ │ │ ├── customResponse.ts │ │ │ │ ├── dictResponse.ts │ │ │ │ ├── editAccountDto.ts │ │ │ │ ├── editArticleDto.ts │ │ │ │ ├── editCategoryDto.ts │ │ │ │ ├── editCustomDto.ts │ │ │ │ ├── editDictDto.ts │ │ │ │ ├── editGroupDto.ts │ │ │ │ ├── editMediaDto.ts │ │ │ │ ├── editMenuDto.ts │ │ │ │ ├── editPageDto.ts │ │ │ │ ├── editProfileDto.ts │ │ │ │ ├── editRoleDto.ts │ │ │ │ ├── editSettingDto.ts │ │ │ │ ├── editWidgetDto.ts │ │ │ │ ├── error.ts │ │ │ │ ├── groupResponse.ts │ │ │ │ ├── keyValue.ts │ │ │ │ ├── logResponse.ts │ │ │ │ ├── loginDto.ts │ │ │ │ ├── mediaResponse.ts │ │ │ │ ├── menuResponse.ts │ │ │ │ ├── models.ts │ │ │ │ ├── pageResponse.ts │ │ │ │ ├── paginateAccount.ts │ │ │ │ ├── paginateApi.ts │ │ │ │ ├── paginateArticle.ts │ │ │ │ ├── paginateCategory.ts │ │ │ │ ├── paginateCustom.ts │ │ │ │ ├── paginateDict.ts │ │ │ │ ├── paginateGroup.ts │ │ │ │ ├── paginateLog.ts │ │ │ │ ├── paginateMedia.ts │ │ │ │ ├── paginateMenu.ts │ │ │ │ ├── paginatePage.ts │ │ │ │ ├── paginateRole.ts │ │ │ │ ├── paginateSetting.ts │ │ │ │ ├── paginateWidget.ts │ │ │ │ ├── profileResponse.ts │ │ │ │ ├── roleResponse.ts │ │ │ │ ├── selectorItem.ts │ │ │ │ ├── settingResponse.ts │ │ │ │ ├── settingsGroup.ts │ │ │ │ ├── treeNode.ts │ │ │ │ ├── uploadConfig.ts │ │ │ │ └── widgetResponse.ts │ │ │ └── variables.ts │ │ ├── index.html │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── style-icons-auto.ts │ │ ├── style-icons.ts │ │ ├── styles.less │ │ ├── styles │ │ │ ├── index.less │ │ │ └── theme.less │ │ ├── testing │ │ │ └── common.spec.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ ├── types │ │ │ └── types.ts │ │ └── typings.d.ts │ ├── tsconfig.appearances.json │ ├── tsconfig.json │ ├── tslint.json │ └── yarn.lock ├── demo │ ├── .angular-cli.json │ ├── .editorconfig │ ├── .gitignore │ ├── .npmignore │ ├── .stylelintrc │ ├── .travis.yml │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── Dockerfile │ ├── LICENSE │ ├── README-zh_CN.md │ ├── README.md │ ├── _mock │ │ ├── README.md │ │ ├── _user.ts │ │ └── index.ts │ ├── _nginx │ │ └── default.conf │ ├── docker-compose.debug.yml │ ├── docker-compose.yml │ ├── e2e │ │ ├── app.e2e-spec.ts │ │ ├── app.po.ts │ │ └── tsconfig.e2e.json │ ├── karma.conf.js │ ├── package.json │ ├── protractor.conf.js │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.less │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── core │ │ │ │ ├── README.md │ │ │ │ ├── core.module.ts │ │ │ │ ├── module-import-guard.ts │ │ │ │ ├── net │ │ │ │ │ └── default.interceptor.ts │ │ │ │ └── startup │ │ │ │ │ └── startup.service.ts │ │ │ ├── delon.module.ts │ │ │ ├── layout │ │ │ │ ├── default │ │ │ │ │ ├── default.component.html │ │ │ │ │ ├── default.component.spec.ts │ │ │ │ │ ├── default.component.ts │ │ │ │ │ ├── header │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── fullscreen.component.ts │ │ │ │ │ │ │ ├── icon.component.ts │ │ │ │ │ │ │ ├── notify.component.ts │ │ │ │ │ │ │ ├── search.component.ts │ │ │ │ │ │ │ ├── storage.component.ts │ │ │ │ │ │ │ ├── task.component.ts │ │ │ │ │ │ │ └── user.component.ts │ │ │ │ │ │ ├── header.component.html │ │ │ │ │ │ ├── header.component.spec.ts │ │ │ │ │ │ ├── header.component.ts │ │ │ │ │ │ └── index.md │ │ │ │ │ └── sidebar │ │ │ │ │ │ ├── sidebar.component.html │ │ │ │ │ │ ├── sidebar.component.spec.ts │ │ │ │ │ │ └── sidebar.component.ts │ │ │ │ ├── fullscreen │ │ │ │ │ ├── fullscreen.component.html │ │ │ │ │ └── fullscreen.component.ts │ │ │ │ ├── layout.module.ts │ │ │ │ └── passport │ │ │ │ │ ├── passport.component.html │ │ │ │ │ ├── passport.component.less │ │ │ │ │ └── passport.component.ts │ │ │ ├── routes │ │ │ │ ├── callback │ │ │ │ │ └── callback.component.ts │ │ │ │ ├── dashboard │ │ │ │ │ ├── dashboard.component.html │ │ │ │ │ └── dashboard.component.ts │ │ │ │ ├── exception │ │ │ │ │ ├── 403.component.ts │ │ │ │ │ ├── 404.component.ts │ │ │ │ │ └── 500.component.ts │ │ │ │ ├── passport │ │ │ │ │ ├── lock │ │ │ │ │ │ ├── lock.component.html │ │ │ │ │ │ ├── lock.component.spec.ts │ │ │ │ │ │ └── lock.component.ts │ │ │ │ │ ├── login │ │ │ │ │ │ ├── login.component.html │ │ │ │ │ │ ├── login.component.less │ │ │ │ │ │ └── login.component.ts │ │ │ │ │ ├── register-result │ │ │ │ │ │ ├── register-result.component.html │ │ │ │ │ │ ├── register-result.component.less │ │ │ │ │ │ └── register-result.component.ts │ │ │ │ │ └── register │ │ │ │ │ │ ├── register.component.html │ │ │ │ │ │ ├── register.component.less │ │ │ │ │ │ └── register.component.ts │ │ │ │ ├── routes-routing.module.ts │ │ │ │ └── routes.module.ts │ │ │ └── shared │ │ │ │ ├── README.md │ │ │ │ ├── json-schema │ │ │ │ ├── index.md │ │ │ │ └── json-schema.module.ts │ │ │ │ └── shared.module.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── img │ │ │ │ ├── 1.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── 5.png │ │ │ │ ├── 6.png │ │ │ │ ├── avatar.jpg │ │ │ │ ├── bg1.jpg │ │ │ │ ├── bg10.jpg │ │ │ │ ├── bg2.jpg │ │ │ │ ├── bg3.jpg │ │ │ │ ├── bg4.jpg │ │ │ │ ├── bg5.jpg │ │ │ │ ├── bg6.jpg │ │ │ │ ├── bg7.jpg │ │ │ │ ├── bg8.jpg │ │ │ │ ├── bg9.jpg │ │ │ │ ├── half-float-bg-1.jpg │ │ │ │ ├── logo-color.svg │ │ │ │ ├── logo-full.svg │ │ │ │ ├── logo.svg │ │ │ │ └── zorro.svg │ │ ├── environments │ │ │ ├── environment.hmr.ts │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── hmr.ts │ │ ├── index.html │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.less │ │ ├── styles │ │ │ ├── index.less │ │ │ └── theme.less │ │ ├── test.ts │ │ ├── testing │ │ │ └── common.spec.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── typings.d.ts │ ├── tsconfig.json │ └── tslint.json └── server │ ├── .gitignore │ ├── .npmignore │ ├── .prettierrc │ ├── .vscode │ └── launch.json │ ├── README.md │ ├── bootstrap.js │ ├── dist │ ├── application.d.ts │ ├── application.js │ ├── application.js.map │ ├── config │ │ ├── passport.d.ts │ │ ├── passport.js │ │ └── passport.js.map │ ├── container.d.ts │ ├── container.js │ ├── container.js.map │ ├── controllers │ │ ├── index.d.ts │ │ ├── index.js │ │ └── index.js.map │ ├── database │ │ ├── connector.d.ts │ │ ├── connector.js │ │ ├── connector.js.map │ │ ├── repository.d.ts │ │ ├── repository.js │ │ └── repository.js.map │ ├── index.d.ts │ ├── index.js │ ├── index.js.map │ ├── interceptor │ │ ├── custom.server.d.ts │ │ ├── custom.server.js │ │ ├── custom.server.js.map │ │ ├── interceptor.d.ts │ │ ├── interceptor.js │ │ ├── interceptor.js.map │ │ ├── internal.server.d.ts │ │ ├── internal.server.js │ │ └── internal.server.js.map │ ├── main.d.ts │ ├── main.js │ ├── main.js.map │ ├── modules │ │ ├── cms │ │ │ ├── appearance │ │ │ │ ├── article.appearance.d.ts │ │ │ │ ├── article.appearance.js │ │ │ │ ├── article.appearance.js.map │ │ │ │ ├── category.appearance.d.ts │ │ │ │ ├── category.appearance.js │ │ │ │ ├── category.appearance.js.map │ │ │ │ ├── media.appearance.d.ts │ │ │ │ ├── media.appearance.js │ │ │ │ ├── media.appearance.js.map │ │ │ │ ├── page.appearance.d.ts │ │ │ │ ├── page.appearance.js │ │ │ │ ├── page.appearance.js.map │ │ │ │ ├── widget.appearance.d.ts │ │ │ │ ├── widget.appearance.js │ │ │ │ └── widget.appearance.js.map │ │ │ ├── article.controller.d.ts │ │ │ ├── article.controller.js │ │ │ ├── article.controller.js.map │ │ │ ├── article.service.d.ts │ │ │ ├── article.service.js │ │ │ ├── article.service.js.map │ │ │ ├── category.controller.d.ts │ │ │ ├── category.controller.js │ │ │ ├── category.controller.js.map │ │ │ ├── category.service.d.ts │ │ │ ├── category.service.js │ │ │ ├── category.service.js.map │ │ │ ├── cms.controllers.d.ts │ │ │ ├── cms.controllers.js │ │ │ ├── cms.controllers.js.map │ │ │ ├── cms.database.d.ts │ │ │ ├── cms.database.js │ │ │ ├── cms.database.js.map │ │ │ ├── custom.controller.d.ts │ │ │ ├── custom.controller.js │ │ │ ├── custom.controller.js.map │ │ │ ├── custom.service.d.ts │ │ │ ├── custom.service.js │ │ │ ├── custom.service.js.map │ │ │ ├── dto │ │ │ │ ├── article.dto.d.ts │ │ │ │ ├── article.dto.js │ │ │ │ ├── article.dto.js.map │ │ │ │ ├── category.dto.d.ts │ │ │ │ ├── category.dto.js │ │ │ │ ├── category.dto.js.map │ │ │ │ ├── comment.dto.d.ts │ │ │ │ ├── comment.dto.js │ │ │ │ ├── comment.dto.js.map │ │ │ │ ├── custom.dto.d.ts │ │ │ │ ├── custom.dto.js │ │ │ │ ├── custom.dto.js.map │ │ │ │ ├── media.dto.d.ts │ │ │ │ ├── media.dto.js │ │ │ │ ├── media.dto.js.map │ │ │ │ ├── page.dto.d.ts │ │ │ │ ├── page.dto.js │ │ │ │ ├── page.dto.js.map │ │ │ │ ├── widget.dto.d.ts │ │ │ │ ├── widget.dto.js │ │ │ │ └── widget.dto.js.map │ │ │ ├── interfaces │ │ │ │ ├── article.interface.d.ts │ │ │ │ ├── article.interface.js │ │ │ │ ├── article.interface.js.map │ │ │ │ ├── category.interface.d.ts │ │ │ │ ├── category.interface.js │ │ │ │ ├── category.interface.js.map │ │ │ │ ├── comment.interface.d.ts │ │ │ │ ├── comment.interface.js │ │ │ │ ├── comment.interface.js.map │ │ │ │ ├── content.interface.d.ts │ │ │ │ ├── content.interface.js │ │ │ │ ├── content.interface.js.map │ │ │ │ ├── custom.interface.d.ts │ │ │ │ ├── custom.interface.js │ │ │ │ ├── custom.interface.js.map │ │ │ │ ├── media.interface.d.ts │ │ │ │ ├── media.interface.js │ │ │ │ ├── media.interface.js.map │ │ │ │ ├── page.interface.d.ts │ │ │ │ ├── page.interface.js │ │ │ │ ├── page.interface.js.map │ │ │ │ ├── widget.interface.d.ts │ │ │ │ ├── widget.interface.js │ │ │ │ └── widget.interface.js.map │ │ │ ├── media.controller.d.ts │ │ │ ├── media.controller.js │ │ │ ├── media.controller.js.map │ │ │ ├── media.service.d.ts │ │ │ ├── media.service.js │ │ │ ├── media.service.js.map │ │ │ ├── page.controller.d.ts │ │ │ ├── page.controller.js │ │ │ ├── page.controller.js.map │ │ │ ├── page.service.d.ts │ │ │ ├── page.service.js │ │ │ ├── page.service.js.map │ │ │ ├── schemas │ │ │ │ ├── article.schema.d.ts │ │ │ │ ├── article.schema.js │ │ │ │ ├── article.schema.js.map │ │ │ │ ├── category.schema.d.ts │ │ │ │ ├── category.schema.js │ │ │ │ ├── category.schema.js.map │ │ │ │ ├── comment.schema.d.ts │ │ │ │ ├── comment.schema.js │ │ │ │ ├── comment.schema.js.map │ │ │ │ ├── content.schema.d.ts │ │ │ │ ├── content.schema.js │ │ │ │ ├── content.schema.js.map │ │ │ │ ├── custom.schema.d.ts │ │ │ │ ├── custom.schema.js │ │ │ │ ├── custom.schema.js.map │ │ │ │ ├── media.schema.d.ts │ │ │ │ ├── media.schema.js │ │ │ │ ├── media.schema.js.map │ │ │ │ ├── page.schema.d.ts │ │ │ │ ├── page.schema.js │ │ │ │ ├── page.schema.js.map │ │ │ │ ├── widget.schema.d.ts │ │ │ │ ├── widget.schema.js │ │ │ │ └── widget.schema.js.map │ │ │ ├── widget.controller.d.ts │ │ │ ├── widget.controller.js │ │ │ ├── widget.controller.js.map │ │ │ ├── widget.service.d.ts │ │ │ ├── widget.service.js │ │ │ └── widget.service.js.map │ │ └── core │ │ │ ├── access.service.d.ts │ │ │ ├── access.service.js │ │ │ ├── access.service.js.map │ │ │ ├── access.service.spec.d.ts │ │ │ ├── access.service.spec.js │ │ │ ├── access.service.spec.js.map │ │ │ ├── account.controller.d.ts │ │ │ ├── account.controller.js │ │ │ ├── account.controller.js.map │ │ │ ├── account.service.d.ts │ │ │ ├── account.service.js │ │ │ ├── account.service.js.map │ │ │ ├── account.service.spec.d.ts │ │ │ ├── account.service.spec.js │ │ │ ├── account.service.spec.js.map │ │ │ ├── api.controller.d.ts │ │ │ ├── api.controller.js │ │ │ ├── api.controller.js.map │ │ │ ├── api.service.d.ts │ │ │ ├── api.service.js │ │ │ ├── api.service.js.map │ │ │ ├── appearance │ │ │ ├── account.appearance.d.ts │ │ │ ├── account.appearance.js │ │ │ ├── account.appearance.js.map │ │ │ ├── api.appearance.d.ts │ │ │ ├── api.appearance.js │ │ │ ├── api.appearance.js.map │ │ │ ├── dict.appearance.d.ts │ │ │ ├── dict.appearance.js │ │ │ ├── dict.appearance.js.map │ │ │ ├── group.appearance.d.ts │ │ │ ├── group.appearance.js │ │ │ ├── group.appearance.js.map │ │ │ ├── log.appearance.d.ts │ │ │ ├── log.appearance.js │ │ │ ├── log.appearance.js.map │ │ │ ├── menu.appearance.d.ts │ │ │ ├── menu.appearance.js │ │ │ ├── menu.appearance.js.map │ │ │ ├── role.appearance.d.ts │ │ │ ├── role.appearance.js │ │ │ ├── role.appearance.js.map │ │ │ ├── setting.appearance.d.ts │ │ │ ├── setting.appearance.js │ │ │ └── setting.appearance.js.map │ │ │ ├── core.controllers.d.ts │ │ │ ├── core.controllers.js │ │ │ ├── core.controllers.js.map │ │ │ ├── core.database.d.ts │ │ │ ├── core.database.js │ │ │ ├── core.database.js.map │ │ │ ├── dict.controller.d.ts │ │ │ ├── dict.controller.js │ │ │ ├── dict.controller.js.map │ │ │ ├── dict.service.d.ts │ │ │ ├── dict.service.js │ │ │ ├── dict.service.js.map │ │ │ ├── dto │ │ │ ├── account.dto.d.ts │ │ │ ├── account.dto.js │ │ │ ├── account.dto.js.map │ │ │ ├── api.dto.d.ts │ │ │ ├── api.dto.js │ │ │ ├── api.dto.js.map │ │ │ ├── dict.dto.d.ts │ │ │ ├── dict.dto.js │ │ │ ├── dict.dto.js.map │ │ │ ├── group.dto.d.ts │ │ │ ├── group.dto.js │ │ │ ├── group.dto.js.map │ │ │ ├── log.dto.d.ts │ │ │ ├── log.dto.js │ │ │ ├── log.dto.js.map │ │ │ ├── login.dto.d.ts │ │ │ ├── login.dto.js │ │ │ ├── login.dto.js.map │ │ │ ├── menu.dto.d.ts │ │ │ ├── menu.dto.js │ │ │ ├── menu.dto.js.map │ │ │ ├── profile.dto.d.ts │ │ │ ├── profile.dto.js │ │ │ ├── profile.dto.js.map │ │ │ ├── role.dto.d.ts │ │ │ ├── role.dto.js │ │ │ ├── role.dto.js.map │ │ │ ├── setting.dto.d.ts │ │ │ ├── setting.dto.js │ │ │ └── setting.dto.js.map │ │ │ ├── group.controller.d.ts │ │ │ ├── group.controller.js │ │ │ ├── group.controller.js.map │ │ │ ├── group.service.d.ts │ │ │ ├── group.service.js │ │ │ ├── group.service.js.map │ │ │ ├── interfaces │ │ │ ├── account.interface.d.ts │ │ │ ├── account.interface.js │ │ │ ├── account.interface.js.map │ │ │ ├── api.interface.d.ts │ │ │ ├── api.interface.js │ │ │ ├── api.interface.js.map │ │ │ ├── dict.interface.d.ts │ │ │ ├── dict.interface.js │ │ │ ├── dict.interface.js.map │ │ │ ├── group.interface.d.ts │ │ │ ├── group.interface.js │ │ │ ├── group.interface.js.map │ │ │ ├── log.interface.d.ts │ │ │ ├── log.interface.js │ │ │ ├── log.interface.js.map │ │ │ ├── menu.interface.d.ts │ │ │ ├── menu.interface.js │ │ │ ├── menu.interface.js.map │ │ │ ├── profile.interface.d.ts │ │ │ ├── profile.interface.js │ │ │ ├── profile.interface.js.map │ │ │ ├── role.interface.d.ts │ │ │ ├── role.interface.js │ │ │ ├── role.interface.js.map │ │ │ ├── setting.interface.d.ts │ │ │ ├── setting.interface.js │ │ │ └── setting.interface.js.map │ │ │ ├── log.controller.d.ts │ │ │ ├── log.controller.js │ │ │ ├── log.controller.js.map │ │ │ ├── log.service.d.ts │ │ │ ├── log.service.js │ │ │ ├── log.service.js.map │ │ │ ├── menu.controller.d.ts │ │ │ ├── menu.controller.js │ │ │ ├── menu.controller.js.map │ │ │ ├── menu.service.d.ts │ │ │ ├── menu.service.js │ │ │ ├── menu.service.js.map │ │ │ ├── role.controller.d.ts │ │ │ ├── role.controller.js │ │ │ ├── role.controller.js.map │ │ │ ├── role.service.d.ts │ │ │ ├── role.service.js │ │ │ ├── role.service.js.map │ │ │ ├── schemas │ │ │ ├── account.schema.d.ts │ │ │ ├── account.schema.js │ │ │ ├── account.schema.js.map │ │ │ ├── api.schema.d.ts │ │ │ ├── api.schema.js │ │ │ ├── api.schema.js.map │ │ │ ├── dict.schema.d.ts │ │ │ ├── dict.schema.js │ │ │ ├── dict.schema.js.map │ │ │ ├── group.schema.d.ts │ │ │ ├── group.schema.js │ │ │ ├── group.schema.js.map │ │ │ ├── log.schema.d.ts │ │ │ ├── log.schema.js │ │ │ ├── log.schema.js.map │ │ │ ├── menu.schema.d.ts │ │ │ ├── menu.schema.js │ │ │ ├── menu.schema.js.map │ │ │ ├── profile.schema.d.ts │ │ │ ├── profile.schema.js │ │ │ ├── profile.schema.js.map │ │ │ ├── role.schema.d.ts │ │ │ ├── role.schema.js │ │ │ ├── role.schema.js.map │ │ │ ├── setting.schema.d.ts │ │ │ ├── setting.schema.js │ │ │ └── setting.schema.js.map │ │ │ ├── setting.controller.d.ts │ │ │ ├── setting.controller.js │ │ │ ├── setting.controller.js.map │ │ │ ├── setting.service.d.ts │ │ │ ├── setting.service.js │ │ │ ├── setting.service.js.map │ │ │ ├── user.controller.d.ts │ │ │ ├── user.controller.js │ │ │ ├── user.controller.js.map │ │ │ ├── user.service.d.ts │ │ │ ├── user.service.js │ │ │ ├── user.service.js.map │ │ │ ├── user.service.spec.d.ts │ │ │ ├── user.service.spec.js │ │ │ └── user.service.spec.js.map │ ├── plugins │ │ ├── domains.d.ts │ │ ├── domains.js │ │ ├── domains.js.map │ │ ├── express.hook.d.ts │ │ ├── express.hook.js │ │ ├── express.hook.js.map │ │ ├── render.d.ts │ │ ├── render.js │ │ └── render.js.map │ ├── scripts │ │ ├── access.init.d.ts │ │ ├── access.init.js │ │ ├── access.init.js.map │ │ ├── apigen.d.ts │ │ ├── apigen.js │ │ ├── apigen.js.map │ │ ├── data.export.all.d.ts │ │ ├── data.export.all.js │ │ ├── data.export.all.js.map │ │ ├── data.export.d.ts │ │ ├── data.export.js │ │ ├── data.export.js.map │ │ ├── data.import.d.ts │ │ ├── data.import.js │ │ ├── data.import.js.map │ │ ├── data.install.d.ts │ │ ├── data.install.js │ │ └── data.install.js.map │ ├── start.d.ts │ ├── start.js │ ├── start.js.map │ ├── swagger.json │ ├── swagger.yaml │ ├── types │ │ ├── appearance.d.ts │ │ ├── appearance.js │ │ ├── appearance.js.map │ │ ├── data.types.d.ts │ │ ├── data.types.js │ │ ├── data.types.js.map │ │ ├── schema.types.d.ts │ │ ├── schema.types.js │ │ └── schema.types.js.map │ └── util │ │ ├── helper.d.ts │ │ ├── helper.js │ │ ├── helper.js.map │ │ ├── logger.d.ts │ │ ├── logger.js │ │ ├── logger.js.map │ │ ├── secrets.d.ts │ │ ├── secrets.js │ │ ├── secrets.js.map │ │ ├── validator.d.ts │ │ ├── validator.js │ │ └── validator.js.map │ ├── example.env │ ├── jest.json │ ├── log4js.debug.json │ ├── log4js.json │ ├── nodemon.json │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── application.ts │ ├── config │ │ └── passport.ts │ ├── container.ts │ ├── controllers │ │ └── index.ts │ ├── database │ │ ├── connector.ts │ │ └── repository.ts │ ├── index.ts │ ├── interceptor │ │ ├── custom.server.ts │ │ ├── interceptor.ts │ │ └── internal.server.ts │ ├── main.ts │ ├── modules │ │ ├── cms │ │ │ ├── appearance │ │ │ │ ├── article.appearance.ts │ │ │ │ ├── category.appearance.ts │ │ │ │ ├── media.appearance.ts │ │ │ │ ├── page.appearance.ts │ │ │ │ └── widget.appearance.ts │ │ │ ├── article.controller.ts │ │ │ ├── article.service.ts │ │ │ ├── category.controller.ts │ │ │ ├── category.service.ts │ │ │ ├── cms.controllers.ts │ │ │ ├── cms.database.ts │ │ │ ├── custom.controller.ts │ │ │ ├── custom.service.ts │ │ │ ├── dto │ │ │ │ ├── article.dto.ts │ │ │ │ ├── category.dto.ts │ │ │ │ ├── comment.dto.ts │ │ │ │ ├── custom.dto.ts │ │ │ │ ├── media.dto.ts │ │ │ │ ├── page.dto.ts │ │ │ │ └── widget.dto.ts │ │ │ ├── interfaces │ │ │ │ ├── article.interface.ts │ │ │ │ ├── category.interface.ts │ │ │ │ ├── comment.interface.ts │ │ │ │ ├── content.interface.ts │ │ │ │ ├── custom.interface.ts │ │ │ │ ├── media.interface.ts │ │ │ │ ├── page.interface.ts │ │ │ │ └── widget.interface.ts │ │ │ ├── media.controller.ts │ │ │ ├── media.service.ts │ │ │ ├── page.controller.ts │ │ │ ├── page.service.ts │ │ │ ├── schemas │ │ │ │ ├── article.schema.ts │ │ │ │ ├── category.schema.ts │ │ │ │ ├── comment.schema.ts │ │ │ │ ├── content.schema.ts │ │ │ │ ├── custom.schema.ts │ │ │ │ ├── media.schema.ts │ │ │ │ ├── page.schema.ts │ │ │ │ └── widget.schema.ts │ │ │ ├── widget.controller.ts │ │ │ └── widget.service.ts │ │ └── core │ │ │ ├── access.service.spec.ts │ │ │ ├── access.service.ts │ │ │ ├── account.controller.ts │ │ │ ├── account.service.spec.ts │ │ │ ├── account.service.ts │ │ │ ├── api.controller.ts │ │ │ ├── api.service.ts │ │ │ ├── appearance │ │ │ ├── account.appearance.ts │ │ │ ├── api.appearance.ts │ │ │ ├── dict.appearance.ts │ │ │ ├── group.appearance.ts │ │ │ ├── log.appearance.ts │ │ │ ├── menu.appearance.ts │ │ │ ├── role.appearance.ts │ │ │ └── setting.appearance.ts │ │ │ ├── core.controllers.ts │ │ │ ├── core.database.ts │ │ │ ├── dict.controller.ts │ │ │ ├── dict.service.ts │ │ │ ├── dto │ │ │ ├── account.dto.ts │ │ │ ├── api.dto.ts │ │ │ ├── dict.dto.ts │ │ │ ├── group.dto.ts │ │ │ ├── log.dto.ts │ │ │ ├── login.dto.ts │ │ │ ├── menu.dto.ts │ │ │ ├── profile.dto.ts │ │ │ ├── role.dto.ts │ │ │ └── setting.dto.ts │ │ │ ├── group.controller.ts │ │ │ ├── group.service.ts │ │ │ ├── interfaces │ │ │ ├── account.interface.ts │ │ │ ├── api.interface.ts │ │ │ ├── dict.interface.ts │ │ │ ├── group.interface.ts │ │ │ ├── log.interface.ts │ │ │ ├── menu.interface.ts │ │ │ ├── profile.interface.ts │ │ │ ├── role.interface.ts │ │ │ └── setting.interface.ts │ │ │ ├── log.controller.ts │ │ │ ├── log.service.ts │ │ │ ├── menu.controller.ts │ │ │ ├── menu.service.ts │ │ │ ├── role.controller.ts │ │ │ ├── role.service.ts │ │ │ ├── schemas │ │ │ ├── account.schema.ts │ │ │ ├── api.schema.ts │ │ │ ├── dict.schema.ts │ │ │ ├── group.schema.ts │ │ │ ├── log.schema.ts │ │ │ ├── menu.schema.ts │ │ │ ├── profile.schema.ts │ │ │ ├── role.schema.ts │ │ │ └── setting.schema.ts │ │ │ ├── setting.controller.ts │ │ │ ├── setting.service.ts │ │ │ ├── user.controller.ts │ │ │ ├── user.service.spec.ts │ │ │ └── user.service.ts │ ├── plugins │ │ ├── domains.ts │ │ ├── express.hook.ts │ │ └── render.ts │ ├── scripts │ │ ├── access.init.ts │ │ ├── apigen.ts │ │ ├── data.export.all.ts │ │ ├── data.export.ts │ │ ├── data.import.ts │ │ └── data.install.ts │ ├── start.ts │ ├── t.json │ ├── types │ │ ├── .DS_Store │ │ ├── appearance.ts │ │ ├── data.types.ts │ │ └── schema.types.ts │ └── util │ │ ├── helper.ts │ │ ├── logger.ts │ │ ├── secrets.ts │ │ └── validator.ts │ ├── swagger.config.json │ └── tsconfig.json ├── src ├── appearances.ts ├── controllers.ts ├── index.ts └── pages │ ├── home.ts │ └── sub.pages.ts ├── tsconfig.json ├── typerx.code-workspace └── views ├── 404.hbs ├── article.hbs ├── assets ├── css │ └── style.css └── i18n │ ├── en.json │ └── zh-CN.json ├── content.hbs ├── index.hbs ├── layout.hbs └── news.hbs /.env.example: -------------------------------------------------------------------------------- 1 | NODE_ENV=production 2 | PORT=5400 3 | SESSION_SECRET=ADSD3347RYSYS655522333 4 | MONGODB_URI=mongodb://localhost/typerxdb 5 | SWAGGER='dist/swagger.json' -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "type": "npm", 8 | "script": "build", 9 | "problemMatcher": [] 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /__test__features/login.feature: -------------------------------------------------------------------------------- 1 | # language: zh-CN 2 | @user_login 3 | 功能: 用户登录功能 4 | 5 | 用户名和密码登录: 6 | 1.错误的用户名和密码登录的情况 7 | 2.正确的用户名和密码的情况 8 | 9 | 场景大纲: 用户名密码登录 10 | 假如导航到用户登录页面 11 | 当用户名输入"" 12 | 当密码输入"" 13 | 当点击登录按钮 14 | 那么应该登录"",校验点为"" 15 | 例子: 16 | | username | password | status | checkpoint | 17 | | admin | 888888 | 成功 | true | 18 | | | 123456 | 失败 | 信息不完整。 | 19 | | admin1 | 123456 | 失败 | 用户名或密码错误 | -------------------------------------------------------------------------------- /bootstrap.js: -------------------------------------------------------------------------------- 1 | require('ts-node/register'); 2 | require('./src/index'); -------------------------------------------------------------------------------- /build.copy.ts: -------------------------------------------------------------------------------- 1 | import * as shell from 'shelljs'; 2 | 3 | shell.cp('-R', 'node_modules/typerx-server/client', '.'); 4 | -------------------------------------------------------------------------------- /client/0.da799fcda0c92e4d235e.js: -------------------------------------------------------------------------------- 1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[0],{Wjfn:function(n,a,t){"use strict";t.r(a);var r=t("CcnG"),c=function(){},o=t("pMnS"),u=t("ZYCi");t.d(a,"AppearanceModuleNgFactory",function(){return e});var e=r.Oa(c,[],function(n){return r.Ya([r.Za(512,r.j,r.Da,[[8,[o.a]],[3,r.j],r.w]),r.Za(1073742336,u.t,u.t,[[2,u.z],[2,u.p]]),r.Za(1073742336,c,c,[]),r.Za(1024,u.m,function(){return[[]]},[])])})}}]); -------------------------------------------------------------------------------- /client/Simple-Line-Icons.0cb0b9c589c0624c9c78.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/Simple-Line-Icons.0cb0b9c589c0624c9c78.woff2 -------------------------------------------------------------------------------- /client/Simple-Line-Icons.78f07e2c2a535c26ef21.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/Simple-Line-Icons.78f07e2c2a535c26ef21.woff -------------------------------------------------------------------------------- /client/Simple-Line-Icons.d2285965fe34b0546504.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/Simple-Line-Icons.d2285965fe34b0546504.ttf -------------------------------------------------------------------------------- /client/Simple-Line-Icons.f33df365d6d0255b586f.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/Simple-Line-Icons.f33df365d6d0255b586f.eot -------------------------------------------------------------------------------- /client/assets/demo.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/demo.docx -------------------------------------------------------------------------------- /client/assets/demo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/demo.pdf -------------------------------------------------------------------------------- /client/assets/demo.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/demo.pptx -------------------------------------------------------------------------------- /client/assets/demo.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/demo.xlsx -------------------------------------------------------------------------------- /client/assets/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/1.png -------------------------------------------------------------------------------- /client/assets/img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/2.png -------------------------------------------------------------------------------- /client/assets/img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/3.png -------------------------------------------------------------------------------- /client/assets/img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/4.png -------------------------------------------------------------------------------- /client/assets/img/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/5.png -------------------------------------------------------------------------------- /client/assets/img/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/6.png -------------------------------------------------------------------------------- /client/assets/img/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/avatar.jpg -------------------------------------------------------------------------------- /client/assets/img/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg1.jpg -------------------------------------------------------------------------------- /client/assets/img/bg10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg10.jpg -------------------------------------------------------------------------------- /client/assets/img/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg2.jpg -------------------------------------------------------------------------------- /client/assets/img/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg3.jpg -------------------------------------------------------------------------------- /client/assets/img/bg4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg4.jpg -------------------------------------------------------------------------------- /client/assets/img/bg5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg5.jpg -------------------------------------------------------------------------------- /client/assets/img/bg6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg6.jpg -------------------------------------------------------------------------------- /client/assets/img/bg7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg7.jpg -------------------------------------------------------------------------------- /client/assets/img/bg8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg8.jpg -------------------------------------------------------------------------------- /client/assets/img/bg9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/bg9.jpg -------------------------------------------------------------------------------- /client/assets/img/half-float-bg-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/img/half-float-bg-1.jpg -------------------------------------------------------------------------------- /client/assets/scripts/appearances/appearance.module.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"appearance.module.js","sourceRoot":"","sources":["../../../appearances/appearance.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;YAIM,MAAM,GAAW,EACtB,CAAC;;gBAeF;gBAAgC,CAAC;gBAApB,gBAAgB;oBAb5B,eAAQ,CAAC;wBACN,OAAO,EAAE;4BACL,qBAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;yBAChC;wBACD,YAAY,EAAE,EACb;wBACD,eAAe,EAAE,EAChB;wBACD,OAAO,EAAE;4BACL,qBAAY;yBACf;qBACJ,CAAC;mBAEW,gBAAgB,CAAI;gBAAD,uBAAC;aAAA,AAAjC;;QACA,CAAC"} -------------------------------------------------------------------------------- /client/assets/scripts/types/types.js: -------------------------------------------------------------------------------- 1 | System.register([], function (exports_1, context_1) { 2 | "use strict"; 3 | var __moduleName = context_1 && context_1.id; 4 | var Appearance; 5 | return { 6 | setters: [], 7 | execute: function () { 8 | Appearance = /** @class */ (function () { 9 | function Appearance() { 10 | } 11 | return Appearance; 12 | }()); 13 | exports_1("Appearance", Appearance); 14 | } 15 | }; 16 | }); 17 | //# sourceMappingURL=types.js.map 18 | -------------------------------------------------------------------------------- /client/assets/scripts/types/types.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../types/types.ts"],"names":[],"mappings":";;;;;;;YAGA;gBAAA;gBAGA,CAAC;gBAAD,iBAAC;YAAD,CAAC,AAHD,IAGC;;QAmCD,CAAC"} -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/emotion/images/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/emotion/images/0.gif -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/emotion/images/bface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/emotion/images/bface.gif -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/emotion/images/cface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/emotion/images/cface.gif -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/emotion/images/fface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/emotion/images/fface.gif -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/emotion/images/jxface2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/emotion/images/jxface2.gif -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/emotion/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/emotion/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/emotion/images/tface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/emotion/images/tface.gif -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/emotion/images/wface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/emotion/images/wface.gif -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/emotion/images/yface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/emotion/images/yface.gif -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/formula/images/formula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/formula/images/formula.png -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/image/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/image/images/close.png -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/image/images/upload1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/image/images/upload1.png -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/image/images/upload2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/image/images/upload2.png -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/video/images/center_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/video/images/center_focus.jpg -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/video/images/left_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/video/images/left_focus.jpg -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/video/images/none_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/video/images/none_focus.jpg -------------------------------------------------------------------------------- /client/assets/umeditor/dialogs/video/images/right_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/dialogs/video/images/right_focus.jpg -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/addimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/addimage.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/alldeletebtnhoverskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/alldeletebtnhoverskin.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/alldeletebtnupskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/alldeletebtnupskin.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/background.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/button.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/copy.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/deletedisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/deletedisable.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/deleteenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/deleteenable.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/imglabel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/imglabel.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/listbackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/listbackground.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/localimage.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/music.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/rotateleftdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/rotateleftdisable.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/rotateleftenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/rotateleftenable.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/rotaterightdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/rotaterightdisable.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/rotaterightenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/rotaterightenable.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/en/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/en/images/upload.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/zh-cn/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/zh-cn/images/copy.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/zh-cn/images/imglabel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/zh-cn/images/imglabel.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/zh-cn/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/zh-cn/images/localimage.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/zh-cn/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/zh-cn/images/music.png -------------------------------------------------------------------------------- /client/assets/umeditor/lang/zh-cn/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/lang/zh-cn/images/upload.png -------------------------------------------------------------------------------- /client/assets/umeditor/php/getContent.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ".htmlspecialchars_decode($content).""; 15 | -------------------------------------------------------------------------------- /client/assets/umeditor/themes/default/images/caret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/themes/default/images/caret.png -------------------------------------------------------------------------------- /client/assets/umeditor/themes/default/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/themes/default/images/close.png -------------------------------------------------------------------------------- /client/assets/umeditor/themes/default/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/themes/default/images/icons.gif -------------------------------------------------------------------------------- /client/assets/umeditor/themes/default/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/themes/default/images/icons.png -------------------------------------------------------------------------------- /client/assets/umeditor/themes/default/images/ok.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/themes/default/images/ok.gif -------------------------------------------------------------------------------- /client/assets/umeditor/themes/default/images/pop-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/themes/default/images/pop-bg.png -------------------------------------------------------------------------------- /client/assets/umeditor/themes/default/images/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/themes/default/images/spacer.gif -------------------------------------------------------------------------------- /client/assets/umeditor/themes/default/images/videologo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/themes/default/images/videologo.gif -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/Symbola.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/Symbola.eot -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/Symbola.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/Symbola.otf -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/Symbola.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/Symbola.ttf -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/Symbola.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/Symbola.woff -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.eot -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.ttf -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.woff -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.eot -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.ttf -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.woff -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.eot -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.ttf -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.woff -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.eot -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.ttf -------------------------------------------------------------------------------- /client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.woff -------------------------------------------------------------------------------- /client/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/client/favicon.ico -------------------------------------------------------------------------------- /data/export.dicts.json: -------------------------------------------------------------------------------- 1 | [{"_id":"59f058a7696cf532c5172ead","category":"category","name":"category","translate":"字典分类"}] -------------------------------------------------------------------------------- /data/export.groups.json: -------------------------------------------------------------------------------- 1 | [{"_id":"5b1e89da653fef1f92c4b955","name":"总公司","paths":[],"description":"总公司分组"},{"_id":"5b2766a3177e2c274909cb6d","name":"第一分公司","parent":"5b1e89da653fef1f92c4b955","paths":[],"director":"5af409755283214fb9c2ccd0","description":"dfsdfsdf"}] -------------------------------------------------------------------------------- /data/export.settings.json: -------------------------------------------------------------------------------- 1 | [{"_id":"5b0d006899f6ac12569afb05","name":"main","key":"name","value":"Typerx"},{"_id":"5b0d00a099f6ac12569afb06","name":"main","key":"logo","value":"/uploads/6dd2eea21bdde9c69d4aabc898764d7f"}] -------------------------------------------------------------------------------- /dist/appearances.d.ts: -------------------------------------------------------------------------------- 1 | export declare const appearances: any; 2 | -------------------------------------------------------------------------------- /dist/appearances.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.appearances = {}; 4 | //# sourceMappingURL=appearances.js.map -------------------------------------------------------------------------------- /dist/appearances.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"appearances.js","sourceRoot":"","sources":["../src/appearances.ts"],"names":[],"mappings":";;AAAa,QAAA,WAAW,GAAQ,EAC/B,CAAC"} -------------------------------------------------------------------------------- /dist/controllers.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: any[]; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /dist/controllers.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.default = []; 4 | //# sourceMappingURL=controllers.js.map -------------------------------------------------------------------------------- /dist/controllers.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../src/controllers.ts"],"names":[],"mappings":";;AAAA,kBAAe,EAEd,CAAC"} -------------------------------------------------------------------------------- /dist/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Application } from 'typerx-server'; 2 | declare const server: Application; 3 | export default server; 4 | -------------------------------------------------------------------------------- /dist/pages/home.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Request, Response } from 'express'; 3 | export declare function indexRender(req: Request, res: Response): Promise; 4 | -------------------------------------------------------------------------------- /dist/pages/sub.pages.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Request, Response } from 'express'; 3 | export declare const pages: { 4 | [key: string]: (req: Request, res: Response, type: string) => void; 5 | }; 6 | -------------------------------------------------------------------------------- /nodemon.json: -------------------------------------------------------------------------------- 1 | { 2 | "watch": ["./src"], 3 | "ext": "ts", 4 | "ignore": ["./src/**/*.spec.ts"], 5 | "exec": "node ./bootstrap", 6 | "env": { 7 | "NODE_ENV": "production" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/client/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | Dockerfile* 4 | docker-compose* 5 | .dockerignore 6 | .git 7 | .gitignore 8 | README.md 9 | LICENSE 10 | .vscode 11 | _screenshot 12 | _documents 13 | -------------------------------------------------------------------------------- /packages/client/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 4 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /packages/client/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "./node_modules/typescript/lib", 3 | // 确保代码片断优先级高于内置 4 | "editor.snippetSuggestions": "top", 5 | "git.ignoreLimitWarning": true 6 | } 7 | -------------------------------------------------------------------------------- /packages/client/_mock/README.md: -------------------------------------------------------------------------------- 1 | [Document](http://ng-alain.com/docs/mock) 2 | -------------------------------------------------------------------------------- /packages/client/_mock/index.ts: -------------------------------------------------------------------------------- 1 | export * from './_profile'; 2 | export * from './_rule'; 3 | export * from './_api'; 4 | export * from './_chart'; 5 | export * from './_pois'; 6 | -------------------------------------------------------------------------------- /packages/client/_nginx/ssl/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/_nginx/ssl/.gitignore -------------------------------------------------------------------------------- /packages/client/build.copy.ts: -------------------------------------------------------------------------------- 1 | import * as shell from 'shelljs'; 2 | 3 | shell.cp('-R', 'dist', './../server/client'); 4 | -------------------------------------------------------------------------------- /packages/client/docker-compose.debug.yml: -------------------------------------------------------------------------------- 1 | version: '2.1' 2 | 3 | services: 4 | ng-alain: 5 | image: ng-alain 6 | build: . 7 | environment: 8 | NODE_ENV: development 9 | ports: 10 | - 80:80 11 | - 9229:9229 12 | ## set your startup file here 13 | command: node --inspect app.js 14 | -------------------------------------------------------------------------------- /packages/client/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2.1' 2 | 3 | services: 4 | ng-alain: 5 | image: ng-alain 6 | build: . 7 | environment: 8 | NODE_ENV: production 9 | ports: 10 | - 80:80 11 | -------------------------------------------------------------------------------- /packages/client/e2e/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { AppPage } from './app.po'; 2 | 3 | describe('ng-alain App', () => { 4 | let page: AppPage; 5 | 6 | beforeEach(() => { 7 | page = new AppPage(); 8 | }); 9 | 10 | it('should display welcome message', () => { 11 | page.navigateTo(); 12 | expect(page.getParagraphText()).toEqual('Welcome to app!'); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /packages/client/e2e/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | navigateTo() { 5 | return browser.get('/'); 6 | } 7 | 8 | getParagraphText() { 9 | return element(by.css('app-root h1')).getText(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/client/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/e2e", 5 | "baseUrl": "./", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": [ 9 | "jasmine", 10 | "jasminewd2", 11 | "node" 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/client/proxy.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "/api": { 3 | "target": "http://localhost:5400/", 4 | "secure": false 5 | }, 6 | "/user": { 7 | "target": "http://localhost:5400/", 8 | "secure": false 9 | }, 10 | "/uploads": { 11 | "target": "http://localhost:5400/", 12 | "secure": false 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/client/src/app/core/README.md: -------------------------------------------------------------------------------- 1 | ### CoreModule 2 | 3 | **应** 仅只留 `providers` 属性。 4 | 5 | **作用:** 一些通用服务,例如:用户消息、HTTP数据访问。 6 | -------------------------------------------------------------------------------- /packages/client/src/app/core/core.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule, Optional, SkipSelf } from '@angular/core'; 2 | import { throwIfAlreadyLoaded } from '@core/module-import-guard'; 3 | import { I18NService } from '@core/i18n/i18n.service'; 4 | 5 | @NgModule({ 6 | providers: [ 7 | I18NService 8 | ] 9 | }) 10 | export class CoreModule { 11 | constructor( @Optional() @SkipSelf() parentModule: CoreModule) { 12 | throwIfAlreadyLoaded(parentModule, 'CoreModule'); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/client/src/app/core/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i18n/i18n.service'; 2 | export * from './module-import-guard'; 3 | export * from './net/default.interceptor'; 4 | export * from './startup/startup.service'; 5 | -------------------------------------------------------------------------------- /packages/client/src/app/core/module-import-guard.ts: -------------------------------------------------------------------------------- 1 | // https://angular.io/guide/styleguide#style-04-12 2 | export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) { 3 | if (parentModule) { 4 | throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/client/src/app/layout/default/default.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 | 6 |
7 | 8 | -------------------------------------------------------------------------------- /packages/client/src/app/layout/default/header/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | component: app-header 3 | title: 顶部菜单 4 | --- 5 | 6 | 顶部菜单组件允许通过 `components` 目录下的组件进行按需组装。 7 | 8 | ## 组件列表 9 | 10 | 组件名 | 说明 11 | ----|------ 12 | `header-fullscreen` | 全屏切换 13 | `header-icon` | 应用图标 14 | `header-langs` | 语言切换 15 | `header-notify` | 菜单通知 16 | `header-search` | 搜索框 17 | `header-storage` | 清除 LocalStorage 缓存 18 | `header-task` | 任务通知 19 | `header-theme` | 主题切换 20 | `header-user` | 用户菜单 21 | -------------------------------------------------------------------------------- /packages/client/src/app/layout/fullscreen/fullscreen.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/client/src/app/layout/fullscreen/fullscreen.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'layout-fullscreen', 5 | templateUrl: './fullscreen.component.html' 6 | }) 7 | export class LayoutFullScreenComponent { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /packages/client/src/app/pages/home/home.component.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 | -------------------------------------------------------------------------------- /packages/client/src/app/pages/home/home.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { _HttpClient } from '@delon/theme'; 3 | import { BaseStandComponent } from '@shared/base/base.stand.component'; 4 | 5 | @Component({ 6 | selector: 'app-home-page', 7 | templateUrl: './home.component.html', 8 | }) 9 | export class HomeComponent extends BaseStandComponent implements OnInit { 10 | 11 | ngOnInit() { 12 | 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /packages/client/src/app/pages/system/logs/logs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |
6 | 7 |
8 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/dashboard/default/dashboard.component.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/dashboard/default/dashboard.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { NzMessageService } from 'ng-zorro-antd'; 3 | import { _HttpClient } from '@delon/theme'; 4 | 5 | @Component({ 6 | selector: 'app-dashboard-page', 7 | templateUrl: './dashboard.component.html', 8 | }) 9 | export class DashboardComponent implements OnInit { 10 | 11 | 12 | constructor(private http: _HttpClient, public msg: NzMessageService) { } 13 | 14 | ngOnInit() { 15 | 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/exception/403.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'exception-403', 5 | template: `` 6 | }) 7 | export class Exception403Component {} 8 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/exception/404.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'exception-404', 5 | template: `` 6 | }) 7 | export class Exception404Component {} 8 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/exception/500.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'exception-500', 5 | template: `` 6 | }) 7 | export class Exception500Component {} 8 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/passport/register-result/register-result.component.html: -------------------------------------------------------------------------------- 1 | 5 | 6 |
你的账户:ng-alain@example.com 注册成功
7 |
8 | 9 | 10 |
11 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/passport/register-result/register-result.component.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/app/routes/passport/register-result/register-result.component.less -------------------------------------------------------------------------------- /packages/client/src/app/routes/passport/register-result/register-result.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NzMessageService } from 'ng-zorro-antd'; 3 | 4 | @Component({ 5 | selector: 'passport-register-result', 6 | templateUrl: './register-result.component.html', 7 | styleUrls: [ './register-result.component.less' ] 8 | }) 9 | export class UserRegisterResultComponent { 10 | constructor(public msg: NzMessageService) {} 11 | } 12 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/widgets/widgets-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | import { WidgetsComponent } from './widgets/widgets.component'; 5 | 6 | const routes: Routes = [ 7 | { path: '', component: WidgetsComponent } 8 | ]; 9 | 10 | @NgModule({ 11 | imports: [ RouterModule.forChild(routes) ], 12 | exports: [ RouterModule ] 13 | }) 14 | export class WidgetsRoutingModule { } 15 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/widgets/widgets.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | import { SharedModule } from '@shared/shared.module'; 4 | 5 | import { WidgetsRoutingModule } from './widgets-routing.module'; 6 | 7 | import { WidgetsComponent } from './widgets/widgets.component'; 8 | 9 | @NgModule({ 10 | imports: [ SharedModule, WidgetsRoutingModule ], 11 | declarations: [ 12 | WidgetsComponent 13 | ] 14 | }) 15 | export class WidgetsModule { } 16 | -------------------------------------------------------------------------------- /packages/client/src/app/routes/widgets/widgets/widgets.component.less: -------------------------------------------------------------------------------- 1 | @import 'node_modules/@delon/theme/styles/default'; 2 | 3 | :host ::ng-deep { 4 | .ant-carousel { 5 | .slick-dots { 6 | bottom: -10px; 7 | li.slick-active button { 8 | background: @primary-color; 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/client/src/app/services/ajax.proxy.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | import { _HttpClient } from '@delon/theme'; 3 | 4 | @Injectable() 5 | export class AjaxProxy { 6 | constructor(public proxy: _HttpClient) { 7 | 8 | } 9 | 10 | signIn(model: any) { 11 | 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /packages/client/src/app/shared/README.md: -------------------------------------------------------------------------------- 1 | # ShareModule 2 | 3 | **应** 包含定义: 4 | 5 | + 应用通用自定义业务组件 6 | 7 | **应** 导出所有包含的模块。 8 | 9 | **不应** 有 `providers` 属性。 10 | 11 | ## 自定义全局组件或指令 12 | 13 | 每一个组件或指令应该有一个完整的说明文件,**建议**一个合理的目录结构应该是: 14 | 15 | ``` 16 | ├── components 17 | │   ├── comp1 18 | │   │   ├── index.ts 19 | │   │   ├── README.md 20 | │   ├── comp2 21 | │   │   ├── index.ts 22 | │   │   ├── README.md 23 | ├── directives 24 | │   ├── dire1 25 | │   │   ├── index.ts 26 | │   │   ├── README.md 27 | │   ├── dire2 28 | │   │   ├── index.ts 29 | │   │   ├── README.md 30 | ``` 31 | -------------------------------------------------------------------------------- /packages/client/src/app/shared/base/base.detail.html: -------------------------------------------------------------------------------- 1 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /packages/client/src/app/shared/base/base.list.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, Injector } from '@angular/core'; 2 | import { BaseComponent } from '@shared/base/base.component'; 3 | 4 | @Component({ 5 | selector: 'app-base-list', 6 | template: './base.list.html' 7 | }) 8 | export class BaseListComponent extends BaseComponent { 9 | 10 | constructor(public injector: Injector) { 11 | super(injector); 12 | } 13 | 14 | query() { 15 | 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /packages/client/src/app/shared/base/base.stand.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/client/src/app/shared/json-schema/index.md: -------------------------------------------------------------------------------- 1 | # 建议统一在 `widgets` 目录下自定义小部件 2 | 3 | > 注:@delon/form 本身提供 nz-zorro-antd 数据录入组件的全部实现,以及若干第三方组件的代码,可从[widgets-third](https://github.com/cipchk/@delon/tree/master/packages/form/widgets-third)中获取并放置 `widgets` 目录下注册即可。 4 | -------------------------------------------------------------------------------- /packages/client/src/app/shared/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './utils'; 2 | -------------------------------------------------------------------------------- /packages/client/src/app/shared/utils/utils.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 转化成RMB元字符串 3 | * @param digits 当数字类型时,允许指定小数点后数字的个数,默认2位小数 4 | */ 5 | // tslint:disable-next-line:no-any 6 | export function yuan(value: any, digits: number = 2): string { 7 | if (typeof value === 'number') value = value.toFixed(digits); 8 | return `¥ ${value}`; 9 | } 10 | -------------------------------------------------------------------------------- /packages/client/src/appearances/appearance.module.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | import { NgModule } from '@angular/core'; 4 | import { RouterModule, Routes } from '@angular/router'; 5 | const routes: Routes = [ 6 | ]; 7 | 8 | @NgModule({ 9 | imports: [ 10 | RouterModule.forChild(routes), 11 | ], 12 | declarations: [ 13 | ], 14 | entryComponents: [ 15 | ], 16 | exports: [ 17 | RouterModule 18 | ] 19 | }) 20 | 21 | export class AppearanceModule { } 22 | -------------------------------------------------------------------------------- /packages/client/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/.gitkeep -------------------------------------------------------------------------------- /packages/client/src/assets/demo.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/demo.docx -------------------------------------------------------------------------------- /packages/client/src/assets/demo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/demo.pdf -------------------------------------------------------------------------------- /packages/client/src/assets/demo.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/demo.pptx -------------------------------------------------------------------------------- /packages/client/src/assets/demo.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/demo.xlsx -------------------------------------------------------------------------------- /packages/client/src/assets/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/1.png -------------------------------------------------------------------------------- /packages/client/src/assets/img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/2.png -------------------------------------------------------------------------------- /packages/client/src/assets/img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/3.png -------------------------------------------------------------------------------- /packages/client/src/assets/img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/4.png -------------------------------------------------------------------------------- /packages/client/src/assets/img/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/5.png -------------------------------------------------------------------------------- /packages/client/src/assets/img/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/6.png -------------------------------------------------------------------------------- /packages/client/src/assets/img/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/avatar.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg1.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg10.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg2.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg3.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg4.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg5.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg6.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg7.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg8.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/bg9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/bg9.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/img/half-float-bg-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/img/half-float-bg-1.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/scripts/appearances/appearance.module.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"appearance.module.js","sourceRoot":"","sources":["../../../appearances/appearance.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;YAIM,MAAM,GAAW,EACtB,CAAC;;gBAeF;gBAAgC,CAAC;gBAApB,gBAAgB;oBAb5B,eAAQ,CAAC;wBACN,OAAO,EAAE;4BACL,qBAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;yBAChC;wBACD,YAAY,EAAE,EACb;wBACD,eAAe,EAAE,EAChB;wBACD,OAAO,EAAE;4BACL,qBAAY;yBACf;qBACJ,CAAC;mBAEW,gBAAgB,CAAI;gBAAD,uBAAC;aAAA,AAAjC;;QACA,CAAC"} -------------------------------------------------------------------------------- /packages/client/src/assets/scripts/types/types.js: -------------------------------------------------------------------------------- 1 | System.register([], function (exports_1, context_1) { 2 | "use strict"; 3 | var __moduleName = context_1 && context_1.id; 4 | var Appearance; 5 | return { 6 | setters: [], 7 | execute: function () { 8 | Appearance = /** @class */ (function () { 9 | function Appearance() { 10 | } 11 | return Appearance; 12 | }()); 13 | exports_1("Appearance", Appearance); 14 | } 15 | }; 16 | }); 17 | //# sourceMappingURL=types.js.map -------------------------------------------------------------------------------- /packages/client/src/assets/scripts/types/types.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../types/types.ts"],"names":[],"mappings":";;;;;;;YAGA;gBAAA;gBAGA,CAAC;gBAAD,iBAAC;YAAD,CAAC,AAHD,IAGC;;QAmCD,CAAC"} -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/emotion/images/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/emotion/images/0.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/emotion/images/bface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/emotion/images/bface.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/emotion/images/cface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/emotion/images/cface.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/emotion/images/fface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/emotion/images/fface.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/emotion/images/jxface2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/emotion/images/jxface2.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/emotion/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/emotion/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/emotion/images/tface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/emotion/images/tface.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/emotion/images/wface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/emotion/images/wface.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/emotion/images/yface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/emotion/images/yface.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/formula/images/formula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/formula/images/formula.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/image/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/image/images/close.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/image/images/upload1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/image/images/upload1.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/image/images/upload2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/image/images/upload2.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/video/images/center_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/video/images/center_focus.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/video/images/left_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/video/images/left_focus.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/video/images/none_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/video/images/none_focus.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/dialogs/video/images/right_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/dialogs/video/images/right_focus.jpg -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/addimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/addimage.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/alldeletebtnhoverskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/alldeletebtnhoverskin.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/alldeletebtnupskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/alldeletebtnupskin.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/background.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/button.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/copy.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/deletedisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/deletedisable.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/deleteenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/deleteenable.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/imglabel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/imglabel.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/listbackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/listbackground.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/localimage.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/music.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/rotateleftdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/rotateleftdisable.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/rotateleftenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/rotateleftenable.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/rotaterightdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/rotaterightdisable.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/rotaterightenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/rotaterightenable.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/en/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/en/images/upload.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/zh-cn/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/zh-cn/images/copy.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/zh-cn/images/imglabel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/zh-cn/images/imglabel.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/zh-cn/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/zh-cn/images/localimage.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/zh-cn/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/zh-cn/images/music.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/lang/zh-cn/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/lang/zh-cn/images/upload.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/php/getContent.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ".htmlspecialchars_decode($content).""; 15 | -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/themes/default/images/caret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/themes/default/images/caret.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/themes/default/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/themes/default/images/close.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/themes/default/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/themes/default/images/icons.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/themes/default/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/themes/default/images/icons.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/themes/default/images/ok.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/themes/default/images/ok.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/themes/default/images/pop-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/themes/default/images/pop-bg.png -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/themes/default/images/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/themes/default/images/spacer.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/themes/default/images/videologo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/themes/default/images/videologo.gif -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/Symbola.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/Symbola.eot -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/Symbola.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/Symbola.otf -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/Symbola.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/Symbola.ttf -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/Symbola.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/Symbola.woff -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.eot -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.ttf -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.woff -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.eot -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.ttf -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.woff -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.eot -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.ttf -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.woff -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.eot -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.ttf -------------------------------------------------------------------------------- /packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/assets/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.woff -------------------------------------------------------------------------------- /packages/client/src/environments/environment.hmr.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | SERVER_URL: `./`, 3 | production: false, 4 | hmr: true, 5 | useHash: true 6 | }; 7 | -------------------------------------------------------------------------------- /packages/client/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | SERVER_URL: `/`, 3 | production: true, 4 | hmr: false, 5 | useHash: true 6 | }; 7 | -------------------------------------------------------------------------------- /packages/client/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // The file contents for the current environment will overwrite these during build. 2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do 3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead. 4 | // The list of which env maps to which file can be found in `.angular-cli.json`. 5 | 6 | export const environment = { 7 | SERVER_URL: `./`, 8 | production: false, 9 | hmr: false, 10 | useHash: true 11 | }; 12 | -------------------------------------------------------------------------------- /packages/client/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/client/src/favicon.ico -------------------------------------------------------------------------------- /packages/client/src/generated/.gitignore: -------------------------------------------------------------------------------- 1 | wwwroot/*.js 2 | node_modules 3 | typings 4 | dist 5 | -------------------------------------------------------------------------------- /packages/client/src/generated/.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 3.3.4 -------------------------------------------------------------------------------- /packages/client/src/generated/api/api.ts: -------------------------------------------------------------------------------- 1 | export * from './cms.service'; 2 | import { CmsService } from './cms.service'; 3 | export * from './core.service'; 4 | import { CoreService } from './core.service'; 5 | export const APIS = [CmsService, CoreService]; 6 | -------------------------------------------------------------------------------- /packages/client/src/generated/index.ts: -------------------------------------------------------------------------------- 1 | export * from './api/api'; 2 | export * from './model/models'; 3 | export * from './variables'; 4 | export * from './configuration'; 5 | export * from './api.module'; -------------------------------------------------------------------------------- /packages/client/src/generated/model/appearance.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * rest api interface 3 | * 项目标准接口 4 | * 5 | * OpenAPI spec version: 0.0.1 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | /** 15 | * 16 | */ 17 | export interface Appearance { 18 | /** 19 | * 20 | */ 21 | columnSets: any; 22 | /** 23 | * 24 | */ 25 | formSets: any; 26 | } 27 | -------------------------------------------------------------------------------- /packages/client/src/generated/model/keyValue.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * rest api interface 3 | * 项目标准接口 4 | * 5 | * OpenAPI spec version: 0.0.1 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | /** 15 | * 16 | */ 17 | export interface KeyValue { 18 | /** 19 | * 20 | */ 21 | label: string; 22 | /** 23 | * 24 | */ 25 | value: string; 26 | } 27 | -------------------------------------------------------------------------------- /packages/client/src/generated/model/loginDto.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * rest api interface 3 | * 项目标准接口 4 | * 5 | * OpenAPI spec version: 0.0.1 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | /** 15 | * 16 | */ 17 | export interface LoginDto { 18 | /** 19 | * 20 | */ 21 | username: string; 22 | /** 23 | * 24 | */ 25 | password: string; 26 | } 27 | -------------------------------------------------------------------------------- /packages/client/src/generated/model/settingsGroup.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * rest api interface 3 | * 项目标准接口 4 | * 5 | * OpenAPI spec version: 0.0.1 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | /** 15 | * 16 | */ 17 | export interface SettingsGroup { 18 | } 19 | -------------------------------------------------------------------------------- /packages/client/src/generated/model/treeNode.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * rest api interface 3 | * 项目标准接口 4 | * 5 | * OpenAPI spec version: 0.0.1 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | /** 15 | * 16 | */ 17 | export interface TreeNode { 18 | /** 19 | * 20 | */ 21 | id: string; 22 | /** 23 | * 24 | */ 25 | title: string; 26 | /** 27 | * 28 | */ 29 | parent: string; 30 | } 31 | -------------------------------------------------------------------------------- /packages/client/src/generated/variables.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | 3 | export const BASE_PATH = new InjectionToken('basePath'); 4 | export const COLLECTION_FORMATS = { 5 | 'csv': ',', 6 | 'tsv': ' ', 7 | 'ssv': ' ', 8 | 'pipes': '|' 9 | } 10 | -------------------------------------------------------------------------------- /packages/client/src/style-icons.ts: -------------------------------------------------------------------------------- 1 | // Custom icon static resources 2 | 3 | import { 4 | InfoOutline, 5 | BulbOutline, 6 | ProfileOutline, 7 | ExceptionOutline, 8 | LinkOutline, 9 | } from '@ant-design/icons-angular/icons'; 10 | 11 | export const ICONS = [ 12 | InfoOutline, 13 | BulbOutline, 14 | ProfileOutline, 15 | ExceptionOutline, 16 | LinkOutline, 17 | ]; 18 | -------------------------------------------------------------------------------- /packages/client/src/styles.less: -------------------------------------------------------------------------------- 1 | // region: PLACEHOLDER, IMPORTANT: don't remove 2 | @import '~@delon/theme/styles/index'; 3 | @import '~@delon/abc/index'; 4 | @import '~@delon/chart/index'; 5 | @import '~@delon/theme/styles/layout/default/index'; 6 | @import '~@delon/theme/styles/layout/fullscreen/index'; 7 | 8 | @import './styles/index'; 9 | @import './styles/theme'; 10 | // endregion 11 | -------------------------------------------------------------------------------- /packages/client/src/styles/theme.less: -------------------------------------------------------------------------------- 1 | // 可以通过 http://ng-alain.com/theme 生成相应的参数代码 2 | -------------------------------------------------------------------------------- /packages/client/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | interface NodeModule { 4 | id: string; 5 | } 6 | 7 | interface WebpackRequire { 8 | (path: string): T; 9 | (paths: string[], callback: (...modules: any[]) => void): void; 10 | ensure: (paths: string[], callback: (require: (path: string) => T) => void) => void; 11 | } 12 | interface NodeRequire extends WebpackRequire {} 13 | declare var require: NodeRequire; 14 | 15 | // G2 16 | declare var G2: any; 17 | declare var Slider: any; 18 | declare var Cloud: any; 19 | -------------------------------------------------------------------------------- /packages/demo/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 4 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /packages/demo/.npmignore: -------------------------------------------------------------------------------- 1 | .github 2 | node_modules 3 | 4 | dist 5 | tmp 6 | -------------------------------------------------------------------------------- /packages/demo/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "8.5.0" 5 | 6 | addons: 7 | chrome: stable 8 | 9 | git: 10 | depth: 1 11 | 12 | before_install: 13 | - export CHROME_BIN=chromium-browser 14 | - export DISPLAY=:99.0 15 | - sh -e /etc/init.d/xvfb start 16 | - npm install -g npm@~5.3.0 17 | 18 | install: 19 | - npm install 20 | 21 | script: 22 | - npm run test 23 | - npm run test-coverage 24 | 25 | after_success: 26 | - ./node_modules/.bin/codecov 27 | 28 | -------------------------------------------------------------------------------- /packages/demo/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "./node_modules/typescript/lib", 3 | // 确保代码片断优先级高于内置 4 | // https://github.com/cipchk/ng-zorro-vscode 5 | "editor.snippetSuggestions": "top" 6 | } 7 | -------------------------------------------------------------------------------- /packages/demo/_mock/README.md: -------------------------------------------------------------------------------- 1 | [Document](http://ng-alain.com/docs/mock) 2 | -------------------------------------------------------------------------------- /packages/demo/_mock/index.ts: -------------------------------------------------------------------------------- 1 | export * from './_user'; 2 | -------------------------------------------------------------------------------- /packages/demo/docker-compose.debug.yml: -------------------------------------------------------------------------------- 1 | version: '2.1' 2 | 3 | services: 4 | ng-alain: 5 | image: ng-alain 6 | build: . 7 | environment: 8 | NODE_ENV: development 9 | ports: 10 | - 80:80 11 | - 9229:9229 12 | ## set your startup file here 13 | command: node --inspect app.js 14 | -------------------------------------------------------------------------------- /packages/demo/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2.1' 2 | 3 | services: 4 | ng-alain: 5 | image: ng-alain 6 | build: . 7 | environment: 8 | NODE_ENV: production 9 | ports: 10 | - 80:80 11 | -------------------------------------------------------------------------------- /packages/demo/e2e/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { AppPage } from './app.po'; 2 | 3 | describe('ng-alain App', () => { 4 | let page: AppPage; 5 | 6 | beforeEach(() => { 7 | page = new AppPage(); 8 | }); 9 | 10 | it('should display welcome message', () => { 11 | page.navigateTo(); 12 | expect(page.getParagraphText()).toEqual('Welcome to app!'); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /packages/demo/e2e/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | navigateTo() { 5 | return browser.get('/'); 6 | } 7 | 8 | getParagraphText() { 9 | return element(by.css('app-root h1')).getText(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/demo/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/e2e", 5 | "baseUrl": "./", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": [ 9 | "jasmine", 10 | "jasminewd2", 11 | "node" 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/demo/src/app/app.component.html: -------------------------------------------------------------------------------- 1 |
2 |

Page Name

3 |
4 | 5 | -------------------------------------------------------------------------------- /packages/demo/src/app/app.component.less: -------------------------------------------------------------------------------- 1 | @import '~@delon/theme/styles/default'; 2 | 3 | :host { 4 | ::ng-deep { 5 | } 6 | } 7 | 8 | -------------------------------------------------------------------------------- /packages/demo/src/app/core/README.md: -------------------------------------------------------------------------------- 1 | ### CoreModule 2 | 3 | **应** 仅只留 `providers` 属性。 4 | 5 | **作用:** 一些通用服务,例如:用户消息、HTTP数据访问。 6 | -------------------------------------------------------------------------------- /packages/demo/src/app/core/core.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule, Optional, SkipSelf } from '@angular/core'; 2 | import { throwIfAlreadyLoaded } from './module-import-guard'; 3 | 4 | 5 | @NgModule({ 6 | providers: [ 7 | ] 8 | }) 9 | export class CoreModule { 10 | constructor( @Optional() @SkipSelf() parentModule: CoreModule) { 11 | throwIfAlreadyLoaded(parentModule, 'CoreModule'); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/demo/src/app/core/module-import-guard.ts: -------------------------------------------------------------------------------- 1 | // https://angular.io/guide/styleguide#style-04-12 2 | export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) { 3 | if (parentModule) { 4 | throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/demo/src/app/layout/default/default.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 |
6 | 7 | 8 |
9 |
10 | -------------------------------------------------------------------------------- /packages/demo/src/app/layout/default/header/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | component: app-header 3 | title: 顶部菜单 4 | --- 5 | 6 | 顶部菜单组件允许通过 `components` 目录下的组件进行按需组装。 7 | 8 | ## 组件列表 9 | 10 | 组件名 | 说明 11 | ----|------ 12 | `header-fullscreen` | 全屏切换 13 | `header-icon` | 应用图标 14 | `header-langs` | 语言切换 15 | `header-notify` | 菜单通知 16 | `header-search` | 搜索框 17 | `header-storage` | 清除 LocalStorage 缓存 18 | `header-task` | 任务通知 19 | `header-theme` | 主题切换 20 | `header-user` | 用户菜单 21 | -------------------------------------------------------------------------------- /packages/demo/src/app/layout/default/sidebar/sidebar.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NzMessageService } from 'ng-zorro-antd'; 3 | import { SettingsService } from '@delon/theme'; 4 | 5 | @Component({ 6 | selector : 'app-sidebar', 7 | templateUrl: './sidebar.component.html' 8 | }) 9 | export class SidebarComponent { 10 | constructor(public settings: SettingsService, public msgSrv: NzMessageService) { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/demo/src/app/layout/fullscreen/fullscreen.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/demo/src/app/layout/fullscreen/fullscreen.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'layout-fullscreen', 5 | templateUrl: './fullscreen.component.html' 6 | }) 7 | export class LayoutFullScreenComponent { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /packages/demo/src/app/routes/dashboard/dashboard.component.html: -------------------------------------------------------------------------------- 1 |
2 |

Page Name

3 |
4 | -------------------------------------------------------------------------------- /packages/demo/src/app/routes/dashboard/dashboard.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { _HttpClient } from '@delon/theme'; 3 | 4 | @Component({ 5 | selector: 'app-dashboard', 6 | templateUrl: './dashboard.component.html', 7 | }) 8 | export class DashboardComponent implements OnInit { 9 | 10 | constructor( 11 | private http: _HttpClient 12 | ) { } 13 | 14 | ngOnInit() { 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /packages/demo/src/app/routes/exception/403.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'exception-403', 5 | template: `` 6 | }) 7 | export class Exception403Component {} 8 | -------------------------------------------------------------------------------- /packages/demo/src/app/routes/exception/404.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'exception-404', 5 | template: `` 6 | }) 7 | export class Exception404Component {} 8 | -------------------------------------------------------------------------------- /packages/demo/src/app/routes/exception/500.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'exception-500', 5 | template: `` 6 | }) 7 | export class Exception500Component {} 8 | -------------------------------------------------------------------------------- /packages/demo/src/app/routes/passport/register-result/register-result.component.html: -------------------------------------------------------------------------------- 1 | 5 | 6 |
你的账户:ng-alain@example.com 注册成功
7 |
8 | 9 | 10 |
11 | -------------------------------------------------------------------------------- /packages/demo/src/app/routes/passport/register-result/register-result.component.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/app/routes/passport/register-result/register-result.component.less -------------------------------------------------------------------------------- /packages/demo/src/app/routes/passport/register-result/register-result.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NzMessageService } from 'ng-zorro-antd'; 3 | 4 | @Component({ 5 | selector: 'passport-register-result', 6 | templateUrl: './register-result.component.html', 7 | styleUrls: [ './register-result.component.less' ] 8 | }) 9 | export class UserRegisterResultComponent { 10 | constructor(public msg: NzMessageService) {} 11 | } 12 | -------------------------------------------------------------------------------- /packages/demo/src/app/shared/README.md: -------------------------------------------------------------------------------- 1 | # ShareModule 2 | 3 | **应** 包含定义: 4 | 5 | + 应用通用自定义业务组件 6 | 7 | **应** 导出所有包含的模块。 8 | 9 | **不应** 有 `providers` 属性。 10 | 11 | ## 自定义全局组件或指令 12 | 13 | 每一个组件或指令应该有一个完整的说明文件,**建议**一个合理的目录结构应该是: 14 | 15 | ``` 16 | ├── components 17 | │   ├── comp1 18 | │   │   ├── index.ts 19 | │   │   ├── README.md 20 | │   ├── comp2 21 | │   │   ├── index.ts 22 | │   │   ├── README.md 23 | ├── directives 24 | │   ├── dire1 25 | │   │   ├── index.ts 26 | │   │   ├── README.md 27 | │   ├── dire2 28 | │   │   ├── index.ts 29 | │   │   ├── README.md 30 | ``` 31 | -------------------------------------------------------------------------------- /packages/demo/src/app/shared/json-schema/index.md: -------------------------------------------------------------------------------- 1 | # 建议统一在 `widgets` 目录下自定义小部件 2 | 3 | > 注:@delon/form 本身提供 nz-zorro-antd 数据录入组件的全部实现,以及若干第三方组件的代码,可从[widgets-third](https://github.com/cipchk/@delon/tree/master/packages/form/widgets-third)中获取并放置 `widgets` 目录下注册即可。 4 | -------------------------------------------------------------------------------- /packages/demo/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/.gitkeep -------------------------------------------------------------------------------- /packages/demo/src/assets/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/1.png -------------------------------------------------------------------------------- /packages/demo/src/assets/img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/2.png -------------------------------------------------------------------------------- /packages/demo/src/assets/img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/3.png -------------------------------------------------------------------------------- /packages/demo/src/assets/img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/4.png -------------------------------------------------------------------------------- /packages/demo/src/assets/img/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/5.png -------------------------------------------------------------------------------- /packages/demo/src/assets/img/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/6.png -------------------------------------------------------------------------------- /packages/demo/src/assets/img/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/avatar.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg1.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg10.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg2.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg3.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg4.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg5.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg6.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg7.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg8.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/bg9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/bg9.jpg -------------------------------------------------------------------------------- /packages/demo/src/assets/img/half-float-bg-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/assets/img/half-float-bg-1.jpg -------------------------------------------------------------------------------- /packages/demo/src/environments/environment.hmr.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | SERVER_URL: `./`, 3 | production: false, 4 | hmr: true, 5 | useHash: true 6 | }; 7 | -------------------------------------------------------------------------------- /packages/demo/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | SERVER_URL: `./`, 3 | production: true, 4 | hmr: false, 5 | useHash: true 6 | }; 7 | -------------------------------------------------------------------------------- /packages/demo/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // The file contents for the current environment will overwrite these during build. 2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do 3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead. 4 | // The list of which env maps to which file can be found in `.angular-cli.json`. 5 | 6 | export const environment = { 7 | SERVER_URL: `./`, 8 | production: false, 9 | hmr: false, 10 | useHash: true 11 | }; 12 | -------------------------------------------------------------------------------- /packages/demo/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/demo/src/favicon.ico -------------------------------------------------------------------------------- /packages/demo/src/styles.less: -------------------------------------------------------------------------------- 1 | // region: core, IMPORTANT: don't remove 2 | @import '~ng-zorro-antd/src/ng-zorro-antd.less'; 3 | @import '~@delon/theme/styles/index'; 4 | @import '~@delon/abc/index'; 5 | // endregion 6 | 7 | // region: Third Library 8 | 9 | // endregion 10 | 11 | @import "./styles/index"; 12 | @import "./styles/theme"; 13 | -------------------------------------------------------------------------------- /packages/demo/src/styles/index.less: -------------------------------------------------------------------------------- 1 | // 建议所有项目自定义样式放在该文件夹下 2 | -------------------------------------------------------------------------------- /packages/demo/src/styles/theme.less: -------------------------------------------------------------------------------- 1 | // 可以通过 http://ng-alain.com/theme 生成相应的参数代码 2 | -------------------------------------------------------------------------------- /packages/demo/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | interface NodeModule { 4 | id: string; 5 | } 6 | 7 | interface WebpackRequire { 8 | (path: string): T; 9 | (paths: string[], callback: (...modules: any[]) => void): void; 10 | ensure: (paths: string[], callback: (require: (path: string) => T) => void) => void; 11 | } 12 | interface NodeRequire extends WebpackRequire {} 13 | declare var require: NodeRequire; 14 | 15 | // G2 16 | declare var G2: any; 17 | declare var Slider: any; 18 | declare var Cloud: any; 19 | -------------------------------------------------------------------------------- /packages/server/.gitignore: -------------------------------------------------------------------------------- 1 | # private test data 2 | data 3 | public 4 | html -------------------------------------------------------------------------------- /packages/server/.npmignore: -------------------------------------------------------------------------------- 1 | .env 2 | log 3 | public 4 | html -------------------------------------------------------------------------------- /packages/server/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | singleQuote: true, 3 | trailingComma: "all", 4 | bracketSpacing: true, 5 | semi: true, 6 | useTabs: false, 7 | } -------------------------------------------------------------------------------- /packages/server/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [{ 4 | "type": "node", 5 | "request": "launch", 6 | "name": "Node debug", 7 | "program": "${workspaceFolder}/dist/main.js" 8 | }] 9 | } -------------------------------------------------------------------------------- /packages/server/README.md: -------------------------------------------------------------------------------- 1 | the server side for typerx 2 | -------------------------------------------------------------------------------- /packages/server/bootstrap.js: -------------------------------------------------------------------------------- 1 | require('ts-node/register'); 2 | require('./src/main'); -------------------------------------------------------------------------------- /packages/server/dist/config/passport.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Request, Response, NextFunction } from "express"; 3 | export declare function initPassport(): void; 4 | /** 5 | * Authorization Required middleware. 6 | */ 7 | export declare let isAuthorized: (req: Request, res: Response, next: NextFunction) => void; 8 | -------------------------------------------------------------------------------- /packages/server/dist/container.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "./types/appearance"; 2 | export declare class ContainerService { 3 | private static appearances; 4 | static getAppearance(name: string): Appearance; 5 | static registerAppearance(name: string, appearance: Appearance): void; 6 | } 7 | -------------------------------------------------------------------------------- /packages/server/dist/container.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class ContainerService { 4 | static getAppearance(name) { 5 | return ContainerService.appearances[name]; 6 | } 7 | static registerAppearance(name, appearance) { 8 | ContainerService.appearances[name] = appearance; 9 | } 10 | } 11 | ContainerService.appearances = {}; 12 | exports.ContainerService = ContainerService; 13 | //# sourceMappingURL=container.js.map -------------------------------------------------------------------------------- /packages/server/dist/container.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":";;AAEA;IAKW,MAAM,CAAC,aAAa,CAAC,IAAY;QACpC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,IAAY,EAAE,UAAsB;QACjE,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;IACpD,CAAC;;AAVc,4BAAW,GAEtB,EAAE,CAAC;AAHX,4CAaC"} -------------------------------------------------------------------------------- /packages/server/dist/controllers/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare const controllers: Array; 2 | -------------------------------------------------------------------------------- /packages/server/dist/controllers/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const core_controllers_1 = require("./../modules/core/core.controllers"); 4 | const cms_controllers_1 = require("./../modules/cms/cms.controllers"); 5 | exports.controllers = [...core_controllers_1.default, 6 | ...cms_controllers_1.default]; 7 | //# sourceMappingURL=index.js.map -------------------------------------------------------------------------------- /packages/server/dist/controllers/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":";;AACA,yEAAiE;AACjE,sEAA8D;AACjD,QAAA,WAAW,GACpB,CAAC,GAAG,0BAAe;IACnB,GAAG,yBAAc,CAAC,CAAA"} -------------------------------------------------------------------------------- /packages/server/dist/database/connector.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import * as mongoose from 'mongoose'; 3 | export declare function connect(uri: string): mongoose.Connection; 4 | -------------------------------------------------------------------------------- /packages/server/dist/database/connector.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/database/connector.ts"],"names":[],"mappings":";;AAAA,qCAAqC;AACrC,qCAAqC;AAErC,iBAAwB,GAAW;IACzB,QAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC;AACd,CAAC;AAVD,0BAUC"} -------------------------------------------------------------------------------- /packages/server/dist/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA,iDAAsF;AAAjE,mCAAA,WAAW,CAAA;AAAE,mCAAA,WAAW,CAAA;AAE7C,6CAA4C;AAAnC,oCAAA,WAAW,CAAA;AACpB,yCAA+C;AAAtC,uCAAA,gBAAgB,CAAA;AACzB,iCAAgC;AAAvB,wBAAA,KAAK,CAAA;AACd,kDAA+C;AAAtC,8BAAA,OAAO,CAAA;AAChB,2DAAyD;AAAhD,qCAAA,WAAW,CAAA;AACpB,8DAA4D;AAAnD,uCAAA,YAAY,CAAA;AACrB,6CAA4C;AAAnC,oCAAA,WAAW,CAAA;AAEpB,kEAAgE;AAAvD,2CAAA,cAAc,CAAA"} -------------------------------------------------------------------------------- /packages/server/dist/interceptor/custom.server.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Router } from 'express'; 3 | export declare class CustomRestServer { 4 | static buildServices(router: Router, ...types: any[]): void; 5 | } 6 | -------------------------------------------------------------------------------- /packages/server/dist/interceptor/custom.server.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const internal_server_1 = require("./internal.server"); 4 | class CustomRestServer { 5 | static buildServices(router, ...types) { 6 | const internalServer = new internal_server_1.CustomInternalServer(router); 7 | internalServer.buildServices(types); 8 | } 9 | } 10 | exports.CustomRestServer = CustomRestServer; 11 | //# sourceMappingURL=custom.server.js.map -------------------------------------------------------------------------------- /packages/server/dist/interceptor/custom.server.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"custom.server.js","sourceRoot":"","sources":["../../src/interceptor/custom.server.ts"],"names":[],"mappings":";;AAEA,uDAAyD;AAEzD;IACI,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,GAAG,KAAY;QAChD,MAAM,cAAc,GAAmB,IAAI,sCAAoB,CAAC,MAAM,CAAC,CAAC;QACxE,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;CACJ;AALD,4CAKC"} -------------------------------------------------------------------------------- /packages/server/dist/interceptor/interceptor.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Request, Response, NextFunction } from 'express'; 3 | export declare const apiPrefix = "/api"; 4 | export declare function interceptor(req: Request): Promise; 5 | export declare function permissionCheck(req: Request): Promise; 6 | export declare function operationLog(req: Request): Promise; 7 | export declare function isAuthenticated(req: Request, res: Response, next: NextFunction): Promise; 8 | -------------------------------------------------------------------------------- /packages/server/dist/interceptor/internal.server.d.ts: -------------------------------------------------------------------------------- 1 | import { InternalServer } from 'typescript-rest/dist/server-container'; 2 | import { ServiceClass, ServiceMethod } from 'typescript-rest/dist/metadata'; 3 | export declare class CustomInternalServer extends InternalServer { 4 | buildService(serviceClass: ServiceClass, serviceMethod: ServiceMethod): void; 5 | } 6 | -------------------------------------------------------------------------------- /packages/server/dist/main.d.ts: -------------------------------------------------------------------------------- 1 | import { Start } from './start'; 2 | declare const app: Start; 3 | export default app; 4 | -------------------------------------------------------------------------------- /packages/server/dist/main.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const start_1 = require("./start"); 4 | const app = new start_1.Start(); 5 | app.exec().catch((error) => { 6 | console.error('error', error); 7 | }); 8 | process.on('unhandledRejection', (reason) => { 9 | console.error("unhandledRejection", reason); 10 | }); 11 | process.on('uncaughtException', (reason) => { 12 | console.error("uncaughtException", reason); 13 | }); 14 | exports.default = app; 15 | //# sourceMappingURL=main.js.map -------------------------------------------------------------------------------- /packages/server/dist/main.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,mCAAgC;AAChC,MAAM,GAAG,GAAG,IAAI,aAAK,EAAE,CAAC;AAExB,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAW,EAAE,EAAE;IAC/C,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,MAAW,EAAE,EAAE;IAC9C,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AACH,kBAAe,GAAG,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/appearance/article.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/appearance/category.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/appearance/media.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/appearance/page.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/appearance/widget.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/cms.controllers.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"cms.controllers.js","sourceRoot":"","sources":["../../../src/modules/cms/cms.controllers.ts"],"names":[],"mappings":";;AACA,uDAAmD;AACnD,yDAAqD;AACrD,2DAAuD;AACvD,6DAAyD;AACzD,+DAA2D;AAC3D,2DAAuD;AACvD,kBAAe;IACX,gCAAc;IACd,kCAAe;IACf,oCAAgB;IAChB,sCAAiB;IACjB,wCAAkB;IAClB,oCAAgB;CACnB,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/article.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"article.dto.js","sourceRoot":"","sources":["../../../../src/modules/cms/dto/article.dto.ts"],"names":[],"mappings":";;AACA;CAaC;AAbD,4CAaC;AAED;CAcC;AAdD,wCAcC;AAED;CAaC;AAbD,0CAaC;AAQY,QAAA,qBAAqB,GAAG;IACjC,IAAI;IACJ,MAAM;IACN,SAAS;IACT,OAAO;IACP,UAAU;IACV,aAAa;IACb,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,UAAU;CACb,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/category.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"category.dto.js","sourceRoot":"","sources":["../../../../src/modules/cms/dto/category.dto.ts"],"names":[],"mappings":";;AAAA;CAOC;AAPD,8CAOC;AAED;CAQC;AARD,0CAQC;AAED;CAQC;AARD,4CAQC;AASY,QAAA,sBAAsB,GAAG;IAClC,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,aAAa;CAChB,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/comment.dto.d.ts: -------------------------------------------------------------------------------- 1 | export declare class CreateCommentDto { 2 | } 3 | export declare class EditCommentDto { 4 | id: string; 5 | } 6 | export declare class CommentResponse { 7 | } 8 | export interface PaginateComment { 9 | error?: Error; 10 | list: Array; 11 | total: number; 12 | } 13 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/comment.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class CreateCommentDto { 4 | } 5 | exports.CreateCommentDto = CreateCommentDto; 6 | class EditCommentDto { 7 | } 8 | exports.EditCommentDto = EditCommentDto; 9 | class CommentResponse { 10 | } 11 | exports.CommentResponse = CommentResponse; 12 | //# sourceMappingURL=comment.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/comment.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"comment.dto.js","sourceRoot":"","sources":["../../../../src/modules/cms/dto/comment.dto.ts"],"names":[],"mappings":";;AAAA;CAEC;AAFD,4CAEC;AAED;CAEC;AAFD,wCAEC;AAED;CAEC;AAFD,0CAEC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/custom.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"custom.dto.js","sourceRoot":"","sources":["../../../../src/modules/cms/dto/custom.dto.ts"],"names":[],"mappings":";;AACA;CAcC;AAdD,0CAcC;AAED;CAeC;AAfD,sCAeC;AAED;CAcC;AAdD,wCAcC;AAQY,QAAA,oBAAoB,GAAG;IAChC,IAAI;IACJ,MAAM;IACN,OAAO;IACP,UAAU;IACV,aAAa;IACb,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,UAAU;IACV,MAAM;CACT,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/media.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class CreateMediaDto { 4 | } 5 | exports.CreateMediaDto = CreateMediaDto; 6 | class EditMediaDto { 7 | } 8 | exports.EditMediaDto = EditMediaDto; 9 | class MediaResponse { 10 | } 11 | exports.MediaResponse = MediaResponse; 12 | exports.MediaResponseFields = [ 13 | 'id', 14 | 'name', 15 | 'caption', 16 | 'description', 17 | 'ext', 18 | 'url', 19 | 'uri' 20 | ]; 21 | //# sourceMappingURL=media.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/media.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"media.dto.js","sourceRoot":"","sources":["../../../../src/modules/cms/dto/media.dto.ts"],"names":[],"mappings":";;AAAA;CAOC;AAPD,wCAOC;AAED;CAQC;AARD,oCAQC;AAED;CAQC;AARD,sCAQC;AAQY,QAAA,mBAAmB,GAAG;IAC/B,IAAI;IACJ,MAAM;IACN,SAAS;IACT,aAAa;IACb,KAAK;IACL,KAAK;IACL,KAAK;CACR,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/page.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"page.dto.js","sourceRoot":"","sources":["../../../../src/modules/cms/dto/page.dto.ts"],"names":[],"mappings":";;AAAA;CAUC;AAVD,sCAUC;AAED;CAWC;AAXD,kCAWC;AAED;CAWC;AAXD,oCAWC;AAEY,QAAA,kBAAkB,GAAG;IAC9B,IAAI;IACJ,MAAM;IACN,OAAO;IACP,aAAa;IACb,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,UAAU;CACb,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/widget.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class CreateWidgetDto { 4 | } 5 | exports.CreateWidgetDto = CreateWidgetDto; 6 | class EditWidgetDto { 7 | } 8 | exports.EditWidgetDto = EditWidgetDto; 9 | class WidgetResponse { 10 | } 11 | exports.WidgetResponse = WidgetResponse; 12 | exports.WidgetResponseFields = [ 13 | 'id', 14 | 'name', 15 | 'title', 16 | 'params', 17 | 'type', 18 | ]; 19 | //# sourceMappingURL=widget.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/dto/widget.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"widget.dto.js","sourceRoot":"","sources":["../../../../src/modules/cms/dto/widget.dto.ts"],"names":[],"mappings":";;AAAA;CAKC;AALD,0CAKC;AAED;CAMC;AAND,sCAMC;AAED;CAMC;AAND,wCAMC;AAEY,QAAA,oBAAoB,GAAG;IAChC,IAAI;IACJ,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;CACT,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/article.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Article { 2 | id: string; 3 | name: string; 4 | title: string; 5 | picture: string; 6 | keyword: string; 7 | category: string; 8 | description: string; 9 | author: string; 10 | sort: number; 11 | disable: boolean; 12 | meta: string; 13 | content: string; 14 | template: string; 15 | } 16 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/article.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=article.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/article.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"article.interface.js","sourceRoot":"","sources":["../../../../src/modules/cms/interfaces/article.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/category.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Category { 2 | id: string; 3 | name: string; 4 | slug: string; 5 | order: number; 6 | parent: string; 7 | paths: string[]; 8 | description: string; 9 | } 10 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/category.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=category.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/category.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"category.interface.js","sourceRoot":"","sources":["../../../../src/modules/cms/interfaces/category.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/comment.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Comment { 2 | name: string; 3 | article: string; 4 | text: string; 5 | } 6 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/comment.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=comment.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/comment.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"comment.interface.js","sourceRoot":"","sources":["../../../../src/modules/cms/interfaces/comment.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/content.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Content { 2 | text: string; 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/content.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=content.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/content.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"content.interface.js","sourceRoot":"","sources":["../../../../src/modules/cms/interfaces/content.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/custom.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Custom { 2 | id: string; 3 | name: string; 4 | title: string; 5 | keyword: string; 6 | category: string; 7 | description: string; 8 | author: string; 9 | sort: number; 10 | disable: boolean; 11 | meta: string; 12 | content: string; 13 | template: string; 14 | type: string; 15 | [key: string]: any; 16 | } 17 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/custom.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=custom.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/custom.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"custom.interface.js","sourceRoot":"","sources":["../../../../src/modules/cms/interfaces/custom.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/media.interface.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Document } from 'mongoose'; 3 | export interface Media extends Document { 4 | id: string; 5 | name: string; 6 | caption: string; 7 | description: string; 8 | ext: any; 9 | url: string; 10 | uri: string; 11 | } 12 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/media.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=media.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/media.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"media.interface.js","sourceRoot":"","sources":["../../../../src/modules/cms/interfaces/media.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/page.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Page { 2 | id: string; 3 | name: string; 4 | title: string; 5 | keyword: string; 6 | description: string; 7 | sort: number; 8 | disable: boolean; 9 | meta: string; 10 | publish: string; 11 | content: string; 12 | template: string; 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/page.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=page.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/page.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"page.interface.js","sourceRoot":"","sources":["../../../../src/modules/cms/interfaces/page.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/widget.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Widget { 2 | id: string; 3 | name: string; 4 | title: string; 5 | type: string; 6 | params: any; 7 | } 8 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/widget.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=widget.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/interfaces/widget.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"widget.interface.js","sourceRoot":"","sources":["../../../../src/modules/cms/interfaces/widget.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/article.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/category.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/comment.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/comment.schema.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const mongoose_1 = require("mongoose"); 4 | exports.schema = new mongoose_1.Schema({ 5 | name: mongoose_1.SchemaTypes.String, 6 | article: { ref: 'Article', type: mongoose_1.SchemaTypes.ObjectId }, 7 | text: mongoose_1.SchemaTypes.String, 8 | }, { timestamps: true }); 9 | //# sourceMappingURL=comment.schema.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/comment.schema.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"comment.schema.js","sourceRoot":"","sources":["../../../../src/modules/cms/schemas/comment.schema.ts"],"names":[],"mappings":";;AAAA,uCAA0E;AAE7D,QAAA,MAAM,GAAG,IAAI,iBAAM,CAAC;IAC7B,IAAI,EAAE,sBAAC,CAAC,MAAM;IACd,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAC,CAAC,QAAQ,EAAE;IAC7C,IAAI,EAAE,sBAAC,CAAC,MAAM;CAEjB,EACG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/content.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/content.schema.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const mongoose_1 = require("mongoose"); 4 | exports.schema = new mongoose_1.Schema({ 5 | text: mongoose_1.SchemaTypes.String 6 | }, { timestamps: true }); 7 | //# sourceMappingURL=content.schema.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/content.schema.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"content.schema.js","sourceRoot":"","sources":["../../../../src/modules/cms/schemas/content.schema.ts"],"names":[],"mappings":";;AACA,uCAA0E;AAE7D,QAAA,MAAM,GAAG,IAAI,iBAAM,CAAC;IAC7B,IAAI,EAAE,sBAAC,CAAC,MAAM;CACjB,EACG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/custom.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/media.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/media.schema.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const mongoose_1 = require("mongoose"); 4 | exports.schema = new mongoose_1.Schema({ 5 | name: mongoose_1.SchemaTypes.String, 6 | caption: mongoose_1.SchemaTypes.Number, 7 | description: mongoose_1.SchemaTypes.String, 8 | ext: mongoose_1.SchemaTypes.Mixed, 9 | url: mongoose_1.SchemaTypes.String, 10 | uri: mongoose_1.SchemaTypes.String, 11 | }, { timestamps: true }); 12 | //# sourceMappingURL=media.schema.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/media.schema.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"media.schema.js","sourceRoot":"","sources":["../../../../src/modules/cms/schemas/media.schema.ts"],"names":[],"mappings":";;AAAA,uCAA0E;AAE7D,QAAA,MAAM,GAAG,IAAI,iBAAM,CAAC;IAC7B,IAAI,EAAE,sBAAC,CAAC,MAAM;IACd,OAAO,EAAE,sBAAC,CAAC,MAAM;IACjB,WAAW,EAAE,sBAAC,CAAC,MAAM;IACrB,GAAG,EAAE,sBAAC,CAAC,KAAK;IACZ,GAAG,EAAE,sBAAC,CAAC,MAAM;IACb,GAAG,EAAE,sBAAC,CAAC,MAAM;CAChB,EACG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/page.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/widget.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/widget.schema.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const mongoose_1 = require("mongoose"); 4 | exports.schema = new mongoose_1.Schema({ 5 | name: mongoose_1.SchemaTypes.String, 6 | title: mongoose_1.SchemaTypes.String, 7 | type: mongoose_1.SchemaTypes.String, 8 | params: mongoose_1.SchemaTypes.Mixed 9 | }, { timestamps: true }); 10 | //# sourceMappingURL=widget.schema.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/cms/schemas/widget.schema.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"widget.schema.js","sourceRoot":"","sources":["../../../../src/modules/cms/schemas/widget.schema.ts"],"names":[],"mappings":";;AACA,uCAA0E;AAE7D,QAAA,MAAM,GAAG,IAAI,iBAAM,CAAC;IAC7B,IAAI,EAAE,sBAAC,CAAC,MAAM;IACd,KAAK,EAAE,sBAAC,CAAC,MAAM;IACf,IAAI,EAAE,sBAAC,CAAC,MAAM;IACd,MAAM,EAAE,sBAAC,CAAC,KAAK;CAClB,EACG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/access.service.d.ts: -------------------------------------------------------------------------------- 1 | export declare class AccessService { 2 | static PermissionTags: { 3 | CanAddAccount: string; 4 | CanEditAccount: string; 5 | CanRemoveAccount: string; 6 | }; 7 | /** 8 | * 当前登录帐号是否可以修改负责人 9 | * @param accountId 当前登录账号 10 | */ 11 | static canEditAccount(accountId: string, isAdmin?: boolean): Promise; 12 | /** 13 | * 获取用户的所有访问权限 14 | * @param accountId 用户编号 15 | */ 16 | static permissions(accountId: string): Promise; 17 | } 18 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/access.service.spec.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/server/dist/modules/core/access.service.spec.d.ts -------------------------------------------------------------------------------- /packages/server/dist/modules/core/account.service.spec.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/server/dist/modules/core/account.service.spec.d.ts -------------------------------------------------------------------------------- /packages/server/dist/modules/core/appearance/account.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/appearance/api.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/appearance/dict.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/appearance/group.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/appearance/log.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/appearance/menu.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/appearance/role.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/appearance/setting.appearance.d.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "../../../types/appearance"; 2 | export declare const appearance: Appearance; 3 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/core.controllers.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"core.controllers.js","sourceRoot":"","sources":["../../../src/modules/core/core.controllers.ts"],"names":[],"mappings":";;AAAA,6DAAyD;AACzD,uDAAmD;AACnD,uDAAmD;AACnD,6DAAyD;AACzD,uDAAmD;AACnD,uDAAmD;AACnD,qDAAiD;AACjD,yDAAqD;AACrD,qDAAiD;AACjD,kBAAe;IACX,sCAAiB;IACjB,gCAAc;IACd,gCAAc;IACd,sCAAiB;IACjB,gCAAc;IACd,gCAAc;IACd,8BAAa;IACb,kCAAe;IACf,8BAAa;CAChB,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/account.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"account.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/account.dto.ts"],"names":[],"mappings":";;AAAA;CAUC;AAVD,4CAUC;AAED;CAUC;AAVD,wCAUC;AAED;CAeC;AAfD,0CAeC;AAED;CAeC;AAfD,kCAeC;AAEY,QAAA,qBAAqB,GAAG;IACnC,IAAI;IACJ,UAAU;IACV,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,SAAS;IACT,YAAY;IACZ,SAAS;IACT,SAAS;CACV,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/api.dto.d.ts: -------------------------------------------------------------------------------- 1 | export declare class ApiResponse { 2 | id: string; 3 | name: string; 4 | method: string; 5 | path: string; 6 | version: string; 7 | description: string; 8 | permissions: Array; 9 | } 10 | export declare const ApiResponseFields: string[]; 11 | export interface PaginateApi { 12 | error?: Error; 13 | list: Array; 14 | total: number; 15 | } 16 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/api.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class ApiResponse { 4 | } 5 | exports.ApiResponse = ApiResponse; 6 | exports.ApiResponseFields = [ 7 | 'id', 8 | 'name', 9 | 'method', 10 | 'path', 11 | 'version', 12 | 'description', 13 | 'permissions' 14 | ]; 15 | //# sourceMappingURL=api.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/api.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"api.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/api.dto.ts"],"names":[],"mappings":";;AACA;CAQC;AARD,kCAQC;AAEY,QAAA,iBAAiB,GAAG;IAC/B,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,aAAa;IACb,aAAa;CACd,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/dict.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class CreateDictDto { 4 | } 5 | exports.CreateDictDto = CreateDictDto; 6 | class EditDictDto { 7 | } 8 | exports.EditDictDto = EditDictDto; 9 | class DictResponse { 10 | } 11 | exports.DictResponse = DictResponse; 12 | exports.DictResponseFields = [ 13 | 'id', 14 | 'category', 15 | 'name', 16 | 'translate', 17 | 'expand' 18 | ]; 19 | //# sourceMappingURL=dict.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/dict.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"dict.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/dict.dto.ts"],"names":[],"mappings":";;AAAA;CAKC;AALD,sCAKC;AAED;CAMC;AAND,kCAMC;AAED;CAMC;AAND,oCAMC;AAEY,QAAA,kBAAkB,GAAG;IAChC,IAAI;IACJ,UAAU;IACV,MAAM;IACN,WAAW;IACX,QAAQ;CACT,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/group.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"group.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/group.dto.ts"],"names":[],"mappings":";;AAAA;CAUC;AAVD,wCAUC;AAED;CAWC;AAXD,oCAWC;AAED;CAWC;AAXD,sCAWC;AAEY,QAAA,mBAAmB,GAAG;IACjC,OAAO;IACP,IAAI;IACJ,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,UAAU;IACV,aAAa;CACd,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/log.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class CreateLogDto { 4 | } 5 | exports.CreateLogDto = CreateLogDto; 6 | class LogResponse { 7 | } 8 | exports.LogResponse = LogResponse; 9 | exports.LogResponseFields = [ 10 | 'id', 11 | 'name', 12 | 'operator', 13 | 'operatorIp', 14 | 'operation', 15 | 'comment', 16 | 'createdAt' 17 | ]; 18 | //# sourceMappingURL=log.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/log.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"log.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/log.dto.ts"],"names":[],"mappings":";;AAAA;CAMC;AAND,oCAMC;AAED;CAQC;AARD,kCAQC;AAEY,QAAA,iBAAiB,GAAG;IAC/B,IAAI;IACJ,MAAM;IACN,UAAU;IACV,YAAY;IACZ,WAAW;IACX,SAAS;IACT,WAAW;CACZ,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/login.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class LoginDto { 4 | } 5 | exports.LoginDto = LoginDto; 6 | class LocalStrategyInfo { 7 | } 8 | exports.LocalStrategyInfo = LocalStrategyInfo; 9 | class LoginResponse { 10 | } 11 | exports.LoginResponse = LoginResponse; 12 | class ProfileResponse { 13 | } 14 | exports.ProfileResponse = ProfileResponse; 15 | class UploadConfig { 16 | } 17 | exports.UploadConfig = UploadConfig; 18 | //# sourceMappingURL=login.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/login.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"login.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/login.dto.ts"],"names":[],"mappings":";;AAAA;CAGC;AAHD,4BAGC;AAED;CAEC;AAFD,8CAEC;AAED;CAaC;AAbD,sCAaC;AAED;CAeC;AAfD,0CAeC;AAGD;CAMC;AAND,oCAMC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/menu.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class MenuResponse { 4 | } 5 | exports.MenuResponse = MenuResponse; 6 | exports.MenuResponseFields = [ 7 | 'id', 8 | 'name', 9 | 'slug', 10 | 'group', 11 | 'link', 12 | 'externalLink', 13 | 'blank', 14 | 'icon', 15 | 'order', 16 | 'enable', 17 | 'expanded', 18 | 'acl', 19 | 'permissions', 20 | 'parent', 21 | 'isMenu' 22 | ]; 23 | //# sourceMappingURL=menu.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/menu.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"menu.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/menu.dto.ts"],"names":[],"mappings":";;AAqCA;CAgBC;AAhBD,oCAgBC;AAOY,QAAA,kBAAkB,GAAG;IAChC,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,cAAc;IACd,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,UAAU;IACV,KAAK;IACL,aAAa;IACb,QAAQ;IACR,QAAQ;CACT,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/profile.dto.d.ts: -------------------------------------------------------------------------------- 1 | export declare class EditProfileDto { 2 | id: string; 3 | profile?: string; 4 | name?: string; 5 | email?: string; 6 | mobile?: string; 7 | company?: string; 8 | siteUrl?: string; 9 | address?: string; 10 | } 11 | export declare const ProfileResponseFields: string[]; 12 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/profile.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class EditProfileDto { 4 | } 5 | exports.EditProfileDto = EditProfileDto; 6 | exports.ProfileResponseFields = [ 7 | 'id', 8 | 'username', 9 | 'name', 10 | 'avatar', 11 | 'type', 12 | 'email', 13 | 'groups', 14 | 'roles', 15 | 'mobile', 16 | 'isDisable', 17 | 'isAdmin', 18 | 'isApproved', 19 | 'expired' 20 | ]; 21 | //# sourceMappingURL=profile.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/profile.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"profile.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/profile.dto.ts"],"names":[],"mappings":";;AAEA;CASC;AATD,wCASC;AAEY,QAAA,qBAAqB,GAAG;IACnC,IAAI;IACJ,UAAU;IACV,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,SAAS;IACT,YAAY;IACZ,SAAS;CACV,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/role.dto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class CreateRoleDto { 4 | } 5 | exports.CreateRoleDto = CreateRoleDto; 6 | class EditRoleDto { 7 | } 8 | exports.EditRoleDto = EditRoleDto; 9 | class RoleResponse { 10 | } 11 | exports.RoleResponse = RoleResponse; 12 | exports.RoleResponseFields = [ 13 | 'id', 14 | 'name', 15 | 'description', 16 | 'permissions' 17 | ]; 18 | //# sourceMappingURL=role.dto.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/role.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"role.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/role.dto.ts"],"names":[],"mappings":";;AAAA;CAIC;AAJD,sCAIC;AAED;CAKC;AALD,kCAKC;AAED;CAKC;AALD,oCAKC;AAEY,QAAA,kBAAkB,GAAG;IAChC,IAAI;IACJ,MAAM;IACN,aAAa;IACb,aAAa;CACd,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/dto/setting.dto.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"setting.dto.js","sourceRoot":"","sources":["../../../../src/modules/core/dto/setting.dto.ts"],"names":[],"mappings":";;AAAA;CAKC;AALD,4CAKC;AAED;CAMC;AAND,wCAMC;AAED;CAMC;AAND,0CAMC;AAED;CAEC;AAFD,sCAEC;AAEY,QAAA,qBAAqB,GAAG;IACnC,IAAI;IACJ,MAAM;IACN,KAAK;IACL,OAAO;IACP,aAAa;CACd,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/account.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Account { 2 | id: string; 3 | username: string; 4 | name: string; 5 | keyword: string; 6 | password: string; 7 | avatar: string; 8 | type: string; 9 | groups: string[]; 10 | roles: string[]; 11 | email: string; 12 | mobile: string; 13 | profile: any; 14 | isDisable: boolean; 15 | isAdmin: boolean; 16 | isApproved: boolean; 17 | secret: string; 18 | expired: Date; 19 | } 20 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/account.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=account.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/account.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"account.interface.js","sourceRoot":"","sources":["../../../../src/modules/core/interfaces/account.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/api.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Api { 2 | id: string; 3 | name: string; 4 | method: string; 5 | path: string; 6 | version: string; 7 | description: string; 8 | } 9 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/api.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=api.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/api.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"api.interface.js","sourceRoot":"","sources":["../../../../src/modules/core/interfaces/api.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/dict.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Dict { 2 | id: string; 3 | category: string; 4 | translate: string; 5 | name: string; 6 | expand: Object; 7 | } 8 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/dict.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=dict.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/dict.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"dict.interface.js","sourceRoot":"","sources":["../../../../src/modules/core/interfaces/dict.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/group.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Group { 2 | outid: number; 3 | id: string; 4 | name: string; 5 | icon: string; 6 | parent: string; 7 | paths: any[]; 8 | director: string; 9 | order: number; 10 | isRegion: boolean; 11 | description: string; 12 | } 13 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/group.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=group.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/group.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"group.interface.js","sourceRoot":"","sources":["../../../../src/modules/core/interfaces/group.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/log.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Log { 2 | id: string; 3 | name: string; 4 | operator: string; 5 | operatorIp: string; 6 | operation: string; 7 | comment: string; 8 | createdAt: Date; 9 | } 10 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/log.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=log.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/log.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"log.interface.js","sourceRoot":"","sources":["../../../../src/modules/core/interfaces/log.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/menu.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Menu { 2 | id: string; 3 | name: string; 4 | slug: string; 5 | group: boolean; 6 | link: string; 7 | order: number; 8 | externalLink: string; 9 | blank: boolean; 10 | icon: string; 11 | badge: string; 12 | badgeDot: string; 13 | badgeStatus: string; 14 | enable: boolean; 15 | expanded: boolean; 16 | acl: string; 17 | paths: any[]; 18 | parent: string | Menu; 19 | permissions?: any[]; 20 | isMenu: boolean; 21 | } 22 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/menu.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=menu.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/menu.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"menu.interface.js","sourceRoot":"","sources":["../../../../src/modules/core/interfaces/menu.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/profile.interface.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 个人信息详情 3 | */ 4 | export interface Profile { 5 | id: string; 6 | company: string; 7 | siteUrl: string; 8 | address: any; 9 | } 10 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/profile.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=profile.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/profile.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"profile.interface.js","sourceRoot":"","sources":["../../../../src/modules/core/interfaces/profile.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/role.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Role { 2 | id: string; 3 | name: string; 4 | role: string; 5 | description: string; 6 | permissions: string[]; 7 | } 8 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/role.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=role.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/role.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"role.interface.js","sourceRoot":"","sources":["../../../../src/modules/core/interfaces/role.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/setting.interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Setting { 2 | id: string; 3 | name: string; 4 | key: string; 5 | value: any; 6 | description: string; 7 | } 8 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/setting.interface.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=setting.interface.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/interfaces/setting.interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"setting.interface.js","sourceRoot":"","sources":["../../../../src/modules/core/interfaces/setting.interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/account.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/api.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/dict.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/dict.schema.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const mongoose_1 = require("mongoose"); 4 | exports.schema = new mongoose_1.Schema({ 5 | category: { type: mongoose_1.SchemaTypes.String }, 6 | name: { type: mongoose_1.SchemaTypes.String }, 7 | translate: { type: mongoose_1.SchemaTypes.String }, 8 | expand: { type: mongoose_1.SchemaTypes.Mixed }, 9 | }, { timestamps: true }); 10 | //# sourceMappingURL=dict.schema.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/dict.schema.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"dict.schema.js","sourceRoot":"","sources":["../../../../src/modules/core/schemas/dict.schema.ts"],"names":[],"mappings":";;AACA,uCAA0E;AAE7D,QAAA,MAAM,GAAG,IAAI,iBAAM,CAAC;IAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,sBAAC,CAAC,MAAM,EAAE;IAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,sBAAC,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,EAAE,IAAI,EAAE,sBAAC,CAAC,MAAM,EAAE;IAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,sBAAC,CAAC,KAAK,EAAE;CAC5B,EACG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/group.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/log.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/menu.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/profile.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/profile.schema.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const mongoose_1 = require("mongoose"); 4 | exports.schema = new mongoose_1.Schema({ 5 | company: { type: mongoose_1.SchemaTypes.String }, 6 | siteUrl: { type: mongoose_1.SchemaTypes.String }, 7 | address: { type: mongoose_1.SchemaTypes.String }, 8 | }, { timestamps: true }); 9 | //# sourceMappingURL=profile.schema.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/profile.schema.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"profile.schema.js","sourceRoot":"","sources":["../../../../src/modules/core/schemas/profile.schema.ts"],"names":[],"mappings":";;AACA,uCAA0E;AAE7D,QAAA,MAAM,GAAG,IAAI,iBAAM,CAAC;IAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAC,CAAC,MAAM,EAAE;IAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAC,CAAC,MAAM,EAAE;IAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAC,CAAC,MAAM,EAAE;CAC9B,EACG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/role.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/role.schema.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const mongoose_1 = require("mongoose"); 4 | exports.schema = new mongoose_1.Schema({ 5 | name: { type: mongoose_1.SchemaTypes.String }, 6 | description: { type: mongoose_1.SchemaTypes.String }, 7 | permissions: [{ type: mongoose_1.SchemaTypes.ObjectId, ref: 'Menu' }], 8 | }, { timestamps: true }); 9 | //# sourceMappingURL=role.schema.js.map -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/role.schema.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"role.schema.js","sourceRoot":"","sources":["../../../../src/modules/core/schemas/role.schema.ts"],"names":[],"mappings":";;AACA,uCAA0E;AAE7D,QAAA,MAAM,GAAG,IAAI,iBAAM,CAAC;IAChC,IAAI,EAAE,EAAE,IAAI,EAAE,sBAAC,CAAC,MAAM,EAAE;IACxB,WAAW,EAAE,EAAE,IAAI,EAAE,sBAAC,CAAC,MAAM,EAAE;IAC/B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;CAChD,EACA,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/setting.schema.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Schema } from 'mongoose'; 3 | export declare const schema: Schema; 4 | -------------------------------------------------------------------------------- /packages/server/dist/modules/core/schemas/setting.schema.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"setting.schema.js","sourceRoot":"","sources":["../../../../src/modules/core/schemas/setting.schema.ts"],"names":[],"mappings":";;AACA,uCAA0E;AAE7D,QAAA,MAAM,GAAG,IAAI,iBAAM,CAAC;IAC7B,IAAI,EAAE;QACF,IAAI,EAAE,sBAAC,CAAC,MAAM;KACjB;IACD,GAAG,EAAE;QACD,IAAI,EAAE,sBAAC,CAAC,MAAM;KACjB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,sBAAC,CAAC,KAAK;KAChB;IACD,WAAW,EAAE;QACT,IAAI,EAAE,sBAAC,CAAC,MAAM;KACjB;CACJ,EACG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/modules/core/user.service.spec.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/server/dist/modules/core/user.service.spec.d.ts -------------------------------------------------------------------------------- /packages/server/dist/plugins/domains.d.ts: -------------------------------------------------------------------------------- 1 | export declare const appearances: {}; 2 | -------------------------------------------------------------------------------- /packages/server/dist/plugins/domains.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | // import * as xxx from './xxx/xxx.appearance'; 3 | Object.defineProperty(exports, "__esModule", { value: true }); 4 | exports.appearances = {}; 5 | //# sourceMappingURL=domains.js.map -------------------------------------------------------------------------------- /packages/server/dist/plugins/domains.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/plugins/domains.ts"],"names":[],"mappings":";AAAA,gDAAgD;;AAEnC,QAAA,WAAW,GAAG,EAE1B,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/plugins/express.hook.d.ts: -------------------------------------------------------------------------------- 1 | export declare function middleWareHook(): void; 2 | export declare function registerHbs(): void; 3 | -------------------------------------------------------------------------------- /packages/server/dist/plugins/render.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Request, Response } from 'express'; 3 | export declare function indexRender(req: Request, res: Response): Promise; 4 | export declare function subPage(req: Request, res: Response): Promise; 5 | -------------------------------------------------------------------------------- /packages/server/dist/scripts/access.init.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/server/dist/scripts/access.init.d.ts -------------------------------------------------------------------------------- /packages/server/dist/scripts/apigen.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/server/dist/scripts/apigen.d.ts -------------------------------------------------------------------------------- /packages/server/dist/scripts/data.export.all.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/server/dist/scripts/data.export.all.d.ts -------------------------------------------------------------------------------- /packages/server/dist/scripts/data.export.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/server/dist/scripts/data.export.d.ts -------------------------------------------------------------------------------- /packages/server/dist/scripts/data.import.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/server/dist/scripts/data.import.d.ts -------------------------------------------------------------------------------- /packages/server/dist/scripts/data.import.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const secrets_1 = require("./../util/secrets"); 4 | const data_install_1 = require("./data.install"); 5 | const installer = new data_install_1.Installer(secrets_1.MONGODB_URI); 6 | installer.initData().then(() => { 7 | console.log('imported ...'); 8 | }); 9 | //# sourceMappingURL=data.import.js.map -------------------------------------------------------------------------------- /packages/server/dist/scripts/data.import.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"data.import.js","sourceRoot":"","sources":["../../src/scripts/data.import.ts"],"names":[],"mappings":";;AAAA,+CAAgD;AAChD,iDAA2C;AAC3C,MAAM,SAAS,GAAG,IAAI,wBAAS,CAAC,qBAAW,CAAC,CAAC;AAC7C,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC3B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/scripts/data.install.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Connection } from "mongoose"; 3 | export declare class Installer { 4 | mongooseUri: string; 5 | db: Connection; 6 | constructor(mongooseUri: string); 7 | private static loadJson(dataFolder, file); 8 | initData(): Promise; 9 | drop(): Promise; 10 | } 11 | -------------------------------------------------------------------------------- /packages/server/dist/start.d.ts: -------------------------------------------------------------------------------- 1 | export declare class Start { 2 | exec(): Promise<{}>; 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/dist/types/data.types.d.ts: -------------------------------------------------------------------------------- 1 | export interface KeyValue { 2 | label: string; 3 | value: string; 4 | } 5 | export interface TreeNode { 6 | id: string; 7 | title: string; 8 | parent: string; 9 | } 10 | export declare class SelectorItem { 11 | id: string; 12 | name: string; 13 | desc: string; 14 | } 15 | -------------------------------------------------------------------------------- /packages/server/dist/types/data.types.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | class SelectorItem { 4 | } 5 | exports.SelectorItem = SelectorItem; 6 | //# sourceMappingURL=data.types.js.map -------------------------------------------------------------------------------- /packages/server/dist/types/data.types.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"data.types.js","sourceRoot":"","sources":["../../src/types/data.types.ts"],"names":[],"mappings":";;AAWA;CAIC;AAJD,oCAIC"} -------------------------------------------------------------------------------- /packages/server/dist/types/schema.types.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=schema.types.js.map -------------------------------------------------------------------------------- /packages/server/dist/types/schema.types.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"schema.types.js","sourceRoot":"","sources":["../../src/types/schema.types.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /packages/server/dist/util/helper.d.ts: -------------------------------------------------------------------------------- 1 | export declare const pinyinlite: any; 2 | export declare class Helper { 3 | /** 4 | * 生成用于模糊查询的关键词字段, 长标题勿用 5 | * @param val 原始字符串 6 | */ 7 | static genPinyinKeywords(val: string, cartesian?: boolean): any; 8 | static cartesianProductOf(elements: Array): Array; 9 | } 10 | -------------------------------------------------------------------------------- /packages/server/dist/util/logger.d.ts: -------------------------------------------------------------------------------- 1 | import * as log4js from 'log4js'; 2 | export declare const logger: log4js.Logger; 3 | -------------------------------------------------------------------------------- /packages/server/dist/util/logger.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const log4js = require("log4js"); 4 | const path_1 = require("path"); 5 | const fs_1 = require("fs"); 6 | const cwd = process.cwd(); 7 | const config = path_1.join(cwd, 'log4js.json'); 8 | if (fs_1.existsSync(config)) { 9 | log4js.configure(config); 10 | } 11 | exports.logger = log4js.getLogger('app'); 12 | //# sourceMappingURL=logger.js.map -------------------------------------------------------------------------------- /packages/server/dist/util/logger.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":";;AAAA,iCAAiC;AACjC,+BAA4B;AAC5B,2BAAgC;AAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC1B,MAAM,MAAM,GAAG,WAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AAExC,EAAE,CAAC,CAAC,eAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAEY,QAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC"} -------------------------------------------------------------------------------- /packages/server/dist/util/secrets.d.ts: -------------------------------------------------------------------------------- 1 | export declare const ENVIRONMENT: string; 2 | export declare const SESSION_SECRET: string; 3 | export declare const MONGODB_URI: string; 4 | -------------------------------------------------------------------------------- /packages/server/dist/util/validator.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Request } from 'express'; 3 | export declare function validator(req: Request): Request; 4 | -------------------------------------------------------------------------------- /packages/server/dist/util/validator.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const typescript_rest_1 = require("typescript-rest"); 4 | function validator(req) { 5 | if (req.body.userId != undefined) { 6 | throw new typescript_rest_1.Errors.BadRequestError("userId not present"); 7 | } 8 | else { 9 | return req; 10 | } 11 | } 12 | exports.validator = validator; 13 | //# sourceMappingURL=validator.js.map -------------------------------------------------------------------------------- /packages/server/dist/util/validator.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/util/validator.ts"],"names":[],"mappings":";;AACA,qDAAyC;AAEzC,mBAA0B,GAAY;IAClC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,wBAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAC3D,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,GAAG,CAAA;IACd,CAAC;AACL,CAAC;AAND,8BAMC"} -------------------------------------------------------------------------------- /packages/server/example.env: -------------------------------------------------------------------------------- 1 | NODE_ENV=production 2 | PORT=5400 3 | SESSION_SECRET=YOURSECRETBALALBA 4 | MONGODB_URI=mongodb://localhost/typerxdb 5 | SWAGGER='dist/swagger.json' -------------------------------------------------------------------------------- /packages/server/jest.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": [ 3 | "ts", 4 | "tsx", 5 | "js", 6 | "json" 7 | ], 8 | "transform": { 9 | "^.+\\.tsx?$": "/node_modules/ts-jest/preprocessor.js" 10 | }, 11 | "testRegex": "/src/.*\\.(test|spec).(ts|tsx|js)$", 12 | "collectCoverageFrom": ["src/**/*.{js,jsx,tsx,ts}", "!**/node_modules/**", "!**/vendor/**"], 13 | "coverageReporters": ["json", "lcov"] 14 | } -------------------------------------------------------------------------------- /packages/server/nodemon.json: -------------------------------------------------------------------------------- 1 | { 2 | "watch": ["./src"], 3 | "ext": "ts", 4 | "ignore": ["./src/**/*.spec.ts"], 5 | "exec": "node ./bootstrap", 6 | "env": { 7 | "NODE_ENV": "production" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/server/src/container.ts: -------------------------------------------------------------------------------- 1 | import { Appearance } from "./types/appearance"; 2 | 3 | export class ContainerService { 4 | private static appearances: { 5 | [k: string]: Appearance 6 | } = {}; 7 | 8 | public static getAppearance(name: string): Appearance { 9 | return ContainerService.appearances[name]; 10 | } 11 | 12 | public static registerAppearance(name: string, appearance: Appearance) { 13 | ContainerService.appearances[name] = appearance; 14 | } 15 | 16 | } -------------------------------------------------------------------------------- /packages/server/src/controllers/index.ts: -------------------------------------------------------------------------------- 1 | 2 | import coreControllers from './../modules/core/core.controllers'; 3 | import cmsControllers from './../modules/cms/cms.controllers'; 4 | export const controllers: Array = 5 | [...coreControllers, 6 | ...cmsControllers] 7 | -------------------------------------------------------------------------------- /packages/server/src/database/connector.ts: -------------------------------------------------------------------------------- 1 | import * as mongoose from 'mongoose'; 2 | import * as bluebird from 'bluebird'; 3 | 4 | export function connect(uri: string) { 5 | (mongoose).Promise = bluebird; 6 | mongoose.connect(uri).then(() => { 7 | console.log('success connected to', uri); 8 | }); 9 | const db = mongoose.connection; 10 | db.on('error', (err: any) => { 11 | throw new Error('unable to connect to database at ' + uri + err); 12 | }); 13 | return db; 14 | } -------------------------------------------------------------------------------- /packages/server/src/interceptor/custom.server.ts: -------------------------------------------------------------------------------- 1 | import { InternalServer } from 'typescript-rest/dist/server-container'; 2 | import { Router } from 'express'; 3 | import { CustomInternalServer } from './internal.server'; 4 | 5 | export class CustomRestServer { 6 | static buildServices(router: Router, ...types: any[]) { 7 | const internalServer: InternalServer = new CustomInternalServer(router); 8 | internalServer.buildServices(types); 9 | } 10 | } -------------------------------------------------------------------------------- /packages/server/src/main.ts: -------------------------------------------------------------------------------- 1 | import { Start } from './start'; 2 | const app = new Start(); 3 | 4 | app.exec().catch((error) => { 5 | console.error('error', error); 6 | }); 7 | 8 | process.on('unhandledRejection', (reason: any) => { 9 | console.error("unhandledRejection", reason); 10 | }); 11 | 12 | process.on('uncaughtException', (reason: any) => { 13 | console.error("uncaughtException", reason); 14 | }); 15 | export default app; 16 | -------------------------------------------------------------------------------- /packages/server/src/modules/cms/cms.controllers.ts: -------------------------------------------------------------------------------- 1 | 2 | import { PageController } from './page.controller'; 3 | import { MediaController } from './media.controller'; 4 | import { WidgetController } from './widget.controller'; 5 | import { ArticleController } from './article.controller'; 6 | import { CategoryController } from './category.controller'; 7 | import { CustomController } from './custom.controller'; 8 | export default [ 9 | PageController, 10 | MediaController, 11 | WidgetController, 12 | ArticleController, 13 | CategoryController, 14 | CustomController, 15 | ]; -------------------------------------------------------------------------------- /packages/server/src/modules/cms/dto/comment.dto.ts: -------------------------------------------------------------------------------- 1 | export class CreateCommentDto { 2 | 3 | } 4 | 5 | export class EditCommentDto { 6 | id: string; 7 | } 8 | 9 | export class CommentResponse { 10 | 11 | } 12 | 13 | export declare interface PaginateComment { 14 | error?: Error; 15 | list: Array; 16 | total: number; 17 | } -------------------------------------------------------------------------------- /packages/server/src/modules/cms/interfaces/article.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Article { 2 | id: string; 3 | name: string; 4 | title: string; 5 | picture: string; 6 | keyword: string; 7 | category: string; 8 | description: string; 9 | author: string; 10 | sort: number; 11 | disable: boolean; 12 | meta: string; 13 | content: string; 14 | template: string; 15 | } 16 | -------------------------------------------------------------------------------- /packages/server/src/modules/cms/interfaces/category.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Category { 2 | id: string; 3 | name: string, 4 | slug: string, 5 | order: number, 6 | parent: string, 7 | paths: string[], 8 | description: string 9 | } 10 | -------------------------------------------------------------------------------- /packages/server/src/modules/cms/interfaces/comment.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Comment { 2 | name: string; 3 | article: string; 4 | text: string; 5 | } 6 | -------------------------------------------------------------------------------- /packages/server/src/modules/cms/interfaces/content.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Content { 2 | text: string; 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/src/modules/cms/interfaces/custom.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Custom { 2 | id: string; 3 | name: string; 4 | title: string; 5 | keyword: string; 6 | category: string; 7 | description: string; 8 | author: string; 9 | sort: number; 10 | disable: boolean; 11 | meta: string; 12 | content: string; 13 | template: string; 14 | type: string; 15 | [key: string]: any; 16 | } 17 | -------------------------------------------------------------------------------- /packages/server/src/modules/cms/interfaces/media.interface.ts: -------------------------------------------------------------------------------- 1 | import { Document } from 'mongoose'; 2 | 3 | export interface Media extends Document { 4 | id: string; 5 | name: string; // 名称 6 | caption: string; // 标题 7 | description: string; // 详细描述 8 | ext: any; // 扩展信息 如: 文件格式, 大小等 9 | url: string; // 外部访问地址 10 | uri: string; // 物理存储地址 11 | } -------------------------------------------------------------------------------- /packages/server/src/modules/cms/interfaces/page.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Page { 2 | id: string; 3 | name: string; // 页面名称 4 | title: string; // 页面标题 5 | keyword: string; // 关键词 6 | description: string; // 描述 7 | sort: number; // 排序 8 | disable: boolean; // 是否禁用 9 | meta: string; // 扩展元信息 10 | publish: string; // 发布时间 11 | content: string; // 页面内容 12 | template: string; // 页面模版 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/src/modules/cms/interfaces/widget.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Widget { 2 | id: string; 3 | name: string; 4 | title: string; 5 | type: string; 6 | params: any; 7 | } 8 | -------------------------------------------------------------------------------- /packages/server/src/modules/cms/schemas/category.schema.ts: -------------------------------------------------------------------------------- 1 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 2 | 3 | export const schema = new Schema({ 4 | name: { type: t.String }, 5 | slug: { type: t.String }, 6 | order: { type: t.Number, default: 100 }, 7 | parent: { type: t.ObjectId, ref: 'Category' }, 8 | paths: [{ type: t.ObjectId, ref: 'Category' }], 9 | description: { type: t.String } 10 | }, 11 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/cms/schemas/comment.schema.ts: -------------------------------------------------------------------------------- 1 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 2 | 3 | export const schema = new Schema({ 4 | name: t.String, 5 | article: { ref: 'Article', type: t.ObjectId }, 6 | text: t.String, 7 | 8 | }, 9 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/cms/schemas/content.schema.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 3 | 4 | export const schema = new Schema({ 5 | text: t.String 6 | }, 7 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/cms/schemas/media.schema.ts: -------------------------------------------------------------------------------- 1 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 2 | 3 | export const schema = new Schema({ 4 | name: t.String, 5 | caption: t.Number, 6 | description: t.String, 7 | ext: t.Mixed, 8 | url: t.String, 9 | uri: t.String, 10 | }, 11 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/cms/schemas/widget.schema.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 3 | 4 | export const schema = new Schema({ 5 | name: t.String, 6 | title: t.String, 7 | type: t.String, 8 | params: t.Mixed 9 | }, 10 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/core/dto/api.dto.ts: -------------------------------------------------------------------------------- 1 | 2 | export class ApiResponse { 3 | id: string; 4 | name: string; 5 | method: string; 6 | path: string; 7 | version: string; 8 | description: string; 9 | permissions: Array; 10 | } 11 | 12 | export const ApiResponseFields = [ 13 | 'id', 14 | 'name', 15 | 'method', 16 | 'path', 17 | 'version', 18 | 'description', 19 | 'permissions' 20 | ]; 21 | 22 | export declare interface PaginateApi { 23 | error?: Error; 24 | list: Array; 25 | total: number; 26 | } -------------------------------------------------------------------------------- /packages/server/src/modules/core/dto/profile.dto.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | export class EditProfileDto { 4 | id: string; 5 | profile?: string; 6 | name?: string; 7 | email?: string; 8 | mobile?: string; 9 | company?: string; 10 | siteUrl?: string; 11 | address?: string; 12 | } 13 | 14 | export const ProfileResponseFields = [ 15 | 'id', 16 | 'username', 17 | 'name', 18 | 'avatar', 19 | 'type', 20 | 'email', 21 | 'groups', 22 | 'roles', 23 | 'mobile', 24 | 'isDisable', 25 | 'isAdmin', 26 | 'isApproved', 27 | 'expired' 28 | ]; 29 | -------------------------------------------------------------------------------- /packages/server/src/modules/core/interfaces/account.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Account { 2 | id: string; 3 | username: string; // 用户名 4 | name: string; // 姓名 5 | keyword: string; 6 | password: string; // 密码 7 | avatar: string; // 照片 8 | type: string; // 类型 9 | groups: string[]; 10 | roles: string[]; 11 | email: string; // 邮箱 12 | mobile: string; // 手机号码 13 | profile: any; 14 | isDisable: boolean; // 是否禁用 15 | isAdmin: boolean; // 是否管理员 16 | isApproved: boolean; // 是否审核 17 | secret: string; // 密保 18 | expired: Date; // 有效期 19 | } 20 | -------------------------------------------------------------------------------- /packages/server/src/modules/core/interfaces/api.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Api { 2 | id: string; 3 | name: string; 4 | method: string; 5 | path: string; 6 | version: string; 7 | description: string; 8 | } 9 | -------------------------------------------------------------------------------- /packages/server/src/modules/core/interfaces/dict.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Dict { 2 | id: string; 3 | category: string; 4 | translate: string; 5 | name: string; 6 | expand: Object; 7 | } 8 | -------------------------------------------------------------------------------- /packages/server/src/modules/core/interfaces/group.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Group { 2 | outid: number; // 外部编号 3 | id: string; // 编号 4 | name: string; // 名称 5 | icon: string; // 图标 6 | parent: string; // 父级分组编号 7 | paths: any[]; // 路径 8 | director: string // 分组 leader 9 | order: number; // 排序 10 | isRegion: boolean; // 是否大区 11 | description: string; // 描述 12 | } 13 | -------------------------------------------------------------------------------- /packages/server/src/modules/core/interfaces/log.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Log { 2 | id: string; 3 | name: string; // 日志名称 4 | operator: string; // 操作人 5 | operatorIp: string; // 操作人 IP 6 | operation: string; // 操作事件; 7 | comment: string; 8 | createdAt: Date; // 备注 9 | } 10 | -------------------------------------------------------------------------------- /packages/server/src/modules/core/interfaces/profile.interface.ts: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 个人信息详情 4 | */ 5 | export interface Profile { 6 | id: string; 7 | company: string; // 公司名称 8 | siteUrl: string; // 站点URL 9 | address: any; // 地址 10 | } -------------------------------------------------------------------------------- /packages/server/src/modules/core/interfaces/role.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Role { 2 | id: string; 3 | name: string; 4 | role: string; 5 | description: string; 6 | permissions: string[]; 7 | } 8 | -------------------------------------------------------------------------------- /packages/server/src/modules/core/interfaces/setting.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Setting { 2 | id: string; 3 | name: string; // 设置项目组 4 | key: string; // 设置项键名 5 | value: any; // 设置值 6 | description: string; // 设置描述 7 | } -------------------------------------------------------------------------------- /packages/server/src/modules/core/schemas/dict.schema.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 3 | 4 | export const schema = new Schema({ 5 | category: { type: t.String }, 6 | name: { type: t.String }, 7 | translate: { type: t.String }, 8 | expand: { type: t.Mixed }, 9 | }, 10 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/core/schemas/group.schema.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 3 | 4 | export const schema = new Schema({ 5 | outid: { type: t.Number }, 6 | name: { type: t.String }, 7 | icon: { type: t.String }, 8 | isRegion: { type: t.Boolean }, 9 | order: { type: t.Number }, 10 | parent: { type: t.ObjectId, ref: 'Group' }, 11 | paths: [{ type: t.ObjectId, ref: 'Group' }], 12 | director: { type: t.ObjectId, ref: 'Account' }, 13 | description: { type: t.String } 14 | }, 15 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/core/schemas/log.schema.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Schema, SchemaTypes as t } from 'mongoose'; 3 | 4 | export const schema = new Schema({ 5 | name: { 6 | type: t.String 7 | }, 8 | operator: { 9 | type: t.String 10 | }, 11 | operatorIp: { 12 | type: t.String 13 | }, 14 | operation: { 15 | type: t.String 16 | }, 17 | comment: { 18 | type: t.String 19 | }, 20 | created: { 21 | type: t.Date, 22 | default: Date.now 23 | } 24 | }, 25 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/core/schemas/profile.schema.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 3 | 4 | export const schema = new Schema({ 5 | company: { type: t.String }, 6 | siteUrl: { type: t.String }, 7 | address: { type: t.String }, 8 | }, 9 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/core/schemas/role.schema.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 3 | 4 | export const schema = new Schema({ 5 | name: { type: t.String }, 6 | description: { type: t.String }, 7 | permissions: [{ type: t.ObjectId, ref: 'Menu' }], 8 | }, 9 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/modules/core/schemas/setting.schema.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Schema, SchemaTypes as t, SchemaOptions, model } from 'mongoose'; 3 | 4 | export const schema = new Schema({ 5 | name: { 6 | type: t.String 7 | }, 8 | key: { 9 | type: t.String 10 | }, 11 | value: { 12 | type: t.Mixed 13 | }, 14 | description: { 15 | type: t.String 16 | } 17 | }, 18 | { timestamps: true }); -------------------------------------------------------------------------------- /packages/server/src/plugins/domains.ts: -------------------------------------------------------------------------------- 1 | // import * as xxx from './xxx/xxx.appearance'; 2 | 3 | export const appearances = { 4 | // xxx: xxx, 5 | }; -------------------------------------------------------------------------------- /packages/server/src/scripts/data.import.ts: -------------------------------------------------------------------------------- 1 | import { MONGODB_URI } from "./../util/secrets"; 2 | import { Installer } from "./data.install"; 3 | const installer = new Installer(MONGODB_URI); 4 | installer.initData().then(() => { 5 | console.log('imported ...'); 6 | }); 7 | -------------------------------------------------------------------------------- /packages/server/src/start.ts: -------------------------------------------------------------------------------- 1 | import { Application } from './application'; 2 | 3 | export class Start { 4 | 5 | async exec() { 6 | return new Promise((resolve, reject) => { 7 | const apiServer = new Application(); 8 | apiServer 9 | .start() 10 | .then(resolve) 11 | .catch(reject); 12 | 13 | const graceful = () => { 14 | apiServer.stop().then(() => process.exit(0)); 15 | }; 16 | 17 | process.on('SIGTERM', graceful); 18 | process.on('SIGINT', graceful); 19 | }); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /packages/server/src/types/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/packages/server/src/types/.DS_Store -------------------------------------------------------------------------------- /packages/server/src/types/data.types.ts: -------------------------------------------------------------------------------- 1 | export interface KeyValue { 2 | label: string; 3 | value: string; 4 | } 5 | 6 | export interface TreeNode { 7 | id: string; 8 | title: string; 9 | parent: string; 10 | } 11 | 12 | export class SelectorItem { 13 | id: string; 14 | name: string; 15 | desc: string; 16 | } -------------------------------------------------------------------------------- /packages/server/src/util/logger.ts: -------------------------------------------------------------------------------- 1 | import * as log4js from 'log4js'; 2 | import { join } from 'path'; 3 | import { existsSync } from 'fs'; 4 | const cwd = process.cwd(); 5 | const config = join(cwd, 'log4js.json'); 6 | 7 | if (existsSync(config)) { 8 | log4js.configure(config); 9 | } 10 | 11 | export const logger = log4js.getLogger('app'); -------------------------------------------------------------------------------- /packages/server/src/util/validator.ts: -------------------------------------------------------------------------------- 1 | import { Request } from 'express'; 2 | import { Errors } from 'typescript-rest'; 3 | 4 | export function validator(req: Request): Request { 5 | if (req.body.userId != undefined) { 6 | throw new Errors.BadRequestError("userId not present"); 7 | } else { 8 | return req 9 | } 10 | } -------------------------------------------------------------------------------- /packages/server/swagger.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "swagger": { 3 | "outputDirectory": "./dist", 4 | "entryFile": "./src/main.ts", 5 | "name": "rest api interface", 6 | "description": "项目标准接口", 7 | "license": "MIT", 8 | "produces": ["application/json"], 9 | "version": "0.0.1", 10 | "ngVersion": "6" 11 | } 12 | } -------------------------------------------------------------------------------- /src/appearances.ts: -------------------------------------------------------------------------------- 1 | export const appearances: any = { 2 | }; -------------------------------------------------------------------------------- /src/controllers.ts: -------------------------------------------------------------------------------- 1 | export default [ 2 | 3 | ]; -------------------------------------------------------------------------------- /typerx.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": "packages/server" 5 | }, 6 | { 7 | "path": "packages/client" 8 | } 9 | ], 10 | "settings": { 11 | "git.ignoreLimitWarning": true 12 | } 13 | } -------------------------------------------------------------------------------- /views/404.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/views/404.hbs -------------------------------------------------------------------------------- /views/article.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/views/article.hbs -------------------------------------------------------------------------------- /views/assets/css/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/views/assets/css/style.css -------------------------------------------------------------------------------- /views/content.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/views/content.hbs -------------------------------------------------------------------------------- /views/index.hbs: -------------------------------------------------------------------------------- 1 | {{#extend "stylesheets"}} 2 | {{/extend}} 3 | 4 |
5 |

welcome to typerx

6 | 7 | admin login 8 |
9 | 10 | {{#extend "scripts"}} 11 | 12 | {{/extend}} -------------------------------------------------------------------------------- /views/news.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vellengs/typerx/e6d97023e1ffa178a67377dd4c379614b7c23954/views/news.hbs --------------------------------------------------------------------------------