1.0.8 • Published 4 months ago
amos-designer v1.0.8
amos-designer
针对设计器页面,抽离公共组件,以供后期有关设计器类型界面快速开发
notice:
amos-designer
中提供的所有登录页面、主框架页面,仅适配新版平台的数据格式及风格,早期版本的 amos-security
并不能完全兼容,why?
答:主要表现在数据格式部分不匹配,后端接口部分不匹配。
install
# 设置私服,然后执行以下命令(内网用户)
npm install --save amos-designer
# or
npm install --save amos-designer --registry=http://172.16.11.26:9696
目录说明
.
├── src
├── assets
├── components // 存放公共组件类
├── contianer
. ├── CaveContainer.js
. ├── ...
├── ext
. ├── ImageCropper.js
. ├── ...
└...
├── consts // 默认常量
├── pages // 通用页面
├── bizroot
. ├── index.js
├── common
. ├── EmptyPage.js
. ├── StageContainer.js
. ├── ...
├── layer
. ├── ...
├── login // 独立登录页面
├── mainframe // 系统主框架页面
├── sso // 统一认证登录页面,基础平台登录页面
├── stagebar // 设计器工具栏
├── widgets // 设计器元素列表栏
└...
├── styles // 系统主样式
├── utils
├── api.js // 公共 api
├── assembleRoutes.js // 构建通用routes,生成默认 Provider 和 Router
├── cache.js //
├── generateCode.js // 创建code
├── globalTrigger.js // 全局 global,主要用于标识设计器画布中修改未保存
├── routerValidate.js // 路由校验
├── sso.js // sso 公共工具类
└── index.js
component list
DesignerLayout,
DesignerHeader,
PanelContainer,
CaveContainer,
SettingView,
// 功能是将一系列 form 组合在一起
SubView,
// 同 PanelContainer
ScrollView,
GraphIcon,
SvgIcon,
NonSketch,
ShortCutDescr,
ToolbarGroup,
ToolbarItem,
ControlBtn,
IconButton,
CommonBarItem,
BarGroup,
LineCombox,
IconBtn,
FromItemContent,
InputBox,
formItemLayout,
frmItemStyle,
PublishModal,
PaneHeader, DesignerPane,
// pages
SSOAuth,
Login,
MainFrame,
BizRoot,
WidgetsPanel,
LayerMgmt,
SceneBars, ProjectBars,
EmptyPage, StageContainer,
globalTrigger,
generateHtmlCode
ext components list
import ImageCropper from 'amos-designer/lib/components/ext/ImageCropper';
const cropperProps = {
className: 'thumb-mgmt-cropper',
style: { height: 160, width: '100%' },
aspectRatio: 16 / 9,
guides: false,
preview: '.thumb-pane-img-preview'
};
onCropperCreated = (cropper) => {
this.cropper = cropper;
}
const { thumb } = this.state;
<div className="thumb-mgmt-content">
<ImageCropper
{...cropperProps}
src={thumb}
onCreated={this.onCropperCreated}
/>
<div className="thumb-pane-img-preview" />
</div>
styles 提供的变量
// layout
$model-area-width: 260px;
$setting-area-width: 300px;
$designer-header-height: 40px;
$main-bgcolor: white;
$designer-border: 1px solid #eaeaea;
$btnbar-width: 2.5rem; // 30px
$btnbar-height: 2.5rem; // 30px
$btnbar-border-radius: 4px;
$zindex-header: 2;
$zindex-stage: 1;
$zindex-model-setting: 3;
$zindex-drawer: 9;
$actvie-color: #345fa6;
// mixin
/**
* 给指定 scrollbar 的节点,添加自定义滚动条支持
* example:
* @include @include custom-scrollbar('main-container');;
*/
@mixin custom-scrollbar($cls: app);
/**
*定义滚动条样式 圆角和阴影不需要则传入null
* 1、$outColor -- 滚动条颜色
* 2、$innerColor -- 滑块颜色
* 3、$height -- 滚动条宽高、圆角
* 4、$width
* 5、$radius
* 6、$shadow -- 阴影
* example:
* .my { @include scrollbar(5px, 8px); }
*/
@mixin scrollbar($width: 10px, $height: 10px, $outColor: $bgColor, $innerColor: $bgGrey, $radius: 5px, $shadow: null);
/**
* 使用 dragdesign
* 1、$prefix -- dragdesign 样式前缀
* 2、$size -- 拖拽handle大小
* 3、$useDot -- 是否启用圆角,默认为true,设置为false,则可采用rect方式
* example:
* @include make-drag-resizer(mydrag, 12px, true);
*/
@mixin make-drag-resizer($prefix: $handlePrefix, $size: $handle-size, $useDot: true)
Usage
Contributor
ilex.h
鸣谢
- amos-framework
注意事项
- why? 在进行打包时,为什么不采用老版本
amos-run amoscore
进行打包而改为amos-run security
?
采用 amoscore 打包时,未能将 src/assets/**
下的所有文件,同步至 lib
下,该问题在 amos-build@next
版本中已解决。
npm run exp-prod
是干什么的?
该命令,将 demo 下的案例,打包成可运行的 site 站点,可供 doc 系统使用。
changelog
2020-5-11~5-13 v1.0.8
- add
attribute
- add
tools
- add
sketch settings
- modify
tools
2020-5-6~5-7 v1.0.7
- 添加平台统一请求
request
- widget 添加
openStatus
用于标识当前控件为开启,则无法进行拖拽 StageArear
中,设置droppable
为true
,用于默认开启 drop 事件
2020-4-22~4-27 v1.0.6
- 修改页面刷新时,路由刷新问题
- 修改
StageArea
接收额外props - 添加
BasicSketch
添加 domTools
以下内容,为 4-27 重新发布
1.0.6
版本时,新增的功能StageArea
,添加droppable
可进行控制是否在最外层接收 drop 数据- 修改 domTools 中的bug
- 添加
mixins.scss
,新增DragDesign
中快速生成resizer
2020-4-16 v1.0.5
- 修改
Login、SSOAuth
组件 - 修改
rules
- 修改
Login
记住密码颜色
2020-4-15 v1.0.4
- 修改 toolbar drawer 组件样式
- 修改
ProjectBars
组件 bug - 添加通用
$designer-drawer-height
高度 - 添加通用
assembleRoutes、routerValidate
- 添加 permissions 缓存
2020-4-9~4-14 v1.0.3
- 修改 generateHtmlCode
- 修改 PublishModal
- 添加通用 SSO 和 MainFrame 页面
- 添加 widgets panel
- 添加通用组件
2020-4-9 v1.0.2
新增组件:PublishModal、generateHtmlCode
2020-4-9 v1.0.1
新增组件、样式 组件:LineCombox、IconBtn、FromItemContent、formItemLayout、frmItemStyle
2020-4-9 v1.0.0
初始抽离公共组件