一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AWTK 開(kāi)源串口屏開(kāi)發(fā)(9) - 用戶和權(quán)限管理

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

掃碼添加小助手

加入工程師交流群

在AWTK串口屏中,內(nèi)置用戶管理和權(quán)限控制的模型,無(wú)需編碼即可實(shí)現(xiàn)登錄、登出、修改密碼、權(quán)限控制、創(chuàng)建用戶、刪除用戶等功能,本文介紹一下用戶管理和權(quán)限控制的基本用法。

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


1. 出廠默認(rèn)用戶

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

design/default/data/user_manager.csv

比如 demo 中的默認(rèn)用戶是:

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


2. 數(shù)據(jù)文件格式

用 CSV 格式的文件存儲(chǔ)用戶名和密碼,每行一個(gè)用戶,每行的格式如下:

  • 用戶名??梢允褂弥形?。
  • 角色。用來(lái)做實(shí)際的權(quán)限控制,怎么定義就怎么用。比如:0表示管理員,1 表操作員,2 表示維護(hù)員。
  • 密碼。使用 sha256 加密。
  • 備注。可以使用中文。

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

3. 用戶登錄

3.1 用戶登錄命令

當(dāng)啟用用戶管理時(shí),默認(rèn)模型 (default) 會(huì)提供一個(gè) login 的命令。

login 命令依賴兩個(gè)屬性:

login_username 登錄的用戶名。

  • login_password 登錄的密碼。

login 命令需要一個(gè)參數(shù),用來(lái)指定登錄成功后跳轉(zhuǎn)的目標(biāo)頁(yè)面。

3.2 數(shù)據(jù)綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-data:value

{login_username}

用戶名編輯器

v-data:value

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

密碼編輯器

Mode=OneWayToModel 表示單向綁定,只能從控件到模型,主要是因?yàn)槟P屠锏拿艽a是加密后的哈希值,不能反向綁定到控件。

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

3.3 命令綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-on:click

{login, Args=home_page}

登錄按鈕的點(diǎn)擊事件。home_page 是登錄成功后跳轉(zhuǎn)的頁(yè)面

3.4 demo 參考界面

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

4. 用戶登錄狀態(tài)

4.1 用戶登錄狀態(tài)

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

username 登錄的用戶名。

userrole 登錄的用戶角色。

userrole 是一個(gè)整數(shù),可以通過(guò) userrole 來(lái)控制權(quán)限。

4.2 數(shù)據(jù)綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-data:value

{username}

顯示當(dāng)前用名

v-data:value

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

顯示當(dāng)前的角色名

4.3 命令綁定

比如,只用管理員才能訪問(wèn)的頁(yè)面,可以通過(guò)下面的命令綁定來(lái)實(shí)現(xiàn):

綁定屬性

綁定規(guī)則

說(shuō)明

v-on:click

{navigate, Args=user_manager, AutoDisable=false}

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

v-data:enable

data:enable {userrole==0}

當(dāng)前角色為管理員時(shí),才啟用本按鈕

比如,只用管理員執(zhí)行某些命令,可以通過(guò)下面的命令綁定來(lái)實(shí)現(xiàn):

綁定屬性

綁定規(guī)則

說(shuō)明

v-on:click

{do_something, Args=xxx, AutoDisable=false}

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

v-data:enable

data:enable {userrole==0}

當(dāng)前角色為管理員時(shí),才啟用本按鈕

4.4 demo 參考界面

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

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

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

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

5. 修改密碼

5.1 修改密碼命令

當(dāng)啟用用戶管理時(shí),默認(rèn)模型 (default) 會(huì)提供一個(gè) change_password 的命令。change_password 命令依賴兩個(gè)屬性:

  • change_password 修改的密碼。
  • change_confirm_password 確認(rèn)修改的密碼。

change_password 命令不需要參數(shù)。

5.2 數(shù)據(jù)綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-data:value

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

密碼編輯器

v-data:value

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

確認(rèn)密碼編輯器

5.3 命令綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-on:click

{change_password, CloseWindow=true}

確認(rèn)按鈕的點(diǎn)擊事件。

5.4 demo 參考界面

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

6. 用戶管理

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

6.1 用戶管理命令

當(dāng)啟用用戶管理時(shí),用戶管理模型 (user_manager) 會(huì)提供一些命令。

add 添加用戶。

remove 刪除用戶。

edit 編輯用戶。

save 保存用戶。

reload 重新加載用戶。

set_selected 設(shè)置選中的用戶。

6.2 數(shù)據(jù)綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-data:value

{selected_index}

選中的用戶索引,在列表項(xiàng)目外使用。

v-data:value

{index}

序數(shù),在列表項(xiàng)內(nèi)使用。

v-data:value

{item.name}

用戶名,在列表項(xiàng)內(nèi)使用。

v-data:value

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

角色,在列表項(xiàng)內(nèi)使用。

v-data:value

{item.memo}

備注,在列表項(xiàng)內(nèi)使用。

6.3 命令綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-on:click

{add}

添加 按鈕的點(diǎn)擊事件。

v-on:click

{edit}

編輯 按鈕的點(diǎn)擊事件。

v-on:click

{save}

保存 按鈕的點(diǎn)擊事件。

v-on:click

{reload}

重新加載 按鈕的點(diǎn)擊事件。

v-on:click

{set_selected}

列表項(xiàng)的點(diǎn)擊事件。

v-on:click

{remove, Args=selected_index, AutoDisable=false}

刪除按鈕的點(diǎn)擊事件。AutoDisable 一定要設(shè)置為 false,否則不能綁定 enable 屬性。

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

綁定屬性

綁定規(guī)則

說(shuō)明

v-data:enable

{selected_index!=0}

當(dāng)前選中的用戶不是管理員時(shí),啟用本按鈕。

6.4 demo 參考界面

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

7. 創(chuàng)建用戶

user_manager 模型提供了一個(gè) add 命令,用來(lái)創(chuàng)建用戶。如果支持創(chuàng)建用戶,需要提供一個(gè)創(chuàng)建用戶的界面,窗口的名字必須是 user_manager_add。

通過(guò) new 參數(shù)可以設(shè)置默認(rèn)數(shù)據(jù)。比如:

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

7.1 模型

創(chuàng)建用戶的界面有自己的模型,代表當(dāng)前創(chuàng)建的用戶。

它具有下面的屬性:

name 表示 username 用戶名。

role 表示 role 角色。

password 表示 password 密碼。

memo 表示 memo 備注。

它還提供了一個(gè)確認(rèn)增加的命令。

add 命令。

7.2 數(shù)據(jù)綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-data:value

{name, validator=username}

用戶名編輯器,內(nèi)置數(shù)據(jù)校驗(yàn)器 username,用于檢查用戶名的有效性(如是否重名)

v-data:value

{role}

角色編輯器

v-data:value

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

密碼編輯器

v-data:value

{memo}

備注編輯器

7.3 命令綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-on:click

{add, CloseWindow=true}

確認(rèn)按鈕的點(diǎn)擊事件。

7.4 demo 參考界面

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

8. 編輯用戶

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

8.1 模型

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

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

不需要額外的命令。

8.2 數(shù)據(jù)綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-data:value

{name}

用戶名編輯器

v-data:value

{role, Trigger=Explicit}

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

v-data:value

{memo, Trigger=Explicit}

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

8.3 命令綁定

綁定屬性

綁定規(guī)則

說(shuō)明

v-on:click

{nothing, UpdateModel=true, CloseWindow=true}

確認(rèn)按鈕的點(diǎn)擊事件。

v-on:click

{nothing, CloseWindow=true}

取消按鈕的點(diǎn)擊事件。

UpdateModel=true 表示更新模型,CloseWindow=true 表示關(guān)閉窗口。

8.4 demo 參考界面

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

9. 注意

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

實(shí)際開(kāi)發(fā)時(shí),可以參考 demo_user_manager 演示項(xiàng)目,在的它 UI 文件上修改。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3688

    瀏覽量

    43830
  • 串口屏
    +關(guān)注

    關(guān)注

    8

    文章

    586

    瀏覽量

    38372
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    開(kāi)源獲獎(jiǎng)案例】基于T5L智能的音樂(lè)播放與歌詞顯示方案

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

    Linux權(quán)限管理基礎(chǔ)入門

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

    Linux權(quán)限管理解析

    權(quán)限指的是某一個(gè)用戶針對(duì)某一個(gè)文件的權(quán)限(root超級(jí)管理員擁有全部權(quán)限)
    的頭像 發(fā)表于 04-09 10:06 ?316次閱讀
    Linux<b class='flag-5'>權(quán)限</b><b class='flag-5'>管理</b>解析

    linux權(quán)限管理詳解

    權(quán)限:在計(jì)算機(jī)系統(tǒng)中,權(quán)限是指某個(gè)計(jì)算機(jī)用戶具有使用軟件資源的權(quán)利。
    的頭像 發(fā)表于 12-25 09:43 ?615次閱讀

    AWTK-WEB 快速入門(1) - C 語(yǔ)言應(yīng)用程序

    導(dǎo)讀AWTK可以使用相同的技術(shù)棧開(kāi)發(fā)各種平臺(tái)的應(yīng)用程序。有時(shí)我們需要使用Web界面與設(shè)備進(jìn)行交互,本文介紹一下如何使用C語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)用程序。用AWTKDesigner新建
    的頭像 發(fā)表于 11-27 11:46 ?716次閱讀
    <b class='flag-5'>AWTK</b>-WEB 快速入門(1) - C 語(yǔ)言應(yīng)用程序

    AWTK 最新動(dòng)態(tài):支持瀏覽器控件

    導(dǎo)讀AWTK瀏覽器控件,基于webview項(xiàng)目實(shí)現(xiàn),將瀏覽器嵌入到AWTK應(yīng)用程序中,讓開(kāi)發(fā)者可以方便的集成在線幫助和調(diào)用地圖等功能。awtk-widget-web-view是基于we
    的頭像 發(fā)表于 11-20 01:05 ?655次閱讀
    <b class='flag-5'>AWTK</b> 最新動(dòng)態(tài):支持瀏覽器控件

    AWTK使用經(jīng)驗(yàn)】如何使用系統(tǒng)輸入法與開(kāi)啟最大化窗口功能

    在Windows運(yùn)行的桌面程序。在使用AWTK開(kāi)發(fā)Windows平臺(tái)程序時(shí),有些用戶可能想使用系統(tǒng)自帶的輸入法,而不是AWTK內(nèi)置的輸入法。此時(shí)需要對(duì)項(xiàng)目應(yīng)用類型進(jìn)行一些設(shè)置
    的頭像 發(fā)表于 11-14 01:05 ?661次閱讀
    【<b class='flag-5'>AWTK</b>使用經(jīng)驗(yàn)】如何使用系統(tǒng)輸入法與開(kāi)啟最大化窗口功能

    串口支持哪些編程語(yǔ)言和開(kāi)發(fā)環(huán)境?

    串口作為一種常用的顯示和交互設(shè)備,支持多種編程語(yǔ)言和開(kāi)發(fā)環(huán)境。以下是對(duì)串口支持的編程語(yǔ)言和開(kāi)發(fā)
    的頭像 發(fā)表于 11-13 11:45 ?751次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>屏</b>支持哪些編程語(yǔ)言和<b class='flag-5'>開(kāi)發(fā)</b>環(huán)境?

    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(HarmonyOS Next)

    導(dǎo)讀HarmonyOS是全球第三大移動(dòng)操作系統(tǒng),有巨大的市場(chǎng)潛力,在國(guó)產(chǎn)替代的背景下,機(jī)會(huì)多多,AWTK支持HarmonyOS,讓AWTK開(kāi)發(fā)者也能享受HarmonyOS生態(tài)的紅利。AWTK
    的頭像 發(fā)表于 11-06 08:03 ?845次閱讀
    <b class='flag-5'>AWTK</b> 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(HarmonyOS Next)

    Linux用戶身份與進(jìn)程權(quán)限詳解

    在學(xué)習(xí) Linux 系統(tǒng)權(quán)限相關(guān)的主題時(shí),我們首先關(guān)注的基本都是文件的 ugo 權(quán)限。ugo 權(quán)限信息是文件的屬性,它指明了用戶與文件之間的關(guān)系。但是真正操作文件的卻是進(jìn)程,也就是說(shuō)
    的頭像 發(fā)表于 10-23 11:41 ?766次閱讀
    Linux<b class='flag-5'>用戶</b>身份與進(jìn)程<b class='flag-5'>權(quán)限</b>詳解

    AWTK使用經(jīng)驗(yàn)】如何在AWTK顯示阿拉伯文本

    AWTK是基于C語(yǔ)言開(kāi)發(fā)的跨平臺(tái)GUI框架。AWTK使用經(jīng)驗(yàn)系列文章將介紹開(kāi)發(fā)AWTK過(guò)程中一些常見(jiàn)問(wèn)題與解決方案,例如:如何播放視頻或攝像
    的頭像 發(fā)表于 09-12 08:07 ?695次閱讀
    【<b class='flag-5'>AWTK</b>使用經(jīng)驗(yàn)】如何在<b class='flag-5'>AWTK</b>顯示阿拉伯文本

    AWTK最新動(dòng)態(tài)】AWTK 1.8版本發(fā)布

    是什么AWTK全稱ToolkitAnyWhere,是ZLG開(kāi)發(fā)開(kāi)源GUI引擎,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和PC打造的通用GUI引擎,為用戶提供一
    的頭像 發(fā)表于 08-30 12:48 ?836次閱讀
    【<b class='flag-5'>AWTK</b>最新動(dòng)態(tài)】<b class='flag-5'>AWTK</b> 1.8版本發(fā)布

    AWTK使用經(jīng)驗(yàn)】如何更換AWTK SDK與渲染模式

    AWTK是基于C語(yǔ)言開(kāi)發(fā)的跨平臺(tái)GUI框架?!?b class='flag-5'>AWTK使用經(jīng)驗(yàn)》系列文章將介紹開(kāi)發(fā)AWTK過(guò)程中一些常見(jiàn)問(wèn)題與解決方案,例如:如何播放攝像頭
    的頭像 發(fā)表于 08-01 08:25 ?1556次閱讀
    【<b class='flag-5'>AWTK</b>使用經(jīng)驗(yàn)】如何更換<b class='flag-5'>AWTK</b> SDK與渲染模式

    開(kāi)源獲獎(jiǎng)案例】基于T5L智能的便攜功率計(jì)解決方案

    ——來(lái)自迪文開(kāi)發(fā)者論壇本期為大家推送迪文開(kāi)發(fā)者論壇獲獎(jiǎng)開(kāi)源案例——基于T5L智能的便攜功率計(jì)解決方案。該方案通過(guò)智能
    的頭像 發(fā)表于 08-01 08:13 ?706次閱讀
    【<b class='flag-5'>開(kāi)源</b>獲獎(jiǎng)案例】基于T5L智能<b class='flag-5'>屏</b>的便攜功率計(jì)解決方案

    迪文串口ModBus開(kāi)發(fā)流程

    這里接前一章節(jié),繼續(xù)迪文開(kāi)發(fā),前章主要講解基礎(chǔ)開(kāi)發(fā)流程,此章節(jié)開(kāi)始講解迪文ModBus協(xié)議棧的使用方法。前文指路:《迪文串口基礎(chǔ)GUI
    的頭像 發(fā)表于 07-19 08:21 ?1194次閱讀
    迪文<b class='flag-5'>串口</b><b class='flag-5'>屏</b>ModBus<b class='flag-5'>開(kāi)發(fā)</b>流程