├── .dockerignore ├── .gitignore ├── LICENSE ├── README.md ├── build ├── OSharp.Keys.snk ├── public.props └── version.props ├── osharp-layui.sln └── src ├── Liuliu.Demo.Mvc ├── .editorconfig ├── .vscode │ ├── launch.json │ └── tasks.json ├── Areas │ └── Admin │ │ ├── Controllers │ │ ├── AdminControllerBase.cs │ │ ├── Auth │ │ │ ├── EntityInfoController.cs │ │ │ ├── FunctionController.cs │ │ │ ├── ModuleController.cs │ │ │ └── RoleEntityController.cs │ │ ├── HomeController.cs │ │ ├── Identity │ │ │ ├── RoleController.cs │ │ │ ├── UserController.cs │ │ │ └── UserRoleController.cs │ │ ├── Systems │ │ │ └── PackController.cs │ │ └── SystemsController.cs │ │ ├── Models │ │ └── InitModel.cs │ │ └── Views │ │ ├── EntityInfo │ │ └── Index.cshtml │ │ ├── Function │ │ └── Index.cshtml │ │ ├── Home │ │ ├── Dashboard.cshtml │ │ └── Index.cshtml │ │ ├── Module │ │ └── Index.cshtml │ │ ├── Pack │ │ └── Index.cshtml │ │ ├── Role │ │ └── Index.cshtml │ │ ├── RoleEntity │ │ └── Index.cshtml │ │ ├── Shared │ │ ├── _Layout.cshtml │ │ └── _Layout_Table.cshtml │ │ ├── Systems │ │ ├── AuditEntities.cshtml │ │ ├── AuditOperations.cshtml │ │ └── Settings.cshtml │ │ ├── User │ │ └── Index.cshtml │ │ ├── UserRole │ │ └── Index.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml ├── Controllers │ ├── HomeController.cs │ ├── IdentityController.cs │ └── SiteControllerBase.cs ├── Liuliu.Demo.Mvc.csproj ├── Migrations │ ├── 20200826162104_Init.Designer.cs │ ├── 20200826162104_Init.cs │ └── DefaultDbContextModelSnapshot.cs ├── Models │ └── ErrorViewModel.cs ├── Program.cs ├── Properties │ └── launchSettings.json ├── Startup.cs ├── Startups │ ├── DesignTimeDefaultDbContextFactory.cs │ ├── MySqlDefaultDbContextMigrationPack.cs │ ├── OracleDefaultDbContextMigrationPack.cs │ ├── PostgreSqlDefaultDbContextMigrationPack.cs │ ├── SqlServerDefaultDbContextMigrationPack.cs │ └── SqliteDefaultDbContextMigrationPack.cs ├── Views │ ├── Home │ │ ├── Index.cshtml │ │ └── Privacy.cshtml │ ├── Identity │ │ └── Login.cshtml │ ├── Shared │ │ ├── Error.cshtml │ │ ├── _Layout.cshtml │ │ ├── _LoginLayout.cshtml │ │ ├── _LoginPartial.cshtml │ │ ├── _Logout.cshtml │ │ └── _ValidationScriptsPartial.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── appsettings.Development.json ├── appsettings.json ├── bundleconfig.json ├── libman.json ├── osharp-mvc-dev.db └── wwwroot │ ├── api │ ├── clear.json │ ├── init.json │ ├── menus.json │ ├── table.json │ ├── tableSelect.json │ └── upload.json │ ├── css │ ├── layuimini.css │ ├── public.css │ └── themes │ │ └── default.css │ ├── favicon.ico │ ├── images │ ├── bg.jpg │ ├── captcha.jpg │ ├── donate_qrcode.png │ ├── favicon.ico │ ├── home.png │ └── logo.png │ ├── js │ ├── lay-config.js │ ├── lay-module │ │ ├── echarts │ │ │ ├── echarts.js │ │ │ └── echartsTheme.js │ │ ├── iconPicker │ │ │ └── iconPickerFa.js │ │ ├── layarea │ │ │ └── layarea.js │ │ ├── layuimini │ │ │ ├── miniAdmin.js │ │ │ ├── miniMenu.js │ │ │ ├── miniTab.js │ │ │ ├── miniTheme.js │ │ │ └── miniTongji.js │ │ ├── soulTable │ │ │ ├── excel.js │ │ │ ├── excel.min.js │ │ │ ├── soulTable.css │ │ │ ├── soulTable.js │ │ │ ├── soulTable.min.css │ │ │ ├── soulTable.min.js │ │ │ ├── soulTable.slim.js │ │ │ ├── tableChild.js │ │ │ ├── tableChild.min.js │ │ │ ├── tableFilter.js │ │ │ ├── tableFilter.min.js │ │ │ ├── tableMerge.js │ │ │ └── tableMerge.min.js │ │ ├── step-lay │ │ │ ├── step.css │ │ │ └── step.js │ │ ├── tableSelect │ │ │ └── tableSelect.js │ │ ├── treetable-lay │ │ │ ├── treetable.css │ │ │ └── treetable.js │ │ └── wangEditor │ │ │ ├── fonts │ │ │ └── w-e-icon.woff │ │ │ ├── wangEditor.css │ │ │ ├── wangEditor.js │ │ │ ├── wangEditor.min.css │ │ │ ├── wangEditor.min.js │ │ │ └── wangEditor.min.js.map │ └── osharp.js │ └── lib │ ├── bootstrap │ ├── LICENSE │ ├── README.md │ ├── dist │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ ├── js │ │ ├── dist │ │ │ ├── alert.js │ │ │ ├── alert.js.map │ │ │ ├── button.js │ │ │ ├── button.js.map │ │ │ ├── carousel.js │ │ │ ├── carousel.js.map │ │ │ ├── collapse.js │ │ │ ├── collapse.js.map │ │ │ ├── dropdown.js │ │ │ ├── dropdown.js.map │ │ │ ├── index.js │ │ │ ├── index.js.map │ │ │ ├── modal.js │ │ │ ├── modal.js.map │ │ │ ├── popover.js │ │ │ ├── popover.js.map │ │ │ ├── scrollspy.js │ │ │ ├── scrollspy.js.map │ │ │ ├── tab.js │ │ │ ├── tab.js.map │ │ │ ├── toast.js │ │ │ ├── toast.js.map │ │ │ ├── tooltip.js │ │ │ ├── tooltip.js.map │ │ │ ├── util.js │ │ │ └── util.js.map │ │ └── src │ │ │ ├── alert.js │ │ │ ├── button.js │ │ │ ├── carousel.js │ │ │ ├── collapse.js │ │ │ ├── dropdown.js │ │ │ ├── index.js │ │ │ ├── modal.js │ │ │ ├── popover.js │ │ │ ├── scrollspy.js │ │ │ ├── tab.js │ │ │ ├── toast.js │ │ │ ├── tools │ │ │ └── sanitizer.js │ │ │ ├── tooltip.js │ │ │ └── util.js │ ├── package.json │ └── scss │ │ ├── _alert.scss │ │ ├── _badge.scss │ │ ├── _breadcrumb.scss │ │ ├── _button-group.scss │ │ ├── _buttons.scss │ │ ├── _card.scss │ │ ├── _carousel.scss │ │ ├── _close.scss │ │ ├── _code.scss │ │ ├── _custom-forms.scss │ │ ├── _dropdown.scss │ │ ├── _forms.scss │ │ ├── _functions.scss │ │ ├── _grid.scss │ │ ├── _images.scss │ │ ├── _input-group.scss │ │ ├── _jumbotron.scss │ │ ├── _list-group.scss │ │ ├── _media.scss │ │ ├── _mixins.scss │ │ ├── _modal.scss │ │ ├── _nav.scss │ │ ├── _navbar.scss │ │ ├── _pagination.scss │ │ ├── _popover.scss │ │ ├── _print.scss │ │ ├── _progress.scss │ │ ├── _reboot.scss │ │ ├── _root.scss │ │ ├── _spinners.scss │ │ ├── _tables.scss │ │ ├── _toasts.scss │ │ ├── _tooltip.scss │ │ ├── _transitions.scss │ │ ├── _type.scss │ │ ├── _utilities.scss │ │ ├── _variables.scss │ │ ├── bootstrap-grid.scss │ │ ├── bootstrap-reboot.scss │ │ ├── bootstrap.scss │ │ ├── mixins │ │ ├── _alert.scss │ │ ├── _background-variant.scss │ │ ├── _badge.scss │ │ ├── _border-radius.scss │ │ ├── _box-shadow.scss │ │ ├── _breakpoints.scss │ │ ├── _buttons.scss │ │ ├── _caret.scss │ │ ├── _clearfix.scss │ │ ├── _deprecate.scss │ │ ├── _float.scss │ │ ├── _forms.scss │ │ ├── _gradients.scss │ │ ├── _grid-framework.scss │ │ ├── _grid.scss │ │ ├── _hover.scss │ │ ├── _image.scss │ │ ├── _list-group.scss │ │ ├── _lists.scss │ │ ├── _nav-divider.scss │ │ ├── _pagination.scss │ │ ├── _reset-text.scss │ │ ├── _resize.scss │ │ ├── _screen-reader.scss │ │ ├── _size.scss │ │ ├── _table-row.scss │ │ ├── _text-emphasis.scss │ │ ├── _text-hide.scss │ │ ├── _text-truncate.scss │ │ ├── _transition.scss │ │ └── _visibility.scss │ │ ├── utilities │ │ ├── _align.scss │ │ ├── _background.scss │ │ ├── _borders.scss │ │ ├── _clearfix.scss │ │ ├── _display.scss │ │ ├── _embed.scss │ │ ├── _flex.scss │ │ ├── _float.scss │ │ ├── _interactions.scss │ │ ├── _overflow.scss │ │ ├── _position.scss │ │ ├── _screenreaders.scss │ │ ├── _shadows.scss │ │ ├── _sizing.scss │ │ ├── _spacing.scss │ │ ├── _stretched-link.scss │ │ ├── _text.scss │ │ └── _visibility.scss │ │ └── vendor │ │ └── _rfs.scss │ ├── font-awesome │ ├── css │ │ ├── font-awesome.css │ │ ├── font-awesome.css.map │ │ └── font-awesome.min.css │ └── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── jq-module │ ├── jquery.particleground.min.js │ ├── paigusu.min.js │ └── zyupload │ │ ├── zyupload-1.0.0.min.css │ │ └── zyupload-1.0.0.min.js │ ├── jquery │ ├── jquery.js │ ├── jquery.min.js │ ├── jquery.min.map │ ├── jquery.slim.js │ ├── jquery.slim.min.js │ └── jquery.slim.min.map │ ├── layui │ ├── css │ │ ├── layui.css │ │ ├── layui.min.css │ │ ├── layui.mobile.css │ │ ├── layui.mobile.min.css │ │ └── modules │ │ │ ├── code.css │ │ │ ├── code.min.css │ │ │ ├── laydate │ │ │ └── default │ │ │ │ ├── laydate.css │ │ │ │ └── laydate.min.css │ │ │ └── layer │ │ │ └── default │ │ │ ├── icon-ext.png │ │ │ ├── icon.png │ │ │ ├── layer.css │ │ │ ├── layer.min.css │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ ├── font │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ ├── iconfont.woff │ │ └── iconfont.woff2 │ ├── images │ │ └── face │ │ │ ├── 0.gif │ │ │ ├── 1.gif │ │ │ ├── 10.gif │ │ │ ├── 11.gif │ │ │ ├── 12.gif │ │ │ ├── 13.gif │ │ │ ├── 14.gif │ │ │ ├── 15.gif │ │ │ ├── 16.gif │ │ │ ├── 17.gif │ │ │ ├── 18.gif │ │ │ ├── 19.gif │ │ │ ├── 2.gif │ │ │ ├── 20.gif │ │ │ ├── 21.gif │ │ │ ├── 22.gif │ │ │ ├── 23.gif │ │ │ ├── 24.gif │ │ │ ├── 25.gif │ │ │ ├── 26.gif │ │ │ ├── 27.gif │ │ │ ├── 28.gif │ │ │ ├── 29.gif │ │ │ ├── 3.gif │ │ │ ├── 30.gif │ │ │ ├── 31.gif │ │ │ ├── 32.gif │ │ │ ├── 33.gif │ │ │ ├── 34.gif │ │ │ ├── 35.gif │ │ │ ├── 36.gif │ │ │ ├── 37.gif │ │ │ ├── 38.gif │ │ │ ├── 39.gif │ │ │ ├── 4.gif │ │ │ ├── 40.gif │ │ │ ├── 41.gif │ │ │ ├── 42.gif │ │ │ ├── 43.gif │ │ │ ├── 44.gif │ │ │ ├── 45.gif │ │ │ ├── 46.gif │ │ │ ├── 47.gif │ │ │ ├── 48.gif │ │ │ ├── 49.gif │ │ │ ├── 5.gif │ │ │ ├── 50.gif │ │ │ ├── 51.gif │ │ │ ├── 52.gif │ │ │ ├── 53.gif │ │ │ ├── 54.gif │ │ │ ├── 55.gif │ │ │ ├── 56.gif │ │ │ ├── 57.gif │ │ │ ├── 58.gif │ │ │ ├── 59.gif │ │ │ ├── 6.gif │ │ │ ├── 60.gif │ │ │ ├── 61.gif │ │ │ ├── 62.gif │ │ │ ├── 63.gif │ │ │ ├── 64.gif │ │ │ ├── 65.gif │ │ │ ├── 66.gif │ │ │ ├── 67.gif │ │ │ ├── 68.gif │ │ │ ├── 69.gif │ │ │ ├── 7.gif │ │ │ ├── 70.gif │ │ │ ├── 71.gif │ │ │ ├── 8.gif │ │ │ └── 9.gif │ ├── lay │ │ └── modules │ │ │ ├── carousel.js │ │ │ ├── carousel.min.js │ │ │ ├── code.js │ │ │ ├── code.min.js │ │ │ ├── colorpicker.js │ │ │ ├── colorpicker.min.js │ │ │ ├── element.js │ │ │ ├── element.min.js │ │ │ ├── flow.js │ │ │ ├── flow.min.js │ │ │ ├── form.js │ │ │ ├── form.min.js │ │ │ ├── jquery.js │ │ │ ├── jquery.min.js │ │ │ ├── laydate.js │ │ │ ├── laydate.min.js │ │ │ ├── layedit.js │ │ │ ├── layedit.min.js │ │ │ ├── layer.js │ │ │ ├── layer.min.js │ │ │ ├── laypage.js │ │ │ ├── laypage.min.js │ │ │ ├── laytpl.js │ │ │ ├── laytpl.min.js │ │ │ ├── mobile.js │ │ │ ├── mobile.min.js │ │ │ ├── rate.js │ │ │ ├── rate.min.js │ │ │ ├── slider.js │ │ │ ├── slider.min.js │ │ │ ├── table.js │ │ │ ├── table.min.js │ │ │ ├── transfer.js │ │ │ ├── transfer.min.js │ │ │ ├── tree.js │ │ │ ├── tree.min.js │ │ │ ├── upload.js │ │ │ ├── upload.min.js │ │ │ ├── util.js │ │ │ └── util.min.js │ ├── layui.all.js │ ├── layui.all.min.js │ ├── layui.js │ └── layui.min.js │ └── moment.js │ ├── locale │ ├── af.js │ ├── ar-dz.js │ ├── ar-kw.js │ ├── ar-ly.js │ ├── ar-ma.js │ ├── ar-sa.js │ ├── ar-tn.js │ ├── ar.js │ ├── az.js │ ├── be.js │ ├── bg.js │ ├── bm.js │ ├── bn.js │ ├── bo.js │ ├── br.js │ ├── bs.js │ ├── ca.js │ ├── cs.js │ ├── cv.js │ ├── cy.js │ ├── da.js │ ├── de-at.js │ ├── de-ch.js │ ├── de.js │ ├── dv.js │ ├── el.js │ ├── en-au.js │ ├── en-ca.js │ ├── en-gb.js │ ├── en-ie.js │ ├── en-il.js │ ├── en-in.js │ ├── en-nz.js │ ├── en-sg.js │ ├── eo.js │ ├── es-do.js │ ├── es-us.js │ ├── es.js │ ├── et.js │ ├── eu.js │ ├── fa.js │ ├── fi.js │ ├── fil.js │ ├── fo.js │ ├── fr-ca.js │ ├── fr-ch.js │ ├── fr.js │ ├── fy.js │ ├── ga.js │ ├── gd.js │ ├── gl.js │ ├── gom-deva.js │ ├── gom-latn.js │ ├── gu.js │ ├── he.js │ ├── hi.js │ ├── hr.js │ ├── hu.js │ ├── hy-am.js │ ├── id.js │ ├── is.js │ ├── it-ch.js │ ├── it.js │ ├── ja.js │ ├── jv.js │ ├── ka.js │ ├── kk.js │ ├── km.js │ ├── kn.js │ ├── ko.js │ ├── ku.js │ ├── ky.js │ ├── lb.js │ ├── lo.js │ ├── lt.js │ ├── lv.js │ ├── me.js │ ├── mi.js │ ├── mk.js │ ├── ml.js │ ├── mn.js │ ├── mr.js │ ├── ms-my.js │ ├── ms.js │ ├── mt.js │ ├── my.js │ ├── nb.js │ ├── ne.js │ ├── nl-be.js │ ├── nl.js │ ├── nn.js │ ├── oc-lnc.js │ ├── pa-in.js │ ├── pl.js │ ├── pt-br.js │ ├── pt.js │ ├── ro.js │ ├── ru.js │ ├── sd.js │ ├── se.js │ ├── si.js │ ├── sk.js │ ├── sl.js │ ├── sq.js │ ├── sr-cyrl.js │ ├── sr.js │ ├── ss.js │ ├── sv.js │ ├── sw.js │ ├── ta.js │ ├── te.js │ ├── tet.js │ ├── tg.js │ ├── th.js │ ├── tl-ph.js │ ├── tlh.js │ ├── tr.js │ ├── tzl.js │ ├── tzm-latn.js │ ├── tzm.js │ ├── ug-cn.js │ ├── uk.js │ ├── ur.js │ ├── uz-latn.js │ ├── uz.js │ ├── vi.js │ ├── x-pseudo.js │ ├── yo.js │ ├── zh-cn.js │ ├── zh-hk.js │ ├── zh-mo.js │ └── zh-tw.js │ ├── moment-with-locales.js │ ├── moment-with-locales.min.js │ ├── moment.js │ └── moment.min.js └── Liuliu.Demo.Web ├── .editorconfig ├── Areas └── Admin │ ├── Controllers │ ├── AdminControllerBase.cs │ ├── Auth │ │ ├── EntityInfoController.cs │ │ ├── FunctionController.cs │ │ ├── ModuleController.cs │ │ └── RoleEntityController.cs │ ├── HomeController.cs │ ├── Identity │ │ ├── RoleController.cs │ │ ├── UserController.cs │ │ └── UserRoleController.cs │ ├── Systems │ │ └── PackController.cs │ └── SystemsController.cs │ ├── Models │ └── InitModel.cs │ └── Views │ ├── EntityInfo │ └── Index.cshtml │ ├── Function │ └── Index.cshtml │ ├── Home │ ├── Dashboard.cshtml │ └── Index.cshtml │ ├── Module │ └── Index.cshtml │ ├── Pack │ └── Index.cshtml │ ├── Role │ └── Index.cshtml │ ├── RoleEntity │ └── Index.cshtml │ ├── Shared │ ├── _Layout.cshtml │ └── _Layout_Table.cshtml │ ├── Systems │ ├── AuditEntities.cshtml │ ├── AuditOperations.cshtml │ └── Settings.cshtml │ ├── User │ └── Index.cshtml │ ├── UserRole │ └── Index.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── Controllers ├── HomeController.cs ├── IdentityController.cs └── SiteControllerBase.cs ├── Dockerfile ├── Liuliu.Demo.Web.csproj ├── Migrations ├── 20200828083239_Init.Designer.cs ├── 20200828083239_Init.cs └── DefaultDbContextModelSnapshot.cs ├── Models └── ErrorViewModel.cs ├── Program.cs ├── Properties └── launchSettings.json ├── Startup.cs ├── Startups ├── DesignTimeDefaultDbContextFactory.cs └── SqliteDefaultDbContextMigrationPack.cs ├── Views ├── Home │ ├── Index.cshtml │ └── Privacy.cshtml ├── Identity │ └── Login.cshtml ├── Shared │ ├── Error.cshtml │ ├── _Layout.cshtml │ ├── _LoginLayout.cshtml │ ├── _LoginPartial.cshtml │ ├── _Logout.cshtml │ └── _ValidationScriptsPartial.cshtml ├── _ViewImports.cshtml └── _ViewStart.cshtml ├── appsettings.Development.json ├── appsettings.json ├── bundleconfig.json ├── libman.json ├── osharp-demo-layui.db └── wwwroot ├── api ├── clear.json ├── init.json ├── menus.json ├── table.json ├── tableSelect.json └── upload.json ├── css ├── layuimini.css ├── public.css └── themes │ └── default.css ├── favicon.ico ├── images ├── bg.jpg ├── captcha.jpg ├── donate_qrcode.png ├── favicon.ico ├── home.png └── logo.png ├── js ├── lay-config.js ├── lay-module │ ├── echarts │ │ ├── echarts.js │ │ └── echartsTheme.js │ ├── iconPicker │ │ └── iconPickerFa.js │ ├── layarea │ │ └── layarea.js │ ├── layuimini │ │ ├── miniAdmin.js │ │ ├── miniMenu.js │ │ ├── miniTab.js │ │ ├── miniTheme.js │ │ └── miniTongji.js │ ├── soulTable │ │ ├── excel.js │ │ ├── excel.min.js │ │ ├── soulTable.css │ │ ├── soulTable.js │ │ ├── soulTable.min.css │ │ ├── soulTable.min.js │ │ ├── soulTable.slim.js │ │ ├── tableChild.js │ │ ├── tableChild.min.js │ │ ├── tableFilter.js │ │ ├── tableFilter.min.js │ │ ├── tableMerge.js │ │ └── tableMerge.min.js │ ├── step-lay │ │ ├── step.css │ │ └── step.js │ ├── tableSelect │ │ └── tableSelect.js │ ├── treetable-lay │ │ ├── treetable.css │ │ └── treetable.js │ └── wangEditor │ │ ├── fonts │ │ └── w-e-icon.woff │ │ ├── wangEditor.css │ │ ├── wangEditor.js │ │ ├── wangEditor.min.css │ │ ├── wangEditor.min.js │ │ └── wangEditor.min.js.map └── osharp.js └── lib ├── bootstrap ├── LICENSE ├── README.md ├── dist │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map ├── js │ ├── dist │ │ ├── alert.js │ │ ├── alert.js.map │ │ ├── button.js │ │ ├── button.js.map │ │ ├── carousel.js │ │ ├── carousel.js.map │ │ ├── collapse.js │ │ ├── collapse.js.map │ │ ├── dropdown.js │ │ ├── dropdown.js.map │ │ ├── index.js │ │ ├── index.js.map │ │ ├── modal.js │ │ ├── modal.js.map │ │ ├── popover.js │ │ ├── popover.js.map │ │ ├── scrollspy.js │ │ ├── scrollspy.js.map │ │ ├── tab.js │ │ ├── tab.js.map │ │ ├── toast.js │ │ ├── toast.js.map │ │ ├── tooltip.js │ │ ├── tooltip.js.map │ │ ├── util.js │ │ └── util.js.map │ └── src │ │ ├── alert.js │ │ ├── button.js │ │ ├── carousel.js │ │ ├── collapse.js │ │ ├── dropdown.js │ │ ├── index.js │ │ ├── modal.js │ │ ├── popover.js │ │ ├── scrollspy.js │ │ ├── tab.js │ │ ├── toast.js │ │ ├── tools │ │ └── sanitizer.js │ │ ├── tooltip.js │ │ └── util.js ├── package.json └── scss │ ├── _alert.scss │ ├── _badge.scss │ ├── _breadcrumb.scss │ ├── _button-group.scss │ ├── _buttons.scss │ ├── _card.scss │ ├── _carousel.scss │ ├── _close.scss │ ├── _code.scss │ ├── _custom-forms.scss │ ├── _dropdown.scss │ ├── _forms.scss │ ├── _functions.scss │ ├── _grid.scss │ ├── _images.scss │ ├── _input-group.scss │ ├── _jumbotron.scss │ ├── _list-group.scss │ ├── _media.scss │ ├── _mixins.scss │ ├── _modal.scss │ ├── _nav.scss │ ├── _navbar.scss │ ├── _pagination.scss │ ├── _popover.scss │ ├── _print.scss │ ├── _progress.scss │ ├── _reboot.scss │ ├── _root.scss │ ├── _spinners.scss │ ├── _tables.scss │ ├── _toasts.scss │ ├── _tooltip.scss │ ├── _transitions.scss │ ├── _type.scss │ ├── _utilities.scss │ ├── _variables.scss │ ├── bootstrap-grid.scss │ ├── bootstrap-reboot.scss │ ├── bootstrap.scss │ ├── mixins │ ├── _alert.scss │ ├── _background-variant.scss │ ├── _badge.scss │ ├── _border-radius.scss │ ├── _box-shadow.scss │ ├── _breakpoints.scss │ ├── _buttons.scss │ ├── _caret.scss │ ├── _clearfix.scss │ ├── _deprecate.scss │ ├── _float.scss │ ├── _forms.scss │ ├── _gradients.scss │ ├── _grid-framework.scss │ ├── _grid.scss │ ├── _hover.scss │ ├── _image.scss │ ├── _list-group.scss │ ├── _lists.scss │ ├── _nav-divider.scss │ ├── _pagination.scss │ ├── _reset-text.scss │ ├── _resize.scss │ ├── _screen-reader.scss │ ├── _size.scss │ ├── _table-row.scss │ ├── _text-emphasis.scss │ ├── _text-hide.scss │ ├── _text-truncate.scss │ ├── _transition.scss │ └── _visibility.scss │ ├── utilities │ ├── _align.scss │ ├── _background.scss │ ├── _borders.scss │ ├── _clearfix.scss │ ├── _display.scss │ ├── _embed.scss │ ├── _flex.scss │ ├── _float.scss │ ├── _interactions.scss │ ├── _overflow.scss │ ├── _position.scss │ ├── _screenreaders.scss │ ├── _shadows.scss │ ├── _sizing.scss │ ├── _spacing.scss │ ├── _stretched-link.scss │ ├── _text.scss │ └── _visibility.scss │ └── vendor │ └── _rfs.scss ├── font-awesome ├── css │ ├── font-awesome.css │ ├── font-awesome.css.map │ └── font-awesome.min.css └── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 ├── jq-module ├── jquery.particleground.min.js ├── paigusu.min.js └── zyupload │ ├── zyupload-1.0.0.min.css │ └── zyupload-1.0.0.min.js ├── jquery ├── jquery.js ├── jquery.min.js ├── jquery.min.map ├── jquery.slim.js ├── jquery.slim.min.js └── jquery.slim.min.map ├── layui ├── css │ ├── layui.css │ ├── layui.min.css │ ├── layui.mobile.css │ ├── layui.mobile.min.css │ └── modules │ │ ├── code.css │ │ ├── code.min.css │ │ ├── laydate │ │ └── default │ │ │ ├── laydate.css │ │ │ └── laydate.min.css │ │ └── layer │ │ └── default │ │ ├── icon-ext.png │ │ ├── icon.png │ │ ├── layer.css │ │ ├── layer.min.css │ │ ├── loading-0.gif │ │ ├── loading-1.gif │ │ └── loading-2.gif ├── font │ ├── iconfont.eot │ ├── iconfont.svg │ ├── iconfont.ttf │ ├── iconfont.woff │ └── iconfont.woff2 ├── images │ └── face │ │ ├── 0.gif │ │ ├── 1.gif │ │ ├── 10.gif │ │ ├── 11.gif │ │ ├── 12.gif │ │ ├── 13.gif │ │ ├── 14.gif │ │ ├── 15.gif │ │ ├── 16.gif │ │ ├── 17.gif │ │ ├── 18.gif │ │ ├── 19.gif │ │ ├── 2.gif │ │ ├── 20.gif │ │ ├── 21.gif │ │ ├── 22.gif │ │ ├── 23.gif │ │ ├── 24.gif │ │ ├── 25.gif │ │ ├── 26.gif │ │ ├── 27.gif │ │ ├── 28.gif │ │ ├── 29.gif │ │ ├── 3.gif │ │ ├── 30.gif │ │ ├── 31.gif │ │ ├── 32.gif │ │ ├── 33.gif │ │ ├── 34.gif │ │ ├── 35.gif │ │ ├── 36.gif │ │ ├── 37.gif │ │ ├── 38.gif │ │ ├── 39.gif │ │ ├── 4.gif │ │ ├── 40.gif │ │ ├── 41.gif │ │ ├── 42.gif │ │ ├── 43.gif │ │ ├── 44.gif │ │ ├── 45.gif │ │ ├── 46.gif │ │ ├── 47.gif │ │ ├── 48.gif │ │ ├── 49.gif │ │ ├── 5.gif │ │ ├── 50.gif │ │ ├── 51.gif │ │ ├── 52.gif │ │ ├── 53.gif │ │ ├── 54.gif │ │ ├── 55.gif │ │ ├── 56.gif │ │ ├── 57.gif │ │ ├── 58.gif │ │ ├── 59.gif │ │ ├── 6.gif │ │ ├── 60.gif │ │ ├── 61.gif │ │ ├── 62.gif │ │ ├── 63.gif │ │ ├── 64.gif │ │ ├── 65.gif │ │ ├── 66.gif │ │ ├── 67.gif │ │ ├── 68.gif │ │ ├── 69.gif │ │ ├── 7.gif │ │ ├── 70.gif │ │ ├── 71.gif │ │ ├── 8.gif │ │ └── 9.gif ├── lay │ └── modules │ │ ├── carousel.js │ │ ├── carousel.min.js │ │ ├── code.js │ │ ├── code.min.js │ │ ├── colorpicker.js │ │ ├── colorpicker.min.js │ │ ├── element.js │ │ ├── element.min.js │ │ ├── flow.js │ │ ├── flow.min.js │ │ ├── form.js │ │ ├── form.min.js │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ ├── laydate.js │ │ ├── laydate.min.js │ │ ├── layedit.js │ │ ├── layedit.min.js │ │ ├── layer.js │ │ ├── layer.min.js │ │ ├── laypage.js │ │ ├── laypage.min.js │ │ ├── laytpl.js │ │ ├── laytpl.min.js │ │ ├── mobile.js │ │ ├── mobile.min.js │ │ ├── rate.js │ │ ├── rate.min.js │ │ ├── slider.js │ │ ├── slider.min.js │ │ ├── table.js │ │ ├── table.min.js │ │ ├── transfer.js │ │ ├── transfer.min.js │ │ ├── tree.js │ │ ├── tree.min.js │ │ ├── upload.js │ │ ├── upload.min.js │ │ ├── util.js │ │ └── util.min.js ├── layui.all.js ├── layui.all.min.js ├── layui.js └── layui.min.js └── moment.js ├── locale ├── af.js ├── ar-dz.js ├── ar-kw.js ├── ar-ly.js ├── ar-ma.js ├── ar-sa.js ├── ar-tn.js ├── ar.js ├── az.js ├── be.js ├── bg.js ├── bm.js ├── bn.js ├── bo.js ├── br.js ├── bs.js ├── ca.js ├── cs.js ├── cv.js ├── cy.js ├── da.js ├── de-at.js ├── de-ch.js ├── de.js ├── dv.js ├── el.js ├── en-au.js ├── en-ca.js ├── en-gb.js ├── en-ie.js ├── en-il.js ├── en-in.js ├── en-nz.js ├── en-sg.js ├── eo.js ├── es-do.js ├── es-us.js ├── es.js ├── et.js ├── eu.js ├── fa.js ├── fi.js ├── fil.js ├── fo.js ├── fr-ca.js ├── fr-ch.js ├── fr.js ├── fy.js ├── ga.js ├── gd.js ├── gl.js ├── gom-deva.js ├── gom-latn.js ├── gu.js ├── he.js ├── hi.js ├── hr.js ├── hu.js ├── hy-am.js ├── id.js ├── is.js ├── it-ch.js ├── it.js ├── ja.js ├── jv.js ├── ka.js ├── kk.js ├── km.js ├── kn.js ├── ko.js ├── ku.js ├── ky.js ├── lb.js ├── lo.js ├── lt.js ├── lv.js ├── me.js ├── mi.js ├── mk.js ├── ml.js ├── mn.js ├── mr.js ├── ms-my.js ├── ms.js ├── mt.js ├── my.js ├── nb.js ├── ne.js ├── nl-be.js ├── nl.js ├── nn.js ├── oc-lnc.js ├── pa-in.js ├── pl.js ├── pt-br.js ├── pt.js ├── ro.js ├── ru.js ├── sd.js ├── se.js ├── si.js ├── sk.js ├── sl.js ├── sq.js ├── sr-cyrl.js ├── sr.js ├── ss.js ├── sv.js ├── sw.js ├── ta.js ├── te.js ├── tet.js ├── tg.js ├── th.js ├── tl-ph.js ├── tlh.js ├── tr.js ├── tzl.js ├── tzm-latn.js ├── tzm.js ├── ug-cn.js ├── uk.js ├── ur.js ├── uz-latn.js ├── uz.js ├── vi.js ├── x-pseudo.js ├── yo.js ├── zh-cn.js ├── zh-hk.js ├── zh-mo.js └── zh-tw.js ├── moment-with-locales.js ├── moment-with-locales.min.js ├── moment.js └── moment.min.js /.dockerignore: -------------------------------------------------------------------------------- 1 | **/.classpath 2 | **/.dockerignore 3 | **/.env 4 | **/.git 5 | **/.gitignore 6 | **/.project 7 | **/.settings 8 | **/.toolstarget 9 | **/.vs 10 | **/.vscode 11 | **/*.*proj.user 12 | **/*.dbmdl 13 | **/*.jfm 14 | **/azds.yaml 15 | **/bin 16 | **/charts 17 | **/docker-compose* 18 | **/Dockerfile* 19 | **/node_modules 20 | **/npm-debug.log 21 | **/obj 22 | **/secrets.dev.yaml 23 | **/values.dev.yaml 24 | LICENSE 25 | README.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # osharp-layui 2 | osharp ui with layui 3 | -------------------------------------------------------------------------------- /build/OSharp.Keys.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/build/OSharp.Keys.snk -------------------------------------------------------------------------------- /build/version.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 3.1 4 | 7 5 | -preview 6 | 0826 7 | 8 | $(VersionMain).$(VersionPrefix) 9 | $(VersionMain).$(VersionPrefix) 10 | $(VersionMain).$(VersionPrefix).$(VersionSuffixVersion) 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | #缩进风格:空格 6 | indent_style = space 7 | #缩进大小4 8 | indent_size = 4 9 | #换行符lf 10 | end_of_line = lf 11 | #字符集utf-8 12 | charset = utf-8 13 | #是否删除行尾的空格 14 | trim_trailing_whitespace = true 15 | #是否在文件的最后插入一个空行 16 | insert_final_newline = true 17 | 18 | [*.{cshtml,xaml,js,json,csproj}] 19 | #缩进大小2 20 | indent_size = 2 21 | 22 | [*.md] 23 | trim_trailing_whitespace = false 24 | 25 | [Makefile] 26 | indent_style = tab 27 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/AdminControllerBase.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-13 1:12 8 | // ----------------------------------------------------------------------- 9 | 10 | using Microsoft.AspNetCore.Authorization; 11 | 12 | using OSharp.AspNetCore.Mvc; 13 | using OSharp.Authorization; 14 | 15 | 16 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 17 | { 18 | [AreaInfo("Admin", Display = "管理")] 19 | [RoleLimit] 20 | [Authorize(Policy = FunctionRequirement.OsharpPolicy)] 21 | public abstract class AdminControllerBase : AreaBaseController 22 | { } 23 | } 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/Auth/EntityInfoController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-15 20:54 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 5, Position = "Auth", PositionName = "权限授权模块")] 20 | [Description("管理-实体信息")] 21 | public class EntityInfoController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("数据实体列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/Auth/FunctionController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-15 20:51 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 2, Position = "Auth", PositionName = "权限授权模块")] 20 | [Description("管理-功能信息")] 21 | public class FunctionController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("功能列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/Auth/ModuleController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-15 20:49 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 1, Position = "Auth", PositionName = "权限授权模块")] 20 | [Description("管理-模块信息")] 21 | public class ModuleController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("模块列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/Auth/RoleEntityController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-15 20:57 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 6, Position = "Auth", PositionName = "权限授权模块")] 20 | [Description("管理-角色数据权限")] 21 | public class RoleEntityController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("数据权限列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/Identity/RoleController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-14 21:36 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Authorization; 13 | using Microsoft.AspNetCore.Mvc; 14 | 15 | using OSharp.Authorization.Modules; 16 | 17 | 18 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 19 | { 20 | [ModuleInfo(Order = 2, Position = "Identity", PositionName = "身份认证模块")] 21 | [Description("管理-角色信息")] 22 | public class RoleController : AdminControllerBase 23 | { 24 | [Description("角色列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/Identity/UserController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-14 21:29 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 1, Position = "Identity", PositionName = "身份认证模块")] 20 | [Description("管理-用户信息")] 21 | public class UserController : AdminControllerBase 22 | { 23 | [Description("用户列表")] 24 | public IActionResult Index() 25 | { 26 | return View(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/Identity/UserRoleController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-14 21:41 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 3, Position = "Identity", PositionName = "身份认证模块")] 20 | [Description("管理-用户角色信息")] 21 | public class UserRoleController : AdminControllerBase 22 | { 23 | [Description("用户角色列表")] 24 | public IActionResult Index() 25 | { 26 | return View(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/Systems/PackController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-07-14 20:18 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 4, Position = "Systems", PositionName = "系统管理模块")] 20 | [Description("管理-模块包信息")] 21 | public class PackController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("模块包列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Controllers/SystemsController.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | 3 | using Microsoft.AspNetCore.Mvc; 4 | 5 | 6 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 7 | { 8 | public class SystemsController : AdminControllerBase 9 | { 10 | [Description("系统设置")] 11 | public IActionResult Settings() 12 | { 13 | return View(); 14 | } 15 | 16 | [Description("操作审计")] 17 | public IActionResult AuditOperations() 18 | { 19 | return View(); 20 | } 21 | 22 | [Description("数据审计")] 23 | public IActionResult AuditEntities() 24 | { 25 | return View(); 26 | } 27 | 28 | [Description("模块包管理")] 29 | public IActionResult Packs() 30 | { 31 | return View(); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/Home/Dashboard.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "信息汇总"; 3 | 4 | } 5 |

Dashboard

6 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/Module/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout_Table"; 3 | ViewBag.Title = "模块信息管理"; 4 | ViewBag.Name = "module"; 5 | } 6 | @section tableParam 7 | { 8 | 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/Pack/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout_Table"; 3 | ViewData["Title"] = "模块包管理"; 4 | ViewBag.Name = "pack"; 5 | } 6 | @section tableParam 7 | { 8 | 21 | } 22 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/RoleEntity/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout_Table"; 3 | ViewBag.Title = "数据权限信息管理"; 4 | ViewBag.Name = "roleentity"; 5 | 6 | } 7 | @section tableParam 8 | { 9 | 12 | } 13 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | @ViewBag.Title - OSharp管理系统 6 | 7 | 8 | 9 | 10 | 11 | 12 | @await RenderSectionAsync("header", false) 13 | 14 | 15 |
16 | @RenderBody() 17 |
18 | 19 | 20 | 21 | @await RenderSectionAsync("footer", false) 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/Systems/AuditEntities.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @* 3 | For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 4 | *@ 5 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/Systems/AuditOperations.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @* 3 | For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 4 | *@ 5 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/Systems/Settings.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @* 3 | For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 4 | *@ 5 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/UserRole/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout_Table"; 3 | ViewData["Title"] = "用户角色管理"; 4 | ViewBag.Name = "userrole"; 5 | } 6 | @section tableParam 7 | { 8 | 18 | } 19 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Areas/Admin/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Controllers/SiteControllerBase.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-16 9:04 8 | // ----------------------------------------------------------------------- 9 | 10 | using System; 11 | using System.ComponentModel; 12 | 13 | using Microsoft.AspNetCore.Authentication.Cookies; 14 | using Microsoft.AspNetCore.Authorization; 15 | 16 | using OSharp.AspNetCore.Mvc; 17 | using OSharp.Authorization; 18 | 19 | 20 | namespace Liuliu.Demo.Web.Controllers 21 | { 22 | /// 23 | /// 站点根节点的MVC控制器基类,使用OSharpPolicy权限策略 24 | /// 25 | [DisplayName("网站")] 26 | [Authorize( Policy = FunctionRequirement.OsharpPolicy)] 27 | public class SiteControllerBase : BaseController 28 | { 29 | protected static readonly Random Random = new Random(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Models/ErrorViewModel.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-02 23:32 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace Liuliu.Demo.Web.Models 11 | { 12 | public class ErrorViewModel 13 | { 14 | public string RequestId { get; set; } 15 | 16 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Program.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-02 23:31 8 | // ----------------------------------------------------------------------- 9 | 10 | using Microsoft.AspNetCore.Hosting; 11 | using Microsoft.Extensions.Hosting; 12 | 13 | 14 | namespace Liuliu.Demo.Web 15 | { 16 | public class Program 17 | { 18 | public static void Main(string[] args) 19 | { 20 | CreateHostBuilder(args).Build().Run(); 21 | } 22 | 23 | public static IHostBuilder CreateHostBuilder(string[] args) => 24 | Host.CreateDefaultBuilder(args) 25 | .ConfigureWebHostDefaults(webBuilder => 26 | { 27 | webBuilder.UseStartup(); 28 | }); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:1990", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "Liuliu.Demo.Web": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "applicationUrl": "http://localhost:5000", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Startups/SqliteDefaultDbContextMigrationPack.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | 4 | using OSharp.Core.Packs; 5 | using OSharp.Entity; 6 | using OSharp.Entity.Sqlite; 7 | 8 | 9 | namespace Liuliu.Demo.Web.Startups 10 | { 11 | /// 12 | /// Sqlite-DefaultDbContext迁移模块 13 | /// 14 | [DependsOnPacks(typeof(SqliteEntityFrameworkCorePack))] 15 | [Description("Sqlite-DefaultDbContext迁移模块")] 16 | public class SqliteDefaultDbContextMigrationPack : MigrationPackBase 17 | { 18 | /// 19 | /// 获取 模块启动顺序,模块启动的顺序先按级别启动,级别内部再按此顺序启动, 20 | /// 级别默认为0,表示无依赖,需要在同级别有依赖顺序的时候,再重写为>0的顺序值 21 | /// 22 | public override int Order => 2; 23 | 24 | /// 25 | /// 获取 数据库类型 26 | /// 27 | protected override DatabaseType DatabaseType => DatabaseType.Sqlite; 28 | 29 | /// 30 | /// 重写实现获取数据上下文实例 31 | /// 32 | /// 服务提供者 33 | /// 34 | protected override DefaultDbContext CreateDbContext(IServiceProvider scopedProvider) 35 | { 36 | return new DesignTimeDefaultDbContextFactory(scopedProvider).CreateDbContext(new string[0]); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | } 4 | 5 |
6 |

Welcome

7 |

Learn about building Web apps with ASP.NET Core.

8 |
9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Views/Home/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Privacy Policy"; 3 | } 4 |

@ViewData["Title"]

5 | 6 |

Use this page to detail your site's privacy policy.

7 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @model ErrorViewModel 2 | @{ 3 | ViewData["Title"] = "Error"; 4 | } 5 | 6 |

Error.

7 |

An error occurred while processing your request.

8 | 9 | @if (Model.ShowRequestId) 10 | { 11 |

12 | Request ID: @Model.RequestId 13 |

14 | } 15 | 16 |

Development Mode

17 |

18 | Swapping to Development environment will display more detailed information about the error that occurred. 19 |

20 |

21 | The Development environment shouldn't be enabled for deployed applications. 22 | It can result in displaying sensitive information from exceptions to end users. 23 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 24 | and restarting the app. 25 |

26 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Views/Shared/_LoginLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ Layout = null;} 2 | 3 | 4 | 5 | 6 | @ViewBag.Title - OSharp管理系统 7 | 8 | 9 | 10 | 11 | 12 | 13 | @await RenderSectionAsync("header", false) 14 | 15 | 16 |
17 | @RenderBody() 18 |
19 | 20 | 21 | @await RenderSectionAsync("footer", false) 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Views/Shared/_LoginPartial.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Identity 2 | @using OSharp.Hosting.Identity.Entities 3 | @inject SignInManager SignInManager 4 | @inject UserManager UserManager 5 | 6 | 26 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Views/Shared/_Logout.cshtml: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 16 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Liuliu.Demo.Web 2 | @using Liuliu.Demo.Web.Models 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/libman.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "defaultProvider": "cdnjs", 4 | "libraries": [ 5 | { 6 | "provider": "unpkg", 7 | "library": "bootstrap@4.5.0", 8 | "destination": "wwwroot/lib/bootstrap/" 9 | }, 10 | { 11 | "library": "jquery@3.5.1", 12 | "destination": "wwwroot/lib/jquery/" 13 | }, 14 | { 15 | "library": "font-awesome@4.7.0", 16 | "destination": "wwwroot/lib/font-awesome/" 17 | }, 18 | { 19 | "library": "moment.js@2.26.0", 20 | "destination": "wwwroot/lib/moment.js/" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/osharp-mvc-dev.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/osharp-mvc-dev.db -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/api/clear.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 1, 3 | "msg": "服务端清理缓存成功" 4 | } -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/api/tableSelect.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0, 3 | "msg": "", 4 | "count": 16, 5 | "data": [ 6 | { "id":"001", "username":"张玉林", "sex":"女" }, 7 | { "id":"002", "username":"刘晓军", "sex":"男" }, 8 | { "id":"003", "username":"张恒", "sex":"男" }, 9 | { "id":"004", "username":"朱一", "sex":"男" }, 10 | { "id":"005", "username":"刘佳能", "sex":"女" }, 11 | { "id":"006", "username":"晓梅", "sex":"女" }, 12 | { "id":"007", "username":"马冬梅", "sex":"女" }, 13 | { "id":"008", "username":"刘晓庆", "sex":"女" }, 14 | { "id":"009", "username":"刘晓庆", "sex":"女" }, 15 | { "id":"010", "username":"刘晓庆", "sex":"女" }, 16 | { "id":"011", "username":"刘晓庆", "sex":"女" }, 17 | { "id":"012", "username":"刘晓庆", "sex":"女" }, 18 | { "id":"013", "username":"刘晓庆", "sex":"女" }, 19 | { "id":"014", "username":"刘晓庆", "sex":"女" }, 20 | { "id":"015", "username":"刘晓庆", "sex":"女" }, 21 | { "id":"016", "username":"刘晓庆", "sex":"女" } 22 | ] 23 | } -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/api/upload.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 1, 3 | "msg": "上传成功", 4 | "data": { 5 | "url": [ 6 | "../images/logo.png", 7 | "../images/captcha.jpg" 8 | ] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/images/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/images/bg.jpg -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/images/captcha.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/images/captcha.jpg -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/images/donate_qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/images/donate_qrcode.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/images/favicon.ico -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/images/home.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/images/logo.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/js/lay-config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * date:2019/08/16 3 | * author:Mr.Chung 4 | * description:此处放layui自定义扩展 5 | * version:2.0.4 6 | */ 7 | 8 | window.rootPath = (function (src) { 9 | src = document.scripts[document.scripts.length - 1].src; 10 | return src.substring(0, src.lastIndexOf("/") + 1); 11 | })(); 12 | 13 | layui.config({ 14 | base: rootPath + "lay-module/", 15 | version: true 16 | }).extend({ 17 | miniAdmin: "layuimini/miniAdmin", // layuimini后台扩展 18 | miniMenu: "layuimini/miniMenu", // layuimini菜单扩展 19 | miniTab: "layuimini/miniTab", // layuimini tab扩展 20 | miniTheme: "layuimini/miniTheme", // layuimini 主题扩展 21 | miniTongji: "layuimini/miniTongji", // layuimini 统计扩展 22 | step: 'step-lay/step', // 分步表单扩展 23 | treetable: 'treetable-lay/treetable', //table树形扩展 24 | tableSelect: 'tableSelect/tableSelect', // table选择扩展 25 | iconPickerFa: 'iconPicker/iconPickerFa', // fa图标选择扩展 26 | echarts: 'echarts/echarts', // echarts图表扩展 27 | echartsTheme: 'echarts/echartsTheme', // echarts图表主题扩展 28 | wangEditor: 'wangEditor/wangEditor', // wangEditor富文本扩展 29 | layarea: 'layarea/layarea', // 省市县区三级联动下拉选择器 30 | soulTable: 'soulTable/soulTable', 31 | tableChild: 'soulTable/tableChild', 32 | tableMerge: 'soulTable/tableMerge', 33 | tableFilter: 'soulTable/tableFilter', 34 | excel: 'soulTable/excel', 35 | }); 36 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/js/lay-module/layuimini/miniTongji.js: -------------------------------------------------------------------------------- 1 | /** 2 | * date:2020/03/01 3 | * author:Mr.Chung 4 | * version:2.0 5 | * description:layuimini 统计框架扩展 6 | */ 7 | layui.define(["jquery"], function (exports) { 8 | var $ = layui.$; 9 | 10 | var miniTongji = { 11 | 12 | /** 13 | * 初始化 14 | * @param options 15 | */ 16 | render: function (options) { 17 | options.specific = options.specific || false; 18 | options.domains = options.domains || []; 19 | var domain = window.location.hostname; 20 | if (options.specific === false || (options.specific === true && options.domains.indexOf(domain) >=0)) { 21 | miniTongji.listen(); 22 | } 23 | }, 24 | 25 | /** 26 | * 监听统计代码 27 | */ 28 | listen: function () { 29 | var _hmt = _hmt || []; 30 | (function () { 31 | var hm = document.createElement("script"); 32 | hm.src = "https://hm.baidu.com/hm.js?d97abf6d61c21d773f97835defbdef4e"; 33 | var s = document.getElementsByTagName("script")[0]; 34 | s.parentNode.insertBefore(hm, s); 35 | })(); 36 | } 37 | }; 38 | 39 | exports("miniTongji", miniTongji); 40 | }); -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/js/lay-module/treetable-lay/treetable.css: -------------------------------------------------------------------------------- 1 | .treeTable-empty { 2 | width: 20px; 3 | display: inline-block; 4 | } 5 | 6 | .treeTable-icon { 7 | cursor: pointer; 8 | } 9 | 10 | .treeTable-icon .layui-icon-triangle-d:before { 11 | content: "\e623"; 12 | } 13 | 14 | .treeTable-icon.open .layui-icon-triangle-d:before { 15 | content: "\e625"; 16 | background-color: transparent; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/js/lay-module/wangEditor/fonts/w-e-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/js/lay-module/wangEditor/fonts/w-e-icon.woff -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2020 Twitter, Inc. 4 | Copyright (c) 2011-2020 The Bootstrap Authors 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/js/dist/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * -------------------------------------------------------------------------- 3 | * Bootstrap (v4.4.0): index.js 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | * -------------------------------------------------------------------------- 6 | */ 7 | (function ($) { 8 | if (typeof $ === 'undefined') { 9 | throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); 10 | } 11 | 12 | var version = $.fn.jquery.split(' ')[0].split('.'); 13 | var minMajor = 1; 14 | var ltMajor = 2; 15 | var minMinor = 9; 16 | var minPatch = 1; 17 | var maxMajor = 4; 18 | 19 | if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { 20 | throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); 21 | } 22 | })($); 23 | //# sourceMappingURL=index.js.map -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/js/src/index.js: -------------------------------------------------------------------------------- 1 | import Alert from './alert' 2 | import Button from './button' 3 | import Carousel from './carousel' 4 | import Collapse from './collapse' 5 | import Dropdown from './dropdown' 6 | import Modal from './modal' 7 | import Popover from './popover' 8 | import Scrollspy from './scrollspy' 9 | import Tab from './tab' 10 | import Toast from './toast' 11 | import Tooltip from './tooltip' 12 | import Util from './util' 13 | 14 | /** 15 | * -------------------------------------------------------------------------- 16 | * Bootstrap (v4.5.0): index.js 17 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 18 | * -------------------------------------------------------------------------- 19 | */ 20 | 21 | export { 22 | Util, 23 | Alert, 24 | Button, 25 | Carousel, 26 | Collapse, 27 | Dropdown, 28 | Modal, 29 | Popover, 30 | Scrollspy, 31 | Tab, 32 | Toast, 33 | Tooltip 34 | } 35 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/_close.scss: -------------------------------------------------------------------------------- 1 | .close { 2 | float: right; 3 | @include font-size($close-font-size); 4 | font-weight: $close-font-weight; 5 | line-height: 1; 6 | color: $close-color; 7 | text-shadow: $close-text-shadow; 8 | opacity: .5; 9 | 10 | // Override 's hover style 11 | @include hover() { 12 | color: $close-color; 13 | text-decoration: none; 14 | } 15 | 16 | &:not(:disabled):not(.disabled) { 17 | @include hover-focus() { 18 | opacity: .75; 19 | } 20 | } 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 27 | 28 | // stylelint-disable-next-line selector-no-qualifying-type 29 | button.close { 30 | padding: 0; 31 | background-color: transparent; 32 | border: 0; 33 | } 34 | 35 | // Future-proof disabling of clicks on `` elements 36 | 37 | // stylelint-disable-next-line selector-no-qualifying-type 38 | a.close.disabled { 39 | pointer-events: none; 40 | } 41 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/_code.scss: -------------------------------------------------------------------------------- 1 | // Inline code 2 | code { 3 | @include font-size($code-font-size); 4 | color: $code-color; 5 | word-wrap: break-word; 6 | 7 | // Streamline the style when inside anchors to avoid broken underline and more 8 | a > & { 9 | color: inherit; 10 | } 11 | } 12 | 13 | // User input typically entered via keyboard 14 | kbd { 15 | padding: $kbd-padding-y $kbd-padding-x; 16 | @include font-size($kbd-font-size); 17 | color: $kbd-color; 18 | background-color: $kbd-bg; 19 | @include border-radius($border-radius-sm); 20 | @include box-shadow($kbd-box-shadow); 21 | 22 | kbd { 23 | padding: 0; 24 | @include font-size(100%); 25 | font-weight: $nested-kbd-font-weight; 26 | @include box-shadow(none); 27 | } 28 | } 29 | 30 | // Blocks of code 31 | pre { 32 | display: block; 33 | @include font-size($code-font-size); 34 | color: $pre-color; 35 | 36 | // Account for some code outputs that place code tags in pre tags 37 | code { 38 | @include font-size(inherit); 39 | color: inherit; 40 | word-break: normal; 41 | } 42 | } 43 | 44 | // Enable scrollable blocks of code 45 | .pre-scrollable { 46 | max-height: $pre-scrollable-max-height; 47 | overflow-y: scroll; 48 | } 49 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/_jumbotron.scss: -------------------------------------------------------------------------------- 1 | .jumbotron { 2 | padding: $jumbotron-padding ($jumbotron-padding / 2); 3 | margin-bottom: $jumbotron-padding; 4 | color: $jumbotron-color; 5 | background-color: $jumbotron-bg; 6 | @include border-radius($border-radius-lg); 7 | 8 | @include media-breakpoint-up(sm) { 9 | padding: ($jumbotron-padding * 2) $jumbotron-padding; 10 | } 11 | } 12 | 13 | .jumbotron-fluid { 14 | padding-right: 0; 15 | padding-left: 0; 16 | @include border-radius(0); 17 | } 18 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/_media.scss: -------------------------------------------------------------------------------- 1 | .media { 2 | display: flex; 3 | align-items: flex-start; 4 | } 5 | 6 | .media-body { 7 | flex: 1; 8 | } 9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Toggles 2 | // 3 | // Used in conjunction with global variables to enable certain theme features. 4 | 5 | // Vendor 6 | @import "vendor/rfs"; 7 | 8 | // Deprecate 9 | @import "mixins/deprecate"; 10 | 11 | // Utilities 12 | @import "mixins/breakpoints"; 13 | @import "mixins/hover"; 14 | @import "mixins/image"; 15 | @import "mixins/badge"; 16 | @import "mixins/resize"; 17 | @import "mixins/screen-reader"; 18 | @import "mixins/size"; 19 | @import "mixins/reset-text"; 20 | @import "mixins/text-emphasis"; 21 | @import "mixins/text-hide"; 22 | @import "mixins/text-truncate"; 23 | @import "mixins/visibility"; 24 | 25 | // Components 26 | @import "mixins/alert"; 27 | @import "mixins/buttons"; 28 | @import "mixins/caret"; 29 | @import "mixins/pagination"; 30 | @import "mixins/lists"; 31 | @import "mixins/list-group"; 32 | @import "mixins/nav-divider"; 33 | @import "mixins/forms"; 34 | @import "mixins/table-row"; 35 | 36 | // Skins 37 | @import "mixins/background-variant"; 38 | @import "mixins/border-radius"; 39 | @import "mixins/box-shadow"; 40 | @import "mixins/gradients"; 41 | @import "mixins/transition"; 42 | 43 | // Layout 44 | @import "mixins/clearfix"; 45 | @import "mixins/grid-framework"; 46 | @import "mixins/grid"; 47 | @import "mixins/float"; 48 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/_root.scss: -------------------------------------------------------------------------------- 1 | // Do not forget to update getting-started/theming.md! 2 | :root { 3 | // Custom variable values only support SassScript inside `#{}`. 4 | @each $color, $value in $colors { 5 | --#{$color}: #{$value}; 6 | } 7 | 8 | @each $color, $value in $theme-colors { 9 | --#{$color}: #{$value}; 10 | } 11 | 12 | @each $bp, $value in $grid-breakpoints { 13 | --breakpoint-#{$bp}: #{$value}; 14 | } 15 | 16 | // Use `inspect` for lists so that quoted items keep the quotes. 17 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 18 | --font-family-sans-serif: #{inspect($font-family-sans-serif)}; 19 | --font-family-monospace: #{inspect($font-family-monospace)}; 20 | } 21 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/_toasts.scss: -------------------------------------------------------------------------------- 1 | .toast { 2 | max-width: $toast-max-width; 3 | overflow: hidden; // cheap rounded corners on nested items 4 | @include font-size($toast-font-size); 5 | color: $toast-color; 6 | background-color: $toast-background-color; 7 | background-clip: padding-box; 8 | border: $toast-border-width solid $toast-border-color; 9 | box-shadow: $toast-box-shadow; 10 | backdrop-filter: blur(10px); 11 | opacity: 0; 12 | @include border-radius($toast-border-radius); 13 | 14 | &:not(:last-child) { 15 | margin-bottom: $toast-padding-x; 16 | } 17 | 18 | &.showing { 19 | opacity: 1; 20 | } 21 | 22 | &.show { 23 | display: block; 24 | opacity: 1; 25 | } 26 | 27 | &.hide { 28 | display: none; 29 | } 30 | } 31 | 32 | .toast-header { 33 | display: flex; 34 | align-items: center; 35 | padding: $toast-padding-y $toast-padding-x; 36 | color: $toast-header-color; 37 | background-color: $toast-header-background-color; 38 | background-clip: padding-box; 39 | border-bottom: $toast-border-width solid $toast-header-border-color; 40 | } 41 | 42 | .toast-body { 43 | padding: $toast-padding-x; // apply to both vertical and horizontal 44 | } 45 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/_transitions.scss: -------------------------------------------------------------------------------- 1 | .fade { 2 | @include transition($transition-fade); 3 | 4 | &:not(.show) { 5 | opacity: 0; 6 | } 7 | } 8 | 9 | .collapse { 10 | &:not(.show) { 11 | display: none; 12 | } 13 | } 14 | 15 | .collapsing { 16 | position: relative; 17 | height: 0; 18 | overflow: hidden; 19 | @include transition($transition-collapse); 20 | } 21 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/_utilities.scss: -------------------------------------------------------------------------------- 1 | @import "utilities/align"; 2 | @import "utilities/background"; 3 | @import "utilities/borders"; 4 | @import "utilities/clearfix"; 5 | @import "utilities/display"; 6 | @import "utilities/embed"; 7 | @import "utilities/flex"; 8 | @import "utilities/float"; 9 | @import "utilities/interactions"; 10 | @import "utilities/overflow"; 11 | @import "utilities/position"; 12 | @import "utilities/screenreaders"; 13 | @import "utilities/shadows"; 14 | @import "utilities/sizing"; 15 | @import "utilities/spacing"; 16 | @import "utilities/stretched-link"; 17 | @import "utilities/text"; 18 | @import "utilities/visibility"; 19 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/bootstrap-grid.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Grid v4.5.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2020 The Bootstrap Authors 4 | * Copyright 2011-2020 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | html { 9 | box-sizing: border-box; 10 | -ms-overflow-style: scrollbar; 11 | } 12 | 13 | *, 14 | *::before, 15 | *::after { 16 | box-sizing: inherit; 17 | } 18 | 19 | @import "functions"; 20 | @import "variables"; 21 | 22 | @import "mixins/breakpoints"; 23 | @import "mixins/grid-framework"; 24 | @import "mixins/grid"; 25 | 26 | @import "grid"; 27 | @import "utilities/display"; 28 | @import "utilities/flex"; 29 | @import "utilities/spacing"; 30 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/bootstrap-reboot.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2020 The Bootstrap Authors 4 | * Copyright 2011-2020 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | 9 | @import "functions"; 10 | @import "variables"; 11 | @import "mixins"; 12 | @import "reboot"; 13 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/bootstrap.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v4.5.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2020 The Bootstrap Authors 4 | * Copyright 2011-2020 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | @import "functions"; 9 | @import "variables"; 10 | @import "mixins"; 11 | @import "root"; 12 | @import "reboot"; 13 | @import "type"; 14 | @import "images"; 15 | @import "code"; 16 | @import "grid"; 17 | @import "tables"; 18 | @import "forms"; 19 | @import "buttons"; 20 | @import "transitions"; 21 | @import "dropdown"; 22 | @import "button-group"; 23 | @import "input-group"; 24 | @import "custom-forms"; 25 | @import "nav"; 26 | @import "navbar"; 27 | @import "card"; 28 | @import "breadcrumb"; 29 | @import "pagination"; 30 | @import "badge"; 31 | @import "jumbotron"; 32 | @import "alert"; 33 | @import "progress"; 34 | @import "media"; 35 | @import "list-group"; 36 | @import "close"; 37 | @import "toasts"; 38 | @import "modal"; 39 | @import "tooltip"; 40 | @import "popover"; 41 | @import "carousel"; 42 | @import "spinners"; 43 | @import "utilities"; 44 | @import "print"; 45 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | hr { 7 | border-top-color: darken($border, 5%); 8 | } 9 | 10 | .alert-link { 11 | color: darken($color, 10%); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_background-variant.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Contextual backgrounds 4 | 5 | @mixin bg-variant($parent, $color, $ignore-warning: false) { 6 | #{$parent} { 7 | background-color: $color !important; 8 | } 9 | a#{$parent}, 10 | button#{$parent} { 11 | @include hover-focus() { 12 | background-color: darken($color, 10%) !important; 13 | } 14 | } 15 | @include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning); 16 | } 17 | 18 | @mixin bg-gradient-variant($parent, $color, $ignore-warning: false) { 19 | #{$parent} { 20 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important; 21 | } 22 | @include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning); 23 | } 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_badge.scss: -------------------------------------------------------------------------------- 1 | @mixin badge-variant($bg) { 2 | color: color-yiq($bg); 3 | background-color: $bg; 4 | 5 | @at-root a#{&} { 6 | @include hover-focus() { 7 | color: color-yiq($bg); 8 | background-color: darken($bg, 10%); 9 | } 10 | 11 | &:focus, 12 | &.focus { 13 | outline: 0; 14 | box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_box-shadow.scss: -------------------------------------------------------------------------------- 1 | @mixin box-shadow($shadow...) { 2 | @if $enable-shadows { 3 | $result: (); 4 | 5 | @if (length($shadow) == 1) { 6 | // We can pass `@include box-shadow(none);` 7 | $result: $shadow; 8 | } @else { 9 | // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;` 10 | @for $i from 1 through length($shadow) { 11 | @if nth($shadow, $i) != "none" { 12 | $result: append($result, nth($shadow, $i), "comma"); 13 | } 14 | } 15 | } 16 | @if (length($result) > 0) { 17 | box-shadow: $result; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | @mixin clearfix() { 2 | &::after { 3 | display: block; 4 | clear: both; 5 | content: ""; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_deprecate.scss: -------------------------------------------------------------------------------- 1 | // Deprecate mixin 2 | // 3 | // This mixin can be used to deprecate mixins or functions. 4 | // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to 5 | // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) 6 | @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { 7 | @if ($enable-deprecation-messages != false and $ignore-warning != true) { 8 | @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @mixin float-left() { 4 | float: left !important; 5 | @include deprecate("The `float-left` mixin", "v4.3.0", "v5"); 6 | } 7 | @mixin float-right() { 8 | float: right !important; 9 | @include deprecate("The `float-right` mixin", "v4.3.0", "v5"); 10 | } 11 | @mixin float-none() { 12 | float: none !important; 13 | @include deprecate("The `float-none` mixin", "v4.3.0", "v5"); 14 | } 15 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_hover.scss: -------------------------------------------------------------------------------- 1 | // Hover mixin and `$enable-hover-media-query` are deprecated. 2 | // 3 | // Originally added during our alphas and maintained during betas, this mixin was 4 | // designed to prevent `:hover` stickiness on iOS-an issue where hover styles 5 | // would persist after initial touch. 6 | // 7 | // For backward compatibility, we've kept these mixins and updated them to 8 | // always return their regular pseudo-classes instead of a shimmed media query. 9 | // 10 | // Issue: https://github.com/twbs/bootstrap/issues/25195 11 | 12 | @mixin hover() { 13 | &:hover { @content; } 14 | } 15 | 16 | @mixin hover-focus() { 17 | &:hover, 18 | &:focus { 19 | @content; 20 | } 21 | } 22 | 23 | @mixin plain-hover-focus() { 24 | &, 25 | &:hover, 26 | &:focus { 27 | @content; 28 | } 29 | } 30 | 31 | @mixin hover-focus-active() { 32 | &:hover, 33 | &:focus, 34 | &:active { 35 | @content; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_image.scss: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | 6 | // Responsive image 7 | // 8 | // Keep images from scaling beyond the width of their parents. 9 | 10 | @mixin img-fluid() { 11 | // Part 1: Set a maximum relative to the parent 12 | max-width: 100%; 13 | // Part 2: Override the height to auto, otherwise images will be stretched 14 | // when setting a width and height attribute on the img element. 15 | height: auto; 16 | } 17 | 18 | 19 | // Retina image 20 | // 21 | // Short retina mixin for setting background-image and -size. 22 | 23 | @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { 24 | background-image: url($file-1x); 25 | 26 | // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, 27 | // but doesn't convert dppx=>dpi. 28 | // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. 29 | // Compatibility info: https://caniuse.com/#feat=css-media-resolution 30 | @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx 31 | only screen and (min-resolution: 2dppx) { // Standardized 32 | background-image: url($file-2x); 33 | background-size: $width-1x $height-1x; 34 | } 35 | @include deprecate("`img-retina()`", "v4.3.0", "v5"); 36 | } 37 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_list-group.scss: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | @mixin list-group-item-variant($state, $background, $color) { 4 | .list-group-item-#{$state} { 5 | color: $color; 6 | background-color: $background; 7 | 8 | &.list-group-item-action { 9 | @include hover-focus() { 10 | color: $color; 11 | background-color: darken($background, 5%); 12 | } 13 | 14 | &.active { 15 | color: $white; 16 | background-color: $color; 17 | border-color: $color; 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled() { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_nav-divider.scss: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) { 6 | height: 0; 7 | margin: $margin-y 0; 8 | overflow: hidden; 9 | border-top: 1px solid $color; 10 | @include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning); 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | @mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { 4 | .page-link { 5 | padding: $padding-y $padding-x; 6 | @include font-size($font-size); 7 | line-height: $line-height; 8 | } 9 | 10 | .page-item { 11 | &:first-child { 12 | .page-link { 13 | @include border-left-radius($border-radius); 14 | } 15 | } 16 | &:last-child { 17 | .page-link { 18 | @include border-right-radius($border-radius); 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_reset-text.scss: -------------------------------------------------------------------------------- 1 | @mixin reset-text() { 2 | font-family: $font-family-base; 3 | // We deliberately do NOT reset font-size or word-wrap. 4 | font-style: normal; 5 | font-weight: $font-weight-normal; 6 | line-height: $line-height-base; 7 | text-align: left; // Fallback for where `start` is not supported 8 | text-align: start; 9 | text-decoration: none; 10 | text-shadow: none; 11 | text-transform: none; 12 | letter-spacing: normal; 13 | word-break: normal; 14 | word-spacing: normal; 15 | white-space: normal; 16 | line-break: auto; 17 | } 18 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Only display content to screen readers 2 | // 3 | // See: https://a11yproject.com/posts/how-to-hide-content/ 4 | // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ 5 | 6 | @mixin sr-only() { 7 | position: absolute; 8 | width: 1px; 9 | height: 1px; 10 | padding: 0; 11 | margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686 12 | overflow: hidden; 13 | clip: rect(0, 0, 0, 0); 14 | white-space: nowrap; 15 | border: 0; 16 | } 17 | 18 | // Use in conjunction with .sr-only to only display content when it's focused. 19 | // 20 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 21 | // 22 | // Credit: HTML5 Boilerplate 23 | 24 | @mixin sr-only-focusable() { 25 | &:active, 26 | &:focus { 27 | position: static; 28 | width: auto; 29 | height: auto; 30 | overflow: visible; 31 | clip: auto; 32 | white-space: normal; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_size.scss: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | @mixin size($width, $height: $width) { 4 | width: $width; 5 | height: $height; 6 | @include deprecate("`size()`", "v4.3.0", "v5"); 7 | } 8 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_table-row.scss: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | @mixin table-row-variant($state, $background, $border: null) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table-#{$state} { 7 | &, 8 | > th, 9 | > td { 10 | background-color: $background; 11 | } 12 | 13 | @if $border != null { 14 | th, 15 | td, 16 | thead th, 17 | tbody + tbody { 18 | border-color: $border; 19 | } 20 | } 21 | } 22 | 23 | // Hover states for `.table-hover` 24 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 25 | .table-hover { 26 | $hover-background: darken($background, 5%); 27 | 28 | .table-#{$state} { 29 | @include hover() { 30 | background-color: $hover-background; 31 | 32 | > td, 33 | > th { 34 | background-color: $hover-background; 35 | } 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_text-emphasis.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Typography 4 | 5 | @mixin text-emphasis-variant($parent, $color, $ignore-warning: false) { 6 | #{$parent} { 7 | color: $color !important; 8 | } 9 | @if $emphasized-link-hover-darken-percentage != 0 { 10 | a#{$parent} { 11 | @include hover-focus() { 12 | color: darken($color, $emphasized-link-hover-darken-percentage) !important; 13 | } 14 | } 15 | } 16 | @include deprecate("`text-emphasis-variant()`", "v4.4.0", "v5", $ignore-warning); 17 | } 18 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_text-hide.scss: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | @mixin text-hide($ignore-warning: false) { 3 | // stylelint-disable-next-line font-family-no-missing-generic-family-keyword 4 | font: 0/0 a; 5 | color: transparent; 6 | text-shadow: none; 7 | background-color: transparent; 8 | border: 0; 9 | 10 | @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning); 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_transition.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-blacklist 2 | @mixin transition($transition...) { 3 | @if length($transition) == 0 { 4 | $transition: $transition-base; 5 | } 6 | 7 | @if length($transition) > 1 { 8 | @each $value in $transition { 9 | @if $value == null or $value == none { 10 | @warn "The keyword 'none' or 'null' must be used as a single argument."; 11 | } 12 | } 13 | } 14 | 15 | @if $enable-transitions { 16 | @if nth($transition, 1) != null { 17 | transition: $transition; 18 | } 19 | 20 | @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none { 21 | @media (prefers-reduced-motion: reduce) { 22 | transition: none; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/mixins/_visibility.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Visibility 4 | 5 | @mixin invisible($visibility) { 6 | visibility: $visibility !important; 7 | @include deprecate("`invisible()`", "v4.3.0", "v5"); 8 | } 9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_align.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .align-baseline { vertical-align: baseline !important; } // Browser default 4 | .align-top { vertical-align: top !important; } 5 | .align-middle { vertical-align: middle !important; } 6 | .align-bottom { vertical-align: bottom !important; } 7 | .align-text-bottom { vertical-align: text-bottom !important; } 8 | .align-text-top { vertical-align: text-top !important; } 9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_background.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $color, $value in $theme-colors { 4 | @include bg-variant(".bg-#{$color}", $value, true); 5 | } 6 | 7 | @if $enable-gradients { 8 | @each $color, $value in $theme-colors { 9 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true); 10 | } 11 | } 12 | 13 | .bg-white { 14 | background-color: $white !important; 15 | } 16 | 17 | .bg-transparent { 18 | background-color: transparent !important; 19 | } 20 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_display.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Utilities for common `display` values 5 | // 6 | 7 | @each $breakpoint in map-keys($grid-breakpoints) { 8 | @include media-breakpoint-up($breakpoint) { 9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 10 | 11 | @each $value in $displays { 12 | .d#{$infix}-#{$value} { display: $value !important; } 13 | } 14 | } 15 | } 16 | 17 | 18 | // 19 | // Utilities for toggling `display` in print 20 | // 21 | 22 | @media print { 23 | @each $value in $displays { 24 | .d-print-#{$value} { display: $value !important; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_embed.scss: -------------------------------------------------------------------------------- 1 | // Credit: Nicolas Gallagher and SUIT CSS. 2 | 3 | .embed-responsive { 4 | position: relative; 5 | display: block; 6 | width: 100%; 7 | padding: 0; 8 | overflow: hidden; 9 | 10 | &::before { 11 | display: block; 12 | content: ""; 13 | } 14 | 15 | .embed-responsive-item, 16 | iframe, 17 | embed, 18 | object, 19 | video { 20 | position: absolute; 21 | top: 0; 22 | bottom: 0; 23 | left: 0; 24 | width: 100%; 25 | height: 100%; 26 | border: 0; 27 | } 28 | } 29 | 30 | @each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios { 31 | $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1); 32 | $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2); 33 | 34 | .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} { 35 | &::before { 36 | padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $breakpoint in map-keys($grid-breakpoints) { 4 | @include media-breakpoint-up($breakpoint) { 5 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 6 | 7 | .float#{$infix}-left { float: left !important; } 8 | .float#{$infix}-right { float: right !important; } 9 | .float#{$infix}-none { float: none !important; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_interactions.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $value in $user-selects { 4 | .user-select-#{$value} { user-select: $value !important; } 5 | } 6 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_overflow.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $value in $overflows { 4 | .overflow-#{$value} { overflow: $value !important; } 5 | } 6 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_position.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Common values 4 | @each $position in $positions { 5 | .position-#{$position} { position: $position !important; } 6 | } 7 | 8 | // Shorthand 9 | 10 | .fixed-top { 11 | position: fixed; 12 | top: 0; 13 | right: 0; 14 | left: 0; 15 | z-index: $zindex-fixed; 16 | } 17 | 18 | .fixed-bottom { 19 | position: fixed; 20 | right: 0; 21 | bottom: 0; 22 | left: 0; 23 | z-index: $zindex-fixed; 24 | } 25 | 26 | .sticky-top { 27 | @supports (position: sticky) { 28 | position: sticky; 29 | top: 0; 30 | z-index: $zindex-sticky; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_screenreaders.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Screenreaders 3 | // 4 | 5 | .sr-only { 6 | @include sr-only(); 7 | } 8 | 9 | .sr-only-focusable { 10 | @include sr-only-focusable(); 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_shadows.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .shadow-sm { box-shadow: $box-shadow-sm !important; } 4 | .shadow { box-shadow: $box-shadow !important; } 5 | .shadow-lg { box-shadow: $box-shadow-lg !important; } 6 | .shadow-none { box-shadow: none !important; } 7 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_sizing.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Width and height 4 | 5 | @each $prop, $abbrev in (width: w, height: h) { 6 | @each $size, $length in $sizes { 7 | .#{$abbrev}-#{$size} { #{$prop}: $length !important; } 8 | } 9 | } 10 | 11 | .mw-100 { max-width: 100% !important; } 12 | .mh-100 { max-height: 100% !important; } 13 | 14 | // Viewport additional helpers 15 | 16 | .min-vw-100 { min-width: 100vw !important; } 17 | .min-vh-100 { min-height: 100vh !important; } 18 | 19 | .vw-100 { width: 100vw !important; } 20 | .vh-100 { height: 100vh !important; } 21 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_stretched-link.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Stretched link 3 | // 4 | 5 | .stretched-link { 6 | &::after { 7 | position: absolute; 8 | top: 0; 9 | right: 0; 10 | bottom: 0; 11 | left: 0; 12 | z-index: 1; 13 | // Just in case `pointer-events: none` is set on a parent 14 | pointer-events: auto; 15 | content: ""; 16 | // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color 17 | background-color: rgba(0, 0, 0, 0); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/bootstrap/scss/utilities/_visibility.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Visibility utilities 5 | // 6 | 7 | .visible { 8 | visibility: visible !important; 9 | } 10 | 11 | .invisible { 12 | visibility: hidden !important; 13 | } 14 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.6 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/code.min.css: -------------------------------------------------------------------------------- 1 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#f2f2f2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0c0c0c;border-left-color:#3f3f3f;background-color:#0c0c0c;color:#c2be9e}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3f3f3f;border-left:none} -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/font/iconfont.eot -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/font/iconfont.woff -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/font/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/font/iconfont.woff2 -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/0.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/1.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/10.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/11.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/12.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/13.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/14.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/15.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/16.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/17.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/18.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/19.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/2.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/20.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/21.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/22.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/23.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/24.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/25.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/26.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/27.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/28.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/29.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/3.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/30.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/31.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/32.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/33.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/34.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/35.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/36.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/37.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/38.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/39.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/4.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/40.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/41.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/42.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/43.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/44.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/45.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/46.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/47.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/48.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/49.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/5.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/50.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/51.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/52.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/53.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/54.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/55.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/56.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/57.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/58.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/59.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/6.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/60.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/61.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/62.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/63.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/64.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/65.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/66.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/67.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/68.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/69.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/7.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/70.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/71.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/8.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Mvc/wwwroot/lib/layui/images/face/9.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.6 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /src/Liuliu.Demo.Mvc/wwwroot/lib/layui/lay/modules/code.min.js: -------------------------------------------------------------------------------- 1 | layui.define("jquery",function(e){"use strict";var o=layui.$;e("code",function(c){var e=[];(c=c||{}).elem=o(c.elem||".layui-code"),c.about=!("about"in c)||c.about,c.elem.each(function(){e.push(this)}),layui.each(e.reverse(),function(e,a){var l=o(a),t=l.html();(l.attr("lay-encode")||c.encode)&&(t=t.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),l.html('
  1. '+t.replace(/[\r\t\n]+/g,"
  2. ")+"
"),l.find(">.layui-code-h3")[0]||l.prepend('

'+(l.attr("lay-title")||c.title||"code")+(c.about?'layui.code':"")+"

");var i=l.find(">.layui-code-ol");l.addClass("layui-box layui-code-view"),(l.attr("lay-skin")||c.skin)&&l.addClass("layui-code-"+(l.attr("lay-skin")||c.skin)),0<(i.find("li").length/100|0)&&i.css("margin-left",(i.find("li").length/100|0)+"px"),(l.attr("lay-height")||c.height)&&i.css("max-height",l.attr("lay-height")||c.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | #缩进风格:空格 6 | indent_style = space 7 | #缩进大小4 8 | indent_size = 4 9 | #换行符lf 10 | end_of_line = lf 11 | #字符集utf-8 12 | charset = utf-8 13 | #是否删除行尾的空格 14 | trim_trailing_whitespace = true 15 | #是否在文件的最后插入一个空行 16 | insert_final_newline = true 17 | 18 | [*.{cshtml,xaml,js,json,csproj}] 19 | #缩进大小2 20 | indent_size = 2 21 | 22 | [*.md] 23 | trim_trailing_whitespace = false 24 | 25 | [Makefile] 26 | indent_style = tab 27 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/AdminControllerBase.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-13 1:12 8 | // ----------------------------------------------------------------------- 9 | 10 | using Microsoft.AspNetCore.Authorization; 11 | 12 | using OSharp.AspNetCore.Mvc; 13 | using OSharp.Authorization; 14 | 15 | 16 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 17 | { 18 | [AreaInfo("Admin", Display = "管理")] 19 | [RoleLimit] 20 | [Authorize(Policy = FunctionRequirement.OsharpPolicy)] 21 | public abstract class AdminControllerBase : AreaBaseController 22 | { } 23 | } 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/Auth/EntityInfoController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-15 20:54 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 5, Position = "Auth", PositionName = "权限授权模块")] 20 | [Description("管理-实体信息")] 21 | public class EntityInfoController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("数据实体列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/Auth/FunctionController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-15 20:51 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 2, Position = "Auth", PositionName = "权限授权模块")] 20 | [Description("管理-功能信息")] 21 | public class FunctionController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("功能列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/Auth/ModuleController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-15 20:49 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 1, Position = "Auth", PositionName = "权限授权模块")] 20 | [Description("管理-模块信息")] 21 | public class ModuleController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("模块列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/Auth/RoleEntityController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-15 20:57 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 6, Position = "Auth", PositionName = "权限授权模块")] 20 | [Description("管理-角色数据权限")] 21 | public class RoleEntityController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("数据权限列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/Identity/RoleController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-14 21:36 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Authorization; 13 | using Microsoft.AspNetCore.Mvc; 14 | 15 | using OSharp.Authorization.Modules; 16 | 17 | 18 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 19 | { 20 | [ModuleInfo(Order = 2, Position = "Identity", PositionName = "身份认证模块")] 21 | [Description("管理-角色信息")] 22 | public class RoleController : AdminControllerBase 23 | { 24 | [Description("角色列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/Identity/UserController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-14 21:29 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 1, Position = "Identity", PositionName = "身份认证模块")] 20 | [Description("管理-用户信息")] 21 | public class UserController : AdminControllerBase 22 | { 23 | [Description("用户列表")] 24 | public IActionResult Index() 25 | { 26 | return View(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/Identity/UserRoleController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-14 21:41 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 3, Position = "Identity", PositionName = "身份认证模块")] 20 | [Description("管理-用户角色信息")] 21 | public class UserRoleController : AdminControllerBase 22 | { 23 | [Description("用户角色列表")] 24 | public IActionResult Index() 25 | { 26 | return View(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/Systems/PackController.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-07-14 20:18 8 | // ----------------------------------------------------------------------- 9 | 10 | using System.ComponentModel; 11 | 12 | using Microsoft.AspNetCore.Mvc; 13 | 14 | using OSharp.Authorization.Modules; 15 | 16 | 17 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 18 | { 19 | [ModuleInfo(Order = 4, Position = "Systems", PositionName = "系统管理模块")] 20 | [Description("管理-模块包信息")] 21 | public class PackController : AdminControllerBase 22 | { 23 | [ModuleInfo] 24 | [Description("模块包列表")] 25 | public IActionResult Index() 26 | { 27 | return View(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Controllers/SystemsController.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | 3 | using Microsoft.AspNetCore.Mvc; 4 | 5 | 6 | namespace Liuliu.Demo.Web.Areas.Admin.Controllers 7 | { 8 | public class SystemsController : AdminControllerBase 9 | { 10 | [Description("系统设置")] 11 | public IActionResult Settings() 12 | { 13 | return View(); 14 | } 15 | 16 | [Description("操作审计")] 17 | public IActionResult AuditOperations() 18 | { 19 | return View(); 20 | } 21 | 22 | [Description("数据审计")] 23 | public IActionResult AuditEntities() 24 | { 25 | return View(); 26 | } 27 | 28 | [Description("模块包管理")] 29 | public IActionResult Packs() 30 | { 31 | return View(); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/Home/Dashboard.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "信息汇总"; 3 | 4 | } 5 |

Dashboard

6 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/Module/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout_Table"; 3 | ViewBag.Title = "模块信息管理"; 4 | ViewBag.Name = "module"; 5 | } 6 | @section tableParam 7 | { 8 | 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/Pack/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout_Table"; 3 | ViewData["Title"] = "模块包管理"; 4 | ViewBag.Name = "pack"; 5 | } 6 | @section tableParam 7 | { 8 | 21 | } 22 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/RoleEntity/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout_Table"; 3 | ViewBag.Title = "数据权限信息管理"; 4 | ViewBag.Name = "roleentity"; 5 | 6 | } 7 | @section tableParam 8 | { 9 | 12 | } 13 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | @ViewBag.Title - OSharp管理系统 6 | 7 | 8 | 9 | 10 | 11 | 12 | @await RenderSectionAsync("header", false) 13 | 14 | 15 |
16 | @RenderBody() 17 |
18 | 19 | 20 | 21 | @await RenderSectionAsync("footer", false) 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/Systems/AuditEntities.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @* 3 | For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 4 | *@ 5 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/Systems/AuditOperations.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @* 3 | For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 4 | *@ 5 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/Systems/Settings.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @* 3 | For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 4 | *@ 5 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/UserRole/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout_Table"; 3 | ViewData["Title"] = "用户角色管理"; 4 | ViewBag.Name = "userrole"; 5 | } 6 | @section tableParam 7 | { 8 | 18 | } 19 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Areas/Admin/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Controllers/SiteControllerBase.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-16 9:04 8 | // ----------------------------------------------------------------------- 9 | 10 | using System; 11 | using System.ComponentModel; 12 | 13 | using Microsoft.AspNetCore.Authentication.Cookies; 14 | using Microsoft.AspNetCore.Authorization; 15 | 16 | using OSharp.AspNetCore.Mvc; 17 | using OSharp.Authorization; 18 | 19 | 20 | namespace Liuliu.Demo.Web.Controllers 21 | { 22 | /// 23 | /// 站点根节点的MVC控制器基类,使用OSharpPolicy权限策略 24 | /// 25 | [DisplayName("网站")] 26 | [Authorize( Policy = FunctionRequirement.OsharpPolicy)] 27 | public class SiteControllerBase : BaseController 28 | { 29 | protected static readonly Random Random = new Random(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Dockerfile: -------------------------------------------------------------------------------- 1 | #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. 2 | 3 | FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base 4 | WORKDIR /app 5 | EXPOSE 80 6 | EXPOSE 443 7 | 8 | FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build 9 | WORKDIR /src 10 | COPY ["src/Liuliu.Demo.Web/Liuliu.Demo.Web.csproj", "src/Liuliu.Demo.Web/"] 11 | RUN dotnet restore "src/Liuliu.Demo.Web/Liuliu.Demo.Web.csproj" 12 | COPY . . 13 | WORKDIR "/src/src/Liuliu.Demo.Web" 14 | RUN dotnet build "Liuliu.Demo.Web.csproj" -c Release -o /app/build 15 | 16 | FROM build AS publish 17 | RUN dotnet publish "Liuliu.Demo.Web.csproj" -c Release -o /app/publish 18 | 19 | FROM base AS final 20 | WORKDIR /app 21 | COPY --from=publish /app/publish . 22 | ENTRYPOINT ["dotnet", "Liuliu.Demo.Web.dll"] -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Models/ErrorViewModel.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-02 23:32 8 | // ----------------------------------------------------------------------- 9 | 10 | namespace Liuliu.Demo.Web.Models 11 | { 12 | public class ErrorViewModel 13 | { 14 | public string RequestId { get; set; } 15 | 16 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Program.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014-2020 OSharp. All rights reserved. 4 | // 5 | // http://www.osharp.org 6 | // 郭明锋 7 | // 2020-06-02 23:31 8 | // ----------------------------------------------------------------------- 9 | 10 | using Microsoft.AspNetCore.Hosting; 11 | using Microsoft.Extensions.Hosting; 12 | 13 | 14 | namespace Liuliu.Demo.Web 15 | { 16 | public class Program 17 | { 18 | public static void Main(string[] args) 19 | { 20 | CreateHostBuilder(args).Build().Run(); 21 | } 22 | 23 | public static IHostBuilder CreateHostBuilder(string[] args) => 24 | Host.CreateDefaultBuilder(args) 25 | .ConfigureWebHostDefaults(webBuilder => 26 | { 27 | webBuilder.UseStartup(); 28 | }); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:7010", 7 | "sslPort": 44305 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "Liuliu.Demo.Web": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "environmentVariables": { 22 | "ASPNETCORE_ENVIRONMENT": "Development" 23 | }, 24 | "applicationUrl": "https://localhost:5001;http://localhost:5000" 25 | }, 26 | "Docker": { 27 | "commandName": "Docker", 28 | "launchBrowser": true, 29 | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", 30 | "publishAllPorts": true, 31 | "useSSL": true 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Startups/SqliteDefaultDbContextMigrationPack.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | 4 | using OSharp.Core.Packs; 5 | using OSharp.Entity; 6 | using OSharp.Entity.Sqlite; 7 | 8 | 9 | namespace Liuliu.Demo.Web.Startups 10 | { 11 | /// 12 | /// Sqlite-DefaultDbContext迁移模块 13 | /// 14 | [DependsOnPacks(typeof(SqliteEntityFrameworkCorePack))] 15 | [Description("Sqlite-DefaultDbContext迁移模块")] 16 | public class SqliteDefaultDbContextMigrationPack : MigrationPackBase 17 | { 18 | /// 19 | /// 获取 模块启动顺序,模块启动的顺序先按级别启动,级别内部再按此顺序启动, 20 | /// 级别默认为0,表示无依赖,需要在同级别有依赖顺序的时候,再重写为>0的顺序值 21 | /// 22 | public override int Order => 2; 23 | 24 | /// 25 | /// 获取 数据库类型 26 | /// 27 | protected override DatabaseType DatabaseType => DatabaseType.Sqlite; 28 | 29 | /// 30 | /// 重写实现获取数据上下文实例 31 | /// 32 | /// 服务提供者 33 | /// 34 | protected override DefaultDbContext CreateDbContext(IServiceProvider scopedProvider) 35 | { 36 | return new DesignTimeDefaultDbContextFactory(scopedProvider).CreateDbContext(new string[0]); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | } 4 | 5 |
6 |

Welcome

7 |

Learn about building Web apps with ASP.NET Core.

8 |
9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Views/Home/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Privacy Policy"; 3 | } 4 |

@ViewData["Title"]

5 | 6 |

Use this page to detail your site's privacy policy.

7 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @model ErrorViewModel 2 | @{ 3 | ViewData["Title"] = "Error"; 4 | } 5 | 6 |

Error.

7 |

An error occurred while processing your request.

8 | 9 | @if (Model.ShowRequestId) 10 | { 11 |

12 | Request ID: @Model.RequestId 13 |

14 | } 15 | 16 |

Development Mode

17 |

18 | Swapping to Development environment will display more detailed information about the error that occurred. 19 |

20 |

21 | The Development environment shouldn't be enabled for deployed applications. 22 | It can result in displaying sensitive information from exceptions to end users. 23 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 24 | and restarting the app. 25 |

26 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Views/Shared/_LoginLayout.cshtml: -------------------------------------------------------------------------------- 1 | @{ Layout = null;} 2 | 3 | 4 | 5 | 6 | @ViewBag.Title - OSharp管理系统 7 | 8 | 9 | 10 | 11 | 12 | 13 | @await RenderSectionAsync("header", false) 14 | 15 | 16 |
17 | @RenderBody() 18 |
19 | 20 | 21 | @await RenderSectionAsync("footer", false) 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Views/Shared/_LoginPartial.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Identity 2 | @using OSharp.Hosting.Identity.Entities 3 | @inject SignInManager SignInManager 4 | @inject UserManager UserManager 5 | 6 | 26 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Views/Shared/_Logout.cshtml: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 16 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Liuliu.Demo.Web 2 | @using Liuliu.Demo.Web.Models 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/libman.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "defaultProvider": "cdnjs", 4 | "libraries": [ 5 | { 6 | "provider": "unpkg", 7 | "library": "bootstrap@4.5.0", 8 | "destination": "wwwroot/lib/bootstrap/" 9 | }, 10 | { 11 | "library": "jquery@3.5.1", 12 | "destination": "wwwroot/lib/jquery/" 13 | }, 14 | { 15 | "library": "font-awesome@4.7.0", 16 | "destination": "wwwroot/lib/font-awesome/" 17 | }, 18 | { 19 | "library": "moment.js@2.26.0", 20 | "destination": "wwwroot/lib/moment.js/" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/osharp-demo-layui.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/osharp-demo-layui.db -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/api/clear.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 1, 3 | "msg": "服务端清理缓存成功" 4 | } -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/api/tableSelect.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0, 3 | "msg": "", 4 | "count": 16, 5 | "data": [ 6 | { "id":"001", "username":"张玉林", "sex":"女" }, 7 | { "id":"002", "username":"刘晓军", "sex":"男" }, 8 | { "id":"003", "username":"张恒", "sex":"男" }, 9 | { "id":"004", "username":"朱一", "sex":"男" }, 10 | { "id":"005", "username":"刘佳能", "sex":"女" }, 11 | { "id":"006", "username":"晓梅", "sex":"女" }, 12 | { "id":"007", "username":"马冬梅", "sex":"女" }, 13 | { "id":"008", "username":"刘晓庆", "sex":"女" }, 14 | { "id":"009", "username":"刘晓庆", "sex":"女" }, 15 | { "id":"010", "username":"刘晓庆", "sex":"女" }, 16 | { "id":"011", "username":"刘晓庆", "sex":"女" }, 17 | { "id":"012", "username":"刘晓庆", "sex":"女" }, 18 | { "id":"013", "username":"刘晓庆", "sex":"女" }, 19 | { "id":"014", "username":"刘晓庆", "sex":"女" }, 20 | { "id":"015", "username":"刘晓庆", "sex":"女" }, 21 | { "id":"016", "username":"刘晓庆", "sex":"女" } 22 | ] 23 | } -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/api/upload.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 1, 3 | "msg": "上传成功", 4 | "data": { 5 | "url": [ 6 | "../images/logo.png", 7 | "../images/captcha.jpg" 8 | ] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/images/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/images/bg.jpg -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/images/captcha.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/images/captcha.jpg -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/images/donate_qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/images/donate_qrcode.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/images/favicon.ico -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/images/home.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/images/logo.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/js/lay-config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * date:2019/08/16 3 | * author:Mr.Chung 4 | * description:此处放layui自定义扩展 5 | * version:2.0.4 6 | */ 7 | 8 | window.rootPath = (function (src) { 9 | src = document.scripts[document.scripts.length - 1].src; 10 | return src.substring(0, src.lastIndexOf("/") + 1); 11 | })(); 12 | 13 | layui.config({ 14 | base: rootPath + "lay-module/", 15 | version: true 16 | }).extend({ 17 | miniAdmin: "layuimini/miniAdmin", // layuimini后台扩展 18 | miniMenu: "layuimini/miniMenu", // layuimini菜单扩展 19 | miniTab: "layuimini/miniTab", // layuimini tab扩展 20 | miniTheme: "layuimini/miniTheme", // layuimini 主题扩展 21 | miniTongji: "layuimini/miniTongji", // layuimini 统计扩展 22 | step: 'step-lay/step', // 分步表单扩展 23 | treetable: 'treetable-lay/treetable', //table树形扩展 24 | tableSelect: 'tableSelect/tableSelect', // table选择扩展 25 | iconPickerFa: 'iconPicker/iconPickerFa', // fa图标选择扩展 26 | echarts: 'echarts/echarts', // echarts图表扩展 27 | echartsTheme: 'echarts/echartsTheme', // echarts图表主题扩展 28 | wangEditor: 'wangEditor/wangEditor', // wangEditor富文本扩展 29 | layarea: 'layarea/layarea', // 省市县区三级联动下拉选择器 30 | soulTable: 'soulTable/soulTable', 31 | tableChild: 'soulTable/tableChild', 32 | tableMerge: 'soulTable/tableMerge', 33 | tableFilter: 'soulTable/tableFilter', 34 | excel: 'soulTable/excel', 35 | }); 36 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/js/lay-module/layuimini/miniTongji.js: -------------------------------------------------------------------------------- 1 | /** 2 | * date:2020/03/01 3 | * author:Mr.Chung 4 | * version:2.0 5 | * description:layuimini 统计框架扩展 6 | */ 7 | layui.define(["jquery"], function (exports) { 8 | var $ = layui.$; 9 | 10 | var miniTongji = { 11 | 12 | /** 13 | * 初始化 14 | * @param options 15 | */ 16 | render: function (options) { 17 | options.specific = options.specific || false; 18 | options.domains = options.domains || []; 19 | var domain = window.location.hostname; 20 | if (options.specific === false || (options.specific === true && options.domains.indexOf(domain) >=0)) { 21 | miniTongji.listen(); 22 | } 23 | }, 24 | 25 | /** 26 | * 监听统计代码 27 | */ 28 | listen: function () { 29 | var _hmt = _hmt || []; 30 | (function () { 31 | var hm = document.createElement("script"); 32 | hm.src = "https://hm.baidu.com/hm.js?d97abf6d61c21d773f97835defbdef4e"; 33 | var s = document.getElementsByTagName("script")[0]; 34 | s.parentNode.insertBefore(hm, s); 35 | })(); 36 | } 37 | }; 38 | 39 | exports("miniTongji", miniTongji); 40 | }); -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/js/lay-module/treetable-lay/treetable.css: -------------------------------------------------------------------------------- 1 | .treeTable-empty { 2 | width: 20px; 3 | display: inline-block; 4 | } 5 | 6 | .treeTable-icon { 7 | cursor: pointer; 8 | } 9 | 10 | .treeTable-icon .layui-icon-triangle-d:before { 11 | content: "\e623"; 12 | } 13 | 14 | .treeTable-icon.open .layui-icon-triangle-d:before { 15 | content: "\e625"; 16 | background-color: transparent; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/js/lay-module/wangEditor/fonts/w-e-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/js/lay-module/wangEditor/fonts/w-e-icon.woff -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2020 Twitter, Inc. 4 | Copyright (c) 2011-2020 The Bootstrap Authors 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/js/dist/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * -------------------------------------------------------------------------- 3 | * Bootstrap (v4.4.0): index.js 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | * -------------------------------------------------------------------------- 6 | */ 7 | (function ($) { 8 | if (typeof $ === 'undefined') { 9 | throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); 10 | } 11 | 12 | var version = $.fn.jquery.split(' ')[0].split('.'); 13 | var minMajor = 1; 14 | var ltMajor = 2; 15 | var minMinor = 9; 16 | var minPatch = 1; 17 | var maxMajor = 4; 18 | 19 | if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { 20 | throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); 21 | } 22 | })($); 23 | //# sourceMappingURL=index.js.map -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/js/src/index.js: -------------------------------------------------------------------------------- 1 | import Alert from './alert' 2 | import Button from './button' 3 | import Carousel from './carousel' 4 | import Collapse from './collapse' 5 | import Dropdown from './dropdown' 6 | import Modal from './modal' 7 | import Popover from './popover' 8 | import Scrollspy from './scrollspy' 9 | import Tab from './tab' 10 | import Toast from './toast' 11 | import Tooltip from './tooltip' 12 | import Util from './util' 13 | 14 | /** 15 | * -------------------------------------------------------------------------- 16 | * Bootstrap (v4.5.0): index.js 17 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 18 | * -------------------------------------------------------------------------- 19 | */ 20 | 21 | export { 22 | Util, 23 | Alert, 24 | Button, 25 | Carousel, 26 | Collapse, 27 | Dropdown, 28 | Modal, 29 | Popover, 30 | Scrollspy, 31 | Tab, 32 | Toast, 33 | Tooltip 34 | } 35 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/_close.scss: -------------------------------------------------------------------------------- 1 | .close { 2 | float: right; 3 | @include font-size($close-font-size); 4 | font-weight: $close-font-weight; 5 | line-height: 1; 6 | color: $close-color; 7 | text-shadow: $close-text-shadow; 8 | opacity: .5; 9 | 10 | // Override 's hover style 11 | @include hover() { 12 | color: $close-color; 13 | text-decoration: none; 14 | } 15 | 16 | &:not(:disabled):not(.disabled) { 17 | @include hover-focus() { 18 | opacity: .75; 19 | } 20 | } 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 27 | 28 | // stylelint-disable-next-line selector-no-qualifying-type 29 | button.close { 30 | padding: 0; 31 | background-color: transparent; 32 | border: 0; 33 | } 34 | 35 | // Future-proof disabling of clicks on `` elements 36 | 37 | // stylelint-disable-next-line selector-no-qualifying-type 38 | a.close.disabled { 39 | pointer-events: none; 40 | } 41 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/_code.scss: -------------------------------------------------------------------------------- 1 | // Inline code 2 | code { 3 | @include font-size($code-font-size); 4 | color: $code-color; 5 | word-wrap: break-word; 6 | 7 | // Streamline the style when inside anchors to avoid broken underline and more 8 | a > & { 9 | color: inherit; 10 | } 11 | } 12 | 13 | // User input typically entered via keyboard 14 | kbd { 15 | padding: $kbd-padding-y $kbd-padding-x; 16 | @include font-size($kbd-font-size); 17 | color: $kbd-color; 18 | background-color: $kbd-bg; 19 | @include border-radius($border-radius-sm); 20 | @include box-shadow($kbd-box-shadow); 21 | 22 | kbd { 23 | padding: 0; 24 | @include font-size(100%); 25 | font-weight: $nested-kbd-font-weight; 26 | @include box-shadow(none); 27 | } 28 | } 29 | 30 | // Blocks of code 31 | pre { 32 | display: block; 33 | @include font-size($code-font-size); 34 | color: $pre-color; 35 | 36 | // Account for some code outputs that place code tags in pre tags 37 | code { 38 | @include font-size(inherit); 39 | color: inherit; 40 | word-break: normal; 41 | } 42 | } 43 | 44 | // Enable scrollable blocks of code 45 | .pre-scrollable { 46 | max-height: $pre-scrollable-max-height; 47 | overflow-y: scroll; 48 | } 49 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/_jumbotron.scss: -------------------------------------------------------------------------------- 1 | .jumbotron { 2 | padding: $jumbotron-padding ($jumbotron-padding / 2); 3 | margin-bottom: $jumbotron-padding; 4 | color: $jumbotron-color; 5 | background-color: $jumbotron-bg; 6 | @include border-radius($border-radius-lg); 7 | 8 | @include media-breakpoint-up(sm) { 9 | padding: ($jumbotron-padding * 2) $jumbotron-padding; 10 | } 11 | } 12 | 13 | .jumbotron-fluid { 14 | padding-right: 0; 15 | padding-left: 0; 16 | @include border-radius(0); 17 | } 18 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/_media.scss: -------------------------------------------------------------------------------- 1 | .media { 2 | display: flex; 3 | align-items: flex-start; 4 | } 5 | 6 | .media-body { 7 | flex: 1; 8 | } 9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Toggles 2 | // 3 | // Used in conjunction with global variables to enable certain theme features. 4 | 5 | // Vendor 6 | @import "vendor/rfs"; 7 | 8 | // Deprecate 9 | @import "mixins/deprecate"; 10 | 11 | // Utilities 12 | @import "mixins/breakpoints"; 13 | @import "mixins/hover"; 14 | @import "mixins/image"; 15 | @import "mixins/badge"; 16 | @import "mixins/resize"; 17 | @import "mixins/screen-reader"; 18 | @import "mixins/size"; 19 | @import "mixins/reset-text"; 20 | @import "mixins/text-emphasis"; 21 | @import "mixins/text-hide"; 22 | @import "mixins/text-truncate"; 23 | @import "mixins/visibility"; 24 | 25 | // Components 26 | @import "mixins/alert"; 27 | @import "mixins/buttons"; 28 | @import "mixins/caret"; 29 | @import "mixins/pagination"; 30 | @import "mixins/lists"; 31 | @import "mixins/list-group"; 32 | @import "mixins/nav-divider"; 33 | @import "mixins/forms"; 34 | @import "mixins/table-row"; 35 | 36 | // Skins 37 | @import "mixins/background-variant"; 38 | @import "mixins/border-radius"; 39 | @import "mixins/box-shadow"; 40 | @import "mixins/gradients"; 41 | @import "mixins/transition"; 42 | 43 | // Layout 44 | @import "mixins/clearfix"; 45 | @import "mixins/grid-framework"; 46 | @import "mixins/grid"; 47 | @import "mixins/float"; 48 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/_root.scss: -------------------------------------------------------------------------------- 1 | // Do not forget to update getting-started/theming.md! 2 | :root { 3 | // Custom variable values only support SassScript inside `#{}`. 4 | @each $color, $value in $colors { 5 | --#{$color}: #{$value}; 6 | } 7 | 8 | @each $color, $value in $theme-colors { 9 | --#{$color}: #{$value}; 10 | } 11 | 12 | @each $bp, $value in $grid-breakpoints { 13 | --breakpoint-#{$bp}: #{$value}; 14 | } 15 | 16 | // Use `inspect` for lists so that quoted items keep the quotes. 17 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 18 | --font-family-sans-serif: #{inspect($font-family-sans-serif)}; 19 | --font-family-monospace: #{inspect($font-family-monospace)}; 20 | } 21 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/_toasts.scss: -------------------------------------------------------------------------------- 1 | .toast { 2 | max-width: $toast-max-width; 3 | overflow: hidden; // cheap rounded corners on nested items 4 | @include font-size($toast-font-size); 5 | color: $toast-color; 6 | background-color: $toast-background-color; 7 | background-clip: padding-box; 8 | border: $toast-border-width solid $toast-border-color; 9 | box-shadow: $toast-box-shadow; 10 | backdrop-filter: blur(10px); 11 | opacity: 0; 12 | @include border-radius($toast-border-radius); 13 | 14 | &:not(:last-child) { 15 | margin-bottom: $toast-padding-x; 16 | } 17 | 18 | &.showing { 19 | opacity: 1; 20 | } 21 | 22 | &.show { 23 | display: block; 24 | opacity: 1; 25 | } 26 | 27 | &.hide { 28 | display: none; 29 | } 30 | } 31 | 32 | .toast-header { 33 | display: flex; 34 | align-items: center; 35 | padding: $toast-padding-y $toast-padding-x; 36 | color: $toast-header-color; 37 | background-color: $toast-header-background-color; 38 | background-clip: padding-box; 39 | border-bottom: $toast-border-width solid $toast-header-border-color; 40 | } 41 | 42 | .toast-body { 43 | padding: $toast-padding-x; // apply to both vertical and horizontal 44 | } 45 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/_transitions.scss: -------------------------------------------------------------------------------- 1 | .fade { 2 | @include transition($transition-fade); 3 | 4 | &:not(.show) { 5 | opacity: 0; 6 | } 7 | } 8 | 9 | .collapse { 10 | &:not(.show) { 11 | display: none; 12 | } 13 | } 14 | 15 | .collapsing { 16 | position: relative; 17 | height: 0; 18 | overflow: hidden; 19 | @include transition($transition-collapse); 20 | } 21 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/_utilities.scss: -------------------------------------------------------------------------------- 1 | @import "utilities/align"; 2 | @import "utilities/background"; 3 | @import "utilities/borders"; 4 | @import "utilities/clearfix"; 5 | @import "utilities/display"; 6 | @import "utilities/embed"; 7 | @import "utilities/flex"; 8 | @import "utilities/float"; 9 | @import "utilities/interactions"; 10 | @import "utilities/overflow"; 11 | @import "utilities/position"; 12 | @import "utilities/screenreaders"; 13 | @import "utilities/shadows"; 14 | @import "utilities/sizing"; 15 | @import "utilities/spacing"; 16 | @import "utilities/stretched-link"; 17 | @import "utilities/text"; 18 | @import "utilities/visibility"; 19 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/bootstrap-grid.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Grid v4.5.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2020 The Bootstrap Authors 4 | * Copyright 2011-2020 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | html { 9 | box-sizing: border-box; 10 | -ms-overflow-style: scrollbar; 11 | } 12 | 13 | *, 14 | *::before, 15 | *::after { 16 | box-sizing: inherit; 17 | } 18 | 19 | @import "functions"; 20 | @import "variables"; 21 | 22 | @import "mixins/breakpoints"; 23 | @import "mixins/grid-framework"; 24 | @import "mixins/grid"; 25 | 26 | @import "grid"; 27 | @import "utilities/display"; 28 | @import "utilities/flex"; 29 | @import "utilities/spacing"; 30 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/bootstrap-reboot.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2020 The Bootstrap Authors 4 | * Copyright 2011-2020 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | 9 | @import "functions"; 10 | @import "variables"; 11 | @import "mixins"; 12 | @import "reboot"; 13 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/bootstrap.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v4.5.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2020 The Bootstrap Authors 4 | * Copyright 2011-2020 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | @import "functions"; 9 | @import "variables"; 10 | @import "mixins"; 11 | @import "root"; 12 | @import "reboot"; 13 | @import "type"; 14 | @import "images"; 15 | @import "code"; 16 | @import "grid"; 17 | @import "tables"; 18 | @import "forms"; 19 | @import "buttons"; 20 | @import "transitions"; 21 | @import "dropdown"; 22 | @import "button-group"; 23 | @import "input-group"; 24 | @import "custom-forms"; 25 | @import "nav"; 26 | @import "navbar"; 27 | @import "card"; 28 | @import "breadcrumb"; 29 | @import "pagination"; 30 | @import "badge"; 31 | @import "jumbotron"; 32 | @import "alert"; 33 | @import "progress"; 34 | @import "media"; 35 | @import "list-group"; 36 | @import "close"; 37 | @import "toasts"; 38 | @import "modal"; 39 | @import "tooltip"; 40 | @import "popover"; 41 | @import "carousel"; 42 | @import "spinners"; 43 | @import "utilities"; 44 | @import "print"; 45 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | hr { 7 | border-top-color: darken($border, 5%); 8 | } 9 | 10 | .alert-link { 11 | color: darken($color, 10%); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_background-variant.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Contextual backgrounds 4 | 5 | @mixin bg-variant($parent, $color, $ignore-warning: false) { 6 | #{$parent} { 7 | background-color: $color !important; 8 | } 9 | a#{$parent}, 10 | button#{$parent} { 11 | @include hover-focus() { 12 | background-color: darken($color, 10%) !important; 13 | } 14 | } 15 | @include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning); 16 | } 17 | 18 | @mixin bg-gradient-variant($parent, $color, $ignore-warning: false) { 19 | #{$parent} { 20 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important; 21 | } 22 | @include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning); 23 | } 24 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_badge.scss: -------------------------------------------------------------------------------- 1 | @mixin badge-variant($bg) { 2 | color: color-yiq($bg); 3 | background-color: $bg; 4 | 5 | @at-root a#{&} { 6 | @include hover-focus() { 7 | color: color-yiq($bg); 8 | background-color: darken($bg, 10%); 9 | } 10 | 11 | &:focus, 12 | &.focus { 13 | outline: 0; 14 | box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_box-shadow.scss: -------------------------------------------------------------------------------- 1 | @mixin box-shadow($shadow...) { 2 | @if $enable-shadows { 3 | $result: (); 4 | 5 | @if (length($shadow) == 1) { 6 | // We can pass `@include box-shadow(none);` 7 | $result: $shadow; 8 | } @else { 9 | // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;` 10 | @for $i from 1 through length($shadow) { 11 | @if nth($shadow, $i) != "none" { 12 | $result: append($result, nth($shadow, $i), "comma"); 13 | } 14 | } 15 | } 16 | @if (length($result) > 0) { 17 | box-shadow: $result; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | @mixin clearfix() { 2 | &::after { 3 | display: block; 4 | clear: both; 5 | content: ""; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_deprecate.scss: -------------------------------------------------------------------------------- 1 | // Deprecate mixin 2 | // 3 | // This mixin can be used to deprecate mixins or functions. 4 | // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to 5 | // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) 6 | @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { 7 | @if ($enable-deprecation-messages != false and $ignore-warning != true) { 8 | @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @mixin float-left() { 4 | float: left !important; 5 | @include deprecate("The `float-left` mixin", "v4.3.0", "v5"); 6 | } 7 | @mixin float-right() { 8 | float: right !important; 9 | @include deprecate("The `float-right` mixin", "v4.3.0", "v5"); 10 | } 11 | @mixin float-none() { 12 | float: none !important; 13 | @include deprecate("The `float-none` mixin", "v4.3.0", "v5"); 14 | } 15 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_hover.scss: -------------------------------------------------------------------------------- 1 | // Hover mixin and `$enable-hover-media-query` are deprecated. 2 | // 3 | // Originally added during our alphas and maintained during betas, this mixin was 4 | // designed to prevent `:hover` stickiness on iOS-an issue where hover styles 5 | // would persist after initial touch. 6 | // 7 | // For backward compatibility, we've kept these mixins and updated them to 8 | // always return their regular pseudo-classes instead of a shimmed media query. 9 | // 10 | // Issue: https://github.com/twbs/bootstrap/issues/25195 11 | 12 | @mixin hover() { 13 | &:hover { @content; } 14 | } 15 | 16 | @mixin hover-focus() { 17 | &:hover, 18 | &:focus { 19 | @content; 20 | } 21 | } 22 | 23 | @mixin plain-hover-focus() { 24 | &, 25 | &:hover, 26 | &:focus { 27 | @content; 28 | } 29 | } 30 | 31 | @mixin hover-focus-active() { 32 | &:hover, 33 | &:focus, 34 | &:active { 35 | @content; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_image.scss: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | 6 | // Responsive image 7 | // 8 | // Keep images from scaling beyond the width of their parents. 9 | 10 | @mixin img-fluid() { 11 | // Part 1: Set a maximum relative to the parent 12 | max-width: 100%; 13 | // Part 2: Override the height to auto, otherwise images will be stretched 14 | // when setting a width and height attribute on the img element. 15 | height: auto; 16 | } 17 | 18 | 19 | // Retina image 20 | // 21 | // Short retina mixin for setting background-image and -size. 22 | 23 | @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { 24 | background-image: url($file-1x); 25 | 26 | // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, 27 | // but doesn't convert dppx=>dpi. 28 | // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. 29 | // Compatibility info: https://caniuse.com/#feat=css-media-resolution 30 | @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx 31 | only screen and (min-resolution: 2dppx) { // Standardized 32 | background-image: url($file-2x); 33 | background-size: $width-1x $height-1x; 34 | } 35 | @include deprecate("`img-retina()`", "v4.3.0", "v5"); 36 | } 37 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_list-group.scss: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | @mixin list-group-item-variant($state, $background, $color) { 4 | .list-group-item-#{$state} { 5 | color: $color; 6 | background-color: $background; 7 | 8 | &.list-group-item-action { 9 | @include hover-focus() { 10 | color: $color; 11 | background-color: darken($background, 5%); 12 | } 13 | 14 | &.active { 15 | color: $white; 16 | background-color: $color; 17 | border-color: $color; 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled() { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_nav-divider.scss: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) { 6 | height: 0; 7 | margin: $margin-y 0; 8 | overflow: hidden; 9 | border-top: 1px solid $color; 10 | @include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning); 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | @mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { 4 | .page-link { 5 | padding: $padding-y $padding-x; 6 | @include font-size($font-size); 7 | line-height: $line-height; 8 | } 9 | 10 | .page-item { 11 | &:first-child { 12 | .page-link { 13 | @include border-left-radius($border-radius); 14 | } 15 | } 16 | &:last-child { 17 | .page-link { 18 | @include border-right-radius($border-radius); 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_reset-text.scss: -------------------------------------------------------------------------------- 1 | @mixin reset-text() { 2 | font-family: $font-family-base; 3 | // We deliberately do NOT reset font-size or word-wrap. 4 | font-style: normal; 5 | font-weight: $font-weight-normal; 6 | line-height: $line-height-base; 7 | text-align: left; // Fallback for where `start` is not supported 8 | text-align: start; 9 | text-decoration: none; 10 | text-shadow: none; 11 | text-transform: none; 12 | letter-spacing: normal; 13 | word-break: normal; 14 | word-spacing: normal; 15 | white-space: normal; 16 | line-break: auto; 17 | } 18 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Only display content to screen readers 2 | // 3 | // See: https://a11yproject.com/posts/how-to-hide-content/ 4 | // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ 5 | 6 | @mixin sr-only() { 7 | position: absolute; 8 | width: 1px; 9 | height: 1px; 10 | padding: 0; 11 | margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686 12 | overflow: hidden; 13 | clip: rect(0, 0, 0, 0); 14 | white-space: nowrap; 15 | border: 0; 16 | } 17 | 18 | // Use in conjunction with .sr-only to only display content when it's focused. 19 | // 20 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 21 | // 22 | // Credit: HTML5 Boilerplate 23 | 24 | @mixin sr-only-focusable() { 25 | &:active, 26 | &:focus { 27 | position: static; 28 | width: auto; 29 | height: auto; 30 | overflow: visible; 31 | clip: auto; 32 | white-space: normal; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_size.scss: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | @mixin size($width, $height: $width) { 4 | width: $width; 5 | height: $height; 6 | @include deprecate("`size()`", "v4.3.0", "v5"); 7 | } 8 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_table-row.scss: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | @mixin table-row-variant($state, $background, $border: null) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table-#{$state} { 7 | &, 8 | > th, 9 | > td { 10 | background-color: $background; 11 | } 12 | 13 | @if $border != null { 14 | th, 15 | td, 16 | thead th, 17 | tbody + tbody { 18 | border-color: $border; 19 | } 20 | } 21 | } 22 | 23 | // Hover states for `.table-hover` 24 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 25 | .table-hover { 26 | $hover-background: darken($background, 5%); 27 | 28 | .table-#{$state} { 29 | @include hover() { 30 | background-color: $hover-background; 31 | 32 | > td, 33 | > th { 34 | background-color: $hover-background; 35 | } 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_text-emphasis.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Typography 4 | 5 | @mixin text-emphasis-variant($parent, $color, $ignore-warning: false) { 6 | #{$parent} { 7 | color: $color !important; 8 | } 9 | @if $emphasized-link-hover-darken-percentage != 0 { 10 | a#{$parent} { 11 | @include hover-focus() { 12 | color: darken($color, $emphasized-link-hover-darken-percentage) !important; 13 | } 14 | } 15 | } 16 | @include deprecate("`text-emphasis-variant()`", "v4.4.0", "v5", $ignore-warning); 17 | } 18 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_text-hide.scss: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | @mixin text-hide($ignore-warning: false) { 3 | // stylelint-disable-next-line font-family-no-missing-generic-family-keyword 4 | font: 0/0 a; 5 | color: transparent; 6 | text-shadow: none; 7 | background-color: transparent; 8 | border: 0; 9 | 10 | @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning); 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_transition.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-blacklist 2 | @mixin transition($transition...) { 3 | @if length($transition) == 0 { 4 | $transition: $transition-base; 5 | } 6 | 7 | @if length($transition) > 1 { 8 | @each $value in $transition { 9 | @if $value == null or $value == none { 10 | @warn "The keyword 'none' or 'null' must be used as a single argument."; 11 | } 12 | } 13 | } 14 | 15 | @if $enable-transitions { 16 | @if nth($transition, 1) != null { 17 | transition: $transition; 18 | } 19 | 20 | @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none { 21 | @media (prefers-reduced-motion: reduce) { 22 | transition: none; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/mixins/_visibility.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Visibility 4 | 5 | @mixin invisible($visibility) { 6 | visibility: $visibility !important; 7 | @include deprecate("`invisible()`", "v4.3.0", "v5"); 8 | } 9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_align.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .align-baseline { vertical-align: baseline !important; } // Browser default 4 | .align-top { vertical-align: top !important; } 5 | .align-middle { vertical-align: middle !important; } 6 | .align-bottom { vertical-align: bottom !important; } 7 | .align-text-bottom { vertical-align: text-bottom !important; } 8 | .align-text-top { vertical-align: text-top !important; } 9 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_background.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $color, $value in $theme-colors { 4 | @include bg-variant(".bg-#{$color}", $value, true); 5 | } 6 | 7 | @if $enable-gradients { 8 | @each $color, $value in $theme-colors { 9 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true); 10 | } 11 | } 12 | 13 | .bg-white { 14 | background-color: $white !important; 15 | } 16 | 17 | .bg-transparent { 18 | background-color: transparent !important; 19 | } 20 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_display.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Utilities for common `display` values 5 | // 6 | 7 | @each $breakpoint in map-keys($grid-breakpoints) { 8 | @include media-breakpoint-up($breakpoint) { 9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 10 | 11 | @each $value in $displays { 12 | .d#{$infix}-#{$value} { display: $value !important; } 13 | } 14 | } 15 | } 16 | 17 | 18 | // 19 | // Utilities for toggling `display` in print 20 | // 21 | 22 | @media print { 23 | @each $value in $displays { 24 | .d-print-#{$value} { display: $value !important; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_embed.scss: -------------------------------------------------------------------------------- 1 | // Credit: Nicolas Gallagher and SUIT CSS. 2 | 3 | .embed-responsive { 4 | position: relative; 5 | display: block; 6 | width: 100%; 7 | padding: 0; 8 | overflow: hidden; 9 | 10 | &::before { 11 | display: block; 12 | content: ""; 13 | } 14 | 15 | .embed-responsive-item, 16 | iframe, 17 | embed, 18 | object, 19 | video { 20 | position: absolute; 21 | top: 0; 22 | bottom: 0; 23 | left: 0; 24 | width: 100%; 25 | height: 100%; 26 | border: 0; 27 | } 28 | } 29 | 30 | @each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios { 31 | $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1); 32 | $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2); 33 | 34 | .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} { 35 | &::before { 36 | padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $breakpoint in map-keys($grid-breakpoints) { 4 | @include media-breakpoint-up($breakpoint) { 5 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 6 | 7 | .float#{$infix}-left { float: left !important; } 8 | .float#{$infix}-right { float: right !important; } 9 | .float#{$infix}-none { float: none !important; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_interactions.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $value in $user-selects { 4 | .user-select-#{$value} { user-select: $value !important; } 5 | } 6 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_overflow.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $value in $overflows { 4 | .overflow-#{$value} { overflow: $value !important; } 5 | } 6 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_position.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Common values 4 | @each $position in $positions { 5 | .position-#{$position} { position: $position !important; } 6 | } 7 | 8 | // Shorthand 9 | 10 | .fixed-top { 11 | position: fixed; 12 | top: 0; 13 | right: 0; 14 | left: 0; 15 | z-index: $zindex-fixed; 16 | } 17 | 18 | .fixed-bottom { 19 | position: fixed; 20 | right: 0; 21 | bottom: 0; 22 | left: 0; 23 | z-index: $zindex-fixed; 24 | } 25 | 26 | .sticky-top { 27 | @supports (position: sticky) { 28 | position: sticky; 29 | top: 0; 30 | z-index: $zindex-sticky; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_screenreaders.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Screenreaders 3 | // 4 | 5 | .sr-only { 6 | @include sr-only(); 7 | } 8 | 9 | .sr-only-focusable { 10 | @include sr-only-focusable(); 11 | } 12 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_shadows.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .shadow-sm { box-shadow: $box-shadow-sm !important; } 4 | .shadow { box-shadow: $box-shadow !important; } 5 | .shadow-lg { box-shadow: $box-shadow-lg !important; } 6 | .shadow-none { box-shadow: none !important; } 7 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_sizing.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Width and height 4 | 5 | @each $prop, $abbrev in (width: w, height: h) { 6 | @each $size, $length in $sizes { 7 | .#{$abbrev}-#{$size} { #{$prop}: $length !important; } 8 | } 9 | } 10 | 11 | .mw-100 { max-width: 100% !important; } 12 | .mh-100 { max-height: 100% !important; } 13 | 14 | // Viewport additional helpers 15 | 16 | .min-vw-100 { min-width: 100vw !important; } 17 | .min-vh-100 { min-height: 100vh !important; } 18 | 19 | .vw-100 { width: 100vw !important; } 20 | .vh-100 { height: 100vh !important; } 21 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_stretched-link.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Stretched link 3 | // 4 | 5 | .stretched-link { 6 | &::after { 7 | position: absolute; 8 | top: 0; 9 | right: 0; 10 | bottom: 0; 11 | left: 0; 12 | z-index: 1; 13 | // Just in case `pointer-events: none` is set on a parent 14 | pointer-events: auto; 15 | content: ""; 16 | // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color 17 | background-color: rgba(0, 0, 0, 0); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/bootstrap/scss/utilities/_visibility.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Visibility utilities 5 | // 6 | 7 | .visible { 8 | visibility: visible !important; 9 | } 10 | 11 | .invisible { 12 | visibility: hidden !important; 13 | } 14 | -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.6 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/code.min.css: -------------------------------------------------------------------------------- 1 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#f2f2f2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0c0c0c;border-left-color:#3f3f3f;background-color:#0c0c0c;color:#c2be9e}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3f3f3f;border-left:none} -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/font/iconfont.eot -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/font/iconfont.woff -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/font/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/font/iconfont.woff2 -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/0.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/1.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/10.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/11.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/12.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/13.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/14.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/15.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/16.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/17.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/18.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/19.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/2.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/20.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/21.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/22.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/23.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/24.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/25.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/26.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/27.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/28.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/29.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/3.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/30.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/31.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/32.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/33.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/34.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/35.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/36.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/37.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/38.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/39.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/4.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/40.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/41.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/42.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/43.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/44.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/45.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/46.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/47.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/48.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/49.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/5.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/50.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/51.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/52.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/53.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/54.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/55.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/56.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/57.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/58.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/59.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/6.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/60.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/61.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/62.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/63.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/64.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/65.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/66.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/67.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/68.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/69.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/7.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/70.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/71.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/8.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gmf520/osharp-layui/15fc2aaf0376bdeb382da53b36eaada6a1854751/src/Liuliu.Demo.Web/wwwroot/lib/layui/images/face/9.gif -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.6 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /src/Liuliu.Demo.Web/wwwroot/lib/layui/lay/modules/code.min.js: -------------------------------------------------------------------------------- 1 | layui.define("jquery",function(e){"use strict";var o=layui.$;e("code",function(c){var e=[];(c=c||{}).elem=o(c.elem||".layui-code"),c.about=!("about"in c)||c.about,c.elem.each(function(){e.push(this)}),layui.each(e.reverse(),function(e,a){var l=o(a),t=l.html();(l.attr("lay-encode")||c.encode)&&(t=t.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),l.html('
  1. '+t.replace(/[\r\t\n]+/g,"
  2. ")+"
"),l.find(">.layui-code-h3")[0]||l.prepend('

'+(l.attr("lay-title")||c.title||"code")+(c.about?'layui.code':"")+"

");var i=l.find(">.layui-code-ol");l.addClass("layui-box layui-code-view"),(l.attr("lay-skin")||c.skin)&&l.addClass("layui-code-"+(l.attr("lay-skin")||c.skin)),0<(i.find("li").length/100|0)&&i.css("margin-left",(i.find("li").length/100|0)+"px"),(l.attr("lay-height")||c.height)&&i.css("max-height",l.attr("lay-height")||c.height)})})}).addcss("modules/code.css","skincodecss"); --------------------------------------------------------------------------------