伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AWTK 開源串口屏開發(9) - 用戶和權限管理

ZLG致遠電子 ? 2024-02-19 12:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在AWTK串口屏中,內置用戶管理和權限控制的模型,無需編碼即可實現登錄、登出、修改密碼、權限控制、創建用戶、刪除用戶等功能,本文介紹一下用戶管理和權限控制的基本用法。

用戶管理和權限控制是一個常用的功能。在工業軟件中,通常將用戶分為幾種不同的角色,每種角色有不同的權限,比如管理員、操作員和維護員等等。在 AWTK 串口屏中,內置基本的用戶管理和權限控制功能,可以滿足常見的需求。開發者不需要編寫代碼,設計好用戶界面,通過數據和命令綁定規則,即可實現用戶和權限管理功能,比如登錄、登出、修改密碼、權限控制、創建用戶、刪除用戶等功能。
db1f0046-cedc-11ee-9118-92fbcf53809c.gif本文介紹一下 AWTK 串口屏中的用戶管理和權限控制功能。


1. 出廠默認用戶

在下面的數據文件中,可以修改出廠默認的用戶和密碼。密碼使用 sha256 加密,可以使用在線工具生成。https://emn178.github.io/online-tools/sha256.html

design/default/data/user_manager.csv

比如 demo 中的默認用戶是:

admin|0|8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918|管理員(默認密碼:admin)


2. 數據文件格式

用 CSV 格式的文件存儲用戶名和密碼,每行一個用戶,每行的格式如下:

  • 用戶名。可以使用中文。
  • 角色。用來做實際的權限控制,怎么定義就怎么用。比如:0表示管理員,1 表操作員,2 表示維護員。
  • 密碼。使用 sha256 加密。
  • 備注。可以使用中文。

在后面的數據綁定中,name 表示用戶名,role 表示角色,password 表示密碼,memo 表示備注。

3. 用戶登錄

3.1 用戶登錄命令

當啟用用戶管理時,默認模型 (default) 會提供一個 login 的命令。

login 命令依賴兩個屬性:

login_username 登錄的用戶名。

  • login_password 登錄的密碼。

login 命令需要一個參數,用來指定登錄成功后跳轉的目標頁面。

3.2 數據綁定

綁定屬性

綁定規則

說明

v-data:value

{login_username}

用戶名編輯器

v-data:value

{login_password, Mode=OneWayToModel, ToModel=sha256(value)}

密碼編輯器

Mode=OneWayToModel 表示單向綁定,只能從控件到模型,主要是因為模型里的密碼是加密后的哈希值,不能反向綁定到控件。

表示將控件輸入的數據使用 sha256 加密后,再賦值給模型。

3.3 命令綁定

綁定屬性

綁定規則

說明

v-on:click

{login, Args=home_page}

登錄按鈕的點擊事件。home_page 是登錄成功后跳轉的頁面

3.4 demo 參考界面

db7aa518-cedc-11ee-9118-92fbcf53809c.png

4. 用戶登錄狀態

4.1 用戶登錄狀態

用戶登錄成功后,會在默認模型 (default) 中提供兩個變量:

username 登錄的用戶名。

userrole 登錄的用戶角色。

userrole 是一個整數,可以通過 userrole 來控制權限。

4.2 數據綁定

綁定屬性

綁定規則

說明

v-data:value

{username}

顯示當前用名

v-data:value

{one_of(‘管理員;工程師;操作員’, userrole)}

顯示當前的角色名

4.3 命令綁定

比如,只用管理員才能訪問的頁面,可以通過下面的命令綁定來實現:

綁定屬性

綁定規則

說明

v-on:click

{navigate, Args=user_manager, AutoDisable=false}

AutoDisable 一定要設置為 false,否則不能綁定 enable 屬性

v-data:enable

data:enable {userrole==0}

當前角色為管理員時,才啟用本按鈕

比如,只用管理員執行某些命令,可以通過下面的命令綁定來實現:

綁定屬性

綁定規則

說明

v-on:click

{do_something, Args=xxx, AutoDisable=false}

AutoDisable 一定要設置為 false,否則不能綁定 enable 屬性

v-data:enable

data:enable {userrole==0}

當前角色為管理員時,才啟用本按鈕

4.4 demo 參考界面

管理員界面,全部功能可用。

db7ed020-cedc-11ee-9118-92fbcf53809c.png

工程師界面,部分功能可用。

dbc54ee2-cedc-11ee-9118-92fbcf53809c.png

5. 修改密碼

5.1 修改密碼命令

當啟用用戶管理時,默認模型 (default) 會提供一個 change_password 的命令。change_password 命令依賴兩個屬性:

  • change_password 修改的密碼。
  • change_confirm_password 確認修改的密碼。

change_password 命令不需要參數。

5.2 數據綁定

綁定屬性

綁定規則

說明

v-data:value

{change_password, Mode=OneWayToModel, ToModel=sha256(value)}

密碼編輯器

v-data:value

{change_confirm_password, Mode=OneWayToModel, ToModel=sha256(value)}

確認密碼編輯器

5.3 命令綁定

綁定屬性

綁定規則

說明

v-on:click

{change_password, CloseWindow=true}

確認按鈕的點擊事件。

5.4 demo 參考界面

dbd86158-cedc-11ee-9118-92fbcf53809c.png

6. 用戶管理

前面的模型都是默認模型 (default),用戶管理模型是 user_manager。

6.1 用戶管理命令

當啟用用戶管理時,用戶管理模型 (user_manager) 會提供一些命令。

add 添加用戶。

remove 刪除用戶。

edit 編輯用戶。

save 保存用戶。

reload 重新加載用戶。

set_selected 設置選中的用戶。

6.2 數據綁定

綁定屬性

綁定規則

說明

v-data:value

{selected_index}

選中的用戶索引,在列表項目外使用。

v-data:value

{index}

序數,在列表項內使用。

v-data:value

{item.name}

用戶名,在列表項內使用。

v-data:value

{one_of(‘管理員;工程師;操作員’, item.role)}

角色,在列表項內使用。

v-data:value

{item.memo}

備注,在列表項內使用。

6.3 命令綁定

綁定屬性

綁定規則

說明

v-on:click

{add}

添加 按鈕的點擊事件。

v-on:click

{edit}

編輯 按鈕的點擊事件。

v-on:click

{save}

保存 按鈕的點擊事件。

v-on:click

{reload}

重新加載 按鈕的點擊事件。

v-on:click

{set_selected}

列表項的點擊事件。

v-on:click

{remove, Args=selected_index, AutoDisable=false}

刪除按鈕的點擊事件。AutoDisable 一定要設置為 false,否則不能綁定 enable 屬性

為了不讓用戶刪除管理員用戶,可以設置刪除按鈕的 enable 屬性。綁定規則如下:

綁定屬性

綁定規則

說明

v-data:enable

{selected_index!=0}

當前選中的用戶不是管理員時,啟用本按鈕。

6.4 demo 參考界面

dbe63c1a-cedc-11ee-9118-92fbcf53809c.png

7. 創建用戶

user_manager 模型提供了一個 add 命令,用來創建用戶。如果支持創建用戶,需要提供一個創建用戶的界面,窗口的名字必須是 user_manager_add。

通過 new 參數可以設置默認數據。比如:

user_manager(new=' |1| | |');

7.1 模型

創建用戶的界面有自己的模型,代表當前創建的用戶。

它具有下面的屬性:

name 表示 username 用戶名。

role 表示 role 角色。

password 表示 password 密碼。

memo 表示 memo 備注。

它還提供了一個確認增加的命令。

add 命令。

7.2 數據綁定

綁定屬性

綁定規則

說明

v-data:value

{name, validator=username}

用戶名編輯器,內置數據校驗器 username,用于檢查用戶名的有效性(如是否重名)

v-data:value

{role}

角色編輯器

v-data:value

{password, Mode=OneWayToModel, ToModel=sha256(value)}

密碼編輯器

v-data:value

{memo}

備注編輯器

7.3 命令綁定

綁定屬性

綁定規則

說明

v-on:click

{add, CloseWindow=true}

確認按鈕的點擊事件。

7.4 demo 參考界面

dbf98a86-cedc-11ee-9118-92fbcf53809c.png

8. 編輯用戶

user_manager 模型提供了一個 edit 命令,用來編輯用戶。如果支持編輯用戶,需要提供一個編輯用戶的界面,窗口的名字必須是 user_manager_edit。

8.1 模型

編輯用戶的界面有自己的模型,代表當前編輯的用戶。它具有下面的屬性:

  • name 表示 username 用戶名。
  • role 表示 role 角色。
  • memo 表示 memo 備注。

不需要額外的命令。

8.2 數據綁定

綁定屬性

綁定規則

說明

v-data:value

{name}

用戶名編輯器

v-data:value

{role, Trigger=Explicit}

角色編輯器,為了方便取消,采用顯式更新

v-data:value

{memo, Trigger=Explicit}

備注編輯器,為了方便取消,采用顯式更新

8.3 命令綁定

綁定屬性

綁定規則

說明

v-on:click

{nothing, UpdateModel=true, CloseWindow=true}

確認按鈕的點擊事件。

v-on:click

{nothing, CloseWindow=true}

取消按鈕的點擊事件。

UpdateModel=true 表示更新模型,CloseWindow=true 表示關閉窗口。

8.4 demo 參考界面

dc0aca4e-cedc-11ee-9118-92fbcf53809c.png

9. 注意

本項目并沒有編寫界面相關的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒有用到,可以刪除也可以不用管它,但是不能加入編譯。

實際開發時,可以參考 demo_user_manager 演示項目,在的它 UI 文件上修改。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    4293

    瀏覽量

    46371
  • 串口屏
    +關注

    關注

    8

    文章

    626

    瀏覽量

    39652
  • awtk
    +關注

    關注

    0

    文章

    50

    瀏覽量

    528
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    EsDA科普 | AWTK:打造流暢、開源、跨平臺的嵌入式GUI

    工業GUI開發四大坑:界面卡、啟動慢、跨平臺難、版權貴。AWTK用純C語言+自研算法破局,一套代碼跑遍全平臺,100%開源免費,拖拽即得工業級交互界面。你的GUI開發是否遇到這些坑?在
    的頭像 發表于 04-09 11:35 ?204次閱讀
    EsDA科普 | <b class='flag-5'>AWTK</b>:打造流暢、<b class='flag-5'>開源</b>、跨平臺的嵌入式GUI

    51單片機驅動HMI串口串口的下載方式

    串口 串口是一個集成了單片機的屏幕模塊,采用的是TTL串口協議,可以直接通過對應指令控制屏幕, 本文采用的
    的頭像 發表于 03-17 11:44 ?271次閱讀
    51單片機驅動HMI<b class='flag-5'>串口</b><b class='flag-5'>屏</b>,<b class='flag-5'>串口</b><b class='flag-5'>屏</b>的下載方式

    KubePi:開源Kubernetes可視化管理面板,讓集群管理如此簡單

    同集群(Cluster)和命名空間(Namespace)的管理權限分配給指定用戶。這意味著: 開發人員 :可以管理集群中運行的應用程序并進行故障排查,而無需深入掌握復雜的Kuberne
    發表于 02-11 12:53

    STM32驅動串口,STM32F103C8T6串口發送指令控制HMI串口

    僅是一部分常用的基礎指令,更多更仔細的指令或者函數可以訪問陶晶馳資料官網。 硬件和接線 硬件需要一塊STM32F103C8T6的開發板,杜邦線諾干,2.4寸串口一塊 接線 串口
    的頭像 發表于 02-10 17:07 ?457次閱讀
    STM32驅動<b class='flag-5'>串口</b><b class='flag-5'>屏</b>,STM32F103C8T6<b class='flag-5'>串口</b>發送指令控制HMI<b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    電能質量在線監測裝置的權限管理如何保障數據安全?

    電能質量在線監測裝置的權限管理通過“事前權限隔離、事中操作管控、事后審計追溯”全流程機制保障數據安全,核心圍繞 “最小權限、分級授權、操作留痕” 三大原則,結合電力行業數據安全規范(如
    的頭像 發表于 12-10 17:03 ?1519次閱讀
    電能質量在線監測裝置的<b class='flag-5'>權限</b><b class='flag-5'>管理</b>如何保障數據安全?

    電能質量在線監測裝置支持多賬號權限管理嗎?

    是的,電能質量在線監測裝置普遍支持多賬號權限管理 ,且符合 DL/T 1297-2013《電能質量監測系統技術規范》的明確要求。 一、核心權限管理模式與架構 基于角色的
    的頭像 發表于 12-10 17:01 ?1313次閱讀
    電能質量在線監測裝置支持多賬號<b class='flag-5'>權限</b><b class='flag-5'>管理</b>嗎?

    2025開放原子開發者大會開源算力設備管理軟件分論壇即將啟幕

    數字浪潮,奔涌向前。算力設備的智能化管理開源技術的深度融合,正成為驅動行業變革的核心引擎。作為開源算力設備管理領域的新銳力量,openUBMC致力于通過
    的頭像 發表于 11-17 16:33 ?989次閱讀

    快速上手!帶你用LVGL工具完成樂鑫科技ESP32-S3 2.8寸串口UI開發!代碼完全開源

    酷炫的LVGL界面效果!本教程代碼全部開源!后臺私信關鍵詞“S3-2.8寸LVGL開發“自動獲取ESP32-S32.8寸串口LVGL
    的頭像 發表于 10-30 18:04 ?2277次閱讀
    快速上手!帶你用LVGL工具完成樂鑫科技ESP32-S3 2.8寸<b class='flag-5'>串口</b><b class='flag-5'>屏</b>UI<b class='flag-5'>開發</b>!代碼完全<b class='flag-5'>開源</b>!

    充電樁行業串口的實際應用。

    串口(又稱UART、智能串口)因其開發簡便、穩定性高、成本可控等特點,已成為充電樁人機交互
    發表于 09-02 10:43

    串口:重塑人機交互的開發革命

    據量傳輸的穩定性 實時響應:毫秒級觸控反饋,提供流暢的用戶體驗 開發效率的飛躍 與傳統開發方式相比,串口將界面
    發表于 08-28 14:56

    技術文章 | Ubuntu權限管理攻略

    前言:在Linux系統生態中,Ubuntu憑借其易用性和穩定性成為眾多開發者與企業的首選操作系統。而權限管理作為Ubuntu系統安全的核心支柱,直接決定了系統的穩定性、數據安全性和操作規范性。本文
    的頭像 發表于 08-14 12:02 ?1087次閱讀
    技術文章 | Ubuntu<b class='flag-5'>權限</b><b class='flag-5'>管理</b>攻略

    開源獲獎案例】AI智能交互新方案:基于T5L智能的AI DeepSeek大模型

    ——來自迪文開發者論壇本期為大家推送迪文開發者論壇獲獎開源案例——AI智能交互新方案:基于T5L智能的AIDeepSeek大模型。該方案通過T5L
    的頭像 發表于 07-12 09:02 ?1209次閱讀
    【<b class='flag-5'>開源</b>獲獎案例】AI智能交互新方案:基于T5L智能<b class='flag-5'>屏</b>的AI DeepSeek大模型

    開源獲獎案例】基于T5L智能的音樂播放與歌詞顯示方案

    ——來自迪文開發者論壇本期為大家推送迪文開發者論壇獲獎開源案例——基于T5L智能的音樂播放與歌詞顯示方案。該方案通過T5L串口與通用
    的頭像 發表于 05-08 09:52 ?930次閱讀
    【<b class='flag-5'>開源</b>獲獎案例】基于T5L智能<b class='flag-5'>屏</b>的音樂播放與歌詞顯示方案

    Linux權限管理基礎入門

    在Linux的廣闊天空中,權限管理猶如一只翱翔的雄鷹,掌控著系統的安全與秩序。掌握Linux權限,不僅能讓你的系統管理更加得心應手,還能有效防止未授權訪問和數據泄露。本文將帶你深入探索
    的頭像 發表于 05-06 13:44 ?882次閱讀
    Linux<b class='flag-5'>權限</b><b class='flag-5'>管理</b>基礎入門

    如何成為一名合格的KaihongOS北向應用開發工程師

    開發實踐:學習如何在應用開發中處理安全性和隱私問題。 權限管理:了解 KaihongOS 的安全模型和權限
    發表于 04-23 06:46