Chức năng đăng nhập và đăng ký được thể hiện qua thành phần LogInFrame.
LogInFrame là một khung (Canvas) gồm các <mx:FormItem /> cho nhười dùng
đăng nhập hoặc đăng ký mới thành viên. LogInFrame sử dụng 2 trạng thái: trạng
thái ban đầu và trạng thái “Register” để thể hiện giao diện. Thành phần này sử dụng các dạng chuẩn hóa dữ liệu để kiểm tra sự hợp lệ của các trường như email, tên
Trong thành phần này có sử dụng kỹ thuật trao đổi dữ liệu với máy chủ thông qua WebService. Khi người dùng đăng nhập hay đăng ký, chương trình sẽ gọi các WebService cần thiết để kiểm tra thông tin và nạp dữ liệu, khởi tạo các đối tượng
cần thiết. Các WebServices sử dụng các đối tượng ADO.NET để truy xuất cơ sở dữ liệu được quản lý bởi SQL Server 2000. Chương trình sử dụng thành phần
WebService bằng cả hai cách: sử dụng MXML và sử dụng ActionScript. Đoạn mã sau khai báo thành phần WebService: WSAlbum và một số phương thức LoadAlbums, XacNhanDangNhap, DangKy, LoadAlbumsOnly bằng cú pháp MXML: <mx:WebService id="WSAlbum" wsdl="http://localhost/Hung/Service.asmx?wsdl" showBusyCursor="true"> <mx:operation name="LoadAlbums" result="AlbumServiceResultHandler(event)"/>
<mx:operation name="XacNhanDangNhap" result="DangNhap(event)"/> <mx:operation name="DangKy" result="DangKyHandling(event)"/> <mx:operation name="LoadAlbumsOnly"
result="HandlingWSResultAlbum(event)"/> </mx:WebService>
Sau khi khai báo thành phần WebService, ta có thể gọi hàm và thao tác trên kết quả
được trả về. Để gọi hàm ta sử dụng phương thức send(), với các tham số trong
send() là tham số truyền cho hàm cần gọi. Ví dụ để gọi LoadAlbums, ta có thể sử dụng:
WSAlbum.LoadAlbums.send(UserCode);
Kết quả trả về của hàm LoadAlbums được xử lý trong AlbumServiceResultHandler thông qua đối tượng thuộc tính result của một thể hiện ResultEvent, khai báo hàm này như sau:
private function HandlingWSResultAlbum(event:ResultEvent): void {
var AlbumsCollection: ArrayCollection = new ArrayCollection; var AlCollection:* = event.result.AlCo;
………………………. ………………………. }
Ta cũng có thể sử dụng ngơn ngữ AS để khai báo sử dụng WebService, đoạn mã sau khai báo WebService và gọi hàm LoadAlbums:
updateWS = new WebService();
updateWS.wsdl="http://localhost/Hung/Service.asmx?wsdl"; updateWS.LoadAlbums.addEventListener("result", HandlingWSResultAlbum); updateWS.loadWSDL(); updateWS.LoadAlbums (UserCode); 4.5.2. Màn hình đăng ký 5 4 3 2 1 6 7 Hình 11: Màn hình đăng ký
Mơ tả chi tiết màn hình:
STT Mô tả Ghi chú
1 Nhập tên người dùng mới. Sẽ báo lỗi nếu tên đã tồn tại. 2 Nhập mật khẩu người dùng.
3 Xác nhận lại mật khẩu. Sẽ báo lỗi nếu mật khẩu không khớp.
4 Họ và tên người dùng.
5 Email người dùng. Sẽ báo lỗi nếu email không hợp lệ.
6
Đăng ký người dùng mới
Nếu đăng ký thành công sẽ gọi đến màn
hình quản lý.
Kiểm tra các quy định và thông báo lỗi.
7 Quay lại màn hình đăng nhập.