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-5XNfd/gz/mKP1HBAm4Lz0/v+9oKwiSfUx+jzslzR/9hh8tl7o4WUq906tPICibR8aQlnrmtJhRAWCeVu7wgOtg==",
"shasum": "ab469ead7fb48fb2cb9df451acab8280fdca95d0",
"tarball": "https://registry.npmjs.org/7qb/-/7qb-0.0.7.tgz",
"fileCount": 223,
"unpackedSize": 754444,
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfu1ugCRA9TVsSAnZWagAA+TIP/29d5wmZfbpTlDlvg51A\nv+XBjyzcBrcnoS1vBp/L12h2GnY6e3r3XMZZNiiUQWLxMHPZ6j9ape9h6//+\ne9hZXKk/hZ3cqfUwXkz/gdOs3vrTQzgZFtArBhukkNP93OHPAoaST1o2ri2D\nfamSS2uEcBT4JflHmYEO6BHLVN16NNkqf0NGQSiN0c+4AbB0+YgCzBkGnaiO\n7mXnFRlSNNqZlIvxSzEIrhk0vzjK8Gn/+yYUM+SojTQMP3YjrnZ0+x4kC4Nx\nRTMS1W4XcHBLZi2S7NYkNMIooBSmG0duKc6+9d7lkN+9jpODCRPNsIDl8DH2\nUI+oytgA9rgqnNTC2kgrUmPItonnpJ3wtF19cWnb1b7dmNE2RnyNfe2cqa+/\nyfy95sXInTy4AD923Vz5mrTV9GfCws4WJAiSecRS7dd3G6tzfqr9RudPVxxD\nGPcu7KA05XAIWJVxoSCzJFkYXp5mz7V9XWZZWE98Ri5MXugg6IS6lPEUiOJz\nP/8YEdLTyFrua4+K46HoGG05Zfvt8CSqRGZtuG0dA1bCD7GcdAdRhSWXijMF\nGLt5Nvrfvl9VRPXg8/E5Iqm4H+08N/Za2x5xUnwcfRkIHvItSfn+aB0E0Usk\ndfxhDCWpjfkd+ZScEj+DWF6M26qlDyRcKW2dcrcs1cegFEea29Q7H0xcZpDE\njFm1\r\n=2d9H\r\n-----END PGP SIGNATURE-----\r\n",
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEQCIDFq5ZFdP7uoASW9g8xTWWb/URnceTUuM3d7Df8iCWocAiB1fwRLCimUjDibY/zQFsnMMwkOcPCdiDpzQa/8yoaU0Q=="
}
]
}Observed since 20 Oct, 21:11 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:08acbed9aa3a6cdf3e6dc9a6a8d3a779ad654d08003c0bff6de3ec73dc99181f