皮皮网

【萌卡源码】【怎样仿源码】【鹤壁系统源码】源码组件搭建怎么操作

2024-11-27 11:45:12 来源:-126源码

1.Storybook vue2组件库搭建到 npm 发布【入门篇】
2.vueVue3中使用函数调用组件内函数和创建组件超详细+源码
3.GitLab ARM64源码在信创统信UOS下的源码搭建
4.组件的具体创建
5.FUTU六语言秒合约交易所源码详细搭建教程
6.UGUI 源码笔记(一)文件结构和部分组件使用

源码组件搭建怎么操作

Storybook vue2组件库搭建到 npm 发布【入门篇】

       Storybook 是一个强大的前端开发工具,专为组件管理和测试设计。组件它帮助开发者以交互方式构建、搭建测试和展示组件,操作提供独立的源码页面,便于快速展示和调试。组件萌卡源码以下是搭建使用Storybook进行组件库搭建到npm发布的基本步骤:

       1. 安装和初始化项目

       使用Node ..0和npm 8..4,可通过`npx -p @storybook/cli sb init --type vue`快速创建Vue 2版本的操作项目。然后,源码使用Vue CLI创建`vue2-storybook-module`。组件

       2. 启动和打包组件

       进入项目,搭建关联git仓库,操作安装Storybook。源码接下来,组件封装组件并注册,搭建官网示例可以直接使用。记得修改`package.json`以配置打包,生成的`my-storybook-ui`文件夹存放打包后的组件。

       3. 发布到npm

       在`my-storybook-ui`目录下,初始化`package.json`,并切换到npm官方源。如果已有账号,通过命令行发布,检查包名是否冲突。发布成功后,可在npm官网上查看你的包。

       4. 在项目中使用组件

       在`main.js`中全局注册组件,启动项目后,其他开发者即可通过npm安装和使用你的组件库。

       源码及更多详细信息可在以下链接找到:

       源码:github.com/you-hei-mi/v...

       组件地址:my-storybook-ui - npm (npmjs.com)

       组件文档:Configure your project - Docs ⋅ Storybook

vueVue3中使用函数调用组件内函数和创建组件超详细+源码

       在uniapp项目中,结合vue3和typescript,你可能会遇到不想频繁在视图层引入组件的困扰。传统的怎样仿源码组件应用方式需要每次使用时都进行应用,即使不使用也需引入。为了解决这个问题,你可能尝试通过函数调用直接创建和操作组件。

       首先,你可能会查阅到使用`createApp`方法,创建组件实例并传递参数,就像父组件传递数据给子组件。例如:

       然而,直接在`createApp`中调用组件方法可能并不直接有效。此时,你可以考虑转向函数式组件(h)和`render`函数。将组件的方法挂载到vue原型链上,以便在外部函数中调用。例如在`toast.ts`中:

       typescript

       // toast.ts

       Vue.prototype.$toast = function(message) {

       // 实现 toast 方法...

       };

       然后在项目中这样使用:

       显示提示

       最后,记得分享你的发现,关注个人博客和开源项目,加入技术交流群组,与他人交流学习,共同进步。如果你在过程中遇到问题,欢迎留言,大家会一起探讨解答。

GitLab ARM源码在信创统信UOS下的搭建

       GitLab是一个基于Ruby on Rails语言开发的开源应用,提供私有化的Git项目仓库,可通过Web界面进行访问和管理。GitLab官方提供了多种安装方式,包括通过操作系统软件源安装、Docker容器部署以及源代码自编译安装。然而,GitLab官方构建的软件包和镜像主要针对X架构,并未提供针对ARMv8的版本。UOS操作系统支持多种CPU架构(AMD、鹤壁系统源码ARM、MIPS、SW)和六种国产CPU平台(鲲鹏、龙芯、申威、海光、兆芯、飞腾)以及Intel/AMD的主流CPU,UOSV基于Debian stable,内核为4.,支持多种架构。由于GitLab官方Omnibus安装包并未支持arm架构,因此需要通过源码编译来安装GitLab-ce .1-stable在UOSV arm架构上。

       在部署GitLab-ce .1-stable之前,首先需要搭建编译环境,包括Ruby 2.7.4、redis 6.2.4、git 2..0、Go:.、Postgres: 、Node: .x、Nginx:1..1。编译过程较为平顺,但安装Ruby、Node和Go时需要注意选择国内镜像源以确保顺利编译。GitLab-ce:-1-stable版本要求Git2..x或以上版本,推荐使用Gitaly提供的git版本。UOSV 版本若选择调试工具包,则系统自带的git版本不符合要求,需要手动安装Gitaly所提供的git版本,确保版本满足GitLab要求。安装完成后,rabix分析源码系统会显示版本为2..0,满足要求。此外,还需安装GraphicsMagick支持GitLab引入的自定义图标功能,以及安装Postfix邮件服务器和exiftool以支持GitLab Workhorse功能。Ruby的安装也非常重要,更换国内Ruby Gem源能够提高编译过程的稳定性。

       在完成编译环境搭建后,需为GitLab创建一个名为git的用户。GitLab .1及以后版本仅支持PostgreSQL数据库,GitLab-ce .1-stable需要PostgreSQL 或以上版本,并且需要pg_trgm扩展和btree_gist扩展。GitLab .0及以后版本要求Redis版本4.0或以上,推荐使用6.0或以上版本。部署GitLab-ce .1-stable需要编译三个部分:gitLab核心代码、gitlab-shell和GitLab-Workhorse。编译完成后,主要目录结构会根据部署环境进行相应调整。

       配置GitLab的各个组件时,需要将源码配置调整为已搭建环境的配置。主要修改数据库配置为已安装的PostgreSQL 版本。安装过程中可能会遇到一些小问题,如使用sudo执行某些命令时的超时错误。解决这类问题通常需要检查和调整环境变量,确保git账号的环境变量能够正常工作。例如,通过修改/etc/sudoers文件,确保在执行sudo命令时保留所需的环境变量,如GOPROXY。安装完成后,GitLab及其环境应已正确配置,系统架构识别为arm,erp源码制作GitLab版本为.1,redis版本未读取但不影响使用。至此,GitLab在UOSV arm架构上成功部署完毕。

组件的具体创建

       ç®€ä»‹

       åˆ›å»ºç»„件就是自行设计制作出新的组件。  设计组件是一项繁重的工作。自行开发组件与使用组件进行可视化程序开发存在着极大的不同,要求程序员熟知原有的VCL类库结构,精通面向对象程序设计。设计组件是一项艰苦的工作。对于组件的开发者,组件是纯粹的代码。组件的开发不是一个可视化的开发过程,而是用C++或Object Pascal严格编制代码的工作。实际上,创建新组件使我们回到传统开发工具的时代。虽然这是一个复杂的过程,但也是一个一劳永逸的过程。创建组件的最大意义在于封装重复的工作,其次是可以扩充现有组件的功能。组件创建过程包括设计、开发、调试(就是所谓的3D's)工作,然后是组件的使用。组件开发者应该掌握的三项主要内容是:属性、事件和方法。

       ç»„件源文件

       ç»„件面板中提供的组件都是预编译过的 SWC 剪辑。同时还提供了源 Flash 文档 (FLA)(其中包括的是这些组件的图形)和源 ActionScript 类文件(AS)(其中包含的是这些组件的代码),以便于您在创建自已的自定义组件时使用。第 2 版组件的源文件随 Macromedia Flash 一起安装。在构建自己的组件之前,打开并查看其中部分文件,尝试去了解这些文件的结构,会对您有所帮助。RadioButton 组件就是较为简单的组件的示例,您可能应首先研究该组件。StandardComponents.fla 的库中的所有组件都是元件。每个元件都链接到一个 ActionScript 类。它们的位置如下:

       FLA文件源代码在 Windows 中:C:Program FilesMacromediaFlash 8语言ConfigurationComponentFLAStandardComponents.fla。 在 Macintosh 上:HD/Applications/Macromedia Flash 8/Configuration/ComponentFLA/StandardComponents.fla ActionScript 类文件在 Windows 中:C:Program FilesMacromediaFlash 8语言First RunClassesmx 在 Macintosh 上:HD/Applications/Macromedia Flash 8/First Run/Classes/mx

       ç»„件结构概述

       ç»„件由 Flash (FLA)文件和 ActionScript (AS)文件组成。您可以选择创建其它文件(例如,图标和 .swd 调试文件),并将其与组件一起打包,但所有组件都需要一个 FLA 文件和一个 ActionScript 文件。完成组件开发后,需要将它导出为 SWC 文件。

       Flash (FLA)文件、ActionScript (AS) 文件和 SWC 文件FLA文件包含一个影片剪辑元件,该元件必须在链接属性和组件定义对话框中链接到 AS 文件。

       å½±ç‰‡å‰ªè¾‘元件有两个帧和两个图层。第一个图层是 Actions 图层,它的第一帧上有一个 stop()全局函数。第二个图层是 Assets 图层,它有两个关键帧:第一帧包含一个边框,第二帧包含所有其它资源,其中包括组件使用的图形和基类。

       æŒ‡å®šç»„件的属性和方法的 ActionScript 代码位于单独的 ActionScript 类文件中。此类文件还声明组件的扩展的类(如果有)。AS 类文件的名称为组件的名称加上.as扩展名。例如,MyComponent 包含 MyComponent 组件的源代码。

       æœ€å¥½å°†ç»„件的 FLA 和 AS文件保存在同一文件夹并将这两个文件指定为相同的名称。如果将 AS文件保存在其它文件夹中,则必须确认该文件夹在类路径中,以便 FLA 文件能够找到它。有关类路径的详细信息,请参阅学习 Flash 中的 ActionScript 2.0中的类。

       æž„建第一个组件

       åœ¨æœ¬èŠ‚中,将构建一个 Dial 组件。已完成的组件文件Dial.fla、Dial 和 DialAssets.fla 位于计算机上的以下示例文件夹中:

       åœ¨ Windows 中:C:Program FilesMacromediaFlash 8Samples and TutorialsSamplesComponentsDialComponent文件夹。

       åœ¨ Macintosh 上:HD/Applications/Macromedia Flash 8/Samples and Tutorials/Samples/Components/DialComponent文件夹。

       Dial 组件是一个电位计,类似于测量电压差的电位计。用户可以单击并拖动指针来更改指针位置。Dial 组件的 API 具有一个 value 属性,可用来获取和设置指针的位置。

       é€‰æ‹©çˆ¶ç±»

       åˆ›å»ºç»„件时,首先要确定是否扩展某个第 2 版类。如果选择扩展某个第 2 版类,则可以扩展某个组件类(例如,Button、CheckBox、ComboBox、List 等)或某个基类(UIObject 或 UIComponent)。除 Media 组件之外,所有其它组件类都扩展基类;如果扩展组件类,该类也会自动从基类继承。

       ä¸¤ä¸ªåŸºç±»ä¸ºç»„件提供了常见功能。通过扩展这些类,组件一开始即具备一组基本的方法、属性和事件。

       åœ¨ç¬¬ 2 版框架中,您无需创建 UIObject 子类、UIComponent 子类或任何其它类。即使组件类直接继承自 MovieClip 类,也可以使用许多强大的组件功能:导出到 SWC文件或编译剪辑、使用内置实时预览、查看可检查属性等等。但是,如果要将组件用于 Macromedia 第 2 版组件,并要使用管理器类,就需要扩展 UIObject 或 UIComponent。

       ä¸‹è¡¨ç®€è¦è¯´æ˜Žç¬¬ 2 版基类: 基类 扩展 说明 mx.core.UIObject MovieClip UIObject 是所有图形对象的基类。 mx.core.UIComponent UIObject UIComponent 是所有组件的基类。 了解 UIObject ç±»

       åŸºäºŽ Macromedia ComponentArchitecture第 2 版的组件源自 UIObject 类,该类是 MovieClip 类的子类。MovieClip 类是 Flash 中可以在屏幕上表示可视对象的所有类的基类。

       UIObject 添加用于处理样式和事件的方法。它在加载和卸载时(load 和 unload)、布局更改时(move、resize)以及隐藏或显示时(hide和 reveal),都会在绘制(draw 事件等效于 MovieClip.onEnterFrame 事件)之前将事件发送到它的侦听器。

       UIObject 另外提供只读变量来确定组件的位置和大小(width、height、x、y),并提供 move() 和 setSize() 方法来改变对象的位置和大小。

       UIObject 类实现以下功能:

       æ ·å¼

       äº‹ä»¶

       æŒ‰ç¼©æ”¾æ¯”例调整大小

       äº†è§£ UIComponent ç±»

       UIComponent 类是 UIObject 的子类(请参阅组件语言参考中的UIComponent 类)。它是处理用户交互(鼠标和键盘输入)的所有组件的基类。UIComponent 类允许组件执行以下操作:

       æŽ¥æ”¶ç„¦ç‚¹å’Œé”®ç›˜è¾“å…¥

       å¯ç”¨å’Œç¦ç”¨ç»„件

       æŒ‰å¸ƒå±€è°ƒæ•´å¤§å°

       å…³äºŽæ‰©å±•å…¶å®ƒç¬¬ 2 版类

       ä¸ºäº†èƒ½å¤Ÿæ›´æ–¹ä¾¿åœ°æž„造组件,可以扩展任何类的子类,这样也就不需要直接扩展 UIObject 或 UIComponent 类。如果扩展任何其它第 2 版组件类(Media 组件除外),默认情况下也会扩展 UIObject 和 UIComponent。您可以通过扩展组件字典中列出的任何组件类来创建新组件类。

       ä¾‹å¦‚,如果要创建一个组件,其行为与 Button 组件的行为几乎相同,就可以扩展 Button 类,而不必从基类重新创建 Button 类的所有功能。

       ä¸‹å›¾æ˜¾ç¤ºäº†ç¬¬ 2 版组件的层次结构:

       æ­¤æ–‡ä»¶çš„ FlashPaper 版本可在 Flash安装目录的以下位置找到:Flash 8Samples and TutorialsSamplesComponentsarch_diagram.swf。

       å…³äºŽæ‰©å±• MovieClip ç±»

       æ‚¨å¯ä»¥é€‰æ‹©ä¸æ‰©å±•ç¬¬ 2 版类,而让组件直接继承 ActionScript MovieClip 类。但是,如果需要 UIObject 和 UIComponent 的任何功能,则必须亲自构建。您可以打开 UIObject 和 UIComponent ç±» (First Run/Classes/mx/core) 来检查它们的构造方式。

       åˆ›å»ºç»„件影片剪辑

       è‹¥è¦åˆ›å»ºä¸€ä¸ªç»„件,必须创建一个影片剪辑元件并将它链接到该组件的类文件。

       å½±ç‰‡å‰ªè¾‘有两个帧和两个图层。第一个图层是 Actions 图层,它的第一帧上有一个 stop() 全局函数。第二个图层是 Assets 图层,它有两个关键帧。第一帧包含一个边框或充当最终图片的占位符的任意图形。第二帧包含所有其它资源,包括组件使用的图形和基类。

       æ’入新的影片剪辑元件

       æ‰€æœ‰ç»„件都是 MovieClip 对象。要创建新组件,首先必须将新元件插入新的 FLA 文件中。

       æ·»åŠ æ–°ç»„件元件:

       åœ¨ Flash 中,创建空白的 Flash 文档。

       é€‰æ‹©æ’å…¥>新建元件。

       æ˜¾ç¤ºåˆ›å»ºæ–°å…ƒä»¶å¯¹è¯æ¡†ã€‚

       è¾“入元件名称。为组件命名,方法是将组件中每个单词的第一个字母更改为大写字母(例如 MyComponent)。

       é€‰æ‹©å½±ç‰‡å‰ªè¾‘行为。

       å•å‡»é«˜çº§æŒ‰é’®æ˜¾ç¤ºé«˜çº§è®¾ç½®ã€‚

       é€‰æ‹©ä¸º ActionScript 导出,取消选择在第一帧导出。

       è¾“入链接标识符。

       åœ¨AS 2.0 类文本框中,输入 ActionScript 2.0 类的完全限定路径。

       ç±»åç§°åº”与显示在组件面板中的组件名称相同。例如,Button 组件的类为 mx.controls.Button。

       æ³¨æ„

       ä¸è¦åŒ…含文件扩展名;AS 2.0 类文本框指向类的打包位置,而不是该文件的文件系统名称。

       å¦‚æžœ ActionScript文件位于包内,必须包含该包的名称。此值可以是类路径的相对路径,也可以是包的绝对路径(例如 mypackage.MyComponent)。

       å¤§å¤šæ•°æƒ…况下,应取消选中在第一帧导出(默认选中该选项)。有关详细信息,请参阅组件开发检查列表。

       å•å‡»ç¡®å®šã€‚

       Flash 将元件添加到库中,然后切换到元件编辑模式。在此模式下,元件的名称显示于舞台左上角的上方,并且有一个十字线表明该元件的注册点。

       æ‚¨çŽ°åœ¨å°±å¯ä»¥ç¼–辑该元件以创建一个组件。请参阅编辑影片剪辑。

       ç¼–辑影片剪辑

       åœ¨åˆ›å»ºæ–°å…ƒä»¶å¹¶ä¸ºå…¶å®šä¹‰é“¾æŽ¥åŽï¼Œå³å¯åœ¨è¯¥å…ƒä»¶çš„时间轴中定义组件的资源。

       ç»„件的元件应有两个图层。本节说明应该插入哪些图层,应该在这些图层上添加哪些内容。

       è‹¥è¦ç¼–辑影片剪辑,请执行以下操作:

       å°†å›¾å±‚1 重命名为动作,然后选择第一帧。

       æ‰“开动作面板,然后添加 stop() 函数,如下所示: stop();

       ä¸è¦å‘此帧添加任何图形资源。

       æ·»åŠ ä¸€ä¸ªåä¸º Assets 的图层。

       åœ¨ Assets图层上,选择第二帧并插入一个空白关键帧。

       çŽ°åœ¨è¯¥å›¾å±‚上有两个空白关键帧。

       è¯·æ‰§è¡Œä»¥ä¸‹æ“ä½œä¹‹ä¸€ï¼š

       Â·å¦‚果组件具有定义边界区域的可视资源,则将这些元件拖到第一帧中并进行适当安排。

       Â·å¦‚果组件在运行时创建其所有可视资源,请将一个 BoundingBox 元件拖到舞台上第一帧中,适当调整其大小,然后将实例命名为 boundingBox_mc。该元件位于 Configuration/ComponentFLA文件夹中的 StandardComponents.fla 的库中。

       å¦‚果要扩展现有组件,请将该组件的一个实例和任何其它基类放在 Assets图层的第二帧中。

       ä¸ºæ­¤ï¼Œè¯·ä»Žç»„件面板中选择该元件并将它拖到舞台上。如果要扩展一个基类,请打开 Configuration/ComponentFLA 文件夹中的 StandardComponents.fla,然后将该类从库中拖到舞台上。

       æ³¨æ„

       å°† UIComponent 拖到组件库时,会更改库中的文件夹层次结构。如果打算再次使用库,或将它用于其它组件组(如第 2 版组件),应重新组织文件夹层次结构,以便与 StandardComponents.fla 库匹配,从而使库组织有序,避免元件重复。

       åœ¨ç»„件的 Assets图层的第二帧添加由该组件使用的所有图形资源。

       ç»„件所使用的任何资源(无论是其它组件还是位图之类的媒体)都应具有一个放置在 Assets 图层的第二帧中的实例。

       å®Œæˆçš„元件看起来应与下图相似:

       å½±ç‰‡å‰ªè¾‘元件必须在组件定义对话框中链接到 ActionScript 类文件。这是 Flash 了解在何处查找组件元标记的方式。(有关元标记的详细信息,请参阅添加组件元数据。)您也可以在组件定义对话框中选择其它选项。

       å°†å½±ç‰‡å‰ªè¾‘定义为组件:

       åœ¨åº“中选择影片剪辑,然后从库上下文菜单中选择组件定义(Windows:右键单击;Mac:按住 Control 键单击)。

       å¿…须输入一个 AS 2.0 类。

       å¦‚果该类在包中,则输入完整的包名称。如果需要,可以在组件定义对话框中指定其它选项:

       å•å‡»åŠ å· (+) 按钮可定义参数。

       æ­¤ä¸ºå¯é€‰æ“ä½œã€‚最好的做法是在组件的类文件中使用元数据Inspectable 标记来指定参数。如果未指定 ActionScript 2.0 类,则在这是一个在组件检查器中播放的 SWF文件。您可以将它嵌入组件 FLA文件或浏览到一个外部 SWF文件。

       æŒ‡å®šå®žæ—¶é¢„览。

       è¿™æ˜¯ä¸€ä¸ªå¤–部或嵌入的 SWF文件。此处无需指定实时预览;将一个边框添加到组件影片剪辑,Flash 即会为您创建实时预览。请参阅创建组件影片剪辑。

       è¾“入描述。

       åœ¨ Flash MX 中,由于参考面板已删除,因此不建议使用描述字段。提供此字段目的在于以 Flash MX 格式保存 FLA文件时的向后兼容性。

       é€‰æ‹©å›¾æ ‡ã€‚

       æ­¤é€‰é¡¹æŒ‡å®šä¸€ä¸ª PNG文件来用作组件的图标。如果在 ActionScript 2.0 类文件中指定 IconFile元数据标记(最佳做法),则会忽略该字段。

       é€‰æ‹©æˆ–取消选择实例中参数已锁定。

       å¦‚果取消选择此选项,用户则可以向每个组件实例添加不同于组件参数的参数。通常应选择此设置。此选项提供与 Flash MX 的向后兼容性。

       æŒ‡å®šæ˜¾ç¤ºåœ¨ç»„件面板中的工具提示。

       åˆ›å»º ActionScript 类文件

       æ‰€æœ‰ç»„件元件都链接到 ActionScript 2.0 类文件。(有关链接的信息,请参阅创建组件影片剪辑。)

       è¦ç¼–辑 ActionScript 类文件,您可以使用 Flash、任何文本编辑器,也可以使用任何集成开发环境(IDE)。

       å¤–部 ActionScript 类扩展其它类(无论该类是第 2 版组件、第 2 版基类还是 ActionScript MovieClip 类)。您应扩展所创建的功能与要创建的组件最类似的类。只能从一个类继承(扩展)。ActionScript 2.0 不允许多继承。

       æœ¬èŠ‚包含以下主题:

       ç»„件类文件的简单示例

       ç»„件类文件概述

       å®šä¹‰ç±»åŠå…¶è¶…ç±»

       æ ‡è¯†ç±»ã€å…ƒä»¶å’Œæ‰€æœ‰è€…名称

       å®šä¹‰å˜é‡

       ä½¿ç”¨ getter/setter 方法定义参数

       æ·»åŠ ç»„件元数据

       å®šä¹‰ç»„件参数

       å…³äºŽæ ¸å¿ƒå‡½æ•°

       å‘送事件

       å…³äºŽæŒ‡å®šå¤–观

       å…³äºŽæ ·å¼

       ç»„件类文件的简单示例

       ä¸‹é¢æ˜¯ç±»æ–‡ä»¶çš„一个简单示例,该类文件名为 <CITE style=BACKGROUND: none transparent scroll repeat 0% 0% class=highlight highlight=true>MyComponent</CITE>。如果要创建此组件,应将该类文件链接到 Flash 中的组件影片剪辑。

       æ­¤ç¤ºä¾‹åŒ…含从 UIComponent 类继承的组件 MyComponent 至少应有的一组导入、方法和声明。MyComponents文件保存在 myPackage 文件夹中。

       ã€Event(eventName)】

       // 导入包。

       import mx.core.UIObject;

       // 声明类并从父类扩展。

       classmypackage.MyComponent extends UIObject {

       // 标识此类所绑定到的元件名称。

       static var symbolName:String = mypackage.MyComponent;

       // 标识元件所有者的完全限定包名称。

       static var symbolOwner:Object = Object(mypackage.MyComponent);

       // 提供className 变量。

       varclassName:String = MyComponent;

       // 定义一个空构造函数。

       function MyComponent() {

       }

       // 调用父级的 init() 方法。

       // 隐藏边框,该边框

       // 仅在创作时使用。

       function init():Void {

       super.init();

       boundingBox_mc.width = 0;

       boundingBox_mc.height = 0;

       boundingBox_mc.visible = false;

       }

       function createChildren():Void{

       // 调用 createClassObject 来创建子对象。

       size();

       invalidate();

       }

       function size(){

       // 编写处理大小的代码。

       super.size();

       invalidate();

       }

       function draw(){

       // 编写处理可视化表示形式的代码。

       super.draw();

       }

       }

       ç»„件类文件概述

       ä»¥ä¸‹æ˜¯ä»‹ç»å¦‚何为组件类创建 ActionScript文件的常规过程。根据所创建组件类型的不同,某些步骤是可选步骤。

       ç¼–写组件类文件

       ï¼ˆå¯é€‰ï¼‰å¯¼å…¥ç±»ã€‚(请参阅导入类)。

       æ‰§è¡Œè¿™ä¸€æ­¥éª¤ï¼Œåˆ™æ— éœ€å†™å‡ºåŒ…(例如,使用 Button 而不是 mx.controls.Button)即可引用类。 使用class关键字定义类;使用 extend 关键字扩展父类。(请参阅定义类及其超类)。

       å®šä¹‰ symbolName、symbolOwner 和className 变量。(请参阅标识类、元件和所有者名称)。

       åªæœ‰ç¬¬ 2 版组件才需要这些变量。

       å®šä¹‰æˆå‘˜å˜é‡ã€‚(请参阅定义变量)。

       è¿™äº›å˜é‡å¯ç”¨äºŽ getter/setter 方法。

       å®šä¹‰ä¸€ä¸ªæž„造函数。(请参阅关于构造函数)。

       å®šä¹‰ init() 方法。(请参阅定义 init() 方法)。

       å¦‚果类扩展的是 UIComponent,则创建类时会调用此方法。如果类扩展的是 MovieClip,则从构造函数调用此方法。

       å®šä¹‰ createChildren() 方法。(请参阅定义 createChildren() 方法)。

       å¦‚果类扩展的是 UIComponent,则创建类时会调用此方法。如果类扩展的是 MovieClip,则从构造函数调用此方法。

       å®šä¹‰ size() 方法。(请参阅定义 size() 方法)。

       å¦‚果类扩展的是 UIComponent,则调整组件大小时调用此方法。此外,在创作时调整组件的实时预览大小时也会调用此方法。

       å®šä¹‰ draw() 方法。(请参阅关于无效)。

       å¦‚果类扩展的是 UIComponent,则组件无效时调用此方法。

       æ·»åŠ ä¸€ä¸ªå…ƒæ•°æ®æ ‡è®°å’Œå£°æ˜Žã€‚(请参阅添加组件元数据)。

       æ·»åŠ æ ‡è®°å’Œå£°æ˜Žå¯ä½¿ getter/setter 属性显示在 Flash 的属性 方法。(请参阅使用 getter/setter 方法定义参数)。

       ï¼ˆå¯é€‰ï¼‰ä¸ºç»„件中使用的每个外观元素/链接创建变量。(请参阅关于指定外观)。

       æ‰§è¡Œè¿™ä¸€æ­¥éª¤ï¼Œç”¨æˆ·åˆ™å¯é€šè¿‡æ›´æ”¹ç»„件中的参数来设置不同的外观元素。

       åœ¨ç»„件内组合现有组件

       åœ¨æœ¬èŠ‚中,您将构建一个可以组合 Label、TextInput 和 Button 组件的简单的 LogIn 组件。本教程演示如何在新组件中通过添加未经编译的 Flash (FLA) 库元件来组合现有组件。已完成的组件文件LogIn.fla、LogIn 和 LogIn.swf 位于硬盘上的以下示例文件夹中:

       åœ¨ Windows 中:the C:Program FilesMacromediaFlash 8Samples and TutorialsSamplesComponentsLogin folder。

       åœ¨ Macintosh 上:HD/Applications/Macromedia Flash 8/Samples and Tutorials/Samples/Components/Login文件夹。

       LogIn 组件提供输入名称和密码的界面。LogIn 的 API 有两个属性 name 和 password,用来设置和获取名称和密码 TextInput 字段中的字符串值。LogIn 组件还将在用户单击标记为LogIn的按钮时发送一个click事件。

       åˆ›å»º LogIn Flash (FLA) 文件

       LogIn 类文件

       æµ‹è¯•å’Œå¯¼å‡º LogIn 组件

       å¯¼å‡ºå’Œåˆ†å‘组件

       Flash 将组件导出为组件包(SWC 文件)。组件可以分发为 SWC文件或 FLA 文件。(有关将组件作为 FLA 分发的信息,请参阅 Macromedia DevNet 上的文章,

       åˆ†å‘组件的最好方法是将它导出为 SWC文件,这是因为 SWC 文件包含全部 ActionScript、SWF 文件以及使用组件所需的其它可选文件。如果要同时开发某个组件和使用该组件的应用程序,则 SWC文件也十分有用。

       SWC文件可用于分发在 Macromedia Flash 8、Macromedia Dreamweaver MX 和 Macromedia Director MX 中使用的组件。

       æ— è®ºå¼€å‘组件的目的是为了供他人使用还是自己使用,对作为组件开发的正在进行部分的 SWC文件进行测试都非常重要。例如,组件的 FLA文件中不会出现的问题可能会在 SWC 文件中出现。

       ç»„件开发的最后一些步骤

       ç»„件创建完成并准备好打包之后,即可添加图标和工具提示。要确保已完成所有必需的步骤,请参阅组件开发检查列表。

       æœ¬èŠ‚包含以下主题:

       Â· 添加图标

       Â· 添加工具提示

       Â· 组件开发检查列表

       æ·»åŠ å›¾æ ‡

       æ‚¨å¯ä»¥æ·»åŠ åœ¨ Flash 创作环境的组件面板中表示组件的图标。 添加组件的图标:

       Â· 创建新图像。

       å›¾åƒå¿…须为 x 像素,并且必须保存为 PNG 格式。它的 Alpha 透明度必须是 8 位,左上角的像素必须是透明的,以支持遮罩。

       Â· 在组件 ActionScript 类文件中的类定义之前添加以下定义: 【IconFile(component_name.png)】

       Â· 将图像添加到 FLA文件所在的目录。在导出 SWC文件时,Flash 将在归档的根级包含该图像。

       æ·»åŠ å·¥å…·æç¤º

       å½“用户将鼠标滚到 Flash 创作环境中组件面板上的组件名称或图标上时,工具提示就会显示出来。

       åœ¨ç»„件定义对话框中可以定义工具提示。可以从组件 FLA 文件的库选项菜单访问此对话框(Windows:右键单击;Mac:按住 Control 键单击)。

       åœ¨ç»„件定义对话框中添加工具提示:

       åœ¨ Flash 中打开组件的 FLA文件时,确保库可见(窗口>库菜单)。

       å•å‡»åº“选项菜单(Windows:右键单击;Mac:按住 Control 键单击)。

       åº“选项菜单位于库标题栏的右侧,显示为一个三条线和向下三角形的图标。

       é€‰æ‹©ç»„件定义选项。

       åœ¨ç»„件定义对话框的选项下,选择显示在'组件'面板中。

       å·¥å…·æç¤ºæ–‡æœ¬æ¡†å³ä¼šå˜ä¸ºå¯ç¼–辑文本框。

       åœ¨å·¥å…·æç¤ºæ–‡æœ¬æ¡†ä¸­è¾“入组件的工具提示文本。

       å•å‡»ç¡®å®šä»¥ä¿å­˜æ›´æ”¹ã€‚

FUTU六语言秒合约交易所源码详细搭建教程

       FUTU六语言秒合约交易所源码提供了一个前后端分离的解决方案,前端Vue已编译,是用于搭建秒合约交易所的二开版本。尽管功能设计较为基础,其后台功能却相当强大且强大,UI设计新颖,已通过实测,基本未发现明显问题。

       该系统K线和行情数据来源于外部API,对服务器性能要求不高。秒合约部分需要根据具体需求调整外链和变量,且前端代码已经过编译处理。对于初次搭建者,本教程将为您详细介绍如何配置与部署。

       搭建过程需要以下环境与组件:nginx、php7.3、mysql5.6、redis,同时确保安装了如下PHP扩展:fileinfo、opcache、memcache、redis、imagemagick、imap、exif、intl、xsl。禁用所有非必要的函数或处理报错函数,建议全新安装系统服务器,避免其他服务干扰。确保PHP和相关组件正确配置与启动,如未报错则搭建成功。

       搭建步骤包括但不限于:配置Nginx伪静态规则、开放特定端口、安装Elasticsearch(ES)环境,导入源码与数据库,并进行环境初始化。需注意的是,反向代理配置需要调整socket.io后端IP和端口。同时,计划任务脚本涵盖了日常运营、更新与维护任务,如行情与K线数据更新、交易对获取、用户余额更新等,确保系统自动执行关键功能。

       此源码提供了一个灵活的基础框架,支持根据业务需求进行扩展与定制,如市场数据导入、交易对支持、定时任务执行等。通过合理配置与调整,可以构建功能丰富、运行稳定的秒合约交易所。

UGUI 源码笔记(一)文件结构和部分组件使用

       探讨UGUI源码之谜:深度解析文件结构与关键组件

       本文将为您揭秘Unity3D UI系统UGUI的底层细节。

       部分一:源码与实现解析

       UGUI是基于三维网格系统构建的UI库,源码地址。

       构建图元时,先生成一个方形网格,绑定材质球,后者存放要显示的图像。性能挑战:材质球和网格渲染过量,drawcell时间长。

       部分二:源码结构探索

       以Unity版本.1为例,文件结构被清晰地划分。

       Canvas作为核心组件,类比为画布,内置了提升效率的合并网格功能。

       Render Mode描述了Canvas的渲染模式;Canvas Scale组件允许您调整Canvas中元素的比例。

       UI Scale Mode提供了针对屏幕大小的适应性设置,包括ScreenMatchMode.MatchWidthOrHeight选项。

       以设备与游戏屏幕比例为例,计算合适的MatchWidthOrHeight值,通过对数空间转换确保视觉平衡。

       部分三:UI元素组件剖析

       Image与RawImage组件是展示的基石。

       它们之间有显著区别:小尺寸图像适合使用Image,大尺寸则推荐RawImage以提高性能。

       当处理大量相似类型但数量较少的时,通常选择RawImage,以减少内存消耗。

       部分四:RectTransform:UI元素摆放的秘密

       尽管RectTransform属于Unity内部类,但在UGUI中扮演着核心角色,用于定义UI元素的位置、大小与旋转。

       锚点Anchors决定子节点的对齐,设置时以父节点的比例计算。

       Anchors Presets工具提供了常用的布局选择,连带调整Pivot与位置时更为便捷。

       Pivot作为物体自身的支点,影响物体的旋转、缩放与位置调整。

搭建源码调试环境—RocketMQ源码分析(一)

       搭建源码调试环境,深入分析 RocketMQ 的内部运行机制。理解 RocketMQ 的目录结构是搭建调试环境的第一步,有助于我们快速定位代码功能和问题。

       目录结构主要包括:

       acl:权限控制模块,用于指定话题权限,确保只有拥有权限的消费者可以进行消费。

       broker:RocketMQ 的核心组件,负责接收客户端发送的消息、存储消息并传递给消费端。

       client:包含 Producer、Consumer 的代码,用于消息的生产和消费。

       common:公共模块,提供基础功能和服务。

       distribution:部署 RocketMQ 的工具,包含 bin、conf 等目录。

       example:提供 RocketMQ 的示例代码。

       filter:消息过滤器。

       namesvr:NameServer,所有 Broker 的注册中心。

       remoting:远程网络通信模块。

       srvutil:工具类。

       store:消息的存储机制。

       style:代码检查工具。

       tools:命令行监控工具。

       获取 RocketMQ 源码:从 Github 下载最新版本或选择其他版本。遇到下载困难时,可留言或私信寻求帮助。

       导入源码到 IDE 中,确保 Maven 目录正确,刷新并等待依赖下载完成。

       启动 RocketMQ 的 NameServer 和 Broker,配置相关参数,如环境变量、配置文件等。确保正确启动后,通过查看启动日志检查运行状态。

       进行消息生产与消费测试,使用源码自带的示例代码进行操作。设置 NameServer 地址后,启动 Producer 和 Consumer,验证消息成功发送与消费。

       使用 RocketMQ Dashboard 监控 RocketMQ 运行情况,持续优化和调试。

OpenHarmony编译构建系统详解,从零搭建windows下开发环境,巨方便!

       OpenHarmony的dev-tool更新让在Windows下搭建鸿蒙系统开发环境变得便捷,尤其对于MCU开发者来说。本文将带你从头开始,详细讲解如何在Windows上搭建dev-tool环境,降低学习OpenHarmony的门槛。首先,理解OpenHarmony的编译构建框架至关重要,它基于GN和Ninja构建,组织平台、子系统和组件,构建过程类似用针线制作衣服,通过命令行驱动,GN生成Ninja文件指导构建。

       在2.0版本中,大部分组件已采用GN和Ninja,未来将全面替代。构建流程包括设置和编译两个步骤,通过命令行工具如"hb set"和"hb build"来操作。具体过程可在weharmonyos.com的文档中获取更详尽信息。

       环境搭建则需要准备GNU环境,因为OpenHarmony主要依赖GNU工具链,包括在Windows上安装对应版本的Python、Node.js和hpm,以及Visual Studio Code和DevEco Device Tool。其中,Python和Node.js的安装需注意版本选择,而DevEco Device Tool的安装需注意避免中文字符在用户名中,且可能需要设置npm代理。

       针对HiV开发板,需要下载专用源代码,设置正确的编译工具链,并在DevEco Device Tool中进行编译操作。整个过程包括设置工具链、打开工程、执行编译任务,直至看到"SUCCESS"。目前仅支持轻量型系统和Hi开发板,后续将扩展支持其他开发板。

       现在,你已经具备了在Windows上搭建OpenHarmony开发环境的完整流程,开始你的鸿蒙OS学习之旅吧!