Я занимаюсь разработкой приложения для Android, связанного с Woo-commerce. Я нажал API на Почтальоне, он добавил продукт и дал общий товар в корзине, но когда я нажал на тот же API с тем же параметром, я получил 0 товаров в корзине. Я добавляю товар через мобильное приложение. Я полностью сбит с толку. Я использую библиотеку залпа. Я подумал, что это происходит из-за кеша, поэтому я попытался очистить кеш, но получил тот же ответ в Json. Помоги мне. Нужно ли интегрировать Woo-commerce в Android. Если да, то как?
[Всего ответов почтальона в корзине ] [1]
JSON-ответ на Android Studio
Добавить в корзину: -
{"status": 1, "item_key": "c6a01432c8138d46ba39957a8250e027", "cart_content": {"products": [{"id": 3129, "title": "Тостер Surya Toast-O", "Кол-во": 1, "цена": "1195", "обычный_прием": "1495", "продажа_прайс": "1195", "изображение": "http://www.electrisia.com/wp-content/uploads/2015/11/Surya-10-Sizzle-10-L-SDL647886232-1-a142d16-200x150.jpg"}],"count":1,"line_count":1},"msg":"Product успешно добавлено в корзину"}
Всего товаров в корзине
{"status": 1, "Всего товаров в корзине": 0}
Я знаю, что woo-commerce управляет своего рода кешем для каждого пользователя на сайте, как у почтальона, каждый раз, когда я нажимаю добавить в корзину API, он автоматически добавляет товар в мою предыдущую корзину, а в мобильном - нет. каждый раз, когда я нажимаю добавить в корзину, я получаю 0 от общего количества товаров в корзине.
код всего товара в корзине: -
StringRequest request = new StringRequest(Request.Method.GET,TotalItemCart,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("Response",response);
ProgressUtils.cancelProgressDialog();
try {
JSONObject object = new JSONObject(response);
/* if(object.has("count"))
{
cartItemCount = object.getString("count");
tv.setText(cartItemCount);
}*/
if(object.has("status")) {
if (object.getInt("status") == 1) {
if(object.has("Total Items in a cart"))
{
cartItemCount = object.getString("Total Items in a cart");
tv.setText(cartItemCount);
}
}else {
Toast.makeText(ItemDescriptionActivity.this,"failed to add item",Toast.LENGTH_SHORT).show();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
ProgressUtils.cancelProgressDialog();
Toast.makeText(ItemDescriptionActivity.this, "Cart not updated", Toast.LENGTH_SHORT).show();
}
});
queue.add(request);
Добавить в корзину Почтальон ответа API
Добавить в корзину код
ProgressUtils.showProgressDialog(ItemDescriptionActivity.this);
StringRequest request = new StringRequest(Request.Method.POST,AppConstant.AddToCart,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("Response",response);
ProgressUtils.cancelProgressDialog();
if(response != null)
{
try {
JSONObject responseOBJ = new JSONObject(response);
if(responseOBJ.has("status"))
{
if(responseOBJ.getInt("status")==1)
{
Toast.makeText(ItemDescriptionActivity.this,"Item added successfully",Toast.LENGTH_SHORT).show();
ItemCartCount();
}else {
if(responseOBJ.has("msg"))
{
Toast.makeText(ItemDescriptionActivity.this,""+responseOBJ.getString("msg"),Toast.LENGTH_SHORT).show();
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
ProgressUtils.cancelProgressDialog();
Toast.makeText(ItemDescriptionActivity.this, "Someting went wrong...", Toast.LENGTH_SHORT).show();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("product_id", String.valueOf(AppConstant.Product_ID));
params.put("qty","1");
params.put("secret_key",sec_key);
return params;
}
//no semicolon or coma
};
queue.add(request);