Tôi có quyết định thiết kế để thực hiện cho một ứng dụng đặt hàng trực tuyến. Tôi tin rằng câu hỏi này dành cho nhà phát triển thương mại điện tử iOS/di động nâng cao hơn nhưng tôi luôn chào đón mọi người giúp đỡ.ios: Thiết kế giỏ hàng trong Ứng dụng iPhone
Tôi đang nghĩ đến việc cài đặt CMS như WordPress và thêm tính năng cắm giỏ hàng. Nếu tôi cần phải có các trang cụ thể trên thiết bị di động, thì tôi cũng sẽ tạo các trang đó, nếu tôi cần thực hiện một số cuộc gọi PHP nhất định, thì tôi cũng cần phải tùy chỉnh API cho nó. Trang thanh toán rõ ràng sẽ được thực hiện bằng cách sử dụng plugin thương mại điện tử. Điều này tất cả trông giống như 1-3 tháng làm việc, nhưng tôi sẽ TÌNH YÊU để bắt đầu trên con đường bên phải. Vì vậy, bất kỳ thông tin phản hồi hoặc hướng sẽ được nhiều đánh giá cao.
Ngay bây giờ, tôi phải đi đến quyết định về cách người dùng của mình sẽ xem sản phẩm và giỏ mua hàng từ iPhone của họ. Tôi đang nghĩ đến việc phát triển một ứng dụng iPhone để cho phép họ đặt hàng trực tuyến. Rõ ràng, ứng dụng sẽ không chỉ là trình bao bọc cho trang nhưng sẽ có các tính năng hữu ích khác ngoài chế độ xem sản phẩm và giỏ hàng.
Vì vậy, đây là câu hỏi:
Ứng dụng Tôi đang nghĩ đến việc là một ứng dụng UITabBar gồm hai quan điểm "sản phẩm" và "Giỏ hàng".
Tùy chọn 1 - Kiểm soát gốc với từng cá nhân HTTP
bài đăng để thêm sản phẩm vào ô tô và GET
để đọc từ giỏ hàng.
Quan điểm sản phẩm thực hiện một bản địa
UITableView
, từng hạng mục mở ra một Tuỳ chỉnhUITableViewCell
nơi người dùng có thể nhấn một nút nguồn gốc từ "Add" vào giỏ hàng. Khi nút "Thêm" được đẩy, mộtHTTP POST
được tạo bằng mã sản phẩm và số lượng và bằng cách nào đó nó được ghi vào giỏ hàng của máy chủ trong một phiên. Tôi vẫn cần phải tìm ra cách để có được một khóa phiên cho giỏ hàng (bất kỳ ý tưởng ở đây sẽ được MUCH đánh giá cao).Chế độ xem giỏ hàng cũng được triển khai hoàn toàn với giao diện người dùng gốc, tôi chưa tìm ra thứ tôi cần, nhưng nó sẽ truy xuất các mục hiện tại của Cart cho phiên người dùng và hiển thị nó. Rõ ràng, người dùng có thể sửa đổi các mục, thêm nhận xét, thay đổi số lượng, vv .. Điều này nghe như rất nhiều đau đầu nếu tôi cần tạo HTTP Posts mỗi khi có thay đổi trong Cart để đồng bộ hóa với giỏ hàng trên máy chủ, nhưng không bao giờ kém, CART được xem hoàn toàn trong giao diện người dùng gốc.
Tùy chọn 2 - Sản phẩm và giỏ hàng là chúng tôi trang có thể được xem và thao tác sử dụng UIWebViews
Quan điểm sản phẩm chỉ là một
UIWebView
mở ra một trang sản phẩm trước khi thực hiện trên trên trang web, trang rõ ràng phải thân thiện với thiết bị di động để có thể trông rất đẹp trên điện thoại. Khi người dùng nhấp vào mục, nó sẽ mở ra trang web sản phẩm chi tiết và người dùng sẽ có một nút web để nhấp, để thêm vào giỏ hàng. Tất nhiên, tôi có thể chặn các nhấp chuột này bằng cách sử dụng các cuộc gọi lại tiêu chuẩnUIWebView
và kiểm tra URL yêu cầu để tìm ra sản phẩm nào được nhấp vào.Chế độ xem giỏ hàng trong tab khác (
UIWebView
), sau khi được nhấp, sẽ thực hiện yêu cầu đến trang giỏ hàng của máy chủ để hiển thị giỏ hàng trong cùng một phiên. Tất nhiên, tôi cần tìm ra cách để có hai UIWebViews chia sẻ cùng một phiên để tôi có thể nhận được đúng giỏ hàng. Tôi vẫn chưa làm điều đó trong mã.
Tùy chọn 3 - Giữ quan điểm sản phẩm và giỏ hàng hoàn toàn trên điện thoại địa phương và chỉ đẩy ra trận chung kết "đặt hàng" đến máy chủ để làm theo thông qua các trang thanh toán
Tại bắt đầu ứng dụng, tôi tải xuống danh mục sản phẩm, đặt lại giỏ hàng địa phương và mô phỏng logic giỏ hàng trong ứng dụng. Khi người dùng sẵn sàng thanh toán, tôi thực hiện cuộc gọi cuối cùng đến trang thanh toán với tất cả các sản phẩm và số lượng được yêu cầu. Sau đó, người dùng sẽ theo dõi trang bằng các khoản thanh toán.
Vì người dùng cũng có thể sử dụng trang web để đặt hàng, tôi sẽ cần phải sao chép tất cả logic vào ứng dụng và xử lý giỏ hàng hoàn toàn từ bên trong ứng dụng. Cuối cùng "kiểm tra" cũng cần phải gửi mã sản phẩm chi tiết, với "ý kiến" đến trang thanh toán. tôi có đề cập đến quá trình đăng ký người dùng không?
- Những tùy chọn sẽ phù hợp tốt nhất về khả năng sử dụng, hiệu quả và kinh nghiệm người dùng?
- Làm cách nào để đồng bộ hóa hai chế độ xem nếu tôi đi với tùy chọn 2?
- Có bất kỳ giải pháp giỏ hàng nào có kinh nghiệm không?
Tại sao bạn không giữ dữ liệu giỏ hàng được lưu trữ cục bộ và đẩy tất cả cùng một lúc vào máy chủ khi bạn muốn đặt hàng? – mariusnn
Đó cũng là một tùy chọn khác, tuy nhiên, điều này có nghĩa là tôi sẽ cần phải sao chép logic nghiệp vụ cả trên web và trên ứng dụng. Khách hàng cũng có thể đặt hàng từ web. Tôi muốn giữ chúng tập trung vào web. Từ góc độ lập trình, phương pháp của bạn dễ dàng hơn nhiều và khi khởi chạy ứng dụng, tôi có thể tải xuống toàn bộ danh mục sản phẩm, hiển thị chúng và chỉ ở chế độ xem "thanh toán" cuối cùng đẩy các mục vào giỏ hàng và có UIWebView trợ giúp thanh toán bằng giỏ hàng tín dụng vì tất cả sẽ được điều khiển từ các plugin thương mại. – bendigi
Nếu bạn muốn tất cả được thực hiện tại máy chủ, sau đó bạn nên chỉ cần bọc trang web trong một cái nhìn web và để cho nó tất cả xảy ra trên máy chủ ... – mariusnn