Catalog npm
Back to packageRELEASE DETAILS

0.0.13

npm

7qb

七巧板,最灵活的云项目平台

no code七巧板万用页配置页面平台
Published10 Dec 2020
Direct dependencies24
Transitive dependenciesNot calculated

README

Current package documentation

七巧板

最灵活的云项目平台

安装

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                                        // 自定义扩展组件引用列表

组件 Meta 声明

/**
 * 组件配置
 * 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,
}

动作 Meta 声明

/**
 * 动作配置
 * 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

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 24

Native requirements
24 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
ant-design-vue
Environment
{
  "local_name": "ant-design-vue",
  "alias": false,
  "peer_metadata": null
}
^1.6.5runtime
axios
Environment
{
  "local_name": "axios",
  "alias": false,
  "peer_metadata": null
}
^0.20.0runtime
core-js
Environment
{
  "local_name": "core-js",
  "alias": false,
  "peer_metadata": null
}
^3.6.5runtime
md5
Environment
{
  "local_name": "md5",
  "alias": false,
  "peer_metadata": null
}
^2.3.0runtime
mockjs
Environment
{
  "local_name": "mockjs",
  "alias": false,
  "peer_metadata": null
}
^1.1.0runtime
moment
Environment
{
  "local_name": "moment",
  "alias": false,
  "peer_metadata": null
}
^2.29.1runtime
numeral
Environment
{
  "local_name": "numeral",
  "alias": false,
  "peer_metadata": null
}
^2.0.6runtime
qrcode
Environment
{
  "local_name": "qrcode",
  "alias": false,
  "peer_metadata": null
}
^1.4.4runtime
vue
Environment
{
  "local_name": "vue",
  "alias": false,
  "peer_metadata": null
}
^2.6.12runtime
vue-router
Environment
{
  "local_name": "vue-router",
  "alias": false,
  "peer_metadata": null
}
^3.4.7runtime
vuedraggable
Environment
{
  "local_name": "vuedraggable",
  "alias": false,
  "peer_metadata": null
}
^2.24.1runtime
@babel/cli
Environment
{
  "local_name": "@babel/cli",
  "alias": false,
  "peer_metadata": null
}
^7.10.5development
@babel/core
Environment
{
  "local_name": "@babel/core",
  "alias": false,
  "peer_metadata": null
}
^7.12.3development
@babel/preset-env
Environment
{
  "local_name": "@babel/preset-env",
  "alias": false,
  "peer_metadata": null
}
^7.12.1development
@vue/cli-plugin-babel
Environment
{
  "local_name": "@vue/cli-plugin-babel",
  "alias": false,
  "peer_metadata": null
}
^4.4.6development
@vue/cli-plugin-eslint
Environment
{
  "local_name": "@vue/cli-plugin-eslint",
  "alias": false,
  "peer_metadata": null
}
^4.4.6development
@vue/cli-service
Environment
{
  "local_name": "@vue/cli-service",
  "alias": false,
  "peer_metadata": null
}
^4.4.6development
babel-eslint
Environment
{
  "local_name": "babel-eslint",
  "alias": false,
  "peer_metadata": null
}
^10.1.0development
clean-webpack-plugin
Environment
{
  "local_name": "clean-webpack-plugin",
  "alias": false,
  "peer_metadata": null
}
^3.0.0development
eslint
Environment
{
  "local_name": "eslint",
  "alias": false,
  "peer_metadata": null
}
^6.7.2development
eslint-plugin-vue
Environment
{
  "local_name": "eslint-plugin-vue",
  "alias": false,
  "peer_metadata": null
}
^6.2.2development
moment-locales-webpack-plugin
Environment
{
  "local_name": "moment-locales-webpack-plugin",
  "alias": false,
  "peer_metadata": null
}
^1.2.0development
vue-template-compiler
Environment
{
  "local_name": "vue-template-compiler",
  "alias": false,
  "peer_metadata": null
}
^2.6.12development
webpack-bundle-analyzer
Environment
{
  "local_name": "webpack-bundle-analyzer",
  "alias": false,
  "peer_metadata": null
}
^3.9.0development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-C9PutyaMdj7hkBqldF/IaH7H8ACzEXtxO9EhZJ2bkJFe6gHjaj74ckI3jZPCADV847s9rL+5pS7ktmQZs07v5g==",
  "shasum": "e3a1280ebaf717b6b6c801d5c635bd0baeeaaaed",
  "tarball": "https://registry.npmjs.org/7qb/-/7qb-0.0.13.tgz",
  "fileCount": 243,
  "unpackedSize": 820816,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0fcOCRA9TVsSAnZWagAACioP/jvQXpBrS5ZcOVbPTfcT\n62xvUPH8pMTReU0TPX58OLMzE7RZtVUfIoglwJ3yls0qOPaCvXpfry3ujK6D\nWunm9Px2B9wPvvZP2Vs7wDP1tF4Q8cRHNWJphs8RULtO6H4O1B8540+ubr5I\nZIgZT7WpcOuarAC2oMdUdmwTavA6bF68RzlTJRQMh1riPTnrqWTxsHzwP9j1\nl+/9luEY3ED9A0wt0x+PxgL/TNlXu4DbrVaVcaxD7yK1q2PZvzB0UJOf/H54\nWkXZ1ckgVVn1YXCq3IWPi/cyTYx+PFJ6BbiUSBxJm8oY5LU/2snjPczN7Non\nvTlIaE3N8+Y7jVLkH1iLeLjaOERDZuB6rrjqauahWX2Rzw9X+jGV4vwcUdnV\nP5U3xZq2N/MJbGA8wJxkLXQx8aUiWNdH7BHYyi2Zd9MQNjTYVv9hQ8VkBfoW\nrZ5jURS4uQ8Z1j7UQso3zw7BMFSN4U0iuYSDdLnmrTSRrJj4LP3JghPxkWjP\naRuWKCXl593LUT8iBj9sVEmE86pxwpx/eej434rZKoe8eEB/TcApGEzvKKWK\nphBkRLSItIgNU3quCd8mMSmtiXPG6EBAdcDNjwtsz8j6nupeBY81dsfP3Vyr\n3BTuUjT37avZP0Bd3yOAiQ3vrP86nqTuBH3tbl7/c513WZTeswVeRoLBBBN/\n43KT\r\n=oR8O\r\n-----END PGP SIGNATURE-----\r\n",
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEQCIQDMw79aTJKer4sziiHpYqAOHZPOtKDlrxlh2eUfFz7DbAIfAYrs8gHmuBtkFfO6biYXfXi0CwGZvyHXVRJEYibPCw=="
    }
  ]
}

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:11 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:eab05aa4b25d2b736b749f4fedc41f3fdf15ce43ec297ac0370048990eafefdc

Other collected versions

0.2.27 Mar0.2.12 Mar0.1.013 Jul0.0.182 Apr0.0.1728 Dec0.0.1610 DecView all collected versions →