12.0df24537.js
9.0 KB
(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{189:function(t,n,a){"use strict";a.r(n);var s=a(0),e=Object(s.a)({},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"系统框架"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#系统框架","aria-hidden":"true"}},[t._v("#")]),t._v(" 系统框架")]),t._v(" "),a("p",[t._v("管理平台项目框架目标使用规范说明及部分系统 API 描述,目前仅适用于 "),a("code",[t._v("素+管理平台")]),t._v(" 项目")]),t._v(" "),a("h2",{attrs:{id:"管理平台项目基本目录结构描述"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#管理平台项目基本目录结构描述","aria-hidden":"true"}},[t._v("#")]),t._v(" 管理平台项目基本目录结构描述")]),t._v(" "),a("p",[t._v("项目结构目录树如下")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("项目根目录\n│ .browserslistrc 浏览器版本配置\n│ .editorconfig 编辑器配置\n│ .env.development 开发环境下使用的环境变量配置文件\n│ .env.production 生产环境下使用的环境变量配置文件\n│ .env.test 单元测试环境下使用的环境变量配置文件\n│ .eslintrc.js ESLint 配置\n│ .gitignore 设置 git 忽略上传的内容\n│ babel.config.js 项目脚本兼容版本设置\n│ cypress.json cypress 配置文件\n│ Dockerfile docker 配置文件\n│ package.json 项目总体描述及依赖描述\n│ postcss.config.js 预编译样式\n│ vue.config.js vue-cli 脚手架配置及 webpack 配置\n│ \n├─public 静态资源文件目录\n│ favicon.ico 网站图标\n│ index.html 网站实际入口\n│ \n├─src\n│ │ main.js 项目主入口\n│ │ \n│ ├─assets 项目相关资产 / 附件,通常用于存放图片资源\n│ │ \n│ ├─business 业务处理逻辑、框架相关 API\n│ │ \n│ ├─components 自定义业务组件\n│ │ \n│ ├─config 项目相关配置\n│ │ constants.js 常量配置\n│ │ directives.js 自定义指令集配置\n│ │ element-plugins.js element-ui 插件配置\n│ │ menu-path.js 系统菜单及路由匹配关系\n│ │ plugins.js 项目中除 element-ui 外的插件引用配置\n│ │ polyfill.js 自定义脚本兼容\n│ │ velidateData.js 自定义表单校验规则\n│ │ \n│ ├─layouts 整体布局结构\n│ │ \n│ ├─mixins 公共抽象模型\n│ │ \n│ ├─plugins 系统公共插件\n│ │ \n│ ├─router vue-router 路由配置\n│ │ \n│ ├─store Vuex 与本地缓存的相关处理\n│ │ \n│ ├─style 自定义样式文件收纳\n│ │ \n│ ├─utils 工具类\n│ │ \n│ └─views 系统业务功能页面\n│ │ \n│ ├─alonePage 独立页\n│ │ \n│ ├─demo 框架组件、API 实例\n│ │ \n│ └─inner 移动端内嵌页\n│ \n└─tests\n ├─e2e 端对端测试\n │ \n ├─sample 部分数据样例\n │ \n └─unit 单元测试\n .eslintrc.js 针对单元测试的 eslint 配置\n setup.js 单元测试的前置处理\n\n")])])]),a("p",[t._v("以上项目结构将为作为后续所有项目的基础结构")]),t._v(" "),a("h2",{attrs:{id:"功能插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#功能插件","aria-hidden":"true"}},[t._v("#")]),t._v(" 功能插件")]),t._v(" "),a("p",[t._v("完全不与业务耦合的功能插件/组件,此类型的成果代表着不以项目类型或业务为限,可随意组合使用")]),t._v(" "),a("h3",{attrs:{id:"拼图验证码插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#拼图验证码插件","aria-hidden":"true"}},[t._v("#")]),t._v(" 拼图验证码插件")]),t._v(" "),a("p",[t._v("用户操作行为验证,能有效区分人机,阻绝恶意程序带来的业务损失。")]),t._v(" "),a("p",[t._v("可应用于系统登录、用户端留言或发贴等场景")]),t._v(" "),a("p",[a("strong",[t._v("拼图拖拽模式")])]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/captcha.png",alt:"captcha"}})]),t._v(" "),a("p",[a("strong",[t._v("随机文字点选模式")])]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/captcha1.png",alt:"captcha1"}})]),t._v(" "),a("p",[t._v("图形验证码插件(极验),当前使用 "),a("strong",[t._v("免费")]),t._v(" 版本,限制为 200 次 / 小时的使用频率,且免费版仅能使用拼图拖拽或文字选择等形式的其中一种,收费版本可随出现验证类型或根据验证级别的提升智能选择不同验证方式和难度,且可定制背景图片")]),t._v(" "),a("p",[a("strong",[t._v("全部验证形式")])]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/captcha-all.png",alt:"captcha-all"}})]),t._v(" "),a("blockquote",[a("p",[t._v("该功能需要服务端配套相关功能")])]),t._v(" "),a("h3",{attrs:{id:"短信验证"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#短信验证","aria-hidden":"true"}},[t._v("#")]),t._v(" 短信验证")]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/sms.png",alt:"sms"}})]),t._v(" "),a("p",[t._v("提供了默认形态界面的完整功能,也允许只引用底层实现 API 适配自定义短信验证场景")]),t._v(" "),a("h3",{attrs:{id:"侧边栏抽屉"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#侧边栏抽屉","aria-hidden":"true"}},[t._v("#")]),t._v(" 侧边栏抽屉")]),t._v(" "),a("p",[t._v("一个可从屏幕边缘抽屉式滑出的内容展示层")]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/slide.png",alt:"slide"}})]),t._v(" "),a("h3",{attrs:{id:"数据表格"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#数据表格","aria-hidden":"true"}},[t._v("#")]),t._v(" 数据表格")]),t._v(" "),a("p",[t._v("带有分页栏的数据表格,集成了单选、多选、跨页选择等功能")]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/grid.png",alt:"grid"}})]),t._v(" "),a("blockquote",[a("p",[t._v("该插件依赖于 element-ui,以及服务端数据接口")])]),t._v(" "),a("h3",{attrs:{id:"选择器"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#选择器","aria-hidden":"true"}},[t._v("#")]),t._v(" 选择器")]),t._v(" "),a("p",[t._v("用于挑选数据的选择器")]),t._v(" "),a("p",[a("strong",[t._v("选择器基本规则说明")])]),t._v(" "),a("p",[t._v("所有选择器应包含以下三个元素")]),t._v(" "),a("ul",[a("li",[t._v("右上角 "),a("code",[t._v("X")]),t._v(" 关闭按钮,点击后仅关闭选择器,不触发事件响应")]),t._v(" "),a("li",[a("code",[t._v("清空")]),t._v(" 按钮,清空选择器已选择项目,但不关闭窗口")]),t._v(" "),a("li",[a("code",[t._v("确定")]),t._v(" 按钮,触发回调事件,响应数据变更并关闭选择器窗口")])]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/selector-base.png",alt:"selector-base"}})]),t._v(" "),a("ul",[a("li",[t._v("单列数据穿梭框")])]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/selector-transfer.png",alt:"transfer"}})]),t._v(" "),a("ul",[a("li",[t._v("树形数据选择器")])]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/selector-tree.png",alt:"tree"}})]),t._v(" "),a("h2",{attrs:{id:"业务组件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#业务组件","aria-hidden":"true"}},[t._v("#")]),t._v(" 业务组件")]),t._v(" "),a("h3",{attrs:{id:"数据导入导出"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#数据导入导出","aria-hidden":"true"}},[t._v("#")]),t._v(" 数据导入导出")]),t._v(" "),a("h3",{attrs:{id:"数据下载-导出"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#数据下载-导出","aria-hidden":"true"}},[t._v("#")]),t._v(" 数据下载/导出")]),t._v(" "),a("h3",{attrs:{id:"操作权限应用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#操作权限应用","aria-hidden":"true"}},[t._v("#")]),t._v(" 操作权限应用")]),t._v(" "),a("p",[t._v("适配根据对用户或角色配置的权限项目(例:增加、删除、导出等)进行应用的操作元素(例:按钮、链接等),并自动根据配置内容决定该元素是否出现于当前界面")]),t._v(" "),a("h3",{attrs:{id:"选择器-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#选择器-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 选择器")]),t._v(" "),a("p",[t._v("用于挑选数据的选择器")]),t._v(" "),a("ul",[a("li",[t._v("存货选择器")])]),t._v(" "),a("p",[a("img",{attrs:{src:"/frontend/plugins/product.png",alt:"product"}})])])},[],!1,null,null,null);n.default=e.exports}}]);