Bpmn.js 中文文档(二)

前言:
由于工作需要(其实不是很需要),在公司项目的基础上开源了一个基于 bpmn-js + Vue 2.x + ElementUI 的一个流程编辑器 Bpmn Process Designer, 预览地址 MiyueFE blog, 欢迎 fork 和 star。

四. Modules

7. Modeling 基本建模方法

Diagram.js 提供的基础建模工厂 BaseModeling,注入了 EventBus, ElementFactory, CommandStack 模块。Bpmn.js 继承了 BaseModeling 并提供了新的方法。

该模块在自定义节点属性等方面经常使用

使用方式

const Modeling = this.bpmnModeler.get("modeling");

Modeling 初始化时会向 CommandStack 命令堆栈中注册对应的处理程序,以确保操作可恢复和取消。

Modeling 提供的方法主要是根据 handlers 来定义的,每个方法会触发对应的事件

// BaseModeling (diagram.js)
BaseModeling.prototype.getHandlers = function () {var BaseModelingHandlers = {'shape.append': AppendShapeHandler, // 形状可逆添加到源形状的处理程序'shape.create': CreateShapeHandler, // 形状可逆创建、添加到流程中的处理程序'shape.delete': DeleteShapeHandler, // 形状可逆移除的处理程序'shape.move': MoveShapeHandler, // 形状可逆移动的处理程序'shape.resize': ResizeShapeHandler, // 形状可逆变换大小的处理程序'shape.replace': ReplaceShapeHandler, // 通过添加新形状并删除旧形状来替换形状。 如果可能,将保持传入和传出连接'shape.toggleCollapse': ToggleShapeCollapseHandler, // 切换元素的折叠状态及其所有子元素的可见性'spaceTool': SpaceToolHandler, // 通过移动和调整形状、大小、连线锚点(巡航点)来添加或者删除空间'label.create': CreateLabelHandler, // 创建标签并附加到特定的模型元素上'connection.create': CreateConnectionHandler, // 创建连线,并显示到画布上'connection.delete': DeleteConnectionHandler, // 移除连线'connection.move': MoveConnectionHandler, // 实现连接的可逆移动的处理程序。 该处理程序与布局连接处理程序的不同之处在于它保留了连接布局'connection.layout': LayoutConnectionHandler, // 实现形状的可逆移动的处理程序'connection.updateWaypoints': UpdateWaypointsHandler, // 更新锚点(巡航点)'connection.reconnect': ReconnectConnectionHandler, // 重新建立连接关系'elements.create': CreateElementsHandler, // 元素可逆创建的处理程序'elements.move': MoveElementsHandler, // 元素可逆移动的处理程序'elements.delete': DeleteElementsHandler, // 元素可逆移除的处理程序'elements.distribute': DistributeElementsHandler, // 均匀分配元素布局的处理程序'elements.align': AlignElementsHandler, // 以某种方式对齐元素'element.updateAttachment': UpdateAttachmentHandler // 实现形状的可逆附着/分离的处理程序。}return BaseModelingHandlers;
}// Modeling (bpmn.js)
var ModelingHandlers = BaseModeling.prototype.getHandlers.call(this);ModelingHandlers['element.updateModdleProperties'] = UpdateModdlePropertiesHandler; // 实现元素上的扩展属性的可逆修改
ModelingHandlers['element.updateProperties'] = UpdatePropertiesHandler; // 实现元素上的属性的可逆修改
ModelingHandlers['canvas.updateRoot'] = UpdateCanvasRootHandler; // 可逆更新画布挂载节点
ModelingHandlers['lane.add'] = AddLaneHandler; // 可逆通道添加
ModelingHandlers['lane.resize'] = ResizeLaneHandler; // 通道可逆resize
ModelingHandlers['lane.split'] = SplitLaneHandler; // 通道可逆分隔
ModelingHandlers['lane.updateRefs'] = UpdateFlowNodeRefsHandler; // 可逆更新通道引用
ModelingHandlers['id.updateClaim'] = IdClaimHandler;
ModelingHandlers['element.setColor'] = SetColorHandler; // 可逆更新元素颜色
ModelingHandlers['element.updateLabel'] = UpdateLabelHandler; // 可逆更新元素label

提供方法

const Modeling = this.bpmnModeler.get("modeling");// 获取当前拥有的处理程序
Modeling.getHandlers()/*** 更新元素的label标签,同时触发 element.updateLabel 事件* @param element: ModdleElement* @param newLabel: ModdleElement 新的标签元素* @param newBounds: {x: number;y: number; width: number; height: number} 位置及大小* @param hints?:{} 提示信息*/
Modeling.updateLabel(element, newLabel, newBounds, hints);/*** 创建新的连接线,触发 connection.create 事件* 会在内部调用 createConnection() 方法(Modeling.prototype.createConnection -- in diagram.js)* @param source:ModdleElement 源元素* @param target:ModdleElement 目标元素* @param attrs?: {} 属性,未传时会根据规则替换成对应的对象,主要包含连线类型 type* @param hints?: {} * @return Connection 连线实例*/
Modeling.connect(source, target, attrs, hints)/*** 更新元素扩展属性,同时触发 element.updateModdleProperties* @param element 目标元素* @param moddleElement 元素扩展属性对应的实例* @param properties 属性*/
Modeling.updateModdleProperties(element, moddleElement, properties)/*** 更新元素属性,同时触发 element.updateProperties* @param element 目标元素* @param properties 属性*/
Modeling.connect(element, properties)/*** 泳道(通道)事件,会触发对应的事件 lane.resize*/
Modeling.resizeLane(laneShape, newBounds, balanced)/*** 泳道(通道)事件,会触发对应的事件 lane.add*/
Modeling.addLane(targetLaneShape, location)/*** 泳道(通道)事件,会触发对应的事件 lane.split*/
Modeling.splitLane(targetLane, count)/*** 将当前图转换为协作图* @return Root*/
Modeling.makeCollaboration()/*** 将当前图转换为一个过程* @return Root*/
Modeling.makeProcess()/*** 修改目标元素color,同时触发 element.setColor 事件* @param elements: ModdleElment || ModdleElement[] 目标元素* @param colors:{[key: string]: string} svg对应的css颜色属性对象*/
Modeling.setColor(elements, colors)

BaseModeling 提供方法

BaseModelingdiagram.js 提供的基础方法,也可以直接调用未被 bpmn.js 覆盖的方法。

// 向命令堆栈注册处理程序
Modeling.registerHandlers(commandStack)// 移动 Shape 元素到新元素下, 触发shape.move
Modeling.moveShape(shape, delta, newParent, newParentIndex, hints)// 移动多个 Shape 元素到新元素下, 触发 elements.move
Modeling.moveElements(shapes, delta, target, hints)// 移动 Connection 元素到新元素下, 触发 connection.move
Modeling.moveConnection(connection, delta, newParent, newParentIndex, hints)// 移动 Connection 元素到新元素下, 触发 connection.move
Modeling.layoutConnection(connection, hints)/*** 创建新的连线实例,触发 connection.create* @param source: ModdleElement* @param target: ModdleElement* @param parentIndex?: number* @param connection: ModdleElement | Object 连线实例或者配置的属性对象* @param parent:ModdleElement 所在的元素的父元素 通常为 Root* @param hints: {}* @return Connection 新的连线实例*/
Modeling.createConnection(source, target, parentIndex, connection, parent, hints)/*** 创建新的图形实例,触发 shape.create* @param shape* @param position* @param target* @param parentIndex* @param hints* @return Shape 新的图形实例*/
Modeling.createShape(shape, position, target, parentIndex, hints)/*** 创建多个元素实例,触发 elements.create* @param* @param* @return Elements 实例数组*/
Modeling.createElements(elements, position, parent, parentIndex, hints)/*** 为元素创建 label 实例, 触发 label.create* @param labelTarget: ModdleElement 目标元素* @param position: { x: number; y: number }* @param label:ModdleElement label 实例* @param parent: ModdleElement* @return Label*/
Modeling.createLabel(labelTarget, position, label, parent)/*** 将形状附加到给定的源,在源和新创建的形状之间绘制连接。触发 shape.append* @param source: ModdleElement* @param shape: ModdleElement | Object* @param position: { x: number; y: number }* @param target: ModdleElement* @param hints* @return Shape 形状实例*/
Modeling.appendShape(source, shape, position, target, hints)/*** 移除元素,触发 elements.delete* @param elements: ModdleElement[]*/
Modeling.removeElements(elements)/*** 不太了解*/
Modeling.distributeElements(groups, axis, dimension)/*** 移除元素, 触发 shape.delete* @param shape: ModdleElement* @param hints?: object*/
Modeling.removeShape(shape, hints)/*** 移除连线, 触发 connection.delete* @param connection: ModdleElement* @param hints?: object*/
Modeling.removeConnection(connection, hints)/*** 更改元素类型(替换元素),触发 shape.replace* @param oldShape:ModdleElement* @param newShape:ModdleElement* @param hints?: object* @return Shape 替换后的新元素实例*/
Modeling.replaceShape(oldShape, newShape, hints)/*** 对其选中元素,触发 shape.replace* @param elements: ModdleElement[]* @param alignment: Alignment* @return*/
Modeling.alignElements(elements, alignment)/*** 调整形状元素大小,触发 shape.resize* @param shape: ModdleElement* @param newBounds* @param minBounds* @param hints?: object*/
Modeling.resizeShape(shape, newBounds, minBounds, hints)/*** 切换元素展开/收缩模式,触发 shape.toggleCollapse* @param shape?: ModdleElement* @param hints?: object=*/
Modeling.toggleCollapse(shape, hints)// 连线调整的方法
Modeling.reconnect(connection, source, target, dockingOrPoints, hints)Modeling.reconnectStart(connection, newSource, dockingOrPoints, hints)Modeling.reconnectEnd(connection, newTarget, dockingOrPoints, hints)Modeling.connect(source, target, attrs, hints)

8. Draw 绘制模块

基础的元素绘制方法,由 diagram.js 提供基础模块,源码如下:

// diagram.js/lib/draw/index.js
import DefaultRenderer from './DefaultRenderer';
import Styles from './Styles';export default {__init__: [ 'defaultRenderer' ],defaultRenderer: [ 'type', DefaultRenderer ],styles: [ 'type', Styles ]
};

其中 DefaultRenderer 为默认元素绘制方法,继承 BaseRenderer ,自身包含 CONNECTION_STYLE --连线默认样式, FRAME_TYLE -- 框架默认样式SHAPE_STYLE -- 元素默认样式 三个样式属性。

Styles 为样式管理组件,包含 cls -- 根据属性、样式名等来定义样式, style -- 根据属性计算样式computeStyle -- 样式计算方法 三个方法。

BaseRenderer 是一个抽象类,只定义了方法和绘制时的触发事件,没有定义方法的具体实现。

Styles 样式管理(diagram.js

根据源码的思路,这个模块只推荐重写,即修改默认的类名与样式配置。

// diagram.js/lib/draw/Styles.js
import { isArray, assign, reduce } from 'min-dash';/*** A component that manages shape styles*/
export default function Styles() {var defaultTraits = {'no-fill': {fill: 'none'},'no-border': {strokeOpacity: 0.0},'no-events': {pointerEvents: 'none'}};var self = this;/*** Builds a style definition from a className, a list of traits and an object of additional attributes.** @param  {string} className* @param  {Array<string>} traits* @param  {Object} additionalAttrs** @return {Object} the style defintion*/this.cls = function(className, traits, additionalAttrs) {var attrs = this.style(traits, additionalAttrs);return assign(attrs, { 'class': className });};/*** Builds a style definition from a list of traits and an object of additional attributes.** @param  {Array<string>} traits* @param  {Object} additionalAttrs** @return {Object} the style defintion*/this.style = function(traits, additionalAttrs) {if (!isArray(traits) && !additionalAttrs) {additionalAttrs = traits;traits = [];}var attrs = reduce(traits, function(attrs, t) {return assign(attrs, defaultTraits[t] || {});}, {});return additionalAttrs ? assign(attrs, additionalAttrs) : attrs;};this.computeStyle = function(custom, traits, defaultStyles) {if (!isArray(traits)) {defaultStyles = traits;traits = [];}return self.style(traits || [], assign({}, defaultStyles, custom || {}));};
}

DefaultRenderer 默认绘制方法(diagram.js

源码位置:diagram-js/lib/draw/DefaultRenderer.js

继承了 diagram.js/BaseRenderer ,注入 eventBus styles 模块,并且默认绘制方法的处理优先级最低,在有其他绘制方法的时候会被覆盖。

BaseRenderer 提供了一个抽象基类,并且提供了 canRender() , getShapePath(), getConnecttionPath(), drawShape(), DrawConnection() 五个抽象方法,定义了方法触发时刻。

eventBus.on([ 'render.shape', 'render.connection' ], renderPriority, function(evt, context) {var type = evt.type,element = context.element,visuals = context.gfx;if (self.canRender(element)) {if (type === 'render.shape') {return self.drawShape(visuals, element);} else {return self.drawConnection(visuals, element);}}
});
eventBus.on([ 'render.getShapePath', 'render.getConnectionPath'], renderPriority, function(evt, element) {if (self.canRender(element)) {if (evt.type === 'render.getShapePath') {return self.getShapePath(element);} else {return self.getConnectionPath(element);}}
});

DefaultRenderer 重写了以上五个方法(canRender() 直接返回了 true, 表示任何情况都可以绘制和渲染元素),实现默认元素和样式的解析渲染。

方法说明:

  1. canRender(): 判断方法,返回一个布尔值,为真时表示可以继续解析元素属性(位置、大小、形状等)或者继续渲染属性。
  2. getShapePath(shape): 元素(默认是方形元素)属性解析方法。
  3. getConnectionPath(connection): 连线属性解析方法。
  4. drawShape(visuals, element): 元素(默认是方形元素)绘制方法。
  5. drawConnection(visuals, connection): 连线绘制方法。

--------------------------------- 分割线 -------------------------------------

bpmn.js 继承 diagram.js/BaseRenderer 定义了一个 BpmnRender 类,并针对 bpmn 2.0 流程需要的其他元素做了新的处理。

bpmn.js 为了实现 bpmn 2.0 流程图的支持,不仅重新定义了新的渲染方法类 BpmnRenderer, TextRender, PathMap,以保证图形元素的正常解析,以及 label 的便捷添加修改。

import BpmnRenderer from './BpmnRenderer';
import TextRenderer from './TextRenderer';
import PathMap from './PathMap';export default {__init__: [ 'bpmnRenderer' ],bpmnRenderer: [ 'type', BpmnRenderer ],textRenderer: [ 'type', TextRenderer ],pathMap: [ 'type', PathMap ]
};

BpmnRenderer 流程元素绘制方法

支持 bpmn 2.0 的流程元素的基础绘制方法,继承 BaseRender,注入了 config, eventBus, styles, pathMap, canvas, textRenderer 模块。源码位于 bpmn-js/lib/draw/BpmnRenderer.js,共1900+行(其中1200+行都在定义绘制各种元素的方法)。

BpmnRenderer 只实现了基类的4个抽象方法(getConnectionPath() 方法没有使用,由此可见其实 bpmn-js 内部的连线元素也是当做了 shape 类型来进行处理的,毕竟有个箭头,也可能存在折线的情况),并且没有新增方法。但是在 canRender() 方法里判断了需要渲染的元素是否属于 bpmn:BaseElement 类型。

BpmnRenderer.prototype.canRender = function(element) {return is(element, 'bpmn:BaseElement'); // 从解析文件 bpmn.json 其实可以发现,所有需要渲染的元素最终都继承了 Bpmn:BaseElement
};

getShapePath() 方法中,对属于 bpmnEvent(事件类节点,例如开始和结束等事件,显示为圆形)bpmn:Activity(任务类节点,包含子流程类型的节点,显示为圆角矩形)bpmn:Gateway(网关类型,显示为菱形) 三个大类型的节点定义的对应的路径获取方法,其他类型则沿用与 diagram.js/DefaultRenderer.js 里面使用的 getRectPath() 方法。

drawShape()drawConnection() 方法则是判断了需要渲染的元素类型,调用对应的 handler() 方法也处理(也就是上面说的那1200+行代码),通过 handlers 对象(所有 handler() 方法的集合,以各类型的类型名作为 key),可以发现可显示的元素一共有60种:

0: "bpmn:Event"
1: "bpmn:StartEvent"
2: "bpmn:MessageEventDefinition"
3: "bpmn:TimerEventDefinition"
4: "bpmn:EscalationEventDefinition"
5: "bpmn:ConditionalEventDefinition"
6: "bpmn:LinkEventDefinition"
7: "bpmn:ErrorEventDefinition"
8: "bpmn:CancelEventDefinition"
9: "bpmn:CompensateEventDefinition"
10: "bpmn:SignalEventDefinition"
11: "bpmn:MultipleEventDefinition"
12: "bpmn:ParallelMultipleEventDefinition"
13: "bpmn:EndEvent"
14: "bpmn:TerminateEventDefinition"
15: "bpmn:IntermediateEvent"
16: "bpmn:IntermediateCatchEvent"
17: "bpmn:IntermediateThrowEvent"
18: "bpmn:Activity"
19: "bpmn:Task"
20: "bpmn:ServiceTask"
21: "bpmn:UserTask"
22: "bpmn:ManualTask"
23: "bpmn:SendTask"
24: "bpmn:ReceiveTask"
25: "bpmn:ScriptTask"
26: "bpmn:BusinessRuleTask"
27: "bpmn:SubProcess"
28: "bpmn:AdHocSubProcess"
29: "bpmn:Transaction"
30: "bpmn:CallActivity"
31: "bpmn:Participant"
32: "bpmn:Lane"
33: "bpmn:InclusiveGateway"
34: "bpmn:ExclusiveGateway"
35: "bpmn:ComplexGateway"
36: "bpmn:ParallelGateway"
37: "bpmn:EventBasedGateway"
38: "bpmn:Gateway"
39: "bpmn:SequenceFlow"
40: "bpmn:Association"
41: "bpmn:DataInputAssociation"
42: "bpmn:DataOutputAssociation"
43: "bpmn:MessageFlow"
44: "bpmn:DataObject"
45: "bpmn:DataObjectReference"
46: "bpmn:DataInput"
47: "bpmn:DataOutput"
48: "bpmn:DataStoreReference"
49: "bpmn:BoundaryEvent"
50: "bpmn:Group"
51: "label"
52: "bpmn:TextAnnotation"
53: "ParticipantMultiplicityMarker"
54: "SubProcessMarker"
55: "ParallelMarker"
56: "SequentialMarker"
57: "CompensationMarker"
58: "LoopMarker"
59: "AdhocMarker"

具体的实现方法,有兴趣的童鞋可以自行查看。

要实现自定义 renderer ,本质也是定义一个自己的渲染函数类,继承 BaseRenderer,然后修改原型链上的方法,使生成的渲染方法实例每次调用 drawShape() 或者 drawConnection() 等方法的时候都调用自定义的绘制方法(这里必须重新实现基类 BaseRenderer 的几个方法,否则不生效)。

TextRenderer 文本元素绘制方法

源码位于 bpmn-js/lib/draw/TextRenderer.js,主要实现了文字元素(即 Label 标签)的渲染与显示,通过获取绑定节点的位置和大小,在对应的位置生成一个 text 标签来显示文本。可通过重写该函数类来实现自定义的文本位置控制。

PathMap SVG元素路径对象

包含 BpmnRenderer 所需的SVG路径的函数,内部有一个 pathMap 对象,保存了所有的元素的 svg 路径、默认大小。

9. AlignElements 元素对齐

diagram.js 模块,注入模块 Modeling。主要用作元素对齐。

会按照元素对齐方向的边界对齐。

使用:

const AlignElements = this.bpmnModeler.get("alignElements");/*** Executes the alignment of a selection of elements* 执行元素选择的对齐** @param  {Array} elements 通常为节点元素* @param  {string} type 可用:left|right|center|top|bottom|middle*/
AlignElements.trigger(Elements, type);

改写:

// index.js
import CustomElements from './CustomElements';export default {__init__: [ 'customElements' ],customElements: [ 'type', CustomElements ]
};// CustomElements.js
import inherits from 'inherits';
import AlignElements from 'diagrem-js/lib/features/align-elements/AlignElements';export default function CustomElements(modeling) {this._modeling = modeling;
}inherits(CustomElements, AlignElements);CustomElements.$inject = [ 'modeling' ];CustomElements.prototype.trigger = function(elements, type) {// 对齐逻辑
}

10. AttachSupport 依附支持

diagram.js 模块,注入模块 injector, eventBus, canvas, rules, modeling,依赖规则模块 rulesModule。主要用作元素移动期间的绑定关系和预览。

基础逻辑模块,不推荐更改,也不提供直接使用的方法。

11. AutoPlace 元素自动放置

将元素自动放置到合适位置(默认在后方,正后方存在元素时向右下偏移)并调整连接的方法。通常在点击 contentPad 创建新元素的时候触发。

注入基础模块 eventBusmodeling

默认会初始化一个放置后选中元素的方法。

使用:

const AutoPlace = this.bpmnModeler.get("autoPlace");/*** Append shape to source at appropriate position.* 将形状添加的源对应的合适位置* 会触发 autoPlace.start autoPlace autoPlace.end 三个事件** @param {djs.model.Shape} source ModdleElement* @param {djs.model.Shape} shape ModdleElement** @return {djs.model.Shape} appended shape*/
AutoPlace.append(source, shape, hints);

12. AutoResize 元素大小调整

一个自动调整大小的组件模块,用于在创建或移动子元素接近父边缘的情况下扩展父元素。

注入模块 eventBus, elementRegistry, modeling, rules

暂时没找到怎么直接调用

重写/禁用:

// 重写
// index.js
import AutoResize from './AutoResize';export default {__init__: [ 'autoResize' ],autoResize: [ 'type', AutoResize ]// 禁用直接设置 autoResize: [ 'type', "" ] 或者 autoResize: [ 'type', () => false ]
};// AutoResize.js
export default function AutoResize(eventBus, elementRegistry, modeling, rules) {// ...
}AutoResize.$inject = ['eventBus','elementRegistry','modeling','rules'
];inherits(AutoResize, CommandInterceptor); // CommandInterceptor 向commandStack中插入命令的原型。

13. AutoScroll 画布滚动

画布自动扩展滚动的方法,如果当前光标点靠近边框,则开始画布滚动。 当当前光标点移回到滚动边框内时取消或手动取消。

依赖于 DraggingModule ,注入模块 eventBus, canvas

函数原型上传入了 config ,但打印为 undefined

使用与方法:

const AutoScroll = this.modeler.get("autoScroll");/*** Starts scrolling loop.* 开始滚动* Point is given in global scale in canvas container box plane.** @param  {Object} point { x: X, y: Y }*/
AutoScroll.startScroll(point);// 停止滚动
AutoScroll.stopScroll();/*** 覆盖默认配置* @param {Object} options * options.scrollThresholdIn: [ 20, 20, 20, 20 ],* options.scrollThresholdOut: [ 0, 0, 0, 0 ],* options.scrollRepeatTimeout: 15,* options.scrollStep: 10*/
AutoScroll.setOptions(options);

本文首发于“掘金”
作者:MiyueFE
链接:https://juejin.cn/post/6925304166638174216
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Sublime安装、破解、汉化、使用、教程(详解)

    编辑工具千千万,很多人喜欢用不同的编辑器来比较,比较这个和那个哪一个更好一点,其实我觉得这个是没有任何意义的一件事,为什么呢?很简单,不同的编辑工具面向的编码环境不一样,举个简单的例子,您说mysql的编辑器很好用, 一个写php的告诉你eclipse好用,您觉得有争论的…...

    2024/4/20 15:45:02
  2. 【bpmn.js 使用总结】四、自定义渲染 Renderer

    自定义 Renderer 在 [自定义 Palette] (https://github.com/PL-FE/bpmn-doc/blob/main/doc/customPalette.md)的基础上继续修改 案例代码在这里取&#xff1a; customRenderer 开始 由于画布中的图形为 SVG&#xff0c;不像 Palette 是使用 HTML&#xff0c;所以需要学习 …...

    2024/4/27 1:35:02
  3. bpmn.js元素事件监听

    如果在编辑流程图的过程中&#xff0c;需要对图中元素的动作进行监听&#xff0c;比如&#xff1a; shape.added 新增一个 shape 之后触发shape.removed 删除一个 shape 之后触发connect.end 连线完成后触发 官网提供了很多其他事件 接下来一起来测试一下吧 监听 modeler并绑…...

    2024/5/2 19:31:46
  4. bpmn.js 流程基本使用

    实际项目需求: 我们公司的项目需求不是一般的审批流,而是通过构建流程 然后后端通过Flowable流程引擎执行过后给出结果(比如获取参数执行流程然后输出结果 或者中间穿插分支 根据条件走不通分支 输出结果)bpmn的实现机理: Flowable和bpmn之间通过协商好的xml格式数据进行沟通…...

    2024/4/20 15:44:58
  5. vue 中使用bpmn基础

    vue中使用bpmn.js 绘制流程图 项目中需要前端绘制流程图保存为xml通过接口调用传给后台 npm安装bpmn npm install bpmn-js --save npm install bpmn-js-properties-panel --save npm install bpmn-moddle --save npm install camunda-bpmn-moddle --save上面四个插件安装好 …...

    2024/4/20 15:44:57
  6. bpmn-js起步

    通过本文逐步熟悉bpmn-js。 快速介绍&#xff1a; bpmn.js是一个BPMN2.0渲染工具包和web建模器。使用JavaScript编写&#xff0c;在不需要后端服务器支持的前提下向现代浏览器内嵌入BPMN2.0流程图。这使得它很容易的嵌入到任何web应用中。 这个库既可以是web查看器也可以是web…...

    2024/4/25 13:33:03
  7. bpmn.js+vue实现工作流设计器(左侧功能+右侧详情)

    前言&#xff1a; 整理在vue项目中使用bpmn.js的过程和源码。 实现最终效果&#xff1a; 目录&#xff1a; 1、bpmn.js的介绍&#xff0c;官网入口 2、bpmn.js中实现最简单的效果&#xff1a; 引入插件1&#xff1a; 开始开发&#xff1a; &#xff08;1&#xff09;页面…...

    2024/4/24 17:55:18
  8. Bpmn.js 中文文档(一)

    Bpmn.js 中文文档(一) 由于工作需要&#xff08;其实不是很需要&#xff09;&#xff0c;在公司项目的基础上开源了一个基于 bpmn-js Vue 2.x ElementUI 的一个流程编辑器 Bpmn Process Designer, 预览地址 MiyueFE blog, 欢迎 fork 和 star。 一. 引入Bpmn.js并初始化建模器…...

    2024/4/21 13:56:30
  9. 在vue中使用bpmn-js(二)

    作者&#xff1a;Lia代码猪崽 链接&#xff1a;https://www.jianshu.com/p/bdc990db5159 2.新建空的图&#xff0c;功能要求&#xff1a; ① 空的&#xff0c;能自己画&#xff1b; ② 以SVG image格式、BPMN diagram格式下载在本地&#xff1b; 参考链接&#xff1a;(其实就…...

    2024/4/21 13:56:34
  10. 【bpmn.js 使用总结】一、基础使用

    基础使用 Viewer BPMN 图表查看器NavigatedViewer 包含鼠标导航工具的图表查看器Modeler BPMN 图表建模器 Viewer 功能最简单&#xff0c;仅用来展示 NavigatedViewer 在 Viewer 上扩展了导航和缩放功能 Modeler 融合了 Viewer 和 NavigatedViewer,并拥有工具栏、属性面板等…...

    2024/4/21 13:56:29
  11. vue.js 2.0入门级前端和后台数据交互

    通用的vue.js文档并没有和后台数据交互&#xff0c;如图是一个简单的后台提供数据&#xff0c;前端vue绑定数据。...

    2024/4/22 19:24:52
  12. 缝合式缝合双眼皮还得拆线

    ...

    2024/4/30 15:22:51
  13. 割双眼皮对身体健康危害

    ...

    2024/4/25 17:59:53
  14. js和angularjs之间的相互调用

    方法一 var element angular.element($document.getElementById("app")); var controller element.controller(); var scope element.scope(); //调用方法 scope.sub1();//如果需要重新绑定 scope.$apply();//调用字段 scope.field1; angular.element(domElement)…...

    2024/5/1 13:41:25
  15. 割的双眼皮会变窄吗

    ...

    2024/4/21 13:56:23
  16. 缝的双眼皮能维持几年

    ...

    2024/4/22 18:22:30
  17. 缝压双眼皮持久吗

    ...

    2024/4/21 13:56:21
  18. 缝线做修复割的割双眼皮跟埋线的不同

    ...

    2024/4/30 10:24:10
  19. 有双眼皮的人可以割吗

    ...

    2024/4/20 5:32:05
  20. 在React项目中使用Redux实现计数器功能

    Redux 和 React 之间没有关系。Redux 支持 React、Angular、Ember、jQuery 甚至纯 JavaScript。尽管如此&#xff0c;Redux 还是和 React 和 Deku 这类库搭配起来用最好&#xff0c;因为这类库允许你以 state 函数的形式来描述界面&#xff0c;Redux 通过 action 的形式来发起 …...

    2024/5/2 13:35:49

最新文章

  1. 常见的 HTML 标准

    常见的 HTML 标准 常见的 HTML 标准发布历史 HTML&#xff08;Hypertext Markup Language&#xff09;有多个版本和标准。以下是一些常见的 HTML 标准&#xff1a; HTML 2.0&#xff1a;于1995年发布&#xff0c;是 HTML 的第一个正式标准。HTML 3.2&#xff1a;于1997年发布…...

    2024/5/5 5:07:56
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Android如何实现一个应用位于前台时全局页面每隔三分钟弹出一次一天最多弹出5次的GroMore半插屏广告,处于付费页和后台时停止

    首先我们需要添加一个全局的Application public class MyApp extends LitePalApplication {private static final String TAG "MyApp";private static Context mContext;private boolean isManageMent;public static String oaid;Overridepublic void onCreate() {…...

    2024/5/3 5:28:16
  4. Java最短路径算法知识点(含面试大厂题和源码)

    最短路径算法是计算机科学和图论中的核心问题之一&#xff0c;它旨在找到从一个顶点到另一个顶点或在所有顶点之间的最短路径。这个问题在多种实际应用中都非常重要&#xff0c;如网络路由、交通规划、社交网络分析等。以下是一些与最短路径算法相关的知识点&#xff1a; Dijks…...

    2024/5/1 6:43:28
  5. ASTM C1186-22 纤维水泥平板

    以无石棉类无机矿物纤维、有机合成纤维或纤维素纤维&#xff0c;单独或混合作为增强材料&#xff0c;以普通硅酸盐水泥或水泥中添加硅质、钙质材料代替部分水泥为胶凝材料&#xff0c;经制浆、成型、蒸汽或高压蒸汽养护制成的板材&#xff0c;俗称水泥压力板。 ASTM C1186-22纤…...

    2024/5/1 2:17:09
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/4 23:55:17
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/4 18:20:48
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/4 2:59:34
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57