Current collected state Current
Observed since 20 Oct, 21:11 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
7qb
七巧板,最灵活的云项目平台
最灵活的云项目平台
npm i 7qb -g
因为七巧板引用了 Vue.js, Vue Router, Ant Design of Vue, Monaco Editor 等 NPM 包,为了减少最终项目的代码大小,需要再目标项目编译的同时,进行混合编译。为此需要对 vue 编译配置进行如下调整。
// 将下方代码追加到 vue.config.js
module.exports = {
// 将 node_modules 中 七巧板 代码编译到本地项目
transpileDependencies: ["7qb/src"],
};
在已有 Vue.js 项目中引用七巧板项目
// 引用七巧板内核
import { Qqb } from '7qb';
// 安装七巧板插件
Vue.use(Qqb);
// 关联七巧板项目
const qqb = new Qqb({
// 云端项目标识
// 注意:标识需要根据项目不同进行替换
id: "24875521-ec64-4ed3-8862-2f0a1ba02c70",
});
// 注意:
// 七巧板需要基于 vue-router 运行
// 启动 Vue 应用
const vm = new Vue({ /* ...已有Vue项目的路由与应用等参数... */ });
// 注入七巧板
qqb.setup(vm);
src
├─actions // 自定义动作目录
│ ├─jdt-example // 自定义动作范例
│ │ index.js // 动作 Meta 声明
│ │ jdt-example.js // 动作逻辑脚本
│ │ jdt-example-props-component.vue // 动作设置界面
│ └─index.js // 自定义扩展动作引用列表
└─widgets // 自定义组件目录
├─jdt-example // 自定义组件范例
│ index.js // 组件 Meta 声明
│ jdt-example-component.vue // 组件实体代码
│ jdt-example-props-control-schema.js // 组件设置 Meta 声明
└─index.js // 自定义扩展组件引用列表
/**
* 组件配置
* src/widgets/jdt-example/index.js
*/
export default {
// 组件标识
id: "jdt-widget-example",
// 设计语言
framework: "eleme",
// 组件名称
name: "自定义组件",
// 组件图标
iconUrl: "//7qb.jd.com/assets/...",
// 组件分类
kind: "数据",
// 继承组件(可选项)
extends: [/* "父级组件 id" */],
// 组件特征描述(可选项)
schema({ $7qb }) {
return {
// 是否是动态容器(可选项)
container: false,
// 子集组件列表(可选项)
children: [],
// 扩展属性(可选项)
props: {
/* 依据组件需要,自定义属性 */
}
}
},
// 支持事件(可选项)
events({ $7qb, schema }) {
return {
ready: { title: "准备就绪" }
}
},
// 模拟数据(可选项)
mock({ $7qb, schema }) { return Mock.mock('@string') },
// 当插入时触发
insert({ $7qb, schema }) {}
// 当插入子节点时触发(可选项)
insertChild({ $7qb, schema, originalSchema, childSchema, originalChildSchema }) { },
// 当删除子节点时触发(可选项)
deleteChild({ $7qb, schema, childSchema }) { },
// 当拷贝时触发(可选项)
copy({ $7qb, newSchema, schema }) { },
// 创建页面包裹布局处理(可选项)
createLayoutBundleSchema({ projectSchema, contentSchema }) { }
// 在组件列表中隐藏(可选项)
hidden: false,
// 不建议使用(可选项)
deprecated: false,
// 当不建议使用组件进入编辑界面触发(可选项)
upgrade({ $7qb, schema }) { },
// 展业组件 VueComponent
component,
// 编辑器占位组件(可选项)
blockComponent,
// 组件设置 Meta 声明
propsControlSchema,
// 附加至子集组件的设置 Meta 声明(可选项)
childPropsControlSchema,
}
/**
* 动作配置
* src/actions/jdt-example/index.js
*/
export default {
// 动作标识
id: "jdt-action-example",
// 动作名称
name: "自定义动作",
// 动作说明
description: "自定义动作的功能描述",
// 动作特征描述
schema({ $7qb }) {
return {
// 动作属性
props: {
/* 依据动作需要,自定义属性 */
}
}
},
// 动作逻辑 class
logic,
// 配置面板组件 VueComponent
propsComponent,
}
npm install
npm run build:render-ant
npm run build:render-eleme
npm run marge-render
npm run build:editor
cp -f -r ./dist $BUILD/resource echo "bash /home/export/shell/run.sh" > $BUILD/bin/start.sh
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
ant-design-vueEnvironment{
"local_name": "ant-design-vue",
"alias": false,
"peer_metadata": null
} | ^1.6.5 | runtime |
axiosEnvironment{
"local_name": "axios",
"alias": false,
"peer_metadata": null
} | ^0.20.0 | runtime |
core-jsEnvironment{
"local_name": "core-js",
"alias": false,
"peer_metadata": null
} | ^3.6.5 | runtime |
md5Environment{
"local_name": "md5",
"alias": false,
"peer_metadata": null
} | ^2.3.0 | runtime |
mockjsEnvironment{
"local_name": "mockjs",
"alias": false,
"peer_metadata": null
} | ^1.1.0 | runtime |
momentEnvironment{
"local_name": "moment",
"alias": false,
"peer_metadata": null
} | ^2.29.1 | runtime |
numeralEnvironment{
"local_name": "numeral",
"alias": false,
"peer_metadata": null
} | ^2.0.6 | runtime |
qrcodeEnvironment{
"local_name": "qrcode",
"alias": false,
"peer_metadata": null
} | ^1.4.4 | runtime |
vueEnvironment{
"local_name": "vue",
"alias": false,
"peer_metadata": null
} | ^2.6.12 | runtime |
vue-routerEnvironment{
"local_name": "vue-router",
"alias": false,
"peer_metadata": null
} | ^3.4.7 | runtime |
vuedraggableEnvironment{
"local_name": "vuedraggable",
"alias": false,
"peer_metadata": null
} | ^2.24.1 | runtime |
@babel/cliEnvironment{
"local_name": "@babel/cli",
"alias": false,
"peer_metadata": null
} | ^7.10.5 | development |
@babel/coreEnvironment{
"local_name": "@babel/core",
"alias": false,
"peer_metadata": null
} | ^7.12.3 | development |
@babel/preset-envEnvironment{
"local_name": "@babel/preset-env",
"alias": false,
"peer_metadata": null
} | ^7.12.1 | development |
@vue/cli-plugin-babelEnvironment{
"local_name": "@vue/cli-plugin-babel",
"alias": false,
"peer_metadata": null
} | ^4.4.6 | development |
@vue/cli-plugin-eslintEnvironment{
"local_name": "@vue/cli-plugin-eslint",
"alias": false,
"peer_metadata": null
} | ^4.4.6 | development |
@vue/cli-serviceEnvironment{
"local_name": "@vue/cli-service",
"alias": false,
"peer_metadata": null
} | ^4.4.6 | development |
babel-eslintEnvironment{
"local_name": "babel-eslint",
"alias": false,
"peer_metadata": null
} | ^10.1.0 | development |
clean-webpack-pluginEnvironment{
"local_name": "clean-webpack-plugin",
"alias": false,
"peer_metadata": null
} | ^3.0.0 | development |
eslintEnvironment{
"local_name": "eslint",
"alias": false,
"peer_metadata": null
} | ^6.7.2 | development |
eslint-plugin-vueEnvironment{
"local_name": "eslint-plugin-vue",
"alias": false,
"peer_metadata": null
} | ^6.2.2 | development |
moment-locales-webpack-pluginEnvironment{
"local_name": "moment-locales-webpack-plugin",
"alias": false,
"peer_metadata": null
} | ^1.2.0 | development |
vue-template-compilerEnvironment{
"local_name": "vue-template-compiler",
"alias": false,
"peer_metadata": null
} | ^2.6.12 | development |
webpack-bundle-analyzerEnvironment{
"local_name": "webpack-bundle-analyzer",
"alias": false,
"peer_metadata": null
} | ^3.9.0 | development |
Source distribution
{
"integrity": "sha512-JayS253Xd6V+RpNg+gF3nL+gSwsVO6FkpcKbZW7KivPLIxTDtq78aENdvyDeabWpCBMV9Y16stgziZjCM8MU2w==",
"shasum": "28d10d446ab4837f467e436238dd6d94aac6af20",
"tarball": "https://registry.npmjs.org/7qb/-/7qb-0.0.10.tgz",
"fileCount": 243,
"unpackedSize": 820445,
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0cF4CRA9TVsSAnZWagAA2zgP/36wvZpIGI25L+9QoeIT\ntHYgtA5pk3Ic8lZYEbuKSfo9pEb72dX+r7vWUlAoPEOG83JkUu5YS+HjVaQ2\nhFFEkNbq7OmPd4AC2Td32yo76ifEgNIatpP1FAQRVnDnO+gz6+1kAtZn0Zrc\n2qczQfqK2rvTHvn5J/YSN28hCkWTKZTzwJcjPmB6wHDCYkBCARUw+zqCPqVG\nEqDw7tkczMSEq253viQKRPU5em5j8X5Kx4Vb06BDr4n1G1o8B8kio5JAGSzi\nlj+Inx0fQzdAo2rVX9HaFplzPQh6QJW1IdN2TNG01NiM0+w0ZHGFjKezEMug\n0/uJkVvhwdhkLpthrDmBf5RUZRvJfzwkS40CQKFk/woQ0mA4WOHRQDg72uQF\nbEfTsVkxXZiJ0COXuP/2+wXPZfqsXQ+d8/QI6Rh1PZjB/4xTrujXOXFokXzx\n3C/ffgjI96Tnn0T+UrRxR1dxjA3S5Ku03r+ldFQuv4JP1sDNmeecn+cyIV4a\nBQXn9JEbDofYRi41ggYNa9vNrUyJDbGQBWrT9GK2S8xAT8Kf1hLLbW2UTsVm\nXZcPetlEL1VtqSbygA1m4q6f3ddh0TLCFUmxq2zQxhj7EuA1D4+Y7Lgnp65S\njGZuJyKlp5IVOKxLA8xCTyLRjnyQYc2MBu7Pvy88fofg/43Z4IcqmVx2uFTk\nRV2F\r\n=OdQw\r\n-----END PGP SIGNATURE-----\r\n",
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEUCIQDDOU6mYCThegbcz4XbhTC+xgwdOONJwBHHDtzcAXCHjwIgFyt37sGKJL1RYtoX2EzEnB9aOooOMGV6kpr26CFysnU="
}
]
}Observed since 20 Oct, 21:11 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:3fe8321b7e5b90efec67fccfd9b7adabde05627ac8d4376bcef604dd21e7b7cf