From 4e7a85bead840cb25b53d9374b02c1e10c10e267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E8=83=9C=E8=88=9F?= <1650473152@com> Date: Wed, 21 Jun 2023 01:15:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E9=A6=96=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E5=91=BD=E5=90=8D=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96schema?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 11 +- README.md | 4 +- applications/__init__.py | 10 +- applications/common/script/admin.py | 84 ++--- applications/config.py | 21 +- applications/extensions/init_error_views.py | 23 +- applications/extensions/init_login.py | 3 +- applications/models/admin_user.py | 2 +- applications/schemas/__init__.py | 2 +- applications/schemas/admin_dept.py | 33 +- applications/schemas/admin_power.py | 12 + applications/schemas/admin_role.py | 22 +- applications/view/__init__.py | 15 +- applications/view/admin/__init__.py | 23 -- applications/view/admin/index.py | 19 - applications/view/index/__init__.py | 12 - applications/view/index/index.py | 8 - applications/view/rights/routes.py | 4 +- applications/view/system/__init__.py | 34 ++ .../__init__.py => system/dept.py} | 61 ++-- applications/view/{admin => system}/dict.py | 80 ++--- applications/view/{admin => system}/file.py | 30 +- applications/view/system/index.py | 14 + .../{admin/admin_log.py => system/log.py} | 18 +- applications/view/{admin => system}/mail.py | 30 +- .../view/{admin => system}/monitor.py | 19 +- .../__init__.py => system/passport.py} | 16 +- applications/view/{admin => system}/power.py | 67 ++-- applications/view/system/rights.py | 154 +++++++++ applications/view/{admin => system}/role.py | 76 ++-- applications/view/{admin => system}/user.py | 93 ++--- dockerdata/config.py | 4 +- docs/function.md | 10 +- docs/install.md | 2 +- migrate.bat | 1 + migrate.sh | 1 + .../templates/helloworld_index.html | 8 +- .../templates/replacePage_index.html | 8 +- requirements.txt | 1 - static/admin/component/layui/css/layui.css | 1 - .../admin/component/layui/font/iconfont.woff | Bin 33040 -> 0 bytes .../admin/component/layui/font/iconfont.woff2 | Bin 28500 -> 0 bytes static/admin/component/layui/layui.js | 1 - static/index/module/admin.js | 4 +- static/{admin => system}/admin/css/admin.css | 0 static/{admin => system}/admin/css/loader.css | 0 .../admin/css/other/console1.css | 0 .../admin/css/other/console2.css | 0 .../admin/css/other/department.css | 0 .../admin/css/other/error.css | 0 .../admin/css/other/icon.css | 0 .../admin/css/other/login.css | 0 .../admin/css/other/person.css | 0 .../admin/css/other/result.css | 0 .../admin/css/other/user.css | 0 static/{admin => system}/admin/data/card.json | 0 .../admin/data/dataMenu.json | 0 .../admin/data/dataTree2.json | 0 .../admin/data/dictData.json | 0 .../admin/data/dictType.json | 0 .../{admin => system}/admin/data/dtree.json | 0 .../admin/data/loginLog.json | 0 static/{admin => system}/admin/data/menu.json | 0 .../{admin => system}/admin/data/message.json | 0 .../admin/data/operateLog.json | 0 .../admin/data/organization.json | 0 .../admin/data/organizationtree.json | 0 .../{admin => system}/admin/data/power.json | 0 static/{admin => system}/admin/data/role.json | 0 .../{admin => system}/admin/data/table.json | 0 static/{admin => system}/admin/data/user.json | 0 static/{admin => system}/admin/images/403.svg | 0 static/{admin => system}/admin/images/404.svg | 0 static/{admin => system}/admin/images/500.svg | 0 static/{admin => system}/admin/images/act.jpg | Bin .../{admin => system}/admin/images/avatar.jpg | Bin .../admin/images/background.svg | 0 .../admin/images/captcha.gif | Bin .../admin/images/document.jpg | Bin .../{admin => system}/admin/images/logo.png | Bin .../{admin => system}/admin/images/show.png | Bin .../component/code/css/style.css | 0 .../component/code/index.html | 0 static/system/component/layui/css/layui.css | 1 + .../component/layui/font/iconfont.eot | Bin 51676 -> 54172 bytes .../component/layui/font/iconfont.svg | 28 +- .../component/layui/font/iconfont.ttf | Bin 51500 -> 53996 bytes .../system/component/layui/font/iconfont.woff | Bin 0 -> 34624 bytes .../component/layui/font/iconfont.woff2 | Bin 0 -> 29736 bytes static/system/component/layui/layui.js | 1 + .../component/pear/css/module/button.css | 0 .../component/pear/css/module/card.css | 0 .../component/pear/css/module/code.css | 0 .../component/pear/css/module/cropper.css | 0 .../component/pear/css/module/dtree/dtree.css | 0 .../component/pear/css/module/dtree/dtree.js | 0 .../pear/css/module/dtree/font/dtreefont.css | 0 .../pear/css/module/dtree/font/dtreefont.eot | Bin .../pear/css/module/dtree/font/dtreefont.svg | 0 .../pear/css/module/dtree/font/dtreefont.ttf | Bin .../pear/css/module/dtree/font/dtreefont.woff | Bin .../pear/css/module/dtree/font/icons.json | 0 .../component/pear/css/module/form.css | 0 .../component/pear/css/module/frame.css | 0 .../component/pear/css/module/fullscreen.css | 0 .../component/pear/css/module/iconPicker.css | 0 .../component/pear/css/module/label.css | 0 .../component/pear/css/module/layer.css | 0 .../component/pear/css/module/layout.css | 0 .../component/pear/css/module/link.css | 0 .../component/pear/css/module/loading.css | 0 .../component/pear/css/module/menu.css | 2 +- .../component/pear/css/module/message.css | 0 .../component/pear/css/module/notice.css | 0 .../component/pear/css/module/nprogress.css | 0 .../component/pear/css/module/popover.min.css | 0 .../component/pear/css/module/select.css | 0 .../component/pear/css/module/step.css | 0 .../component/pear/css/module/tab.css | 0 .../component/pear/css/module/table.css | 0 .../component/pear/css/module/tag.css | 0 .../component/pear/css/module/toast.css | 0 .../component/pear/css/module/topBar.css | 0 .../component/pear/css/module/treetable.css | 0 .../component/pear/css/pear.css | 0 .../component/pear/font/iconfont.css | 0 .../component/pear/font/iconfont.js | 0 .../component/pear/font/iconfont.json | 0 .../component/pear/font/iconfont.ttf | Bin .../component/pear/font/iconfont.woff | Bin .../component/pear/font/iconfont.woff2 | Bin .../component/pear/module/admin.js | 0 .../component/pear/module/area.js | 0 .../component/pear/module/button.js | 0 .../component/pear/module/card.js | 9 +- .../component/pear/module/common.js | 0 .../component/pear/module/context.js | 0 .../component/pear/module/convert.js | 0 .../component/pear/module/count.js | 0 .../component/pear/module/cropper.js | 0 .../component/pear/module/design.js | 0 .../component/pear/module/drawer.js | 0 .../component/pear/module/dtree.js | 0 .../component/pear/module/echarts.js | 0 .../component/pear/module/echartsTheme.js | 0 .../component/pear/module/encrypt.js | 0 .../component/pear/module/frame.js | 0 .../component/pear/module/fullscreen.js | 0 .../component/pear/module/http.js | 0 .../component/pear/module/iconPicker.js | 0 .../component/pear/module/loading.js | 0 .../component/pear/module/menu.js | 0 .../component/pear/module/message.js | 0 .../component/pear/module/notice.js | 0 .../component/pear/module/nprogress.js | 0 .../component/pear/module/popover/popover.js | 0 .../component/pear/module/popup.js | 0 .../component/pear/module/select.js | 0 .../component/pear/module/step.js | 0 .../component/pear/module/tab.js | 0 .../component/pear/module/tag.js | 0 .../component/pear/module/theme.js | 0 .../component/pear/module/tinymce/tinymce.js | 0 .../tinymce/tinymce/icons/default/icons.js | 0 .../tinymce/icons/default/icons.min.js | 0 .../module/tinymce/tinymce/langs/readme.md | 0 .../module/tinymce/tinymce/langs/zh_CN.js | 0 .../tinymce/tinymce/plugins/advlist/plugin.js | 0 .../tinymce/plugins/advlist/plugin.min.js | 0 .../tinymce/tinymce/plugins/anchor/plugin.js | 0 .../tinymce/plugins/anchor/plugin.min.js | 0 .../tinymce/plugins/autolink/plugin.js | 0 .../tinymce/plugins/autolink/plugin.min.js | 0 .../tinymce/plugins/autoresize/plugin.js | 0 .../tinymce/plugins/autoresize/plugin.min.js | 0 .../tinymce/plugins/autosave/plugin.js | 0 .../tinymce/plugins/autosave/plugin.min.js | 0 .../tinymce/tinymce/plugins/bbcode/plugin.js | 0 .../tinymce/plugins/bbcode/plugin.min.js | 0 .../tinymce/tinymce/plugins/charmap/plugin.js | 0 .../tinymce/plugins/charmap/plugin.min.js | 0 .../tinymce/tinymce/plugins/code/plugin.js | 0 .../tinymce/plugins/code/plugin.min.js | 0 .../tinymce/plugins/codesample/plugin.js | 0 .../tinymce/plugins/codesample/plugin.min.js | 0 .../tinymce/plugins/colorpicker/plugin.js | 0 .../tinymce/plugins/colorpicker/plugin.min.js | 0 .../tinymce/plugins/contextmenu/plugin.js | 0 .../tinymce/plugins/contextmenu/plugin.min.js | 0 .../tinymce/plugins/directionality/plugin.js | 0 .../plugins/directionality/plugin.min.js | 0 .../plugins/emoticons/js/emojiimages.js | 0 .../plugins/emoticons/js/emojiimages.min.js | 0 .../tinymce/plugins/emoticons/js/emojis.js | 0 .../plugins/emoticons/js/emojis.min.js | 0 .../tinymce/plugins/emoticons/plugin.js | 0 .../tinymce/plugins/emoticons/plugin.min.js | 0 .../tinymce/plugins/fullpage/plugin.js | 0 .../tinymce/plugins/fullpage/plugin.min.js | 0 .../tinymce/plugins/fullscreen/plugin.js | 0 .../tinymce/plugins/fullscreen/plugin.min.js | 0 .../tinymce/tinymce/plugins/help/plugin.js | 0 .../tinymce/plugins/help/plugin.min.js | 0 .../tinymce/tinymce/plugins/hr/plugin.js | 0 .../tinymce/tinymce/plugins/hr/plugin.min.js | 0 .../tinymce/tinymce/plugins/image/plugin.js | 0 .../tinymce/plugins/image/plugin.min.js | 0 .../tinymce/plugins/imagetools/plugin.js | 0 .../tinymce/plugins/imagetools/plugin.min.js | 0 .../tinymce/plugins/importcss/plugin.js | 0 .../tinymce/plugins/importcss/plugin.min.js | 0 .../tinymce/plugins/indent2em/plugin.js | 0 .../tinymce/plugins/indent2em/plugin.min.js | 0 .../tinymce/plugins/insertdatetime/plugin.js | 0 .../plugins/insertdatetime/plugin.min.js | 0 .../plugins/kityformula-editor/icon.svg | 0 .../kityformula-editor/kityFormula.html | 0 .../assets/images/scrollbar/custom/bar-bg.png | Bin .../assets/images/scrollbar/custom/bar.png | Bin .../assets/images/scrollbar/custom/bg.png | Bin .../assets/images/scrollbar/custom/bottom.png | Bin .../assets/images/scrollbar/custom/btn.png | Bin .../assets/images/scrollbar/custom/down.png | Bin .../assets/images/scrollbar/custom/top.png | Bin .../assets/images/scrollbar/custom/up.png | Bin .../assets/images/scrollbar/edit/bar-bg.png | Bin .../assets/images/scrollbar/edit/bar-left.png | Bin .../images/scrollbar/edit/bar-right.png | Bin .../assets/images/scrollbar/edit/thumb-bg.png | Bin .../images/scrollbar/edit/thumb-left.png | Bin .../images/scrollbar/edit/thumb-right.png | Bin .../images/toolbar/alphabetic/aleph.png | Bin .../assets/images/toolbar/alphabetic/bbbk.png | Bin .../assets/images/toolbar/alphabetic/beth.png | Bin .../images/toolbar/alphabetic/circleds.png | Bin .../images/toolbar/alphabetic/complement.png | Bin .../images/toolbar/alphabetic/daleth.png | Bin .../assets/images/toolbar/alphabetic/ell.png | Bin .../assets/images/toolbar/alphabetic/eth.png | Bin .../assets/images/toolbar/alphabetic/finv.png | Bin .../assets/images/toolbar/alphabetic/game.png | Bin .../images/toolbar/alphabetic/gimel.png | Bin .../assets/images/toolbar/alphabetic/hbar.png | Bin .../images/toolbar/alphabetic/hslash.png | Bin .../assets/images/toolbar/alphabetic/im.png | Bin .../assets/images/toolbar/alphabetic/mho.png | Bin .../images/toolbar/alphabetic/partial.png | Bin .../assets/images/toolbar/alphabetic/re.png | Bin .../assets/images/toolbar/alphabetic/wp.png | Bin .../images/toolbar/arrow/circlearrowleft.png | Bin .../images/toolbar/arrow/circlearrowright.png | Bin .../images/toolbar/arrow/curvearrowleft.png | Bin .../images/toolbar/arrow/curvearrowright.png | Bin .../assets/images/toolbar/arrow/downarrow.png | Bin .../images/toolbar/arrow/downdownarrows.png | Bin .../images/toolbar/arrow/downharpoonleft.png | Bin .../images/toolbar/arrow/downharpoonright.png | Bin .../assets/images/toolbar/arrow/gets.png | Bin .../images/toolbar/arrow/leftarrowtail.png | Bin .../images/toolbar/arrow/leftharpoondown.png | Bin .../images/toolbar/arrow/leftharpoonup.png | Bin .../images/toolbar/arrow/leftleftarrows.png | Bin .../images/toolbar/arrow/leftrightarrow.png | Bin .../images/toolbar/arrow/leftrightarrows.png | Bin .../toolbar/arrow/leftrightharpoons.png | Bin .../toolbar/arrow/leftrightsquigarrow.png | Bin .../images/toolbar/arrow/longleftarrow.png | Bin .../toolbar/arrow/longleftrightarrow.png | Bin .../images/toolbar/arrow/longrightarrow.png | Bin .../images/toolbar/arrow/looparrowleft.png | Bin .../images/toolbar/arrow/looparrowright.png | Bin .../assets/images/toolbar/arrow/multimap.png | Bin .../assets/images/toolbar/arrow/nearrow.png | Bin .../images/toolbar/arrow/nleftarrow.png | Bin .../images/toolbar/arrow/nrightarrow.png | Bin .../assets/images/toolbar/arrow/nwarrow.png | Bin .../images/toolbar/arrow/rightarrowtail.png | Bin .../images/toolbar/arrow/rightharpoondown.png | Bin .../images/toolbar/arrow/rightharpoonup.png | Bin .../images/toolbar/arrow/rightleftarrows.png | Bin .../toolbar/arrow/rightleftharpoons.png | Bin .../images/toolbar/arrow/rightrightarrows.png | Bin .../images/toolbar/arrow/rightsquigarrow.png | Bin .../assets/images/toolbar/arrow/searrow.png | Bin .../assets/images/toolbar/arrow/swarrow.png | Bin .../assets/images/toolbar/arrow/to.png | Bin .../images/toolbar/arrow/twoheadleftarrow.png | Bin .../toolbar/arrow/twoheadrightarrow.png | Bin .../images/toolbar/arrow/u-downarrow.png | Bin .../images/toolbar/arrow/u-leftarrow.png | Bin .../images/toolbar/arrow/u-leftrightarrow.png | Bin .../images/toolbar/arrow/u-lftarrow.png | Bin .../images/toolbar/arrow/u-lleftarrow.png | Bin .../images/toolbar/arrow/u-longleftarrow.png | Bin .../toolbar/arrow/u-longleftrightarrow.png | Bin .../images/toolbar/arrow/u-longrightarrow.png | Bin .../assets/images/toolbar/arrow/u-lsh.png | Bin .../images/toolbar/arrow/u-nleftarrow.png | Bin .../toolbar/arrow/u-nleftrightarrow.png | Bin .../images/toolbar/arrow/u-nrightarrow.png | Bin .../images/toolbar/arrow/u-rightarrow.png | Bin .../images/toolbar/arrow/u-rrightarrow.png | Bin .../assets/images/toolbar/arrow/u-rsh.png | Bin .../assets/images/toolbar/arrow/u-uparrow.png | Bin .../images/toolbar/arrow/u-updownarrow.png | Bin .../assets/images/toolbar/arrow/uparrow.png | Bin .../images/toolbar/arrow/updownarrow.png | Bin .../images/toolbar/arrow/upharpoonleft.png | Bin .../images/toolbar/arrow/upharpoonright.png | Bin .../images/toolbar/arrow/upuparrows.png | Bin .../assets/images/toolbar/brackets/1.png | Bin .../assets/images/toolbar/brackets/2.png | Bin .../assets/images/toolbar/brackets/3.png | Bin .../assets/images/toolbar/brackets/4.png | Bin .../kityformula/assets/images/toolbar/btn.png | Bin .../assets/images/toolbar/button/brackets.png | Bin .../assets/images/toolbar/button/down.png | Bin .../assets/images/toolbar/button/frac.png | Bin .../assets/images/toolbar/button/fx.png | Bin .../assets/images/toolbar/button/int.png | Bin .../assets/images/toolbar/button/lim.png | Bin .../assets/images/toolbar/button/open.png | Bin .../assets/images/toolbar/button/script.png | Bin .../assets/images/toolbar/button/sin.png | Bin .../assets/images/toolbar/button/sqrt.png | Bin .../assets/images/toolbar/button/sum.png | Bin .../assets/images/toolbar/button/tick.png | Bin .../assets/images/toolbar/button/up.png | Bin .../assets/images/toolbar/char.png | Bin .../assets/images/toolbar/char/bb/a.png | Bin .../assets/images/toolbar/char/bb/b.png | Bin .../assets/images/toolbar/char/bb/c.png | Bin .../assets/images/toolbar/char/bb/d.png | Bin .../assets/images/toolbar/char/bb/e.png | Bin .../assets/images/toolbar/char/bb/f.png | Bin .../assets/images/toolbar/char/bb/g.png | Bin .../assets/images/toolbar/char/bb/h.png | Bin .../assets/images/toolbar/char/bb/i.png | Bin .../assets/images/toolbar/char/bb/j.png | Bin .../assets/images/toolbar/char/bb/k.png | Bin .../assets/images/toolbar/char/bb/l.png | Bin .../assets/images/toolbar/char/bb/m.png | Bin .../assets/images/toolbar/char/bb/n.png | Bin .../assets/images/toolbar/char/bb/o.png | Bin .../assets/images/toolbar/char/bb/p.png | Bin .../assets/images/toolbar/char/bb/q.png | Bin .../assets/images/toolbar/char/bb/r.png | Bin .../assets/images/toolbar/char/bb/s.png | Bin .../assets/images/toolbar/char/bb/t.png | Bin .../assets/images/toolbar/char/bb/u.png | Bin .../assets/images/toolbar/char/bb/v.png | Bin .../assets/images/toolbar/char/bb/w.png | Bin .../assets/images/toolbar/char/bb/x.png | Bin .../assets/images/toolbar/char/bb/y.png | Bin .../assets/images/toolbar/char/bb/z.png | Bin .../assets/images/toolbar/char/cal/a.png | Bin .../assets/images/toolbar/char/cal/b.png | Bin .../assets/images/toolbar/char/cal/c.png | Bin .../assets/images/toolbar/char/cal/d.png | Bin .../assets/images/toolbar/char/cal/e.png | Bin .../assets/images/toolbar/char/cal/f.png | Bin .../assets/images/toolbar/char/cal/g.png | Bin .../assets/images/toolbar/char/cal/h.png | Bin .../assets/images/toolbar/char/cal/i.png | Bin .../assets/images/toolbar/char/cal/j.png | Bin .../assets/images/toolbar/char/cal/k.png | Bin .../assets/images/toolbar/char/cal/l.png | Bin .../assets/images/toolbar/char/cal/m.png | Bin .../assets/images/toolbar/char/cal/n.png | Bin .../assets/images/toolbar/char/cal/o.png | Bin .../assets/images/toolbar/char/cal/p.png | Bin .../assets/images/toolbar/char/cal/q.png | Bin .../assets/images/toolbar/char/cal/r.png | Bin .../assets/images/toolbar/char/cal/s.png | Bin .../assets/images/toolbar/char/cal/t.png | Bin .../assets/images/toolbar/char/cal/u.png | Bin .../assets/images/toolbar/char/cal/v.png | Bin .../assets/images/toolbar/char/cal/w.png | Bin .../assets/images/toolbar/char/cal/x.png | Bin .../assets/images/toolbar/char/cal/y.png | Bin .../assets/images/toolbar/char/cal/z.png | Bin .../assets/images/toolbar/char/frak/a.png | Bin .../assets/images/toolbar/char/frak/b.png | Bin .../assets/images/toolbar/char/frak/c.png | Bin .../assets/images/toolbar/char/frak/d.png | Bin .../assets/images/toolbar/char/frak/e.png | Bin .../assets/images/toolbar/char/frak/f.png | Bin .../assets/images/toolbar/char/frak/g.png | Bin .../assets/images/toolbar/char/frak/h.png | Bin .../assets/images/toolbar/char/frak/i.png | Bin .../assets/images/toolbar/char/frak/j.png | Bin .../assets/images/toolbar/char/frak/k.png | Bin .../assets/images/toolbar/char/frak/l.png | Bin .../assets/images/toolbar/char/frak/m.png | Bin .../assets/images/toolbar/char/frak/n.png | Bin .../assets/images/toolbar/char/frak/o.png | Bin .../assets/images/toolbar/char/frak/p.png | Bin .../assets/images/toolbar/char/frak/q.png | Bin .../assets/images/toolbar/char/frak/r.png | Bin .../assets/images/toolbar/char/frak/s.png | Bin .../assets/images/toolbar/char/frak/t.png | Bin .../assets/images/toolbar/char/frak/u.png | Bin .../assets/images/toolbar/char/frak/ua.png | Bin .../assets/images/toolbar/char/frak/ub.png | Bin .../assets/images/toolbar/char/frak/uc.png | Bin .../assets/images/toolbar/char/frak/ud.png | Bin .../assets/images/toolbar/char/frak/ue.png | Bin .../assets/images/toolbar/char/frak/uf.png | Bin .../assets/images/toolbar/char/frak/ug.png | Bin .../assets/images/toolbar/char/frak/uh.png | Bin .../assets/images/toolbar/char/frak/ui.png | Bin .../assets/images/toolbar/char/frak/uj.png | Bin .../assets/images/toolbar/char/frak/uk.png | Bin .../assets/images/toolbar/char/frak/ul.png | Bin .../assets/images/toolbar/char/frak/um.png | Bin .../assets/images/toolbar/char/frak/un.png | Bin .../assets/images/toolbar/char/frak/uo.png | Bin .../assets/images/toolbar/char/frak/up.png | Bin .../assets/images/toolbar/char/frak/uq.png | Bin .../assets/images/toolbar/char/frak/ur.png | Bin .../assets/images/toolbar/char/frak/us.png | Bin .../assets/images/toolbar/char/frak/ut.png | Bin .../assets/images/toolbar/char/frak/uu.png | Bin .../assets/images/toolbar/char/frak/uv.png | Bin .../assets/images/toolbar/char/frak/uw.png | Bin .../assets/images/toolbar/char/frak/ux.png | Bin .../assets/images/toolbar/char/frak/uy.png | Bin .../assets/images/toolbar/char/frak/uz.png | Bin .../assets/images/toolbar/char/frak/v.png | Bin .../assets/images/toolbar/char/frak/w.png | Bin .../assets/images/toolbar/char/frak/x.png | Bin .../assets/images/toolbar/char/frak/y.png | Bin .../assets/images/toolbar/char/frak/z.png | Bin .../images/toolbar/char/greek/lower/alpha.png | Bin .../images/toolbar/char/greek/lower/beta.png | Bin .../images/toolbar/char/greek/lower/chi.png | Bin .../images/toolbar/char/greek/lower/delta.png | Bin .../toolbar/char/greek/lower/epsilon.png | Bin .../images/toolbar/char/greek/lower/eta.png | Bin .../images/toolbar/char/greek/lower/gamma.png | Bin .../images/toolbar/char/greek/lower/iota.png | Bin .../images/toolbar/char/greek/lower/kappa.png | Bin .../toolbar/char/greek/lower/lambda.png | Bin .../images/toolbar/char/greek/lower/mu.png | Bin .../images/toolbar/char/greek/lower/nu.png | Bin .../images/toolbar/char/greek/lower/omega.png | Bin .../toolbar/char/greek/lower/omicron.png | Bin .../images/toolbar/char/greek/lower/phi.png | Bin .../images/toolbar/char/greek/lower/pi.png | Bin .../images/toolbar/char/greek/lower/psi.png | Bin .../images/toolbar/char/greek/lower/rho.png | Bin .../images/toolbar/char/greek/lower/sigma.png | Bin .../images/toolbar/char/greek/lower/tau.png | Bin .../images/toolbar/char/greek/lower/theta.png | Bin .../toolbar/char/greek/lower/upsilon.png | Bin .../images/toolbar/char/greek/lower/xi.png | Bin .../images/toolbar/char/greek/lower/zeta.png | Bin .../toolbar/char/greek/misc/digamma.png | Bin .../toolbar/char/greek/misc/varepsilon.png | Bin .../toolbar/char/greek/misc/varkappa.png | Bin .../images/toolbar/char/greek/misc/varphi.png | Bin .../images/toolbar/char/greek/misc/varpi.png | Bin .../images/toolbar/char/greek/misc/varrho.png | Bin .../toolbar/char/greek/misc/varsigma.png | Bin .../toolbar/char/greek/misc/vartheta.png | Bin .../images/toolbar/char/greek/upper/alpha.png | Bin .../images/toolbar/char/greek/upper/beta.png | Bin .../images/toolbar/char/greek/upper/chi.png | Bin .../images/toolbar/char/greek/upper/delta.png | Bin .../toolbar/char/greek/upper/epsilon.png | Bin .../images/toolbar/char/greek/upper/eta.png | Bin .../images/toolbar/char/greek/upper/gamma.png | Bin .../images/toolbar/char/greek/upper/iota.png | Bin .../images/toolbar/char/greek/upper/kappa.png | Bin .../toolbar/char/greek/upper/lambda.png | Bin .../images/toolbar/char/greek/upper/mu.png | Bin .../images/toolbar/char/greek/upper/nu.png | Bin .../images/toolbar/char/greek/upper/omega.png | Bin .../toolbar/char/greek/upper/omicron.png | Bin .../images/toolbar/char/greek/upper/phi.png | Bin .../images/toolbar/char/greek/upper/pi.png | Bin .../images/toolbar/char/greek/upper/psi.png | Bin .../images/toolbar/char/greek/upper/rho.png | Bin .../images/toolbar/char/greek/upper/sigma.png | Bin .../images/toolbar/char/greek/upper/tau.png | Bin .../images/toolbar/char/greek/upper/theta.png | Bin .../toolbar/char/greek/upper/upsilon.png | Bin .../images/toolbar/char/greek/upper/xi.png | Bin .../images/toolbar/char/greek/upper/zeta.png | Bin .../assets/images/toolbar/char/math/aleph.png | Bin .../images/toolbar/char/math/approx.png | Bin .../assets/images/toolbar/char/math/ast.png | Bin .../images/toolbar/char/math/baifenhao.png | Bin .../images/toolbar/char/math/because.png | Bin .../assets/images/toolbar/char/math/beth.png | Bin .../images/toolbar/char/math/blacksquare.png | Bin .../assets/images/toolbar/char/math/cap.png | Bin .../assets/images/toolbar/char/math/cdot.png | Bin .../assets/images/toolbar/char/math/circ.png | Bin .../assets/images/toolbar/char/math/cong.png | Bin .../assets/images/toolbar/char/math/cup.png | Bin .../assets/images/toolbar/char/math/ddots.png | Bin .../assets/images/toolbar/char/math/div.png | Bin .../images/toolbar/char/math/downarrow.png | Bin .../assets/images/toolbar/char/math/eq.png | Bin .../assets/images/toolbar/char/math/equiv.png | Bin .../images/toolbar/char/math/exists.png | Bin .../images/toolbar/char/math/forall.png | Bin .../assets/images/toolbar/char/math/geq.png | Bin .../assets/images/toolbar/char/math/gets.png | Bin .../assets/images/toolbar/char/math/gg.png | Bin .../assets/images/toolbar/char/math/gt.png | Bin .../assets/images/toolbar/char/math/in.png | Bin .../assets/images/toolbar/char/math/infty.png | Bin .../toolbar/char/math/leftrightarrow.png | Bin .../assets/images/toolbar/char/math/leq.png | Bin .../assets/images/toolbar/char/math/ll.png | Bin .../assets/images/toolbar/char/math/lt.png | Bin .../assets/images/toolbar/char/math/minus.png | Bin .../assets/images/toolbar/char/math/mp.png | Bin .../assets/images/toolbar/char/math/neg.png | Bin .../images/toolbar/char/math/nexists.png | Bin .../assets/images/toolbar/char/math/ni.png | Bin .../images/toolbar/char/math/partial.png | Bin .../assets/images/toolbar/char/math/plus.png | Bin .../assets/images/toolbar/char/math/pm.png | Bin .../images/toolbar/char/math/propto.png | Bin .../assets/images/toolbar/char/math/sim.png | Bin .../assets/images/toolbar/char/math/simeq.png | Bin .../assets/images/toolbar/char/math/surd.png | Bin .../images/toolbar/char/math/tanhao.png | Bin .../images/toolbar/char/math/therefore.png | Bin .../assets/images/toolbar/char/math/times.png | Bin .../assets/images/toolbar/char/math/to.png | Bin .../images/toolbar/char/math/uparrow.png | Bin .../images/toolbar/char/math/varnothing.png | Bin .../assets/images/toolbar/char/math/vdots.png | Bin .../assets/images/toolbar/char/not/gneqq.png | Bin .../assets/images/toolbar/char/not/gnsim.png | Bin .../assets/images/toolbar/char/not/lneqq.png | Bin .../assets/images/toolbar/char/not/lnsim.png | Bin .../images/toolbar/char/not/nbdash-1.png | Bin .../assets/images/toolbar/char/not/ncong.png | Bin .../assets/images/toolbar/char/not/neq.png | Bin .../assets/images/toolbar/char/not/nequiv.png | Bin .../images/toolbar/char/not/nexists.png | Bin .../assets/images/toolbar/char/not/ngeq.png | Bin .../assets/images/toolbar/char/not/ngtr.png | Bin .../assets/images/toolbar/char/not/nleq.png | Bin .../assets/images/toolbar/char/not/nless.png | Bin .../assets/images/toolbar/char/not/nmid.png | Bin .../assets/images/toolbar/char/not/notin.png | Bin .../images/toolbar/char/not/nparallel.png | Bin .../assets/images/toolbar/char/not/nprec.png | Bin .../assets/images/toolbar/char/not/nsim.png | Bin .../images/toolbar/char/not/nsubseteq.png | Bin .../assets/images/toolbar/char/not/nsucc.png | Bin .../images/toolbar/char/not/nsupseteq.png | Bin .../images/toolbar/char/not/ntriangleleft.png | Bin .../toolbar/char/not/ntrianglelefteq.png | Bin .../toolbar/char/not/ntriangleright.png | Bin .../toolbar/char/not/ntrianglerighteq.png | Bin .../images/toolbar/char/not/nvdash-1.png | Bin .../images/toolbar/char/not/nvdash-2.png | Bin .../images/toolbar/char/not/nvdash-3.png | Bin .../assets/images/toolbar/char/not/nvdash.png | Bin .../images/toolbar/char/not/precnsim.png | Bin .../images/toolbar/char/not/subsetneq.png | Bin .../images/toolbar/char/not/succnsim.png | Bin .../images/toolbar/char/not/supsetneq.png | Bin .../assets/images/toolbar/char/rm/a.png | Bin .../assets/images/toolbar/char/rm/b.png | Bin .../assets/images/toolbar/char/rm/c.png | Bin .../assets/images/toolbar/char/rm/d.png | Bin .../assets/images/toolbar/char/rm/e.png | Bin .../assets/images/toolbar/char/rm/f.png | Bin .../assets/images/toolbar/char/rm/g.png | Bin .../assets/images/toolbar/char/rm/h.png | Bin .../assets/images/toolbar/char/rm/i.png | Bin .../assets/images/toolbar/char/rm/j.png | Bin .../assets/images/toolbar/char/rm/k.png | Bin .../assets/images/toolbar/char/rm/l.png | Bin .../assets/images/toolbar/char/rm/m.png | Bin .../assets/images/toolbar/char/rm/n.png | Bin .../assets/images/toolbar/char/rm/o.png | Bin .../assets/images/toolbar/char/rm/p.png | Bin .../assets/images/toolbar/char/rm/q.png | Bin .../assets/images/toolbar/char/rm/r.png | Bin .../assets/images/toolbar/char/rm/s.png | Bin .../assets/images/toolbar/char/rm/t.png | Bin .../assets/images/toolbar/char/rm/u.png | Bin .../assets/images/toolbar/char/rm/ua.png | Bin .../assets/images/toolbar/char/rm/ub.png | Bin .../assets/images/toolbar/char/rm/uc.png | Bin .../assets/images/toolbar/char/rm/ud.png | Bin .../assets/images/toolbar/char/rm/ue.png | Bin .../assets/images/toolbar/char/rm/uf.png | Bin .../assets/images/toolbar/char/rm/ug.png | Bin .../assets/images/toolbar/char/rm/uh.png | Bin .../assets/images/toolbar/char/rm/ui.png | Bin .../assets/images/toolbar/char/rm/uj.png | Bin .../assets/images/toolbar/char/rm/uk.png | Bin .../assets/images/toolbar/char/rm/ul.png | Bin .../assets/images/toolbar/char/rm/um.png | Bin .../assets/images/toolbar/char/rm/un.png | Bin .../assets/images/toolbar/char/rm/uo.png | Bin .../assets/images/toolbar/char/rm/up.png | Bin .../assets/images/toolbar/char/rm/uq.png | Bin .../assets/images/toolbar/char/rm/ur.png | Bin .../assets/images/toolbar/char/rm/us.png | Bin .../assets/images/toolbar/char/rm/ut.png | Bin .../assets/images/toolbar/char/rm/uu.png | Bin .../assets/images/toolbar/char/rm/uv.png | Bin .../assets/images/toolbar/char/rm/uw.png | Bin .../assets/images/toolbar/char/rm/ux.png | Bin .../assets/images/toolbar/char/rm/uy.png | Bin .../assets/images/toolbar/char/rm/uz.png | Bin .../assets/images/toolbar/char/rm/v.png | Bin .../assets/images/toolbar/char/rm/w.png | Bin .../assets/images/toolbar/char/rm/x.png | Bin .../assets/images/toolbar/char/rm/y.png | Bin .../assets/images/toolbar/char/rm/z.png | Bin .../assets/images/toolbar/frac/1.png | Bin .../assets/images/toolbar/frac/2.png | Bin .../assets/images/toolbar/frac/3.png | Bin .../assets/images/toolbar/frac/c1.png | Bin .../assets/images/toolbar/frac/c2.png | Bin .../assets/images/toolbar/frac/c4.png | Bin .../assets/images/toolbar/frac/c5.png | Bin .../assets/images/toolbar/func/1.png | Bin .../assets/images/toolbar/func/2.png | Bin .../assets/images/toolbar/func/3.png | Bin .../assets/images/toolbar/func/4.png | Bin .../assets/images/toolbar/func/5.png | Bin .../assets/images/toolbar/func/6.png | Bin .../assets/images/toolbar/func/c1.png | Bin .../assets/images/toolbar/func/c2.png | Bin .../assets/images/toolbar/func/c3.png | Bin .../assets/images/toolbar/int/1.png | Bin .../assets/images/toolbar/int/2.png | Bin .../assets/images/toolbar/int/3.png | Bin .../assets/images/toolbar/int/4.png | Bin .../assets/images/toolbar/int/5.png | Bin .../assets/images/toolbar/int/6.png | Bin .../assets/images/toolbar/large/1.png | Bin .../assets/images/toolbar/large/2.png | Bin .../assets/images/toolbar/large/3.png | Bin .../assets/images/toolbar/other.png | Bin .../assets/images/toolbar/script/1.png | Bin .../assets/images/toolbar/script/2.png | Bin .../assets/images/toolbar/script/3.png | Bin .../assets/images/toolbar/script/4.png | Bin .../assets/images/toolbar/script/c1.png | Bin .../assets/images/toolbar/script/c2.png | Bin .../assets/images/toolbar/script/c3.png | Bin .../assets/images/toolbar/sqrt/1.png | Bin .../assets/images/toolbar/sqrt/2.png | Bin .../assets/images/toolbar/sqrt/3.png | Bin .../assets/images/toolbar/sqrt/4.png | Bin .../assets/images/toolbar/sqrt/c1.png | Bin .../assets/images/toolbar/sqrt/c2.png | Bin .../assets/images/toolbar/ys/1.png | Bin .../assets/images/toolbar/ys/2.png | Bin .../assets/images/toolbar/ys/3.png | Bin .../kityformula/assets/styles/base.css | 0 .../kityformula/assets/styles/page.css | 0 .../kityformula/assets/styles/scrollbar.css | 0 .../kityformula/assets/styles/ui.css | 0 .../kityformula/assets/theme/default/fui.css | 0 .../assets/theme/default/fui.min.css | 0 .../assets/theme/default/images/close.png | Bin .../assets/theme/default/images/down.png | Bin .../assets/theme/default/images/open.png | Bin .../assets/theme/default/images/up.png | Bin .../kityformula/js/jquery-3.6.0.min.js | 0 .../js/kity-formula-parser.all.min.js | 0 .../kityformula/js/kity-formula-render.all.js | 0 .../js/kityformula-editor.all.min.js | 0 .../kityformula/js/kitygraph.all.js | 0 .../kityformula/loading.gif | Bin .../kityformula/resource/KF_AMS_BB.woff | Bin .../kityformula/resource/KF_AMS_CAL.woff | Bin .../kityformula/resource/KF_AMS_FRAK.woff | Bin .../kityformula/resource/KF_AMS_MAIN.woff | Bin .../kityformula/resource/KF_AMS_ROMAN.woff | Bin .../plugins/kityformula-editor/plugin.js | 0 .../plugins/kityformula-editor/plugin.min.js | 0 .../tinymce/plugins/legacyoutput/plugin.js | 0 .../plugins/legacyoutput/plugin.min.js | 0 .../tinymce/tinymce/plugins/link/plugin.js | 0 .../tinymce/plugins/link/plugin.min.js | 0 .../tinymce/tinymce/plugins/lists/plugin.js | 0 .../tinymce/plugins/lists/plugin.min.js | 0 .../tinymce/tinymce/plugins/media/plugin.js | 0 .../tinymce/plugins/media/plugin.min.js | 0 .../tinymce/plugins/nonbreaking/plugin.js | 0 .../tinymce/plugins/nonbreaking/plugin.min.js | 0 .../tinymce/plugins/noneditable/plugin.js | 0 .../tinymce/plugins/noneditable/plugin.min.js | 0 .../tinymce/plugins/pagebreak/plugin.js | 0 .../tinymce/plugins/pagebreak/plugin.min.js | 0 .../tinymce/tinymce/plugins/paste/plugin.js | 0 .../tinymce/plugins/paste/plugin.min.js | 0 .../tinymce/tinymce/plugins/preview/plugin.js | 0 .../tinymce/plugins/preview/plugin.min.js | 0 .../tinymce/tinymce/plugins/print/plugin.js | 0 .../tinymce/plugins/print/plugin.min.js | 0 .../tinymce/plugins/quickbars/plugin.js | 0 .../tinymce/plugins/quickbars/plugin.min.js | 0 .../tinymce/tinymce/plugins/save/plugin.js | 0 .../tinymce/plugins/save/plugin.min.js | 0 .../tinymce/plugins/searchreplace/plugin.js | 0 .../plugins/searchreplace/plugin.min.js | 0 .../tinymce/plugins/spellchecker/plugin.js | 0 .../plugins/spellchecker/plugin.min.js | 0 .../tinymce/plugins/tabfocus/plugin.js | 0 .../tinymce/plugins/tabfocus/plugin.min.js | 0 .../tinymce/tinymce/plugins/table/plugin.js | 0 .../tinymce/plugins/table/plugin.min.js | 0 .../tinymce/plugins/template/plugin.js | 0 .../tinymce/plugins/template/plugin.min.js | 0 .../tinymce/plugins/textcolor/plugin.js | 0 .../tinymce/plugins/textcolor/plugin.min.js | 0 .../tinymce/plugins/textpattern/plugin.js | 0 .../tinymce/plugins/textpattern/plugin.min.js | 0 .../tinymce/tinymce/plugins/toc/plugin.js | 0 .../tinymce/tinymce/plugins/toc/plugin.min.js | 0 .../tinymce/plugins/visualblocks/plugin.js | 0 .../plugins/visualblocks/plugin.min.js | 0 .../tinymce/plugins/visualchars/plugin.js | 0 .../tinymce/plugins/visualchars/plugin.min.js | 0 .../tinymce/plugins/wordcount/plugin.js | 0 .../tinymce/plugins/wordcount/plugin.min.js | 0 .../tinymce/skins/content/dark/content.css | 0 .../skins/content/dark/content.min.css | 0 .../skins/content/dark/content.min.css.map | 0 .../tinymce/skins/content/default/content.css | 0 .../skins/content/default/content.min.css | 0 .../skins/content/default/content.min.css.map | 0 .../skins/content/document/content.css | 0 .../skins/content/document/content.min.css | 0 .../content/document/content.min.css.map | 0 .../tinymce/skins/content/writer/content.css | 0 .../skins/content/writer/content.min.css | 0 .../skins/content/writer/content.min.css.map | 0 .../tinymce/skins/ui/oxide-dark/content.css | 0 .../skins/ui/oxide-dark/content.inline.css | 0 .../ui/oxide-dark/content.inline.min.css | 0 .../ui/oxide-dark/content.inline.min.css.map | 0 .../skins/ui/oxide-dark/content.min.css | 0 .../skins/ui/oxide-dark/content.min.css.map | 0 .../skins/ui/oxide-dark/content.mobile.css | 0 .../ui/oxide-dark/content.mobile.min.css | 0 .../ui/oxide-dark/content.mobile.min.css.map | 0 .../ui/oxide-dark/fonts/tinymce-mobile.woff | Bin .../tinymce/skins/ui/oxide-dark/skin.css | 0 .../tinymce/skins/ui/oxide-dark/skin.min.css | 0 .../skins/ui/oxide-dark/skin.min.css.map | 0 .../skins/ui/oxide-dark/skin.mobile.css | 0 .../skins/ui/oxide-dark/skin.mobile.min.css | 0 .../ui/oxide-dark/skin.mobile.min.css.map | 0 .../skins/ui/oxide-dark/skin.shadowdom.css | 0 .../ui/oxide-dark/skin.shadowdom.min.css | 0 .../ui/oxide-dark/skin.shadowdom.min.css.map | 0 .../tinymce/skins/ui/oxide/content.css | 0 .../tinymce/skins/ui/oxide/content.inline.css | 0 .../skins/ui/oxide/content.inline.min.css | 0 .../skins/ui/oxide/content.inline.min.css.map | 0 .../tinymce/skins/ui/oxide/content.min.css | 0 .../skins/ui/oxide/content.min.css.map | 0 .../tinymce/skins/ui/oxide/content.mobile.css | 0 .../skins/ui/oxide/content.mobile.min.css | 0 .../skins/ui/oxide/content.mobile.min.css.map | 0 .../skins/ui/oxide/fonts/tinymce-mobile.woff | Bin .../tinymce/tinymce/skins/ui/oxide/skin.css | 0 .../tinymce/skins/ui/oxide/skin.min.css | 0 .../tinymce/skins/ui/oxide/skin.min.css.map | 0 .../tinymce/skins/ui/oxide/skin.mobile.css | 0 .../skins/ui/oxide/skin.mobile.min.css | 0 .../skins/ui/oxide/skin.mobile.min.css.map | 0 .../tinymce/skins/ui/oxide/skin.shadowdom.css | 0 .../skins/ui/oxide/skin.shadowdom.min.css | 0 .../skins/ui/oxide/skin.shadowdom.min.css.map | 0 .../tinymce/tinymce/themes/mobile/theme.js | 0 .../tinymce/themes/mobile/theme.min.js | 0 .../tinymce/tinymce/themes/silver/theme.js | 0 .../tinymce/themes/silver/theme.min.js | 0 .../pear/module/tinymce/tinymce/tinymce.js | 0 .../module/tinymce/tinymce/tinymce.min.js | 0 .../component/pear/module/toast.js | 0 .../component/pear/module/topBar.js | 0 .../component/pear/module/treetable.js | 0 .../pear/module/watermark/watermark.js | 0 .../component/pear/module/yaml.js | 0 .../{admin => system}/component/pear/pear.js | 2 +- templates/admin/common/footer.html | 2 - templates/admin/dept/main.html | 229 ------------ templates/admin/role/main.html | 263 -------------- templates/admin/role/power.html | 79 ----- templates/admin/user/main.html | 327 ------------------ templates/errors/403.html | 6 +- templates/errors/404.html | 6 +- templates/errors/500.html | 6 +- templates/index/index.html | 158 --------- .../{admin => system}/admin_log/main.html | 8 +- templates/system/common/footer.html | 2 + .../{admin => system}/common/header.html | 2 +- .../{admin => system}/console/console.html | 18 +- templates/{admin => system}/dept/add.html | 10 +- templates/{admin => system}/dept/edit.html | 6 +- templates/system/dept/main.html | 229 ++++++++++++ templates/{admin => system}/dict/add.html | 6 +- .../{admin => system}/dict/data/add.html | 6 +- .../{admin => system}/dict/data/edit.html | 6 +- templates/{admin => system}/dict/edit.html | 6 +- templates/{admin => system}/dict/main.html | 24 +- templates/{admin => system}/index.html | 21 +- templates/{admin => system}/login.html | 24 +- templates/{admin => system}/mail/add.html | 4 +- templates/{admin => system}/mail/main.html | 16 +- templates/{admin => system}/monitor.html | 8 +- templates/{admin => system}/photo/photo.html | 12 +- .../{admin => system}/photo/photo_add.html | 6 +- templates/{admin => system}/power/add.html | 8 +- templates/{admin => system}/power/edit.html | 8 +- templates/{admin => system}/power/main.html | 39 +-- templates/{admin => system}/role/add.html | 6 +- templates/{admin => system}/role/edit.html | 10 +- templates/system/role/main.html | 255 ++++++++++++++ templates/system/role/power.html | 79 +++++ templates/{admin => system}/task/add.html | 4 +- templates/{admin => system}/task/main.html | 14 +- templates/{admin => system}/user/add.html | 6 +- templates/{admin => system}/user/center.html | 18 +- templates/{admin => system}/user/edit.html | 8 +- .../{admin => system}/user/edit_password.html | 6 +- templates/system/user/main.html | 274 +++++++++++++++ templates/{admin => system}/user/profile.html | 4 +- 838 files changed, 1588 insertions(+), 1725 deletions(-) delete mode 100644 applications/view/admin/__init__.py delete mode 100644 applications/view/admin/index.py delete mode 100644 applications/view/index/__init__.py delete mode 100644 applications/view/index/index.py create mode 100644 applications/view/system/__init__.py rename applications/view/{department/__init__.py => system/dept.py} (72%) rename applications/view/{admin => system}/dict.py (77%) rename applications/view/{admin => system}/file.py (74%) create mode 100644 applications/view/system/index.py rename applications/view/{admin/admin_log.py => system/log.py} (75%) rename applications/view/{admin => system}/mail.py (82%) rename applications/view/{admin => system}/monitor.py (90%) rename applications/view/{passport/__init__.py => system/passport.py} (86%) rename applications/view/{admin => system}/power.py (70%) create mode 100644 applications/view/system/rights.py rename applications/view/{admin => system}/role.py (71%) rename applications/view/{admin => system}/user.py (73%) create mode 100644 migrate.bat create mode 100644 migrate.sh delete mode 100644 static/admin/component/layui/css/layui.css delete mode 100644 static/admin/component/layui/font/iconfont.woff delete mode 100644 static/admin/component/layui/font/iconfont.woff2 delete mode 100644 static/admin/component/layui/layui.js rename static/{admin => system}/admin/css/admin.css (100%) rename static/{admin => system}/admin/css/loader.css (100%) rename static/{admin => system}/admin/css/other/console1.css (100%) rename static/{admin => system}/admin/css/other/console2.css (100%) rename static/{admin => system}/admin/css/other/department.css (100%) rename static/{admin => system}/admin/css/other/error.css (100%) rename static/{admin => system}/admin/css/other/icon.css (100%) rename static/{admin => system}/admin/css/other/login.css (100%) rename static/{admin => system}/admin/css/other/person.css (100%) rename static/{admin => system}/admin/css/other/result.css (100%) rename static/{admin => system}/admin/css/other/user.css (100%) rename static/{admin => system}/admin/data/card.json (100%) rename static/{admin => system}/admin/data/dataMenu.json (100%) rename static/{admin => system}/admin/data/dataTree2.json (100%) rename static/{admin => system}/admin/data/dictData.json (100%) rename static/{admin => system}/admin/data/dictType.json (100%) rename static/{admin => system}/admin/data/dtree.json (100%) rename static/{admin => system}/admin/data/loginLog.json (100%) rename static/{admin => system}/admin/data/menu.json (100%) rename static/{admin => system}/admin/data/message.json (100%) rename static/{admin => system}/admin/data/operateLog.json (100%) rename static/{admin => system}/admin/data/organization.json (100%) rename static/{admin => system}/admin/data/organizationtree.json (100%) rename static/{admin => system}/admin/data/power.json (100%) rename static/{admin => system}/admin/data/role.json (100%) rename static/{admin => system}/admin/data/table.json (100%) rename static/{admin => system}/admin/data/user.json (100%) rename static/{admin => system}/admin/images/403.svg (100%) rename static/{admin => system}/admin/images/404.svg (100%) rename static/{admin => system}/admin/images/500.svg (100%) rename static/{admin => system}/admin/images/act.jpg (100%) rename static/{admin => system}/admin/images/avatar.jpg (100%) rename static/{admin => system}/admin/images/background.svg (100%) rename static/{admin => system}/admin/images/captcha.gif (100%) rename static/{admin => system}/admin/images/document.jpg (100%) rename static/{admin => system}/admin/images/logo.png (100%) rename static/{admin => system}/admin/images/show.png (100%) rename static/{admin => system}/component/code/css/style.css (100%) rename static/{admin => system}/component/code/index.html (100%) create mode 100644 static/system/component/layui/css/layui.css rename static/{admin => system}/component/layui/font/iconfont.eot (81%) rename static/{admin => system}/component/layui/font/iconfont.svg (95%) rename static/{admin => system}/component/layui/font/iconfont.ttf (81%) create mode 100644 static/system/component/layui/font/iconfont.woff create mode 100644 static/system/component/layui/font/iconfont.woff2 create mode 100644 static/system/component/layui/layui.js rename static/{admin => system}/component/pear/css/module/button.css (100%) rename static/{admin => system}/component/pear/css/module/card.css (100%) rename static/{admin => system}/component/pear/css/module/code.css (100%) rename static/{admin => system}/component/pear/css/module/cropper.css (100%) rename static/{admin => system}/component/pear/css/module/dtree/dtree.css (100%) rename static/{admin => system}/component/pear/css/module/dtree/dtree.js (100%) rename static/{admin => system}/component/pear/css/module/dtree/font/dtreefont.css (100%) rename static/{admin => system}/component/pear/css/module/dtree/font/dtreefont.eot (100%) rename static/{admin => system}/component/pear/css/module/dtree/font/dtreefont.svg (100%) rename static/{admin => system}/component/pear/css/module/dtree/font/dtreefont.ttf (100%) rename static/{admin => system}/component/pear/css/module/dtree/font/dtreefont.woff (100%) rename static/{admin => system}/component/pear/css/module/dtree/font/icons.json (100%) rename static/{admin => system}/component/pear/css/module/form.css (100%) rename static/{admin => system}/component/pear/css/module/frame.css (100%) rename static/{admin => system}/component/pear/css/module/fullscreen.css (100%) rename static/{admin => system}/component/pear/css/module/iconPicker.css (100%) rename static/{admin => system}/component/pear/css/module/label.css (100%) rename static/{admin => system}/component/pear/css/module/layer.css (100%) rename static/{admin => system}/component/pear/css/module/layout.css (100%) rename static/{admin => system}/component/pear/css/module/link.css (100%) rename static/{admin => system}/component/pear/css/module/loading.css (100%) rename static/{admin => system}/component/pear/css/module/menu.css (99%) rename static/{admin => system}/component/pear/css/module/message.css (100%) rename static/{admin => system}/component/pear/css/module/notice.css (100%) rename static/{admin => system}/component/pear/css/module/nprogress.css (100%) rename static/{admin => system}/component/pear/css/module/popover.min.css (100%) rename static/{admin => system}/component/pear/css/module/select.css (100%) rename static/{admin => system}/component/pear/css/module/step.css (100%) rename static/{admin => system}/component/pear/css/module/tab.css (100%) rename static/{admin => system}/component/pear/css/module/table.css (100%) rename static/{admin => system}/component/pear/css/module/tag.css (100%) rename static/{admin => system}/component/pear/css/module/toast.css (100%) rename static/{admin => system}/component/pear/css/module/topBar.css (100%) rename static/{admin => system}/component/pear/css/module/treetable.css (100%) rename static/{admin => system}/component/pear/css/pear.css (100%) rename static/{admin => system}/component/pear/font/iconfont.css (100%) rename static/{admin => system}/component/pear/font/iconfont.js (100%) rename static/{admin => system}/component/pear/font/iconfont.json (100%) rename static/{admin => system}/component/pear/font/iconfont.ttf (100%) rename static/{admin => system}/component/pear/font/iconfont.woff (100%) rename static/{admin => system}/component/pear/font/iconfont.woff2 (100%) rename static/{admin => system}/component/pear/module/admin.js (100%) rename static/{admin => system}/component/pear/module/area.js (100%) rename static/{admin => system}/component/pear/module/button.js (100%) rename static/{admin => system}/component/pear/module/card.js (97%) rename static/{admin => system}/component/pear/module/common.js (100%) rename static/{admin => system}/component/pear/module/context.js (100%) rename static/{admin => system}/component/pear/module/convert.js (100%) rename static/{admin => system}/component/pear/module/count.js (100%) rename static/{admin => system}/component/pear/module/cropper.js (100%) rename static/{admin => system}/component/pear/module/design.js (100%) rename static/{admin => system}/component/pear/module/drawer.js (100%) rename static/{admin => system}/component/pear/module/dtree.js (100%) rename static/{admin => system}/component/pear/module/echarts.js (100%) rename static/{admin => system}/component/pear/module/echartsTheme.js (100%) rename static/{admin => system}/component/pear/module/encrypt.js (100%) rename static/{admin => system}/component/pear/module/frame.js (100%) rename static/{admin => system}/component/pear/module/fullscreen.js (100%) rename static/{admin => system}/component/pear/module/http.js (100%) rename static/{admin => system}/component/pear/module/iconPicker.js (100%) rename static/{admin => system}/component/pear/module/loading.js (100%) rename static/{admin => system}/component/pear/module/menu.js (100%) rename static/{admin => system}/component/pear/module/message.js (100%) rename static/{admin => system}/component/pear/module/notice.js (100%) rename static/{admin => system}/component/pear/module/nprogress.js (100%) rename static/{admin => system}/component/pear/module/popover/popover.js (100%) rename static/{admin => system}/component/pear/module/popup.js (100%) rename static/{admin => system}/component/pear/module/select.js (100%) rename static/{admin => system}/component/pear/module/step.js (100%) rename static/{admin => system}/component/pear/module/tab.js (100%) rename static/{admin => system}/component/pear/module/tag.js (100%) rename static/{admin => system}/component/pear/module/theme.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/icons/default/icons.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/icons/default/icons.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/langs/readme.md (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/langs/zh_CN.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/advlist/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/advlist/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/anchor/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/anchor/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/autolink/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/autolink/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/autoresize/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/autoresize/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/autosave/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/autosave/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/bbcode/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/bbcode/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/charmap/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/charmap/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/code/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/code/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/codesample/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/codesample/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/colorpicker/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/colorpicker/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/contextmenu/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/contextmenu/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/directionality/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/directionality/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/emoticons/js/emojiimages.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/emoticons/js/emojiimages.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/emoticons/js/emojis.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/emoticons/js/emojis.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/emoticons/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/emoticons/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/fullpage/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/fullpage/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/fullscreen/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/fullscreen/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/help/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/help/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/hr/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/hr/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/image/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/image/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/imagetools/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/imagetools/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/importcss/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/importcss/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/indent2em/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/indent2em/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/insertdatetime/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/insertdatetime/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/icon.svg (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityFormula.html (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/custom/bar-bg.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/custom/bar.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/custom/bg.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/custom/bottom.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/custom/btn.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/custom/down.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/custom/top.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/custom/up.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/edit/bar-bg.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/edit/bar-left.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/edit/bar-right.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/edit/thumb-bg.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/edit/thumb-left.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/scrollbar/edit/thumb-right.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/aleph.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/bbbk.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/beth.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/circleds.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/complement.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/daleth.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/ell.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/eth.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/finv.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/game.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/gimel.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/hbar.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/hslash.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/im.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/mho.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/partial.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/re.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/alphabetic/wp.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/circlearrowleft.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/circlearrowright.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/curvearrowleft.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/curvearrowright.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/downarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/downdownarrows.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/downharpoonleft.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/downharpoonright.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/gets.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/leftarrowtail.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/leftharpoondown.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/leftharpoonup.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/leftleftarrows.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/leftrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/leftrightarrows.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/leftrightharpoons.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/leftrightsquigarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/longleftarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/longleftrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/longrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/looparrowleft.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/looparrowright.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/multimap.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/nearrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/nleftarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/nrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/nwarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/rightarrowtail.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/rightharpoondown.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/rightharpoonup.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/rightleftarrows.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/rightleftharpoons.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/rightrightarrows.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/rightsquigarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/searrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/swarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/to.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/twoheadleftarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/twoheadrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-downarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-leftarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-leftrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-lftarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-lleftarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-longleftarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-longleftrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-longrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-lsh.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-nleftarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-nleftrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-nrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-rightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-rrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-rsh.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-uparrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/u-updownarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/uparrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/updownarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/upharpoonleft.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/upharpoonright.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/arrow/upuparrows.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/brackets/1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/brackets/2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/brackets/3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/brackets/4.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/btn.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/brackets.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/down.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/frac.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/fx.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/int.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/lim.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/open.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/script.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/sin.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/sqrt.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/sum.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/tick.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/button/up.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/a.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/b.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/c.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/d.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/e.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/f.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/g.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/h.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/i.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/j.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/k.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/l.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/m.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/n.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/o.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/p.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/q.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/r.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/s.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/t.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/u.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/v.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/w.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/x.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/y.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/bb/z.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/a.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/b.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/c.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/d.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/e.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/f.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/g.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/h.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/i.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/j.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/k.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/l.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/m.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/n.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/o.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/p.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/q.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/r.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/s.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/t.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/u.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/v.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/w.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/x.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/y.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/cal/z.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/a.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/b.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/c.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/d.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/e.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/f.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/g.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/h.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/i.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/j.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/k.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/l.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/m.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/n.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/o.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/p.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/q.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/r.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/s.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/t.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/u.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ua.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ub.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uc.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ud.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ue.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uf.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ug.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uh.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ui.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uj.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uk.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ul.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/um.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/un.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uo.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/up.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ur.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/us.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ut.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uu.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uv.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uw.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/ux.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uy.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/uz.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/v.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/w.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/x.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/y.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/frak/z.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/alpha.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/beta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/chi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/delta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/epsilon.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/eta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/gamma.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/iota.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/kappa.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/lambda.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/mu.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/nu.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/omega.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/omicron.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/phi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/pi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/psi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/rho.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/sigma.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/tau.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/theta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/upsilon.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/xi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/lower/zeta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/misc/digamma.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/misc/varepsilon.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/misc/varkappa.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/misc/varphi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/misc/varpi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/misc/varrho.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/misc/varsigma.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/misc/vartheta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/alpha.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/beta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/chi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/delta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/epsilon.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/eta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/gamma.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/iota.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/kappa.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/lambda.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/mu.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/nu.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/omega.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/omicron.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/phi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/pi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/psi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/rho.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/sigma.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/tau.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/theta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/upsilon.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/xi.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/greek/upper/zeta.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/aleph.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/approx.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/ast.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/baifenhao.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/because.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/beth.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/blacksquare.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/cap.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/cdot.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/circ.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/cong.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/cup.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/ddots.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/div.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/downarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/eq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/equiv.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/exists.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/forall.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/geq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/gets.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/gg.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/gt.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/in.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/infty.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/leftrightarrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/leq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/ll.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/lt.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/minus.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/mp.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/neg.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/nexists.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/ni.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/partial.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/plus.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/pm.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/propto.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/sim.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/simeq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/surd.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/tanhao.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/therefore.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/times.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/to.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/uparrow.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/varnothing.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/math/vdots.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/gneqq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/gnsim.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/lneqq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/lnsim.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nbdash-1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/ncong.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/neq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nequiv.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nexists.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/ngeq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/ngtr.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nleq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nless.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nmid.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/notin.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nparallel.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nprec.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nsim.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nsubseteq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nsucc.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nsupseteq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/ntriangleleft.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/ntrianglelefteq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/ntriangleright.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/ntrianglerighteq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nvdash-1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nvdash-2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nvdash-3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/nvdash.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/precnsim.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/subsetneq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/succnsim.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/not/supsetneq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/a.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/b.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/c.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/d.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/e.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/f.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/g.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/h.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/i.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/j.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/k.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/l.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/m.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/n.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/o.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/p.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/q.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/r.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/s.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/t.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/u.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ua.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ub.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uc.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ud.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ue.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uf.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ug.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uh.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ui.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uj.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uk.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ul.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/um.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/un.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uo.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/up.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uq.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ur.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/us.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ut.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uu.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uv.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uw.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/ux.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uy.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/uz.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/v.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/w.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/x.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/y.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/char/rm/z.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/frac/1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/frac/2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/frac/3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/frac/c1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/frac/c2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/frac/c4.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/frac/c5.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/func/1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/func/2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/func/3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/func/4.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/func/5.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/func/6.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/func/c1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/func/c2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/func/c3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/int/1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/int/2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/int/3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/int/4.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/int/5.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/int/6.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/large/1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/large/2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/large/3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/other.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/script/1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/script/2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/script/3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/script/4.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/script/c1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/script/c2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/script/c3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/sqrt/1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/sqrt/2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/sqrt/3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/sqrt/4.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/sqrt/c1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/sqrt/c2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/ys/1.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/ys/2.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/images/toolbar/ys/3.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/styles/base.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/styles/page.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/styles/scrollbar.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/styles/ui.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/theme/default/fui.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/theme/default/fui.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/theme/default/images/close.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/theme/default/images/down.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/theme/default/images/open.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/assets/theme/default/images/up.png (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/js/jquery-3.6.0.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/js/kity-formula-parser.all.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/js/kity-formula-render.all.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/js/kityformula-editor.all.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/js/kitygraph.all.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/loading.gif (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/resource/KF_AMS_BB.woff (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/resource/KF_AMS_CAL.woff (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/resource/KF_AMS_FRAK.woff (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/resource/KF_AMS_MAIN.woff (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/kityformula/resource/KF_AMS_ROMAN.woff (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/kityformula-editor/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/legacyoutput/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/legacyoutput/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/link/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/link/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/lists/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/lists/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/media/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/media/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/nonbreaking/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/nonbreaking/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/noneditable/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/noneditable/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/pagebreak/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/pagebreak/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/paste/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/paste/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/preview/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/preview/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/print/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/print/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/quickbars/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/quickbars/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/save/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/save/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/searchreplace/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/searchreplace/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/spellchecker/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/spellchecker/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/tabfocus/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/tabfocus/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/table/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/table/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/template/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/template/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/textcolor/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/textcolor/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/textpattern/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/textpattern/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/toc/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/toc/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/visualblocks/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/visualblocks/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/visualchars/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/visualchars/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/wordcount/plugin.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/plugins/wordcount/plugin.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/dark/content.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/dark/content.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/dark/content.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/default/content.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/default/content.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/default/content.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/document/content.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/document/content.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/document/content.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/writer/content.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/writer/content.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/content/writer/content.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/content.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/content.inline.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/content.inline.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/content.inline.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/content.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/content.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/content.mobile.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/content.mobile.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/content.mobile.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/skin.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/skin.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/skin.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/skin.mobile.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/skin.mobile.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/skin.mobile.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/skin.shadowdom.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/content.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/content.inline.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/content.inline.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/content.inline.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/content.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/content.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/content.mobile.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/content.mobile.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/content.mobile.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/skin.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/skin.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/skin.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/skin.mobile.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/skin.mobile.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/skin.mobile.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/skin.shadowdom.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/skin.shadowdom.min.css (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/skins/ui/oxide/skin.shadowdom.min.css.map (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/themes/mobile/theme.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/themes/mobile/theme.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/themes/silver/theme.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/themes/silver/theme.min.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/tinymce.js (100%) rename static/{admin => system}/component/pear/module/tinymce/tinymce/tinymce.min.js (100%) rename static/{admin => system}/component/pear/module/toast.js (100%) rename static/{admin => system}/component/pear/module/topBar.js (100%) rename static/{admin => system}/component/pear/module/treetable.js (100%) rename static/{admin => system}/component/pear/module/watermark/watermark.js (100%) rename static/{admin => system}/component/pear/module/yaml.js (100%) rename static/{admin => system}/component/pear/pear.js (98%) delete mode 100644 templates/admin/common/footer.html delete mode 100644 templates/admin/dept/main.html delete mode 100644 templates/admin/role/main.html delete mode 100644 templates/admin/role/power.html delete mode 100644 templates/admin/user/main.html delete mode 100644 templates/index/index.html rename templates/{admin => system}/admin_log/main.html (94%) create mode 100644 templates/system/common/footer.html rename templates/{admin => system}/common/header.html (67%) rename templates/{admin => system}/console/console.html (98%) rename templates/{admin => system}/dept/add.html (95%) rename templates/{admin => system}/dept/edit.html (97%) create mode 100644 templates/system/dept/main.html rename templates/{admin => system}/dict/add.html (95%) rename templates/{admin => system}/dict/data/add.html (96%) rename templates/{admin => system}/dict/data/edit.html (96%) rename templates/{admin => system}/dict/edit.html (96%) rename templates/{admin => system}/dict/main.html (94%) rename templates/{admin => system}/index.html (86%) rename templates/{admin => system}/login.html (71%) rename templates/{admin => system}/mail/add.html (96%) rename templates/{admin => system}/mail/main.html (95%) rename templates/{admin => system}/monitor.html (98%) rename templates/{admin => system}/photo/photo.html (95%) rename templates/{admin => system}/photo/photo_add.html (92%) rename templates/{admin => system}/power/add.html (97%) rename templates/{admin => system}/power/edit.html (97%) rename templates/{admin => system}/power/main.html (88%) rename templates/{admin => system}/role/add.html (96%) rename templates/{admin => system}/role/edit.html (94%) create mode 100644 templates/system/role/main.html create mode 100644 templates/system/role/power.html rename templates/{admin => system}/task/add.html (98%) rename templates/{admin => system}/task/main.html (93%) rename templates/{admin => system}/user/add.html (96%) rename templates/{admin => system}/user/center.html (96%) rename templates/{admin => system}/user/edit.html (96%) rename templates/{admin => system}/user/edit_password.html (95%) create mode 100644 templates/system/user/main.html rename templates/{admin => system}/user/profile.html (97%) diff --git a/.gitignore b/.gitignore index c364ce7..3e90094 100644 --- a/.gitignore +++ b/.gitignore @@ -114,7 +114,14 @@ dmypy.json # Pyre type checker .pyre/ -#ide +# idea .idea/ + # 迁移文件 -migrations/ \ No newline at end of file +migrations/ + +# sqlite +*.db + +# 文件上传 +static/upload/ \ No newline at end of file diff --git a/README.md b/README.md index e323e17..62a45b9 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ MYSQL_USERNAME=root MYSQL_PASSWORD=root # 密钥配置 -SECRET_KEY='pear-admin-flask' +SECRET_KEY='pear-system-flask' # 邮箱配置 MAIL_SERVER='smtp.qq.com' @@ -134,7 +134,7 @@ python -m venv venv flask db init flask db migrate flask db upgrade -flask admin init +flask system init # windows run.bat diff --git a/applications/__init__.py b/applications/__init__.py index 21f1d30..af5bb8e 100644 --- a/applications/__init__.py +++ b/applications/__init__.py @@ -3,19 +3,19 @@ from flask import Flask from applications.common.script import init_script from applications.config import BaseConfig from applications.extensions import init_plugs -from applications.view import init_view +from applications.view import init_bps def create_app(): app = Flask(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) - # 引入数据库配置 + # 引入配置 app.config.from_object(BaseConfig) - # 注册各种插件 + # 注册flask组件 init_plugs(app) - # 注册路由 - init_view(app) + # 注册蓝图 + init_bps(app) # 注册命令 init_script(app) diff --git a/applications/common/script/admin.py b/applications/common/script/admin.py index 2cf3941..35c9cff 100644 --- a/applications/common/script/admin.py +++ b/applications/common/script/admin.py @@ -17,7 +17,7 @@ userdata = [ enable=1, realname='超级管理', remark='要是不能把握时机,就要终身蹭蹬,一事无成!', - avatar='http://127.0.0.1:5000/_uploads/photos/1617291580000.jpg', + avatar='/static/system/admin/images/avatar.jpg', dept_id=1, ), User( @@ -28,7 +28,7 @@ userdata = [ enable=1, realname='测试', remark='要是不能把握时机,就要终身蹭蹬,一事无成!', - avatar='http://127.0.0.1:5000/_uploads/photos/1617291580000.jpg', + avatar='/static/system/admin/images/avatar.jpg', dept_id=1, ), User( @@ -39,7 +39,7 @@ userdata = [ enable=1, realname='风', remark='要是不能把握时机,就要终身蹭蹬,一事无成!', - avatar='http://127.0.0.1:5000/_uploads/photos/1617291580000.jpg', + avatar='/static/system/admin/images/avatar.jpg', dept_id=7, ), ] @@ -147,8 +147,8 @@ powerdata = [ id=3, name='用户管理', type='1', - code='admin:user:main', - url='/admin/user/', + code='system:user:main', + url='/system/user/', open_type='_iframe', parent_id='1', icon='layui-icon layui-icon layui-icon layui-icon layui-icon-rate', @@ -160,8 +160,8 @@ powerdata = [ id=4, name='权限管理', type='1', - code='admin:power:main', - url='/admin/power/', + code='system:power:main', + url='/system/power/', open_type='_iframe', parent_id='1', icon=None, @@ -173,8 +173,8 @@ powerdata = [ id=9, name='角色管理', type='1', - code='admin:role:main', - url='/admin/role', + code='system:role:main', + url='/system/role', open_type='_iframe', parent_id='1', icon='layui-icon layui-icon-username', @@ -186,8 +186,8 @@ powerdata = [ id=12, name='系统监控', type='1', - code='admin:monitor:main', - url='/admin/monitor', + code='system:monitor:main', + url='/system/monitor', open_type='_iframe', parent_id='1', icon='layui-icon layui-icon-vercode', @@ -199,8 +199,8 @@ powerdata = [ id=13, name='日志管理', type='1', - code='admin:log:main', - url='/admin/log', + code='system:log:main', + url='/system/log', open_type='_iframe', parent_id='1', icon='layui-icon layui-icon-read', @@ -225,8 +225,8 @@ powerdata = [ id=18, name='图片上传', type='1', - code='admin:file:main', - url='/admin/file', + code='system:file:main', + url='/system/file', open_type='_iframe', parent_id='17', icon='layui-icon layui-icon-camera', @@ -238,7 +238,7 @@ powerdata = [ id=21, name='权限增加', type='2', - code='admin:power:add', + code='system:power:add', url='', open_type='', parent_id='4', @@ -251,7 +251,7 @@ powerdata = [ id=22, name='用户增加', type='2', - code='admin:user:add', + code='system:user:add', url='', open_type='', parent_id='3', @@ -264,7 +264,7 @@ powerdata = [ id=23, name='用户编辑', type='2', - code='admin:user:edit', + code='system:user:edit', url='', open_type='', parent_id='3', @@ -277,7 +277,7 @@ powerdata = [ id=24, name='用户删除', type='2', - code='admin:user:remove', + code='system:user:remove', url='', open_type='', parent_id='3', @@ -290,7 +290,7 @@ powerdata = [ id=25, name='权限编辑', type='2', - code='admin:power:edit', + code='system:power:edit', url='', open_type='', parent_id='4', @@ -303,7 +303,7 @@ powerdata = [ id=26, name='用户删除', type='2', - code='admin:power:remove', + code='system:power:remove', url='', open_type='', parent_id='4', @@ -316,7 +316,7 @@ powerdata = [ id=27, name='用户增加', type='2', - code='admin:role:add', + code='system:role:add', url='', open_type='', parent_id='9', @@ -329,7 +329,7 @@ powerdata = [ id=28, name='角色编辑', type='2', - code='admin:role:edit', + code='system:role:edit', url='', open_type='', parent_id='9', @@ -342,7 +342,7 @@ powerdata = [ id=29, name='角色删除', type='2', - code='admin:role:remove', + code='system:role:remove', url='', open_type='', parent_id='9', @@ -355,7 +355,7 @@ powerdata = [ id=30, name='角色授权', type='2', - code='admin:role:power', + code='system:role:power', url='', open_type='', parent_id='9', @@ -368,7 +368,7 @@ powerdata = [ id=31, name='图片增加', type='2', - code='admin:file:add', + code='system:file:add', url='', open_type='', parent_id='18', @@ -381,7 +381,7 @@ powerdata = [ id=32, name='图片删除', type='2', - code='admin:file:delete', + code='system:file:delete', url='', open_type='', parent_id='18', @@ -394,8 +394,8 @@ powerdata = [ id=44, name='数据字典', type='1', - code='admin:dict:main', - url='/admin/dict', + code='system:dict:main', + url='/system/dict', open_type='_iframe', parent_id='1', icon='layui-icon layui-icon-console', @@ -407,7 +407,7 @@ powerdata = [ id=45, name='字典增加', type='2', - code='admin:dict:add', + code='system:dict:add', url='', open_type='', parent_id='44', @@ -420,7 +420,7 @@ powerdata = [ id=46, name='字典修改', type='2', - code='admin:dict:edit', + code='system:dict:edit', url='', open_type='', parent_id='44', @@ -433,7 +433,7 @@ powerdata = [ id=47, name='字典删除', type='2', - code='admin:dict:remove', + code='system:dict:remove', url='', open_type='', parent_id='44', @@ -446,8 +446,8 @@ powerdata = [ id=48, name='部门管理', type='1', - code='admin:dept:main', - url='/dept', + code='system:dept:main', + url='/system/dept', open_type='_iframe', parent_id='1', icon='layui-icon layui-icon-group', @@ -459,7 +459,7 @@ powerdata = [ id=49, name='部门增加', type='2', - code='admin:dept:add', + code='system:dept:add', url='', open_type='', parent_id='48', @@ -472,7 +472,7 @@ powerdata = [ id=50, name='部门编辑', type='2', - code='admin:dept:edit', + code='system:dept:edit', url='', open_type='', parent_id='48', @@ -485,7 +485,7 @@ powerdata = [ id=51, name='部门删除', type='2', - code='admin:dept:remove', + code='system:dept:remove', url='', open_type='', parent_id='48', @@ -498,8 +498,8 @@ powerdata = [ id=57, name='邮件管理', type='1', - code='admin:mail:main', - url='/admin/mail', + code='system:mail:main', + url='/system/mail', open_type='_iframe', parent_id='1', icon='layui-icon ', @@ -511,7 +511,7 @@ powerdata = [ id=58, name='邮件发送', type='2', - code='admin:mail:add', + code='system:mail:add', url='', open_type='', parent_id='57', @@ -524,7 +524,7 @@ powerdata = [ id=59, name='邮件删除', type='2', - code='admin:mail:remove', + code='system:mail:remove', url='', open_type='', parent_id='57', @@ -572,4 +572,4 @@ def init_db(): print("用户角色数据存入") add_role_power() print("角色权限数据存入") - print("数据初始化完成,请使用python app.py命令运行") + print("数据初始化完成,请使用run脚本运行") diff --git a/applications/config.py b/applications/config.py index 387bbaf..ed79ce1 100644 --- a/applications/config.py +++ b/applications/config.py @@ -1,5 +1,5 @@ import logging -from urllib.parse import quote_plus as urlquote +# from urllib.parse import quote_plus as urlquote class BaseConfig: @@ -32,17 +32,18 @@ class BaseConfig: # JSON配置 JSON_AS_ASCII = False - SECRET_KEY = "pear-admin-flask" + SECRET_KEY = "pear-system-flask" # mysql 配置 - MYSQL_USERNAME = "root" - MYSQL_PASSWORD = "123456" - MYSQL_HOST = "127.0.0.1" - MYSQL_PORT = 3306 - MYSQL_DATABASE = "PearAdminFlask" + # MYSQL_USERNAME = "root" + # MYSQL_PASSWORD = "123456" + # MYSQL_HOST = "127.0.0.1" + # MYSQL_PORT = 3306 + # MYSQL_DATABASE = "PearAdminFlask" - # mysql 数据库的配置信息 - SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{MYSQL_USERNAME}:{urlquote(MYSQL_PASSWORD)}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DATABASE}?charset=utf8mb4" + # 数据库的配置信息 + SQLALCHEMY_DATABASE_URI = 'sqlite:///../pear.db' + # SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{MYSQL_USERNAME}:{urlquote(MYSQL_PASSWORD)}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DATABASE}?charset=utf8mb4" # 默认日志等级 LOG_LEVEL = logging.WARN @@ -61,7 +62,7 @@ class BaseConfig: # 配置多个数据库连接的连接串写法示例 # HOSTNAME: 指数据库的IP地址、USERNAME:指数据库登录的用户名、PASSWORD:指数据库登录密码、PORT:指数据库开放的端口、DATABASE:指需要连接的数据库名称 # MSSQL: f"mssql+pymssql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=cp936" - # MySQL: f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8" + # MySQL: f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4" # Oracle: f"oracle+cx_oracle://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}" # SQLite "sqlite:/// database.db" # Postgres f"postgresql+psycopg2://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}" diff --git a/applications/extensions/init_error_views.py b/applications/extensions/init_error_views.py index b68497d..7a88820 100644 --- a/applications/extensions/init_error_views.py +++ b/applications/extensions/init_error_views.py @@ -1,4 +1,4 @@ -from flask import render_template, jsonify +from flask import render_template def init_error_views(app): @@ -12,23 +12,4 @@ def init_error_views(app): @app.errorhandler(500) def internal_server_error(e): - return render_template('errors/500.html'), 500 - - # Return validation errors as JSON - @app.errorhandler(422) - @app.errorhandler(400) - def handle_error(err): - headers = err.data.get("headers", None) - messages = err.data.get("messages", ["Invalid request."]).get('json') - print(err.data.get("messages")) - print(messages.items()) - msg = '' - - for i in messages.items(): - msg = str(i[0]) + str(i[1][0]) - break - - if headers: - return jsonify({"success": False, "msg": msg}) - else: - return jsonify({"success": False, "msg": msg}) + return render_template('errors/500.html'), 500 \ No newline at end of file diff --git a/applications/extensions/init_login.py b/applications/extensions/init_login.py index 5047912..b3634c2 100644 --- a/applications/extensions/init_login.py +++ b/applications/extensions/init_login.py @@ -5,8 +5,7 @@ def init_login_manager(app): login_manager = LoginManager() login_manager.init_app(app) - login_manager.login_view = 'passport.login' - login_manager.login_message = u'请登录以访问此页面' + login_manager.login_view = 'system.passport.login' @login_manager.user_loader def load_user(user_id): diff --git a/applications/models/admin_user.py b/applications/models/admin_user.py index e8e278f..15aea89 100644 --- a/applications/models/admin_user.py +++ b/applications/models/admin_user.py @@ -9,7 +9,7 @@ class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='用户ID') username = db.Column(db.String(20), comment='用户名') realname = db.Column(db.String(20), comment='真实名字') - avatar = db.Column(db.String(255), comment='头像', default="/static/admin/admin/images/avatar.jpg") + avatar = db.Column(db.String(255), comment='头像', default="/static/system/admin/images/avatar.jpg") remark = db.Column(db.String(255), comment='备注') password_hash = db.Column(db.String(128), comment='哈希密码') enable = db.Column(db.Integer, default=0, comment='启用') diff --git a/applications/schemas/__init__.py b/applications/schemas/__init__.py index 56a8678..56aa9d0 100644 --- a/applications/schemas/__init__.py +++ b/applications/schemas/__init__.py @@ -2,7 +2,7 @@ from .admin_role import RoleOutSchema from .admin_power import PowerOutSchema, PowerOutSchema2 from .admin_dict import DictDataOutSchema, DictTypeOutSchema -from .admin_dept import DeptOutSchema +from .admin_dept import DeptSchema from .admin_log import LogOutSchema from .admin_photo import PhotoOutSchema from .admin_mail import MailOutSchema diff --git a/applications/schemas/admin_dept.py b/applications/schemas/admin_dept.py index 92a926a..fc2ca92 100644 --- a/applications/schemas/admin_dept.py +++ b/applications/schemas/admin_dept.py @@ -1,25 +1,12 @@ -from applications.extensions import ma -from marshmallow import fields, validate +from flask_marshmallow.sqla import SQLAlchemyAutoSchema + +from applications.models import Dept -class DeptInSchema(ma.Schema): - parentId = fields.Integer(required=True) - deptName = fields.Str(required=True) - leader = fields.Str(required=True) - phone = fields.Str(required=True) - email = fields.Str(validate=validate.Email()) - address = fields.Str() - status = fields.Str(validate=validate.OneOf(["0", "1"])) - sort = fields.Integer() - - -class DeptOutSchema(ma.Schema): - deptId = fields.Integer(attribute="id") - parentId = fields.Integer(attribute="parent_id") - deptName = fields.Str(attribute="dept_name") - leader = fields.Str() - phone = fields.Str() - email = fields.Str(validate=validate.Email()) - address = fields.Str() - status = fields.Str(validate=validate.OneOf(["0", "1"])) - sort = fields.Integer() +class DeptSchema(SQLAlchemyAutoSchema): + class Meta: + model = Dept # table = models.Album.__table__ + # include_relationships = True # 输出模型对象时同时对外键,是否也一并进行处理 + include_fk = True # 序列化阶段是否也一并返回主键 + # fields= ["id","name"] # 启动的字段列表 + # exclude = ["id","name"] # 排除字段列表 diff --git a/applications/schemas/admin_power.py b/applications/schemas/admin_power.py index e76692a..5311021 100644 --- a/applications/schemas/admin_power.py +++ b/applications/schemas/admin_power.py @@ -1,6 +1,18 @@ +from flask_marshmallow.sqla import SQLAlchemyAutoSchema + from applications.extensions import ma from marshmallow import fields +from applications.models import Power + + +class PowerSchema(SQLAlchemyAutoSchema): + class Meta: + model = Power # table = models.Album.__table__ + # include_relationships = True # 输出模型对象时同时对外键,是否也一并进行处理 + include_fk = True # 序列化阶段是否也一并返回主键 + # fields= ["id","name"] # 启动的字段列表 + # exclude = ["id","name"] # 排除字段列表 # 权限models序列化类 class PowerOutSchema(ma.Schema): diff --git a/applications/schemas/admin_role.py b/applications/schemas/admin_role.py index d8568ba..bf6c819 100644 --- a/applications/schemas/admin_role.py +++ b/applications/schemas/admin_role.py @@ -1,14 +1,12 @@ -from applications.extensions import ma -from marshmallow import fields +from flask_marshmallow.sqla import SQLAlchemyAutoSchema + +from applications.models import Role -class RoleOutSchema(ma.Schema): - id = fields.Integer() - roleName = fields.Str(attribute="name") - roleCode = fields.Str(attribute="code") - enable = fields.Str() - remark = fields.Str() - details = fields.Str() - sort = fields.Integer() - create_at = fields.DateTime() - update_at = fields.DateTime() +class RoleOutSchema(SQLAlchemyAutoSchema): + class Meta: + model = Role # table = models.Album.__table__ + # include_relationships = True # 输出模型对象时同时对外键,是否也一并进行处理 + include_fk = True # 序列化阶段是否也一并返回主键 + # fields= ["id","name"] # 启动的字段列表 + # exclude = ["id","name"] # 排除字段列表 diff --git a/applications/view/__init__.py b/applications/view/__init__.py index 6b5cf78..e1fb713 100644 --- a/applications/view/__init__.py +++ b/applications/view/__init__.py @@ -1,14 +1,7 @@ -from applications.view.admin import register_admin_views -from applications.view.index import register_index_views -from applications.view.passport import register_passport_views -from applications.view.rights import register_rights_view -from applications.view.department import register_dept_views +from applications.view.system import register_system_bps from applications.view.plugin import register_plugin_views -def init_view(app): - register_admin_views(app) - register_index_views(app) - register_rights_view(app) - register_passport_views(app) - register_dept_views(app) + +def init_bps(app): + register_system_bps(app) register_plugin_views(app) diff --git a/applications/view/admin/__init__.py b/applications/view/admin/__init__.py deleted file mode 100644 index 83c34eb..0000000 --- a/applications/view/admin/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -from flask import Flask - -from applications.view.admin.admin_log import admin_log -from applications.view.admin.dict import admin_dict -from applications.view.admin.index import admin_bp -from applications.view.admin.file import admin_file -from applications.view.admin.power import admin_power -from applications.view.admin.role import admin_role -from applications.view.admin.user import admin_user -from applications.view.admin.monitor import admin_monitor_bp -from applications.view.admin.mail import admin_mail - - -def register_admin_views(app: Flask): - app.register_blueprint(admin_bp) - app.register_blueprint(admin_user) - app.register_blueprint(admin_file) - app.register_blueprint(admin_monitor_bp) - app.register_blueprint(admin_log) - app.register_blueprint(admin_power) - app.register_blueprint(admin_role) - app.register_blueprint(admin_dict) - app.register_blueprint(admin_mail) diff --git a/applications/view/admin/index.py b/applications/view/admin/index.py deleted file mode 100644 index b4dde3f..0000000 --- a/applications/view/admin/index.py +++ /dev/null @@ -1,19 +0,0 @@ -from flask import Blueprint, render_template -from flask_login import login_required, current_user - -admin_bp = Blueprint('admin', __name__, url_prefix='/admin') - - -# 首页 -@admin_bp.get('/') -@login_required -def index(): - user = current_user - return render_template('admin/index.html', user=user) - - -# 控制台页面 -@admin_bp.get('/welcome') -@login_required -def welcome(): - return render_template('admin/console/console.html') diff --git a/applications/view/index/__init__.py b/applications/view/index/__init__.py deleted file mode 100644 index b07be4c..0000000 --- a/applications/view/index/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -from applications.view.index.index import index_bp - -from . import index - - -def register_index_views(app): - """ - 初始化蓝图 - - """ - - app.register_blueprint(index_bp) diff --git a/applications/view/index/index.py b/applications/view/index/index.py deleted file mode 100644 index 8278bca..0000000 --- a/applications/view/index/index.py +++ /dev/null @@ -1,8 +0,0 @@ -from flask import render_template, Blueprint - -index_bp = Blueprint('Index', __name__, url_prefix='/') - - -@index_bp.route('/') -def index(): - return render_template('index/index.html') diff --git a/applications/view/rights/routes.py b/applications/view/rights/routes.py index b335c1e..06625a6 100644 --- a/applications/view/rights/routes.py +++ b/applications/view/rights/routes.py @@ -17,7 +17,7 @@ def configs(): # 网站名称 "title": current_app.config.get("SYSTEM_NAME"), # 网站图标 - "image": "/static/admin/admin/images/logo.png" + "image": "/static/system/system/images/logo.png" # 菜单配置 }, menu={ # 菜单数据来源 @@ -47,7 +47,7 @@ def configs(): # 标识 ID , 建议与菜单项中的 ID 一致 "id": "10", # 页面地址 - "href": "/admin/welcome", + "href": "/system/welcome", # 标题 "title": "首页" } diff --git a/applications/view/system/__init__.py b/applications/view/system/__init__.py new file mode 100644 index 0000000..162c0fc --- /dev/null +++ b/applications/view/system/__init__.py @@ -0,0 +1,34 @@ +from flask import Flask, Blueprint + +from applications.view.system.dict import bp as dict_bp +from applications.view.system.file import bp as file_bp +from applications.view.system.index import bp as index_bp +from applications.view.system.log import bp as log_bp +from applications.view.system.mail import bp as mail_bp +from applications.view.system.monitor import bp as monitor_bp +from applications.view.system.passport import bp as passport_bp +from applications.view.system.power import bp as power_bp +from applications.view.system.rights import bp as right_bp +from applications.view.system.role import bp as role_bp +from applications.view.system.user import bp as user_bp +from applications.view.system.dept import bp as dept_bp + +# 创建sys +system_bp = Blueprint('system', __name__, url_prefix='/system') + + +def register_system_bps(app: Flask): + # 在admin_bp下注册子蓝图 + system_bp.register_blueprint(user_bp) + system_bp.register_blueprint(file_bp) + system_bp.register_blueprint(monitor_bp) + system_bp.register_blueprint(log_bp) + system_bp.register_blueprint(power_bp) + system_bp.register_blueprint(role_bp) + system_bp.register_blueprint(dict_bp) + system_bp.register_blueprint(mail_bp) + system_bp.register_blueprint(passport_bp) + system_bp.register_blueprint(right_bp) + system_bp.register_blueprint(dept_bp) + app.register_blueprint(index_bp) + app.register_blueprint(system_bp) diff --git a/applications/view/department/__init__.py b/applications/view/system/dept.py similarity index 72% rename from applications/view/department/__init__.py rename to applications/view/system/dept.py index 82abac3..91941d8 100644 --- a/applications/view/department/__init__.py +++ b/applications/view/system/dept.py @@ -7,43 +7,38 @@ from applications.common.utils.rights import authorize from applications.common.utils.validate import str_escape from applications.extensions import db from applications.models import Dept, User -from applications.schemas import DeptOutSchema +from applications.schemas import DeptSchema -dept_bp = Blueprint('dept', __name__, url_prefix='/dept') +bp = Blueprint('dept', __name__, url_prefix='/dept') -def register_dept_views(app): - app.register_blueprint(dept_bp) - - -@dept_bp.get('/') -@authorize("admin:dept:main", log=True) +@bp.get('/') +@authorize("system:dept:main", log=True) def main(): - return render_template('admin/dept/main.html') + return render_template('system/dept/main.html') -@dept_bp.post('/data') -@authorize("admin:dept:main", log=True) +@bp.post('/data') +@authorize("system:dept:main", log=True) def data(): - dept = Dept.query.order_by(Dept.sort).all() - power_data = curd.model_to_dicts(schema=DeptOutSchema, data=dept) + data = Dept.query.order_by(Dept.sort).all() res = { - "data": power_data + "data": DeptSchema(many=True).dump(data) } return jsonify(res) -@dept_bp.get('/add') -@authorize("admin:dept:add", log=True) +@bp.get('/add') +@authorize("system:dept:add", log=True) def add(): - return render_template('admin/dept/add.html') + return render_template('system/dept/add.html') -@dept_bp.get('/tree') -@authorize("admin:dept:main", log=True) +@bp.get('/tree') +@authorize("system:dept:main", log=True) def tree(): dept = Dept.query.order_by(Dept.sort).all() - power_data = curd.model_to_dicts(schema=DeptOutSchema, data=dept) + power_data = curd.model_to_dicts(schema=DeptSchema, data=dept) res = { "status": {"code": 200, "message": "默认"}, "data": power_data @@ -52,8 +47,8 @@ def tree(): return jsonify(res) -@dept_bp.post('/save') -@authorize("admin:dept:add", log=True) +@bp.post('/save') +@authorize("system:dept:add", log=True) def save(): req_json = request.get_json(force=True) dept = Dept( @@ -71,17 +66,17 @@ def save(): return success_api(msg="成功") -@dept_bp.get('/edit') -@authorize("admin:dept:edit", log=True) +@bp.get('/edit') +@authorize("system:dept:edit", log=True) def edit(): _id = request.args.get("deptId") dept = curd.get_one_by_id(model=Dept, id=_id) - return render_template('admin/dept/edit.html', dept=dept) + return render_template('system/dept/edit.html', dept=dept) # 启用 -@dept_bp.put('/enable') -@authorize("admin:dept:edit", log=True) +@bp.put('/enable') +@authorize("system:dept:edit", log=True) def enable(): id = request.get_json(force=True).get('deptId') if id: @@ -95,8 +90,8 @@ def enable(): # 禁用 -@dept_bp.put('/disable') -@authorize("admin:dept:edit", log=True) +@bp.put('/disable') +@authorize("system:dept:edit", log=True) def dis_enable(): id = request.get_json(force=True).get('deptId') if id: @@ -109,8 +104,8 @@ def dis_enable(): return fail_api(msg="数据错误") -@dept_bp.put('/update') -@authorize("admin:dept:edit", log=True) +@bp.put('/update') +@authorize("system:dept:edit", log=True) def update(): json = request.get_json(force=True) id = json.get("deptId"), @@ -130,8 +125,8 @@ def update(): return success_api(msg="更新成功") -@dept_bp.delete('/remove/') -@authorize("admin:dept:remove", log=True) +@bp.delete('/remove/') +@authorize("system:dept:remove", log=True) def remove(_id): d = Dept.query.filter_by(id=_id).delete() if not d: diff --git a/applications/view/admin/dict.py b/applications/view/system/dict.py similarity index 77% rename from applications/view/admin/dict.py rename to applications/view/system/dict.py index d5fa3a1..11d9f26 100644 --- a/applications/view/admin/dict.py +++ b/applications/view/system/dict.py @@ -9,18 +9,18 @@ from applications.extensions import db from applications.models import DictType, DictData from applications.schemas import DictTypeOutSchema, DictDataOutSchema -admin_dict = Blueprint('adminDict', __name__, url_prefix='/admin/dict') +bp = Blueprint('dict', __name__, url_prefix='/dict') # 数据字典 -@admin_dict.get('/') -@authorize("admin:dict:main") +@bp.get('/') +@authorize("system:dict:main") def main(): - return render_template('admin/dict/main.html') + return render_template('system/dict/main.html') -@admin_dict.get('/dictType/data') -@authorize("admin:dict:main") +@bp.get('/dictType/data') +@authorize("system:dict:main") def dict_type_data(): # 获取请求参数 type_name = str_escape(request.args.get('typeName', type=str)) @@ -36,14 +36,14 @@ def dict_type_data(): return table_api(data=data, count=count) -@admin_dict.get('/dictType/add') -@authorize("admin:dict:add", log=True) +@bp.get('/dictType/add') +@authorize("system:dict:add", log=True) def dict_type_add(): - return render_template('admin/dict/add.html') + return render_template('system/dict/add.html') -@admin_dict.post('/dictType/save') -@authorize("admin:dict:add", log=True) +@bp.post('/dictType/save') +@authorize("system:dict:add", log=True) def dict_type_save(): req_json = request.get_json(force=True) description = str_escape(req_json.get("description")) @@ -59,17 +59,17 @@ def dict_type_save(): # 编辑字典类型 -@admin_dict.get('/dictType/edit') -@authorize("admin:dict:edit", log=True) +@bp.get('/dictType/edit') +@authorize("system:dict:edit", log=True) def dict_type_edit(): _id = request.args.get('dictTypeId', type=int) dict_type = DictType.query.filter_by(id=_id).first() - return render_template('admin/dict/edit.html', dict_type=dict_type) + return render_template('system/dict/edit.html', dict_type=dict_type) # 编辑字典类型 -@admin_dict.put('/dictType/update') -@authorize("admin:dict:edit", log=True) +@bp.put('/dictType/update') +@authorize("system:dict:edit", log=True) def dict_type_update(): req_json = request.get_json(force=True) id = str_escape(req_json.get("id")) @@ -88,8 +88,8 @@ def dict_type_update(): # 启用字典 -@admin_dict.put('/dictType/enable') -@authorize("admin:dict:edit", log=True) +@bp.put('/dictType/enable') +@authorize("system:dict:edit", log=True) def dict_type_enable(): _id = request.get_json(force=True).get('id') if id: @@ -101,8 +101,8 @@ def dict_type_enable(): # 禁用字典 -@admin_dict.put('/dictType/disable') -@authorize("admin:dict:edit", log=True) +@bp.put('/dictType/disable') +@authorize("system:dict:edit", log=True) def dict_type_dis_enable(): _id = request.get_json(force=True).get('id') if id: @@ -114,8 +114,8 @@ def dict_type_dis_enable(): # 删除字典类型 -@admin_dict.delete('/dictType/remove/') -@authorize("admin:dict:remove", log=True) +@bp.delete('/dictType/remove/') +@authorize("system:dict:remove", log=True) def dict_type_delete(_id): res = curd.delete_one_by_id(DictType,_id) if not res: @@ -123,8 +123,8 @@ def dict_type_delete(_id): return success_api(msg="删除成功") -@admin_dict.get('/dictData/data') -@authorize("admin:dict:main", log=True) +@bp.get('/dictData/data') +@authorize("system:dict:main", log=True) def dict_code_data(): type_code = str_escape(request.args.get('typeCode', type=str)) dict_data = DictData.query.filter_by(type_code=type_code).layui_paginate() @@ -134,16 +134,16 @@ def dict_code_data(): # 增加字典数据 -@admin_dict.get('/dictData/add') -@authorize("admin:dict:add", log=True) +@bp.get('/dictData/add') +@authorize("system:dict:add", log=True) def dict_data_add(): type_code = request.args.get('typeCode', type=str) - return render_template('admin/dict/data/add.html', type_code=type_code) + return render_template('system/dict/data/add.html', type_code=type_code) # 增加字典数据 -@admin_dict.post('/dictData/save') -@authorize("admin:dict:add", log=True) +@bp.post('/dictData/save') +@authorize("system:dict:add", log=True) def dict_data_save(): req_json = request.get_json(force=True) data_label = str_escape(req_json.get("dataLabel")) @@ -160,17 +160,17 @@ def dict_data_save(): # 编辑字典数据 -@admin_dict.get('/dictData/edit') -@authorize("admin:dict:edit", log=True) +@bp.get('/dictData/edit') +@authorize("system:dict:edit", log=True) def dict_data_edit(): _id = request.args.get('dataId', type=str) dict_data = curd.get_one_by_id(DictData, _id) - return render_template('admin/dict/data/edit.html', dict_data=dict_data) + return render_template('system/dict/data/edit.html', dict_data=dict_data) # 编辑字典数据 -@admin_dict.put('/dictData/update') -@authorize("admin:dict:edit", log=True) +@bp.put('/dictData/update') +@authorize("system:dict:edit", log=True) def dict_data_update(): req_json = request.get_json(force=True) id = req_json.get("dataId") @@ -186,8 +186,8 @@ def dict_data_update(): # 启用字典数据 -@admin_dict.put('/dictData/enable') -@authorize("admin:dict:edit", log=True) +@bp.put('/dictData/enable') +@authorize("system:dict:edit", log=True) def dict_data_enable(): _id = request.get_json(force=True).get('dataId') if _id: @@ -199,8 +199,8 @@ def dict_data_enable(): # 禁用字典数据 -@admin_dict.put('/dictData/disable') -@authorize("admin:dict:edit", log=True) +@bp.put('/dictData/disable') +@authorize("system:dict:edit", log=True) def dict_data_disenable(): _id = request.get_json(force=True).get('dataId') if _id: @@ -212,8 +212,8 @@ def dict_data_disenable(): # 删除字典类型 -@admin_dict.delete('dictData/remove/') -@authorize("admin:dict:remove", log=True) +@bp.delete('dictData/remove/') +@authorize("system:dict:remove", log=True) def dict_data_delete(id): res = curd.delete_one_by_id(model=DictData, id=id) if not res: diff --git a/applications/view/admin/file.py b/applications/view/system/file.py similarity index 74% rename from applications/view/admin/file.py rename to applications/view/system/file.py index 98c658d..8b6e889 100644 --- a/applications/view/admin/file.py +++ b/applications/view/system/file.py @@ -7,19 +7,19 @@ from applications.extensions import db from applications.models import Photo from applications.common.utils import upload as upload_curd -admin_file = Blueprint('adminFile', __name__, url_prefix='/admin/file') +bp = Blueprint('adminFile', __name__, url_prefix='/file') # 图片管理 -@admin_file.get('/') -@authorize("admin:file:main") +@bp.get('/') +@authorize("system:file:main") def index(): - return render_template('admin/photo/photo.html') + return render_template('system/photo/photo.html') # 图片数据 -@admin_file.get('/table') -@authorize("admin:file:main") +@bp.get('/table') +@authorize("system:file:main") def table(): page = request.args.get('page', type=int) limit = request.args.get('limit', type=int) @@ -28,15 +28,15 @@ def table(): # 上传 -@admin_file.get('/upload') -@authorize("admin:file:add", log=True) +@bp.get('/upload') +@authorize("system:file:add", log=True) def upload(): - return render_template('admin/photo/photo_add.html') + return render_template('system/photo/photo_add.html') # 上传接口 -@admin_file.post('/upload') -@authorize("admin:file:add", log=True) +@bp.post('/upload') +@authorize("system:file:add", log=True) def upload_api(): if 'file' in request.files: photo = request.files['file'] @@ -55,8 +55,8 @@ def upload_api(): # 图片删除 -@admin_file.route('/delete', methods=['GET', 'POST']) -@authorize("admin:file:delete", log=True) +@bp.route('/delete', methods=['GET', 'POST']) +@authorize("system:file:delete", log=True) def delete(): _id = request.form.get('id') res = upload_curd.delete_photo_by_id(_id) @@ -67,8 +67,8 @@ def delete(): # 图片批量删除 -@admin_file.route('/batchRemove', methods=['GET', 'POST']) -@authorize("admin:file:delete", log=True) +@bp.route('/batchRemove', methods=['GET', 'POST']) +@authorize("system:file:delete", log=True) def batch_remove(): ids = request.form.getlist('ids[]') photo_name = Photo.query.filter(Photo.id.in_(ids)).all() diff --git a/applications/view/system/index.py b/applications/view/system/index.py new file mode 100644 index 0000000..bbd6b6a --- /dev/null +++ b/applications/view/system/index.py @@ -0,0 +1,14 @@ +from flask import Blueprint, render_template +from flask_login import login_required, current_user + +bp = Blueprint('index', __name__, url_prefix='/') + + +# 首页 +@bp.get('/') +@login_required +def index(): + user = current_user + return render_template('system/index.html', user=user) + + diff --git a/applications/view/admin/admin_log.py b/applications/view/system/log.py similarity index 75% rename from applications/view/admin/admin_log.py rename to applications/view/system/log.py index 80ba1a6..9f85c02 100644 --- a/applications/view/admin/admin_log.py +++ b/applications/view/system/log.py @@ -6,21 +6,19 @@ from applications.models import AdminLog from applications.schemas import LogOutSchema from applications.common.curd import model_to_dicts -admin_log = Blueprint('adminLog', __name__, url_prefix='/admin/log') +bp = Blueprint('log', __name__, url_prefix='/log') # 日志管理 -@admin_log.get('/') -@authorize("admin:log:main") +@bp.get('/') +@authorize("system:log:main") def index(): - from markupsafe import escape - escape - return render_template('admin/admin_log/main.html') + return render_template('system/admin_log/main.html') # 登录日志 -@admin_log.get('/loginLog') -@authorize("admin:log:main") +@bp.get('/loginLog') +@authorize("system:log:main") def login_log(): # orm查询 # 使用分页获取data需要.items @@ -30,8 +28,8 @@ def login_log(): # 操作日志 -@admin_log.get('/operateLog') -@authorize("admin:log:main") +@bp.get('/operateLog') +@authorize("system:log:main") def operate_log(): # orm查询 # 使用分页获取data需要.items diff --git a/applications/view/admin/mail.py b/applications/view/system/mail.py similarity index 82% rename from applications/view/admin/mail.py rename to applications/view/system/mail.py index 449f039..0ad03c6 100644 --- a/applications/view/admin/mail.py +++ b/applications/view/system/mail.py @@ -10,19 +10,19 @@ from applications.extensions import db, flask_mail from applications.models import Mail from applications.schemas import MailOutSchema -admin_mail = Blueprint('adminMail', __name__, url_prefix='/admin/mail') +bp = Blueprint('adminMail', __name__, url_prefix='/mail') # 用户管理 -@admin_mail.get('/') -@authorize("admin:mail:main") +@bp.get('/') +@authorize("system:mail:main") def main(): - return render_template('admin/mail/main.html') + return render_template('system/mail/main.html') # 用户分页查询 -@admin_mail.get('/data') -@authorize("admin:mail:main") +@bp.get('/data') +@authorize("system:mail:main") def data(): # 获取请求参数 receiver = str_escape(request.args.get("receiver")) @@ -45,14 +45,14 @@ def data(): # 用户增加 -@admin_mail.get('/add') -@authorize("admin:mail:add", log=True) +@bp.get('/add') +@authorize("system:mail:add", log=True) def add(): - return render_template('admin/mail/add.html') + return render_template('system/mail/add.html') -@admin_mail.post('/save') -@authorize("admin:mail:add", log=True) +@bp.post('/save') +@authorize("system:mail:add", log=True) def save(): req_json = request.get_json(force=True) receiver = str_escape(req_json.get("receiver")) @@ -75,8 +75,8 @@ def save(): # 删除用户 -@admin_mail.delete('/remove/') -@authorize("admin:mail:remove", log=True) +@bp.delete('/remove/') +@authorize("system:mail:remove", log=True) def delete(id): res = Mail.query.filter_by(id=id).delete() if not res: @@ -86,8 +86,8 @@ def delete(id): # 批量删除 -@admin_mail.delete('/batchRemove') -@authorize("admin:mail:remove", log=True) +@bp.delete('/batchRemove') +@authorize("system:mail:remove", log=True) def batch_remove(): ids = request.form.getlist('ids[]') for id in ids: diff --git a/applications/view/admin/monitor.py b/applications/view/system/monitor.py similarity index 90% rename from applications/view/admin/monitor.py rename to applications/view/system/monitor.py index d25d8c6..c4c1264 100644 --- a/applications/view/admin/monitor.py +++ b/applications/view/system/monitor.py @@ -8,12 +8,12 @@ from datetime import datetime from flask import Blueprint, render_template, jsonify from applications.common.utils.rights import authorize -admin_monitor_bp = Blueprint('adminMonitor', __name__, url_prefix='/admin/monitor') +bp = Blueprint('adminMonitor', __name__, url_prefix='/monitor') # 系统监控 -@admin_monitor_bp.get('/') -@authorize("admin:monitor:main") +@bp.get('/') +@authorize("system:monitor:main") def main(): # 主机名称 hostname = platform.node() @@ -58,7 +58,7 @@ def main(): # 当前时间 time_now = time.strftime('%H:%M:%S ', time.localtime(time.time())) - return render_template('admin/monitor.html', + return render_template('system/monitor.html', hostname=hostname, system_version=system_version, python_version=python_version, @@ -77,8 +77,8 @@ def main(): # 图表 api -@admin_monitor_bp.get('/polling') -@authorize("admin:monitor:main") +@bp.get('/polling') +@authorize("system:monitor:main") def ajax_polling(): # 获取cpu使用率 cpus_percent = psutil.cpu_percent(interval=0.1, percpu=False) # percpu 获取主使用率 @@ -88,11 +88,12 @@ def ajax_polling(): time_now = time.strftime('%H:%M:%S ', time.localtime(time.time())) return jsonify(cups_percent=cpus_percent, memory_used=memory_usage, time_now=time_now) + # 关闭程序 -@admin_monitor_bp.get('/kill') -@authorize("admin:monitor:main") +@bp.get('/kill') +@authorize("system:monitor:main") def kill(): for proc in psutil.process_iter(): if proc.pid == os.getpid(): proc.kill() - sys.exit(1) \ No newline at end of file + sys.exit(1) diff --git a/applications/view/passport/__init__.py b/applications/view/system/passport.py similarity index 86% rename from applications/view/passport/__init__.py rename to applications/view/system/passport.py index e5a7c97..d632491 100644 --- a/applications/view/passport/__init__.py +++ b/applications/view/system/passport.py @@ -6,15 +6,13 @@ from applications.common.admin_log import login_log from applications.common.utils.http import fail_api, success_api from applications.models import User -passport_bp = Blueprint('passport', __name__, url_prefix='/passport') +bp = Blueprint('passport', __name__, url_prefix='/passport') -def register_passport_views(app): - app.register_blueprint(passport_bp) # 获取验证码 -@passport_bp.get('/getCaptcha') +@bp.get('/getCaptcha') def get_captcha(): resp, code = index_curd.get_captcha() session["code"] = code @@ -22,15 +20,15 @@ def get_captcha(): # 登录 -@passport_bp.get('/login') +@bp.get('/login') def login(): if current_user.is_authenticated: - return redirect(url_for('admin.index')) - return render_template('admin/login.html') + return redirect(url_for('system.index')) + return render_template('system/login.html') # 登录 -@passport_bp.post('/login') +@bp.post('/login') def login_post(): req = request.form username = req.get('username') @@ -83,7 +81,7 @@ def login_post(): # 退出登录 -@passport_bp.post('/logout') +@bp.post('/logout') @login_required def logout(): logout_user() diff --git a/applications/view/admin/power.py b/applications/view/system/power.py similarity index 70% rename from applications/view/admin/power.py rename to applications/view/system/power.py index 733479f..479874c 100644 --- a/applications/view/admin/power.py +++ b/applications/view/system/power.py @@ -7,34 +7,35 @@ from applications.common.utils.validate import str_escape from applications.extensions import db from applications.models import Power from applications.schemas import PowerOutSchema2 +from applications.schemas.admin_power import PowerSchema -admin_power = Blueprint('adminPower', __name__, url_prefix='/admin/power') +bp = Blueprint('power', __name__, url_prefix='/power') -@admin_power.get('/') -@authorize("admin:power:main") +@bp.get('/') +@authorize("system:power:main") def index(): - return render_template('admin/power/main.html') + return render_template('system/power/main.html') -@admin_power.post('/data') -@authorize("admin:power:main") +@bp.post('/data') +@authorize("system:power:main") def data(): power = Power.query.all() res = { - "data": curd.model_to_dicts(schema=PowerOutSchema2, data=power) + "data": PowerSchema(many=True).dump(power) } return jsonify(res) -@admin_power.get('/add') -@authorize("admin:power:add", log=True) +@bp.get('/add') +@authorize("system:power:add", log=True) def add(): - return render_template('admin/power/add.html') + return render_template('system/power/add.html') -@admin_power.get('/selectParent') -@authorize("admin:power:main", log=True) +@bp.get('/selectParent') +@authorize("system:power:main", log=True) def select_parent(): power = Power.query.all() res = curd.model_to_dicts(schema=PowerOutSchema2, data=power) @@ -48,8 +49,8 @@ def select_parent(): # 增加 -@admin_power.post('/save') -@authorize("admin:power:add", log=True) +@bp.post('/save') +@authorize("system:power:add", log=True) def save(): req = request.get_json(force=True) icon = str_escape(req.get("icon")) @@ -77,8 +78,8 @@ def save(): # 权限编辑 -@admin_power.get('/edit/') -@authorize("admin:power:edit", log=True) +@bp.get('/edit/') +@authorize("system:power:edit", log=True) def edit(_id): power = curd.get_one_by_id(Power, _id) icon = str(power.icon).split() @@ -86,12 +87,12 @@ def edit(_id): icon = icon[1] else: icon = None - return render_template('admin/power/edit.html', power=power, icon=icon) + return render_template('system/power/edit.html', power=power, icon=icon) # 权限更新 -@admin_power.put('/update') -@authorize("admin:power:edit", log=True) +@bp.put('/update') +@authorize("system:power:edit", log=True) def update(): req_json = request.get_json(force=True) id = request.get_json(force=True).get("powerId") @@ -113,8 +114,8 @@ def update(): # 启用权限 -@admin_power.put('/enable') -@authorize("admin:power:edit", log=True) +@bp.put('/enable') +@authorize("system:power:edit", log=True) def enable(): _id = request.get_json(force=True).get('powerId') if id: @@ -126,8 +127,8 @@ def enable(): # 禁用权限 -@admin_power.put('/disable') -@authorize("admin:power:edit", log=True) +@bp.put('/disable') +@authorize("system:power:edit", log=True) def dis_enable(): _id = request.get_json(force=True).get('powerId') if id: @@ -139,8 +140,8 @@ def dis_enable(): # 权限删除 -@admin_power.delete('/remove/') -@authorize("admin:power:remove", log=True) +@bp.delete('/remove/') +@authorize("system:power:remove", log=True) def remove(id): power = Power.query.filter_by(id=id).first() power.role = [] @@ -150,18 +151,4 @@ def remove(id): if r: return success_api(msg="删除成功") else: - return fail_api(msg="删除失败") - - -# 批量删除 -@admin_power.delete('/batchRemove') -@authorize("admin:power:remove", log=True) -def batch_remove(): - ids = request.form.getlist('ids[]') - for id in ids: - power = Power.query.filter_by(id=id).first() - power.role = [] - - r = Power.query.filter_by(id=id).delete() - db.session.commit() - return success_api(msg="批量删除成功") + return fail_api(msg="删除失败") \ No newline at end of file diff --git a/applications/view/system/rights.py b/applications/view/system/rights.py new file mode 100644 index 0000000..dee4d2d --- /dev/null +++ b/applications/view/system/rights.py @@ -0,0 +1,154 @@ +import copy +from collections import OrderedDict + +from flask import jsonify, current_app, Blueprint, render_template +from flask_login import login_required, current_user + +from ...models import Power +from ...schemas import PowerOutSchema + +bp = Blueprint('rights', __name__, url_prefix='/rights') + + +# 渲染配置 +@bp.get('/configs') +@login_required +def configs(): + # 网站配置 + config = dict(logo={ + # 网站名称 + "title": current_app.config.get("SYSTEM_NAME"), + # 网站图标 + "image": "/static/system/admin/images/logo.png" + # 菜单配置 + }, menu={ + # 菜单数据来源 + "data": "/system/rights/menu", + "collaspe": False, + # 是否同时只打开一个菜单目录 + "accordion": True, + "method": "GET", + # 是否开启多系统菜单模式 + "control": False, + # 顶部菜单宽度 PX + "controlWidth": 500, + # 默认选中的菜单项 + "select": "0", + # 是否开启异步菜单,false 时 data 属性设置为菜单数据,false 时为 json 文件或后端接口 + "async": True + }, tab={ + # 是否开启多选项卡 + "enable": True, + # 切换选项卡时,是否刷新页面状态 + "keepState": True, + # 是否开启 Tab 记忆 + "session": True, + # 最大可打开的选项卡数量 + "max": 30, + "index": { + # 标识 ID , 建议与菜单项中的 ID 一致 + "id": "10", + # 页面地址 + "href": "/system/rights/welcome", + # 标题 + "title": "首页" + } + }, theme={ + # 默认主题色,对应 colors 配置中的 ID 标识 + "defaultColor": "2", + # 默认的菜单主题 dark-theme 黑 / light-theme 白 + "defaultMenu": "dark-theme", + # 是否允许用户切换主题,false 时关闭自定义主题面板 + "allowCustom": True + }, colors=[{ + "id": "1", + "color": "#2d8cf0" + }, + { + "id": "2", + "color": "#5FB878" + }, + { + "id": "3", + "color": "#1E9FFF" + }, { + "id": "4", + "color": "#FFB800" + }, { + "id": "5", + "color": "darkgray" + } + ], links=current_app.config.get("SYSTEM_PANEL_LINKS"), other={ + # 主页动画时长 + "keepLoad": 0, + # 布局顶部主题 + "autoHead": False + }, header=False) + return jsonify(config) + + +# 菜单 +@bp.get('/menu') +@login_required +def menu(): + if current_user.username != current_app.config.get("SUPERADMIN"): + role = current_user.role + powers = [] + for i in role: + # 如果角色没有被启用就直接跳过 + if i.enable == 0: + continue + # 变量角色用户的权限 + for p in i.power: + # 如果权限关闭了就直接跳过 + if p.enable == 0: + continue + # 一二级菜单 + if int(p.type) in [0, 1] and p not in powers: + powers.append(p) + + power_schema = PowerOutSchema(many=True) # 用已继承 ma.ModelSchema 类的自定制类生成序列化类 + power_dict = power_schema.dump(powers) # 生成可序列化对象 + power_dict.sort(key=lambda x: (x['parent_id'], x['id']), reverse=True) + + menu_dict = OrderedDict() + for _dict in power_dict: + if _dict['id'] in menu_dict: + # 当前节点添加子节点 + _dict['children'] = copy.deepcopy(menu_dict[_dict['id']]) + _dict['children'].sort(key=lambda item: item['sort']) + # 删除子节点 + del menu_dict[_dict['id']] + + if _dict['parent_id'] not in menu_dict: + + menu_dict[_dict['parent_id']] = [_dict] + else: + menu_dict[_dict['parent_id']].append(_dict) + return jsonify(sorted(menu_dict.get(0), key=lambda item: item['sort'])) + else: + powers = Power.query.all() + power_schema = PowerOutSchema(many=True) # 用已继承 ma.ModelSchema 类的自定制类生成序列化类 + power_dict = power_schema.dump(powers) # 生成可序列化对象 + power_dict.sort(key=lambda x: (x['parent_id'], x['id']), reverse=True) + + menu_dict = OrderedDict() + for _dict in power_dict: + if _dict['id'] in menu_dict: + # 当前节点添加子节点 + _dict['children'] = copy.deepcopy(menu_dict[_dict['id']]) + _dict['children'].sort(key=lambda item: item['sort']) + # 删除子节点 + del menu_dict[_dict['id']] + + if _dict['parent_id'] not in menu_dict: + menu_dict[_dict['parent_id']] = [_dict] + else: + menu_dict[_dict['parent_id']].append(_dict) + return jsonify(sorted(menu_dict.get(0), key=lambda item: item['sort'])) + +# 控制台页面 +@bp.get('/welcome') +@login_required +def welcome(): + return render_template('system/console/console.html') diff --git a/applications/view/admin/role.py b/applications/view/system/role.py similarity index 71% rename from applications/view/admin/role.py rename to applications/view/system/role.py index ef7374e..54b9f81 100644 --- a/applications/view/admin/role.py +++ b/applications/view/system/role.py @@ -8,19 +8,19 @@ from applications.common.utils.validate import str_escape from applications.extensions import db from applications.models import Role, Power, User from applications.schemas import RoleOutSchema, PowerOutSchema2 -admin_role = Blueprint('adminRole', __name__, url_prefix='/admin/role') +bp = Blueprint('role', __name__, url_prefix='/role') # 用户管理 -@admin_role.get('/') -@authorize("admin:role:main") +@bp.get('/') +@authorize("system:role:main") def main(): - return render_template('admin/role/main.html') + return render_template('system/role/main.html') # 表格数据 -@admin_role.get('/data') -@authorize("admin:role:main") +@bp.get('/data') +@authorize("system:role:main") def table(): role_name = str_escape(request.args.get('roleName', type=str)) role_code = str_escape(request.args.get('roleCode', type=str)) @@ -30,19 +30,19 @@ def table(): if role_code: filters.append(Role.code.contains(role_code)) roles = Role.query.filter(*filters).layui_paginate() - return table_api(data=model_to_dicts(schema=RoleOutSchema, data=roles.items), count=roles.total) + return table_api(data=RoleOutSchema(many=True).dump(roles), count=roles.total) # 角色增加 -@admin_role.get('/add') -@authorize("admin:role:add", log=True) +@bp.get('/add') +@authorize("system:role:add", log=True) def add(): - return render_template('admin/role/add.html') + return render_template('system/role/add.html') # 角色增加 -@admin_role.post('/save') -@authorize("admin:role:add", log=True) +@bp.post('/save') +@authorize("system:role:add", log=True) def save(): req = request.get_json(force=True) details = str_escape(req.get("details")) @@ -63,15 +63,15 @@ def save(): # 角色授权 -@admin_role.get('/power/') -@authorize("admin:role:power", log=True) +@bp.get('/power/') +@authorize("system:role:power", log=True) def power(_id): - return render_template('admin/role/power.html', id=_id) + return render_template('system/role/power.html', id=_id) # 获取角色权限 -@admin_role.get('/getRolePower/') -@authorize("admin:role:main", log=True) +@bp.get('/getRolePower/') +@authorize("system:role:main", log=True) def get_role_power(id): role = Role.query.filter_by(id=id).first() check_powers = role.power @@ -94,8 +94,8 @@ def get_role_power(id): # 保存角色权限 -@admin_role.put('/saveRolePower') -@authorize("admin:role:edit", log=True) +@bp.put('/saveRolePower') +@authorize("system:role:edit", log=True) def save_role_power(): req_form = request.form power_ids = req_form.get("powerIds") @@ -111,16 +111,16 @@ def save_role_power(): # 角色编辑 -@admin_role.get('/edit/') -@authorize("admin:role:edit", log=True) +@bp.get('/edit/') +@authorize("system:role:edit", log=True) def edit(id): r = get_one_by_id(model=Role, id=id) - return render_template('admin/role/edit.html', role=r) + return render_template('system/role/edit.html', role=r) # 更新角色 -@admin_role.put('/update') -@authorize("admin:role:edit", log=True) +@bp.put('/update') +@authorize("system:role:edit", log=True) def update(): req_json = request.get_json(force=True) id = req_json.get("roleId") @@ -139,8 +139,8 @@ def update(): # 启用用户 -@admin_role.put('/enable') -@authorize("admin:role:edit", log=True) +@bp.put('/enable') +@authorize("system:role:edit", log=True) def enable(): id = request.get_json(force=True).get('roleId') if id: @@ -152,8 +152,8 @@ def enable(): # 禁用用户 -@admin_role.put('/disable') -@authorize("admin:role:edit", log=True) +@bp.put('/disable') +@authorize("system:role:edit", log=True) def dis_enable(): _id = request.get_json(force=True).get('roleId') if _id: @@ -165,8 +165,8 @@ def dis_enable(): # 角色删除 -@admin_role.delete('/remove/') -@authorize("admin:role:remove", log=True) +@bp.delete('/remove/') +@authorize("system:role:remove", log=True) def remove(id): role = Role.query.filter_by(id=id).first() # 删除该角色的权限和用户 @@ -178,19 +178,3 @@ def remove(id): if not r: return fail_api(msg="角色删除失败") return success_api(msg="角色删除成功") - - -# 批量删除 -@admin_role.delete('/batchRemove') -@authorize("admin:role:remove", log=True) -def batch_remove(): - ids = request.form.getlist('ids[]') - for id in ids: - role = Role.query.filter_by(id=id).first() - # 删除该角色的权限和用户 - role.power = [] - role.user = [] - - r = Role.query.filter_by(id=id).delete() - db.session.commit() - return success_api(msg="批量删除成功") diff --git a/applications/view/admin/user.py b/applications/view/system/user.py similarity index 73% rename from applications/view/admin/user.py rename to applications/view/system/user.py index 30a6bd1..e0f9345 100644 --- a/applications/view/admin/user.py +++ b/applications/view/system/user.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template, request, session +from flask import Blueprint, render_template, request from flask_login import login_required, current_user from sqlalchemy import desc @@ -11,22 +11,22 @@ from applications.extensions import db from applications.models import Role, Dept from applications.models import User, AdminLog -admin_user = Blueprint('adminUser', __name__, url_prefix='/admin/user') +bp = Blueprint('user', __name__, url_prefix='/user') # 用户管理 -@admin_user.get('/') -@authorize("admin:user:main") +@bp.get('/') +@authorize("system:user:main") def main(): - return render_template('admin/user/main.html') + return render_template('system/user/main.html') # 用户分页查询 -@admin_user.get('/data') -@authorize("admin:user:main") +@bp.get('/data') +@authorize("system:user:main") def data(): # 获取请求参数 - real_name = str_escape(request.args.get('realName', type=str)) + real_name = str_escape(request.args.get('realname', type=str)) username = str_escape(request.args.get('username', type=str)) dept_id = request.args.get('deptId', type=int) @@ -35,9 +35,9 @@ def data(): if real_name: filters.append(User.realname.contains(real_name)) if username: - filters.append(User.realname.contains(username)) + filters.append(User.username.contains(username)) if dept_id: - filters.append(User.realname == dept_id) + filters.append(User.dept_id == dept_id) # print(*filters) query = db.session.query( @@ -60,15 +60,15 @@ def data(): # 用户增加 -@admin_user.get('/add') -@authorize("admin:user:add", log=True) +@bp.get('/add') +@authorize("system:user:add", log=True) def add(): roles = Role.query.all() - return render_template('admin/user/add.html', roles=roles) + return render_template('system/user/add.html', roles=roles) -@admin_user.post('/save') -@authorize("admin:user:add", log=True) +@bp.post('/save') +@authorize("system:user:add", log=True) def save(): req_json = request.get_json(force=True) a = req_json.get("roleIds") @@ -82,7 +82,7 @@ def save(): if bool(User.query.filter_by(username=username).count()): return fail_api(msg="用户已经存在") - user = User(username=username, realname=real_name) + user = User(username=username, realname=real_name,enable=1) user.set_password(password) db.session.add(user) roles = Role.query.filter(Role.id.in_(role_ids)).all() @@ -93,8 +93,8 @@ def save(): # 删除用户 -@admin_user.delete('/remove/') -@authorize("admin:user:remove", log=True) +@bp.delete('/remove/') +@authorize("system:user:remove", log=True) def delete(id): user = User.query.filter_by(id=id).first() user.role = [] @@ -107,20 +107,20 @@ def delete(id): # 编辑用户 -@admin_user.get('/edit/') -@authorize("admin:user:edit", log=True) +@bp.get('/edit/') +@authorize("system:user:edit", log=True) def edit(id): user = curd.get_one_by_id(User, id) roles = Role.query.all() checked_roles = [] for r in user.role: checked_roles.append(r.id) - return render_template('admin/user/edit.html', user=user, roles=roles, checked_roles=checked_roles) + return render_template('system/user/edit.html', user=user, roles=roles, checked_roles=checked_roles) # 编辑用户 -@admin_user.put('/update') -@authorize("admin:user:edit", log=True) +@bp.put('/update') +@authorize("system:user:edit", log=True) def update(): req_json = request.get_json(force=True) a = str_escape(req_json.get("roleIds")) @@ -140,24 +140,24 @@ def update(): # 个人中心 -@admin_user.get('/center') +@bp.get('/center') @login_required def center(): user_info = current_user user_logs = AdminLog.query.filter_by(url='/passport/login').filter_by(uid=current_user.id).order_by( desc(AdminLog.create_time)).limit(10) - return render_template('admin/user/center.html', user_info=user_info, user_logs=user_logs) + return render_template('system/user/center.html', user_info=user_info, user_logs=user_logs) # 修改头像 -@admin_user.get('/profile') +@bp.get('/profile') @login_required def profile(): - return render_template('admin/user/profile.html') + return render_template('system/user/profile.html') # 修改头像 -@admin_user.put('/updateAvatar') +@bp.put('/updateAvatar') @login_required def update_avatar(): url = request.get_json(force=True).get("avatar").get("src") @@ -169,7 +169,7 @@ def update_avatar(): # 修改当前用户信息 -@admin_user.put('/updateInfo') +@bp.put('/updateInfo') @login_required def update_info(): req_json = request.get_json(force=True) @@ -182,14 +182,14 @@ def update_info(): # 修改当前用户密码 -@admin_user.get('/editPassword') +@bp.get('/editPassword') @login_required def edit_password(): - return render_template('admin/user/edit_password.html') + return render_template('system/user/edit_password.html') # 修改当前用户密码 -@admin_user.put('/editPassword') +@bp.put('/editPassword') @login_required def edit_password_put(): res_json = request.get_json(force=True) @@ -208,8 +208,8 @@ def edit_password_put(): # 启用用户 -@admin_user.put('/enable') -@authorize("admin:user:edit", log=True) +@bp.put('/enable') +@authorize("system:user:edit", log=True) def enable(): _id = request.get_json(force=True).get('userId') if _id: @@ -221,8 +221,8 @@ def enable(): # 禁用用户 -@admin_user.put('/disable') -@authorize("admin:user:edit", log=True) +@bp.put('/disable') +@authorize("system:user:edit", log=True) def dis_enable(): _id = request.get_json(force=True).get('userId') if _id: @@ -231,24 +231,3 @@ def dis_enable(): return fail_api(msg="出错啦") return success_api(msg="禁用成功") return fail_api(msg="数据错误") - - -# 批量删除 -@admin_user.delete('/batchRemove') -@authorize("admin:user:remove", log=True) -def batch_remove(): - ids = request.form.getlist('ids[]') - for id in ids: - user = User.query.filter_by(id=id).first() - user.role = [] - - res = User.query.filter_by(id=id).delete() - db.session.commit() - return success_api(msg="批量删除成功") - - -@admin_user.get("test") -def test(): - print(session) - print(session.get('role')[0]) - return '6' diff --git a/dockerdata/config.py b/dockerdata/config.py index 81714ae..f5933a6 100644 --- a/dockerdata/config.py +++ b/dockerdata/config.py @@ -10,7 +10,7 @@ class BaseConfig: HOST = '127.0.0.1' PORT = 5000 - SUPERADMIN = 'admin' + SUPERADMIN = 'system' SYSTEM_NAME = 'Pear Admin' # 主题面板的链接列表配置 @@ -39,7 +39,7 @@ class BaseConfig: # JSON配置 JSON_AS_ASCII = False - SECRET_KEY = "pear-admin-flask" + SECRET_KEY = "pear-system-flask" # redis配置 REDIS_HOST = "127.0.0.1" diff --git a/docs/function.md b/docs/function.md index 3d1db1c..f419276 100644 --- a/docs/function.md +++ b/docs/function.md @@ -29,7 +29,7 @@ def authorize(power: str, log: bool = False): from applications.common.utils.rights import authorize @app.route("/test") -@authorize("admin:power:remove", log=True) +@authorize("system:power:remove", log=True) def test_index(): return 'You are allowed.' ``` @@ -47,12 +47,12 @@ def test_index(): 例如 ```python - {% if authorize("admin:user:edit") %} + {% if authorize("system:user:edit") %} {% endif %} - {% if authorize("admin:user:remove") %} + {% if authorize("system:user:remove") %} @@ -255,7 +255,7 @@ def table_api(msg: str = "", count=0, data=None, limit=10): from applications.common.utils.http import success_api, fail_api, table_api @admin_log.get('/operateLog') -@authorize("admin:log:main") +@authorize("system:log:main") def operate_log(): # orm查询 # 使用分页获取data需要.items @@ -270,7 +270,7 @@ def operate_log(): from applications.common.utils.http import success_api, fail_api, table_api @admin_power.post('/save') -@authorize("admin:power:add", log=True) +@authorize("system:power:add", log=True) def save(): ... # 若干操作 if success: diff --git a/docs/install.md b/docs/install.md index 7b54e72..1453cfc 100644 --- a/docs/install.md +++ b/docs/install.md @@ -70,7 +70,7 @@ python -m pip install -r requirement.txt flask db init flask db migrate flask db upgrade -flask admin init +flask system init ``` #### 运行项目 diff --git a/migrate.bat b/migrate.bat new file mode 100644 index 0000000..e3cb307 --- /dev/null +++ b/migrate.bat @@ -0,0 +1 @@ +flask db migrate && flask db upgrade \ No newline at end of file diff --git a/migrate.sh b/migrate.sh new file mode 100644 index 0000000..e3cb307 --- /dev/null +++ b/migrate.sh @@ -0,0 +1 @@ +flask db migrate && flask db upgrade \ No newline at end of file diff --git a/plugins/helloworld/templates/helloworld_index.html b/plugins/helloworld/templates/helloworld_index.html index 0982b24..266f34c 100644 --- a/plugins/helloworld/templates/helloworld_index.html +++ b/plugins/helloworld/templates/helloworld_index.html @@ -4,7 +4,7 @@ pear-admin-flask - {% include 'admin/common/header.html' %} + {% include 'system/common/header.html' %} @@ -30,7 +30,7 @@ 首页
  • - 后台 + 后台
  • @@ -52,8 +52,8 @@ - - + + - + + - \ No newline at end of file diff --git a/templates/admin/dept/main.html b/templates/admin/dept/main.html deleted file mode 100644 index f073316..0000000 --- a/templates/admin/dept/main.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - 部门新增 - {% include 'admin/common/header.html' %} - - -
    -
    -
    -
    - -
    - -
    - - -
    -
    -
    -
    - -
    -
    -
    -
    -
    - - - - - - - - - -{% include 'admin/common/footer.html' %} - - - \ No newline at end of file diff --git a/templates/admin/role/main.html b/templates/admin/role/main.html deleted file mode 100644 index 4d1f6aa..0000000 --- a/templates/admin/role/main.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - 用户管理 - {% include 'admin/common/header.html' %} - -
    -
    -
    -
    - -
    - -
    - -
    - -
    - - -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - -{% include 'admin/common/footer.html' %} - - \ No newline at end of file diff --git a/templates/admin/role/power.html b/templates/admin/role/power.html deleted file mode 100644 index 105268d..0000000 --- a/templates/admin/role/power.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - 角色授权 - {% include 'admin/common/header.html' %} - -
    -
    -
    -
    -
      -
      -
      -
      -
      -
      - - -
      -
      -
      -{% include 'admin/common/footer.html' %} - - - \ No newline at end of file diff --git a/templates/admin/user/main.html b/templates/admin/user/main.html deleted file mode 100644 index 152f015..0000000 --- a/templates/admin/user/main.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - 用户管理 - {% include 'admin/common/header.html' %} - - - -{# 查询表单 #} -
      -
      -
      -
      - -
      - -
      - -
      - -
      - - -
      -
      -
      -
      -
      -
      -
      -
      全 部 用 户
      -
      默 认 分 组
      -
      -
        -
        -
        -
        -
        -{# 用户表格 #} -
        -
        -
        -
        -
        -
        -
        - -{# 表格操作 #} - - -{# 用户修改操作 #} - - -{# 启动与禁用 #} - - -{# 用户注册时间 #} - - -{# 用户更新时间 #} - - -{% include 'admin/common/footer.html' %} - - - \ No newline at end of file diff --git a/templates/errors/403.html b/templates/errors/403.html index c928e53..d3124d0 100644 --- a/templates/errors/403.html +++ b/templates/errors/403.html @@ -3,12 +3,12 @@ - - + +
        - +

        403

        抱歉,你无权访问该页面

        diff --git a/templates/errors/404.html b/templates/errors/404.html index 699507f..10ebcdd 100644 --- a/templates/errors/404.html +++ b/templates/errors/404.html @@ -3,12 +3,12 @@ - - + +
        - +

        404

        抱歉,你访问的页面不存在或仍在开发中

        diff --git a/templates/errors/500.html b/templates/errors/500.html index a198fb2..e5b4130 100644 --- a/templates/errors/500.html +++ b/templates/errors/500.html @@ -3,12 +3,12 @@ - - + + admin/
        - +

        500

        抱歉,服务器出错了

        diff --git a/templates/index/index.html b/templates/index/index.html deleted file mode 100644 index 6563339..0000000 --- a/templates/index/index.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - pear-admin-flask - - {% include 'admin/common/header.html' %} - - - - - - - -
        - -
        - - -
        -
        - -
        -
        -
        -
        - - -

        💐 致 力 于 让 " Web " 开 发 变 得 简 单 优 雅

        - -
        -
        -
        - -
        -
        -
        -
        -
        -
        -
        -
        -
        - - -
        -
        - 用法演示 -
        -
        -
        - - -
        -
        -
        - -
        -
        -

        合作伙伴

        -

        Sponsorship and cooperation

        -
        -
        -
        - -
        -
        -
        -
        -
        - - - - - - - - - diff --git a/templates/admin/admin_log/main.html b/templates/system/admin_log/main.html similarity index 94% rename from templates/admin/admin_log/main.html rename to templates/system/admin_log/main.html index 513adb1..beea243 100644 --- a/templates/admin/admin_log/main.html +++ b/templates/system/admin_log/main.html @@ -2,8 +2,8 @@ 日志 - {% include 'admin/common/header.html' %} - + {% include 'system/common/header.html' %} + @@ -38,13 +38,13 @@ 失败 {{# } }}'|safe }} -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %} + \ No newline at end of file diff --git a/templates/admin/common/header.html b/templates/system/common/header.html similarity index 67% rename from templates/admin/common/header.html rename to templates/system/common/header.html index 8e45a5e..7782dc7 100644 --- a/templates/admin/common/header.html +++ b/templates/system/common/header.html @@ -2,4 +2,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/templates/admin/console/console.html b/templates/system/console/console.html similarity index 98% rename from templates/admin/console/console.html rename to templates/system/console/console.html index d9a25f4..ff361e3 100644 --- a/templates/admin/console/console.html +++ b/templates/system/console/console.html @@ -2,8 +2,8 @@ 首页 - {% include 'admin/common/header.html' %} - + {% include 'system/common/header.html' %} + @@ -178,7 +178,7 @@
        + src="{{ url_for('static', filename='system/system/images/avatar.jpg') }}">

        七彩枫叶 在 Pear Admin 专区 回答问题

        @@ -188,7 +188,7 @@
        + src="{{ url_for('static', filename='system/system/images/avatar.jpg') }}">

        简 在 Pear Admin 专区 进行了

        + src="{{ url_for('static', filename='system/system/images/avatar.jpg') }}">

        恒宇少年 将 Pear Admin 更新至 2.3.0 版本

        @@ -210,7 +210,7 @@
        + src="{{ url_for('static', filename='system/system/images/avatar.jpg') }}">

        如花 在 Pear Admin 社区 发布了

        + src="{{ url_for('static', filename='system/system/images/avatar.jpg') }}">

        就眠仪式 在 Pear Admin 社区 发布了

        + src="{{ url_for('static', filename='system/system/images/avatar.jpg') }}">

        贤心 在 Pear Admin 专区 进行了

        -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %} + + +{% raw %} + +{% endraw %} + + +{% include 'system/common/footer.html' %} + + + \ No newline at end of file diff --git a/templates/admin/dict/add.html b/templates/system/dict/add.html similarity index 95% rename from templates/admin/dict/add.html rename to templates/system/dict/add.html index 4722d80..8e579d8 100644 --- a/templates/admin/dict/add.html +++ b/templates/system/dict/add.html @@ -2,7 +2,7 @@ 字典增加 - {% include 'admin/common/header.html' %} + {% include 'system/common/header.html' %}
        @@ -53,7 +53,7 @@
        -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %} -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %} -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %} -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %} @@ -83,7 +83,7 @@ -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %} + + + + +{% include 'system/common/footer.html' %} + + \ No newline at end of file diff --git a/templates/system/role/power.html b/templates/system/role/power.html new file mode 100644 index 0000000..926074d --- /dev/null +++ b/templates/system/role/power.html @@ -0,0 +1,79 @@ + + + + 角色授权 + {% include 'system/common/header.html' %} + +
        +
        +
        +
        +
          +
          +
          +
          +
          +
          + + +
          +
          +
          +{% include 'system/common/footer.html' %} + + + \ No newline at end of file diff --git a/templates/admin/task/add.html b/templates/system/task/add.html similarity index 98% rename from templates/admin/task/add.html rename to templates/system/task/add.html index 345663f..4a16604 100644 --- a/templates/admin/task/add.html +++ b/templates/system/task/add.html @@ -2,7 +2,7 @@ 任务新增 - {% include 'admin/common/header.html' %} + {% include 'system/common/header.html' %}
          @@ -75,7 +75,7 @@
          -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %} -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %} + +{# 用户修改操作 #} + + +{% raw %} + + + + + +{% endraw %} + +{% include 'system/common/footer.html' %} + + + \ No newline at end of file diff --git a/templates/admin/user/profile.html b/templates/system/user/profile.html similarity index 97% rename from templates/admin/user/profile.html rename to templates/system/user/profile.html index e626995..62550bf 100644 --- a/templates/admin/user/profile.html +++ b/templates/system/user/profile.html @@ -2,7 +2,7 @@ 头像上传 - {% include 'admin/common/header.html' %} + {% include 'system/common/header.html' %}
          @@ -34,7 +34,7 @@
          -{% include 'admin/common/footer.html' %} +{% include 'system/common/footer.html' %}