├── .env.templete ├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── app ├── command │ ├── PhinxSeederCreateCommand.php │ ├── QuickGenTableCommand.php │ └── StoneInstall.php ├── controller │ └── IndexController.php ├── functions.php ├── middleware │ └── StaticFile.php └── view │ └── index │ └── view.html ├── composer.json ├── config ├── app.php ├── autoload.php ├── bootstrap.php ├── config.php ├── container.php ├── database.php ├── dependence.php ├── event.php ├── exception.php ├── log.php ├── middleware.php ├── plugin │ ├── shopwwi │ │ └── filesystem │ │ │ └── app.php │ └── webman │ │ ├── console │ │ └── app.php │ │ └── event │ │ ├── app.php │ │ ├── bootstrap.php │ │ └── command.php ├── process.php ├── redis.php ├── route.php ├── server.php ├── session.php ├── static.php ├── translation.php └── view.php ├── phinx.php ├── plugin ├── admin │ ├── api │ │ ├── Auth.php │ │ ├── Install.php │ │ ├── Menu.php │ │ └── Middleware.php │ ├── app │ │ ├── common │ │ │ ├── Auth.php │ │ │ ├── Layui.php │ │ │ ├── Tree.php │ │ │ └── Util.php │ │ ├── controller │ │ │ ├── AccountController.php │ │ │ ├── AdminController.php │ │ │ ├── Base.php │ │ │ ├── ConfigController.php │ │ │ ├── Crud.php │ │ │ ├── DevController.php │ │ │ ├── DictController.php │ │ │ ├── IndexController.php │ │ │ ├── InstallController.php │ │ │ ├── PluginController.php │ │ │ ├── RoleController.php │ │ │ ├── RuleController.php │ │ │ ├── TableController.php │ │ │ ├── UploadController.php │ │ │ └── UserController.php │ │ ├── exception │ │ │ └── Handler.php │ │ ├── functions.php │ │ ├── middleware │ │ │ └── AccessControl.php │ │ ├── model │ │ │ ├── Admin.php │ │ │ ├── AdminRole.php │ │ │ ├── Base.php │ │ │ ├── Dict.php │ │ │ ├── Option.php │ │ │ ├── Role.php │ │ │ ├── Rule.php │ │ │ ├── Upload.php │ │ │ └── User.php │ │ └── view │ │ │ ├── account │ │ │ ├── index.html │ │ │ └── login.html │ │ │ ├── admin │ │ │ ├── index.html │ │ │ ├── insert.html │ │ │ └── update.html │ │ │ ├── common │ │ │ └── error │ │ │ │ └── 403.html │ │ │ ├── config │ │ │ └── index.html │ │ │ ├── dev │ │ │ └── form-build.html │ │ │ ├── dict │ │ │ ├── index.html │ │ │ ├── insert.html │ │ │ └── update.html │ │ │ ├── index │ │ │ ├── dashboard.html │ │ │ ├── index.html │ │ │ └── install.html │ │ │ ├── role │ │ │ ├── index.html │ │ │ ├── insert.html │ │ │ └── update.html │ │ │ ├── rule │ │ │ ├── index.html │ │ │ ├── insert.html │ │ │ └── update.html │ │ │ ├── table │ │ │ ├── create.html │ │ │ ├── crud.html │ │ │ ├── index.html │ │ │ ├── insert.html │ │ │ ├── modify.html │ │ │ ├── update.html │ │ │ └── view.html │ │ │ ├── upload │ │ │ ├── attachment.html │ │ │ ├── index.html │ │ │ ├── insert.html │ │ │ └── update.html │ │ │ └── user │ │ │ ├── index.html │ │ │ ├── insert.html │ │ │ └── update.html │ ├── config │ │ ├── app.php │ │ ├── autoload.php │ │ ├── bootstrap.php │ │ ├── container.php │ │ ├── database.php │ │ ├── dependence.php │ │ ├── event.php │ │ ├── exception.php │ │ ├── log.php │ │ ├── menu.php │ │ ├── middleware.php │ │ ├── route.php │ │ ├── static.php │ │ ├── thinkorm.php │ │ ├── translation.php │ │ └── view.php │ ├── install.sql │ └── public │ │ ├── admin │ │ ├── css │ │ │ ├── admin.css │ │ │ ├── loader.css │ │ │ ├── pages │ │ │ │ ├── error.css │ │ │ │ └── login.css │ │ │ └── reset.css │ │ ├── images │ │ │ ├── 403.svg │ │ │ ├── 404.svg │ │ │ ├── 500.svg │ │ │ ├── background.svg │ │ │ └── logo.png │ │ └── js │ │ │ ├── common.js │ │ │ └── permission.js │ │ ├── avatar.png │ │ ├── component │ │ ├── code │ │ │ ├── css │ │ │ │ └── style.css │ │ │ └── index.html │ │ ├── layui │ │ │ ├── css │ │ │ │ └── layui.css │ │ │ ├── font │ │ │ │ ├── iconfont.eot │ │ │ │ ├── iconfont.svg │ │ │ │ ├── iconfont.ttf │ │ │ │ ├── iconfont.woff │ │ │ │ └── iconfont.woff2 │ │ │ └── layui.js │ │ └── pear │ │ │ ├── css │ │ │ ├── module │ │ │ │ ├── button.css │ │ │ │ ├── card.css │ │ │ │ ├── code.css │ │ │ │ ├── cropper.css │ │ │ │ ├── dtree │ │ │ │ │ ├── dtree.css │ │ │ │ │ ├── dtree.js │ │ │ │ │ └── font │ │ │ │ │ │ ├── dtreefont.css │ │ │ │ │ │ ├── dtreefont.eot │ │ │ │ │ │ ├── dtreefont.svg │ │ │ │ │ │ ├── dtreefont.ttf │ │ │ │ │ │ ├── dtreefont.woff │ │ │ │ │ │ └── icons.json │ │ │ │ ├── form.css │ │ │ │ ├── frame.css │ │ │ │ ├── fullscreen.css │ │ │ │ ├── iconPicker.css │ │ │ │ ├── label.css │ │ │ │ ├── layer.css │ │ │ │ ├── layout.css │ │ │ │ ├── link.css │ │ │ │ ├── loading.css │ │ │ │ ├── menu.css │ │ │ │ ├── message.css │ │ │ │ ├── notice.css │ │ │ │ ├── nprogress.css │ │ │ │ ├── popover.min.css │ │ │ │ ├── select.css │ │ │ │ ├── step.css │ │ │ │ ├── tab.css │ │ │ │ ├── table.css │ │ │ │ ├── tag.css │ │ │ │ ├── toast.css │ │ │ │ ├── topBar.css │ │ │ │ └── treetable.css │ │ │ └── pear.css │ │ │ ├── font │ │ │ ├── iconfont.css │ │ │ ├── iconfont.js │ │ │ ├── iconfont.json │ │ │ ├── iconfont.ttf │ │ │ ├── iconfont.woff │ │ │ └── iconfont.woff2 │ │ │ ├── module │ │ │ ├── admin.js │ │ │ ├── area.js │ │ │ ├── button.js │ │ │ ├── card.js │ │ │ ├── common.js │ │ │ ├── context.js │ │ │ ├── convert.js │ │ │ ├── count.js │ │ │ ├── cropper.js │ │ │ ├── design.js │ │ │ ├── drawer.js │ │ │ ├── dtree.js │ │ │ ├── echarts.js │ │ │ ├── echartsTheme.js │ │ │ ├── encrypt.js │ │ │ ├── frame.js │ │ │ ├── fullscreen.js │ │ │ ├── http.js │ │ │ ├── iconPicker.js │ │ │ ├── loading.js │ │ │ ├── menu.js │ │ │ ├── message.js │ │ │ ├── notice.js │ │ │ ├── nprogress.js │ │ │ ├── popover │ │ │ │ └── popover.js │ │ │ ├── popup.js │ │ │ ├── select.js │ │ │ ├── step.js │ │ │ ├── tab.js │ │ │ ├── tag.js │ │ │ ├── theme.js │ │ │ ├── tinymce │ │ │ │ ├── tinymce.js │ │ │ │ └── tinymce │ │ │ │ │ ├── icons │ │ │ │ │ └── default │ │ │ │ │ │ ├── icons.js │ │ │ │ │ │ └── icons.min.js │ │ │ │ │ ├── langs │ │ │ │ │ ├── readme.md │ │ │ │ │ └── zh_CN.js │ │ │ │ │ ├── plugins │ │ │ │ │ ├── advlist │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── anchor │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── autolink │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── autoresize │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── autosave │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── bbcode │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── charmap │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── code │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── codesample │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── colorpicker │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── contextmenu │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── directionality │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── emoticons │ │ │ │ │ │ ├── js │ │ │ │ │ │ │ ├── emojiimages.js │ │ │ │ │ │ │ ├── emojiimages.min.js │ │ │ │ │ │ │ ├── emojis.js │ │ │ │ │ │ │ └── emojis.min.js │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── fullpage │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── fullscreen │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── help │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── hr │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── image │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── imagetools │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── importcss │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── indent2em │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── insertdatetime │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── kityformula-editor │ │ │ │ │ │ ├── icon.svg │ │ │ │ │ │ ├── kityFormula.html │ │ │ │ │ │ ├── kityformula │ │ │ │ │ │ │ ├── assets │ │ │ │ │ │ │ │ ├── images │ │ │ │ │ │ │ │ │ ├── scrollbar │ │ │ │ │ │ │ │ │ │ ├── custom │ │ │ │ │ │ │ │ │ │ │ ├── bar-bg.png │ │ │ │ │ │ │ │ │ │ │ ├── bar.png │ │ │ │ │ │ │ │ │ │ │ ├── bg.png │ │ │ │ │ │ │ │ │ │ │ ├── bottom.png │ │ │ │ │ │ │ │ │ │ │ ├── btn.png │ │ │ │ │ │ │ │ │ │ │ ├── down.png │ │ │ │ │ │ │ │ │ │ │ ├── top.png │ │ │ │ │ │ │ │ │ │ │ └── up.png │ │ │ │ │ │ │ │ │ │ └── edit │ │ │ │ │ │ │ │ │ │ │ ├── bar-bg.png │ │ │ │ │ │ │ │ │ │ │ ├── bar-left.png │ │ │ │ │ │ │ │ │ │ │ ├── bar-right.png │ │ │ │ │ │ │ │ │ │ │ ├── thumb-bg.png │ │ │ │ │ │ │ │ │ │ │ ├── thumb-left.png │ │ │ │ │ │ │ │ │ │ │ └── thumb-right.png │ │ │ │ │ │ │ │ │ └── toolbar │ │ │ │ │ │ │ │ │ │ ├── alphabetic │ │ │ │ │ │ │ │ │ │ ├── aleph.png │ │ │ │ │ │ │ │ │ │ ├── bbbk.png │ │ │ │ │ │ │ │ │ │ ├── beth.png │ │ │ │ │ │ │ │ │ │ ├── circleds.png │ │ │ │ │ │ │ │ │ │ ├── complement.png │ │ │ │ │ │ │ │ │ │ ├── daleth.png │ │ │ │ │ │ │ │ │ │ ├── ell.png │ │ │ │ │ │ │ │ │ │ ├── eth.png │ │ │ │ │ │ │ │ │ │ ├── finv.png │ │ │ │ │ │ │ │ │ │ ├── game.png │ │ │ │ │ │ │ │ │ │ ├── gimel.png │ │ │ │ │ │ │ │ │ │ ├── hbar.png │ │ │ │ │ │ │ │ │ │ ├── hslash.png │ │ │ │ │ │ │ │ │ │ ├── im.png │ │ │ │ │ │ │ │ │ │ ├── mho.png │ │ │ │ │ │ │ │ │ │ ├── partial.png │ │ │ │ │ │ │ │ │ │ ├── re.png │ │ │ │ │ │ │ │ │ │ └── wp.png │ │ │ │ │ │ │ │ │ │ ├── arrow │ │ │ │ │ │ │ │ │ │ ├── circlearrowleft.png │ │ │ │ │ │ │ │ │ │ ├── circlearrowright.png │ │ │ │ │ │ │ │ │ │ ├── curvearrowleft.png │ │ │ │ │ │ │ │ │ │ ├── curvearrowright.png │ │ │ │ │ │ │ │ │ │ ├── downarrow.png │ │ │ │ │ │ │ │ │ │ ├── downdownarrows.png │ │ │ │ │ │ │ │ │ │ ├── downharpoonleft.png │ │ │ │ │ │ │ │ │ │ ├── downharpoonright.png │ │ │ │ │ │ │ │ │ │ ├── gets.png │ │ │ │ │ │ │ │ │ │ ├── leftarrowtail.png │ │ │ │ │ │ │ │ │ │ ├── leftharpoondown.png │ │ │ │ │ │ │ │ │ │ ├── leftharpoonup.png │ │ │ │ │ │ │ │ │ │ ├── leftleftarrows.png │ │ │ │ │ │ │ │ │ │ ├── leftrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── leftrightarrows.png │ │ │ │ │ │ │ │ │ │ ├── leftrightharpoons.png │ │ │ │ │ │ │ │ │ │ ├── leftrightsquigarrow.png │ │ │ │ │ │ │ │ │ │ ├── longleftarrow.png │ │ │ │ │ │ │ │ │ │ ├── longleftrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── longrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── looparrowleft.png │ │ │ │ │ │ │ │ │ │ ├── looparrowright.png │ │ │ │ │ │ │ │ │ │ ├── multimap.png │ │ │ │ │ │ │ │ │ │ ├── nearrow.png │ │ │ │ │ │ │ │ │ │ ├── nleftarrow.png │ │ │ │ │ │ │ │ │ │ ├── nrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── nwarrow.png │ │ │ │ │ │ │ │ │ │ ├── rightarrowtail.png │ │ │ │ │ │ │ │ │ │ ├── rightharpoondown.png │ │ │ │ │ │ │ │ │ │ ├── rightharpoonup.png │ │ │ │ │ │ │ │ │ │ ├── rightleftarrows.png │ │ │ │ │ │ │ │ │ │ ├── rightleftharpoons.png │ │ │ │ │ │ │ │ │ │ ├── rightrightarrows.png │ │ │ │ │ │ │ │ │ │ ├── rightsquigarrow.png │ │ │ │ │ │ │ │ │ │ ├── searrow.png │ │ │ │ │ │ │ │ │ │ ├── swarrow.png │ │ │ │ │ │ │ │ │ │ ├── to.png │ │ │ │ │ │ │ │ │ │ ├── twoheadleftarrow.png │ │ │ │ │ │ │ │ │ │ ├── twoheadrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-downarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-leftarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-leftrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-lftarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-lleftarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-longleftarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-longleftrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-longrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-lsh.png │ │ │ │ │ │ │ │ │ │ ├── u-nleftarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-nleftrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-nrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-rightarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-rrightarrow.png │ │ │ │ │ │ │ │ │ │ ├── u-rsh.png │ │ │ │ │ │ │ │ │ │ ├── u-uparrow.png │ │ │ │ │ │ │ │ │ │ ├── u-updownarrow.png │ │ │ │ │ │ │ │ │ │ ├── uparrow.png │ │ │ │ │ │ │ │ │ │ ├── updownarrow.png │ │ │ │ │ │ │ │ │ │ ├── upharpoonleft.png │ │ │ │ │ │ │ │ │ │ ├── upharpoonright.png │ │ │ │ │ │ │ │ │ │ └── upuparrows.png │ │ │ │ │ │ │ │ │ │ ├── brackets │ │ │ │ │ │ │ │ │ │ ├── 1.png │ │ │ │ │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ │ │ │ │ └── 4.png │ │ │ │ │ │ │ │ │ │ ├── btn.png │ │ │ │ │ │ │ │ │ │ ├── button │ │ │ │ │ │ │ │ │ │ ├── brackets.png │ │ │ │ │ │ │ │ │ │ ├── down.png │ │ │ │ │ │ │ │ │ │ ├── frac.png │ │ │ │ │ │ │ │ │ │ ├── fx.png │ │ │ │ │ │ │ │ │ │ ├── int.png │ │ │ │ │ │ │ │ │ │ ├── lim.png │ │ │ │ │ │ │ │ │ │ ├── open.png │ │ │ │ │ │ │ │ │ │ ├── script.png │ │ │ │ │ │ │ │ │ │ ├── sin.png │ │ │ │ │ │ │ │ │ │ ├── sqrt.png │ │ │ │ │ │ │ │ │ │ ├── sum.png │ │ │ │ │ │ │ │ │ │ ├── tick.png │ │ │ │ │ │ │ │ │ │ └── up.png │ │ │ │ │ │ │ │ │ │ ├── char.png │ │ │ │ │ │ │ │ │ │ ├── char │ │ │ │ │ │ │ │ │ │ ├── bb │ │ │ │ │ │ │ │ │ │ │ ├── a.png │ │ │ │ │ │ │ │ │ │ │ ├── b.png │ │ │ │ │ │ │ │ │ │ │ ├── c.png │ │ │ │ │ │ │ │ │ │ │ ├── d.png │ │ │ │ │ │ │ │ │ │ │ ├── e.png │ │ │ │ │ │ │ │ │ │ │ ├── f.png │ │ │ │ │ │ │ │ │ │ │ ├── g.png │ │ │ │ │ │ │ │ │ │ │ ├── h.png │ │ │ │ │ │ │ │ │ │ │ ├── i.png │ │ │ │ │ │ │ │ │ │ │ ├── j.png │ │ │ │ │ │ │ │ │ │ │ ├── k.png │ │ │ │ │ │ │ │ │ │ │ ├── l.png │ │ │ │ │ │ │ │ │ │ │ ├── m.png │ │ │ │ │ │ │ │ │ │ │ ├── n.png │ │ │ │ │ │ │ │ │ │ │ ├── o.png │ │ │ │ │ │ │ │ │ │ │ ├── p.png │ │ │ │ │ │ │ │ │ │ │ ├── q.png │ │ │ │ │ │ │ │ │ │ │ ├── r.png │ │ │ │ │ │ │ │ │ │ │ ├── s.png │ │ │ │ │ │ │ │ │ │ │ ├── t.png │ │ │ │ │ │ │ │ │ │ │ ├── u.png │ │ │ │ │ │ │ │ │ │ │ ├── v.png │ │ │ │ │ │ │ │ │ │ │ ├── w.png │ │ │ │ │ │ │ │ │ │ │ ├── x.png │ │ │ │ │ │ │ │ │ │ │ ├── y.png │ │ │ │ │ │ │ │ │ │ │ └── z.png │ │ │ │ │ │ │ │ │ │ ├── cal │ │ │ │ │ │ │ │ │ │ │ ├── a.png │ │ │ │ │ │ │ │ │ │ │ ├── b.png │ │ │ │ │ │ │ │ │ │ │ ├── c.png │ │ │ │ │ │ │ │ │ │ │ ├── d.png │ │ │ │ │ │ │ │ │ │ │ ├── e.png │ │ │ │ │ │ │ │ │ │ │ ├── f.png │ │ │ │ │ │ │ │ │ │ │ ├── g.png │ │ │ │ │ │ │ │ │ │ │ ├── h.png │ │ │ │ │ │ │ │ │ │ │ ├── i.png │ │ │ │ │ │ │ │ │ │ │ ├── j.png │ │ │ │ │ │ │ │ │ │ │ ├── k.png │ │ │ │ │ │ │ │ │ │ │ ├── l.png │ │ │ │ │ │ │ │ │ │ │ ├── m.png │ │ │ │ │ │ │ │ │ │ │ ├── n.png │ │ │ │ │ │ │ │ │ │ │ ├── o.png │ │ │ │ │ │ │ │ │ │ │ ├── p.png │ │ │ │ │ │ │ │ │ │ │ ├── q.png │ │ │ │ │ │ │ │ │ │ │ ├── r.png │ │ │ │ │ │ │ │ │ │ │ ├── s.png │ │ │ │ │ │ │ │ │ │ │ ├── t.png │ │ │ │ │ │ │ │ │ │ │ ├── u.png │ │ │ │ │ │ │ │ │ │ │ ├── v.png │ │ │ │ │ │ │ │ │ │ │ ├── w.png │ │ │ │ │ │ │ │ │ │ │ ├── x.png │ │ │ │ │ │ │ │ │ │ │ ├── y.png │ │ │ │ │ │ │ │ │ │ │ └── z.png │ │ │ │ │ │ │ │ │ │ ├── frak │ │ │ │ │ │ │ │ │ │ │ ├── a.png │ │ │ │ │ │ │ │ │ │ │ ├── b.png │ │ │ │ │ │ │ │ │ │ │ ├── c.png │ │ │ │ │ │ │ │ │ │ │ ├── d.png │ │ │ │ │ │ │ │ │ │ │ ├── e.png │ │ │ │ │ │ │ │ │ │ │ ├── f.png │ │ │ │ │ │ │ │ │ │ │ ├── g.png │ │ │ │ │ │ │ │ │ │ │ ├── h.png │ │ │ │ │ │ │ │ │ │ │ ├── i.png │ │ │ │ │ │ │ │ │ │ │ ├── j.png │ │ │ │ │ │ │ │ │ │ │ ├── k.png │ │ │ │ │ │ │ │ │ │ │ ├── l.png │ │ │ │ │ │ │ │ │ │ │ ├── m.png │ │ │ │ │ │ │ │ │ │ │ ├── n.png │ │ │ │ │ │ │ │ │ │ │ ├── o.png │ │ │ │ │ │ │ │ │ │ │ ├── p.png │ │ │ │ │ │ │ │ │ │ │ ├── q.png │ │ │ │ │ │ │ │ │ │ │ ├── r.png │ │ │ │ │ │ │ │ │ │ │ ├── s.png │ │ │ │ │ │ │ │ │ │ │ ├── t.png │ │ │ │ │ │ │ │ │ │ │ ├── u.png │ │ │ │ │ │ │ │ │ │ │ ├── ua.png │ │ │ │ │ │ │ │ │ │ │ ├── ub.png │ │ │ │ │ │ │ │ │ │ │ ├── uc.png │ │ │ │ │ │ │ │ │ │ │ ├── ud.png │ │ │ │ │ │ │ │ │ │ │ ├── ue.png │ │ │ │ │ │ │ │ │ │ │ ├── uf.png │ │ │ │ │ │ │ │ │ │ │ ├── ug.png │ │ │ │ │ │ │ │ │ │ │ ├── uh.png │ │ │ │ │ │ │ │ │ │ │ ├── ui.png │ │ │ │ │ │ │ │ │ │ │ ├── uj.png │ │ │ │ │ │ │ │ │ │ │ ├── uk.png │ │ │ │ │ │ │ │ │ │ │ ├── ul.png │ │ │ │ │ │ │ │ │ │ │ ├── um.png │ │ │ │ │ │ │ │ │ │ │ ├── un.png │ │ │ │ │ │ │ │ │ │ │ ├── uo.png │ │ │ │ │ │ │ │ │ │ │ ├── up.png │ │ │ │ │ │ │ │ │ │ │ ├── uq.png │ │ │ │ │ │ │ │ │ │ │ ├── ur.png │ │ │ │ │ │ │ │ │ │ │ ├── us.png │ │ │ │ │ │ │ │ │ │ │ ├── ut.png │ │ │ │ │ │ │ │ │ │ │ ├── uu.png │ │ │ │ │ │ │ │ │ │ │ ├── uv.png │ │ │ │ │ │ │ │ │ │ │ ├── uw.png │ │ │ │ │ │ │ │ │ │ │ ├── ux.png │ │ │ │ │ │ │ │ │ │ │ ├── uy.png │ │ │ │ │ │ │ │ │ │ │ ├── uz.png │ │ │ │ │ │ │ │ │ │ │ ├── v.png │ │ │ │ │ │ │ │ │ │ │ ├── w.png │ │ │ │ │ │ │ │ │ │ │ ├── x.png │ │ │ │ │ │ │ │ │ │ │ ├── y.png │ │ │ │ │ │ │ │ │ │ │ └── z.png │ │ │ │ │ │ │ │ │ │ ├── greek │ │ │ │ │ │ │ │ │ │ │ ├── lower │ │ │ │ │ │ │ │ │ │ │ │ ├── alpha.png │ │ │ │ │ │ │ │ │ │ │ │ ├── beta.png │ │ │ │ │ │ │ │ │ │ │ │ ├── chi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── delta.png │ │ │ │ │ │ │ │ │ │ │ │ ├── epsilon.png │ │ │ │ │ │ │ │ │ │ │ │ ├── eta.png │ │ │ │ │ │ │ │ │ │ │ │ ├── gamma.png │ │ │ │ │ │ │ │ │ │ │ │ ├── iota.png │ │ │ │ │ │ │ │ │ │ │ │ ├── kappa.png │ │ │ │ │ │ │ │ │ │ │ │ ├── lambda.png │ │ │ │ │ │ │ │ │ │ │ │ ├── mu.png │ │ │ │ │ │ │ │ │ │ │ │ ├── nu.png │ │ │ │ │ │ │ │ │ │ │ │ ├── omega.png │ │ │ │ │ │ │ │ │ │ │ │ ├── omicron.png │ │ │ │ │ │ │ │ │ │ │ │ ├── phi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── pi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── psi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── rho.png │ │ │ │ │ │ │ │ │ │ │ │ ├── sigma.png │ │ │ │ │ │ │ │ │ │ │ │ ├── tau.png │ │ │ │ │ │ │ │ │ │ │ │ ├── theta.png │ │ │ │ │ │ │ │ │ │ │ │ ├── upsilon.png │ │ │ │ │ │ │ │ │ │ │ │ ├── xi.png │ │ │ │ │ │ │ │ │ │ │ │ └── zeta.png │ │ │ │ │ │ │ │ │ │ │ ├── misc │ │ │ │ │ │ │ │ │ │ │ │ ├── digamma.png │ │ │ │ │ │ │ │ │ │ │ │ ├── varepsilon.png │ │ │ │ │ │ │ │ │ │ │ │ ├── varkappa.png │ │ │ │ │ │ │ │ │ │ │ │ ├── varphi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── varpi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── varrho.png │ │ │ │ │ │ │ │ │ │ │ │ ├── varsigma.png │ │ │ │ │ │ │ │ │ │ │ │ └── vartheta.png │ │ │ │ │ │ │ │ │ │ │ └── upper │ │ │ │ │ │ │ │ │ │ │ │ ├── alpha.png │ │ │ │ │ │ │ │ │ │ │ │ ├── beta.png │ │ │ │ │ │ │ │ │ │ │ │ ├── chi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── delta.png │ │ │ │ │ │ │ │ │ │ │ │ ├── epsilon.png │ │ │ │ │ │ │ │ │ │ │ │ ├── eta.png │ │ │ │ │ │ │ │ │ │ │ │ ├── gamma.png │ │ │ │ │ │ │ │ │ │ │ │ ├── iota.png │ │ │ │ │ │ │ │ │ │ │ │ ├── kappa.png │ │ │ │ │ │ │ │ │ │ │ │ ├── lambda.png │ │ │ │ │ │ │ │ │ │ │ │ ├── mu.png │ │ │ │ │ │ │ │ │ │ │ │ ├── nu.png │ │ │ │ │ │ │ │ │ │ │ │ ├── omega.png │ │ │ │ │ │ │ │ │ │ │ │ ├── omicron.png │ │ │ │ │ │ │ │ │ │ │ │ ├── phi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── pi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── psi.png │ │ │ │ │ │ │ │ │ │ │ │ ├── rho.png │ │ │ │ │ │ │ │ │ │ │ │ ├── sigma.png │ │ │ │ │ │ │ │ │ │ │ │ ├── tau.png │ │ │ │ │ │ │ │ │ │ │ │ ├── theta.png │ │ │ │ │ │ │ │ │ │ │ │ ├── upsilon.png │ │ │ │ │ │ │ │ │ │ │ │ ├── xi.png │ │ │ │ │ │ │ │ │ │ │ │ └── zeta.png │ │ │ │ │ │ │ │ │ │ ├── math │ │ │ │ │ │ │ │ │ │ │ ├── aleph.png │ │ │ │ │ │ │ │ │ │ │ ├── approx.png │ │ │ │ │ │ │ │ │ │ │ ├── ast.png │ │ │ │ │ │ │ │ │ │ │ ├── baifenhao.png │ │ │ │ │ │ │ │ │ │ │ ├── because.png │ │ │ │ │ │ │ │ │ │ │ ├── beth.png │ │ │ │ │ │ │ │ │ │ │ ├── blacksquare.png │ │ │ │ │ │ │ │ │ │ │ ├── cap.png │ │ │ │ │ │ │ │ │ │ │ ├── cdot.png │ │ │ │ │ │ │ │ │ │ │ ├── circ.png │ │ │ │ │ │ │ │ │ │ │ ├── cong.png │ │ │ │ │ │ │ │ │ │ │ ├── cup.png │ │ │ │ │ │ │ │ │ │ │ ├── ddots.png │ │ │ │ │ │ │ │ │ │ │ ├── div.png │ │ │ │ │ │ │ │ │ │ │ ├── downarrow.png │ │ │ │ │ │ │ │ │ │ │ ├── eq.png │ │ │ │ │ │ │ │ │ │ │ ├── equiv.png │ │ │ │ │ │ │ │ │ │ │ ├── exists.png │ │ │ │ │ │ │ │ │ │ │ ├── forall.png │ │ │ │ │ │ │ │ │ │ │ ├── geq.png │ │ │ │ │ │ │ │ │ │ │ ├── gets.png │ │ │ │ │ │ │ │ │ │ │ ├── gg.png │ │ │ │ │ │ │ │ │ │ │ ├── gt.png │ │ │ │ │ │ │ │ │ │ │ ├── in.png │ │ │ │ │ │ │ │ │ │ │ ├── infty.png │ │ │ │ │ │ │ │ │ │ │ ├── leftrightarrow.png │ │ │ │ │ │ │ │ │ │ │ ├── leq.png │ │ │ │ │ │ │ │ │ │ │ ├── ll.png │ │ │ │ │ │ │ │ │ │ │ ├── lt.png │ │ │ │ │ │ │ │ │ │ │ ├── minus.png │ │ │ │ │ │ │ │ │ │ │ ├── mp.png │ │ │ │ │ │ │ │ │ │ │ ├── neg.png │ │ │ │ │ │ │ │ │ │ │ ├── nexists.png │ │ │ │ │ │ │ │ │ │ │ ├── ni.png │ │ │ │ │ │ │ │ │ │ │ ├── partial.png │ │ │ │ │ │ │ │ │ │ │ ├── plus.png │ │ │ │ │ │ │ │ │ │ │ ├── pm.png │ │ │ │ │ │ │ │ │ │ │ ├── propto.png │ │ │ │ │ │ │ │ │ │ │ ├── sim.png │ │ │ │ │ │ │ │ │ │ │ ├── simeq.png │ │ │ │ │ │ │ │ │ │ │ ├── surd.png │ │ │ │ │ │ │ │ │ │ │ ├── tanhao.png │ │ │ │ │ │ │ │ │ │ │ ├── therefore.png │ │ │ │ │ │ │ │ │ │ │ ├── times.png │ │ │ │ │ │ │ │ │ │ │ ├── to.png │ │ │ │ │ │ │ │ │ │ │ ├── uparrow.png │ │ │ │ │ │ │ │ │ │ │ ├── varnothing.png │ │ │ │ │ │ │ │ │ │ │ └── vdots.png │ │ │ │ │ │ │ │ │ │ ├── not │ │ │ │ │ │ │ │ │ │ │ ├── gneqq.png │ │ │ │ │ │ │ │ │ │ │ ├── gnsim.png │ │ │ │ │ │ │ │ │ │ │ ├── lneqq.png │ │ │ │ │ │ │ │ │ │ │ ├── lnsim.png │ │ │ │ │ │ │ │ │ │ │ ├── nbdash-1.png │ │ │ │ │ │ │ │ │ │ │ ├── ncong.png │ │ │ │ │ │ │ │ │ │ │ ├── neq.png │ │ │ │ │ │ │ │ │ │ │ ├── nequiv.png │ │ │ │ │ │ │ │ │ │ │ ├── nexists.png │ │ │ │ │ │ │ │ │ │ │ ├── ngeq.png │ │ │ │ │ │ │ │ │ │ │ ├── ngtr.png │ │ │ │ │ │ │ │ │ │ │ ├── nleq.png │ │ │ │ │ │ │ │ │ │ │ ├── nless.png │ │ │ │ │ │ │ │ │ │ │ ├── nmid.png │ │ │ │ │ │ │ │ │ │ │ ├── notin.png │ │ │ │ │ │ │ │ │ │ │ ├── nparallel.png │ │ │ │ │ │ │ │ │ │ │ ├── nprec.png │ │ │ │ │ │ │ │ │ │ │ ├── nsim.png │ │ │ │ │ │ │ │ │ │ │ ├── nsubseteq.png │ │ │ │ │ │ │ │ │ │ │ ├── nsucc.png │ │ │ │ │ │ │ │ │ │ │ ├── nsupseteq.png │ │ │ │ │ │ │ │ │ │ │ ├── ntriangleleft.png │ │ │ │ │ │ │ │ │ │ │ ├── ntrianglelefteq.png │ │ │ │ │ │ │ │ │ │ │ ├── ntriangleright.png │ │ │ │ │ │ │ │ │ │ │ ├── ntrianglerighteq.png │ │ │ │ │ │ │ │ │ │ │ ├── nvdash-1.png │ │ │ │ │ │ │ │ │ │ │ ├── nvdash-2.png │ │ │ │ │ │ │ │ │ │ │ ├── nvdash-3.png │ │ │ │ │ │ │ │ │ │ │ ├── nvdash.png │ │ │ │ │ │ │ │ │ │ │ ├── precnsim.png │ │ │ │ │ │ │ │ │ │ │ ├── subsetneq.png │ │ │ │ │ │ │ │ │ │ │ ├── succnsim.png │ │ │ │ │ │ │ │ │ │ │ └── supsetneq.png │ │ │ │ │ │ │ │ │ │ └── rm │ │ │ │ │ │ │ │ │ │ │ ├── a.png │ │ │ │ │ │ │ │ │ │ │ ├── b.png │ │ │ │ │ │ │ │ │ │ │ ├── c.png │ │ │ │ │ │ │ │ │ │ │ ├── d.png │ │ │ │ │ │ │ │ │ │ │ ├── e.png │ │ │ │ │ │ │ │ │ │ │ ├── f.png │ │ │ │ │ │ │ │ │ │ │ ├── g.png │ │ │ │ │ │ │ │ │ │ │ ├── h.png │ │ │ │ │ │ │ │ │ │ │ ├── i.png │ │ │ │ │ │ │ │ │ │ │ ├── j.png │ │ │ │ │ │ │ │ │ │ │ ├── k.png │ │ │ │ │ │ │ │ │ │ │ ├── l.png │ │ │ │ │ │ │ │ │ │ │ ├── m.png │ │ │ │ │ │ │ │ │ │ │ ├── n.png │ │ │ │ │ │ │ │ │ │ │ ├── o.png │ │ │ │ │ │ │ │ │ │ │ ├── p.png │ │ │ │ │ │ │ │ │ │ │ ├── q.png │ │ │ │ │ │ │ │ │ │ │ ├── r.png │ │ │ │ │ │ │ │ │ │ │ ├── s.png │ │ │ │ │ │ │ │ │ │ │ ├── t.png │ │ │ │ │ │ │ │ │ │ │ ├── u.png │ │ │ │ │ │ │ │ │ │ │ ├── ua.png │ │ │ │ │ │ │ │ │ │ │ ├── ub.png │ │ │ │ │ │ │ │ │ │ │ ├── uc.png │ │ │ │ │ │ │ │ │ │ │ ├── ud.png │ │ │ │ │ │ │ │ │ │ │ ├── ue.png │ │ │ │ │ │ │ │ │ │ │ ├── uf.png │ │ │ │ │ │ │ │ │ │ │ ├── ug.png │ │ │ │ │ │ │ │ │ │ │ ├── uh.png │ │ │ │ │ │ │ │ │ │ │ ├── ui.png │ │ │ │ │ │ │ │ │ │ │ ├── uj.png │ │ │ │ │ │ │ │ │ │ │ ├── uk.png │ │ │ │ │ │ │ │ │ │ │ ├── ul.png │ │ │ │ │ │ │ │ │ │ │ ├── um.png │ │ │ │ │ │ │ │ │ │ │ ├── un.png │ │ │ │ │ │ │ │ │ │ │ ├── uo.png │ │ │ │ │ │ │ │ │ │ │ ├── up.png │ │ │ │ │ │ │ │ │ │ │ ├── uq.png │ │ │ │ │ │ │ │ │ │ │ ├── ur.png │ │ │ │ │ │ │ │ │ │ │ ├── us.png │ │ │ │ │ │ │ │ │ │ │ ├── ut.png │ │ │ │ │ │ │ │ │ │ │ ├── uu.png │ │ │ │ │ │ │ │ │ │ │ ├── uv.png │ │ │ │ │ │ │ │ │ │ │ ├── uw.png │ │ │ │ │ │ │ │ │ │ │ ├── ux.png │ │ │ │ │ │ │ │ │ │ │ ├── uy.png │ │ │ │ │ │ │ │ │ │ │ ├── uz.png │ │ │ │ │ │ │ │ │ │ │ ├── v.png │ │ │ │ │ │ │ │ │ │ │ ├── w.png │ │ │ │ │ │ │ │ │ │ │ ├── x.png │ │ │ │ │ │ │ │ │ │ │ ├── y.png │ │ │ │ │ │ │ │ │ │ │ └── z.png │ │ │ │ │ │ │ │ │ │ ├── frac │ │ │ │ │ │ │ │ │ │ ├── 1.png │ │ │ │ │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ │ │ │ │ ├── c1.png │ │ │ │ │ │ │ │ │ │ ├── c2.png │ │ │ │ │ │ │ │ │ │ ├── c4.png │ │ │ │ │ │ │ │ │ │ └── c5.png │ │ │ │ │ │ │ │ │ │ ├── func │ │ │ │ │ │ │ │ │ │ ├── 1.png │ │ │ │ │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ │ │ │ │ ├── 5.png │ │ │ │ │ │ │ │ │ │ ├── 6.png │ │ │ │ │ │ │ │ │ │ ├── c1.png │ │ │ │ │ │ │ │ │ │ ├── c2.png │ │ │ │ │ │ │ │ │ │ └── c3.png │ │ │ │ │ │ │ │ │ │ ├── int │ │ │ │ │ │ │ │ │ │ ├── 1.png │ │ │ │ │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ │ │ │ │ ├── 5.png │ │ │ │ │ │ │ │ │ │ └── 6.png │ │ │ │ │ │ │ │ │ │ ├── large │ │ │ │ │ │ │ │ │ │ ├── 1.png │ │ │ │ │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ │ │ │ │ └── 3.png │ │ │ │ │ │ │ │ │ │ ├── other.png │ │ │ │ │ │ │ │ │ │ ├── script │ │ │ │ │ │ │ │ │ │ ├── 1.png │ │ │ │ │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ │ │ │ │ ├── c1.png │ │ │ │ │ │ │ │ │ │ ├── c2.png │ │ │ │ │ │ │ │ │ │ └── c3.png │ │ │ │ │ │ │ │ │ │ ├── sqrt │ │ │ │ │ │ │ │ │ │ ├── 1.png │ │ │ │ │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ │ │ │ │ ├── c1.png │ │ │ │ │ │ │ │ │ │ └── c2.png │ │ │ │ │ │ │ │ │ │ └── ys │ │ │ │ │ │ │ │ │ │ ├── 1.png │ │ │ │ │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ │ │ │ │ └── 3.png │ │ │ │ │ │ │ │ ├── styles │ │ │ │ │ │ │ │ │ ├── base.css │ │ │ │ │ │ │ │ │ ├── page.css │ │ │ │ │ │ │ │ │ ├── scrollbar.css │ │ │ │ │ │ │ │ │ └── ui.css │ │ │ │ │ │ │ │ └── theme │ │ │ │ │ │ │ │ │ └── default │ │ │ │ │ │ │ │ │ ├── fui.css │ │ │ │ │ │ │ │ │ ├── fui.min.css │ │ │ │ │ │ │ │ │ └── images │ │ │ │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ │ │ │ ├── down.png │ │ │ │ │ │ │ │ │ ├── open.png │ │ │ │ │ │ │ │ │ └── up.png │ │ │ │ │ │ │ ├── js │ │ │ │ │ │ │ │ ├── jquery-3.6.0.min.js │ │ │ │ │ │ │ │ ├── kity-formula-parser.all.min.js │ │ │ │ │ │ │ │ ├── kity-formula-render.all.js │ │ │ │ │ │ │ │ ├── kityformula-editor.all.min.js │ │ │ │ │ │ │ │ └── kitygraph.all.js │ │ │ │ │ │ │ ├── loading.gif │ │ │ │ │ │ │ └── resource │ │ │ │ │ │ │ │ ├── KF_AMS_BB.woff │ │ │ │ │ │ │ │ ├── KF_AMS_CAL.woff │ │ │ │ │ │ │ │ ├── KF_AMS_FRAK.woff │ │ │ │ │ │ │ │ ├── KF_AMS_MAIN.woff │ │ │ │ │ │ │ │ └── KF_AMS_ROMAN.woff │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── legacyoutput │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── link │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── lists │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── media │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── nonbreaking │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── noneditable │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── pagebreak │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── paste │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── preview │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── print │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── quickbars │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── save │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── searchreplace │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── spellchecker │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── tabfocus │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── table │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── template │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── textcolor │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── textpattern │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── toc │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── visualblocks │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── visualchars │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ └── wordcount │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ └── plugin.min.js │ │ │ │ │ ├── skins │ │ │ │ │ ├── content │ │ │ │ │ │ ├── dark │ │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ │ ├── content.min.css │ │ │ │ │ │ │ └── content.min.css.map │ │ │ │ │ │ ├── default │ │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ │ ├── content.min.css │ │ │ │ │ │ │ └── content.min.css.map │ │ │ │ │ │ ├── document │ │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ │ ├── content.min.css │ │ │ │ │ │ │ └── content.min.css.map │ │ │ │ │ │ └── writer │ │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ │ ├── content.min.css │ │ │ │ │ │ │ └── content.min.css.map │ │ │ │ │ └── ui │ │ │ │ │ │ ├── oxide-dark │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ ├── content.inline.css │ │ │ │ │ │ ├── content.inline.min.css │ │ │ │ │ │ ├── content.inline.min.css.map │ │ │ │ │ │ ├── content.min.css │ │ │ │ │ │ ├── content.min.css.map │ │ │ │ │ │ ├── content.mobile.css │ │ │ │ │ │ ├── content.mobile.min.css │ │ │ │ │ │ ├── content.mobile.min.css.map │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ │ └── tinymce-mobile.woff │ │ │ │ │ │ ├── skin.css │ │ │ │ │ │ ├── skin.min.css │ │ │ │ │ │ ├── skin.min.css.map │ │ │ │ │ │ ├── skin.mobile.css │ │ │ │ │ │ ├── skin.mobile.min.css │ │ │ │ │ │ ├── skin.mobile.min.css.map │ │ │ │ │ │ ├── skin.shadowdom.css │ │ │ │ │ │ ├── skin.shadowdom.min.css │ │ │ │ │ │ └── skin.shadowdom.min.css.map │ │ │ │ │ │ └── oxide │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ ├── content.inline.css │ │ │ │ │ │ ├── content.inline.min.css │ │ │ │ │ │ ├── content.inline.min.css.map │ │ │ │ │ │ ├── content.min.css │ │ │ │ │ │ ├── content.min.css.map │ │ │ │ │ │ ├── content.mobile.css │ │ │ │ │ │ ├── content.mobile.min.css │ │ │ │ │ │ ├── content.mobile.min.css.map │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ └── tinymce-mobile.woff │ │ │ │ │ │ ├── skin.css │ │ │ │ │ │ ├── skin.min.css │ │ │ │ │ │ ├── skin.min.css.map │ │ │ │ │ │ ├── skin.mobile.css │ │ │ │ │ │ ├── skin.mobile.min.css │ │ │ │ │ │ ├── skin.mobile.min.css.map │ │ │ │ │ │ ├── skin.shadowdom.css │ │ │ │ │ │ ├── skin.shadowdom.min.css │ │ │ │ │ │ └── skin.shadowdom.min.css.map │ │ │ │ │ ├── themes │ │ │ │ │ ├── mobile │ │ │ │ │ │ ├── theme.js │ │ │ │ │ │ └── theme.min.js │ │ │ │ │ └── silver │ │ │ │ │ │ ├── theme.js │ │ │ │ │ │ └── theme.min.js │ │ │ │ │ ├── tinymce.js │ │ │ │ │ └── tinymce.min.js │ │ │ ├── toast.js │ │ │ ├── topBar.js │ │ │ ├── treetable.js │ │ │ ├── watermark │ │ │ │ └── watermark.js │ │ │ ├── xm-select.js │ │ │ └── yaml.js │ │ │ └── pear.js │ │ ├── config │ │ └── pear.config.json │ │ ├── demos │ │ ├── LICENSE │ │ ├── console │ │ │ ├── console1.html │ │ │ └── console2.html │ │ ├── css │ │ │ ├── avatar.jpg │ │ │ ├── console1.css │ │ │ ├── console2.css │ │ │ ├── department.css │ │ │ ├── error.css │ │ │ ├── icon.css │ │ │ ├── login.css │ │ │ ├── person.css │ │ │ └── result.css │ │ ├── data │ │ │ ├── card.json │ │ │ ├── dataMenu.json │ │ │ ├── dataTree2.json │ │ │ ├── dictData.json │ │ │ ├── dictType.json │ │ │ ├── dtree.json │ │ │ ├── loginLog.json │ │ │ ├── menu.json │ │ │ ├── message.json │ │ │ ├── operateLog.json │ │ │ ├── organization.json │ │ │ ├── organizationtree.json │ │ │ ├── power.json │ │ │ ├── role.json │ │ │ ├── table.json │ │ │ └── user.json │ │ ├── demo │ │ │ └── index.html │ │ ├── document │ │ │ ├── area.html │ │ │ ├── button.html │ │ │ ├── card.html │ │ │ ├── core.html │ │ │ ├── count.html │ │ │ ├── drawer.html │ │ │ ├── drawerFragment.html │ │ │ ├── dtree.html │ │ │ ├── encrypt.html │ │ │ ├── form.html │ │ │ ├── fullscreen.html │ │ │ ├── icon.html │ │ │ ├── iconPicker.html │ │ │ ├── loading.html │ │ │ ├── menu.html │ │ │ ├── notice.html │ │ │ ├── popover.html │ │ │ ├── popup.html │ │ │ ├── select.html │ │ │ ├── step.html │ │ │ ├── tab.html │ │ │ ├── tabContent.html │ │ │ ├── table.html │ │ │ ├── tag.html │ │ │ ├── tinymce.html │ │ │ ├── toast.html │ │ │ ├── topBar.html │ │ │ ├── treetable.html │ │ │ └── watermark.html │ │ ├── echarts │ │ │ ├── column.html │ │ │ ├── line.html │ │ │ └── script │ │ │ │ ├── column1.js │ │ │ │ ├── column2.js │ │ │ │ ├── column3.js │ │ │ │ ├── column4.js │ │ │ │ ├── line1.js │ │ │ │ ├── line2.js │ │ │ │ ├── line3.js │ │ │ │ └── line4.js │ │ ├── error │ │ │ ├── 403.html │ │ │ ├── 404.html │ │ │ └── 500.html │ │ ├── result │ │ │ ├── error.html │ │ │ └── success.html │ │ └── system │ │ │ ├── deptment.html │ │ │ ├── dict.html │ │ │ ├── log.html │ │ │ ├── operate.html │ │ │ ├── operate │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── profile.html │ │ │ ├── person.html │ │ │ ├── power.html │ │ │ ├── profile.html │ │ │ ├── role.html │ │ │ ├── space.html │ │ │ ├── theme.html │ │ │ └── user.html │ │ ├── favicon.ico │ │ └── resource │ │ ├── img │ │ ├── logo.png │ │ ├── pwa-192x192.png │ │ └── pwa-512x512.png │ │ └── tinymce │ │ ├── langs │ │ ├── en.js │ │ └── zh_CN.js │ │ └── skins │ │ └── ui │ │ ├── oxide-dark │ │ ├── content.inline.min.css │ │ ├── content.min.css │ │ ├── content.mobile.min.css │ │ ├── skin.min.css │ │ └── skin.mobile.min.css │ │ └── oxide │ │ ├── content.inline.min.css │ │ ├── content.min.css │ │ ├── content.mobile.min.css │ │ ├── fonts │ │ └── tinymce-mobile.woff │ │ ├── skin.min.css │ │ └── skin.mobile.min.css └── stone │ ├── api │ └── Install.php │ ├── app │ ├── controller │ │ ├── IndexController.php │ │ ├── LoginController.php │ │ ├── UploadController.php │ │ ├── setting │ │ │ ├── CodeController.php │ │ │ ├── ConfigController.php │ │ │ ├── CrontabController.php │ │ │ ├── ModuleController.php │ │ │ └── TableController.php │ │ └── system │ │ │ ├── AttachmentController.php │ │ │ ├── CacheController.php │ │ │ ├── CommonController.php │ │ │ ├── DataDictController.php │ │ │ ├── DataMaintainController.php │ │ │ ├── DeptController.php │ │ │ ├── DictTypeController.php │ │ │ ├── LogsController.php │ │ │ ├── MenuController.php │ │ │ ├── NoticeController.php │ │ │ ├── OnlineUserController.php │ │ │ ├── PostController.php │ │ │ ├── QueueMessageController.php │ │ │ ├── RelyController.php │ │ │ ├── RoleController.php │ │ │ ├── ServerController.php │ │ │ └── UserController.php │ ├── exception │ │ └── Handler.php │ ├── functions.php │ ├── mapper │ │ ├── setting │ │ │ ├── SettingConfigMapper.php │ │ │ ├── SettingCrontabLogMapper.php │ │ │ ├── SettingCrontabMapper.php │ │ │ ├── SettingGenerateColumnsMapper.php │ │ │ └── SettingGenerateTablesMapper.php │ │ └── system │ │ │ ├── SystemDeptMapper.php │ │ │ ├── SystemDictDataMapper.php │ │ │ ├── SystemDictFieldMapper.php │ │ │ ├── SystemDictTypeMapper.php │ │ │ ├── SystemLoginLogMapper.php │ │ │ ├── SystemMenuMapper.php │ │ │ ├── SystemNoticeMapper.php │ │ │ ├── SystemOperLogMapper.php │ │ │ ├── SystemPostMapper.php │ │ │ ├── SystemQueueLogMapper.php │ │ │ ├── SystemQueueMessageMapper.php │ │ │ ├── SystemRoleMapper.php │ │ │ ├── SystemUploadfileMapper.php │ │ │ └── SystemUserMapper.php │ ├── middleware │ │ └── AccessControl.php │ ├── model │ │ ├── setting │ │ │ ├── SettingConfig.php │ │ │ ├── SettingCrontab.php │ │ │ ├── SettingCrontabLog.php │ │ │ ├── SettingGenerateColumns.php │ │ │ └── SettingGenerateTables.php │ │ └── system │ │ │ ├── SystemDept.php │ │ │ ├── SystemDictData.php │ │ │ ├── SystemDictField.php │ │ │ ├── SystemDictType.php │ │ │ ├── SystemLoginLog.php │ │ │ ├── SystemMenu.php │ │ │ ├── SystemNotice.php │ │ │ ├── SystemOperLog.php │ │ │ ├── SystemPost.php │ │ │ ├── SystemQueueLog.php │ │ │ ├── SystemQueueMessage.php │ │ │ ├── SystemRole.php │ │ │ ├── SystemUploadfile.php │ │ │ └── SystemUser.php │ ├── service │ │ ├── setting │ │ │ ├── CacheMonitorService.php │ │ │ ├── DataSourceService.php │ │ │ ├── ModuleService.php │ │ │ ├── RelyMonitorService.php │ │ │ ├── ServerMonitorService.php │ │ │ ├── SettingConfigService.php │ │ │ ├── SettingCrontabLogService.php │ │ │ ├── SettingCrontabService.php │ │ │ ├── SettingGenerateColumnsService.php │ │ │ ├── SettingGenerateTablesService.php │ │ │ └── TableService.php │ │ └── system │ │ │ ├── SystemDeptService.php │ │ │ ├── SystemDictDataService.php │ │ │ ├── SystemDictFieldService.php │ │ │ ├── SystemDictTypeService.php │ │ │ ├── SystemLoginLogService.php │ │ │ ├── SystemMenuService.php │ │ │ ├── SystemNoticeService.php │ │ │ ├── SystemOperLogService.php │ │ │ ├── SystemPostService.php │ │ │ ├── SystemQueueLogService.php │ │ │ ├── SystemQueueMessageService.php │ │ │ ├── SystemRoleService.php │ │ │ ├── SystemUploadfileService.php │ │ │ └── SystemUserService.php │ ├── validate │ │ ├── setting │ │ │ ├── ModuleValidate.php │ │ │ ├── SettingConfigValidate.php │ │ │ ├── SettingCrontabLogValidate.php │ │ │ ├── SettingCrontabValidate.php │ │ │ ├── SettingGenerateColumnsValidate.php │ │ │ ├── SettingGenerateTablesValidate.php │ │ │ └── TableValidate.php │ │ └── system │ │ │ ├── SystemDeptValidate.php │ │ │ ├── SystemDictDataValidate.php │ │ │ ├── SystemDictFieldValidate.php │ │ │ ├── SystemDictTypeValidate.php │ │ │ ├── SystemMenuValidate.php │ │ │ ├── SystemNoticeValidate.php │ │ │ ├── SystemPostValidate.php │ │ │ ├── SystemQueueMessageValidate.php │ │ │ ├── SystemRoleValidate.php │ │ │ ├── SystemUploadfileValidate.php │ │ │ └── SystemUserValidate.php │ └── view │ │ └── index │ │ └── index.html │ ├── config.json │ ├── config │ ├── app.php │ ├── auth.php │ ├── autoload.php │ ├── container.php │ ├── exception.php │ ├── log.php │ ├── menu.php │ ├── middleware.php │ ├── process.php │ ├── route.php │ ├── static.php │ ├── thinkorm.php │ ├── translation.php │ └── view.php │ ├── database │ ├── migrations │ │ ├── 20220617101508_init_stone.php │ │ └── schema.php │ └── seeds │ │ ├── SettingConfigInit.php │ │ ├── SettingCrontabInit.php │ │ ├── SettingCrontabLogInit.php │ │ ├── SettingGenerateColumnsInit.php │ │ ├── SettingGenerateTablesInit.php │ │ ├── SystemDeptInit.php │ │ ├── SystemDictDataInit.php │ │ ├── SystemDictTypeInit.php │ │ ├── SystemLoginLogInit.php │ │ ├── SystemMenuInit.php │ │ ├── SystemOperLogInit.php │ │ ├── SystemPostInit.php │ │ ├── SystemRoleDeptInit.php │ │ ├── SystemRoleInit.php │ │ ├── SystemRoleMenuInit.php │ │ ├── SystemUploadfileInit.php │ │ ├── SystemUserInit.php │ │ ├── SystemUserPostInit.php │ │ └── SystemUserRoleInit.php │ └── nyuwa │ ├── Event.php │ ├── IdGenerator.php │ ├── Nyuwa.php │ ├── NyuwaApi.php │ ├── NyuwaCollection.php │ ├── NyuwaController.php │ ├── NyuwaEvent.php │ ├── NyuwaModel.php │ ├── NyuwaResponse.php │ ├── NyuwaUpload.php │ ├── NyuwaValidate.php │ ├── abstracts │ ├── AbstractAnnotation.php │ ├── AbstractMapper.php │ └── AbstractService.php │ ├── annotation │ ├── ExcelData.php │ └── ExcelProperty.php │ ├── aspect │ ├── AuthAspect.php │ └── TestAspect.php │ ├── auth │ ├── AbstractJWT.php │ ├── JWT.php │ ├── PathMatch.php │ ├── constant │ │ └── JWTConstant.php │ ├── exception │ │ ├── JWTException.php │ │ └── TokenValidException.php │ ├── facade │ │ └── JWT.php │ ├── middleware │ │ ├── JWTAuthDefaultSceneMiddleware.php │ │ └── JWTAuthMiddleware.php │ └── util │ │ ├── JWTUtil.php │ │ └── TimeUtil.php │ ├── bootstrap │ └── LaravelLog.php │ ├── crontab │ ├── NyuwaClient.php │ └── NyuwaServer.php │ ├── event │ ├── ApiAfter.php │ ├── ApiBefore.php │ ├── BizInfoEvent.php │ ├── ModelSavedEvent.php │ ├── Operation.php │ ├── RealDeleteUploadFile.php │ ├── TestEvent.php │ ├── UploadAfter.php │ ├── UserLoginAfter.php │ ├── UserLoginBefore.php │ └── UserLogout.php │ ├── exception │ ├── CaptchaException.php │ ├── NoPermissionException.php │ ├── NormalStatusException.php │ ├── NyuwaException.php │ ├── NyuwaGencodeException.php │ ├── PermissionRefuseException.php │ ├── StoneGlobalExceptionHandler.php │ ├── TestExceptionHandler.php │ ├── TokenException.php │ └── UserBanException.php │ ├── generator │ ├── ApiGenerator.php │ ├── CodeGenerator.php │ ├── ControllerGenerator.php │ ├── DtoGenerator.php │ ├── MapperGenerator.php │ ├── ModelGenerate.php │ ├── ModuleGenerator.php │ ├── NyuwaGenerator.php │ ├── PhinxSeederGenerator.php │ ├── ServiceGenerator.php │ ├── SqlGenerator.php │ ├── TableGenerator.php │ ├── ValidateGenerator.php │ ├── VueIndexGenerator.php │ ├── VueSaveGenerator.php │ ├── stubs │ │ ├── Api │ │ │ ├── changeStatus.stub │ │ │ ├── delete.stub │ │ │ ├── export.stub │ │ │ ├── import.stub │ │ │ ├── main.stub │ │ │ ├── numberOperation.stub │ │ │ ├── read.stub │ │ │ ├── recycle.stub │ │ │ ├── save.stub │ │ │ ├── singleList.stub │ │ │ ├── treeList.stub │ │ │ └── update.stub │ │ ├── Controller │ │ │ ├── changeStatus.stub │ │ │ ├── delete.stub │ │ │ ├── export.stub │ │ │ ├── import.stub │ │ │ ├── main.stub │ │ │ ├── numberOperation.stub │ │ │ ├── read.stub │ │ │ ├── realDelete.stub │ │ │ ├── recovery.stub │ │ │ ├── save.stub │ │ │ ├── singleList.stub │ │ │ ├── singleRecycleList.stub │ │ │ ├── treeList.stub │ │ │ ├── treeRecycleList.stub │ │ │ └── update.stub │ │ ├── ModelRelation │ │ │ ├── belongsTo.stub │ │ │ ├── belongsToMany.stub │ │ │ ├── hasMany.stub │ │ │ └── hasOne.stub │ │ ├── Request │ │ │ ├── attribute.stub │ │ │ ├── main.stub │ │ │ └── rule.stub │ │ ├── Single │ │ │ ├── mapper.stub │ │ │ └── service.stub │ │ ├── Sql │ │ │ ├── delete.stub │ │ │ ├── export.stub │ │ │ ├── import.stub │ │ │ ├── main.stub │ │ │ ├── read.stub │ │ │ ├── recycle.stub │ │ │ ├── save.stub │ │ │ └── update.stub │ │ ├── Tree │ │ │ ├── mapper.stub │ │ │ └── service.stub │ │ ├── Validate │ │ │ ├── attribute.stub │ │ │ ├── main.stub │ │ │ └── rule.stub │ │ ├── Vue │ │ │ ├── Other │ │ │ │ ├── column.stub │ │ │ │ ├── columnByArray.stub │ │ │ │ ├── columnByDictType.stub │ │ │ │ ├── columnByInputNumber.stub │ │ │ │ ├── columnBySwitch.stub │ │ │ │ ├── exportExcel.stub │ │ │ │ ├── import.stub │ │ │ │ ├── numberOperation.stub │ │ │ │ ├── searchDate.stub │ │ │ │ ├── searchDefault.stub │ │ │ │ ├── searchFormItem.stub │ │ │ │ ├── searchSelect.stub │ │ │ │ ├── searchTime.stub │ │ │ │ ├── switchStatus.stub │ │ │ │ ├── uploadFile.stub │ │ │ │ └── uploadImage.stub │ │ │ ├── formItem │ │ │ │ ├── areaCascader.stub │ │ │ │ ├── areaSelect.stub │ │ │ │ ├── checkbox.stub │ │ │ │ ├── checkboxOption.stub │ │ │ │ ├── colorPicker.stub │ │ │ │ ├── date.stub │ │ │ │ ├── editor.stub │ │ │ │ ├── export.stub │ │ │ │ ├── import.stub │ │ │ │ ├── inputNumber.stub │ │ │ │ ├── password.stub │ │ │ │ ├── radio.stub │ │ │ │ ├── radioOption.stub │ │ │ │ ├── rate.stub │ │ │ │ ├── select.stub │ │ │ │ ├── selectOption.stub │ │ │ │ ├── selectResourceMulti.stub │ │ │ │ ├── selectResourceRadio.stub │ │ │ │ ├── slider.stub │ │ │ │ ├── switch.stub │ │ │ │ ├── text.stub │ │ │ │ ├── textarea.stub │ │ │ │ ├── time.stub │ │ │ │ ├── treeCascader.stub │ │ │ │ ├── uploadFile.stub │ │ │ │ ├── uploadImage.stub │ │ │ │ ├── userSelect.stub │ │ │ │ └── userinfo.stub │ │ │ ├── index.stub │ │ │ └── save.stub │ │ ├── config.stub │ │ ├── dto.stub │ │ ├── model.stub │ │ ├── phinxSeeder.stub │ │ └── table.stub │ └── traits │ │ ├── MapperGeneratorTraits.php │ │ ├── VueFunctionsVarsTraits.php │ │ └── VueSaveGeneratorTraits.php │ ├── helper │ ├── LoginUser.php │ ├── NyuwaCode.php │ ├── Str.php │ └── function.php │ ├── interfaces │ └── NyuwaModelExcel.php │ ├── listener │ ├── BizInfoListener.php │ ├── ModelSavedListener.php │ ├── OperationListener.php │ ├── TestListener.php │ ├── UserLoginAfterListener.php │ ├── UserLoginBeforeListener.php │ └── UserLogoutListener.php │ ├── log │ └── MonologCustomizeFormatter.php │ ├── middleware │ └── NyuwaAuthGuardMiddleware.php │ ├── office │ ├── ExcelPropertyInterface.php │ ├── NyuwaExcel.php │ └── excel │ │ ├── PhpOffice.php │ │ └── XlsWriter.php │ ├── socket │ └── NyuwaPush.php │ ├── traits │ ├── ControllerTrait.php │ ├── GencodeTrait.php │ ├── IdFactory.php │ ├── JmesPathTrait.php │ ├── MapperTrait.php │ ├── ModelMacroTrait.php │ └── ServiceTrait.php │ └── vo │ ├── QueueMessageVo.php │ └── UserServiceVo.php ├── process └── Monitor.php ├── public ├── 404.html └── favicon.ico ├── resource ├── genInfo.php ├── stone.sql └── translations │ ├── en │ ├── jwt.php │ ├── nyuwa_messages.php │ ├── setting.php │ ├── system.php │ └── validation.php │ └── zh_CN │ ├── jwt.php │ ├── nyuwa_messages.php │ ├── setting.php │ ├── system.php │ └── validation.php ├── runtime ├── .gitignore ├── logs │ └── .gitignore └── views │ └── .gitignore ├── start.php ├── stone-ui ├── .editorconfig ├── .env.templete ├── .gitignore ├── LICENSE ├── README.md ├── babel.config.js ├── package.json ├── public │ ├── favicon.ico │ ├── formDesigner │ │ ├── assets │ │ │ ├── logo.27fa75d6.svg │ │ │ ├── main.08612878.js │ │ │ ├── main.a19ba5b4.css │ │ │ ├── vendor.4eeb6cee.css │ │ │ └── vendor.b6994688.js │ │ ├── favicon.ico │ │ └── index.html │ ├── img │ │ ├── auth_banner.jpg │ │ ├── avatar.jpg │ │ ├── avatar2.gif │ │ ├── avatar3.gif │ │ ├── login@bg.jpg │ │ ├── loginbg.svg │ │ ├── logo.svg │ │ ├── no-widgets.svg │ │ └── ver.svg │ ├── index.html │ ├── static │ │ └── push.js │ └── tinymce │ │ ├── langs │ │ └── zh_CN.js │ │ └── skins │ │ ├── content │ │ ├── dark │ │ │ ├── content.css │ │ │ └── content.min.css │ │ ├── default │ │ │ ├── content.css │ │ │ └── content.min.css │ │ ├── document │ │ │ ├── content.css │ │ │ └── content.min.css │ │ └── writer │ │ │ ├── content.css │ │ │ └── content.min.css │ │ └── ui │ │ ├── oxide-dark │ │ ├── content.css │ │ ├── content.inline.css │ │ ├── content.inline.min.css │ │ ├── content.min.css │ │ ├── content.mobile.css │ │ ├── content.mobile.min.css │ │ ├── fonts │ │ │ └── tinymce-mobile.woff │ │ ├── skin.css │ │ ├── skin.min.css │ │ ├── skin.mobile.css │ │ ├── skin.mobile.min.css │ │ ├── skin.shadowdom.css │ │ └── skin.shadowdom.min.css │ │ └── oxide │ │ ├── content.css │ │ ├── content.inline.css │ │ ├── content.inline.min.css │ │ ├── content.min.css │ │ ├── content.mobile.css │ │ ├── content.mobile.min.css │ │ ├── fonts │ │ └── tinymce-mobile.woff │ │ ├── skin.css │ │ ├── skin.min.css │ │ ├── skin.mobile.css │ │ ├── skin.mobile.min.css │ │ ├── skin.shadowdom.css │ │ └── skin.shadowdom.min.css ├── src │ ├── App.vue │ ├── api │ │ ├── apis │ │ │ ├── apiDoc.js │ │ │ ├── common.js │ │ │ ├── login.js │ │ │ ├── setting │ │ │ │ ├── config.js │ │ │ │ ├── crontab.js │ │ │ │ ├── generate.js │ │ │ │ ├── module.js │ │ │ │ └── table.js │ │ │ └── system │ │ │ │ ├── api.js │ │ │ │ ├── apiColumn.js │ │ │ │ ├── apiGroup.js │ │ │ │ ├── apiLog.js │ │ │ │ ├── app.js │ │ │ │ ├── appGroup.js │ │ │ │ ├── attachment.js │ │ │ │ ├── dataDict.js │ │ │ │ ├── dataMaintain.js │ │ │ │ ├── dept.js │ │ │ │ ├── dictType.js │ │ │ │ ├── loginLog.js │ │ │ │ ├── menu.js │ │ │ │ ├── monitor.js │ │ │ │ ├── notice.js │ │ │ │ ├── onlineUser.js │ │ │ │ ├── operLog.js │ │ │ │ ├── post.js │ │ │ │ ├── queueLog.js │ │ │ │ ├── queueMessage.js │ │ │ │ ├── role.js │ │ │ │ ├── upload.js │ │ │ │ └── user.js │ │ └── index.js │ ├── assets │ │ ├── icons │ │ │ ├── BugFill.vue │ │ │ ├── BugLine.vue │ │ │ ├── Code.vue │ │ │ ├── FileExcel.vue │ │ │ ├── FilePpt.vue │ │ │ ├── FileWord.vue │ │ │ ├── Vue.vue │ │ │ ├── Wechat.vue │ │ │ └── index.js │ │ └── maicons │ │ │ ├── Attach.vue │ │ │ ├── Code.vue │ │ │ ├── Db.vue │ │ │ ├── Dept.vue │ │ │ ├── Dict.vue │ │ │ ├── Group.vue │ │ │ ├── Menu.vue │ │ │ ├── Mineadmin.vue │ │ │ ├── Online.vue │ │ │ ├── Permission.vue │ │ │ ├── Post.vue │ │ │ ├── Rely.vue │ │ │ ├── Role.vue │ │ │ ├── Tool.vue │ │ │ ├── User.vue │ │ │ └── index.js │ ├── components │ │ ├── maChunkUpload │ │ │ └── index.vue │ │ ├── maCityLinkage │ │ │ ├── index.vue │ │ │ ├── lib │ │ │ │ └── cityLinkage.json │ │ │ └── threeLevelLinkage.vue │ │ ├── maDictTag │ │ │ └── index.vue │ │ ├── maDragVerify │ │ │ ├── components │ │ │ │ ├── dragVerify.vue │ │ │ │ ├── dragVerifyImg.vue │ │ │ │ ├── dragVerifyImgChip.vue │ │ │ │ └── dragVerifyImgRotate.vue │ │ │ └── imageChip.vue │ │ ├── maHighlight │ │ │ ├── index.vue │ │ │ └── libs │ │ │ │ ├── htmlFormat.js │ │ │ │ └── style.github.css │ │ ├── maImport │ │ │ └── index.vue │ │ ├── maJsonEditor │ │ │ └── index.vue │ │ ├── maPhoto │ │ │ └── index.vue │ │ ├── maSelectUser │ │ │ └── index.vue │ │ ├── maTable │ │ │ ├── columnSetting.vue │ │ │ └── index.vue │ │ ├── scContextmenu │ │ │ ├── index.vue │ │ │ └── item.vue │ │ ├── scCron │ │ │ └── index.vue │ │ ├── scCropper │ │ │ └── index.vue │ │ ├── scEcharts │ │ │ ├── echarts-theme-T.js │ │ │ └── index.vue │ │ ├── scEditor │ │ │ └── index.vue │ │ ├── scFileSelect │ │ │ ├── index.vue │ │ │ └── network.vue │ │ ├── scFilterBar │ │ │ ├── index.vue │ │ │ ├── my.vue │ │ │ ├── pinyin.js │ │ │ └── pySelect.vue │ │ ├── scForm │ │ │ ├── index.vue │ │ │ └── items │ │ │ │ └── tableselect.vue │ │ ├── scFormTable │ │ │ └── index.vue │ │ ├── scIconSelect │ │ │ └── index.vue │ │ ├── scMini │ │ │ ├── scStatusIndicator.vue │ │ │ └── scTrend.vue │ │ ├── scPageHeader │ │ │ └── index.vue │ │ ├── scQrCode │ │ │ └── index.vue │ │ ├── scSelect │ │ │ └── index.vue │ │ ├── scStatistic │ │ │ └── index.vue │ │ ├── scTable │ │ │ ├── columnSetting.vue │ │ │ └── index.vue │ │ ├── scTableSelect │ │ │ └── index.vue │ │ ├── scTitle │ │ │ └── index.vue │ │ ├── scUpload │ │ │ ├── index.vue │ │ │ └── multiple.vue │ │ ├── scVideo │ │ │ └── index.vue │ │ ├── scWaterMark │ │ │ └── index.vue │ │ └── scWorkflow │ │ │ ├── index.vue │ │ │ ├── nodeWrap.vue │ │ │ ├── nodes │ │ │ ├── addNode.vue │ │ │ ├── approver.vue │ │ │ ├── branch.vue │ │ │ ├── promoter.vue │ │ │ └── send.vue │ │ │ └── select.vue │ ├── config │ │ ├── fileSelect.js │ │ ├── filterBar.js │ │ ├── iconSelect.js │ │ ├── index.js │ │ ├── ma-table.js │ │ ├── select.js │ │ ├── table.js │ │ ├── tableSelect.js │ │ ├── upload.js │ │ └── workflow.js │ ├── directives │ │ ├── auth.js │ │ ├── copy.js │ │ ├── role.js │ │ └── time.js │ ├── layout │ │ ├── components │ │ │ ├── NavMenu.vue │ │ │ ├── iframeView.vue │ │ │ ├── setting.vue │ │ │ ├── sideM.vue │ │ │ ├── tags.vue │ │ │ ├── topbar.vue │ │ │ └── userbar.vue │ │ ├── index.vue │ │ └── other │ │ │ ├── 404.vue │ │ │ └── empty.vue │ ├── locales │ │ ├── index.js │ │ └── lang │ │ │ ├── en.js │ │ │ └── zh_cn.js │ ├── main.js │ ├── mineadmin.js │ ├── router │ │ ├── index.js │ │ ├── scrollBehavior.js │ │ └── systemRouter.js │ ├── store │ │ ├── index.js │ │ └── modules │ │ │ ├── global.js │ │ │ ├── iframe.js │ │ │ ├── keepAlive.js │ │ │ ├── user.js │ │ │ └── viewTags.js │ ├── style │ │ ├── app.scss │ │ ├── fix.scss │ │ ├── media.scss │ │ ├── mine-admin.scss │ │ ├── pages.scss │ │ ├── style.scss │ │ └── theme │ │ │ └── dark.scss │ ├── utils │ │ ├── color.js │ │ ├── errorHandler.js │ │ ├── permission.js │ │ ├── print.js │ │ ├── request.js │ │ ├── role.js │ │ ├── template.js │ │ ├── tool.js │ │ ├── useTabs.js │ │ └── webSocket.js │ ├── views │ │ ├── demo │ │ │ └── index.vue │ │ ├── doc │ │ │ ├── components │ │ │ │ ├── auth.vue │ │ │ │ └── docMain.vue │ │ │ ├── index.vue │ │ │ └── page │ │ │ │ ├── components │ │ │ │ ├── details.vue │ │ │ │ ├── globalParams.vue │ │ │ │ └── simRequest.vue │ │ │ │ ├── interfaceCode.vue │ │ │ │ ├── interfaceList.vue │ │ │ │ └── signature.vue │ │ ├── home │ │ │ ├── index.vue │ │ │ ├── widgets │ │ │ │ ├── components │ │ │ │ │ ├── about.vue │ │ │ │ │ ├── echarts.vue │ │ │ │ │ ├── index.js │ │ │ │ │ ├── progress.vue │ │ │ │ │ ├── time.vue │ │ │ │ │ ├── ver.vue │ │ │ │ │ └── welcome.vue │ │ │ │ └── index.vue │ │ │ └── work │ │ │ │ ├── components │ │ │ │ └── myapp.vue │ │ │ │ └── index.vue │ │ ├── setting │ │ │ ├── code │ │ │ │ ├── edit.vue │ │ │ │ ├── index.vue │ │ │ │ ├── js │ │ │ │ │ ├── datas.js │ │ │ │ │ └── methods.js │ │ │ │ ├── preview.vue │ │ │ │ └── table.vue │ │ │ ├── crontab │ │ │ │ ├── index.vue │ │ │ │ ├── logs.vue │ │ │ │ └── save.vue │ │ │ ├── formDesigner │ │ │ │ └── index.vue │ │ │ ├── index.vue │ │ │ ├── module │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── systemInterface │ │ │ │ └── index.vue │ │ │ └── table │ │ │ │ └── index.vue │ │ ├── system │ │ │ ├── api │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── apiColumn │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── apiGroup │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── apiLog │ │ │ │ ├── index.vue │ │ │ │ └── info.vue │ │ │ ├── app │ │ │ │ ├── bind.vue │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── appGroup │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── attachment │ │ │ │ ├── index.vue │ │ │ │ ├── mixins │ │ │ │ │ └── index.js │ │ │ │ └── style │ │ │ │ │ └── index.scss │ │ │ ├── dataDict │ │ │ │ ├── data.vue │ │ │ │ ├── index.vue │ │ │ │ └── type.vue │ │ │ ├── dataMaintain │ │ │ │ └── index.vue │ │ │ ├── dept │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── loginLog │ │ │ │ └── index.vue │ │ │ ├── menu │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── monitor │ │ │ │ ├── cache │ │ │ │ │ └── index.vue │ │ │ │ ├── onlineUser │ │ │ │ │ └── index.vue │ │ │ │ ├── rely │ │ │ │ │ └── index.vue │ │ │ │ └── server │ │ │ │ │ └── index.vue │ │ │ ├── notice │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── operLog │ │ │ │ ├── index.vue │ │ │ │ └── info.vue │ │ │ ├── post │ │ │ │ ├── index.vue │ │ │ │ └── save.vue │ │ │ ├── queueLog │ │ │ │ ├── index.vue │ │ │ │ └── info.vue │ │ │ ├── queueMessage │ │ │ │ ├── index.vue │ │ │ │ ├── logs.vue │ │ │ │ └── save.vue │ │ │ ├── role │ │ │ │ ├── dataForm.vue │ │ │ │ ├── index.vue │ │ │ │ ├── menuForm.vue │ │ │ │ └── save.vue │ │ │ └── user │ │ │ │ ├── index.vue │ │ │ │ ├── save.vue │ │ │ │ └── setHomepage.vue │ │ └── userCenter │ │ │ ├── components │ │ │ ├── createMessage.vue │ │ │ └── recharge.vue │ │ │ ├── index.vue │ │ │ ├── lockScreen.vue │ │ │ ├── login.vue │ │ │ └── message.vue │ └── ws-serve │ │ └── messageio.js ├── vue.config.js └── yarn.lock ├── support ├── Request.php ├── Response.php ├── bootstrap.php └── helpers.php ├── webman ├── windows.bat └── windows.php /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | open_collective: walkor 4 | patreon: walkor 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /.vscode 3 | /vendor 4 | *.log 5 | .env 6 | /tests/tmp 7 | /tests/.phpunit.result.cache 8 | public/uploadfile/ 9 | -------------------------------------------------------------------------------- /app/functions.php: -------------------------------------------------------------------------------- 1 | true, 4 | ]; -------------------------------------------------------------------------------- /config/plugin/webman/event/command.php: -------------------------------------------------------------------------------- 1 | true, 7 | 'controller_suffix' => 'Controller', 8 | 'controller_reuse' => false, 9 | 'version' => '1.0.0' 10 | ]; 11 | -------------------------------------------------------------------------------- /plugin/stone/config/autoload.php: -------------------------------------------------------------------------------- 1 | [ 4 | base_path() . '/plugin/stone/app/functions.php', 5 | ] 6 | ]; -------------------------------------------------------------------------------- /plugin/stone/config/container.php: -------------------------------------------------------------------------------- 1 | addDefinitions(config('dependence', [])); 5 | $builder->useAutowiring(true); 6 | $builder->useAttributes(true); 7 | return $builder->build(); -------------------------------------------------------------------------------- /plugin/stone/config/exception.php: -------------------------------------------------------------------------------- 1 | Handler::class, 7 | ]; 8 | -------------------------------------------------------------------------------- /plugin/stone/config/menu.php: -------------------------------------------------------------------------------- 1 | [ 7 | AccessControl::class, 8 | ] 9 | ]; 10 | -------------------------------------------------------------------------------- /plugin/stone/config/process.php: -------------------------------------------------------------------------------- 1 | true, 5 | 'middleware' => [], // Static file Middleware 6 | ]; 7 | -------------------------------------------------------------------------------- /plugin/stone/config/thinkorm.php: -------------------------------------------------------------------------------- 1 | 'zh_CN', 6 | // Fallback language 7 | 'fallback_locale' => ['zh_CN', 'en'], 8 | // Folder where language files are stored 9 | 'path' => base_path() . '/resource/translations', 10 | ]; 11 | -------------------------------------------------------------------------------- /plugin/stone/config/view.php: -------------------------------------------------------------------------------- 1 | Raw::class 10 | ]; 11 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/NyuwaApi.php: -------------------------------------------------------------------------------- 1 | order = $order; 19 | } 20 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/event/UploadAfter.php: -------------------------------------------------------------------------------- 1 | fileInfo = $fileInfo; 12 | } 13 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/event/UserLogout.php: -------------------------------------------------------------------------------- 1 | userinfo = $userinfo; 13 | } 14 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/exception/CaptchaException.php: -------------------------------------------------------------------------------- 1 | service->export($request->all(), {DTO_CLASS}, '导出数据列表'); 9 | } 10 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Controller/read.stub: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 读取数据 4 | * @return NyuwaResponse 5 | */ 6 | public function read(Request $request): NyuwaResponse 7 | { 8 | $data = $this->validate->scene("key")->check($request->all()); 9 | return $this->success($this->service->read($data["id"])); 10 | } 11 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Controller/singleList.stub: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 列表 4 | * @return NyuwaResponse 5 | */ 6 | public function index(Request $request): NyuwaResponse 7 | { 8 | return $this->success($this->service->getPageList($request->all())); 9 | } 10 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Controller/singleRecycleList.stub: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 回收站列表 4 | * @return NyuwaResponse 5 | */ 6 | public function recycle(Request $request): NyuwaResponse 7 | { 8 | return $this->success($this->service->getPageListByRecycle($request->all())); 9 | } 10 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Controller/treeRecycleList.stub: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 回收站列表树 4 | * @return NyuwaResponse 5 | */ 6 | public function recycle(Request $request):NyuwaResponse 7 | { 8 | return $this->success($this->service->getTreeListByRecycle($request->all())); 9 | } 10 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Request/attribute.stub: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 字段映射名称 4 | * return array 5 | */ 6 | public function attributes(): array 7 | { 8 | return [ 9 | {LIST} 10 | ]; 11 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Request/rule.stub: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * {METHOD_COMMENT} 4 | * return array 5 | */ 6 | public function {METHOD_NAME}(): array 7 | { 8 | return [ 9 | {LIST} 10 | ]; 11 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Validate/attribute.stub: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 公共通用属性描述 4 | * return array 5 | */ 6 | protected $customAttributes = [ 7 | {LIST} 8 | ]; -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Validate/rule.stub: -------------------------------------------------------------------------------- 1 | 2 | // {METHOD_COMMENT} 3 | "{METHOD_NAME}" => [ {LIST} ], -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/column.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/columnByDictType.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/exportExcel.stub: -------------------------------------------------------------------------------- 1 | 2 | const exportExcel = () => { 3 | ElMessage.info('正在处理数据...') 4 | {BUSINESS_EN_NAME}.exportExcel(queryParams).then( res => { 5 | tool.download(res) 6 | }).catch( e => { console.log(e) } ) 7 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/import.stub: -------------------------------------------------------------------------------- 1 | import {NAME} from '{PATH}' 2 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/numberOperation.stub: -------------------------------------------------------------------------------- 1 | 2 | const numberOperation = (newValue, id, numberName) => { 3 | {BUSINESS_EN_NAME}.numberOperation({ id, numberName, numberValue: newValue }).then( res => { 4 | res.success && ElMessage.success(res.message) 5 | }).catch( e => { console.log(e) } ) 6 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/searchDate.stub: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/searchDefault.stub: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/searchFormItem.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | {FORM_ITEM} 4 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/searchTime.stub: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/switchStatus.stub: -------------------------------------------------------------------------------- 1 | 2 | const switchStatus = (statusValue, id, statusName) => { 3 | {BUSINESS_EN_NAME}.changeStatus({ id, statusName, statusValue }).then( res => { 4 | res.success && ElMessage.success(res.message) 5 | }).catch( e => { console.log(e) } ) 6 | } 7 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/uploadFile.stub: -------------------------------------------------------------------------------- 1 | 2 | const handlerUploadFile{FUN_NAME} = (res) => { 3 | if (res.success) { 4 | form.{COLUMN_NAME} = res.url 5 | } 6 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/Other/uploadImage.stub: -------------------------------------------------------------------------------- 1 | 2 | const handlerUploadImage{FUN_NAME} = (res) => { 3 | if (res.success) { 4 | form.{COLUMN_NAME} = res.url 5 | } 6 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/areaCascader.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/areaSelect.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/checkbox.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {CHECKBOX_OPTION} 5 | 6 | 7 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/checkboxOption.stub: -------------------------------------------------------------------------------- 1 | 2 | {{ item.label }} 7 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/colorPicker.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/date.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/editor.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/export.stub: -------------------------------------------------------------------------------- 1 | 2 | 导出 -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/import.stub: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/inputNumber.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/password.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/radio.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {RADIO_OPTION} 5 | 6 | 7 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/radioOption.stub: -------------------------------------------------------------------------------- 1 | 2 | {{ item.label }} 7 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/rate.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/select.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {SELECT_OPTION} 5 | 6 | 7 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/selectOption.stub: -------------------------------------------------------------------------------- 1 | 2 | {{ item.label }} 7 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/selectResourceMulti.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/selectResourceRadio.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/slider.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/switch.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/text.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/textarea.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/time.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/treeCascader.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/uploadFile.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/userSelect.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/Vue/formItem/userinfo.stub: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugin/stone/nyuwa/generator/stubs/config.stub: -------------------------------------------------------------------------------- 1 | { 2 | "name": "{NAME}", 3 | "label": "{LABEL}", 4 | "description": "{DESCRIPTION}", 5 | "installed": true, 6 | "enabled": true, 7 | "version": "{VERSION}", 8 | "order": 0 9 | } -------------------------------------------------------------------------------- /plugin/stone/nyuwa/interfaces/NyuwaModelExcel.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 404 Not Found - webman 4 | 5 | 6 |
7 |

404 Not Found

8 |
9 |
10 |
webman
11 | 12 | 13 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SeventColourStone/StoneAdmin/45b1561ef82f0df1a2fd7dd523298efb656c4545/public/favicon.ico -------------------------------------------------------------------------------- /resource/translations/en/setting.php: -------------------------------------------------------------------------------- 1 | 'Please first edit the configuration build information', 10 | 'gen_model_error' => 'Model generation error, please check whether the module and table names match', 11 | ]; -------------------------------------------------------------------------------- /resource/translations/zh_CN/setting.php: -------------------------------------------------------------------------------- 1 | '请先编辑配置生成信息', 10 | 'gen_model_error' => '生成模型错误,请检查模块与表名称是否匹配', 11 | ]; -------------------------------------------------------------------------------- /runtime/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !logs 3 | !views 4 | !.gitignore 5 | -------------------------------------------------------------------------------- /runtime/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /runtime/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /start.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | 2 | 3 | -------------------------------------------------------------------------------- /stone-ui/src/style/style.scss: -------------------------------------------------------------------------------- 1 | @import 'app.scss'; 2 | @import 'fix.scss'; 3 | @import 'pages.scss'; 4 | @import 'media.scss'; 5 | @import 'mine-admin.scss'; 6 | -------------------------------------------------------------------------------- /stone-ui/src/utils/permission.js: -------------------------------------------------------------------------------- 1 | import tool from '@/utils/tool'; 2 | 3 | let permission = (data) => { 4 | let codes = tool.data.get('user').codes; 5 | if(! codes){ 6 | return false 7 | } 8 | 9 | if (codes[0] === '*') { 10 | return true 11 | } 12 | 13 | return codes.includes(data) ? true : false; 14 | } 15 | export default permission; -------------------------------------------------------------------------------- /stone-ui/src/utils/role.js: -------------------------------------------------------------------------------- 1 | import tool from '@/utils/tool'; 2 | 3 | let role = (data) => { 4 | let roles = tool.data.get('user').roles; 5 | 6 | if(! roles){ 7 | return false 8 | } 9 | 10 | if (roles[0] === 'superAdmin') { 11 | return true 12 | } 13 | 14 | return roles.includes(data) ? true : false 15 | } 16 | export default role; -------------------------------------------------------------------------------- /stone-ui/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SeventColourStone/StoneAdmin/45b1561ef82f0df1a2fd7dd523298efb656c4545/stone-ui/yarn.lock -------------------------------------------------------------------------------- /windows.bat: -------------------------------------------------------------------------------- 1 | CHCP 65001 2 | php windows.php 3 | pause --------------------------------------------------------------------------------