

design/default/data/user_manager.csv比如 demo 中的默認用戶是:
admin|0|8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918|管理員(默認密碼:admin)在后面的數據綁定中,name 表示用戶名,role 表示角色,password 表示密碼,memo 表示備注。
login 命令依賴兩個屬性:
login_username 登錄的用戶名。
login 命令需要一個參數,用來指定登錄成功后跳轉的目標頁面。
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {login_username} | 用戶名編輯器 |
v-data:value | {login_password, Mode=OneWayToModel, ToModel=sha256(value)} | 密碼編輯器 |
Mode=OneWayToModel 表示單向綁定,只能從控件到模型,主要是因為模型里的密碼是加密后的哈希值,不能反向綁定到控件。
表示將控件輸入的數據使用 sha256 加密后,再賦值給模型。
綁定屬性 | 綁定規則 | 說明 |
v-on:click | {login, Args=home_page} | 登錄按鈕的點擊事件。home_page 是登錄成功后跳轉的頁面 |

用戶登錄成功后,會在默認模型 (default) 中提供兩個變量:
username 登錄的用戶名。
userrole 登錄的用戶角色。
userrole 是一個整數,可以通過 userrole 來控制權限。
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {username} | 顯示當前用名 |
v-data:value | {one_of(‘管理員;工程師;操作員’, userrole)} | 顯示當前的角色名 |
比如,只用管理員才能訪問的頁面,可以通過下面的命令綁定來實現:
綁定屬性 | 綁定規則 | 說明 |
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}? ?? | 當前角色為管理員時,才啟用本按鈕 |
管理員界面,全部功能可用。

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

綁定屬性 | 綁定規則 | 說明 |
v-data:value | {change_password, Mode=OneWayToModel, ToModel=sha256(value)} | 密碼編輯器 |
v-data:value | {change_confirm_password, Mode=OneWayToModel, ToModel=sha256(value)} | 確認密碼編輯器 |
綁定屬性 | 綁定規則 | 說明 |
v-on:click | {change_password, CloseWindow=true} | 確認按鈕的點擊事件。 |

當啟用用戶管理時,用戶管理模型 (user_manager) 會提供一些命令。
add 添加用戶。
remove 刪除用戶。
edit 編輯用戶。
save 保存用戶。
reload 重新加載用戶。
set_selected 設置選中的用戶。
綁定屬性 | 綁定規則 | 說明 |
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} | 備注,在列表項內使用。 |
綁定屬性 | 綁定規則 | 說明 |
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} | 當前選中的用戶不是管理員時,啟用本按鈕。 |

user_manager 模型提供了一個 add 命令,用來創建用戶。如果支持創建用戶,需要提供一個創建用戶的界面,窗口的名字必須是 user_manager_add。
user_manager(new=' |1| | |');創建用戶的界面有自己的模型,代表當前創建的用戶。
它具有下面的屬性:
name 表示 username 用戶名。
role 表示 role 角色。
password 表示 password 密碼。
memo 表示 memo 備注。
它還提供了一個確認增加的命令。
add 命令。
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {name, validator=username} | 用戶名編輯器,內置數據校驗器 username,用于檢查用戶名的有效性(如是否重名) |
v-data:value | {role} | 角色編輯器 |
v-data:value | {password, Mode=OneWayToModel, ToModel=sha256(value)} | 密碼編輯器 |
v-data:value | {memo} | 備注編輯器 |
綁定屬性 | 綁定規則 | 說明 |
v-on:click | {add, CloseWindow=true} | 確認按鈕的點擊事件。 |

綁定屬性 | 綁定規則 | 說明 |
v-data:value | {name} | 用戶名編輯器 |
v-data:value | {role, Trigger=Explicit} | 角色編輯器,為了方便取消,采用顯式更新 |
v-data:value | {memo, Trigger=Explicit} | 備注編輯器,為了方便取消,采用顯式更新 |
綁定屬性 | 綁定規則 | 說明 |
v-on:click | {nothing, UpdateModel=true, CloseWindow=true} | 確認按鈕的點擊事件。 |
v-on:click | {nothing, CloseWindow=true} | 取消按鈕的點擊事件。 |
UpdateModel=true 表示更新模型,CloseWindow=true 表示關閉窗口。

本項目并沒有編寫界面相關的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒有用到,可以刪除也可以不用管它,但是不能加入編譯。
實際開發時,可以參考 demo_user_manager 演示項目,在的它 UI 文件上修改。
??產品推薦
??技術交流群
更多往期文章,請點擊“?閱讀原文?”。






