1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu laravel framework và dịch vụ thanh toán trực tuyến paypal để xây dựng website thương mại điện tử cho công ty green sale

62 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 2,52 MB

Nội dung

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT - HÀN KHOA CÔNG NGHỆ THÔNG TIN  TRẦN KHÁNH LỘC NGHIÊN CỨU LARAVEL FRAMEWORK VÀ DỊCH VỤ THANH TOÁN TRỰC TUYẾN PAYPAL ĐỂ XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ CHO CÔNG TY GREEN SALE ĐỒ ÁN TỐT NGHIỆP NGÀNH: CƠNG NGHỆ THƠNG TIN NIÊN KHĨA: 2016 - 2019 Đà Nẵng, 06/2019 TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT - HÀN KHOA CÔNG NGHỆ THÔNG TIN  TRẦN KHÁNH LỘC MÃ HSSV: CCCT16B011 NGHIÊN CỨU LARAVEL FRAMEWORK VÀ DỊCH VỤ THANH TOÁN TRỰC TUYẾN PAYPAL ĐỂ XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ CHO CÔNG TY GREEN SALE ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN NIÊN KHÓA: 2016 - 2019 Cán hướng dẫn: ThS Trịnh Thị Ngọc Linh Đà Nẵng, 06/2019 LỜI C ƠN Trong trình thực đề tài chúng em cố gắng để tìm hiểu cài đặt chương trình lượng kiến thức có hạn nên chưa giải tất vấn đề đặt Hơn nữa, trình khảo sát đề tài hạn chế định, ảnh hưởng tới việc phân tích thiết kế hệ thống chưa tối ưu Em mong nhận thông cảm Thầy, Cô giáo Em xin ch n thành cảm ơn c Trịnh Thị Ng c inh g p giúp đ em suốt trình làm đề tài để em hồn thành tốt đ p tiến đ giao Em xin chân thành cảm ơn! i MỤC LỤC ỜI C N i MỤC LỤC ii DANH MỤC HÌNH NH v Ở ĐẦU 1 T nh cấp thiết đề tài ục ti u nghi n cứu Đối tượng phạm vi nghi n cứu Phương pháp nghi n cứu ngh a hoa h c thực ti n đề tài ố cục đề tài CHƯƠNG 1.1 CƠ SỞ L LUẬN LARAVEL FRAMEWORK .3 1.1.1 Framewor 1.1.2 aravel 1.1.3 Lịch sử đời 1.1.4 hình VC 1.1.5 Ưu nhược điểm .5 1.2 1.2.1 MICROSOFT SQL SERVER hái niệm 1.2.2 Lịch sử phát triển 1.2.3 Các thành phần .7 1.3 PHP .8 1.3.1 Mô tả PHP 1.3.2 Phiên PHP 1.4 HTML 10 1.4.1 HTML gì? .10 1.4.2 Bố cục HTML m t trang web 10 ii 1.4.3 Thẻ HTML 12 1.4.4 Trình duyệt Web 12 1.4.5 Thẻ 13 1.4.6 Công cụ code HTML 13 1.5 CSS .13 1.5.1 CSS gì? 13 1.5.2 Cấu trúc .13 1.6 PHƯ NG THỨC THANH TOÁN PAYPAL 14 CHƯƠNG 2.1 PH N T CH THIẾT Ế WEBSITE L G 15 T NG QUAN V Đ T I 15 2.1.1 Phát biểu toán 15 2.1.2 Y u cầu hệ thống 15 H NH H A Y U CẦU 16 2.2 2.2.1 Xác định tác nh n 16 2.2.2 Xác định trường hợp sử dụng .16 2.2.3 Đặc tả trường hợp sử dụng 16 2.2.4 iểu đ trường hợp sử dụng .22 2.2.5 iểu đ hoạt đ ng 24 H NH H I NIỆ .26 2.3 2.3.1 Các lớp bi n hệ thống 26 2.3.2 Các lớp điều hiển hệ thống .26 2.3.3 iểu đ lớp thực thể mức ph n t ch 27 H NH TƯ NG T C 28 2.4 2.4.1 iểu đ 28 2.4.2 iểu đ c ng tác 29 2.4.3 iểu đ trạng thái 30 CHƯƠNG 3.1 GIỚI THIỆU V WEBSITE 31 SỬ DỤNG ARAVE ĐỂ XẤY DỰNG WEBSITE .31 iii 3.1.1 Cài đặt công cụ 31 3.1.2 Cấu trúc .35 3.1.3 Các thư viện 37 3.2 HƯỚNG DẪN CÁCH MUA HÀNG VÀ THANH TOÁN 45 ẾT LUẬN 56 T I IỆU THA H O vi iv DANH MỤC HÌNH NH Hình 1.1 Lu ng VC .5 Hình 1.2 Bố cục HTML m t trang web 11 Hình 1.3 Hiển thị ngồi trình duyệt 12 Hình 2.1 Biểu đ trường hợp sử dụng hệ thống 22 Hình 2.2 Biểu đ trường hợp cập nhật sản phẩm 23 Hình 2.3 Biểu đ trường hợp toán .23 Hình 2.4 Biểu đ hoạt đ ng đăng nhập hệ thống 24 Hình 2.5 Biểu đ hoạt đ ng đăng thành vi n 24 Hình 2.6 Biểu đ hoạt đ ng tốn 25 Hình 2.7 Biểu đ hoạt đ ng xem thông tin giỏ hàng 25 Hình 2.8 Lớp biên hệ thống 26 Hình 2.9 Lớp điều khiển hệ thống 26 Hình 2.10 Biểu đ lớp 27 Hình 2.11 Biểu đ đăng nhập 28 Hình 2.12 Biểu đ tốn 28 Hình 2.13 Biểu đ c ng tác toán 29 Hình 2.14 Biểu đ c ng tác đăng nhập hệ thống 29 Hình 2.15 Biểu đ trạng thái đăng nhập .30 Hình 2.16 Biểu đ trạng thái toán .30 Hình 2.17 Biểu đ trạng thái tìm kiếm 30 Hình 3.1 Giao diện trang chủ .46 Hình 3.2 Giao diện chi tiết sản phẩm 47 Hình 3.3 Giao diện giỏ hàng 48 Hình 3.4 Giao diện đăng nhập, đăng 49 Hình 3.5 Giao diện toán 50 Hình 3.6 Giao diện xem lại đơn hàng 51 Hình 3.7 Giao diện tốn lúc giao hàng 52 Hình 3.8 Giao diện tốn trực tuyến 53 v Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Ở ĐẦU T h ấ h Với số lượng hách hàng lúc m t tăng đơn hàng trở n n dày đặc Nên nhu cầu cần đến m t website thương mại điện tử sử dụng dịch vụ toán trực tuyến m t cách v hiệu để quản l việc mua bán, toán trực tuyến chăm s c hách hàng doanh nghiệp c ng ty thương mại n cạnh đ m t framewor hỗ trợ nhiều thư viện để giúp việc x y dựng website d dàng đ ch nh aravel framewor Xuất phát từ l đ , em ch n đề tài: “Nghi n cứu Laravel framwork sử dụng toán trực tuyến Paypal để x y dựng website thương mại điện tử cho C ng ty Green Sale” h Tìm hiểu c ng nghệ lập trình web:  Tìm hiểu framewor php aravel  Nguy n l hoạt đ ng m t ứng dụng web lập trình từ framework aravel  Các c ng nghệ lập trình hệ thống tr n website: ng n ngữ Php  Dịch vụ toán Paypal Đ h h a i tư ng nghi n cứu - Ng n ngữ Php, Laravel Framework - Công cụ lập trình: Sublime Text 3, Xampp - Các thư viện aravel framewor igration, Seeder, Auth, - Dịch vụ toán trực tuyến Paypal b Phạm vi nghi n cứu - Đề tài ch dừng phạm mua hàng toán trực tuyến Paypal Phư h h - Tìm hiểu, nghi n cứu aravel Framewor dựa vào tài liệu tr n mạng Internet - Thực đề tài hướng dẫn trực tiếp giảng vi n tự tìm hiểu th m dựa vào tài liệu tr n mạng h h họ hự - Website thương mại điện tử Green Sale m t website tạo để phục vụ việc mua bán loại sản phẩm cửa hàng tr n mạng Internet - Hệ thống s đáp ứng m t số y u cầu: SVTH: Trần Khánh Lộc – Lớp CCCT16B Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale  Mua loại sản phẩm cửa hàng qua mạng Internet  Thanh toán trực tuyến qua Paypal toán trực tiếp hi nhận sản phẩm B áo cáo trình bày bao g m phần ch nh sau: Chương Cơ sở l luận Chương Ph n t ch thiết ế website gì? Chương Website gì? SVTH: Trần Khánh Lộc – Lớp CCCT16B Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale CHƯƠNG : CƠ SỞ L LUẬN 1.1 LARAVEL FRAMEWORK 1.1.1 Framework lớp xây dựng hoàn ch nh, b để phát triển phần mềm ứng dụng Có thể v Framewor tập “ Vật liệu” l nh vực cho người lập trình viên, thay h phải nhiều thời gian để tự thiết kế trước dùng Do vậy, người lập trình viên ch cần tìm hiểu khai thác vật liệu r i thực để gắn kết chúng lại với nhau, tạo sản phẩm 1.1.2 L Laravel m t php framework mã ngu n mở mi n ph , phát triển Taylor Otwell nhắm mục tiêu hỗ trợ phát triển ứng dụng web theo cấu trúc model- view- controller (MVC) Những t nh bật Laravel bao g m cú pháp d hiểu- rõ ràng, m t hệ thống đ ng g i odular quản lý gói phụ thu c, nhiều cách hác để truy cập vào sở liệu quan hệ, nhiều tiện ích khác hỗ trợ việc triển khai vào bảo trì ứng dụng 1.1.3 Lịch sử ời ản aravel beta đầu ti n phát hành vào ngày 9/6/2011, tiếp đ Laravel phát hành tháng aravel bao g m t nh xác thực, địa h a, model, view, session, định tuyến cấu hác, thiếu controller, điều làm n chưa thật m t VC framewor ngh a Laravel phát hành vào tháng năm 2011, mang đến nhiều cài tiến từ tác giả c ng đ ng T nh đáng ể bao g m hỗ trợ controller, điều thực biến aravel thành m t VC framewor hoàn ch nh, hỗ trợ Inversion of Control (IoC), hệ thống template lade n cạnh đ , c m t nhược điểm hỗ trợ cho g i nhà phát triển b n thứ bị g bỏ Laravel phát hành vào tháng năm 2012, với m t t nh bao g m giao diện dòng lệnh (C I) t n “Artisan”, hỗ trợ nhiều cho hệ thống quản trị sở liệu, chức ánh xạ sở liệu igration, hỗ trợ “bắt iện” ứng dụng, hệ thống quản l g i g i “ undles” ượng người dùng phổ biến tăng trưởng mạnh ể từ phi n aravel Laravel 4, t n mã “Illuminate”, phát hành vào tháng năm 2013 ần thực sự l t xác aravel framewor , di chuyển tái cấu trúc g i hỗ trợ vào m t tập ph n phối th ng qua Composer, m t chương trình quản l g i thư SVTH: Trần Khánh Lộc – Lớp CCCT16B Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale // Initialize the library with the // path to the wkhtmltopdf binary: $snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); // Display the resulting pdf in the browser // by setting the Content-type header to pdf: header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename="file.pdf"'); echo $snappy->getOutput('http://www.github.com'); 3.1.3.7 Idiorm – Lightweight ORM Library Idiorm m t thư viện ORM nh m t truy vấn cho PHP5 xây dựng dựa PDO Với nó, bạn quên cách viết tẻ nhạt SQL: $user = ORM::for_table('user') ->where_equal('username', 'j4mie') ->find_one(); $user->first_name = 'Jamie'; $user->save(); $tweets = ORM::for_table('tweet') ->select('tweet.*') ->join('user', array( 'user.id', '=', 'tweet.user_id' )) ->where_equal('user.username', 'j4mie') ->find_many(); foreach ($tweets as $tweet) {echo $tweet->text;} 3.1.3.8 Underscore – PHP’ Ut l ty B lt Underscore m t cổng Underscore.js - vành đai tiện ích cho ứng dụng SVTH: Trần Khánh Lộc – Lớp CCCT16B 41 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale JavaScript Phiên PHP h ng làm cho thất v ng mà n hỗ trợ cho gần tất chức gốc M t số ví dụ: ::each(array(1, 2, 3), function($num) { echo $num ','; }); // 1,2,3, $multiplier = 2; ::each(array(1, 2, 3), function($num, $index) use ($multiplier) { echo $index '=' ($num * $multiplier) ','; }); // prints: 0=2,1=4,2=6, ::reduce(array(1, 2, 3), function($memo, $num) { return $memo + $num; }, 0); // ::find(array(1, 2, 3, 4), function($num) { return $num % === 0; }); // ::filter(array(1, 2, 3, 4), function($num) { return $num % === 0; }); // array(2, 4) Thư viện hỗ trợ cho chuỗi, khơng cịn làm cho chí cịn mạnh m 3.1.3.9 Dispatch – Micro Framework Dispatch m t PHP framework nhỏ Nó cung cấp cho bạn m t thiết lập MVC đầy đủ, c thể định ngh a quy định UR phương pháp tốt ứng dụng bạn Hoàn hảo cho API, trang web đơn giản nguyên mẫu: // include the library include 'dispatch.php'; // define your routes get('/greet', function () { // render a view render('greet-form'); }); // post handler post('/greet', function () { $name = from($_POST, 'name'); SVTH: Trần Khánh Lộc – Lớp CCCT16B 42 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale // render a view while passing some locals render('greet-show', array('name' => $name)); }); // serve your site dispatch(); Nếu kết hợp với m t số frameworks đ y, bạn có m t thiết lập thực mạnh m vô nh ! 3.1.3.10 Buzz – Simple HTTP Requests Library Buzz m t thư viện PHP cho HTTP requests Đ y m t ví dụ: $request = new Buzz\Message\Request('HEAD', '/', 'http://google.com'); $response = new Buzz\Message\Response(); $client = new Buzz\Client\FileGetContents(); $client->send($request, $response); echo $request; echo $response; 3.1.3.11 Validation – Input Validation Engine Validation công cụ xác nhận tuyệt vời tạo cho PHP Nhưng cung cấp gì? use Respect\Validation\Validator as v; // Simple Validation $number = 123; v::numeric()->validate($number); //true // Chained Validation $usernameValidator = v::alnum()->noWhitespace()->length(1,15); $usernameValidator->validate('alganet'); //true // Validating Object Attributes $user = new stdClass; $user->name = 'Alexandre'; $user->birthdate = '1987-07-01'; SVTH: Trần Khánh Lộc – Lớp CCCT16B 43 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale // Validate its attributes in a single chain: $userValidator = v::attribute('name', v::string()->length(1,32)) ->attribute('birthdate', v::date()->minimumAge(18)); Với thư viện này, bạn xác nhận liệu người dùng gửi Ngồi ra, hỗ trợ m t số lượng lớn kiểm tra có, ngoại lệ thơng báo lỗi tùy ch nh 3.1.3.12 Filterus – Filtering Library Filterus m t thư viện b l c, n c thể xác định đàu vào b l c để phù hợp với m t m hình định sẵn Đ y m t ví dụ: $f = Filter::factory('string,max:5'); $str = 'This is a test string'; $f->validate($str); // false $f->filter($str); // 'This ' Filterus có nhiều mơ hình tích hợp, hỗ trợ chuỗi chí xác nhận phần tử mảng với quy tắc xác nhận cá nhân 3.1.3.13 Upload – For Handing File Uploads Upload m t thư viện đơn giản hóa tập tin tải lên xác nhận Khi m t mẫu gửi, thư viện kiểm tra loại tập tin ch thước Nó giúp tiết kiệm nhiều dòng code $storage = new \Upload\Storage\FileSystem('/path/to/directory'); $file = new \Upload\File('foo', $storage); // Validate file upload $file->addValidations(array( // Ensure file is of type "image/png" new \Upload\Validation\Mimetype('image/png'), // Ensure file is no larger than 5M (use "B", "K", M", or "G") new \Upload\Validation\Size('5M') )); // Try to upload file try { // Success! SVTH: Trần Khánh Lộc – Lớp CCCT16B 44 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale $file->upload(); } catch (\Exception $e) { // Fail! $errors = $file->getErrors(); } 3.1.3.14 PHP Geo – Geo Location Library PHPGEO m t thư viện đơn giản để tính tốn khoảng cách t a đ địa lý với đ xác cao Ví dụ: use Location\Coordinate; use Location\Distance\Vincenty; $coordinate1 = new Coordinate(19.820664, -155.468066); // Mauna Kea Summit $coordinate2 = new Coordinate(20.709722, -156.253333); // Haleakala Summit $calculator = new Vincenty(); $distance = $calculator->getDistance($coordinate1, $coordinate2); // returns 128130.850 (meters; ≈128 ilometers) Điều s làm việc tốt ứng dụng có sử dụng liệu vị tr Để c t a đ , bạn sử dụng HTML5 từ API, API Yahoo 3.2 HƯỚNG DẪN CÁCH MUA HÀNG VÀ THANH TỐN Vì website chưa up l n tr n server nên bạn ch truy cập local Để vào website bạn phải đảm bảo bạn chạy Xampp (Apache, MySql), cài đặt composer laravel framework Sau đ thực bước sau: ước Truy cập vào localhost/sale/public/ s xuất trang chủ website SVTH: Trần Khánh Lộc – Lớp CCCT16B 45 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.1 Giao diện trang chủ ước Ch n m t sản phẩm xem cách ch n vào View Product ch n vào hình ảnh sản phẩm ước Sau ch n View Product, s xuất trang chi tiết sản phẩm Sau đ , ch n kích c (size), số lượng (quantity) cuối ch n Add To Cart để thêm sản phẩm vào giỏ hàng SVTH: Trần Khánh Lộc – Lớp CCCT16B 46 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình Giao diện chi tiết sản phẩm ước Nhấn Home để trở lại mua thêm sản phẩm muốn mua thêm sản phẩm vào giỏ hàng Nếu không ch n Cart tr n đầu trang ước Sau ch n Cart, s hiển thị trang giỏ hàng (nơi chứa sản phẩm bạn mua), đ y bạn ch nh sửa số lượng sản phẩm xóa sản phẩm giỏ hàng bạn Nếu bạn có mã Coupon nhập vào sau đ ch n Apply, khơng ch n Check Out sau kiểm tra số lượng tổng tiền sản phẩm SVTH: Trần Khánh Lộc – Lớp CCCT16B 47 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Cơng ty Green Sale Hình 3.3 Giao diện giỏ hàng ước Sau ch n Check Out, chưa đăng nhập s xuất trang đăng nhập Nếu bạn chưa c tài hoản tạo tài khoản mới, c r i bạn ch cần đăng nhập hi đăng nhập thành cơng s trở lại trang giỏ hàng để tiếp tục mua hàng, ngược lại bạn phải đăng nhập lại Ch n lại Check Out, để chuyển qua trang toán SVTH: Trần Khánh Lộc – Lớp CCCT16B 48 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.4 Giao diện đăng nhập, đăng ký ước Sau chuyển qua trang toán, bạn điền th ng tin đầy đủ vào Billing To Shipping To, người nhận giống người toán ch n vào Shipping address same as Billing address SVTH: Trần Khánh Lộc – Lớp CCCT16B 49 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Cơng ty Green Sale Hình 3.5 Giao diện tốn ước Sau kiểm tra xong tồn b thơng tin ch n Check Out chuyển sang trang xem lại đơn hàng Sau hi iểm tra thông tin ch n hình thức tốn SVTH: Trần Khánh Lộc – Lớp CCCT16B 50 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.6 Giao diện xem lại đơn hàng ước Nếu ch n Cash On Delivery ch n Order chuyển sang trang tốn giao hàng Tại trang s có thơng tin email số điện thoại người mua hàng Qua th ng tin tr n mà người giao hàng liên lạc với người mua để giao hàng toán SVTH: Trần Khánh Lộc – Lớp CCCT16B 51 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.7 Giao diện tốn lúc giao hàng ước Nếu ch n Paypal chuyển sang trang toán trực tuyến Tại trang s có thơng tin tổng tiền phải trả Sau kiểm tra tổng số tiền phải trả ch n Buy Now SVTH: Trần Khánh Lộc – Lớp CCCT16B 52 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Cơng ty Green Sale Hình 3.8 Giao diện toán trực tuyến ước 10 Sau ch n Buy Now, chuyển qua trang đăng nhập Paypal Nếu bạn chưa c tài hoản Paypal phải tạo tài khoản để tốn, bạn có tài khoản ch cần đăng nhập SVTH: Trần Khánh Lộc – Lớp CCCT16B 53 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale ước 10 hi đăng nhập thành cơng, bạn s chuyển đến trang ch n thẻ để toán Sau ch n thẻ ch n Continue ước 11 Sau ch n Continue¸ trang ch n địa ch xác nhận lại thẻ toán Sau kiểm tra thông tin, ch n Pay Now SVTH: Trần Khánh Lộc – Lớp CCCT16B 54 Nghiên cứu Laravel Framework dịch vụ toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale ước 12 Sau ch n Pay Now chuyển sang trang tốn thành cơng Vậy bạn c thể hoàn tất mua hàng website chúng tơi Vừa tiết kiệm thời gian, chi phí mà cịn tiện lợi cho bạn SVTH: Trần Khánh Lộc – Lớp CCCT16B 55

Ngày đăng: 26/05/2023, 16:19

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w