ArkTS組件的三個通用(通用事件、通用屬性、通用手勢)

文章目錄

    • 通用事件
      • 點擊事件 onClick
      • 觸摸事件 onTouch
      • 掛載、卸載事件
      • 拖拽事件
      • 按鍵事件 onKeyEvent
      • 焦點事件
      • 鼠標事件
      • 懸浮事件
      • 組件區域變化事件 onAreaChange
      • 組件尺寸變化事件
      • 組件可見區域變化事件
      • 組件快捷鍵事件
      • 自定義事件分發
      • 自定義事件攔截
    • 通用屬性
      • 尺寸設置
      • 位置設置
      • 布局約束
      • 邊框設置
      • 背景設置
      • 透明度設置
      • 顯隱控制
      • 禁用控制
      • 浮層
      • Z序控制
      • 圖形變換
      • 圖像效果
      • 形狀裁剪
      • 顏色漸變
      • Popup控制、菜單控制
      • 復用標識
      • 多態樣式
      • 動態屬性設置
      • 點擊回彈效果
      • 外描邊設置
      • 模態轉場設置--全屏模態轉場
      • 模態轉場設置--半模態轉場
      • 文本通用
      • 安全區域
    • 手勢處理
      • 綁定手勢識別相關屬性
      • GestureType枚舉值
      • GestureMask枚舉值
      • TapGesture事件
      • GestureEvent對象屬性
      • SourceType枚舉值8+
      • FingerInfo對象屬性8+
      • SourceTool枚舉值9+


可以先有個印象,具體使用可以查接口文檔

通用事件

點擊事件 onClick

組件被點擊時觸發的事件。
displayX、displayY 相對于屏幕左上角和x或y坐標

觸摸事件 onTouch

當手指在組件上按下、滑動、抬起時觸發。

掛載、卸載事件

掛載卸載事件指組件從組件樹上掛載、卸載時觸發的事件。
onAttach12+
onDetach12+
onAppear
onDisAppear

// xxx.ets
import { promptAction } from '@kit.ArkUI'@Entry
@Component
struct AppearExample {@State isShow: boolean = true@State changeAppear: string = '點我卸載掛載組件'private myText: string = 'Text for onAppear'build() {Column() {Button(this.changeAppear).onClick(() => {this.isShow = !this.isShow}).margin(15)if (this.isShow) {Text(this.myText).fontSize(26).fontWeight(FontWeight.Bold).onAttach(() => {promptAction.showToast({message: 'The text is shown',duration: 2000,bottom: 500})}).onDetach(() => {promptAction.showToast({message: 'The text is hidden',duration: 2000,bottom: 500})})}}.padding(30).width('100%')}
}

拖拽事件

拖拽事件指組件被長按后拖拽時觸發的事件。

按鍵事件 onKeyEvent

按鍵事件指組件與鍵盤、遙控器等按鍵設備交互時觸發的事件,適用于所有可獲焦組件,例如Button。對于Text,Image等默認不可獲焦的組件,可以設置focusable屬性為true后使用按鍵事件。

焦點事件

焦點事件指頁面焦點在可獲焦組件間移動時觸發的事件,組件可使用焦點事件來處理相關邏輯。
僅支持通過外接鍵盤的tab鍵、方向鍵觸發。

鼠標事件

在鼠標的單個動作觸發多個事件時,事件的順序是固定的,鼠標事件默認透傳。
目前僅支持通過外接鼠標觸發。

懸浮事件

光標滑動,或者手寫筆在屏幕上懸浮移動掃過組件時觸發。
目前支持通過外接鼠標、手寫筆以及觸控板觸發。

組件區域變化事件 onAreaChange

組件區域變化事件指組件顯示的尺寸、位置等發生變化時觸發的事件。

組件尺寸變化事件

該事件指組件顯示的尺寸發生變化時觸發的事件。
API Version 12開始支持

組件可見區域變化事件

組件可見區域變化事件是組件在屏幕中的顯示區域面積變化時觸發的事件,提供了判斷組件是否完全或部分顯示在屏幕中的能力,適用于廣告曝光埋點之類的場景。

組件快捷鍵事件

開發者可以設置組件的自定義組合鍵,每個組件可以設置多個組合鍵。

自定義事件分發

ArkUI在處理觸屏事件時,會在觸屏事件觸發前進行按壓點和組件區域的觸摸測試,來收集需要響應觸屏事件的組件,再基于觸摸測試結果分發相應的觸屏事件。

自定義事件攔截

為組件提供自定義的事件攔截能力,開發者可根據事件在控件上按下時發生的位置,輸入源等事件信息決定控件上的HitTestMode屬性。

通用屬性

尺寸設置

layoutWeight(value: number | string)

設置組件的布局權重,使用該屬性的組件在父容器(Row/Column/Flex)的主軸方向按照權重分配尺寸。

位置設置

align(value: Alignment)
設置容器元素繪制區域內的子元素的對齊方式。

direction(value: Direction)
設置容器元素內主軸方向上的布局。position(value: Position | Edges | LocalizedEdges)
絕對定位,確定子組件相對父組件的位置。

offset(value: Position | Edges | LocalizedEdges)
相對偏移,組件相對原本的布局位置進行偏移

alignRules(value: AlignRuleOption)
指定設置在相對容器中子組件的對齊規則,僅當父容器為RelativeContainer時生效。

布局約束

aspectRatio(value: number)

指定當前組件的寬高比,aspectRatio=width/height。

僅設置width、aspectRatio時,height=width/aspectRatio。
僅設置height、aspectRatio時,width=height*aspectRatio。
同時設置width、height和aspectRatio時,height不生效,height=width/aspectRatio。
設置aspectRatio屬性后,組件寬高會受父組件內容區大小限制。

邊框設置

border(value: BorderOptions)
設置邊框樣式。

名稱參數類型必填描述
widthLength | EdgeWidths9+ | LocalizedEdgeWidths12+設置邊框寬度
colorResourceColor | EdgeColors9+ | LocalizedEdgeColors12+設置邊框顏色
radiusLength | BorderRadiuses9+ | LocalizedBorderRadiuses12+設置邊框圓角半徑
styleBorderStyle | EdgeStyles9+設置邊框樣式
dashGap12+LengthMetrics | EdgeWidths | LocalizedEdgeWidths設置虛線的線段間距,僅在邊框樣式為虛線時生效。不支持設置百分比
dashWidth12+LengthMetrics | EdgeWidths | LocalizedEdgeWidths設置虛線的線段長度,僅在邊框樣式為虛線時生效。不支持設置百分比

borderImage(value: BorderImageOption)

設置組件的圖片邊框。
在這里插入圖片描述

// xxx.ets
@Entry
@Component
struct Index {build() {Row() {Column() {Text('This is gradient color.').textAlign(TextAlign.Center).height(50).width(200).borderImage({source: {angle: 90,direction: GradientDirection.Left,colors: [[0xAEE1E1, 0.0], [0xD3E0DC, 0.3], [0xFCD1D1, 1.0]]},slice: { top: 10, bottom: 10, left: 10, right: 10 },width: { top: "10px", bottom: "10px", left: "10px", right: "10px" },repeat: RepeatMode.Stretch,fill: false})}.width('100%')}.height('100%')}
}

背景設置

background(builder: CustomBuilder, options?: { align?: Alignment })

設置組件背景。

屬性類型描述
backgroundColorResourceColor設置組件的背景顏色。
backgroundImageResource設置組件的背景圖片。支持的圖片格式有jpg、jpeg、png、bmp、webp、svg。
backgroundSizeSize | BackgroundSize設置背景圖片的尺寸。當值為Size類型時,用于指定背景圖片的寬度和高度;當值為BackgroundSize類型時,包含auto(默認值,保持圖片原始尺寸)、cover(圖片等比例縮放,以完全覆蓋容器,可能會裁剪部分圖片)、contain(圖片等比例縮放,以完全包含在容器內,可能會有空白區域)。
backgroundRepeatRepeatMode設置背景圖片的重復方式。取值包括repeat(默認值,在水平和垂直方向重復平鋪圖片)、repeat-x(僅在水平方向重復平鋪圖片)、repeat-y(僅在垂直方向重復平鋪圖片)、no-repeat(不重復平鋪圖片)。
backgroundPositionPosition設置背景圖片的位置。可通過指定leftrighttopbottomcenter等關鍵字組合,或者直接指定具體的長度值來確定背景圖片在組件內的位置。
backgroundClipClipMode設置背景的裁剪區域。取值有border-box(默認值,背景繪制到邊框邊緣)、padding-box(背景繪制到內邊距邊緣)、content-box(背景繪制到內容邊緣)。

透明度設置

opacity(value: number | Resource)

設置組件的不透明度。

顯隱控制

visibility(value: Visibility)

控制組件的顯隱。

禁用控制

enabled(value: boolean)

設置組件是否可交互。

浮層

overlay(value: string | CustomBuilder | ComponentContent, options?: OverlayOptions )

在當前組件上,增加遮罩文本或者疊加自定義組件以及ComponentContent作為該組件的浮層。浮層不通過組件樹進行渲染,部分接口(例如getRectangleById)不支持獲取浮層中的組件。
在這里插入圖片描述

// xxx.ets
@Entry
@Component
struct OverlayExample {build() {Column() {Column() {Text('floating layer').fontSize(12).fontColor(0xCCCCCC).maxLines(1)Column() {Image($r('app.media.img')).width(240).height(240).overlay("Winter is a beautiful season, especially when it snows.", {align: Alignment.Bottom,offset: { x: 0, y: -15 }})}.border({ color: Color.Black, width: 2 })}.width('100%')}.padding({ top: 20 })}
}

Z序控制

zIndex(value: number)

設置組件的堆疊順序。

圖形變換

序號標題總結
1rotate方法設置組件旋轉,參數包括旋轉軸、角度、中心點等,從API Version 7開始支持,特定版本用于卡片、元服務,通過示例展示用法
2translate方法設置組件平移,參數為偏移量,有相關版本支持和示例,可實現組件位置移動
3scale方法設置組件縮放,參數含縮放比例、中心點等,有版本及場景支持說明,示例展示縮放效果
4transform方法設置組件變換矩陣,可綜合多種變換,介紹了參數、支持情況,示例展示復雜變換應用

圖像效果

形狀裁剪

顏色漸變

Popup控制、菜單控制

給組件綁定popup彈窗,并設置彈窗內容,交互邏輯和顯示狀態。
為組件綁定彈出式菜單,彈出式菜單以垂直列表形式顯示菜單項,可通過長按、點擊或鼠標右鍵觸發。

復用標識

reuseId用于標記自定義組件復用組,當組件回收復用時,復用框架將根據組件的reuseId來劃分組件的復用組。

多態樣式

設置組件不同狀態下的樣式。多態樣式僅支持通用屬性。
從API Version 11開始支持另一種寫法attributeModifier,可根據開發者需要動態設置屬性。
在這里插入圖片描述

在這里插入圖片描述

動態屬性設置

attributeModifier(modifier: AttributeModifier)

動態設置組件的屬性方法。
在這里插入圖片描述

// xxx.ets
class MyButtonModifier implements AttributeModifier<ButtonAttribute> {applyNormalAttribute(instance: ButtonAttribute): void {instance.backgroundColor(Color.Black)}applyPressedAttribute(instance: ButtonAttribute): void {instance.backgroundColor(Color.Red)}
}@Entry
@Component
struct attributePressedDemo {@State modifier: MyButtonModifier = new MyButtonModifier()build() {Row() {Column() {Button("Button").attributeModifier(this.modifier)}.width('100%')}.height('100%')}
}

點擊回彈效果

clickEffect(value: ClickEffect | null)

設置當前組件點擊回彈效果。

在這里插入圖片描述

外描邊設置

outline(value: OutlineOptions)

統一外描邊樣式設置接口。
在這里插入圖片描述

模態轉場設置–全屏模態轉場

bindContentCover(isShow: Optional, builder: CustomBuilder, options?: ContentCoverOptions)

給組件綁定全屏模態頁面,點擊后顯示模態頁面。模態頁面內容自定義,顯示方式可設置無動畫過渡,上下切換過渡以及透明漸變過渡方式。
在這里插入圖片描述

模態轉場設置–半模態轉場

bindSheet
bindSheet(isShow: Optional, builder: CustomBuilder, options?: SheetOptions)

給組件綁定半模態頁面,點擊后顯示模態頁面。
在這里插入圖片描述

文本通用

屬性描述
fontColor設置字體顏色,參數value類型為ResourceColor,必填,從API Version 7開始支持,卡片能力從API version 9開始支持,原子化服務API從API version 11開始支持
fontSize設置字體大小,參數value類型為`Resource
fontStyle設置字體樣式,參數value類型為FontStyle,必填,默認值為FontStyle.Normal。從API Version 7開始支持,卡片能力從API version 9開始支持,原子化服務API從API version 11開始支持
fontWeight設置文本的字體粗細,設置過大可能會在不同字體下有截斷。參數value類型為`FontWeight
fontFamily設置字體列表,參數value類型為`Resource
lineHeight設置文本的文本行高,設置值不大于0時,不限制文本行高,自適應字體大小。參數value類型為`Resource
decoration設置文本裝飾線樣式及其顏色,參數value類型為DecorationStyleInterface,必填,默認值為{type: TextDecorationType.None, color: Color.Black, style: TextDecorationStyle.SOLID}style參數不支持卡片能力。從API Version 7開始支持,卡片能力從API version 9開始支持,原子化服務API從API version 11開始支持

安全區域

安全區域是指頁面的顯示區域,默認不與系統設置的非安全區域比如狀態欄、導航欄區域重疊,默認情況下開發者開發的界面都被布局在安全區域內。提供屬性方法允許開發者設置組件繪制內容突破安全區域的限制,通過expandSafeArea屬性支持組件不改變布局情況下擴展其繪制區域至安全區外,通過設置setKeyboardAvoidMode來配置虛擬鍵盤彈出時頁面的避讓模式。頁面中有標題欄等文字不希望和非安全區重疊時,建議對組件設置expandSafeArea屬性達到沉浸式效果,也可以直接通過窗口接口setWindowLayoutFullScreen設置沉浸式。

expandSafeArea(types?: Array, edges?: Array)

控制組件擴展其安全區域。
在這里插入圖片描述

// xxx.ets
@Entry
@Component
struct SafeAreaExample1 {@State text: string = ''controller: TextInputController = new TextInputController()build() {Row() {Column().height('100%').width('100%').backgroundImage($r('app.media.bg')).backgroundImageSize(ImageSize.Cover).expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])}.height('100%')}
}

手勢處理

綁定手勢方法
為組件綁定不同類型的手勢事件,并設置事件的響應方法。

綁定手勢識別相關屬性

名稱參數類型默認值描述
gesturegesture: GestureType, mask?: GestureMaskgesture: -,mask: GestureMask.Normal綁定手勢。其中gesture為綁定的手勢類型,mask為事件響應設置
priorityGesturegesture: GestureType, mask?: GestureMaskgesture: -,mask: GestureMask.Normal綁定優先識別手勢。gesture是綁定的手勢類型,mask是事件響應設置。默認子組件優先識別gesture綁定的手勢,父組件配置priorityGesture時,父組件優先識別其綁定的手勢;長按手勢時,觸發長按最短時間小的組件優先響應,忽略priorityGesture設置
parallelGesturegesture: GestureType, mask?: GestureMaskgesture: -,mask: GestureMask.Normal綁定可與子組件手勢同時觸發的手勢。gesture為綁定的手勢類型,mask為事件響應設置。手勢事件為非冒泡事件,父組件設置parallelGesture時,父子組件相同手勢事件都可觸發,類似冒泡效果

GestureType枚舉值

名稱描述
TapGesture點擊手勢,支持單次點擊、多次點擊識別
LongPressGesture長按手勢
PanGesture平移手勢,滑動最小距離為5vp時識別成功
PinchGesture捏合手勢
RotationGesture旋轉手勢
SwipeGesture滑動手勢,滑動最小速度為100vp/s時識別成功
GestureGroup手勢識別組,多種手勢組合為復合手勢,支持連續識別、并行識別和互斥識別

GestureMask枚舉值

名稱描述
Normal不屏蔽子組件的手勢,按照默認手勢識別順序進行識別
IgnoreInternal屏蔽子組件的手勢,包括子組件上系統內置的手勢(如子組件為List組件時,內置的滑動手勢同樣會被屏蔽)。若父子組件區域存在部分重疊,則只會屏蔽父子組件重疊的部分

TapGesture事件

名稱功能描述
onAction((event:GestureEvent) => void)Tap手勢識別成功回調
在這里插入圖片描述
// xxx.ets
@Entry
@Component
struct TapGestureExample {@State value: string = ''build() {Column() {// 單指雙擊文本觸發手勢事件Text('Click twice').fontSize(28).gesture(TapGesture({ count: 2 }).onAction((event: GestureEvent) => {if (event) {this.value = JSON.stringify(event.fingerList[0])}}))Text(this.value)}.height(200).width(300).padding(20).border({ width: 3 }).margin(30)}
}

GestureEvent對象屬性

名稱類型描述
repeatboolean是否為重復觸發事件,用于LongPressGesture手勢觸發場景
offsetXnumber手勢事件偏移量X,單位為vp,用于PanGesture手勢觸發場景,從左向右滑動offsetX為正,反之為負
offsetYnumber手勢事件偏移量Y,單位為vp,用于PanGesture手勢觸發場景,從上向下滑動offsetY為正,反之為負
anglenumber用于RotationGesture手勢觸發場景時,表示旋轉角度;用于SwipeGesture手勢觸發場景時,表示滑動手勢的角度,即兩根手指間的線段與水平方向的夾角變化的度數。角度計算方式:滑動手勢被識別到后,連接兩根手指之間的線被識別為起始線條,隨著手指的滑動,手指之間的線條會發生旋轉,根據起始線條兩端點和當前線條兩端點的坐標,使用反正切函數分別計算其相對于水平方向的夾角,最后arctan2(cy2 - cy1,cx2 - cx1)-arctan2(y2 - y1,x2 - x1)為旋轉的角度。以起始線條為坐標系,順時針旋轉為0到180度,逆時針旋轉為 - 180到0度
scalenumber縮放比例,用于PinchGesture手勢觸發場景,取值范圍:[0, +∞)
pinchCenterXnumber捏合手勢中心點的x軸坐標,單位為vp,用于PinchGesture手勢觸發場景,取值范圍:[0, +∞)
pinchCenterYnumber捏合手勢中心點的y軸坐標,單位為vp,用于PinchGesture手勢觸發場景,取值范圍:[0, +∞)
speed8+number滑動手勢速度,即所有手指相對當前組件元素原始區域滑動的平均速度,單位為vp/秒,用于SwipeGesture手勢觸發場景,取值范圍:[0, +∞)
fingerList8+FingerInfo []輸入源為觸屏產生的手勢,fingerList中會包含觸發事件的所有觸點信息;由鼠標發起的手勢,fingerList中只會有一條記錄;觸摸板的事件大類與鼠標一致,所以由觸摸板發起的手勢,fingerList只會攜帶一條記錄。手指索引編號與位置對應,即fingerList[index]idindex。先按下且未參與當前手勢觸發的手指在fingerList中對應位置為空
velocityX10+number用于PanGesture手勢中,獲取當前手勢的x軸方向速度。坐標軸原點為屏幕左上角,分正負方向速度,從左往右為正,反之為負。單位為vp/s
velocityY10+number用于PanGesture手勢中,獲取當前手勢的y軸方向速度。坐標軸原點為屏幕左上角,分正負方向速度,從上往下為正,反之為負。單位為vp/s
velocity10+number用于PanGesture手勢中,獲取當前手勢的主方向速度。為xy軸方向速度的平方和的算術平方根。單位為vp/s

SourceType枚舉值8+

名稱描述
Unknown未知設備
Mouse鼠標
TouchScreen觸摸屏

FingerInfo對象屬性8+

名稱類型描述
idnumber手指的索引編號,取值范圍:[0, +∞)
globalXnumber相對于應用窗口左上角的x軸坐標,單位為vp,取值范圍:[0, +∞)
globalYnumber相對于應用窗口左上角的y軸坐標,單位為vp,取值范圍:[0, +∞)
localXnumber相對于當前組件元素原始區域左上角的x軸坐標,單位為vp,取值范圍:[0, +∞)
localYnumber相對于當前組件元素原始區域左上角的y軸坐標,單位為vp,取值范圍:[0, +∞)
displayX12+number相對于屏幕左上角的x軸坐標,單位為vp,取值范圍:[0, +∞)
displayY12+number相對于屏幕左上角的y軸坐標,單位為vp,取值范圍:[0, +∞)

SourceTool枚舉值9+

名稱描述
Unknown未知輸入源
Finger手指輸入
Pen手寫筆輸入
Mouse12+鼠標輸入
Touchpad12+觸控板輸入。觸控板單指輸入被視為鼠標輸入操作
Joystick12+手柄輸入

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/79250.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/79250.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/79250.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智慧城市像一張無形大網,如何緊密連接你我他?

智慧城市作為復雜巨系統&#xff0c;其核心在于通過技術創新構建無縫連接的網絡&#xff0c;使物理空間與數字空間深度融合。這張"無形大網"由物聯網感知層、城市數據中臺、人工智能中樞、數字服務入口和安全信任機制五大支柱編織而成&#xff0c;正在重塑城市運行規…

【python】django sqlite版本過低怎么辦

方法一&#xff1a;下載最新版本 復制上面的內容的鏈接 在服務器上進行操作 wget https://sqlite.org/2025/sqlite-autoconf-3490100.tar.gz tar -zxvf sqlite-autoconf-3490100.tar.gz cd sqlite-autoconf-3490100 ./configure --prefix/usr/local make && make in…

PyTorch - Tensor 學習筆記

上層鏈接&#xff1a;PyTorch 學習筆記-CSDN博客 Tensor 初始化Tensor import torch import numpy as np# 1、直接從數據創建張量。數據類型是自動推斷的 data [[1, 2],[3, 4]] x_data torch.tensor(data)torch.tensor([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])輸出&am…

【技術派后端篇】ElasticSearch 實戰指南:環境搭建、API 操作與集成實踐

1 ES介紹及基本概念 ElasticSearch是一個基于Lucene 的分布式、高擴展、高實時的基于RESTful 風格API的搜索與數據分析引擎。 RESTful 風格API的特點&#xff1a; 接受HTTP協議的請求&#xff0c;返回HTTP響應&#xff1b;請求的參數是JSON&#xff0c;返回響應的內容也是JSON…

從標準九九表打印解讀單行表達式的書寫修煉(Python)

解讀單行表達式書寫&#xff0c;了解修習單行捷徑。 筆記模板由python腳本于2025-04-16 23:24:17創建&#xff0c;本篇筆記適合喜歡單行喜好python的coder翻閱。 【學習的細節是歡悅的歷程】 博客的核心價值&#xff1a;在于輸出思考與經驗&#xff0c;而不僅僅是知識的簡單復述…

深入解析布爾注入:原理、實戰與防御

目錄 一、布爾注入的原理與核心邏輯 二、布爾注入的實戰步驟 三、關鍵函數與繞過技巧 四、實戰案例&#xff1a;獲取數據庫名稱 五、防御策略與最佳實踐 六、總結 一、布爾注入的原理與核心邏輯 布爾注入&#xff08;Boolean-Based Blind SQL Injection&#xff09;是一種…

OpenGL學習筆記(幾何著色器、實例化、抗鋸齒)

目錄 幾何著色器爆破物體法向量可視化 實例化&#xff08;偏移量存在uniform中&#xff09;實例化數組&#xff08;偏移量存在頂點屬性中&#xff09;小行星帶 抗鋸齒SSAA&#xff08;Super Sample Anti-aliasing&#xff09;MSAA&#xff08;Multi-Sampling Anti-aliasing&…

idea報錯java: 非法字符: ‘\ufeff‘解決方案

解決方案步驟以及說明 BOM是什么&#xff1f;1. BOM的作用2. 為什么會出現 \ufeff 錯誤&#xff1f;3. 如何解決 \ufeff 問題&#xff1f; 最后重新編譯&#xff0c;即可運行&#xff01;&#xff01;&#xff01; BOM是什么&#xff1f; \ufeff 是 Unicode 中的 BOM&#xff0…

open webui 介紹 是一個可擴展、功能豐富且用戶友好的本地部署 AI 平臺,支持完全離線運行。

AI MCP 系列 AgentGPT-01-入門介紹 Browser-use 是連接你的AI代理與瀏覽器的最簡單方式 AI MCP(大模型上下文)-01-入門介紹 AI MCP(大模型上下文)-02-awesome-mcp-servers 精選的 MCP 服務器 AI MCP(大模型上下文)-03-open webui 介紹 是一個可擴展、功能豐富且用戶友好的…

Log4j2遠程命令執行(CVE-2021-44228)復現

這里選擇使用vulfocue的靶場來進行復現 描述: Apache Log4j2 是一個基于 Java 的日志記錄工具。該工具重寫了 Log4j 框架&#xff0c;并且引入了大量豐富的特性。該日志框架被大量用于業務系統開發&#xff0c;用來記錄日志信息。 在大多數情況下&#xff0c;開發者可能會將用…

模型提示詞

一 提示詞 &#xff08;一&#xff09; 提示詞&#xff08;Prompt&#xff09;是用戶發送給大語言模型的問題、指令或請求&#xff0c;** 1 來明確地告訴模型用戶想要解決的問題或完成的任務&#xff0c;是大語言模型理解用戶需求并據此生成相關、準確回答或內容的基礎。對于…

深度學習算法:從基礎到實踐

簡介 深度學習作為人工智能領域的一個重要分支&#xff0c;近年來在多個領域取得了顯著的成就。本文將從基礎概念出發&#xff0c;探討深度學習算法的核心原理&#xff0c;并介紹一些實際應用案例。 深度學習算法的核心概念 深度學習算法基于人工神經網絡&#xff0c;通過構…

5.9 《GPT-4調試+測試金字塔:構建高可靠系統的5大實戰策略》

5.4 測試與調試:構建企業級質量的保障體系 關鍵詞:測試金字塔模型、GPT-4調試助手、LangChain調試模式、異步任務驗證 測試策略設計(測試金字塔實踐) #mermaid-svg-RblGbJVMnCIShiCW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill…

Visio繪圖工具全面科普:解鎖專業圖表繪制新境界[特殊字符]

Visio繪圖工具全面科普&#xff1a;解鎖專業圖表繪制新境界&#x1f31f; 在信息爆炸的時代&#xff0c;清晰、直觀地呈現復雜信息變得至關重要。無論是繪制流程圖&#x1f4ca;、組織結構圖&#x1f465;&#xff0c;還是規劃網絡拓撲&#x1f5a7;&#xff0c;一款強大的繪圖…

ShellScript腳本編程

語法基礎 腳本結構 我們先從這個小demo程序來窺探一下我們shell腳本的程序結構 #!/bin/bash# 注釋信息echo_str"hello world"test(){echo $echo_str }test echo_str 首先我們可以通過文本編輯器(在這里我們使用linux自帶文本編輯神器vim)&#xff0c;新建一個文件…

你了解哪些Java限流算法?

大家好&#xff0c;我是鋒哥。今天分享關于【你了解哪些Java限流算法?】面試題。希望對大家有幫助&#xff1b; 你了解哪些Java限流算法? 1000道 互聯網大廠Java工程師 精選面試題-Java資源分享網 在 Java 中&#xff0c;限流算法廣泛用于控制流量、避免過載和保護系統的穩…

prime-2 靶場筆記(vuInhub靶場)

前言&#xff1a; 在本次靶場環境中涉及的知識點&#xff0c;主要包含LFI和SMB以及Lxd組提權&#xff0c;具體內容包括主機探測、端口掃描、目錄掃描、wpscan掃描、反彈shell、一句話木馬、容器、linux各種提權和維持。 環境介紹&#xff1a; 本靶場使用了kali&#xff08;192…

SparseDrive---論文閱讀

純視覺下的稀疏場景表示 算法動機&開創性思路 算法動機&#xff1a; 依賴于計算成本高昂的鳥瞰圖&#xff08;BEV&#xff09;特征表示。預測和規劃的設計過于直接&#xff0c;沒有充分利用周圍代理和自我車輛之間的高階和雙向交互。場景信息是在agent周圍提取&#xff…

旅游特種兵迪士尼大作戰:DeepSeek高精準路徑優化

DeepSeek大模型高性能核心技術與多模態融合開發 - 商品搜索 - 京東 隨著假期的腳步日漸臨近&#xff0c;環球影城等備受矚目的主題游樂場&#xff0c;已然成為大人與孩子們心中不可或缺的節日狂歡圣地。然而&#xff0c;隨之而來的龐大客流&#xff0c;卻總讓無數游客在歡樂的…

android rtsp 拉流h264 h265,解碼nv12轉碼nv21耗時卡頓問題及ffmpeg優化

一、 背景介紹及問題概述 項目需求需要在rk3568開發板上面&#xff0c;通過rtsp協議拉流的形式獲取攝像頭預覽&#xff0c;然后進行人臉識別 姿態識別等后續其它操作。由于rtsp協議一般使用h.264 h265視頻編碼格式&#xff08;也叫 AVC 和 HEVC&#xff09;是不能直接用于后續處…