Commit 8b43fd90c9b3b86ceeca3bcfef7a00e4c0fc969c
1 parent
e799d34b
refactor(core editor): replace element-ui with ant-design-vue
Showing
8 changed files
with
447 additions
and
139 deletions
front-end/h5/package.json
front-end/h5/src/components/core/editor.js
| 1 | 1 | import Vue from 'vue' |
| 2 | 2 | import Element from './models/element' |
| 3 | +import './styles/index.scss' | |
| 3 | 4 | |
| 4 | 5 | export default { |
| 5 | 6 | name: 'Editor', |
| 6 | 7 | components: { |
| 8 | + ShortcutButton: { | |
| 9 | + functional: true, | |
| 10 | + props: { | |
| 11 | + faIcon: { | |
| 12 | + required: true, | |
| 13 | + type: String | |
| 14 | + }, | |
| 15 | + title: { | |
| 16 | + required: true, | |
| 17 | + type: String | |
| 18 | + }, | |
| 19 | + clickFn: { | |
| 20 | + required: false, | |
| 21 | + type: Function | |
| 22 | + } | |
| 23 | + }, | |
| 24 | + render: (h, { props, listeners, slots }) => { | |
| 25 | + const onClick = props.clickFn || function () {} | |
| 26 | + return ( | |
| 27 | + <a-button | |
| 28 | + class="shortcut-button" | |
| 29 | + onClick={onClick} | |
| 30 | + > | |
| 31 | + <i | |
| 32 | + class={['shortcut-icon', 'fa', `fa-${props.faIcon}`]} | |
| 33 | + aria-hidden='true' | |
| 34 | + /> | |
| 35 | + <span>{ props.title }</span> | |
| 36 | + </a-button> | |
| 37 | + ) | |
| 38 | + } | |
| 39 | + } | |
| 7 | 40 | }, |
| 8 | 41 | data: () => ({ |
| 42 | + activeMenuKey: 'pluginList', | |
| 9 | 43 | pages: [], |
| 10 | 44 | elements: [], |
| 11 | 45 | editingElement: null, |
| ... | ... | @@ -20,6 +54,7 @@ export default { |
| 20 | 54 | }, |
| 21 | 55 | /** |
| 22 | 56 | * !#zh 点击插件,copy 其基础数据到组件树(中间画布) |
| 57 | + * #!en click the plugin shortcut, create new Element with the plugin's meta data | |
| 23 | 58 | * pluginInfo {Object}: 插件列表中的基础数据, {name}=pluginInfo |
| 24 | 59 | */ |
| 25 | 60 | clone ({ name }) { |
| ... | ... | @@ -40,7 +75,8 @@ export default { |
| 40 | 75 | this.mixinPluginCustomComponents2Editor() |
| 41 | 76 | }, |
| 42 | 77 | /** |
| 43 | - * 在左侧或顶部导航上显示可用的组件快捷方式,用户点击之后,即可将其添加到中间画布上 | |
| 78 | + * #!zh: 在左侧或顶部导航上显示可用的组件快捷方式,用户点击之后,即可将其添加到中间画布上 | |
| 79 | + * #!en: render shortcust at the sidebar or the header. if user click the shortcut, the related plugin will be added to the canvas | |
| 44 | 80 | * @param {Object} group: {children, title, icon} |
| 45 | 81 | */ |
| 46 | 82 | renderPluginShortcut (group) { |
| ... | ... | @@ -49,39 +85,34 @@ export default { |
| 49 | 85 | : this.renderMultiPluginShortcuts(group) |
| 50 | 86 | }, |
| 51 | 87 | /** |
| 52 | - * 渲染多个插件的快捷方式 | |
| 88 | + * #!zh 渲染多个插件的快捷方式 | |
| 89 | + * #!en render shortcuts for multi plugins | |
| 53 | 90 | * @param {Object} group: {children, title, icon} |
| 54 | 91 | */ |
| 55 | 92 | renderMultiPluginShortcuts (group) { |
| 56 | 93 | const plugins = group.children |
| 57 | - return <el-popover | |
| 94 | + return <a-popover | |
| 58 | 95 | placement="bottom" |
| 59 | - width="400" | |
| 96 | + class="shortcust-button" | |
| 60 | 97 | trigger="hover"> |
| 61 | - { | |
| 62 | - plugins.sort().map(item => ( | |
| 63 | - <el-button | |
| 64 | - class='ma-0 no-border-radius' | |
| 65 | - onClick={this.clone.bind(this, item)} | |
| 66 | - > | |
| 67 | - <i | |
| 68 | - class={['fa', `fa-${item.icon}`]} | |
| 69 | - aria-hidden='true' | |
| 70 | - style='display: block;font-size: 16px;margin-bottom: 10px;' | |
| 71 | - /> | |
| 72 | - <span>{ item.title }</span> | |
| 73 | - </el-button> | |
| 74 | - )) | |
| 75 | - } | |
| 76 | - <el-button slot="reference" class='ma-0 no-border-radius'> | |
| 77 | - <i | |
| 78 | - class={['fa', `fa-${group.icon}`]} | |
| 79 | - aria-hidden='true' | |
| 80 | - style='display: block;font-size: 16px;margin-bottom: 10px;' | |
| 81 | - /> | |
| 82 | - <span class="plugin-item__text">{group.title}</span> | |
| 83 | - </el-button> | |
| 84 | - </el-popover> | |
| 98 | + <a-row slot="content" gutter={20} style={{ width: '400px' }}> | |
| 99 | + { | |
| 100 | + plugins.sort().map(item => ( | |
| 101 | + <a-col span={6}> | |
| 102 | + <ShortcutButton | |
| 103 | + clickFn={this.clone.bind(this, item)} | |
| 104 | + title={item.title} | |
| 105 | + faIcon={item.icon} | |
| 106 | + /> | |
| 107 | + </a-col> | |
| 108 | + )) | |
| 109 | + } | |
| 110 | + </a-row> | |
| 111 | + <ShortcutButton | |
| 112 | + title={group.title} | |
| 113 | + faIcon={group.icon} | |
| 114 | + /> | |
| 115 | + </a-popover> | |
| 85 | 116 | }, |
| 86 | 117 | /** |
| 87 | 118 | * #!zh: 渲染单个插件的快捷方式 |
| ... | ... | @@ -90,18 +121,11 @@ export default { |
| 90 | 121 | */ |
| 91 | 122 | renderSinglePluginShortcut ({ children }) { |
| 92 | 123 | const [plugin] = children |
| 93 | - return <el-button | |
| 94 | - class='ma-0 no-border-radius' | |
| 95 | - style={{ width: '100%' }} | |
| 96 | - onClick={this.clone.bind(this, plugin)} | |
| 97 | - > | |
| 98 | - <i | |
| 99 | - class={['fa', `fa-${plugin.icon}`]} | |
| 100 | - aria-hidden='true' | |
| 101 | - style='display: block;font-size: 16px;margin-bottom: 10px;' | |
| 102 | - /> | |
| 103 | - <span class="plugin-item__text">{ plugin.title }</span> | |
| 104 | - </el-button> | |
| 124 | + return <ShortcutButton | |
| 125 | + clickFn={this.clone.bind(this, plugin)} | |
| 126 | + title={plugin.title} | |
| 127 | + faIcon={plugin.icon} | |
| 128 | + /> | |
| 105 | 129 | }, |
| 106 | 130 | /** |
| 107 | 131 | * #!zh: renderCanvas 渲染中间画布 |
| ... | ... | @@ -146,24 +170,15 @@ export default { |
| 146 | 170 | }, |
| 147 | 171 | renderPluginListPanel () { |
| 148 | 172 | return ( |
| 149 | - <el-tabs tab-position="left" class="lb-tabs"> | |
| 150 | - <el-tab-pane label='组件列表'> | |
| 151 | - <div class="full-height"> | |
| 152 | - <el-row gutter={20}> | |
| 153 | - { | |
| 154 | - this.groups.sort().map(group => ( | |
| 155 | - <el-col span={12} style={{ marginTop: '10px' }}> | |
| 156 | - {this.renderPluginShortcut(group)} | |
| 157 | - </el-col> | |
| 158 | - )) | |
| 159 | - } | |
| 160 | - </el-row> | |
| 161 | - </div> | |
| 162 | - </el-tab-pane> | |
| 163 | - <el-tab-pane label='页面管理'> | |
| 164 | - <span>页面管理</span> | |
| 165 | - </el-tab-pane> | |
| 166 | - </el-tabs> | |
| 173 | + <a-row gutter={20}> | |
| 174 | + { | |
| 175 | + this.groups.sort().map(group => ( | |
| 176 | + <a-col span={12} style={{ marginTop: '10px' }}> | |
| 177 | + {this.renderPluginShortcut(group)} | |
| 178 | + </a-col> | |
| 179 | + )) | |
| 180 | + } | |
| 181 | + </a-row> | |
| 167 | 182 | ) |
| 168 | 183 | }, |
| 169 | 184 | renderPropsEditorPanel (h) { |
| ... | ... | @@ -171,7 +186,7 @@ export default { |
| 171 | 186 | const editingElement = this.editingElement |
| 172 | 187 | const propsConfig = editingElement.editorConfig.propsConfig |
| 173 | 188 | return ( |
| 174 | - <el-form ref="form" label-width="100px" size="mini" label-position="left"> | |
| 189 | + <a-form ref="form" label-width="100px" size="mini" label-position="left"> | |
| 175 | 190 | { |
| 176 | 191 | Object.keys(propsConfig).map(propKey => { |
| 177 | 192 | const item = propsConfig[propKey] |
| ... | ... | @@ -180,56 +195,119 @@ export default { |
| 180 | 195 | props: { |
| 181 | 196 | ...item.prop, |
| 182 | 197 | // https://vuejs.org/v2/guide/render-function.html#v-model |
| 183 | - ...{ value: editingElement[propKey] || item.defaultPropValue } | |
| 198 | + value: editingElement.pluginProps[propKey] || item.defaultPropValue | |
| 184 | 199 | }, |
| 185 | 200 | on: { |
| 186 | 201 | // https://vuejs.org/v2/guide/render-function.html#v-model |
| 187 | - input (value) { | |
| 188 | - editingElement[propKey] = value | |
| 202 | + // input (e) { | |
| 203 | + // editingElement.pluginProps[propKey] = e.target ? e.target.value : e | |
| 204 | + // } | |
| 205 | + change (e) { | |
| 206 | + editingElement.pluginProps[propKey] = e.target ? e.target.value : e | |
| 189 | 207 | } |
| 190 | 208 | } |
| 191 | 209 | } |
| 192 | 210 | return ( |
| 193 | - <el-form-item label={item.label}> | |
| 211 | + <a-form-item label={item.label}> | |
| 194 | 212 | { h(item.type, data) } |
| 195 | - </el-form-item> | |
| 213 | + </a-form-item> | |
| 196 | 214 | ) |
| 197 | 215 | }) |
| 198 | 216 | } |
| 199 | - </el-form> | |
| 217 | + </a-form> | |
| 200 | 218 | ) |
| 201 | 219 | } |
| 202 | 220 | }, |
| 203 | 221 | render (h) { |
| 204 | 222 | return ( |
| 205 | - <div id='designer-page'> | |
| 206 | - <div class='el-col-5'> | |
| 207 | - { this.renderPluginListPanel() } | |
| 208 | - </div> | |
| 209 | - <div class='el-col-13'> | |
| 210 | - <div style="text-align: center;"> | |
| 211 | - <el-radio-group value={this.isPreviewMode} onInput={(value) => { | |
| 212 | - this.isPreviewMode = value | |
| 213 | - }} size="mini"> | |
| 214 | - <el-radio-button label={false}>Edit</el-radio-button> | |
| 215 | - <el-radio-button label={true}>Preview</el-radio-button> | |
| 216 | - </el-radio-group> | |
| 217 | - </div> | |
| 218 | - <div class='canvas-wrapper'> | |
| 219 | - { this.isPreviewMode ? this.renderPreview(h, this.elements) : this.renderCanvas(h, this.elements) } | |
| 220 | - </div> | |
| 221 | - </div> | |
| 222 | - <div class='el-col-6' style="border-left: 1px solid #eee;"> | |
| 223 | - <el-tabs type="border-card" style="height: 100%;"> | |
| 224 | - <el-tab-pane> | |
| 225 | - <span slot="label"><i class="el-icon-date"></i> 属性</span> | |
| 226 | - { this.renderPropsEditorPanel(h) } | |
| 227 | - </el-tab-pane> | |
| 228 | - <el-tab-pane label="动画">动画</el-tab-pane> | |
| 229 | - <el-tab-pane label="动作">动作</el-tab-pane> | |
| 230 | - </el-tabs> | |
| 231 | - </div> | |
| 232 | - </div> | |
| 223 | + <a-layout id="luban-layout" style={{ height: '100vh' }}> | |
| 224 | + <a-layout-header class="header"> | |
| 225 | + <div class="logo">鲁班 H5</div> | |
| 226 | + {/* TODO we can show the plugins shortcuts here | |
| 227 | + <a-menu | |
| 228 | + theme="dark" | |
| 229 | + mode="horizontal" | |
| 230 | + defaultSelectedKeys={['2']} | |
| 231 | + style={{ lineHeight: '64px', float: 'left', marginLeft: '30%', background: 'transparent' }} | |
| 232 | + > | |
| 233 | + { | |
| 234 | + this.groups.sort().map((group, id) => ( | |
| 235 | + <a-menu-item key={id} class="transparent-bg"> | |
| 236 | + {this.renderPluginShortcut(group)} | |
| 237 | + </a-menu-item> | |
| 238 | + )) | |
| 239 | + } | |
| 240 | + </a-menu> */} | |
| 241 | + <a-menu | |
| 242 | + theme="dark" | |
| 243 | + mode="horizontal" | |
| 244 | + defaultSelectedKeys={['2']} | |
| 245 | + style={{ lineHeight: '64px', float: 'right', background: 'transparent' }} | |
| 246 | + > | |
| 247 | + <a-menu-item key="1" class="transparent-bg"><a-button type="primary" size="small">预览</a-button></a-menu-item> | |
| 248 | + <a-menu-item key="2" class="transparent-bg"><a-button size="small">保存</a-button></a-menu-item> | |
| 249 | + <a-menu-item key="3" class="transparent-bg"><a-button size="small">发布</a-button></a-menu-item> | |
| 250 | + </a-menu> | |
| 251 | + </a-layout-header> | |
| 252 | + <a-layout> | |
| 253 | + <a-layout-sider width="160" style="background: #fff"> | |
| 254 | + <a-menu onSelect={val => { this.activeMenuKey = val }} mode="inline" defaultSelectedKeys={['pluginList']} style={{ height: '100%', borderRight: 1 }}> | |
| 255 | + <a-menu-item key="pluginList"> | |
| 256 | + <a-icon type="user" /> | |
| 257 | + <span>组件列表</span> | |
| 258 | + </a-menu-item> | |
| 259 | + <a-menu-item key="2"> | |
| 260 | + <a-icon type="video-camera" /> | |
| 261 | + <span>页面管理</span> | |
| 262 | + </a-menu-item> | |
| 263 | + <a-menu-item key="3"> | |
| 264 | + <a-icon type="upload" /> | |
| 265 | + <span>更多模板</span> | |
| 266 | + </a-menu-item> | |
| 267 | + </a-menu> | |
| 268 | + </a-layout-sider> | |
| 269 | + <a-layout-sider width="240" theme='light' style={{ background: '#fff', padding: '0 12px' }}> | |
| 270 | + { this.renderPluginListPanel() } | |
| 271 | + </a-layout-sider> | |
| 272 | + <a-layout style="padding: 0 24px 24px"> | |
| 273 | + <a-layout-content style={{ padding: '24px', margin: 0, minHeight: '280px' }}> | |
| 274 | + <div style="text-align: center;"> | |
| 275 | + <a-radio-group | |
| 276 | + value={this.isPreviewMode} | |
| 277 | + onInput={value => { | |
| 278 | + this.isPreviewMode = value | |
| 279 | + }} | |
| 280 | + > | |
| 281 | + <a-radio-button label={false} value={false}>Edit</a-radio-button> | |
| 282 | + <a-radio-button label={true} value={true}>Preview</a-radio-button> | |
| 283 | + </a-radio-group> | |
| 284 | + </div> | |
| 285 | + <div class='canvas-wrapper'> | |
| 286 | + { this.isPreviewMode ? this.renderPreview(h, this.elements) : this.renderCanvas(h, this.elements) } | |
| 287 | + </div> | |
| 288 | + </a-layout-content> | |
| 289 | + </a-layout> | |
| 290 | + <a-layout-sider width="240" theme='light' style={{ background: '#fff', padding: '0 12px' }}> | |
| 291 | + <a-tabs type="card" style="height: 100%;"> | |
| 292 | + {/* | |
| 293 | + #!zh tab 标题: | |
| 294 | + #!en tab title | |
| 295 | + ElementUI:label | |
| 296 | + Ant Design Vue:tab | |
| 297 | + */} | |
| 298 | + <a-tab-pane key="属性"> | |
| 299 | + <span slot="tab"> | |
| 300 | + <a-icon type="apple" /> | |
| 301 | + 属性 | |
| 302 | + </span> | |
| 303 | + { this.renderPropsEditorPanel(h) } | |
| 304 | + </a-tab-pane> | |
| 305 | + <a-tab-pane label="动画" key='动画' tab='动画'>动画</a-tab-pane> | |
| 306 | + <a-tab-pane label="动作" key='动作' tab='动作'>动作</a-tab-pane> | |
| 307 | + </a-tabs> | |
| 308 | + </a-layout-sider> | |
| 309 | + </a-layout> | |
| 310 | + </a-layout> | |
| 233 | 311 | ) |
| 234 | 312 | } |
| 235 | 313 | } | ... | ... |
front-end/h5/src/components/core/styles/index.scss
0 → 100644
| 1 | +#luban-layout { | |
| 2 | + .header { | |
| 3 | + padding: 0 10px; | |
| 4 | + | |
| 5 | + .logo { | |
| 6 | + width: 120px; | |
| 7 | + height: 31px; | |
| 8 | + // background: rgba(255,255,255,.2); | |
| 9 | + margin: 16px 28px 16px 0; | |
| 10 | + float: left; | |
| 11 | + | |
| 12 | + line-height: 31px; | |
| 13 | + text-align: center; | |
| 14 | + color: white; | |
| 15 | + font-size: 16px; | |
| 16 | + } | |
| 17 | + } | |
| 18 | + | |
| 19 | + .shortcut-button { | |
| 20 | + width: 100%; | |
| 21 | + height: 40px; | |
| 22 | + | |
| 23 | + .shortcut-icon { | |
| 24 | + padding-right: 4px; | |
| 25 | + // display: block; | |
| 26 | + // font-size: 16px; | |
| 27 | + // margin-bottom: 10px; | |
| 28 | + } | |
| 29 | + } | |
| 30 | + | |
| 31 | +} | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | +.transparent-bg { | |
| 36 | + background: transparent !important; | |
| 37 | +} | |
| 38 | + | |
| 39 | +.no-border { | |
| 40 | + border: none !important; | |
| 41 | +} | |
| 0 | 42 | \ No newline at end of file | ... | ... |
front-end/h5/src/components/plugins/lbp-button.js
| ... | ... | @@ -11,19 +11,21 @@ export default { |
| 11 | 11 | borderWidth, |
| 12 | 12 | text |
| 13 | 13 | } = this |
| 14 | + | |
| 15 | + const style = { | |
| 16 | + color, | |
| 17 | + textAlign, | |
| 18 | + backgroundColor, | |
| 19 | + fontSize: fontSize, | |
| 20 | + lineHeight: lineHeight + 'em', | |
| 21 | + borderColor, | |
| 22 | + borderRadius: borderRadius + 'px', | |
| 23 | + borderWidth: borderWidth + 'px', | |
| 24 | + textDecoration: 'none' | |
| 25 | + } | |
| 14 | 26 | return ( |
| 15 | 27 | <button |
| 16 | - style={{ | |
| 17 | - color, | |
| 18 | - textAlign, | |
| 19 | - backgroundColor, | |
| 20 | - fontSize: fontSize + 'px', | |
| 21 | - lineHeight: lineHeight + 'em', | |
| 22 | - borderColor, | |
| 23 | - borderRadius: borderRadius + 'px', | |
| 24 | - borderWidth: borderWidth + 'px', | |
| 25 | - textDecoration: 'none' | |
| 26 | - }} | |
| 28 | + style={style} | |
| 27 | 29 | >{text}</button>) |
| 28 | 30 | }, |
| 29 | 31 | name: 'lbp-button', |
| ... | ... | @@ -84,13 +86,13 @@ export default { |
| 84 | 86 | editorConfig: { |
| 85 | 87 | propsConfig: { |
| 86 | 88 | text: { |
| 87 | - type: 'el-input', | |
| 89 | + type: 'a-input', | |
| 88 | 90 | label: '按钮文字', |
| 89 | 91 | require: true, |
| 90 | 92 | defaultPropValue: '按钮' |
| 91 | 93 | }, |
| 92 | 94 | fontSize: { |
| 93 | - type: 'el-input-number', | |
| 95 | + type: 'a-input-number', | |
| 94 | 96 | label: '字号(px)', |
| 95 | 97 | require: true, |
| 96 | 98 | prop: { |
| ... | ... | @@ -101,7 +103,7 @@ export default { |
| 101 | 103 | defaultPropValue: 14 |
| 102 | 104 | }, |
| 103 | 105 | color: { |
| 104 | - type: 'el-input', | |
| 106 | + type: 'a-input', | |
| 105 | 107 | label: '文字颜色', |
| 106 | 108 | // !#zh 为编辑组件指定 prop |
| 107 | 109 | prop: { |
| ... | ... | @@ -111,7 +113,7 @@ export default { |
| 111 | 113 | defaultPropValue: 'black' |
| 112 | 114 | }, |
| 113 | 115 | backgroundColor: { |
| 114 | - type: 'el-input', // lbs-color-picker | |
| 116 | + type: 'a-input', // lbs-color-picker | |
| 115 | 117 | label: '背景颜色', |
| 116 | 118 | prop: { |
| 117 | 119 | type: 'color' |
| ... | ... | @@ -120,7 +122,7 @@ export default { |
| 120 | 122 | defaultPropValue: '#ffffff' // TODO why logogram for color does't work? |
| 121 | 123 | }, |
| 122 | 124 | borderColor: { |
| 123 | - type: 'el-input', // lbs-color-picker | |
| 125 | + type: 'a-input', // lbs-color-picker | |
| 124 | 126 | label: '边框颜色', |
| 125 | 127 | prop: { |
| 126 | 128 | type: 'color' |
| ... | ... | @@ -129,7 +131,7 @@ export default { |
| 129 | 131 | defaultPropValue: '#eeeeee' |
| 130 | 132 | }, |
| 131 | 133 | borderWidth: { |
| 132 | - type: 'el-input-number', | |
| 134 | + type: 'a-input-number', | |
| 133 | 135 | label: '边框宽度(px)', |
| 134 | 136 | require: true, |
| 135 | 137 | prop: { |
| ... | ... | @@ -140,7 +142,7 @@ export default { |
| 140 | 142 | defaultPropValue: 1 |
| 141 | 143 | }, |
| 142 | 144 | borderRadius: { |
| 143 | - type: 'el-input-number', | |
| 145 | + type: 'a-input-number', | |
| 144 | 146 | label: '圆角(px)', |
| 145 | 147 | require: true, |
| 146 | 148 | prop: { |
| ... | ... | @@ -151,7 +153,7 @@ export default { |
| 151 | 153 | defaultPropValue: 0 |
| 152 | 154 | }, |
| 153 | 155 | lineHeight: { |
| 154 | - type: 'el-input-number', | |
| 156 | + type: 'a-input-number', | |
| 155 | 157 | label: '行高', |
| 156 | 158 | require: true, |
| 157 | 159 | prop: { |
| ... | ... | @@ -172,14 +174,14 @@ export default { |
| 172 | 174 | 'lbs-text-align': { |
| 173 | 175 | template: ` |
| 174 | 176 | <div class="wrap"> |
| 175 | - <el-radio-group v-model="value_" size="small"> | |
| 176 | - <el-tooltip effect="dark" :content="item.label" placement="top" :key="index" v-for="(item, index) in textAlignTabs"> | |
| 177 | - <el-radio-button :label="item.value"> | |
| 177 | + <a-radio-group v-model="value_" size="small"> | |
| 178 | + <a-tooltip effect="dark" :content="item.label" placement="top" :key="index" v-for="(item, index) in textAlignTabs"> | |
| 179 | + <a-radio-button :label="item.value"> | |
| 178 | 180 | <!-- issue #8 --> |
| 179 | 181 | <i :class="['fa', 'fa-align-'+item.value]" aria-hidden="true"></i> |
| 180 | - </el-radio-button> | |
| 181 | - </el-tooltip> | |
| 182 | - </el-radio-group> | |
| 182 | + </a-radio-button> | |
| 183 | + </a-tooltip> | |
| 184 | + </a-radio-group> | |
| 183 | 185 | </div>`, |
| 184 | 186 | props: { |
| 185 | 187 | value: { |
| ... | ... | @@ -227,14 +229,14 @@ export default { |
| 227 | 229 | } |
| 228 | 230 | }, |
| 229 | 231 | template: ` |
| 230 | - <el-select v-model="value_" placeholder="类型"> | |
| 231 | - <el-option | |
| 232 | + <a-select v-model="value_" placeholder="类型"> | |
| 233 | + <a-option | |
| 232 | 234 | v-for="item in options" |
| 233 | 235 | :key="item.value" |
| 234 | 236 | :label="item.label" |
| 235 | 237 | :value="item.value"> |
| 236 | - </el-option> | |
| 237 | - </el-select> | |
| 238 | + </a-option> | |
| 239 | + </a-select> | |
| 238 | 240 | `, |
| 239 | 241 | data: () => ({ |
| 240 | 242 | options: [ | ... | ... |
front-end/h5/src/components/plugins/lbp-picture.js
front-end/h5/src/main.js
| ... | ... | @@ -3,13 +3,17 @@ import App from './App.vue' |
| 3 | 3 | import router from './router' |
| 4 | 4 | import store from './store/' |
| 5 | 5 | import './registerServiceWorker' |
| 6 | -import ElementUI from 'element-ui' | |
| 7 | -import 'element-ui/lib/theme-chalk/index.css' | |
| 6 | +// import ElementUI from 'element-ui' | |
| 7 | +import Antd from 'ant-design-vue' | |
| 8 | + | |
| 9 | +// import 'element-ui/lib/theme-chalk/index.css' | |
| 10 | +import 'ant-design-vue/dist/antd.css' | |
| 8 | 11 | // !#zh 请注意,务必使用 font-awesome@4.7.0 版本 |
| 9 | 12 | import 'font-awesome/css/font-awesome.min.css' |
| 10 | 13 | |
| 11 | 14 | Vue.config.productionTip = false |
| 12 | -Vue.use(ElementUI) | |
| 15 | +Vue.use(Antd) | |
| 16 | +// Vue.use(ElementUI) | |
| 13 | 17 | |
| 14 | 18 | new Vue({ |
| 15 | 19 | router, | ... | ... |
front-end/h5/src/views/Editor.vue
| ... | ... | @@ -91,14 +91,6 @@ $designerWidth: 320px; |
| 91 | 91 | $designerHeight: 568px; |
| 92 | 92 | $designerWidthHalf: $designerWidth / 2; |
| 93 | 93 | |
| 94 | -#designer-page { | |
| 95 | - display: flex; | |
| 96 | - // https://stackoverflow.com/questions/17904088/disable-less-css-overwriting-calc | |
| 97 | - // less: min-height: ~'calc(100% - 40px)'; | |
| 98 | - min-height: calc(100% - 40px); | |
| 99 | - | |
| 100 | -} | |
| 101 | - | |
| 102 | 94 | .canvas-wrapper { |
| 103 | 95 | position: relative; |
| 104 | 96 | top: 5%; |
| ... | ... | @@ -106,6 +98,7 @@ $designerWidthHalf: $designerWidth / 2; |
| 106 | 98 | height: $designerHeight; |
| 107 | 99 | border: 1px #ebeaea solid; |
| 108 | 100 | margin: 0 auto; |
| 101 | + background: #fff; | |
| 109 | 102 | } |
| 110 | 103 | |
| 111 | 104 | .lb-tabs { | ... | ... |
front-end/h5/yarn.lock
| ... | ... | @@ -2,6 +2,19 @@ |
| 2 | 2 | # yarn lockfile v1 |
| 3 | 3 | |
| 4 | 4 | |
| 5 | +"@ant-design/icons-vue@^1.0.1": | |
| 6 | + version "1.0.1" | |
| 7 | + resolved "https://registry.npm.taobao.org/@ant-design/icons-vue/download/@ant-design/icons-vue-1.0.1.tgz#343579219c04190831c9ca3826aec7361bb8b4d4" | |
| 8 | + integrity sha1-NDV5IZwEGQgxyco4Jq7HNhu4tNQ= | |
| 9 | + dependencies: | |
| 10 | + ant-design-palettes "^1.1.3" | |
| 11 | + babel-runtime "^6.26.0" | |
| 12 | + | |
| 13 | +"@ant-design/icons@^1.1.15": | |
| 14 | + version "1.2.1" | |
| 15 | + resolved "https://registry.npm.taobao.org/@ant-design/icons/download/@ant-design/icons-1.2.1.tgz#8e19301b1433ec67d6bbd0e892782e2ade561ff9" | |
| 16 | + integrity sha1-jhkwGxQz7GfWu9DoknguKt5WH/k= | |
| 17 | + | |
| 5 | 18 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35": |
| 6 | 19 | version "7.0.0" |
| 7 | 20 | resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" |
| ... | ... | @@ -1273,6 +1286,13 @@ acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.7, acorn@^6.1.1: |
| 1273 | 1286 | resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" |
| 1274 | 1287 | integrity sha1-fSWuBbuK0fm2mRCOEJTs14hK3B8= |
| 1275 | 1288 | |
| 1289 | +add-dom-event-listener@^1.0.2: | |
| 1290 | + version "1.1.0" | |
| 1291 | + resolved "https://registry.npm.taobao.org/add-dom-event-listener/download/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" | |
| 1292 | + integrity sha1-apLbOg3Qq8JU4JXA8dwUrLuq4xA= | |
| 1293 | + dependencies: | |
| 1294 | + object-assign "4.x" | |
| 1295 | + | |
| 1276 | 1296 | address@^1.0.3: |
| 1277 | 1297 | version "1.1.0" |
| 1278 | 1298 | resolved "https://registry.npm.taobao.org/address/download/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" |
| ... | ... | @@ -1365,6 +1385,46 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: |
| 1365 | 1385 | dependencies: |
| 1366 | 1386 | color-convert "^1.9.0" |
| 1367 | 1387 | |
| 1388 | +ant-design-palettes@^1.1.3: | |
| 1389 | + version "1.1.3" | |
| 1390 | + resolved "https://registry.npm.taobao.org/ant-design-palettes/download/ant-design-palettes-1.1.3.tgz#84119b1a4d86363adc52a38d587e65336a0a27dd" | |
| 1391 | + integrity sha1-hBGbGk2GNjrcUqONWH5lM2oKJ90= | |
| 1392 | + dependencies: | |
| 1393 | + tinycolor2 "^1.4.1" | |
| 1394 | + | |
| 1395 | +ant-design-vue@^1.3.10: | |
| 1396 | + version "1.3.10" | |
| 1397 | + resolved "https://registry.npm.taobao.org/ant-design-vue/download/ant-design-vue-1.3.10.tgz#82813f90888f77dd0e56c8a71e14efa0f8d8e3da" | |
| 1398 | + integrity sha1-goE/kIiPd90OVsinHhTvoPjY49o= | |
| 1399 | + dependencies: | |
| 1400 | + "@ant-design/icons" "^1.1.15" | |
| 1401 | + "@ant-design/icons-vue" "^1.0.1" | |
| 1402 | + add-dom-event-listener "^1.0.2" | |
| 1403 | + array-tree-filter "^2.1.0" | |
| 1404 | + async-validator "^1.8.2" | |
| 1405 | + babel-helper-vue-jsx-merge-props "^2.0.3" | |
| 1406 | + babel-runtime "6.x" | |
| 1407 | + classnames "^2.2.5" | |
| 1408 | + component-classes "^1.2.6" | |
| 1409 | + dom-align "^1.7.0" | |
| 1410 | + dom-closest "^0.2.0" | |
| 1411 | + dom-scroll-into-view "^1.2.1" | |
| 1412 | + enquire.js "^2.1.6" | |
| 1413 | + intersperse "^1.0.0" | |
| 1414 | + is-negative-zero "^2.0.0" | |
| 1415 | + ismobilejs "^0.5.1" | |
| 1416 | + json2mq "^0.2.0" | |
| 1417 | + lodash "^4.17.5" | |
| 1418 | + moment "^2.21.0" | |
| 1419 | + mutationobserver-shim "^0.3.2" | |
| 1420 | + omit.js "^1.0.0" | |
| 1421 | + raf "^3.4.0" | |
| 1422 | + resize-observer-polyfill "^1.5.1" | |
| 1423 | + shallow-equal "^1.0.0" | |
| 1424 | + shallowequal "^1.0.2" | |
| 1425 | + vue-ref "^1.0.4" | |
| 1426 | + warning "^3.0.0" | |
| 1427 | + | |
| 1368 | 1428 | any-promise@^1.0.0: |
| 1369 | 1429 | version "1.3.0" |
| 1370 | 1430 | resolved "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" |
| ... | ... | @@ -1470,6 +1530,11 @@ array-reduce@~0.0.0: |
| 1470 | 1530 | resolved "https://registry.npm.taobao.org/array-reduce/download/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" |
| 1471 | 1531 | integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= |
| 1472 | 1532 | |
| 1533 | +array-tree-filter@^2.1.0: | |
| 1534 | + version "2.1.0" | |
| 1535 | + resolved "https://registry.npm.taobao.org/array-tree-filter/download/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" | |
| 1536 | + integrity sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA= | |
| 1537 | + | |
| 1473 | 1538 | array-union@^1.0.1, array-union@^1.0.2: |
| 1474 | 1539 | version "1.0.2" |
| 1475 | 1540 | resolved "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" |
| ... | ... | @@ -1546,6 +1611,13 @@ async-limiter@~1.0.0: |
| 1546 | 1611 | resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" |
| 1547 | 1612 | integrity sha1-ePrtjD0HSrgfIrTphdeehzj3IPg= |
| 1548 | 1613 | |
| 1614 | +async-validator@^1.8.2: | |
| 1615 | + version "1.11.3" | |
| 1616 | + resolved "https://registry.npm.taobao.org/async-validator/download/async-validator-1.11.3.tgz?cache=0&sync_timestamp=1561700133414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-validator%2Fdownload%2Fasync-validator-1.11.3.tgz#23703b19740721d88edbcb6310f6d745da9ec109" | |
| 1617 | + integrity sha1-I3A7GXQHIdiO28tjEPbXRdqewQk= | |
| 1618 | + dependencies: | |
| 1619 | + babel-runtime "6.x" | |
| 1620 | + | |
| 1549 | 1621 | async-validator@~1.8.1: |
| 1550 | 1622 | version "1.8.5" |
| 1551 | 1623 | resolved "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz#dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0" |
| ... | ... | @@ -1677,7 +1749,7 @@ babel-generator@^6.18.0, babel-generator@^6.26.0: |
| 1677 | 1749 | source-map "^0.5.7" |
| 1678 | 1750 | trim-right "^1.0.1" |
| 1679 | 1751 | |
| 1680 | -babel-helper-vue-jsx-merge-props@^2.0.0: | |
| 1752 | +babel-helper-vue-jsx-merge-props@^2.0.0, babel-helper-vue-jsx-merge-props@^2.0.3: | |
| 1681 | 1753 | version "2.0.3" |
| 1682 | 1754 | resolved "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6" |
| 1683 | 1755 | integrity sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY= |
| ... | ... | @@ -1800,7 +1872,7 @@ babel-register@^6.26.0: |
| 1800 | 1872 | mkdirp "^0.5.1" |
| 1801 | 1873 | source-map-support "^0.4.15" |
| 1802 | 1874 | |
| 1803 | -babel-runtime@6.x, babel-runtime@^6.22.0, babel-runtime@^6.26.0: | |
| 1875 | +babel-runtime@6.x, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: | |
| 1804 | 1876 | version "6.26.0" |
| 1805 | 1877 | resolved "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" |
| 1806 | 1878 | integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= |
| ... | ... | @@ -2388,6 +2460,11 @@ class-utils@^0.3.5: |
| 2388 | 2460 | isobject "^3.0.0" |
| 2389 | 2461 | static-extend "^0.1.1" |
| 2390 | 2462 | |
| 2463 | +classnames@^2.2.5: | |
| 2464 | + version "2.2.6" | |
| 2465 | + resolved "https://registry.npm.taobao.org/classnames/download/classnames-2.2.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclassnames%2Fdownload%2Fclassnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" | |
| 2466 | + integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4= | |
| 2467 | + | |
| 2391 | 2468 | clean-css@4.2.x: |
| 2392 | 2469 | version "4.2.1" |
| 2393 | 2470 | resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" |
| ... | ... | @@ -2586,11 +2663,23 @@ commondir@^1.0.1: |
| 2586 | 2663 | resolved "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" |
| 2587 | 2664 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= |
| 2588 | 2665 | |
| 2666 | +component-classes@^1.2.6: | |
| 2667 | + version "1.2.6" | |
| 2668 | + resolved "https://registry.npm.taobao.org/component-classes/download/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" | |
| 2669 | + integrity sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE= | |
| 2670 | + dependencies: | |
| 2671 | + component-indexof "0.0.3" | |
| 2672 | + | |
| 2589 | 2673 | component-emitter@^1.2.1: |
| 2590 | 2674 | version "1.3.0" |
| 2591 | 2675 | resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" |
| 2592 | 2676 | integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= |
| 2593 | 2677 | |
| 2678 | +component-indexof@0.0.3: | |
| 2679 | + version "0.0.3" | |
| 2680 | + resolved "https://registry.npm.taobao.org/component-indexof/download/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" | |
| 2681 | + integrity sha1-EdCRMSI5648yyPJa6csAL/6NPCQ= | |
| 2682 | + | |
| 2594 | 2683 | compressible@~2.0.16: |
| 2595 | 2684 | version "2.0.17" |
| 2596 | 2685 | resolved "https://registry.npm.taobao.org/compressible/download/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" |
| ... | ... | @@ -3344,6 +3433,18 @@ doctrine@^3.0.0: |
| 3344 | 3433 | dependencies: |
| 3345 | 3434 | esutils "^2.0.2" |
| 3346 | 3435 | |
| 3436 | +dom-align@^1.7.0: | |
| 3437 | + version "1.9.0" | |
| 3438 | + resolved "https://registry.npm.taobao.org/dom-align/download/dom-align-1.9.0.tgz#27339be5a2301e7d8470bdee54575c835c981654" | |
| 3439 | + integrity sha1-JzOb5aIwHn2EcL3uVFdcg1yYFlQ= | |
| 3440 | + | |
| 3441 | +dom-closest@^0.2.0: | |
| 3442 | + version "0.2.0" | |
| 3443 | + resolved "https://registry.npm.taobao.org/dom-closest/download/dom-closest-0.2.0.tgz#ebd9f91d1bf22e8d6f477876bbcd3ec90216c0cf" | |
| 3444 | + integrity sha1-69n5HRvyLo1vR3h2u80+yQIWwM8= | |
| 3445 | + dependencies: | |
| 3446 | + dom-matches ">=1.0.1" | |
| 3447 | + | |
| 3347 | 3448 | dom-converter@^0.2: |
| 3348 | 3449 | version "0.2.0" |
| 3349 | 3450 | resolved "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" |
| ... | ... | @@ -3356,6 +3457,16 @@ dom-event-types@^1.0.0: |
| 3356 | 3457 | resolved "https://registry.npm.taobao.org/dom-event-types/download/dom-event-types-1.0.0.tgz#5830a0a29e1bf837fe50a70cd80a597232813cae" |
| 3357 | 3458 | integrity sha1-WDCgop4b+Df+UKcM2ApZcjKBPK4= |
| 3358 | 3459 | |
| 3460 | +dom-matches@>=1.0.1: | |
| 3461 | + version "2.0.0" | |
| 3462 | + resolved "https://registry.npm.taobao.org/dom-matches/download/dom-matches-2.0.0.tgz#d2728b416a87533980eb089b848d253cf23a758c" | |
| 3463 | + integrity sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw= | |
| 3464 | + | |
| 3465 | +dom-scroll-into-view@^1.2.1: | |
| 3466 | + version "1.2.1" | |
| 3467 | + resolved "https://registry.npm.taobao.org/dom-scroll-into-view/download/dom-scroll-into-view-1.2.1.tgz#e8f36732dd089b0201a88d7815dc3f88e6d66c7e" | |
| 3468 | + integrity sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4= | |
| 3469 | + | |
| 3359 | 3470 | dom-serializer@0: |
| 3360 | 3471 | version "0.1.1" |
| 3361 | 3472 | resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" |
| ... | ... | @@ -3535,6 +3646,11 @@ enhanced-resolve@^4.1.0: |
| 3535 | 3646 | memory-fs "^0.4.0" |
| 3536 | 3647 | tapable "^1.0.0" |
| 3537 | 3648 | |
| 3649 | +enquire.js@^2.1.6: | |
| 3650 | + version "2.1.6" | |
| 3651 | + resolved "https://registry.npm.taobao.org/enquire.js/download/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814" | |
| 3652 | + integrity sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ= | |
| 3653 | + | |
| 3538 | 3654 | entities@^1.1.1: |
| 3539 | 3655 | version "1.1.2" |
| 3540 | 3656 | resolved "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" |
| ... | ... | @@ -5238,6 +5354,11 @@ internal-ip@^4.3.0: |
| 5238 | 5354 | default-gateway "^4.2.0" |
| 5239 | 5355 | ipaddr.js "^1.9.0" |
| 5240 | 5356 | |
| 5357 | +intersperse@^1.0.0: | |
| 5358 | + version "1.0.0" | |
| 5359 | + resolved "https://registry.npm.taobao.org/intersperse/download/intersperse-1.0.0.tgz#f2561fb1cfef9f5277cc3347a22886b4351a5181" | |
| 5360 | + integrity sha1-8lYfsc/vn1J3zDNHoiiGtDUaUYE= | |
| 5361 | + | |
| 5241 | 5362 | invariant@^2.2.2, invariant@^2.2.4: |
| 5242 | 5363 | version "2.2.4" |
| 5243 | 5364 | resolved "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finvariant%2Fdownload%2Finvariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" |
| ... | ... | @@ -5464,6 +5585,11 @@ is-installed-globally@0.1.0: |
| 5464 | 5585 | global-dirs "^0.1.0" |
| 5465 | 5586 | is-path-inside "^1.0.0" |
| 5466 | 5587 | |
| 5588 | +is-negative-zero@^2.0.0: | |
| 5589 | + version "2.0.0" | |
| 5590 | + resolved "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" | |
| 5591 | + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= | |
| 5592 | + | |
| 5467 | 5593 | is-number@^2.1.0: |
| 5468 | 5594 | version "2.1.0" |
| 5469 | 5595 | resolved "https://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" |
| ... | ... | @@ -5619,6 +5745,11 @@ isexe@^2.0.0: |
| 5619 | 5745 | resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" |
| 5620 | 5746 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= |
| 5621 | 5747 | |
| 5748 | +ismobilejs@^0.5.1: | |
| 5749 | + version "0.5.2" | |
| 5750 | + resolved "https://registry.npm.taobao.org/ismobilejs/download/ismobilejs-0.5.2.tgz#e81bacf6187c532ad8348355f4fecd6e6adfdce1" | |
| 5751 | + integrity sha1-6Bus9hh8UyrYNINV9P7Nbmrf3OE= | |
| 5752 | + | |
| 5622 | 5753 | isobject@^2.0.0: |
| 5623 | 5754 | version "2.1.0" |
| 5624 | 5755 | resolved "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" |
| ... | ... | @@ -6196,6 +6327,13 @@ json-stringify-safe@~5.0.1: |
| 6196 | 6327 | resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" |
| 6197 | 6328 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= |
| 6198 | 6329 | |
| 6330 | +json2mq@^0.2.0: | |
| 6331 | + version "0.2.0" | |
| 6332 | + resolved "https://registry.npm.taobao.org/json2mq/download/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" | |
| 6333 | + integrity sha1-tje9O6nqvhIsg+lyBIOusQ0skEo= | |
| 6334 | + dependencies: | |
| 6335 | + string-convert "^0.2.0" | |
| 6336 | + | |
| 6199 | 6337 | json3@^3.3.2: |
| 6200 | 6338 | version "3.3.3" |
| 6201 | 6339 | resolved "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" |
| ... | ... | @@ -6892,7 +7030,7 @@ mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@ |
| 6892 | 7030 | dependencies: |
| 6893 | 7031 | minimist "0.0.8" |
| 6894 | 7032 | |
| 6895 | -moment@2.24.0: | |
| 7033 | +moment@2.24.0, moment@^2.21.0: | |
| 6896 | 7034 | version "2.24.0" |
| 6897 | 7035 | resolved "https://registry.npm.taobao.org/moment/download/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" |
| 6898 | 7036 | integrity sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s= |
| ... | ... | @@ -6937,6 +7075,11 @@ multicast-dns@^6.0.1: |
| 6937 | 7075 | dns-packet "^1.3.1" |
| 6938 | 7076 | thunky "^1.0.2" |
| 6939 | 7077 | |
| 7078 | +mutationobserver-shim@^0.3.2: | |
| 7079 | + version "0.3.3" | |
| 7080 | + resolved "https://registry.npm.taobao.org/mutationobserver-shim/download/mutationobserver-shim-0.3.3.tgz#65869630bc89d7bf8c9cd9cb82188cd955aacd2b" | |
| 7081 | + integrity sha1-ZYaWMLyJ17+MnNnLghiM2VWqzSs= | |
| 7082 | + | |
| 6940 | 7083 | mute-stream@0.0.7: |
| 6941 | 7084 | version "0.0.7" |
| 6942 | 7085 | resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" |
| ... | ... | @@ -7220,7 +7363,7 @@ oauth-sign@~0.9.0: |
| 7220 | 7363 | resolved "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" |
| 7221 | 7364 | integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= |
| 7222 | 7365 | |
| 7223 | -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: | |
| 7366 | +object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: | |
| 7224 | 7367 | version "4.1.1" |
| 7225 | 7368 | resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" |
| 7226 | 7369 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= |
| ... | ... | @@ -7299,6 +7442,13 @@ obuf@^1.0.0, obuf@^1.1.2: |
| 7299 | 7442 | resolved "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" |
| 7300 | 7443 | integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= |
| 7301 | 7444 | |
| 7445 | +omit.js@^1.0.0: | |
| 7446 | + version "1.0.2" | |
| 7447 | + resolved "https://registry.npm.taobao.org/omit.js/download/omit.js-1.0.2.tgz#91a14f0eba84066dfa015bf30e474c47f30bc858" | |
| 7448 | + integrity sha1-kaFPDrqEBm36AVvzDkdMR/MLyFg= | |
| 7449 | + dependencies: | |
| 7450 | + babel-runtime "^6.23.0" | |
| 7451 | + | |
| 7302 | 7452 | on-finished@~2.3.0: |
| 7303 | 7453 | version "2.3.0" |
| 7304 | 7454 | resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" |
| ... | ... | @@ -8292,6 +8442,13 @@ querystringify@^2.1.1: |
| 8292 | 8442 | resolved "https://registry.npm.taobao.org/querystringify/download/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" |
| 8293 | 8443 | integrity sha1-YOWl/WSn+L+k0qsu1v30yFutFU4= |
| 8294 | 8444 | |
| 8445 | +raf@^3.4.0: | |
| 8446 | + version "3.4.1" | |
| 8447 | + resolved "https://registry.npm.taobao.org/raf/download/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" | |
| 8448 | + integrity sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk= | |
| 8449 | + dependencies: | |
| 8450 | + performance-now "^2.1.0" | |
| 8451 | + | |
| 8295 | 8452 | ramda@0.24.1: |
| 8296 | 8453 | version "0.24.1" |
| 8297 | 8454 | resolved "https://registry.npm.taobao.org/ramda/download/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857" |
| ... | ... | @@ -8663,7 +8820,7 @@ reselect@^3.0.1: |
| 8663 | 8820 | resolved "https://registry.npm.taobao.org/reselect/download/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147" |
| 8664 | 8821 | integrity sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc= |
| 8665 | 8822 | |
| 8666 | -resize-observer-polyfill@^1.5.0: | |
| 8823 | +resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: | |
| 8667 | 8824 | version "1.5.1" |
| 8668 | 8825 | resolved "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" |
| 8669 | 8826 | integrity sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ= |
| ... | ... | @@ -8998,6 +9155,16 @@ shallow-clone@^1.0.0: |
| 8998 | 9155 | kind-of "^5.0.0" |
| 8999 | 9156 | mixin-object "^2.0.1" |
| 9000 | 9157 | |
| 9158 | +shallow-equal@^1.0.0: | |
| 9159 | + version "1.2.0" | |
| 9160 | + resolved "https://registry.npm.taobao.org/shallow-equal/download/shallow-equal-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshallow-equal%2Fdownload%2Fshallow-equal-1.2.0.tgz#fd828d2029ff4e19569db7e19e535e94e2d1f5cc" | |
| 9161 | + integrity sha1-/YKNICn/ThlWnbfhnlNelOLR9cw= | |
| 9162 | + | |
| 9163 | +shallowequal@^1.0.2: | |
| 9164 | + version "1.1.0" | |
| 9165 | + resolved "https://registry.npm.taobao.org/shallowequal/download/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" | |
| 9166 | + integrity sha1-GI1SHelbkIdAT9TctosT3wrk5/g= | |
| 9167 | + | |
| 9001 | 9168 | shebang-command@^1.2.0: |
| 9002 | 9169 | version "1.2.0" |
| 9003 | 9170 | resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" |
| ... | ... | @@ -9346,6 +9513,11 @@ strict-uri-encode@^1.0.0: |
| 9346 | 9513 | resolved "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" |
| 9347 | 9514 | integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= |
| 9348 | 9515 | |
| 9516 | +string-convert@^0.2.0: | |
| 9517 | + version "0.2.1" | |
| 9518 | + resolved "https://registry.npm.taobao.org/string-convert/download/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" | |
| 9519 | + integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c= | |
| 9520 | + | |
| 9349 | 9521 | string-length@^2.0.0: |
| 9350 | 9522 | version "2.0.0" |
| 9351 | 9523 | resolved "https://registry.npm.taobao.org/string-length/download/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" |
| ... | ... | @@ -9696,6 +9868,11 @@ timsort@^0.3.0: |
| 9696 | 9868 | resolved "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" |
| 9697 | 9869 | integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= |
| 9698 | 9870 | |
| 9871 | +tinycolor2@^1.4.1: | |
| 9872 | + version "1.4.1" | |
| 9873 | + resolved "https://registry.npm.taobao.org/tinycolor2/download/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" | |
| 9874 | + integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g= | |
| 9875 | + | |
| 9699 | 9876 | tmp@0.1.0: |
| 9700 | 9877 | version "0.1.0" |
| 9701 | 9878 | resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" |
| ... | ... | @@ -10142,6 +10319,11 @@ vue-loader@^15.7.0: |
| 10142 | 10319 | vue-hot-reload-api "^2.3.0" |
| 10143 | 10320 | vue-style-loader "^4.1.0" |
| 10144 | 10321 | |
| 10322 | +vue-ref@^1.0.4: | |
| 10323 | + version "1.0.6" | |
| 10324 | + resolved "https://registry.npm.taobao.org/vue-ref/download/vue-ref-1.0.6.tgz#b9b3d7d0e290ee2fd3d50d5d7bdac520806cb265" | |
| 10325 | + integrity sha1-ubPX0OKQ7i/T1Q1de9rFIIBssmU= | |
| 10326 | + | |
| 10145 | 10327 | vue-router@^3.0.3: |
| 10146 | 10328 | version "3.0.6" |
| 10147 | 10329 | resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-3.0.6.tgz#2e4f0f9cbb0b96d0205ab2690cfe588935136ac3" |
| ... | ... | @@ -10192,6 +10374,13 @@ walker@~1.0.5: |
| 10192 | 10374 | dependencies: |
| 10193 | 10375 | makeerror "1.0.x" |
| 10194 | 10376 | |
| 10377 | +warning@^3.0.0: | |
| 10378 | + version "3.0.0" | |
| 10379 | + resolved "https://registry.npm.taobao.org/warning/download/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" | |
| 10380 | + integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= | |
| 10381 | + dependencies: | |
| 10382 | + loose-envify "^1.0.0" | |
| 10383 | + | |
| 10195 | 10384 | watch@~0.18.0: |
| 10196 | 10385 | version "0.18.0" |
| 10197 | 10386 | resolved "https://registry.npm.taobao.org/watch/download/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" | ... | ... |