Переглянути джерело

Merge branch 'refs/heads/xiaolu' into master

# Conflicts:
#	ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlatformDataScopeInterceptor.java
肖路 4 місяців тому
батько
коміт
cbe7701362
100 змінених файлів з 13254 додано та 30 видалено
  1. 35 0
      ruoyi-api/ruoyi-api-customer/src/main/java/org/dromara/customer/api/RemoteErpCustomerService.java
  2. 18 0
      ruoyi-api/ruoyi-api-customer/src/main/java/org/dromara/customer/api/erp/domain/ErpCompanyScaleData.java
  3. 18 0
      ruoyi-api/ruoyi-api-customer/src/main/java/org/dromara/customer/api/erp/domain/ErpIndustryData.java
  4. 26 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpBank.java
  5. 22 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpBrand.java
  6. 24 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCity.java
  7. 23 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCompanyScale.java
  8. 21 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCountry.java
  9. 25 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCustomer.java
  10. 21 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCustomerGrade.java
  11. 47 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCustomerSalesPriceList.java
  12. 23 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCustomerType.java
  13. 28 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpDepartment.java
  14. 24 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpDistrict.java
  15. 21 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpExpense.java
  16. 21 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpExpress.java
  17. 21 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpIncomeApplication.java
  18. 23 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpIncomeExpenseType.java
  19. 23 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpIndustry.java
  20. 27 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpPerson.java
  21. 21 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpPosition.java
  22. 24 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpProductCategory.java
  23. 22 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpProvince.java
  24. 28 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSalesDelivery.java
  25. 22 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSalesOrder.java
  26. 46 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSalesPriceList.java
  27. 22 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSalesReturnApplication.java
  28. 21 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSupplierType.java
  29. 22 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpTaxCode.java
  30. 23 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpUnit.java
  31. 23 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpWarehouse.java
  32. 47 0
      ruoyi-api/ruoyi-api-product/src/main/java/org/dromara/product/api/RemoteErpProductService.java
  33. 18 0
      ruoyi-api/ruoyi-api-product/src/main/java/org/dromara/product/api/erp/domain/ErpBrandData.java
  34. 19 0
      ruoyi-api/ruoyi-api-product/src/main/java/org/dromara/product/api/erp/domain/ErpProductCategoryData.java
  35. 18 0
      ruoyi-api/ruoyi-api-product/src/main/java/org/dromara/product/api/erp/domain/ErpUnitData.java
  36. 165 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteErpSystemService.java
  37. 21 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpBankData.java
  38. 19 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCityData.java
  39. 39 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCompanyData.java
  40. 17 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCountryData.java
  41. 16 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCustomerGradeData.java
  42. 18 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCustomerTypeData.java
  43. 24 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpDepartmentData.java
  44. 19 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpDistrictData.java
  45. 16 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpExpressData.java
  46. 19 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpIncomeExpenseTypeData.java
  47. 18 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpPersonData.java
  48. 17 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpPositionData.java
  49. 17 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpProvinceData.java
  50. 16 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpSupplierTypeData.java
  51. 18 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpTaxCodeData.java
  52. 18 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpWarehouseData.java
  53. 7 7
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/SupplierInfoController.java
  54. 73 0
      ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/dubbo/RemoteErpCustomerServiceImpl.java
  55. 5 0
      ruoyi-modules/ruoyi-external/pom.xml
  56. 580 6
      ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/controller/erp/ErpPullController.java
  57. 17 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/RuoyiMallApplication.java
  58. 12 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/NsDiyPageController.java
  59. 9 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/INsDiyPageService.java
  60. 194 16
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/NsDiyPageServiceImpl.java
  61. 1 1
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/NsDiyRouteServiceImpl.java
  62. 54 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/account_change_type.json
  63. 6 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/account_type.json
  64. 29 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/adminapp/app.json
  65. 7 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/adminapp/app_group.json
  66. 44 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/adminapp/stat.json
  67. 30 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/adminapp/todo.json
  68. 2 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/adv_position.json
  69. 66 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/bottom.json
  70. 59 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/bottom_site.json
  71. 1009 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/components.json
  72. 190 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/links.json
  73. 4592 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/pages.json
  74. 28 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/template.json
  75. 97 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/theme_color.json
  76. 80 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/web_link.json
  77. 413 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy_form/template.json
  78. 16 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy_form/type.json
  79. 991 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/export/ExportType.json
  80. 367 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/express_company.json
  81. 5 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/goods/goods_source.json
  82. 110 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/init_mall_data.json
  83. 16 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/member/benefits.json
  84. 25 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/member/gift.json
  85. 31 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/member/growth_rule.json
  86. 21 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/member/point_rule.json
  87. 688 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/menu/admin.json
  88. 926 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/menu/site.json
  89. 61 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/notice/notice.json
  90. 14 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/notice/sms.json
  91. 122 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/notice/weapp.json
  92. 100 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/notice/wechat.json
  93. 68 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/poster/components.json
  94. 348 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/poster/template.json
  95. 9 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/poster/type.json
  96. 298 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/printer/printer.json
  97. 9 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/recharge/package_gift.json
  98. 68 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/schedule.json
  99. 3 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/separ_trade_type.json
  100. 10 0
      ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/shop_coupon/coupon_receive_type.json

+ 35 - 0
ruoyi-api/ruoyi-api-customer/src/main/java/org/dromara/customer/api/RemoteErpCustomerService.java

@@ -0,0 +1,35 @@
+package org.dromara.customer.api;
+
+import org.dromara.customer.api.erp.domain.*;
+
+import java.util.Map;
+
+/**
+ * erp客户服务
+ * @author
+ * @date 2026/1/23 下午6:18
+ */
+public interface RemoteErpCustomerService {
+
+    /**
+    * 同步企业规模
+    * */
+    Boolean syncCompanyScale(ErpCompanyScaleData companyScale);
+
+    /**
+    * 删除企业规模
+    * */
+    Boolean deleteCompanyScale(ErpCompanyScaleData companyScale);
+
+
+
+    /**
+    * 同步行业类别
+    * */
+    Boolean syncIndustry(ErpIndustryData industry);
+    /**
+    * 删除行业类别
+    * */
+    Boolean deleteIndustry(ErpIndustryData industry);
+
+}

+ 18 - 0
ruoyi-api/ruoyi-api-customer/src/main/java/org/dromara/customer/api/erp/domain/ErpCompanyScaleData.java

@@ -0,0 +1,18 @@
+package org.dromara.customer.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:13
+ */
+@Data
+public class ErpCompanyScaleData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Long ValidityFromDate; // 有效期从(时间戳,单位通常为毫秒)
+    private Long ValidityToDate;   // 有效期至(时间戳)
+    private String CropSclId;      // 编码(如 "SMALL", "MEDIUM", "LARGE")
+    private String CropSclNm;      // 名称(如 "小型企业", "中型企业", "大型企业")
+}

+ 18 - 0
ruoyi-api/ruoyi-api-customer/src/main/java/org/dromara/customer/api/erp/domain/ErpIndustryData.java

@@ -0,0 +1,18 @@
+package org.dromara.customer.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:28
+ */
+@Data
+public class ErpIndustryData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String InduId;             // 编码(如 "IT", "FINANCE", "MANUFACTURE")
+    private String InduNm;             // 名称(如 "信息技术", "金融", "制造业")
+    private Long ValidityFromDate;     // 有效期从(时间戳)
+    private Long ValidityToDate;       // 有效期至(时间戳)
+}

+ 26 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpBank.java

@@ -0,0 +1,26 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 银行主数据实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpBank implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComBn comBn; // 顶层字段名,与 JSON 中的 "comBn" 一致
+
+    @Data
+    public static class ComBn {
+        private String BnAddr;     // 银行地址
+        private String BnCatgId;   // 银行类别(关联银行类别主数据)
+        private String FaxNo;      // 传真
+        private String Remark;     // 备注
+        private String TelNo;      // 联系电话
+        private String BnId;       // 编号(如 "ICBC", "BOC", "BNK001")
+        private String BnNm;       // 名称(如 "中国工商银行", "Bank of China")
+    }
+}

+ 22 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpBrand.java

@@ -0,0 +1,22 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 品牌资料实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpBrand implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComTradMrkDt comTradMrkDt; // 顶层字段名,与 JSON 中的 "comTradMrkDt" 一致
+
+    @Data
+    public static class ComTradMrkDt {
+        private String MnemonicId;  // 助记码(如 "APPL", "HW")
+        private String TradMrkId;   // 编码(品牌唯一标识)
+        private String TradMrkNm;   // 名称(如 "Apple", "华为")
+    }
+}

+ 24 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCity.java

@@ -0,0 +1,24 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 城市信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpCity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComCity comCity; // 顶层字段名,与 JSON 一致
+
+    @Data
+    public static class ComCity {
+        private String AreaCode;     // 区号
+        private String CountryId;    // 所属国家
+        private String PrvnId;       // 所属省份
+        private String CityId;       // 编号
+        private String CityNm;       // 名称
+    }
+}

+ 23 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCompanyScale.java

@@ -0,0 +1,23 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 企业规模主数据实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpCompanyScale implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private CrmCropScl crmCropScl; // 顶层字段名,与 JSON 中的 "crmCropScl" 完全一致
+
+    @Data
+    public static class CrmCropScl {
+        private Long ValidityFromDate; // 有效期从(时间戳,单位通常为毫秒)
+        private Long ValidityToDate;   // 有效期至(时间戳)
+        private String CropSclId;      // 编码(如 "SMALL", "MEDIUM", "LARGE")
+        private String CropSclNm;      // 名称(如 "小型企业", "中型企业", "大型企业")
+    }
+}

+ 21 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCountry.java

@@ -0,0 +1,21 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 国家/地区信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpCountry implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComCountry comCountry; // 顶层字段名,与 JSON 中的 "comCountry" 一致
+
+    @Data
+    public static class ComCountry {
+        private String CountryId;     // 编号(如 "CN", "US", "JP")
+        private String CountryName;   // 名称(如 "中国", "United States")
+    }
+}

+ 25 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCustomer.java

@@ -0,0 +1,25 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 客户资料设定实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpCustomer implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private CustomerData data;        // 对应顶层 "data"
+    private String GathCndInfo;       // 条件说明(独立顶层字段)
+
+    @Data
+    public static class CustomerData {
+        private Integer ChkoutDa;   // 结账日(通常为 1~31 的整数)
+        private String CustId;      // 编号
+        private String CustNm;      // 名称
+        private String GathCnd;     // 收款条件
+        private Integer GathDays;   // 收款天数
+    }
+}

+ 21 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCustomerGrade.java

@@ -0,0 +1,21 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 客户等级信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpCustomerGrade implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComCustGad comCustGad; // 顶层字段名,与 JSON 中的 "comCustGad" 一致
+
+    @Data
+    public static class ComCustGad {
+        private String GadId; // 编号(如 "VIP", "A01", "NORMAL")
+        private String GadNm; // 名称(如 "金牌客户", "普通客户")
+    }
+}

+ 47 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCustomerSalesPriceList.java

@@ -0,0 +1,47 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 销售价格清单-客户产品实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpCustomerSalesPriceList implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Header salSalePrList;           // 单据头
+    private CompanyInfo salSalePrListCo;    // 公司信息
+    private List<Detail> salSalePrListDt;   // 明细行(客户+产品价格列表)
+
+    @Data
+    public static class Header {
+        private String TypeId;             // 单据类型
+        private Long BlDa;                 // 单据日期(时间戳)
+        private String BlNo;               // 单据编号
+        private String Remark;             // 备注
+        private Long ValidityFromDate;     // 有效期从
+        private Long ValidityToDate;       // 有效期至
+    }
+
+    @Data
+    public static class CompanyInfo {
+        private String CoId;               // 公司编号
+    }
+
+    @Data
+    public static class Detail {
+        private String CU_Remark;          // 备注(注意字段名含下划线)
+        private String CurId;              // 币别编号
+        private String CustId;             // 客户编号(新增字段!)
+        private Double Pr;                 // 未税单价
+        private String ProdId;             // 产品编号
+        private Double PrWTax;             // 含税单价
+        private String RowCd;              // 标识号
+        private Integer RowNo;             // 序号
+        private String SUiId;              // 交易单位编号
+        private String TaxId;              // 税码编号
+    }
+}

+ 23 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpCustomerType.java

@@ -0,0 +1,23 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 客户类别信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpCustomerType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComCustTy comCustTy; // 顶层字段名,与 JSON 中的 "comCustTy" 一致
+
+    @Data
+    public static class ComCustTy {
+        private Long ValidityFromDate; // 有效期从(时间戳,单位通常为毫秒或秒)
+        private Long ValidityToDate;   // 有效期至(时间戳)
+        private String CustTyId;       // 编号(如 "CORP", "RETAIL")
+        private String CustTyNm;       // 名称(如 "企业客户", "零售客户")
+    }
+}

+ 28 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpDepartment.java

@@ -0,0 +1,28 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 部门信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpDepartment implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComDept comDept; // 顶层字段名与 JSON 一致
+
+    @Data
+    public static class ComDept {
+        private String DepartmentCategory;   // 部门类型
+        private String Executive;            // 主管
+        private Integer Lv;                  // 级数
+        private String PDeptId;              // 上级部门
+        private String RtDeptId;             // 一级部门
+        private Long ValidityFromDate;       // 有效期从
+        private Long ValidityToDate;         // 有效期至
+        private String DeptId;               // 编号
+        private String DeptNm;               // 名称
+    }
+}

+ 24 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpDistrict.java

@@ -0,0 +1,24 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 区/县主数据实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpDistrict implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComDistrict comDistrict; // 顶层字段名,与 JSON 中的 "comDistrict" 一致
+
+    @Data
+    public static class ComDistrict {
+        private String CityId;      // 城市(上级城市编码)
+        private String CountryId;   // 所属国家
+        private String PrvnId;      // 所属省份
+        private String DistrictId;  // 编码(如 "DIST_001", "310115")
+        private String DistrictNm;  // 名称(如 "浦东新区", "朝阳区")
+    }
+}

+ 21 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpExpense.java

@@ -0,0 +1,21 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 费用申请单实体类(避免内部类与 Lombok @Data 冲突)
+ */
+@Data
+public class ErpExpense implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ExpenseData data; // 字段名仍为 "data",匹配 JSON;但内部类不叫 Data
+
+    @Data
+    public static class ExpenseData {
+        private String BlNo;       // 单据编号
+        private String IsRelChk;   // 是否关联确认单(通常 "Y"/"N" 或 "0"/"1",用 String 更安全)
+    }
+}

+ 21 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpExpress.java

@@ -0,0 +1,21 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 快递主数据实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpExpress implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComExpr comExpr; // 顶层字段名,与 JSON 中的 "comExpr" 一致
+
+    @Data
+    public static class ComExpr {
+        private String ExprId; // 编码(如 "SF", "YTO", "ZTO")
+        private String ExprNm; // 名称(如 "顺丰速运", "圆通速递")
+    }
+}

+ 21 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpIncomeApplication.java

@@ -0,0 +1,21 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 收入申请单实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpIncomeApplication implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private IncomeData data; // 字段名保持为 "data",匹配 JSON;内部类使用语义化名称
+
+    @Data
+    public static class IncomeData {
+        private String BlNo;       // 单据编号
+        private String IsRelChk;   // 是否关联确认单(通常为 "Y"/"N" 或 "1"/"0")
+    }
+}

+ 23 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpIncomeExpenseType.java

@@ -0,0 +1,23 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 收入费用类型主数据实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpIncomeExpenseType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComIcmCs comIcmCs; // 顶层字段名,与 JSON 中的 "comIcmCs" 一致
+
+    @Data
+    public static class ComIcmCs {
+        private String IsCs;   // 费用标识(如 "Y"/"N" 或 "1"/"0")
+        private String IsIcm;  // 收入标识(如 "Y"/"N" 或 "1"/"0")
+        private String TyNm;   // 名称(如 "差旅费", "销售收入")
+        private String TypeId; // 编号(如 "EXP001", "INC001")
+    }
+}

+ 23 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpIndustry.java

@@ -0,0 +1,23 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 行业别主数据实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpIndustry implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private CrmIndu crmIndu; // 顶层字段名,与 JSON 中的 "crmIndu" 一致
+
+    @Data
+    public static class CrmIndu {
+        private String InduId;             // 编码(如 "IT", "FINANCE", "MANUFACTURE")
+        private String InduNm;             // 名称(如 "信息技术", "金融", "制造业")
+        private Long ValidityFromDate;     // 有效期从(时间戳)
+        private Long ValidityToDate;       // 有效期至(时间戳)
+    }
+}

+ 27 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpPerson.java

@@ -0,0 +1,27 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 人员资料设定实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpPerson implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComPerDt comPerDt; // 顶层字段名,与 JSON 中的 "comPerDt" 一致
+
+    @Data
+    public static class ComPerDt {
+        private String Phone;              // 移动电话
+        private String PostId;             // 岗位(岗位编码,关联岗位主数据)
+        private String Sex;                // 性别(如 "M"/"F" 或 "男"/"女")
+        private Long ValidityFromDate;     // 有效期从(时间戳)
+        private Long ValidityToDate;       // 有效期至(时间戳)
+        private String DeptId;             // 所属部门(部门编码)
+        private String PerId;              // 编号(人员唯一标识)
+        private String PerNm;              // 姓名
+    }
+}

+ 21 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpPosition.java

@@ -0,0 +1,21 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 岗位信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpPosition implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComPot comPot; // 顶层字段名,与 JSON 中的 "ComPot" 一致
+
+    @Data
+    public static class ComPot {
+        private String PotId; // 编号
+        private String PotNm; // 名称
+    }
+}

+ 24 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpProductCategory.java

@@ -0,0 +1,24 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 产品类别信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpProductCategory implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComProdCatg comProdCatg; // 顶层字段名,与 JSON 一致
+
+    @Data
+    public static class ComProdCatg {
+        private Integer Lv;                   // 级数
+        private String PurPerId;              // 采购员
+        private String ParentProdCatgId;      // 上级类别
+        private String ProdCatgId;            // 编码
+        private String ProdCatgNm;            // 名称
+    }
+}

+ 22 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpProvince.java

@@ -0,0 +1,22 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 省份主数据实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpProvince implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComProvince comProvince; // 顶层字段名,与 JSON 中的 "comProvince" 一致
+
+    @Data
+    public static class ComProvince {
+        private String CountryId; // 所属国家(如 "CN")
+        private String PrvnId;    // 编号(如 "110000", "PROV_GD")
+        private String PrvnNm;    // 名称(如 "广东省", "北京市")
+    }
+}

+ 28 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSalesDelivery.java

@@ -0,0 +1,28 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 销售出货申请单实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpSalesDelivery implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private SalesDelivery data; // 顶层字段名,与 JSON 中的 "data" 一致
+
+    @Data
+    public static class SalesDelivery {
+        private String AnaPerId;   // 复点人员编号
+        private String BlNo;       // 单据编号
+        private String ChkPerId;   // 清货人员编号
+        private String DisPerId;   // 配货人员编号
+        private String ExprId;     // 快递编号
+        private String ExprNo;     // 快递单号
+        private String ExprPay;    // 快递付款方式
+        private String RecBlNo;    // 库存记录单号
+        private String ReSign;     // 回签信息
+    }
+}

+ 22 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSalesOrder.java

@@ -0,0 +1,22 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 销售订单实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpSalesOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private SalesOrderData data; // 顶层字段名,对应 JSON 中的 "data"
+
+    @Data
+    public static class SalesOrderData {
+        private String BlNo;      // 单据编号
+        private String OutStkSt;  // 出库状态(数据库原值,通常为状态码如 "NOT_OUT", "PARTIAL
+
+    }
+}

+ 46 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSalesPriceList.java

@@ -0,0 +1,46 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 销售价格清单实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpSalesPriceList implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Header salSalePrList;           // 单据头
+    private CompanyInfo salSalePrListCo;    // 公司信息
+    private List<Detail> salSalePrListDt;   // 明细行(列表)
+
+    @Data
+    public static class Header {
+        private Long BlDa;                // 单据日期(时间戳)
+        private String BlNo;              // 单据编号
+        private String Remark;            // 备注
+        private String TypeId;            // 单据类型
+        private Long ValidityFromDate;    // 有效期从
+        private Long ValidityToDate;      // 有效期至
+    }
+
+    @Data
+    public static class CompanyInfo {
+        private String CoId;              // 公司编号
+    }
+
+    @Data
+    public static class Detail {
+        private String CU_Remark;         // 备注(注意字段名含下划线)
+        private String CurId;             // 币别编号
+        private Double Pr;                // 未税单价
+        private String ProdId;            // 产品编号
+        private Double PrWTax;            // 含税单价
+        private String RowCd;             // 标识号
+        private Integer RowNo;            // 序号
+        private String SUiId;             // 交易单位编号
+        private String TaxId;             // 税码编号
+    }
+}

+ 22 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSalesReturnApplication.java

@@ -0,0 +1,22 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 销售退货申请单实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpSalesReturnApplication implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ReturnData data; // 字段名保持为 "data",匹配 JSON;内部类使用语义化名称
+
+    @Data
+    public static class ReturnData {
+        private String BlNo;      // 商城订单退货号
+        private String InStkSt;   // 入库状态(数据库原值,如 "NOT_IN", "PARTIAL", "COMPLETE")
+        private String OrdBlno;   // 商城订单号
+    }
+}

+ 21 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpSupplierType.java

@@ -0,0 +1,21 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 供应商类别信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpSupplierType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComSupTy comSupTy; // 顶层字段名,与 JSON 中的 "comSupTy" 一致
+
+    @Data
+    public static class ComSupTy {
+        private String TyNm;   // 名称
+        private String TypeId; // 编号
+    }
+}

+ 22 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpTaxCode.java

@@ -0,0 +1,22 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 税码设定主数据实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpTaxCode implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComSetTax comSetTax; // 顶层字段名,与 JSON 中的 "comSetTax" 一致
+
+    @Data
+    public static class ComSetTax {
+        private String TaxId;   // 编号(如 "VAT13", "GST05")
+        private String TaxNm;   // 名称(如 "增值税-13%", "消费税")
+        private Double TaxRt;   // 税率(%),例如 13.0 表示 13%
+    }
+}

+ 23 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpUnit.java

@@ -0,0 +1,23 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 计量单位信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpUnit implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComUnit comUnit; // 顶层字段名,与 JSON 中的 "comUnit" 一致
+
+    @Data
+    public static class ComUnit {
+        private String UnitProperty;     // 属性(数据库原值,如 "STANDARD", "WEIGHT" 等)
+        private Integer DecimalDigits;   // 小数位数(数据库原值,通常为整数)
+        private String UnitId;           // 编号(如 "KG", "PCS", "MTR")
+        private String UnitName;         // 名称(如 "千克", "件", "米")
+    }
+}

+ 23 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/erp/domain/ErpWarehouse.java

@@ -0,0 +1,23 @@
+package org.dromara.external.api.erp.domain;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 仓库信息实体类(字段名与 JSON 保持一致)
+ */
+@Data
+public class ErpWarehouse implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private ComWhs comWhs; // 顶层字段名与 JSON 一致
+
+    @Data
+    public static class ComWhs {
+        private String CoId;      // 公司
+        private String StkStu;    // 预设库存状态
+        private String WhsId;     // 编号
+        private String WhsNm;     // 名称
+    }
+}

+ 47 - 0
ruoyi-api/ruoyi-api-product/src/main/java/org/dromara/product/api/RemoteErpProductService.java

@@ -0,0 +1,47 @@
+package org.dromara.product.api;
+
+import org.dromara.product.api.erp.domain.*;
+
+import java.util.Map;
+
+/**
+ * erp商品服务
+ * @author
+ * @date 2026/1/23 下午6:16
+ */
+public interface RemoteErpProductService {
+
+
+    /**
+     * 同步erp商品品牌
+     * */
+    Boolean syncErpBrand(ErpBrandData erpBrand);
+
+    /**
+     * 删除erp商品品牌
+     * */
+    Boolean deleteErpBrand(ErpBrandData erpBrand);
+
+    /**
+     * 同步erp商品分类
+     * */
+    Boolean syncErpCategory(ErpProductCategoryData erpCategory);
+
+    /**
+     * 删除erp商品分类
+     * */
+    Boolean deleteErpCategory(ErpProductCategoryData erpCategory);
+    /**
+     * 同步计量单位
+     * */
+    Boolean syncErpUnit(ErpUnitData erpUnit);
+    /**
+     * 删除计量单位
+     * */
+    Boolean deleteErpUnit(ErpUnitData erpUnit);
+    /**
+     * 销售价格清单-产品
+     * */
+    Boolean syncSalesPriceList(Map<String,Object> salesPriceList);
+}
+

+ 18 - 0
ruoyi-api/ruoyi-api-product/src/main/java/org/dromara/product/api/erp/domain/ErpBrandData.java

@@ -0,0 +1,18 @@
+package org.dromara.product.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:17
+ */
+@Data
+public class ErpBrandData implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String MnemonicId;  // 助记码(如 "APPL", "HW")
+    private String TradMrkId;   // 编码(品牌唯一标识)
+    private String TradMrkNm;   // 名称(如 "Apple", "华为")
+}

+ 19 - 0
ruoyi-api/ruoyi-api-product/src/main/java/org/dromara/product/api/erp/domain/ErpProductCategoryData.java

@@ -0,0 +1,19 @@
+package org.dromara.product.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:38
+ */
+@Data
+public class ErpProductCategoryData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Integer Lv;                   // 级数
+    private String PurPerId;              // 采购员
+    private String ParentProdCatgId;      // 上级类别
+    private String ProdCatgId;            // 编码
+    private String ProdCatgNm;            // 名称
+}

+ 18 - 0
ruoyi-api/ruoyi-api-product/src/main/java/org/dromara/product/api/erp/domain/ErpUnitData.java

@@ -0,0 +1,18 @@
+package org.dromara.product.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:29
+ */
+@Data
+public class ErpUnitData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String UnitProperty;     // 属性(数据库原值,如 "STANDARD", "WEIGHT" 等)
+    private Integer DecimalDigits;   // 小数位数(数据库原值,通常为整数)
+    private String UnitId;           // 编号(如 "KG", "PCS", "MTR")
+    private String UnitName;         // 名称(如 "千克", "件", "米")
+}

+ 165 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteErpSystemService.java

@@ -0,0 +1,165 @@
+package org.dromara.system.api;
+
+import org.dromara.system.api.erp.domain.*;
+
+
+/**
+ * erp系统服务
+ *
+ * @author
+ * @date 2026/1/23 下午6:17
+ */
+public interface RemoteErpSystemService {
+
+
+    /**
+     * 同步人员资料
+     * */
+    Boolean syncPerson(ErpPersonData person);
+
+    /**
+     * 删除人员资料
+     * */
+    Boolean deletePerson(ErpPersonData person);
+    /**
+     * 同步公司数据
+     * */
+    Boolean syncCompany(ErpCompanyData company);
+
+    /**
+     * 删除公司数据
+     * */
+    Boolean deleteCompany(ErpCompanyData company);
+
+    /**
+    * 同步仓库数据
+    * */
+    Boolean syncWarehouse(ErpWarehouseData warehouse);
+
+    /**
+    * 删除仓库数据
+    * */
+    Boolean deleteWarehouse(ErpWarehouseData warehouse);
+
+    /**
+    * 同步区县数据
+    * */
+    Boolean syncDistrict(ErpDistrictData district);
+
+    /**
+    * 删除区县数据
+    * */
+    Boolean deleteDistrict(ErpDistrictData district);
+
+    /**
+    * 同步国家数据
+    * */
+    Boolean syncCountry(ErpCountryData country);
+
+    /**
+    * 删除国家数据
+    * */
+    Boolean deleteCountry(ErpCountryData country);
+
+    /**
+    * 同步城市数据
+    * */
+    Boolean syncCity(ErpCityData city);
+
+    /**
+    * 删除城市数据
+    * */
+    Boolean deleteCity(ErpCityData city);
+
+    /**
+    * 同步岗位数据
+    * */
+    Boolean syncPosition(ErpPositionData position);
+
+    /**
+    * 删除岗位数据
+    * */
+    Boolean deletePosition(ErpPositionData position);
+
+    /**
+    * 同步快递物流公司数据
+    * */
+    Boolean syncExpress(ErpExpressData express);
+
+    /**
+    * 删除快递物流公司数据
+    * */
+    Boolean deleteExpress(ErpExpressData express);
+
+    /**
+     * 同步收入费用
+     * */
+    Boolean syncIncomeExpense(ErpIncomeExpenseTypeData incomeExpense);
+    /**
+     * 删除收入费用类型
+     * */
+    Boolean deleteIncomeExpense(ErpIncomeExpenseTypeData incomeExpense);
+    /**
+     * 同步省份
+     * */
+    Boolean syncProvince(ErpProvinceData province);
+    /**
+     * 删除省份
+     * */
+    Boolean deleteProvince(ErpProvinceData province);
+    /**
+     * 同步税码
+     * */
+    Boolean syncTaxCode(ErpTaxCodeData taxCode);
+    /**
+     * 删除税码
+     * */
+    Boolean deleteTaxCode(ErpTaxCodeData taxCode);
+
+    /**
+    * 同步部门
+    * */
+    Boolean syncDepartment(ErpDepartmentData department);
+    /**
+    * 删除部门
+    * */
+    Boolean deleteDepartment(ErpDepartmentData department);
+    /**
+    * 同步银行
+    * */
+    Boolean syncBank(ErpBankData bank);
+    /**
+    * 删除银行
+    * */
+    Boolean deleteBank(ErpBankData bank);
+
+    /**
+     * 同步供应商类别
+     * */
+    Boolean syncSupplierType(ErpSupplierTypeData supplierType);
+
+    /**
+     * 删除供应商类别
+     * */
+    Boolean deleteSupplierType(ErpSupplierTypeData supplierType);
+
+    /**
+     * 同步客户等级
+     * */
+    Boolean syncCustomerGrade(ErpCustomerGradeData customerGrade);
+    /**
+     * 删除客户等级
+     * */
+    Boolean deleteCustomerGrade(ErpCustomerGradeData customerGrade);
+
+    /**
+     * 同步客户类别
+     * */
+    Boolean syncCustomerType(ErpCustomerTypeData customerType);
+
+    /**
+     * 删除客户类别
+     * */
+    Boolean deleteCustomerType(ErpCustomerTypeData customerType);
+
+}

+ 21 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpBankData.java

@@ -0,0 +1,21 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:31
+ */
+@Data
+public class ErpBankData implements Serializable {
+
+    private String BnAddr;     // 银行地址
+    private String BnCatgId;   // 银行类别(关联银行类别主数据)
+    private String FaxNo;      // 传真
+    private String Remark;     // 备注
+    private String TelNo;      // 联系电话
+    private String BnId;       // 编号(如 "ICBC", "BOC", "BNK001")
+    private String BnNm;       // 名称(如 "中国工商银行", "Bank of China")
+}

+ 19 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCityData.java

@@ -0,0 +1,19 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:19
+ */
+@Data
+public class ErpCityData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String AreaCode;     // 区号
+    private String CountryId;    // 所属国家
+    private String PrvnId;       // 所属省份
+    private String CityId;       // 编号
+    private String CityNm;       // 名称
+}

+ 39 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCompanyData.java

@@ -0,0 +1,39 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:33
+ */
+@Data
+public class ErpCompanyData implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String AccBnId;      // 开户银行
+    private String AccBnNo;      // 开户银行帐号
+    private String Address;      // 地址信息
+    private Long BegDa;          // 营业期限(开始)— JSON 中是数字 0
+    private String BusScp;       // 经营范围
+    private Double CapAmt;       // 注册资本 — JSON 是 0.000000
+    private String CoFuNm;       // 企业名称
+    private String Corporation;  // 法定代表人
+    private String EMail;        // E-Mail
+    private Long EndDa;          // 营业期限(结束)
+    private Long FoundDa;        // 成立日期
+    private String InCustId;     // 内部交易客户
+    private String InSupId;      // 内部交易供应商
+    private String LelPer;       // 法人代表
+    private String Phone;        // 办公电话
+    private String Principal;    // 负责人
+    private String RegAddr;      // 注册地址
+    private Long RegDa;          // 登记日期
+    private String RegOrg;       // 登记机关
+    private String Remark;       // 备注
+    private String TaxNo;        // 统一社会信用代码
+    private String CoId;         // 编号
+    private String CoNm;         // 名称
+
+}

+ 17 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCountryData.java

@@ -0,0 +1,17 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:18
+ */
+@Data
+public class ErpCountryData implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String CountryId;     // 编号(如 "CN", "US", "JP")
+    private String CountryName;   // 名称(如 "中国", "United States")
+}

+ 16 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCustomerGradeData.java

@@ -0,0 +1,16 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:20
+ */
+@Data
+public class ErpCustomerGradeData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String GadId; // 编号(如 "VIP", "A01", "NORMAL")
+    private String GadNm; // 名称(如 "金牌客户", "普通客户")
+}

+ 18 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpCustomerTypeData.java

@@ -0,0 +1,18 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:21
+ */
+@Data
+public class ErpCustomerTypeData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Long ValidityFromDate; // 有效期从(时间戳,单位通常为毫秒或秒)
+    private Long ValidityToDate;   // 有效期至(时间戳)
+    private String CustTyId;       // 编号(如 "CORP", "RETAIL")
+    private String CustTyNm;       // 名称(如 "企业客户", "零售客户")
+}

+ 24 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpDepartmentData.java

@@ -0,0 +1,24 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:30
+ */
+@Data
+public class ErpDepartmentData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+    private String DepartmentCategory;   // 部门类型
+    private String Executive;            // 主管
+    private Integer Lv;                  // 级数
+    private String PDeptId;              // 上级部门
+    private String RtDeptId;             // 一级部门
+    private Long ValidityFromDate;       // 有效期从
+    private Long ValidityToDate;         // 有效期至
+    private String DeptId;               // 编号
+    private String DeptNm;               // 名称
+}

+ 19 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpDistrictData.java

@@ -0,0 +1,19 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:16
+ */
+@Data
+public class ErpDistrictData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String CityId;      // 城市(上级城市编码)
+    private String CountryId;   // 所属国家
+    private String PrvnId;      // 所属省份
+    private String DistrictId;  // 编码(如 "DIST_001", "310115")
+    private String DistrictNm;  // 名称(如 "浦东新区", "朝阳区")
+}

+ 16 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpExpressData.java

@@ -0,0 +1,16 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:22
+ */
+@Data
+public class ErpExpressData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String ExprId; // 编码(如 "SF", "YTO", "ZTO")
+    private String ExprNm; // 名称(如 "顺丰速运", "圆通速递")
+}

+ 19 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpIncomeExpenseTypeData.java

@@ -0,0 +1,19 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:24
+ */
+@Data
+public class ErpIncomeExpenseTypeData implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String IsCs;   // 费用标识(如 "Y"/"N" 或 "1"/"0")
+    private String IsIcm;  // 收入标识(如 "Y"/"N" 或 "1"/"0")
+    private String TyNm;   // 名称(如 "差旅费", "销售收入")
+    private String TypeId; // 编号(如 "EXP001", "INC001")
+}

+ 18 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpPersonData.java

@@ -0,0 +1,18 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ErpPersonData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String Phone;              // 移动电话
+    private String PostId;             // 岗位(岗位编码,关联岗位主数据)
+    private String Sex;                // 性别(如 "M"/"F" 或 "男"/"女")
+    private Long ValidityFromDate;     // 有效期从(时间戳)
+    private Long ValidityToDate;       // 有效期至(时间戳)
+    private String DeptId;             // 所属部门(部门编码)
+    private String PerId;              // 编号(人员唯一标识)
+    private String PerNm;              // 姓名
+}

+ 17 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpPositionData.java

@@ -0,0 +1,17 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:21
+ */
+@Data
+public class ErpPositionData implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String PotId; // 编号
+    private String PotNm; // 名称
+}

+ 17 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpProvinceData.java

@@ -0,0 +1,17 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:26
+ */
+@Data
+public class ErpProvinceData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String CountryId; // 所属国家(如 "CN")
+    private String PrvnId;    // 编号(如 "110000", "PROV_GD")
+    private String PrvnNm;    // 名称(如 "广东省", "北京市")
+}

+ 16 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpSupplierTypeData.java

@@ -0,0 +1,16 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:14
+ */
+@Data
+public class ErpSupplierTypeData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String TyNm;   // 名称
+    private String TypeId; // 编号
+}

+ 18 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpTaxCodeData.java

@@ -0,0 +1,18 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:27
+ */
+@Data
+public class ErpTaxCodeData implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String TaxId;   // 编号(如 "VAT13", "GST05")
+    private String TaxNm;   // 名称(如 "增值税-13%", "消费税")
+    private Double TaxRt;   // 税率(%),例如 13.0 表示 13%
+}

+ 18 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/erp/domain/ErpWarehouseData.java

@@ -0,0 +1,18 @@
+package org.dromara.system.api.erp.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author
+ * @date 2026/1/27 下午7:12
+ */
+@Data
+public class ErpWarehouseData implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String CoId;      // 公司
+    private String StkStu;    // 预设库存状态
+    private String WhsId;     // 编号
+    private String WhsNm;     // 名称
+}

+ 7 - 7
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/SupplierInfoController.java

@@ -49,7 +49,7 @@ public class SupplierInfoController extends BaseController {
     /**
      * 查询供应商信息列表
      */
-    @SaCheckPermission("customer:info:list")
+    //@SaCheckPermission("customer:info:list")
     @GetMapping("/list")
     public TableDataInfo<SupplierInfoVo> list(SupplierInfoBo bo, PageQuery pageQuery) {
         return supplierInfoService.queryPageList(bo, pageQuery);
@@ -61,7 +61,7 @@ public class SupplierInfoController extends BaseController {
      * @param pageQuery
      * @return
      */
-    @SaCheckPermission("customer:info:list")
+    //@SaCheckPermission("customer:info:list")
     @GetMapping("/getList")
     public TableDataInfo<SupplierInfoVo> getList(SupplierInfoBo bo, PageQuery pageQuery) {
         return supplierInfoService.getSupplierInformation(bo, pageQuery);
@@ -73,7 +73,7 @@ public class SupplierInfoController extends BaseController {
      * @param pageQuery
      * @return
      */
-    @SaCheckPermission("customer:info:list")
+    //@SaCheckPermission("customer:info:list")
     @GetMapping("/getApproveList")
     public TableDataInfo<SupplierInfoVo> getApproveList(SupplierInfoBo bo, PageQuery pageQuery) {
 
@@ -104,7 +104,7 @@ public class SupplierInfoController extends BaseController {
     /**
      * 导出供应商信息列表
      */
-    @SaCheckPermission("customer:info:export")
+    //@SaCheckPermission("customer:info:export")
     @Log(title = "供应商信息", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(SupplierInfoBo bo, HttpServletResponse response) {
@@ -127,7 +127,7 @@ public class SupplierInfoController extends BaseController {
     /**
      * 新增供应商信息
      */
-    @SaCheckPermission("customer:info:add")
+    //@SaCheckPermission("customer:info:add")
     @Log(title = "供应商信息", businessType = BusinessType.INSERT)
     @RepeatSubmit()
     @PostMapping()
@@ -138,7 +138,7 @@ public class SupplierInfoController extends BaseController {
     /**
      * 修改供应商信息
      */
-    @SaCheckPermission("customer:info:edit")
+    //@SaCheckPermission("customer:info:edit")
     @Log(title = "供应商信息", businessType = BusinessType.UPDATE)
     @RepeatSubmit()
     @PutMapping()
@@ -151,7 +151,7 @@ public class SupplierInfoController extends BaseController {
      *
      * @param ids 主键串
      */
-    @SaCheckPermission("customer:info:remove")
+    //@SaCheckPermission("customer:info:remove")
     @Log(title = "供应商信息", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")

+ 73 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/dubbo/RemoteErpCustomerServiceImpl.java

@@ -0,0 +1,73 @@
+package org.dromara.customer.dubbo;
+
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.dromara.customer.api.RemoteErpCustomerService;
+import org.dromara.customer.api.erp.domain.*;
+import org.dromara.customer.service.IEnterpriseScaleService;
+import org.dromara.customer.service.IIndustryCategoryService;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * @author
+ * @date 2026/1/23 下午7:42
+ */
+@Service
+@RequiredArgsConstructor
+@DubboService
+public class RemoteErpCustomerServiceImpl implements RemoteErpCustomerService {
+
+    //企业规模服务
+    private final IEnterpriseScaleService enterpriseScaleService;
+    //行业类别服务
+    private final IIndustryCategoryService industryCategoryService;
+
+
+
+
+    /**
+     * 同步企业规模
+     *
+     * @param companyScale
+     */
+    @Override
+    public Boolean syncCompanyScale(ErpCompanyScaleData companyScale) {
+        return null;
+    }
+
+    /**
+     * 删除企业规模
+     *
+     * @param companyScale
+     */
+    @Override
+    public Boolean deleteCompanyScale(ErpCompanyScaleData companyScale) {
+        return null;
+    }
+
+
+
+
+
+    /**
+     * 同步行业类别
+     *
+     * @param industry
+     */
+    @Override
+    public Boolean syncIndustry(ErpIndustryData industry) {
+        return null;
+    }
+
+    /**
+     * 删除行业类别
+     *
+     * @param industry
+     */
+    @Override
+    public Boolean deleteIndustry(ErpIndustryData industry) {
+        return null;
+    }
+}

+ 5 - 0
ruoyi-modules/ruoyi-external/pom.xml

@@ -118,6 +118,11 @@
             <artifactId>ruoyi-api-order</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-api-customer</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>com.microsoft.sqlserver</groupId>
             <artifactId>mssql-jdbc</artifactId>

+ 580 - 6
ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/controller/erp/ErpPullController.java

@@ -1,15 +1,28 @@
 package org.dromara.external.controller.erp;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.io.FileUtil;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.FileUtils;
+import org.apache.dubbo.config.annotation.DubboReference;
 import org.dromara.common.core.domain.R;
-import org.dromara.external.api.erp.domain.ErpCompany;
+import org.dromara.customer.api.RemoteErpCustomerService;
+import org.dromara.external.api.erp.domain.*;
+import org.dromara.product.api.RemoteErpProductService;
+import org.dromara.system.api.RemoteErpSystemService;
+import org.dromara.system.api.erp.domain.ErpCompanyData;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.dromara.product.api.erp.domain.*;
+import org.dromara.system.api.erp.domain.*;
+import org.dromara.customer.api.erp.domain.*;
 
+import java.io.File;
 import java.util.Map;
 
 /**
+ * ERP数据拉取控制器
  * @author
  * @date 2026/1/15 下午2:38
  */
@@ -17,11 +30,18 @@ import java.util.Map;
 @RequiredArgsConstructor
 @RestController
 @RequestMapping("/erp")
+@Slf4j
 public class ErpPullController {
 
-    /**
-    * 同步公司数据(供应商)
-    * */
+    @DubboReference
+    private RemoteErpCustomerService remoteErpCustomerService;
+
+    @DubboReference
+    private RemoteErpProductService remoteErpProductService;
+
+    @DubboReference
+    private RemoteErpSystemService remoteErpSystemService;
+
     @PostMapping()
     public R<Void> erp(@RequestParam String type, @RequestBody Map<String,Object> map){
         if("syncCompany".equals(type)){
@@ -35,13 +55,16 @@ public class ErpPullController {
         return R.ok();
     }
 
+    // ==================== 公司主数据 ====================
 
     /**
     * 同步公司数据
     * */
     @PostMapping("/syncCompany")
     public R<Void> syncCompany(@RequestBody ErpCompany company){
-        System.out.println(company);
+        log.info("同步公司数据: " + company);
+        ErpCompanyData bean = BeanUtil.toBean(company.getComCo(), ErpCompanyData.class);
+        remoteErpSystemService.syncCompany(bean);
         return R.ok();
     }
 
@@ -51,7 +74,558 @@ public class ErpPullController {
     @PostMapping("/deleteCompany")
     public R<Void> deleteCompany(@RequestBody ErpCompany company){
         String coId = company.getComCo().getCoId();
-        System.out.println(coId);
+        log.info("删除公司数据: " + coId);
+        ErpCompanyData bean = BeanUtil.toBean(company.getComCo(), ErpCompanyData.class);
+        remoteErpSystemService.deleteCompany(bean);
+        return R.ok();
+    }
+
+    // ==================== 产品类别 ====================
+
+    /**
+    * 产品类别设定
+    * */
+    @PostMapping("/syncProductCategory")
+    public R<Void> syncProductCategory(@RequestBody ErpProductCategory category){
+        log.info("同步产品类别: " + category);
+        ErpProductCategoryData bean = BeanUtil.toBean(category.getComProdCatg(), ErpProductCategoryData.class);
+        remoteErpProductService.syncErpCategory(bean);
+        return R.ok();
+    }
+
+    /**
+    * 产品类别删除
+    * */
+    @PostMapping("/deleteProductCategory")
+    public R<Void> deleteProductCategory(@RequestBody ErpProductCategory category){
+        String categoryId = category.getComProdCatg().getProdCatgId();
+        log.info("删除产品类别: " + categoryId);
+        ErpProductCategoryData bean = BeanUtil.toBean(category.getComProdCatg(), ErpProductCategoryData.class);
+        remoteErpProductService.deleteErpCategory(bean);
+        return R.ok();
+    }
+
+    // ==================== 人员资料 ====================
+
+    /**
+    * 人员资料设定
+    * */
+    @PostMapping("/syncPerson")
+    public R<Void> syncPerson(@RequestBody ErpPerson person){
+        log.info("同步人员资料: " + person);
+        remoteErpSystemService.syncPerson(BeanUtil.toBean(person, ErpPersonData.class));
+        return R.ok();
+    }
+
+    /**
+    * 人员删除
+    * */
+    @PostMapping("/deletePerson")
+    public R<Void> deletePerson(@RequestBody ErpPerson person){
+        String perId = person.getComPerDt().getPerId();
+        log.info("删除人员: " + perId);
+        remoteErpSystemService.deletePerson(BeanUtil.toBean(person, ErpPersonData.class));
+        return R.ok();
+    }
+
+    // ==================== 仓库设定 ====================
+
+    /**
+    * 仓库设定
+    * */
+    @PostMapping("/syncWarehouse")
+    public R<Void> syncWarehouse(@RequestBody ErpWarehouse warehouse){
+        log.info("同步仓库: " + warehouse);
+        remoteErpSystemService.syncWarehouse(BeanUtil.toBean(warehouse, ErpWarehouseData.class));
+        return R.ok();
+    }
+
+    /**
+    * 仓库删除
+    * */
+    @PostMapping("/deleteWarehouse")
+    public R<Void> deleteWarehouse(@RequestBody ErpWarehouse warehouse){
+        String whsId = warehouse.getComWhs().getWhsId();
+        log.info("删除仓库: " + whsId);
+        remoteErpSystemService.deleteWarehouse(BeanUtil.toBean(warehouse, ErpWarehouseData.class));
+        return R.ok();
+    }
+
+    // ==================== 企业规模 ====================
+
+    /**
+    * 企业规模设定
+    * */
+    @PostMapping("/syncCompanyScale")
+    public R<Void> syncCompanyScale(@RequestBody ErpCompanyScale companyScale){
+        log.info("同步企业规模: " + companyScale);
+        remoteErpCustomerService.syncCompanyScale(BeanUtil.toBean(companyScale, ErpCompanyScaleData.class));
+        return R.ok();
+    }
+
+    /**
+    * 企业规模删除
+    * */
+    @PostMapping("/deleteCompanyScale")
+    public R<Void> deleteCompanyScale(@RequestBody ErpCompanyScale companyScale){
+        log.info("删除企业规模: " + companyScale);
+        remoteErpCustomerService.deleteCompanyScale(BeanUtil.toBean(companyScale, ErpCompanyScaleData.class));
+        return R.ok();
+    }
+
+    // ==================== 供应商类别 ====================
+
+    /**
+    * 供应商类别设定
+    * */
+    @PostMapping("/syncSupplierType")
+    public R<Void> syncSupplierType(@RequestBody ErpSupplierType supplierType){
+        log.info("同步供应商类别: " + supplierType);
+        remoteErpSystemService.syncSupplierType(BeanUtil.toBean(supplierType, ErpSupplierTypeData.class));
+        return R.ok();
+    }
+
+    /**
+    * 供应商类别删除
+    * */
+    @PostMapping("/deleteSupplierType")
+    public R<Void> deleteSupplierType(@RequestBody ErpSupplierType supplierType){
+        log.info("删除供应商类别: " + supplierType);
+        remoteErpSystemService.deleteSupplierType(BeanUtil.toBean(supplierType, ErpSupplierTypeData.class));
+        return R.ok();
+    }
+
+    // ==================== 出库配送信息 ====================
+
+    /**
+    * 出库配送信息(未对接)
+    * */
+    @PostMapping("/syncSalesDelivery")
+    public R<Void> syncSalesDelivery(@RequestBody ErpSalesDelivery salesDelivery){
+//        log.info("同步出库配送信息: " + salesDelivery);
+//        remoteErpCustomerService.syncSalesDelivery(BeanUtil.beanToMap(salesDelivery));
+        return R.ok();
+    }
+
+    // ==================== 区县主数据 ====================
+
+    /**
+    * 区县主数据设定
+    * */
+    @PostMapping("/syncDistrict")
+    public R<Void> syncDistrict(@RequestBody ErpDistrict district){
+        log.info("同步区县主数据: " + district);
+        remoteErpSystemService.syncDistrict(BeanUtil.toBean(district, ErpDistrictData.class));
+        return R.ok();
+    }
+
+    /**
+    * 区县主数据删除
+    * */
+    @PostMapping("/deleteDistrict")
+    public R<Void> deleteDistrict(@RequestBody ErpDistrict district){
+        String districtId = district.getComDistrict().getDistrictId();
+        log.info("删除区县: " + districtId);
+        remoteErpSystemService.deleteDistrict(BeanUtil.toBean(district, ErpDistrictData.class));
+        return R.ok();
+    }
+
+    // ==================== 品牌资料 ====================
+
+    /**
+    * 品牌资料设定
+    * */
+    @PostMapping("/syncBrand")
+    public R<Void> syncBrand(@RequestBody ErpBrand brand){
+        log.info("同步品牌资料: " + brand);
+        remoteErpProductService.syncErpBrand(BeanUtil.toBean(brand, ErpBrandData.class));
+        return R.ok();
+    }
+
+    /**
+    * 品牌删除
+    * */
+    @PostMapping("/deleteBrand")
+    public R<Void> deleteBrand(@RequestBody ErpBrand brand){
+        String brandId = brand.getComTradMrkDt().getTradMrkId();
+        log.info("删除品牌: " + brandId);
+        remoteErpProductService.deleteErpBrand(BeanUtil.toBean(brand, ErpBrandData.class));
+        return R.ok();
+    }
+
+    // ==================== 国家地区 ====================
+
+    /**
+    * 国家地区设定
+    * */
+    @PostMapping("/syncCountry")
+    public R<Void> syncCountry(@RequestBody ErpCountry country){
+        log.info("同步国家地区: " + country);
+        remoteErpSystemService.syncCountry(BeanUtil.toBean(country, ErpCountryData.class));
+        return R.ok();
+    }
+
+    /**
+    * 国家删除
+    * */
+    @PostMapping("/deleteCountry")
+    public R<Void> deleteCountry(@RequestBody ErpCountry country){
+        log.info("删除国家: " + country);
+        remoteErpSystemService.deleteCountry(BeanUtil.toBean(country, ErpCountryData.class));
+        return R.ok();
+    }
+
+    // ==================== 城市设定 ====================
+
+    /**
+    * 城市设定
+    * */
+    @PostMapping("/syncCity")
+    public R<Void> syncCity(@RequestBody ErpCity city){
+        log.info("同步城市: " + city);
+        remoteErpSystemService.syncCity(BeanUtil.toBean(city, ErpCityData.class));
+        return R.ok();
+    }
+
+    /**
+    * 城市设定删除
+    * */
+    @PostMapping("/deleteCity")
+    public R<Void> deleteCity(@RequestBody ErpCity city){
+        log.info("删除城市: " + city);
+        remoteErpSystemService.deleteCity(BeanUtil.toBean(city, ErpCityData.class));
+        return R.ok();
+    }
+
+    // ==================== 客户等级 ====================
+
+    /**
+    * 客户等级设定
+    * */
+    @PostMapping("/syncCustomerGrade")
+    public R<Void> syncCustomerGrade(@RequestBody ErpCustomerGrade customerGrade){
+        log.info("同步客户等级: " + customerGrade);
+        remoteErpSystemService.syncCustomerGrade(BeanUtil.toBean(customerGrade, ErpCustomerGradeData.class));
+        return R.ok();
+    }
+
+    /**
+    * 客户等级删除
+    * */
+    @PostMapping("/deleteCustomerGrade")
+    public R<Void> deleteCustomerGrade(@RequestBody ErpCustomerGrade customerGrade){
+        log.info("删除客户等级: " + customerGrade);
+        remoteErpSystemService.deleteCustomerGrade(BeanUtil.toBean(customerGrade, ErpCustomerGradeData.class));
+        return R.ok();
+    }
+
+    // ==================== 客户类别 ====================
+
+    /**
+    * 客户类别设定
+    * */
+    @PostMapping("/syncCustomerType")
+    public R<Void> syncCustomerType(@RequestBody ErpCustomerType customerType){
+        log.info("同步客户类别: " + customerType);
+        remoteErpSystemService.syncCustomerType(BeanUtil.toBean(customerType, ErpCustomerTypeData.class));
+        return R.ok();
+    }
+
+    /**
+    * 客户类别删除
+    * */
+    @PostMapping("/deleteCustomerType")
+    public R<Void> deleteCustomerType(@RequestBody ErpCustomerType customerType){
+
+        log.info("删除客户类别: " + customerType);
+        remoteErpSystemService.deleteCustomerType(BeanUtil.toBean(customerType, ErpCustomerTypeData.class));
+        return R.ok();
+    }
+
+    // ==================== 客户资料 ====================
+
+    /**
+     * 未对接
+    * 客户资料-收款条件异动
+    * */
+    @PostMapping("/syncCustomer")
+    public R<Void> syncCustomer(@RequestBody ErpCustomer customer){
+        log.info("同步客户资料: " + customer);
+        return R.ok();
+    }
+
+    // ==================== 岗位设定 ====================
+
+    /**
+    * 岗位设定
+    * */
+    @PostMapping("/syncPosition")
+    public R<Void> syncPosition(@RequestBody ErpPosition position){
+        log.info("同步岗位: " + position);
+        remoteErpSystemService.syncPosition(BeanUtil.toBean(position, ErpPositionData.class));
+        return R.ok();
+    }
+
+    /**
+    * 岗位删除
+    * */
+    @PostMapping("/deletePosition")
+    public R<Void> deletePosition(@RequestBody ErpPosition position){
+        String potId = position.getComPot().getPotId();
+        log.info("删除岗位: " + potId);
+        remoteErpSystemService.deletePosition(BeanUtil.toBean(position, ErpPositionData.class   ));
+        return R.ok();
+    }
+
+    // ==================== 快递主数据 ====================
+
+    /**
+    * 快递主数据设定
+    * */
+    @PostMapping("/syncExpress")
+    public R<Void> syncExpress(@RequestBody ErpExpress express){
+        log.info("同步快递: " + express);
+        remoteErpSystemService.syncExpress(BeanUtil.toBean(express, ErpExpressData.class));
+        return R.ok();
+    }
+
+    /**
+    * 快递删除
+    * */
+    @PostMapping("/deleteExpress")
+    public R<Void> deleteExpress(@RequestBody ErpExpress express){
+        log.info("删除快递: " + express);
+        remoteErpSystemService.deleteExpress(BeanUtil.toBean(express, ErpExpressData.class));
+        return R.ok();
+    }
+
+    // ==================== 收入费用设定 ====================
+
+    /**
+    * 收入费用设定
+    * */
+    @PostMapping("/syncIncomeExpenseType")
+    public R<Void> syncIncomeExpenseType(@RequestBody ErpIncomeExpenseType incomeExpenseType){
+        log.info("同步收入费用类型: " + incomeExpenseType);
+        remoteErpSystemService.syncIncomeExpense(BeanUtil.toBean(incomeExpenseType, ErpIncomeExpenseTypeData.class));
+        return R.ok();
+    }
+
+    /**
+    * 收入费用设定删除
+    * */
+    @PostMapping("/deleteIncomeExpenseType")
+    public R<Void> deleteIncomeExpenseType(@RequestBody ErpIncomeExpenseType incomeExpenseType){
+        log.info("删除收入费用类型: " + incomeExpenseType);
+        remoteErpSystemService.deleteIncomeExpense(BeanUtil.toBean(incomeExpenseType, ErpIncomeExpenseTypeData.class));
+        return R.ok();
+    }
+
+    // ==================== 收入转确认 ====================
+
+    /**
+    * 收入转确认
+    * */
+    @PostMapping("/confirmIncome")
+    public R<Void> confirmIncome(@RequestBody ErpIncomeApplication incomeApplication){
+        log.info("确认收入: " +  incomeApplication);
+        return R.ok();
+    }
+
+    // ==================== 省份设定 ====================
+
+    /**
+    * 省份设定
+    * */
+    @PostMapping("/syncProvince")
+    public R<Void> syncProvince(@RequestBody ErpProvince province){
+        log.info("同步省份: " + province);
+        remoteErpSystemService.syncProvince(BeanUtil.toBean(province, ErpProvinceData.class));
+        return R.ok();
+    }
+
+    /**
+    * 省份设定删除
+    * */
+    @PostMapping("/deleteProvince")
+    public R<Void> deleteProvince(@RequestBody ErpProvince province){
+        log.info("删除省份: " + province);
+        remoteErpSystemService.deleteProvince(BeanUtil.toBean(province, ErpProvinceData.class));
+        return R.ok();
+    }
+
+    // ==================== 税码设定 ====================
+
+    /**
+    * 税码设定
+    * */
+    @PostMapping("/syncTaxCode")
+    public R<Void> syncTaxCode(@RequestBody ErpTaxCode taxCode){
+        remoteErpSystemService.syncTaxCode(BeanUtil.toBean(taxCode, ErpTaxCodeData.class));
+        return R.ok();
+    }
+
+    /**
+    * 税码删除
+    * */
+    @PostMapping("/deleteTaxCode")
+    public R<Void> deleteTaxCode(@RequestBody ErpTaxCode taxCode){
+        log.info("删除税码: " + taxCode);
+        remoteErpSystemService.deleteTaxCode(BeanUtil.toBean(taxCode, ErpTaxCodeData.class));
+        return R.ok();
+    }
+
+    // ==================== 行业别 ====================
+
+    /**
+    * 行业别设定
+    * */
+    @PostMapping("/syncIndustry")
+    public R<Void> syncIndustry(@RequestBody ErpIndustry industry){
+        log.info("同步行业: " + industry);
+        remoteErpCustomerService.syncIndustry(BeanUtil.toBean(industry, ErpIndustryData.class));
+        return R.ok();
+    }
+
+    /**
+    * 行业别删除
+    * */
+    @PostMapping("/deleteIndustry")
+    public R<Void> deleteIndustry(@RequestBody ErpIndustry industry){
+        log.info("删除行业: " + industry);
+        remoteErpCustomerService.deleteIndustry(BeanUtil.toBean(industry, ErpIndustryData.class));
+        return R.ok();
+    }
+
+    // ==================== 计量单位设定 ====================
+
+    /**
+    * 计量单位设定
+    * */
+    @PostMapping("/syncUnit")
+    public R<Void> syncUnit(@RequestBody ErpUnit unit){
+        System.out.println(unit);
+        log.info("同步计量单位: " + unit);
+        remoteErpProductService.syncErpUnit(BeanUtil.toBean(unit, ErpUnitData.class));
+        return R.ok();
+    }
+
+    /**
+    * 计量单位设定删除
+    * */
+    @PostMapping("/deleteUnit")
+    public R<Void> deleteUnit(@RequestBody ErpUnit unit){
+        log.info("删除计量单位: " + unit);
+        remoteErpProductService.deleteErpUnit(BeanUtil.toBean(unit, ErpUnitData.class));
+        return R.ok();
+    }
+
+    // ==================== 订单出库状态变更 ====================
+
+    /**
+     * 未对接
+    * 订单出库状态变更
+    * */
+    @PostMapping("/updateSalesOrderStatus")
+    public R<Void> updateSalesOrderStatus(@RequestBody ErpSalesOrder salesOrder){
+        log.info("更新销售订单状态: " + salesOrder);
+        return R.ok();
+    }
+
+    // ==================== 费用转确认 ====================
+
+    /**
+     * 未对接
+    * 费用转确认
+    * */
+    @PostMapping("/confirmExpense")
+    public R<Void> confirmExpense(@RequestBody ErpExpense expense){
+        log.info("确认费用: " + expense);
+        return R.ok();
+    }
+
+    // ==================== 部门设定 ====================
+
+    /**
+    * 部门设定
+    * */
+    @PostMapping("/syncDepartment")
+    public R<Void> syncDepartment(@RequestBody ErpDepartment department){
+        remoteErpSystemService.syncDepartment(BeanUtil.toBean(department, ErpDepartmentData.class));
+        return R.ok();
+    }
+
+    /**
+    * 部门删除
+    * */
+    @PostMapping("/deleteDepartment")
+    public R<Void> deleteDepartment(@RequestBody ErpDepartment department){
+        String deptId = department.getComDept().getDeptId();
+        log.info("删除部门: " + deptId);
+        remoteErpSystemService.deleteDepartment(BeanUtil.toBean(department, ErpDepartmentData.class));
+        return R.ok();
+    }
+
+    // ==================== 银行设定 ====================
+
+    /**
+    * 银行设定
+    * */
+    @PostMapping("/syncBank")
+    public R<Void> syncBank(@RequestBody ErpBank bank){
+        log.info("同步银行: " + bank);
+        remoteErpSystemService.syncBank(BeanUtil.toBean(bank, ErpBankData.class));
+        return R.ok();
+    }
+
+    /**
+    * 银行删除
+    * */
+    @PostMapping("/deleteBank")
+    public R<Void> deleteBank(@RequestBody ErpBank bank){
+        log.info("删除银行: " + bank);
+        remoteErpSystemService.deleteBank(BeanUtil.toBean(bank, ErpBankData.class));
+        return R.ok();
+    }
+
+    // ==================== 销售价格清单 ====================
+
+    /**
+    * 销售价格清单-产品
+    * */
+    @PostMapping("/syncSalesPriceList")
+    public R<Void> syncSalesPriceList(@RequestBody ErpSalesPriceList salesPriceList){
+        log.info("同步销售价格清单: " + salesPriceList);
+        return R.ok();
+    }
+
+    /**
+    * 销售价格清单-客户产品 未对接
+    * */
+    @PostMapping("/syncCustomerSalesPriceList")
+    public R<Void> syncCustomerSalesPriceList(@RequestBody ErpCustomerSalesPriceList customerSalesPriceList){
+        log.info("同步客户销售价格清单: " + customerSalesPriceList);
+
+        return R.ok();
+    }
+
+    /**
+    * 销售价格清单删除 未对接
+    * */
+    @PostMapping("/deleteSalesPriceList")
+    public R<Void> deleteSalesPriceList(@RequestBody ErpSalesPriceList salesPriceList){
+        log.info("删除销售价格清单: " + salesPriceList);
+        return R.ok();
+    }
+
+    // ==================== 销售退货入库 ====================
+
+    /**
+    * 销售退货入库  未对接
+    * */
+    @PostMapping("/syncSalesReturnApplication")
+    public R<Void> syncSalesReturnApplication(@RequestBody ErpSalesReturnApplication salesReturnApplication){
+        log.info("同步销售退货入库: " + salesReturnApplication);
         return R.ok();
     }
 }

+ 17 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/RuoyiMallApplication.java

@@ -0,0 +1,17 @@
+package org.dromara.mall;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
+
+@SpringBootApplication
+public class RuoyiMallApplication {
+
+    public static void main(String[] args) {
+        SpringApplication application = new SpringApplication(RuoyiMallApplication.class);
+        application.setApplicationStartup(new BufferingApplicationStartup(2048));
+        application.run(args);
+        System.out.println("(♥◠‿◠)ノ゙  装修模块启动成功   ლ(´ڡ`ლ)゙  ");
+    }
+
+}

+ 12 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/NsDiyPageController.java

@@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.mall.domain.param.DiyLinkParam;
 import org.dromara.mall.domain.param.DiyPageInitParam;
 import org.dromara.mall.domain.param.DiyPageSearchParam;
 import org.dromara.mall.domain.param.TemplateParam;
@@ -152,4 +153,15 @@ public class NsDiyPageController extends BaseController {
     public R<NsDiyPageVo> getPageInit(@Validated DiyPageInitParam param) {
         return R.ok(nsDiyPageService.getPageInit(param));
     }
+
+
+    /**
+     * 获取自定义链接列表
+     * @return
+     */
+    @GetMapping("/link")
+    public R<JSONObject> getLink(DiyLinkParam param) {
+
+        return R.ok(nsDiyPageService.getLink(param));
+    }
 }

+ 9 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/INsDiyPageService.java

@@ -3,6 +3,7 @@ package org.dromara.mall.service;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.dromara.mall.domain.NsDiyPage;
+import org.dromara.mall.domain.param.DiyLinkParam;
 import org.dromara.mall.domain.param.DiyPageInitParam;
 import org.dromara.mall.domain.param.DiyPageSearchParam;
 import org.dromara.mall.domain.param.TemplateParam;
@@ -109,4 +110,12 @@ public interface INsDiyPageService extends IService<NsDiyPage>{
      * @return
      */
     NsDiyPageVo getPageInit(DiyPageInitParam param);
+
+    /**
+     * 获取自定义链接列表
+     *
+     * @return
+     */
+    JSONObject getLink(DiyLinkParam param);
+
 }

+ 194 - 16
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/NsDiyPageServiceImpl.java

@@ -18,10 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.dromara.mall.domain.param.DiyPageInitParam;
-import org.dromara.mall.domain.param.DiyPageSearchParam;
-import org.dromara.mall.domain.param.DiyRouteSearchParam;
-import org.dromara.mall.domain.param.TemplateParam;
+import org.dromara.mall.domain.param.*;
 import org.dromara.mall.domain.vo.NsDiyRouteVo;
 import org.dromara.mall.domain.vo.SceneDomainVo;
 import org.dromara.mall.domain.vo.StartUpPageConfigVo;
@@ -195,7 +192,7 @@ public class NsDiyPageServiceImpl  extends ServiceImpl<NsDiyPageMapper, NsDiyPag
         if (ObjectUtil.isNotEmpty(searchParam.getType())) queryWrapper.eq("type", searchParam.getType());
 
         //获取resource/json/loader/diy/template.json
-        String templateJsonStr = ResourceUtil.readUtf8Str("json/loader/diy/template.json");
+        String templateJsonStr = ResourceUtil.readUtf8Str("json/mall/loader/diy/template.json");
         JSONObject template = JSONUtil.parseObj(templateJsonStr);
 
         IPage<NsDiyPageVo> iPage = baseMapper.selectVoPage(pageQuery.build(), queryWrapper);
@@ -219,7 +216,7 @@ public class NsDiyPageServiceImpl  extends ServiceImpl<NsDiyPageMapper, NsDiyPag
             param.setAppType("site");
         }
         //获取resource/json/loader/diy/template.json
-        String templateJsonStr = ResourceUtil.readUtf8Str("json/loader/diy/template.json");
+        String templateJsonStr = ResourceUtil.readUtf8Str("json/mall/loader/diy/template.json");
         JSONObject template = JSONUtil.parseObj(templateJsonStr);
 
         for (String key : template.keySet()) {
@@ -232,7 +229,7 @@ public class NsDiyPageServiceImpl  extends ServiceImpl<NsDiyPageMapper, NsDiyPag
 
     public static JSONObject getPages(String type, String mode){
         //获取resource/json/loader/diy/template.json
-        String pageJsonStr = ResourceUtil.readUtf8Str("json/loader/diy/pages.json");
+        String pageJsonStr = ResourceUtil.readUtf8Str("json/mall/loader/diy/pages.json");
         JSONObject pages = JSONUtil.parseObj(pageJsonStr);
 
         if (!type.isEmpty() && pages != null) {
@@ -253,7 +250,7 @@ public class NsDiyPageServiceImpl  extends ServiceImpl<NsDiyPageMapper, NsDiyPag
 
     public static JSONObject getPagesByAddon(String type, String addon){
         //获取resource/json/loader/diy/template.json
-        String pageJsonStr = ResourceUtil.readUtf8Str("json/loader/diy/pages.json");
+        String pageJsonStr = ResourceUtil.readUtf8Str("json/mall/loader/diy/pages.json");
         JSONObject pages = JSONUtil.parseObj(pageJsonStr);
 
         if (type != null && !type.isEmpty() && pages != null) {
@@ -284,7 +281,7 @@ public class NsDiyPageServiceImpl  extends ServiceImpl<NsDiyPageMapper, NsDiyPag
 
     public static void main(String[] args) {
         //获取resource/json/loader/diy/template.json
-        String jsonStr = ResourceUtil.readUtf8Str("json/loader/diy/template.json");
+        String jsonStr = ResourceUtil.readUtf8Str("json/mall/loader/diy/template.json");
         //jan
         JSONObject template = JSONUtil.parseObj(jsonStr);
         System.out.println(template.toStringPretty());
@@ -451,11 +448,15 @@ public class NsDiyPageServiceImpl  extends ServiceImpl<NsDiyPageMapper, NsDiyPag
     }
 
     public JSONObject getComponentList(String type) {
-        String templateJsonStr = ResourceUtil.readUtf8Str("json/loader/diy/components.json");
-        JSONObject ComponentList = JSONUtil.parseObj(templateJsonStr);
+        String templateJsonStr1 = ResourceUtil.readUtf8Str("json/mall/loader/diy/components.json");
+        JSONObject ComponentList1 = JSONUtil.parseObj(templateJsonStr1);
+//        String templateJsonStr2 = ResourceUtil.readUtf8Str("json/core/loader/diy/components.json");
+//        JSONObject ComponentList2 = JSONUtil.parseObj(templateJsonStr2);
+//        //合并两个组件
+//        ComponentList1.putAll(ComponentList2);
         JSONObject res = new JSONObject();
-        for (String formComponentObj : ComponentList.keySet()) {
-            JSONObject formComponent = ComponentList.getJSONObject(formComponentObj);
+        for (String formComponentObj : ComponentList1.keySet()) {
+            JSONObject formComponent = ComponentList1.getJSONObject(formComponentObj);
             JSONObject list = formComponent.getJSONObject("list");
             Iterator<Map.Entry<String, Object>> iterator = list.entrySet().iterator();
             while (iterator.hasNext()) {
@@ -474,9 +475,8 @@ public class NsDiyPageServiceImpl  extends ServiceImpl<NsDiyPageMapper, NsDiyPag
             }
             // 根据 sort 排序
             iterator = list.entrySet().iterator();
-            if(iterator.hasNext())
-            {
-                formComponent.put("list", sortJSONObjectBySortField(list));
+            if(iterator.hasNext()) {
+                formComponent.put("list", list);
                 res.put(formComponentObj, formComponent);
             }
         }
@@ -506,4 +506,182 @@ public class NsDiyPageServiceImpl  extends ServiceImpl<NsDiyPageMapper, NsDiyPag
 
         return sortedJsonObject;
     }
+
+    /**
+     * 获取自定义链接列表
+     *
+     * @param params
+     * @return
+     */
+    @Override
+    public JSONObject getLink(DiyLinkParam params) {
+        String templateJsonStr = ResourceUtil.readUtf8Str("json/mall/loader/diy/links.json");
+        JSONObject linkEnum = JSONUtil.parseObj(templateJsonStr);
+        Integer siteId = 0;
+
+        // 使用迭代器安全地遍历和删除
+        Iterator<Map.Entry<String, Object>> iterator = linkEnum.entrySet().iterator();
+        while (iterator.hasNext()) {
+            Map.Entry<String, Object> entry = iterator.next();
+            String key = entry.getKey();
+            JSONObject linkGroup = (JSONObject) entry.getValue();
+
+            // 设置name属性
+            linkGroup.put("name", key);
+
+            // 处理child_list
+            if (linkGroup.containsKey("child_list")) {
+                JSONArray childList = linkGroup.getJSONArray("child_list");
+                if (childList != null && childList.size() > 0) {
+                    // 过滤child_list中的项目
+                        filterChildList(childList, key, siteId, params);
+
+                    // 如果过滤后child_list为空,则移除整个分组
+                    if (childList.size() == 0) {
+                        iterator.remove();
+                        continue;
+                    }
+                }
+            }
+
+            // 处理DIY_PAGE特殊逻辑
+            if (key.equals("DIY_PAGE")) {
+                handleDiyPageLinks(linkGroup, siteId);
+            }
+
+            // 设置DIY_LINK的parent属性
+            if (key.equals("DIY_LINK")) {
+                linkGroup.put("parent", "DIY_LINK");
+            }
+        }
+
+        return linkEnum;
+    }
+
+    /**
+     * 过滤child_list中的项目
+     */
+    private void filterChildList(JSONArray childList, String parentKey, Integer siteId, DiyLinkParam params) {
+        Iterator<Object> childIterator = childList.iterator();
+        while (childIterator.hasNext()) {
+            JSONObject childItem = (JSONObject) childIterator.next();
+
+            // 设置parent属性
+            childItem.put("parent", parentKey);
+
+            // 处理嵌套的child_list
+            if (childItem.containsKey("child_list")) {
+                JSONArray nestedChildList = childItem.getJSONArray("child_list");
+                if (nestedChildList != null && nestedChildList.size() > 0) {
+                    // 递归过滤嵌套的child_list
+                    filterNestedChildList(nestedChildList, siteId, params);
+
+                    // 如果嵌套child_list为空,则移除该项
+                    if (nestedChildList.size() == 0) {
+                        childIterator.remove();
+                        continue;
+                    }
+                }
+            } else {
+                // 根据link_type过滤
+                if (!shouldIncludeByLinkType(childItem, siteId)) {
+                    childIterator.remove();
+                    continue;
+                }
+
+                // 根据url_type过滤
+                if (!shouldIncludeByUrlType(childItem, params)) {
+                    childIterator.remove();
+                    continue;
+                }
+            }
+        }
+    }
+
+    /**
+     * 根据link_type判断是否应该包含该项
+     */
+    private boolean shouldIncludeByLinkType(JSONObject item, Integer siteId) {
+        String linkType = item.getStr("link_type");
+
+        if (siteId > 0) {
+            // 站点模式:只显示site和all类型的链接
+            return linkType == null || "site".equals(linkType) || "all".equals(linkType);
+        } else {
+            // 管理员模式:不显示site类型的链接
+            return !"site".equals(linkType);
+        }
+    }
+
+    /**
+     * 根据url_type判断是否应该包含该项
+     */
+    private boolean shouldIncludeByUrlType(JSONObject item, DiyLinkParam params) {
+        String urlType = item.getStr("url_type");
+        String typeParam = params.getType();
+
+        // 如果没有指定type参数,则过滤掉tab类型的链接
+        if (typeParam == null || typeParam.isEmpty()) {
+            return !"tab".equals(urlType);
+        }
+
+        return true;
+    }
+
+
+    /**
+     * 处理DIY_PAGE的特殊链接逻辑
+     */
+    private void handleDiyPageLinks(JSONObject linkGroup, Integer siteId) {
+        // 查询自定义页面
+        QueryWrapper<NsDiyPage> queryWrapper = new QueryWrapper<>();
+        queryWrapper.and(wrapper ->
+            wrapper.eq("type", "DIY_PAGE")
+                .eq("site_id", siteId)
+        ).or(wrapper ->
+            wrapper.ne("type", "DIY_PAGE")
+                .eq("site_id", siteId)
+                .eq("is_default", 0)
+        );
+        queryWrapper.select("id", "title", "page_title", "name", "template", "type", "mode", "is_default", "share", "visit_count", "create_time", "update_time");
+        queryWrapper.orderByDesc("update_time");
+
+        List<NsDiyPage> pageList = baseMapper.selectList(queryWrapper);
+
+        JSONArray childList = linkGroup.getJSONArray("child_list");
+        if (childList == null) {
+            childList = new JSONArray();
+            linkGroup.put("child_list", childList);
+        }
+
+        for (NsDiyPage item : pageList) {
+            JSONObject page = new JSONObject();
+            page.put("name", item.getName());
+            page.put("title", item.getPageTitle()); // 使用page_title字段
+            page.put("url", "/app/pages/index/diy?id=" + item.getId());
+            childList.add(page);
+        }
+    }
+
+    /**
+     * 过滤嵌套的child_list
+     */
+    private void filterNestedChildList(JSONArray nestedChildList, Integer siteId, DiyLinkParam params) {
+        Iterator<Object> nestedIterator = nestedChildList.iterator();
+        while (nestedIterator.hasNext()) {
+            JSONObject nestedItem = (JSONObject) nestedIterator.next();
+
+            // 根据link_type过滤
+            if (!shouldIncludeByLinkType(nestedItem, siteId)) {
+                nestedIterator.remove();
+                continue;
+            }
+
+            // 根据url_type过滤
+            if (!shouldIncludeByUrlType(nestedItem, params)) {
+                nestedIterator.remove();
+                continue;
+            }
+        }
+    }
 }

+ 1 - 1
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/NsDiyRouteServiceImpl.java

@@ -196,7 +196,7 @@ public class NsDiyRouteServiceImpl  extends ServiceImpl<NsDiyRouteMapper, NsDiyR
 
     public static JSONObject getLink(){
         //获取resource/json/loader/diy/links.json
-        String pageJsonStr = ResourceUtil.readUtf8Str("json/loader/diy/links.json");
+        String pageJsonStr = ResourceUtil.readUtf8Str("json/mall/loader/diy/links.json");
         JSONObject link = JSONUtil.parseObj(pageJsonStr);
         return link;
     }

+ 54 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/account_change_type.json

@@ -0,0 +1,54 @@
+{
+  "point": {
+
+    "account_point_exchange_close": {
+      "name": "兑换订单关闭",
+      "inc": 0,
+      "dec": 1
+    },
+    "account_point_exchange_order": {
+      "name": "兑换订单消费",
+      "inc": 1,
+      "dec": 0
+    },
+    "account_point_exchange_refund": {
+      "name": "兑换订单维权",
+      "inc": 1,
+      "dec": 0
+    },
+    "consume_reward": {
+      "name": "消费奖励",
+      "inc": 1,
+      "dec": 0
+    },
+    "manjian_gift_give": {
+      "name": "满减活动赠品发放",
+      "inc": 1,
+      "dec": 0
+    },
+    "manjian_gift_back": {
+      "name": "满减活动赠品退还",
+      "inc": 0,
+      "dec": 1
+    }
+  },
+  "balance": {
+    "manjian_gift_give": {
+      "name": "满减活动赠品发放",
+      "inc": 1,
+      "dec": 0
+    },
+    "manjian_gift_back": {
+      "name": "满减活动赠品退还",
+      "inc": 0,
+      "dec": 1
+    }
+  },
+  "growth": {
+    "consume_reward": {
+      "name": "消费奖励",
+      "inc": 1,
+      "dec": 0
+    }
+  }
+}

+ 6 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/account_type.json

@@ -0,0 +1,6 @@
+[
+  {
+    "name": "佣金",
+    "key": "commission"
+  }
+]

+ 29 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/adminapp/app.json

@@ -0,0 +1,29 @@
+[
+  {
+    "name": "商品管理",
+    "key": "mall_goods",
+    "group": "mall",
+    "menu_key": "mall_goods_list",
+    "sort": 1,
+    "page": "/addon/mall/pages/goods/list",
+    "icon": "/addon/mall/site/menu/goods.png"
+  },
+  {
+    "name": "订单管理",
+    "key": "mall_order",
+    "group": "mall",
+    "menu_key": "mall_order_list",
+    "sort": 2,
+    "page": "/addon/mall/pages/order/list",
+    "icon": "/addon/mall/site/menu/order.png"
+  },
+  {
+    "name": "售后管理",
+    "key": "mall_order_refund",
+    "group": "mall",
+    "menu_key": "",
+    "sort": 3,
+    "page": "/addon/mall/pages/refund/list",
+    "icon": "/addon/mall/site/menu/refund.png"
+  }
+]

+ 7 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/adminapp/app_group.json

@@ -0,0 +1,7 @@
+[
+  {
+    "name": "商城",
+    "key": "mall",
+    "sort": 1
+  }
+]

+ 44 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/adminapp/stat.json

@@ -0,0 +1,44 @@
+[
+  {
+    "name": "订单销售额",
+    "key": "sale_money",
+    "url": "mall/site/stat/total",
+    "sort": 1,
+    "page": ""
+  },
+  {
+    "name": "退款总金额",
+    "key": "refund_money",
+    "url": "mall/site/stat/total",
+    "sort": 2,
+    "page": ""
+  },
+  {
+    "name": "订单销售量",
+    "key": "order_num",
+    "url": "mall/site/stat/total",
+    "sort": 3,
+    "page": ""
+  },
+  {
+    "name": "订单退款量",
+    "key": "refund_num",
+    "url": "mall/site/stat/total",
+    "sort": 4,
+    "page": ""
+  },
+  {
+    "name": "商品浏览量",
+    "key": "access_num",
+    "url": "mall/site/stat/total",
+    "sort": 5,
+    "page": ""
+  },
+  {
+    "name": "订单下单数",
+    "key": "sale_num",
+    "url": "mall/site/stat/total",
+    "sort": 6,
+    "page": ""
+  }
+]

+ 30 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/adminapp/todo.json

@@ -0,0 +1,30 @@
+[
+  {
+    "name": "待发货订单",
+    "key": "wait_delivery",
+    "url": "mall/site/stat/todo",
+    "sort": 1,
+    "page": "/addon/mall/pages/order/list?status=2"
+  },
+  {
+    "name": "售后待处理",
+    "key": "wait_refund",
+    "url": "mall/site/stat/todo",
+    "sort": 2,
+    "page": "/addon/mall/pages/refund/list?status=1"
+  },
+  {
+    "name": "待核销订单",
+    "key": "wait_verify",
+    "url": "mall/site/stat/todo",
+    "sort": 3,
+    "page": "/addon/mall/pages/order/list?status=3"
+  },
+  {
+    "name": "提现待转账",
+    "key": "wait_transfer",
+    "url": "mall/site/stat/todo",
+    "sort": 4,
+    "page": ""
+  }
+]

+ 2 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/adv_position.json

@@ -0,0 +1,2 @@
+[
+]

+ 66 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/bottom.json

@@ -0,0 +1,66 @@
+{
+	"key": "mall",
+	"value": {
+		"backgroundColor": "#ffffff",
+		"textColor": "#333333",
+		"textHoverColor": "#F92510",
+		"type": "1",
+		"list": [
+			{
+				"text": "首页",
+				"link": {
+					"parent": "MALL_LINK",
+					"name": "MALL_INDEX",
+					"title": "get_lang ('dict_diy.mall_link_index')",
+					"url": "/app/pages/index/index"
+				},
+				"iconPath": "addon/mall/diy/tabbar/system-home.png",
+				"iconSelectPath": "addon/mall/diy/tabbar/system-home-selected.png"
+			},
+			{
+				"text": "商品分类",
+				"link": {
+					"parent": "MALL_LINK",
+					"name": "MALL_GOODS_CATEGORY",
+					"title": "商品分类",
+					"url": "/addon/mall/pages/goods/category"
+				},
+				"iconPath": "addon/mall/diy/tabbar/system-category.png",
+				"iconSelectPath": "addon/mall/diy/tabbar/system-category-selected.png"
+			},
+			{
+				"text": "店铺街",
+				"link": {
+					"parent": "MALL_LINK",
+					"name": "MALL_SHOP_STREET",
+					"title": "店铺街",
+					"url": "/addon/mall/pages/shop/list"
+				},
+				"iconPath": "addon/mall/diy/tabbar/system-shop.png",
+				"iconSelectPath": "addon/mall/diy/tabbar/system-shop-selected.png"
+			},
+			{
+				"text": "购物车",
+				"link": {
+					"parent": "MALL_LINK",
+					"name": "MALL_GOODS_CART",
+					"title": "购物车",
+					"url": "/addon/mall/pages/goods/cart"
+				},
+				"iconPath": "addon/mall/diy/tabbar/system-cart.png",
+				"iconSelectPath": "addon/mall/diy/tabbar/system-cart-selected.png"
+			},
+			{
+				"text": "我的",
+				"link": {
+					"parent": "MALL_LINK",
+					"name": "MALL_MEMBER_INDEX",
+					"title": "get_lang ('dict_diy.member_index')",
+					"url": "/app/pages/member/index"
+				},
+				"iconPath": "addon/mall/diy/tabbar/system-my.png",
+				"iconSelectPath": "addon/mall/diy/tabbar/system-my-selected.png"
+			}
+		]
+	}
+}

+ 59 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/bottom_site.json

@@ -0,0 +1,59 @@
+{
+	"key": "mall",
+	"value": {
+		"backgroundColor": "#ffffff",
+		"textColor": "#333333",
+		"textHoverColor": "#F92510",
+		"type": "1",
+		"list": [
+			{
+				"text": "首页",
+				"link": {
+					"parent": "MALL_LINK_TAB",
+					"name": "MALL_SHOP_INDEX",
+					"title": "店铺首页",
+					"url": "shop_index",
+					"url_type": "tab"
+				},
+				"iconPath": "addon/mall/diy/site_tabbar/shop-home.png",
+				"iconSelectPath": "addon/mall/diy/site_tabbar/shop-home-selected.png"
+			},
+			{
+				"text": "全部商品",
+				"link": {
+					"parent": "MALL_LINK_TAB",
+					"name": "MALL_SHOP_GOODS_LIST",
+					"title": "店铺商品列表",
+					"url": "shop_goods_list",
+					"url_type": "tab"
+				},
+				"iconPath": "addon/mall/diy/site_tabbar/shop-goods.png",
+				"iconSelectPath": "addon/mall/diy/site_tabbar/shop-goods-selected.png"
+			},
+			{
+				"text": "全部分类",
+				"link": {
+					"parent": "MALL_LINK_TAB",
+					"name": "MALL_SHOP_GOODS_CATEGORY",
+					"title": "店铺商品分类",
+					"url": "shop_goods_category",
+					"url_type": "tab"
+				},
+				"iconPath": "addon/mall/diy/site_tabbar/shop-category.png",
+				"iconSelectPath": "addon/mall/diy/site_tabbar/shop-category-selected.png"
+			},
+			{
+				"text": "领券中心",
+				"link": {
+					"parent": "MALL_LINK_TAB",
+					"name": "MALL_SHOP_COUPON_LIST",
+					"title": "店铺优惠券列表",
+					"url": "shop_coupon_list",
+					"url_type": "tab"
+				},
+				"iconPath": "addon/mall/diy/site_tabbar/shop-coupon.png",
+				"iconSelectPath": "addon/mall/diy/site_tabbar/shop-coupon-selected.png"
+			}
+		]
+	}
+}

+ 1009 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/components.json

@@ -0,0 +1,1009 @@
+{
+  "MALL_COMPONENT": {
+    "title": "商城组件",
+    "list": {
+      "MallGoodsList": {
+        "title": "商品列表",
+        "icon": "iconfont iconshangpinliebiao",
+        "path": "edit-mall-goods-list",
+        "support_page": [],
+        "uses": 0,
+        "sort": 10011,
+        "value": {
+          "style": "style-1",
+          "source": "all",
+          "num": 10,
+          "goods_category": "",
+          "goods_category_name": "请选择",
+          "goods_ids": [],
+          "position": {
+            "control": false
+          },
+          "localDelivery": {
+            "control": false
+          },
+          "sortWay": "default",
+          "goodsNameStyle": {
+            "color": "#303133",
+            "control": true,
+            "fontWeight": "normal",
+            "isShow": true
+          },
+          "priceStyle": {
+            "color": "#FF4142",
+            "control": true,
+            "isShow": true
+          },
+          "saleStyle": {
+            "color": "#999999",
+            "control": true,
+            "isShow": true
+          },
+          "labelStyle": {
+            "control": true,
+            "isShow": true
+          },
+          "distanceStyle": {
+            "control": true,
+            "isShow": true
+          },
+          "btnStyle": {
+            "fontWeight": false,
+            "padding": 0,
+            "aroundRadius": 25,
+            "cartEvent": "detail",
+            "text": "购买",
+            "textColor": "#FFFFFF",
+            "startBgColor": "#FF4142",
+            "endBgColor": "#FF4142",
+            "style": "button",
+            "control": true
+          },
+          "imgElementRounded": 10
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 10,
+          "bottomElementRounded": 10,
+          "margin": {
+            "top": 0,
+            "bottom": 0,
+            "both": 10
+          }
+        }
+      },
+      "MallSearch": {
+        "title": "搜索",
+        "icon": "iconfont iconsousuo",
+        "path": "edit-mall-search",
+        "support_page": ["DIY_INDEX"],
+        "uses": 1,
+        "sort": 10012,
+        "value": {
+          "searchStyle": "style-1",
+          "searchLink": {
+            "name": ""
+          },
+          "text": "请输入搜索关键词",
+          "iconType": "img",
+          "icon": "",
+          "imageUrl": ""
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 10,
+            "bottom": 10,
+            "both": 10
+          }
+        }
+      },
+      "MallManyGoodsList": {
+        "title": "多商品组",
+        "icon": "iconfont iconduoshangpinzu",
+        "path": "edit-mall-many-goods-list",
+        "support_page": [],
+        "uses": 0,
+        "sort": 10013,
+        "value": {
+          "style": "style-2",
+          "num": 6,
+          "sortWay": "default",
+          "headStyle": "style-1",
+          "aroundRadius": 25,
+          "source": "custom",
+          "goods_category": "",
+          "goods_category_name": "请选择",
+          "goodsNameStyle": {
+            "color": "#303133",
+            "control": true,
+            "fontWeight": "normal",
+            "isShow": true
+          },
+          "priceStyle": {
+            "color": "#FF4142",
+            "control": true,
+            "isShow": true
+          },
+          "saleStyle": {
+            "color": "#999999",
+            "control": true,
+            "isShow": true
+          },
+          "labelStyle": {
+            "control": true,
+            "isShow": true
+          },
+          "btnStyle": {
+            "fontWeight": false,
+            "padding": 0,
+            "aroundRadius": 25,
+            "cartEvent": "detail",
+            "text": "购买",
+            "textColor": "#FFFFFF",
+            "startBgColor": "#FF4142",
+            "endBgColor": "#FF4142",
+            "style": "button",
+            "control": true
+          },
+          "list": [
+            {
+              "title": "推荐",
+              "desc": "猜你喜欢",
+              "source": "all",
+              "goods_category": "",
+              "goods_category_name": "请选择",
+              "goods_ids": [],
+              "imageUrl": ""
+            }
+          ],
+          "imgElementRounded": 0
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 0,
+            "bottom": 0,
+            "both": 10
+          }
+        }
+      },
+      "MallGoodsCoupon": {
+        "title": "优惠券",
+        "icon": "iconfont iconyouhuiquan1",
+        "path": "edit-mall-goods-coupon",
+        "support_page": [],
+        "uses": 0,
+        "sort": 10014,
+        "value": {
+          "style": "style-1",
+          "styleName": "风格一",
+          "source": "all",
+          "num": 6,
+          "couponIds": [],
+          "btnText": "立即领取",
+          "couponTitle": "先领券 再购物",
+          "couponSubTitle": "领券下单 享购物优惠",
+          "titleColor": "#ffffff",
+          "subTitleColor": "#ffffff",
+          "couponItem": {
+            "bgColor": "#ffffff",
+            "bgUrl": "/addon/mall/diy/goods_coupon/style5_bg.png",
+            "textColor": "#333333",
+            "subTextColor": "#666666",
+            "moneyColor": "#333333",
+            "btnColor": "#333333",
+            "aroundRadius": 12
+          }
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 10,
+            "bottom": 10,
+            "both": 10
+          }
+        }
+      },
+      "MallMemberInfo": {
+        "title": "会员信息",
+        "icon": "iconfont iconhuiyuanzhongxin",
+        "path": "edit-mall-member-info",
+        "support_page": ["DIY_MEMBER_INDEX"],
+        "uses": 1,
+        "sort": 10015,
+        "value": {
+          "style": "style-1",
+          "styleName": "风格1",
+          "bgUrl": "",
+          "isShowAccount": true,
+          "uidTextColor": "#666666",
+          "accountTextColor": "#666666"
+        }
+      },
+      "MallShopInfo": {
+        "title": "商家信息",
+        "icon": "iconfont iconmendian",
+        "path": "edit-mall-shop-info",
+        "support_page": ["DIY_SITE_INDEX"],
+        "uses": 1,
+        "sort": 10022,
+        "position": "top_fixed",
+        "value": {
+          "positionWay": "static",
+          "fixedBgColor": "",
+          "bgGradient": false,
+          "bgImg": "/addon/mall/diy/site_index/style2/header_bg.jpg",
+          "bgOpacity": 80,
+          "search": {
+            "text": "请输入搜索关键词",
+            "link": {
+              "name": ""
+            },
+            "hotWord": {
+              "interval": 3,
+              "list": []
+            },
+            "color": "#ffffff",
+            "btnColor": "#EF000C",
+            "bgColor": "rgba(255, 255, 255, 0.2)",
+            "btnBgColor": "#ffffff"
+          },
+          "tab": {
+            "control": true,
+            "noColor": "#ffffff",
+            "selectColor": "#EF000C ",
+            "noBgColor": "transparent",
+            "selectBgColor": "#ffffff",
+            "list": [
+              {
+                "text": "新品",
+                "source": "diy_page",
+                "diy_id": "",
+                "diy_title": ""
+              },
+              {
+                "text": "热卖",
+                "source": "diy_page",
+                "diy_id": "",
+                "diy_title": ""
+              },
+              {
+                "text": "领券",
+                "source": "diy_page",
+                "diy_id": "",
+                "diy_title": ""
+              }
+            ]
+          },
+          "shop": {
+            "textColor": "#ffffff"
+          }
+        }
+      },
+      "MallOrderInfo": {
+        "title": "订单中心",
+        "icon": "iconfont icondingdanzhongxinPC-1",
+        "path": "edit-mall-order-info",
+        "support_page": ["DIY_MEMBER_INDEX"],
+        "uses": 1,
+        "sort": 10016,
+        "value": {
+          "textColor": "#303133",
+          "fontSize": 16,
+          "fontWeight": "normal",
+          "text": "订单中心",
+          "more": {
+            "text": "全部订单",
+            "color": "#999999"
+          },
+          "item": {
+            "fontSize": 12,
+            "fontWeight": "normal",
+            "color": "#303133"
+          }
+        }
+      },
+      "MallGoodsRecommend": {
+        "title": "商品推荐",
+        "icon": "iconfont icona-shangpintuijianpc30",
+        "path": "edit-mall-goods-recommend",
+        "support_page": [],
+        "uses": 0,
+        "sort": 10019,
+        "value": {
+          "priceStyle": {
+            "mainColor": "#333333"
+          },
+          "source": "all",
+          "goods_ids": [],
+          "list": [
+            {
+              "title": {
+                "text": "今日推荐",
+                "textColor": "#303133"
+              },
+              "moreTitle": {
+                "text": "精选",
+                "textColor": "#FFFFFF",
+                "startColor": "#FF7234",
+                "endColor": "#FF213F"
+              },
+              "listFrame": {
+                "startColor": "#FFE5E5",
+                "endColor": "#FFF5F0"
+              },
+              "button": {
+                "text": "首单",
+                "textColor": "#FFFFFF",
+                "color": "#FF1128"
+              }
+            },
+            {
+              "title": {
+                "text": "品质好物",
+                "textColor": "#303133"
+              },
+              "moreTitle": {
+                "text": "精选",
+                "textColor": "#FFFFFF",
+                "startColor": "#F2C719",
+                "endColor": "#FBBA08"
+              },
+              "listFrame": {
+                "startColor": "#FFEFBA",
+                "endColor": "#FFF5D7"
+              },
+              "button": {
+                "text": "首单",
+                "textColor": "#FFFFFF",
+                "color": "#FF1128"
+              }
+            },
+            {
+              "title": {
+                "text": "热销爆款",
+                "textColor": "#303133"
+              },
+              "moreTitle": {
+                "text": "精选",
+                "textColor": "#FFFFFF",
+                "startColor": "#FFA629",
+                "endColor": "#FF8E1E"
+              },
+              "listFrame": {
+                "startColor": "#FFE4D9",
+                "endColor": "#FFFBF9"
+              },
+              "button": {
+                "text": "首单",
+                "textColor": "#FFFFFF",
+                "color": "#FF1128"
+              }
+            }
+          ],
+          "imgElementRounded": 10
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 10,
+          "bottomElementRounded": 10,
+          "margin": {
+            "top": 10,
+            "bottom": 10,
+            "both": 10
+          }
+        }
+      },
+      "SingleRecommend": {
+        "title": "精选推荐",
+        "icon": "iconfont icona-jingxuantuijianpc30-12",
+        "path": "edit-single-recommend",
+        "support_page": [],
+        "uses": 0,
+        "sort": 10019,
+        "value": {
+          "titleStyle": {
+            "title": "风格1",
+            "value": "style-1"
+          },
+          "textImg": "addon/mall/diy/index/style2/single_recommend_text1.png",
+          "textLink": {
+            "name": ""
+          },
+          "titleColor": "#999999",
+          "subTitle": {
+            "text": "更多",
+            "textColor": "#999999",
+            "link": {
+              "name": ""
+            }
+          },
+          "source": "all",
+          "goods_ids": [],
+          "imageHeight": 250,
+          "list": [
+            {
+              "link": {
+                "name": ""
+              },
+              "imageUrl": "addon/mall/diy/index/style2/single_recommend_banner1.jpg",
+              "imgWidth": 345,
+              "imgHeight": 495
+            },
+            {
+              "link": {
+                "name": ""
+              },
+              "imageUrl": "addon/mall/diy/index/style2/single_recommend_banner2.jpg",
+              "imgWidth": 345,
+              "imgHeight": 495
+            }
+          ],
+          "goodsNameStyle": {
+            "color": "#303133",
+            "control": true,
+            "fontWeight": "normal"
+          },
+          "priceStyle": {
+            "mainColor": "#FF4142",
+            "mainControl": true,
+            "lineColor": "#999CA7",
+            "lineControl": true
+          },
+          "saleStyle": {
+            "color": "#FF0000",
+            "control": true
+          },
+          "topCarouselRounded": 12,
+          "bottomCarouselRounded": 12,
+          "indicatorColor": "rgba(255, 255, 255, 0.6)",
+          "indicatorActiveColor": "#ffffff"
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 10,
+            "bottom": 10,
+            "both": 10
+          }
+        }
+      },
+      "MallGoodsRanking": {
+        "title": "排行榜",
+        "icon": "iconfont icona-paihangbangpc30",
+        "path": "edit-mall-goods-ranking",
+        "support_page": ["DIY_INDEX"],
+        "uses": 0,
+        "sort": 10021,
+        "value": {
+          "list": [
+            {
+              "bgUrl": "addon/mall/rank/rank_bg_01.jpg",
+              "text": "热销排行榜",
+              "textColor": "#FFFFFF",
+              "imgUrl": "addon/mall/rank/rank_trophy.png",
+              "subTitle": {
+                "text": "查看更多",
+                "textColor": "#FFFFFF",
+                "link": {
+                  "name": "MALL_GOODS_RANK",
+                  "parent": "MALL_LINK",
+                  "title": "商品排行榜",
+                  "url": "/addon/mall/pages/goods/rank",
+                  "action": ""
+                }
+              },
+              "listFrame": {
+                "startColor": "#FEA715",
+                "endColor": "#FE1E00"
+              },
+              "source": "default",
+              "rankIds": []
+            },
+            {
+              "bgUrl": "addon/mall/rank/rank_bg_02.jpg",
+              "text": "人气排行榜",
+              "textColor": "#FFFFFF",
+              "imgUrl": "addon/mall/rank/rank_top.png",
+              "subTitle": {
+                "text": "查看更多",
+                "textColor": "#FFFFFF",
+                "link": {
+                  "name": "MALL_GOODS_RANK",
+                  "parent": "MALL_LINK",
+                  "title": "商品排行榜",
+                  "url": "/addon/mall/pages/goods/rank",
+                  "action": ""
+                }
+              },
+              "listFrame": {
+                "startColor": "#FEA715",
+                "endColor": "#FE1E00"
+              },
+              "source": "default",
+              "rankIds": []
+            }
+          ]
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 10,
+          "bottomElementRounded": 10,
+          "margin": {
+            "top": 10,
+            "bottom": 10,
+            "both": 10
+          }
+        }
+      },
+      "MallShopList": {
+        "title": "甄选好店",
+        "icon": "nc-iconfont nc-icon-dianpuV6xx",
+        "path": "edit-mall-shop-list",
+        "support_page": ["DIY_INDEX"],
+        "uses": 0,
+        "sort": 10011,
+        "value": {
+          "titleStyle": {
+            "title": "风格1",
+            "value": "style-1"
+          },
+          "textImg": "addon/mall/diy/mall_shop_list/index/title.png",
+          "siteColor": "#333333",
+          "subTitle": {
+            "text": "更多",
+            "textColor": "#999999",
+            "link": {
+              "name": ""
+            }
+          },
+          "distance": {
+            "isShow": true,
+            "sort": "mall_sale_num"
+          },
+          "style": "style-1",
+          "source": "all",
+          "num": 10,
+          "site_ids": [],
+          "siteStyle": {
+            "startBgColor": "#FFC3C4",
+            "endBgColor": "#FFDABA",
+            "gradientAngle": "to bottom",
+            "bgUrl": "/addon/mall/diy/mall_shop_list/index/bgUrl.jpg"
+          },
+          "siteNameStyle": {
+            "color": "#303133",
+            "fontWeight": "normal",
+            "isShow": true
+          },
+          "imgElementRounded": 10
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 10,
+          "bottomElementRounded": 10,
+          "margin": {
+            "top": 10,
+            "bottom": 0,
+            "both": 10
+          }
+        }
+      }
+    }
+  },
+  "MALL_GOODS_DETAIL_COMPONENT": {
+    "title": "商品详情组件",
+    "list": {
+      "MallGoodsDetailBasicInfo": {
+        "title": "基础信息",
+        "icon": "iconfont iconjichuxinxi",
+        "path": "edit-mall-goods-detail-basic-info",
+        "support_page": ["DIY_MALL_GOODS_DETAIL"],
+        "uses": 1,
+        "sort": 10011,
+        "position": "top_fixed",
+        "value": {
+          "menuContent": "index,search,cart,member",
+          "medium": {
+            "type": "square_img",
+            "indicator": true
+          },
+          "priceRegion": {
+            "showWay": "normal",
+            "bgImg": "addon/mall/diy/goods_detail/style_01.jpg",
+            "marketingBgImg": "addon/mall/diy/goods_detail/marketing_style_01.jpg",
+            "goodsStyle": {
+              "title": "风格1",
+              "value": "style-1"
+            },
+            "marketingStyle": {
+              "title": "风格1",
+              "value": "style-1"
+            }
+          },
+          "goodsInfo": {
+            "titleColor": "#333333",
+            "subTitleColor": "#999999",
+            "saleInfoColor": "#999999",
+            "priceTopRounded": 20,
+            "priceBottomRounded": 0,
+            "topRounded": 20,
+            "bottomRounded": 0,
+            "priceBgColor": "",
+            "startBgColor": "#ffffff",
+            "endBgColor": "#f6f6f6",
+            "priceAboutMargin": 0,
+            "priceTopMargin": -22,
+            "topMargin": -17,
+            "aboutMargin": 0
+          },
+          "saleInfo": ["underlined_price","sales","stock"]
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 0,
+            "bottom": 0,
+            "both": 0
+          }
+        }
+      },
+      "MallGoodsDetailPurchaseService": {
+        "title": "商品服务",
+        "icon": "iconfont iconshangpinfuwu1",
+        "path": "edit-mall-goods-detail-purchase-service",
+        "support_page": ["DIY_MALL_GOODS_DETAIL"],
+        "uses": 1,
+        "sort": 10012,
+        "value": {
+          "serviceConfig": ["goods_service","spec_select","delivery_info","coupons","activity"]
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "#FFFFFF",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 12,
+          "bottomRounded": 12,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 12,
+            "bottom": 0,
+            "both": 10
+          }
+        }
+      },
+      "MallGoodsDetailEvaluate": {
+        "title": "商品评价",
+        "icon": "iconfont iconshangpinpingjia1",
+        "path": "edit-mall-goods-detail-evaluate",
+        "support_page": ["DIY_MALL_GOODS_DETAIL"],
+        "uses": 1,
+        "sort": 10014,
+        "value": {
+          "isShow": true
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "#FFFFFF",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 12,
+          "bottomRounded": 12,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 12,
+            "bottom": 0,
+            "both": 10
+          }
+        }
+      },
+      "MallGoodsDetailAttr": {
+        "title": "商品属性",
+        "icon": "iconfont iconshangpinshuxing",
+        "path": "edit-mall-goods-detail-attr",
+        "support_page": ["DIY_MALL_GOODS_DETAIL"],
+        "uses": 1,
+        "sort": 10015,
+        "value": {
+          "isShow": true
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "#FFFFFF",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 12,
+          "bottomRounded": 12,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 12,
+            "bottom": 0,
+            "both": 10
+          }
+        }
+      },
+      "MallGoodsDetailDesc": {
+        "title": "商品详情",
+        "icon": "iconfont iconshangpinxiangqing",
+        "path": "edit-mall-goods-detail-desc",
+        "support_page": ["DIY_MALL_GOODS_DETAIL"],
+        "uses": 1,
+        "sort": 10016,
+        "value": {
+          "isShow": true
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "#FFFFFF",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 12,
+          "bottomRounded": 12,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 12,
+            "bottom": 20,
+            "both": 10
+          }
+        }
+      },
+      "MallGoodsDetailBottom": {
+        "title": "底部菜单",
+        "icon": "iconfont icondibucaidan",
+        "path": "edit-mall-goods-detail-bottom",
+        "support_page": ["DIY_MALL_GOODS_DETAIL"],
+        "position": "bottom_fixed",
+        "uses": 1,
+        "sort": 10017,
+        "value": {
+          "menuContent": ["index","service","cart"],
+          "cartName": "加入购物车",
+          "buyName": "立即购买",
+          "cartIsShow": true,
+          "cartStyle": {
+            "textColor": "#FFFFFF",
+            "fontSize": 16,
+            "gradientAngle": "to right",
+            "startColor": "#FFB000",
+            "endColor": "#FFA029"
+          },
+          "buyStyle": {
+            "textColor": "#FFFFFF",
+            "fontSize": 16,
+            "gradientAngle": "to right",
+            "startColor": "#FB7939",
+            "endColor": "#FF4142"
+          }
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "#FFFFFF",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 0,
+          "bottomRounded": 0,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 0,
+            "bottom": 0,
+            "both": 0
+          }
+        }
+      },
+      "MallGoodsDetailSow": {
+        "title": "种草秀",
+        "icon": "iconfont iconzhongcaoxiu",
+        "path": "edit-mall-goods-detail-sow",
+        "support_page": ["DIY_MALL_GOODS_DETAIL"],
+        "uses": 0,
+        "sort": 10018,
+        "value": {
+          "isShow": true
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "#FFFFFF",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 12,
+          "bottomRounded": 12,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 12,
+            "bottom": 0,
+            "both": 10
+          }
+        }
+      },
+      "MallGoodsDetailShopInfo": {
+        "title": "店铺信息",
+        "icon": "iconfont iconzhongcaoxiu",
+        "path": "edit-mall-goods-detail-shop-info",
+        "support_page": ["DIY_MALL_GOODS_DETAIL"],
+        "uses": 0,
+        "sort": 10019,
+        "value": {
+          "isShow": true,
+          "recommend": {
+            "isShow": true,
+            "num": 3
+          }
+        },
+        "template": {
+          "textColor": "#303133",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "componentBgUrl": "",
+          "componentBgAlpha": 2,
+          "componentStartBgColor": "#FFFFFF",
+          "componentEndBgColor": "",
+          "componentGradientAngle": "to bottom",
+          "topRounded": 12,
+          "bottomRounded": 12,
+          "elementBgColor": "",
+          "topElementRounded": 0,
+          "bottomElementRounded": 0,
+          "margin": {
+            "top": 12,
+            "bottom": 0,
+            "both": 10
+          }
+        }
+      }
+    }
+  }
+}

+ 190 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/links.json

@@ -0,0 +1,190 @@
+{
+	"MALL_BASE_LINK": {
+		"title": "商城",
+		"type": "folder",
+		"child_list": [
+			{
+				"name": "MALL_LINK",
+				"title": "基础链接",
+				"child_list": [
+					{
+						"name": "MALL_SHOP_STREET",
+						"title": "店铺街",
+						"url": "/addon/mall/pages/shop/list",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_GOODS_CATEGORY",
+						"title": "商品分类",
+						"url": "/addon/mall/pages/goods/category",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_GOODS_LIST",
+						"title": "商品列表",
+						"url": "/addon/mall/pages/goods/list",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_GOODS_RANK",
+						"title": "商品排行",
+						"url": "/addon/mall/pages/goods/rank",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_GOODS_SEARCH",
+						"title": "商品搜索",
+						"url": "/addon/mall/pages/goods/search",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_GOODS_CART",
+						"title": "购物车",
+						"url": "/addon/mall/pages/goods/cart",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_COUPON_LIST",
+						"title": "优惠券列表",
+						"url": "/addon/mall/pages/coupon/list",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_MY_COUPON",
+						"title": "我的优惠券",
+						"url": "/addon/mall/pages/member/my_coupon",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_ORDER_LIST",
+						"title": "订单列表",
+						"url": "/addon/mall/pages/order/list",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_REFUND_LIST",
+						"title": "退款列表",
+						"url": "/addon/mall/pages/refund/list",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_INVOICE",
+						"title": "发票管理",
+						"url": "/addon/mall/pages/invoice/list",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_COLLECT",
+						"title": "我的收藏",
+						"url": "/addon/mall/pages/collect/goods",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_BROWSE",
+						"title": "我的足迹",
+						"url": "/addon/mall/pages/member/browse",
+						"is_share": 1,
+						"action": ""
+					},
+					{
+						"name": "MALL_SHOP_APPLY",
+						"title": "申请入驻",
+						"url": "/addon/mall/pages/member/merchant_settled",
+						"is_share": 1,
+						"action": ""
+					}
+				]
+			},
+			{
+				"name": "MALL_LINK_TAB",
+				"title": "Tab页链接",
+				"child_list": [
+					{
+						"name": "MALL_SHOP_INDEX",
+						"title": "店铺首页",
+						"url": "shop_index",
+						"url_type": "tab",
+						"is_share": 1,
+						"action": "",
+						"link_type": "site"
+					},
+					{
+						"name": "MALL_SHOP_GOODS_CATEGORY",
+						"title": "店铺商品分类",
+						"url": "shop_goods_category",
+						"url_type": "tab",
+						"is_share": 1,
+						"action": "",
+						"link_type": "site"
+					},
+					{
+						"name": "MALL_SHOP_GOODS_LIST",
+						"title": "店铺商品列表",
+						"url": "shop_goods_list",
+						"url_type": "tab",
+						"is_share": 1,
+						"action": "",
+						"link_type": "site"
+					},
+					{
+						"name": "MALL_SHOP_COUPON_LIST",
+						"title": "店铺优惠券列表",
+						"url": "shop_coupon_list",
+						"url_type": "tab",
+						"is_share": 1,
+						"action": "",
+						"link_type": "site"
+					}
+				]
+			},
+			{
+				"name": "MALL_GOODS_SELECT",
+				"title": "商品选择",
+				"component": "/src/addon/mall/views/admin/goods/components/goods-select-content.vue",
+				"link_type": "admin"
+			},
+			{
+				"name": "MALL_GOODS_CATEGORY_SELECT",
+				"title": "商品分类选择",
+				"component": "/src/addon/mall/views/admin/goods/components/goods-category-select-content.vue",
+				"link_type": "admin"
+			},
+			{
+				"name": "MALL_COUPON_SELECT",
+				"title": "优惠券选择",
+				"component": "/src/addon/mall/views/admin/coupon/components/coupon-select-content.vue",
+				"link_type": "admin"
+			},
+			{
+				"name": "MALL_SHOP_GOODS_SELECT",
+				"title": "商品选择",
+				"component": "/src/addon/mall/views/site/goods/components/goods-select-content.vue",
+				"link_type": "site"
+			},
+			{
+				"name": "MALL_SHOP_GOODS_CATEGORY_SELECT",
+				"title": "商品分类选择",
+				"component": "/src/addon/mall/views/site/goods/components/goods-category-select-content.vue",
+				"link_type": "site"
+			},
+			{
+				"name": "MALL_SHOP_COUPON_SELECT",
+				"title": "优惠券选择",
+				"component": "/src/addon/mall/views/site/marketing/coupon/components/coupon-select-content.vue",
+				"link_type": "site"
+			}
+		]
+	}
+}

+ 4592 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/pages.json

@@ -0,0 +1,4592 @@
+{
+  "DIY_INDEX": {
+    "mall_index_style2": {
+      "title": "商城首页1",
+      "cover": "",
+      "preview": "",
+      "desc": "",
+      "mode": "diy",
+      "data": {
+        "global": {
+          "title": "首页",
+          "pageStartBgColor": "rgba(246, 246, 246, 1)",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "bgUrl": "",
+          "bgHeightScale": 100,
+          "imgWidth": "",
+          "imgHeight": "",
+          "topStatusBar": {
+            "isShow": false,
+            "bgColor": "#ffffff",
+            "rollBgColor": "#ffffff",
+            "style": "style-1",
+            "styleName": "风格1",
+            "textColor": "#333333",
+            "rollTextColor": "#333333",
+            "textAlign": "center",
+            "inputPlaceholder": "请输入搜索关键词",
+            "imgUrl": "",
+            "link": {
+              "name": ""
+            }
+          },
+          "bottomTabBar": {
+            "control": true,
+            "isShow": true
+          },
+          "popWindow": {
+            "imgUrl": "",
+            "imgWidth": "",
+            "imgHeight": "",
+            "count": -1,
+            "show": 0,
+            "link": {
+              "name": ""
+            }
+          },
+          "template": {
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            }
+          }
+        },
+        "value": [
+          {
+            "path": "edit-carousel-search",
+            "uses": 1,
+            "position": "top_fixed",
+            "id": "6r6qw5679oo0",
+            "componentName": "CarouselSearch",
+            "componentTitle": "轮播搜索",
+            "ignore": [
+              "componentBgColor",
+              "componentBgUrl",
+              "marginTop",
+              "marginBottom",
+              "topRounded",
+              "bottomRounded",
+              "pageBgColor",
+              "marginBoth"
+            ],
+            "positionWay": "fixed",
+            "fixedBgColor": "",
+            "bgGradient": false,
+            "search": {
+              "logo": "addon/mall/diy/index/style2/logo.png",
+              "text": "请输入搜索关键词",
+              "link": {
+                "name": "MALL_GOODS_SEARCH",
+                "parent": "MALL_LINK",
+                "title": "商品搜索",
+                "url": "\/addon\/mall\/pages\/goods\/search",
+                "action": ""
+              },
+              "style": "style-2",
+              "styleName": "风格2",
+              "subTitle": {
+                "text": "本地好价·优选生活",
+                "textColor": "#000000",
+                "startColor": "rgba(255,255,255,0.7)",
+                "endColor": ""
+              },
+              "positionColor": "#ffffff",
+              "hotWord": {
+                "interval": 3,
+                "list": [
+                  {
+                    "text": "新品推荐",
+                    "id": "1l3juvqvimw0"
+                  },
+                  {
+                    "text": "爆款",
+                    "id": "2vejp61n1xk0"
+                  }
+                ]
+              },
+              "color": "#999999",
+              "btnColor": "#ffffff",
+              "bgColor": "#ffffff",
+              "btnBgColor": "#ff3434"
+            },
+            "tab": {
+              "control": false,
+              "noColor": "rgba(255, 255, 255, 0.7)",
+              "selectColor": "rgba(255, 255, 255, 1)",
+              "fixedNoColor": "rgba(255, 255, 255, 0.7)",
+              "fixedSelectColor": "rgba(255, 255, 255, 1)",
+              "list": [
+                {
+                  "text": "精选",
+                  "source": "diy_page",
+                  "diy_id": "",
+                  "diy_title": "",
+                  "id": "1wx7m1wykqbk"
+                },
+                {
+                  "text": "猜你喜欢",
+                  "source": "diy_page",
+                  "diy_id": "",
+                  "diy_title": "",
+                  "id": "1gfh1oc6fsjk"
+                },
+                {
+                  "text": "蔬菜",
+                  "source": "diy_page",
+                  "diy_id": "",
+                  "diy_title": "",
+                  "id": "25v390lfsd34"
+                },
+                {
+                  "text": "水果",
+                  "source": "diy_page",
+                  "diy_id": "",
+                  "diy_title": "",
+                  "id": "2zb1znvn5jc0"
+                },
+                {
+                  "id": "5acf7ab4f040",
+                  "text": "海鲜",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": ""
+                },
+                {
+                  "id": "37a9vwqt1r20",
+                  "text": "熟食",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": ""
+                },
+                {
+                  "id": "1en9w5jstvs0",
+                  "text": "米面",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": ""
+                },
+                {
+                  "id": "3ae14irgqoa0",
+                  "text": "粮油",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": " "
+                }
+              ]
+            },
+            "swiper": {
+              "control": true,
+              "interval": 5,
+              "indicatorColor": "rgba(255, 255, 255, 1)",
+              "indicatorActiveColor": "#FF0E0E",
+              "indicatorStyle": "style-3",
+              "indicatorAlign": "center",
+              "swiperStyle": "style-3",
+              "imageHeight": 274,
+              "topRounded": 0,
+              "bottomRounded": 0,
+              "list": [
+                {
+                  "imageUrl": "addon/mall/diy\/index\/style2\/banner7.jpg",
+                  "imgWidth": 750,
+                  "imgHeight": 580,
+                  "link": {
+                    "name": ""
+                  },
+                  "id": "397htiaqung0",
+                  "width": 355,
+                  "height": 274.53
+                },
+                {
+                  "imageUrl": "addon/mall/diy\/index\/style2\/banner8.jpg",
+                  "imgWidth": 750,
+                  "imgHeight": 580,
+                  "link": {
+                    "name": ""
+                  },
+                  "id": "6mrj3vwiamw0",
+                  "width": 355,
+                  "height": 274.53
+                },
+                {
+                  "imageUrl": "addon/mall/diy\/index\/style2\/banner9.jpg",
+                  "imgWidth": 750,
+                  "imgHeight": 580,
+                  "link": {
+                    "name": ""
+                  },
+                  "id": "6mrj3vwiamw0_1",
+                  "width": 355,
+                  "height": 274.53
+                }
+              ]
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "pageStyle": "padding-top:2rpx;padding-bottom:0rpx;padding-right:0rpx;padding-left:0rpx;"
+          },
+          {
+            "path": "edit-horz-blank",
+            "uses": 0,
+            "id": "4wk9nzocm3c",
+            "componentName": "HorzBlank",
+            "componentTitle": "辅助空白",
+            "ignore": [
+              "pageBgColor",
+              "componentBgUrl"
+            ],
+            "height": 22,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(246, 246, 246, 1)",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 17,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": -21,
+              "bottom": 0,
+              "both": 0
+            },
+            "pageStyle": "padding-top:2rpx;padding-bottom:0rpx;padding-right:0rpx;padding-left:0rpx;"
+          },
+          {
+            "path": "edit-graphic-nav",
+            "uses": 0,
+            "id": "6h28ebyqqnk0",
+            "componentName": "GraphicNav",
+            "componentTitle": "图文导航",
+            "ignore": [],
+            "layout": "horizontal",
+            "mode": "graphic",
+            "showStyle": "fixed",
+            "rowCount": 5,
+            "pageCount": 2,
+            "carousel": {
+              "type": "circle",
+              "color": "#FFFFFF"
+            },
+            "imageSize": 40,
+            "aroundRadius": 25,
+            "font": {
+              "size": 12,
+              "weight": "normal",
+              "color": "#303133"
+            },
+            "list": [
+              {
+                "title": "签到",
+                "link": {
+                  "name": "MEMBER_MY_SIGN_IN",
+                  "parent": "MEMBER_LINK",
+                  "title": "我的签到",
+                  "url": "\/app\/pages\/member\/sign_in",
+                  "action": ""
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_sign_in.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "1evjnc3zeb5s",
+                "imgWidth": 180,
+                "imgHeight": 180
+              },
+              {
+                "title": "分销管理",
+                "link": {
+                  "name": "MALL_FENXIAO_INDEX",
+                  "parent": "MALL_FENXIAO_LINK",
+                  "title": "分销中心",
+                  "url": "\/addon\/mall_fenxiao\/pages\/index",
+                  "action": ""
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_fenxiao.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "2ktzer8wrnc0",
+                "imgWidth": 180,
+                "imgHeight": 180
+              },
+              {
+                "title": "分销专区",
+                "link": {
+                  "name": "MALL_FENXIAO_ZONE",
+                  "parent": "MALL_FENXIAO_LINK",
+                  "title": "分销专区",
+                  "url": "\/addon\/mall_fenxiao\/pages\/zone",
+                  "action": "decorate"
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_fenxiao_zone.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "4aixr8qu5ek0",
+                "imgWidth": 180,
+                "imgHeight": 180
+              },
+              {
+                "title": "领券中心",
+                "link": {
+                  "name": "MALL_COUPON_LIST",
+                  "parent": "MALL_LINK",
+                  "title": "优惠券列表",
+                  "url": "\/addon\/mall\/pages\/coupon\/list",
+                  "action": ""
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_coupon.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "3bmtyrslxxy0",
+                "imgWidth": 180,
+                "imgHeight": 180
+              },
+              {
+                "id": "7bqpc6bjha80",
+                "title": "积分商城",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_point_index.png",
+                "imgWidth": 135,
+                "imgHeight": 135,
+                "link": {
+                  "name": "POINTS_MALL_INDEX",
+                  "parent": "POINTS_MALL_LINK",
+                  "title": "积分商城",
+                  "url": "\/addon\/points_mall\/pages\/index",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "7bqpc6bjha80",
+                "title": "我的订单",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_my_order.png",
+                "imgWidth": 180,
+                "imgHeight": 180,
+                "link": {
+                  "name": "MALL_ORDER_LIST",
+                  "parent": "MALL_LINK",
+                  "title": "订单列表",
+                  "url": "\/addon\/mall\/pages\/order\/list",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "title": "会员中心",
+                "link": {
+                  "name": "MALL_MEMBER_INDEX",
+                  "parent": "MALL_LINK",
+                  "title": "商城个人中心",
+                  "url": "\/app\/pages\/member\/index",
+                  "action": "decorate"
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_member.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "4aixr8qu5ek0",
+                "imgWidth": 180,
+                "imgHeight": 180
+              },
+              {
+                "id": "tgo5qmjawnk",
+                "title": "种草社区",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_sow_community.png",
+                "imgWidth": 180,
+                "imgHeight": 180,
+                "link": {
+                  "name": "SOW_COMMUNITY_INDEX",
+                  "parent": "SOW_COMMUNITY_LINK",
+                  "title": "种草社区",
+                  "url": "\/addon\/sow_community\/pages\/index",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "1fprven2cqrk_shop",
+                "title": "店铺街",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_shop_street.png",
+                "imgWidth": 180,
+                "imgHeight": 180,
+                "link": {
+                  "name": "MALL_SHOP_STREET",
+                  "parent": "MALL_LINK",
+                  "title": "店铺街",
+                  "url": "\/addon\/mall\/pages\/shop\/list",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "2ktzer8wrnc0_apply",
+                "title": "申请入驻",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_shop_apply.png",
+                "imgWidth": 180,
+                "imgHeight": 180,
+                "link": {
+                  "name": "MALL_SHOP_APPLY",
+                  "parent": "MALL_LINK",
+                  "title": "申请入驻",
+                  "url": "\/addon\/mall\/pages\/member\/merchant_settled",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              }
+            ],
+            "swiper": {
+              "indicatorColor": "rgba(0, 0, 0, 0.3)",
+              "indicatorActiveColor": "#FF0E0E",
+              "indicatorStyle": "style-1",
+              "indicatorAlign": "center"
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": -10,
+              "bottom": 10,
+              "both": 10
+            },
+            "pageStyle": "padding-top:2rpx;padding-bottom:0rpx;padding-right:0rpx;padding-left:0rpx;"
+          },
+          {
+            "path": "edit-notice",
+            "uses": 0,
+            "id": "5ux60nfdm680",
+            "componentName": "Notice",
+            "componentTitle": "公告",
+            "ignore": [],
+            "noticeType": "img",
+            "imgType": "diy",
+            "systemUrl": "style_1",
+            "imageUrl": "addon/mall/diy\/index\/style2\/notice.png",
+            "showType": "popup",
+            "scrollWay": "upDown",
+            "fontSize": 12,
+            "fontWeight": "normal",
+            "noticeTitle": "公告",
+            "list": [
+              {
+                "text": "最新公告:欢迎来到小店参观!",
+                "link": {
+                  "name": ""
+                },
+                "id": "1rz6s4buaxc0"
+              },
+              {
+                "id": "2wksdax75fc0",
+                "text": "最新公告:欢迎来到小店参观!",
+                "link": {
+                  "name": ""
+                }
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStyle": "padding-top:2rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;"
+          },
+          {
+            "path": "edit-mall-goods-coupon",
+            "uses": 0,
+            "id": "5zq2inzbmu00",
+            "componentName": "MallGoodsCoupon",
+            "componentTitle": "优惠券",
+            "ignore": [
+              "componentBgColor",
+              "componentBgUrl"
+            ],
+            "style": "style-3",
+            "styleName": "风格3",
+            "source": "all",
+            "num": 6,
+            "couponIds": [],
+            "btnText": "立即领取",
+            "couponTitle": "每日省钱",
+            "couponSubTitle": "先领券 再购物",
+            "titleColor": "#ffffff",
+            "subTitleColor": "#ffffff",
+            "couponItem": {
+              "bgColor": "#ffffff",
+              "textColor": "#333333",
+              "subTextColor": "#666666",
+              "moneyColor": "#333333",
+              "aroundRadius": 12
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 10,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStyle": "padding-top:20rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;"
+          },
+          {
+            "path": "edit-mall-goods-recommend",
+            "uses": 0,
+            "id": "2ezdal8ps1og",
+            "componentName": "MallGoodsRecommend",
+            "componentTitle": "商品推荐",
+            "ignore": [],
+            "priceStyle": {
+              "mainColor": "#333333"
+            },
+            "source": "all",
+            "goods_ids": [],
+            "list": [
+              {
+                "title": {
+                  "text": "今日推荐",
+                  "textColor": "#303133"
+                },
+                "moreTitle": {
+                  "text": "精选",
+                  "textColor": "#FFFFFF",
+                  "startColor": "#FF7234",
+                  "endColor": "#FF213F"
+                },
+                "listFrame": {
+                  "startColor": "#FFE5E5",
+                  "endColor": "#FFF5F0"
+                },
+                "button": {
+                  "text": "首单",
+                  "textColor": "#FFFFFF",
+                  "color": "#FF1128"
+                },
+                "id": "6t9kv928d680"
+              },
+              {
+                "title": {
+                  "text": "品质好物",
+                  "textColor": "#303133"
+                },
+                "moreTitle": {
+                  "text": "精选",
+                  "textColor": "#FFFFFF",
+                  "startColor": "#F2C719",
+                  "endColor": "#FBBA08"
+                },
+                "listFrame": {
+                  "startColor": "#FFEFBA",
+                  "endColor": "#FFF5D7"
+                },
+                "button": {
+                  "text": "首单",
+                  "textColor": "#FFFFFF",
+                  "color": "#FF1128"
+                },
+                "id": "4u1rv0e4qpo0"
+              },
+              {
+                "title": {
+                  "text": "热销爆款",
+                  "textColor": "#303133"
+                },
+                "moreTitle": {
+                  "text": "精选",
+                  "textColor": "#FFFFFF",
+                  "startColor": "#FFA629",
+                  "endColor": "#FF8E1E"
+                },
+                "listFrame": {
+                  "startColor": "#FFE4D9",
+                  "endColor": "#FFFBF9"
+                },
+                "button": {
+                  "text": "首单",
+                  "textColor": "#FFFFFF",
+                  "color": "#FF1128"
+                },
+                "id": "4v1bhzhxay60"
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 10,
+            "bottomElementRounded": 10,
+            "margin": {
+              "top": 10,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStyle": "padding-top:20rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;"
+          },
+          {
+            "path": "edit-active-cube",
+            "uses": 0,
+            "id": "3vmpaydr2a60",
+            "componentName": "ActiveCube",
+            "componentTitle": "活动魔方",
+            "ignore": [],
+            "titleStyle": {
+              "title": "风格5",
+              "value": "style-5"
+            },
+            "text": "超值爆款",
+            "textLink": {
+              "name": ""
+            },
+            "titleColor": "#F91700",
+            "subTitle": {
+              "text": "为您精选爆款",
+              "textColor": "rgba(153, 153, 153, 1)",
+              "startColor": "rgba(255, 255, 255, 1)",
+              "endColor": "rgba(255, 255, 255, 1)",
+              "link": {
+                "name": ""
+              }
+            },
+            "blockStyle": {
+              "title": "风格2",
+              "value": "style-2",
+              "fontWeight": "bold",
+              "btnText": "italics"
+            },
+            "list": [
+              {
+                "title": {
+                  "text": "品质好物",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "品质好物推荐",
+                  "textColor": "#999999",
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "moreTitle": {
+                  "text": "GO!",
+                  "startColor": "#FFC051",
+                  "endColor": "#FF9C00"
+                },
+                "listFrame": {
+                  "startColor": "#FFF1DB",
+                  "endColor": "#FFFBF4"
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods1.png",
+                "id": "77tls7gaho80"
+              },
+              {
+                "title": {
+                  "text": "热销推荐",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "本周热销商品",
+                  "textColor": "#999999",
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "moreTitle": {
+                  "text": "GO!",
+                  "startColor": "#A4E894",
+                  "endColor": "#45CC2A"
+                },
+                "listFrame": {
+                  "startColor": "#E6F6E2",
+                  "endColor": "#F5FDF3"
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods2.png",
+                "id": "m4scwuc67do"
+              },
+              {
+                "title": {
+                  "text": "优惠好物",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "领券后更优惠",
+                  "textColor": "#999999",
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "moreTitle": {
+                  "text": "GO!",
+                  "startColor": "#4BC2FF",
+                  "endColor": "#1F7DFF"
+                },
+                "listFrame": {
+                  "startColor": "#E2F6FF",
+                  "endColor": "#F2FAFF"
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods3.png",
+                "id": "33nbfp8czea0"
+              },
+              {
+                "title": {
+                  "text": "今日推荐",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "诚意推荐",
+                  "textColor": "#999999",
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "moreTitle": {
+                  "text": "GO!",
+                  "startColor": "#FB792F",
+                  "endColor": "#F91700"
+                },
+                "listFrame": {
+                  "startColor": "#FFEAEA",
+                  "endColor": "#FFFCFB"
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods4.png",
+                "id": "49scoy4bgsg0"
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "#FFFAF5",
+            "topElementRounded": 10,
+            "bottomElementRounded": 10,
+            "margin": {
+              "top": 10,
+              "bottom": 0,
+              "both": 10
+            },
+            "textImg": "static\/resource\/images\/diy\/active_cube\/active_cube_text1.png",
+            "contentBtnTextStyle": "italics",
+            "pageStyle": "padding-top:20rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;"
+          },
+          {
+            "path": "edit-picture-show",
+            "uses": 0,
+            "id": "2o99dw6mytk0",
+            "componentName": "PictureShow",
+            "componentTitle": "图片展播",
+            "ignore": [],
+            "moduleOne": {
+              "head": {
+                "textImg": "static\/resource\/images\/diy\/picture_show\/picture_show_head_text1.png",
+                "subText": "每日上新",
+                "subTextColor": "#666666"
+              },
+              "list": [
+                {
+                  "btnTitle": {
+                    "text": "仅限今日",
+                    "color": "#ffffff",
+                    "startColor": "#F5443E",
+                    "endColor": "#F5443E"
+                  },
+                  "link": {
+                    "name": ""
+                  },
+                  "imageUrl": "static\/resource\/images\/diy\/picture_show\/picture_01.png"
+                },
+                {
+                  "btnTitle": {
+                    "text": "超值上新",
+                    "color": "#ffffff",
+                    "startColor": "#F5443E",
+                    "endColor": "#F5443E"
+                  },
+                  "link": {
+                    "name": ""
+                  },
+                  "imageUrl": "static\/resource\/images\/diy\/picture_show\/picture_02.png"
+                }
+              ],
+              "listFrame": {
+                "startColor": "#FFDDDD",
+                "endColor": "#FFEBED"
+              }
+            },
+            "moduleTwo": {
+              "head": {
+                "textImg": "static\/resource\/images\/diy\/picture_show\/picture_show_head_text2.png",
+                "subText": "好物低至1折1",
+                "subTextColor": "#666666"
+              },
+              "list": [
+                {
+                  "btnTitle": {
+                    "text": "大牌直降",
+                    "color": "#ffffff",
+                    "startColor": "#F5443E",
+                    "endColor": "#F5443E"
+                  },
+                  "link": {
+                    "name": ""
+                  },
+                  "imageUrl": "static\/resource\/images\/diy\/picture_show\/picture_03.png"
+                },
+                {
+                  "btnTitle": {
+                    "text": "天天底价",
+                    "color": "#ffffff",
+                    "startColor": "#F5443E",
+                    "endColor": "#F5443E"
+                  },
+                  "link": {
+                    "name": ""
+                  },
+                  "imageUrl": "static\/resource\/images\/diy\/picture_show\/picture_04.png"
+                }
+              ],
+              "listFrame": {
+                "startColor": "#E6E1FE",
+                "endColor": "#F0EEFC"
+              }
+            },
+            "moduleRounded": {
+              "topRounded": 10,
+              "bottomRounded": 10
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 10,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStyle": "padding-top:20rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;"
+          },
+          {
+            "path": "edit-picture-show",
+            "uses": 0,
+            "id": "3wz1r5bww3q0",
+            "componentName": "PictureShow",
+            "componentTitle": "图片展播",
+            "ignore": [],
+            "moduleOne": {
+              "head": {
+                "textImg": "static\/resource\/images\/diy\/picture_show\/picture_show_head_text3.png",
+                "subText": "最高补1200元",
+                "subTextColor": "#666666"
+              },
+              "list": [
+                {
+                  "btnTitle": {
+                    "text": "全网低价",
+                    "color": "#ffffff",
+                    "startColor": "#F5443E",
+                    "endColor": "#F5443E"
+                  },
+                  "link": {
+                    "name": ""
+                  },
+                  "imageUrl": "static\/resource\/images\/diy\/picture_show\/picture_05.png"
+                },
+                {
+                  "btnTitle": {
+                    "text": "大牌特惠",
+                    "color": "#ffffff",
+                    "startColor": "#F5443E",
+                    "endColor": "#F5443E"
+                  },
+                  "link": {
+                    "name": ""
+                  },
+                  "imageUrl": "static\/resource\/images\/diy\/picture_show\/picture_06.png"
+                }
+              ],
+              "listFrame": {
+                "startColor": "rgba(212, 239, 255, 1)",
+                "endColor": "rgba(235, 244, 250, 1)"
+              }
+            },
+            "moduleTwo": {
+              "head": {
+                "textImg": "static\/resource\/images\/diy\/picture_show\/picture_show_head_text4.png",
+                "subText": "每日上新",
+                "subTextColor": "#666666"
+              },
+              "list": [
+                {
+                  "btnTitle": {
+                    "text": "人气爆款",
+                    "color": "#ffffff",
+                    "startColor": "#F5443E",
+                    "endColor": "#F5443E"
+                  },
+                  "link": {
+                    "name": ""
+                  },
+                  "imageUrl": "static\/resource\/images\/diy\/picture_show\/picture_07.png"
+                },
+                {
+                  "btnTitle": {
+                    "text": "官方正品",
+                    "color": "#ffffff",
+                    "startColor": "#F5443E",
+                    "endColor": "#F5443E"
+                  },
+                  "link": {
+                    "name": ""
+                  },
+                  "imageUrl": "static\/resource\/images\/diy\/picture_show\/picture_08.png"
+                }
+              ],
+              "listFrame": {
+                "startColor": "rgba(255, 241, 212, 1)",
+                "endColor": "rgba(249, 242, 229, 1)"
+              }
+            },
+            "moduleRounded": {
+              "topRounded": 10,
+              "bottomRounded": 10
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 10,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStyle": "padding-top:20rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;"
+          },
+          {
+            "path": "edit-mall-newcomer",
+            "uses": 1,
+            "id": "2hjc1q7f7q80",
+            "componentName": "MallNewcomer",
+            "componentTitle": "新人专享",
+            "ignore": [],
+            "style": {
+              "title": "风格1",
+              "value": "style-1"
+            },
+            "textImg": "addon/mall/diy\/newcomer\/style_title_01.png",
+            "subTitle": {
+              "text": "查看更多",
+              "textColor": "#FFFFFF",
+              "startColor": "#FB792F",
+              "endColor": "#F91700",
+              "link": {
+                "name": ""
+              }
+            },
+            "countDown": {
+              "numberColor": "rgba(255, 0, 0, 1)",
+              "numberBg": {
+                "startColor": "rgba(255, 255, 255, 1)",
+                "endColor": ""
+              },
+              "otherColor": "rgba(255, 255, 255, 1)"
+            },
+            "source": "all",
+            "num": 10,
+            "goods_category": "",
+            "goods_category_name": "请选择",
+            "goods_ids": [],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#ff6D1A",
+            "componentEndBgColor": "rgba(255, 70, 56, 1)",
+            "componentGradientAngle": "to right",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 10,
+            "bottomElementRounded": 10,
+            "margin": {
+              "top": 10,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStyle": "padding-top:20rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;"
+          },
+          {
+            "path": "edit-mall-shop-list",
+            "uses": 0,
+            "id": "23jelzdbapu",
+            "componentName": "MallShopList",
+            "componentTitle": "甄选好店",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "titleStyle": {
+              "title": "风格 1",
+              "value": "style-1"
+            },
+            "textImg": "addon/mall/diy/mall_shop_list/index/title.png",
+            "siteColor": "#333333",
+            "subTitle": {
+              "text": "更多",
+              "textColor": "#999999",
+              "link": {
+                "name": ""
+              }
+            },
+            "distance": {
+              "isShow": true,
+              "sort": "mall_sale_num"
+            },
+            "style": "style-2",
+            "source": "all",
+            "num": 3,
+            "site_ids": [],
+            "position": {
+              "control": false
+            },
+            "localDelivery": {
+              "control": false
+            },
+            "siteStyle": {
+              "startBgColor": "#FFC3C4",
+              "endBgColor": "#FFDABA",
+              "gradientAngle": "to bottom",
+              "bgUrl": "/addon/mall/diy/mall_shop_list/index/bgUrl.jpg"
+            },
+            "siteNameStyle": {
+              "color": "#303133",
+              "fontWeight": "normal",
+              "isShow": false
+            },
+            "imgElementRounded": 10,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 10,
+            "bottomElementRounded": 10,
+            "margin": {
+              "top": 10,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStyle": "padding-top:2rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;"
+          },
+          {
+            "path": "edit-single-recommend",
+            "uses": 0,
+            "id": "2mxsu6pbqpu0",
+            "componentName": "SingleRecommend",
+            "componentTitle": "精选推荐",
+            "ignore": [],
+            "titleStyle": {
+              "title": "风格1",
+              "value": "style-1"
+            },
+            "textImg": "addon/mall/diy\/index\/style2\/single_recommend_text1.png",
+            "textLink": {
+              "name": ""
+            },
+            "titleColor": "rgba(153, 153, 153, 1)",
+            "subTitle": {
+              "text": "更多",
+              "textColor": "rgba(153, 153, 153, 1)",
+              "link": {
+                "name": ""
+              }
+            },
+            "source": "all",
+            "goods_ids": [],
+            "imageHeight": "250",
+            "list": [
+              {
+                "id": "18o4pyaufktc",
+                "imageUrl": "addon/mall/diy\/index\/style2\/single_recommend_banner1.jpg",
+                "imgWidth": 345,
+                "imgHeight": 495,
+                "link": {
+                  "name": ""
+                },
+                "width": 355,
+                "height": 509.3478260869565
+              },
+              {
+                "id": "18o8pyaufktc",
+                "imageUrl": "addon/mall/diy\/index\/style2\/single_recommend_banner2.jpg",
+                "imgWidth": 345,
+                "imgHeight": 495,
+                "link": {
+                  "name": ""
+                },
+                "width": 355,
+                "height": 509.3478260869565
+              }
+            ],
+            "goodsNameStyle": {
+              "color": "#303133",
+              "control": true,
+              "fontWeight": "normal"
+            },
+            "priceStyle": {
+              "mainColor": "#FF4142",
+              "mainControl": true,
+              "lineColor": "#999CA7",
+              "lineControl": true
+            },
+            "saleStyle": {
+              "color": "rgba(255, 0, 0, 1)",
+              "control": true
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "rgba(255, 255, 255, 1)",
+            "topElementRounded": 12,
+            "bottomElementRounded": 12,
+            "margin": {
+              "top": 15,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStyle": "padding-top:20rpx;padding-bottom:20rpx;padding-right:20rpx;padding-left:20rpx;",
+            "topCarouselRounded": 12,
+            "bottomCarouselRounded": 12,
+            "indicatorColor": "rgba(255, 255, 255, 0.6)",
+            "indicatorActiveColor": "rgba(255, 255, 255, 1)"
+          },
+          {
+            "path": "edit-image-ads",
+            "uses": 0,
+            "id": "1kfmhruhijgg",
+            "componentName": "ImageAds",
+            "componentTitle": "图片广告",
+            "ignore": [],
+            "imageHeight": 89,
+            "isSameScreen": false,
+            "list": [
+              {
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/discount_img.png",
+                "imgWidth": 710,
+                "imgHeight": 170,
+                "id": "6eo9vdo9xtc0",
+                "width": 375,
+                "height": 89.78873239436619
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 10,
+              "bottom": 10,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-mall-many-goods-list",
+            "uses": 0,
+            "id": "37adfqtqe080",
+            "componentName": "MallManyGoodsList",
+            "componentTitle": "多商品组",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "style": "style-2",
+            "num": 6,
+            "sortWay": "default",
+            "headStyle": "style-4",
+            "aroundRadius": 25,
+            "source": "custom",
+            "goods_category": "",
+            "goods_category_name": "请选择",
+            "position": {
+              "control": false
+            },
+            "localDelivery": {
+              "control": false
+            },
+            "goodsNameStyle": {
+              "color": "#303133",
+              "control": true,
+              "fontWeight": "normal",
+              "isShow": true
+            },
+            "priceStyle": {
+              "color": "#FF4142",
+              "control": true,
+              "isShow": true
+            },
+            "saleStyle": {
+              "color": "#999999",
+              "control": true,
+              "isShow": true
+            },
+            "labelStyle": {
+              "control": true,
+              "isShow": true
+            },
+            "distanceStyle": {
+              "control": true,
+              "isShow": true
+            },
+            "btnStyle": {
+              "fontWeight": false,
+              "padding": 0,
+              "aroundRadius": 25,
+              "cartEvent": "detail",
+              "text": "购买",
+              "textColor": "#FFFFFF",
+              "startBgColor": "#FF4142",
+              "endBgColor": "#FF4142",
+              "style": "nc-icon-gouwuche1",
+              "control": true
+            },
+            "imgElementRounded": 12,
+            "list": [
+              {
+                "title": "推荐",
+                "desc": "猜你喜欢",
+                "source": "all",
+                "goods_category": "",
+                "goods_category_name": "请选择",
+                "goods_ids": [],
+                "imageUrl": "",
+                "id": "67pl1ysjhr40"
+              },
+              {
+                "id": "6z59zcmk4jk0",
+                "title": "衣鞋包饰",
+                "desc": "分类描述",
+                "source": "all",
+                "goods_category": "",
+                "goods_category_name": "请选择",
+                "goods_ids": [],
+                "imageUrl": ""
+              },
+              {
+                "id": "1cfbll6wnmw0",
+                "title": "居家百货",
+                "desc": "分类描述",
+                "source": "all",
+                "goods_category": "",
+                "goods_category_name": "请选择",
+                "goods_ids": [],
+                "imageUrl": ""
+              },
+              {
+                "id": "49p79g5l5qs0",
+                "title": "食品营养",
+                "desc": "分类描述",
+                "source": "all",
+                "goods_category": "",
+                "goods_category_name": "请选择",
+                "goods_ids": [],
+                "imageUrl": ""
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "rgba(255, 255, 255, 1)",
+            "pageEndBgColor": "rgba(255, 255, 255, 0.4)",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 12,
+            "bottomElementRounded": 12,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStyle": "background:linear-gradient(to bottom,rgba(255, 255, 255, 1),rgba(255, 255, 255, 0.4));padding-top:2rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;"
+          }
+        ]
+      }
+    },
+    "mall_index_style1": {
+      "title": "商城首页2",
+      "cover": "addon/mall/diy\/template\/mall_index_one_cover.png",
+      "preview": "",
+      "desc": "",
+      "mode": "diy",
+      "data": {
+        "global": {
+          "title": "首页",
+          "pageStartBgColor": "rgba(246, 246, 246, 1)",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "bgUrl": "",
+          "bgHeightScale": 0,
+          "imgWidth": "",
+          "imgHeight": "",
+          "topStatusBar": {
+            "isShow": false,
+            "bgColor": "#ffffff",
+            "rollBgColor": "#ffffff",
+            "style": "style-1",
+            "styleName": "风格1",
+            "textColor": "#333333",
+            "rollTextColor": "#333333",
+            "textAlign": "center",
+            "inputPlaceholder": "请输入搜索关键词",
+            "imgUrl": "",
+            "link": {
+              "name": ""
+            }
+          },
+          "bottomTabBar": {
+            "control": true,
+            "isShow": true
+          },
+          "popWindow": {
+            "imgUrl": "",
+            "imgWidth": "",
+            "imgHeight": "",
+            "count": -1,
+            "show": 0,
+            "link": {
+              "name": ""
+            }
+          },
+          "template": {
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            }
+          }
+        },
+        "value": [
+          {
+            "path": "edit-carousel-search",
+            "uses": 1,
+            "position": "top_fixed",
+            "id": "5wyf9s0k8jw0",
+            "componentName": "CarouselSearch",
+            "componentTitle": "轮播搜索",
+            "ignore": [
+              "componentBgColor",
+              "componentBgUrl",
+              "marginTop",
+              "marginBottom",
+              "topRounded",
+              "bottomRounded",
+              "pageBgColor",
+              "marginBoth"
+            ],
+            "positionWay": "fixed",
+            "fixedBgColor": "",
+            "bgGradient": true,
+            "search": {
+              "logo": "addon/mall/diy\/index\/style2\/logo.png",
+              "text": "请输入搜索关键词",
+              "link": {
+                "name": "MALL_GOODS_SEARCH",
+                "parent": "MALL_LINK",
+                "title": "商品搜索",
+                "url": "\/addon\/mall\/pages\/goods\/search",
+                "action": ""
+              },
+              "style": "style-1",
+              "styleName": "风格一",
+              "subTitle": {
+                "text": "本地好价·优选生活",
+                "textColor": "#000000",
+                "startColor": "rgba(255,255,255,0.7)",
+                "endColor": ""
+              },
+              "positionColor": "#ffffff",
+              "hotWord": {
+                "interval": 3,
+                "list": [
+                  {
+                    "text": "新品推荐"
+                  },
+                  {
+                    "text": "爆款"
+                  }
+                ]
+              }
+            },
+            "tab": {
+              "control": true,
+              "noColor": "rgba(255, 255, 255, 1)",
+              "selectColor": "rgba(255, 255, 255, 1)",
+              "fixedNoColor": "rgba(255, 255, 255, 1)",
+              "fixedSelectColor": "rgba(255, 255, 255, 1)",
+              "list": [
+                {
+                  "text": "精选",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": "",
+                  "id": "4tbvliuezhq0"
+                },
+                {
+                  "text": "猜你喜欢",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": "",
+                  "id": "1rpxkuehd03k"
+                },
+                {
+                  "text": "蔬菜",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": "",
+                  "id": "6d0zybcxzvc0"
+                },
+                {
+                  "text": "水果",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": "",
+                  "id": "17r58ld9i8xs"
+                },
+                {
+                  "id": "5acf7ab4f040",
+                  "text": "海鲜",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": ""
+                },
+                {
+                  "id": "37a9vwqt1r20",
+                  "text": "熟食",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": ""
+                },
+                {
+                  "id": "1en9w5jstvs0",
+                  "text": "米面",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": ""
+                },
+                {
+                  "id": "3ae14irgqoa0",
+                  "text": "粮油",
+                  "source": "diy_page",
+                  "diy_id": 0,
+                  "diy_title": " "
+                }
+              ]
+            },
+            "swiper": {
+              "control": true,
+              "interval": 5,
+              "indicatorColor": "rgba(0, 0, 0, 0.3)",
+              "indicatorActiveColor": "#FF0E0E",
+              "indicatorStyle": "style-1",
+              "indicatorAlign": "center",
+              "swiperStyle": "style-1",
+              "imageHeight": 158,
+              "topRounded": 10,
+              "bottomRounded": 10,
+              "list": [
+                {
+                  "imageUrl": "addon/mall/diy\/index\/style2\/banner1.png",
+                  "imgWidth": 630,
+                  "imgHeight": 290,
+                  "link": {
+                    "name": ""
+                  },
+                  "id": "2ywogh006ai0",
+                  "width": 345,
+                  "height": 158.8095238095238
+                },
+                {
+                  "id": "3p7wiewe0o00",
+                  "imageUrl": "addon/mall/diy\/index\/style2\/banner2.png",
+                  "imgWidth": 630,
+                  "imgHeight": 290,
+                  "link": {
+                    "name": ""
+                  }
+                }
+              ]
+            },
+            "color": "#999999",
+            "btnColor": "#ffffff",
+            "bgColor": "#ffffff",
+            "btnBgColor": "#ff3434",
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            }
+          },
+          {
+            "path": "edit-graphic-nav",
+            "uses": 0,
+            "id": "6lvx8ztvquc0",
+            "componentName": "GraphicNav",
+            "componentTitle": "图文导航",
+            "ignore": [],
+            "layout": "horizontal",
+            "mode": "graphic",
+            "showStyle": "fixed",
+            "rowCount": 5,
+            "pageCount": 2,
+            "carousel": {
+              "type": "circle",
+              "color": "#FFFFFF"
+            },
+            "imageSize": 40,
+            "aroundRadius": 25,
+            "font": {
+              "size": 12,
+              "weight": "normal",
+              "color": "#303133"
+            },
+            "list": [
+              {
+                "title": "签到",
+                "link": {
+                  "name": "MEMBER_MY_SIGN_IN",
+                  "parent": "MEMBER_LINK",
+                  "title": "我的签到",
+                  "url": "\/app\/pages\/member\/sign_in",
+                  "action": ""
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_sign_in.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "1evjnc3zeb5s",
+                "imgWidth": 135,
+                "imgHeight": 135
+              },
+              {
+                "title": "分销管理",
+                "link": {
+                  "name": "MALL_FENXIAO_INDEX",
+                  "parent": "MALL_FENXIAO_LINK",
+                  "title": "分销中心",
+                  "url": "\/addon\/mall_fenxiao\/pages\/index",
+                  "action": ""
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_fenxiao.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "2ktzer8wrnc0",
+                "imgWidth": 180,
+                "imgHeight": 180
+              },
+              {
+                "title": "分销专区",
+                "link": {
+                  "name": "MALL_FENXIAO_ZONE",
+                  "parent": "MALL_FENXIAO_LINK",
+                  "title": "分销专区",
+                  "url": "\/addon\/mall_fenxiao\/pages\/zone",
+                  "action": "decorate"
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_fenxiao_zone.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "4aixr8qu5ek0",
+                "imgWidth": 135,
+                "imgHeight": 135
+              },
+              {
+                "title": "领券中心",
+                "link": {
+                  "name": "MALL_COUPON_LIST",
+                  "parent": "MALL_LINK",
+                  "title": "优惠券列表",
+                  "url": "\/addon\/mall\/pages\/coupon\/list",
+                  "action": ""
+                },
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_coupon.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "3bmtyrslxxy0",
+                "imgWidth": 180,
+                "imgHeight": 180
+              },
+              {
+                "id": "6iux9g1aojo0",
+                "title": "新闻资讯",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_news_info.png",
+                "imgWidth": 180,
+                "imgHeight": 180,
+                "link": {
+                  "name": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "7jggy5euv3w0",
+                "title": "限时折扣",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_discount.png",
+                "imgWidth": 135,
+                "imgHeight": 135,
+                "link": {
+                  "name": "MALL_DISCOUNT_LIST",
+                  "parent": "MALL_LINK",
+                  "title": "限时折扣列表",
+                  "url": "\/addon\/mall\/pages\/discount\/list",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "7bqpc6bjha80",
+                "title": "积分商城",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_point_index.png",
+                "imgWidth": 135,
+                "imgHeight": 135,
+                "link": {
+                  "name": "MALL_POINT_INDEX",
+                  "parent": "MALL_LINK",
+                  "title": "积分商城",
+                  "url": "\/addon\/mall\/pages\/point\/index",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "tgo5qmjawnk",
+                "title": "礼品卡",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_giftcard.png",
+                "imgWidth": 180,
+                "imgHeight": 180,
+                "link": {
+                  "name": "MALL_GIFTCARD_INDEX",
+                  "parent": "MALL_GIFTCARD_LINK",
+                  "title": "礼品卡",
+                  "url": "\/addon\/mall_giftcard\/pages\/index",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "1fprven2cqrk",
+                "title": "我的余额",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_my_balance.png",
+                "imgWidth": 180,
+                "imgHeight": 180,
+                "link": {
+                  "name": "MEMBER_BALANCE",
+                  "parent": "MEMBER_LINK",
+                  "title": "我的余额",
+                  "url": "\/app\/pages\/member\/balance",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "2wggehpnako0",
+                "title": "地址管理",
+                "imageUrl": "addon/mall/diy\/index\/style2\/nav_my_address.png",
+                "imgWidth": 180,
+                "imgHeight": 180,
+                "link": {
+                  "name": "MEMBER_ADDRESS",
+                  "parent": "MEMBER_LINK",
+                  "title": "收货地址",
+                  "url": "\/app\/pages\/member\/address",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              }
+            ],
+            "swiper": {
+              "indicatorColor": "rgba(0, 0, 0, 0.3)",
+              "indicatorActiveColor": "#FF0E0E",
+              "indicatorStyle": "style-1",
+              "indicatorAlign": "center"
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": -1,
+              "bottom": 5,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-notice",
+            "uses": 0,
+            "id": "4m9g2ylz1di0",
+            "componentName": "Notice",
+            "componentTitle": "公告",
+            "ignore": [],
+            "noticeType": "img",
+            "imgType": "system",
+            "systemUrl": "style_2",
+            "imageUrl": "",
+            "showType": "popup",
+            "scrollWay": "upDown",
+            "fontSize": 12,
+            "fontWeight": "normal",
+            "noticeTitle": "公告",
+            "list": [
+              {
+                "text": "最新公告:欢迎来到小店参观!",
+                "link": {
+                  "name": ""
+                },
+                "id": "1rz6s4buaxc0"
+              },
+              {
+                "id": "2wksdax75fc0",
+                "text": "最新公告:欢迎来到小店参观!",
+                "link": {
+                  "name": ""
+                }
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 5,
+              "bottom": 5,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-goods-coupon",
+            "uses": 0,
+            "id": "52ldidxgpcg0",
+            "componentName": "MallGoodsCoupon",
+            "componentTitle": "优惠券",
+            "ignore": [
+              "componentBgColor",
+              "componentBgUrl"
+            ],
+            "style": "style-1",
+            "styleName": "风格一",
+            "source": "all",
+            "num": 6,
+            "couponIds": [],
+            "btnText": "立即领取",
+            "couponTitle": "先领券 再购物",
+            "couponSubTitle": "领券下单 享购物优惠",
+            "titleColor": "#ffffff",
+            "subTitleColor": "#ffffff",
+            "couponItem": {
+              "bgColor": "#ffffff",
+              "textColor": "#333333",
+              "subTextColor": "#666666",
+              "moneyColor": "#333333",
+              "aroundRadius": 12
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 5,
+              "bottom": 5,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-active-cube",
+            "uses": 0,
+            "id": "717m86hlcho0",
+            "componentName": "ActiveCube",
+            "componentTitle": "活动魔方",
+            "ignore": [],
+            "titleStyle": {
+              "title": "风格1",
+              "value": "style-1"
+            },
+            "text": "超值爆款",
+            "textLink": {
+              "name": ""
+            },
+            "textImg": "static\/resource\/images\/diy\/active_cube\/active_cube_text1.png",
+            "titleColor": "#F91700",
+            "subTitle": {
+              "text": "为您精选爆款",
+              "textColor": "#FFFFFF",
+              "startColor": "#FB792F",
+              "endColor": "#F91700",
+              "link": {
+                "name": ""
+              }
+            },
+            "blockStyle": {
+              "title": "风格4",
+              "value": "style-4",
+              "fontWeight": "bold",
+              "btnText": "normal"
+            },
+            "list": [
+              {
+                "title": {
+                  "text": "今日推荐",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "诚意推荐",
+                  "textColor": "rgba(237, 110, 0, 1)",
+                  "startColor": "rgba(243, 218, 197, 1)",
+                  "endColor": "rgba(255, 228, 217, 1)"
+                },
+                "moreTitle": {
+                  "text": "去看看",
+                  "startColor": "#FEA715",
+                  "endColor": "#FE1E00"
+                },
+                "listFrame": {
+                  "startColor": "rgba(255, 173, 77, 1)",
+                  "endColor": "rgba(249, 61, 2, 1)"
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods1.png",
+                "id": "bvn98cr8j1s"
+              },
+              {
+                "title": {
+                  "text": "优惠好物",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "领券优惠",
+                  "textColor": "rgba(46, 89, 233, 1)",
+                  "startColor": "rgba(205, 217, 248, 1)",
+                  "endColor": "rgba(205, 217, 248, 1)"
+                },
+                "moreTitle": {
+                  "text": "去看看",
+                  "startColor": "#FFBF50",
+                  "endColor": "#FF9E03"
+                },
+                "listFrame": {
+                  "startColor": "rgba(124, 167, 244, 1)",
+                  "endColor": "rgba(43, 86, 233, 1)"
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods2.png",
+                "id": "6u24tqbyc780"
+              },
+              {
+                "title": {
+                  "text": "热销推荐",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "热销商品",
+                  "textColor": "rgba(246, 47, 85, 1)",
+                  "startColor": "rgba(252, 216, 219, 1)",
+                  "endColor": "rgba(252, 216, 219, 1)"
+                },
+                "moreTitle": {
+                  "text": "去看看",
+                  "startColor": "#A2E792",
+                  "endColor": "#49CD2D"
+                },
+                "listFrame": {
+                  "startColor": "rgba(255, 127, 72, 1)",
+                  "endColor": "rgba(238, 51, 91, 1)"
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods3.png",
+                "id": "6dn1yt1j0as0"
+              },
+              {
+                "title": {
+                  "text": "书桌好物",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "好物推荐",
+                  "textColor": "rgba(19, 155, 60, 1)",
+                  "startColor": "rgba(211, 241, 218, 1)",
+                  "endColor": "rgba(211, 241, 218, 1)"
+                },
+                "moreTitle": {
+                  "text": "去看看",
+                  "startColor": "#4AC1FF",
+                  "endColor": "#1D7CFF"
+                },
+                "listFrame": {
+                  "startColor": "rgba(144, 212, 140, 1)",
+                  "endColor": "rgba(41, 159, 79, 1)"
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods4.png",
+                "id": "4q9zphidqtm0"
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#ffffff",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "#FFFAF5",
+            "topElementRounded": 10,
+            "bottomElementRounded": 10,
+            "margin": {
+              "top": 5,
+              "bottom": 5,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-active-cube",
+            "uses": 0,
+            "id": "3keeqqrkpxk0",
+            "componentName": "ActiveCube",
+            "componentTitle": "活动魔方",
+            "ignore": [],
+            "titleStyle": {
+              "title": "风格4",
+              "value": "style-4"
+            },
+            "text": "数码产品",
+            "textImg": "static\/resource\/images\/diy\/active_cube\/active_cube_text1.png",
+            "textLink": {
+              "name": ""
+            },
+            "titleColor": "rgba(255, 255, 255, 1)",
+            "subTitle": {
+              "text": "去逛逛",
+              "textColor": "#303133",
+              "startColor": "rgba(255, 255, 255, 1)",
+              "endColor": "rgba(255, 255, 255, 1)",
+              "link": {
+                "name": ""
+              }
+            },
+            "blockStyle": {
+              "title": "风格3",
+              "value": "style-3",
+              "fontWeight": "normal",
+              "btnText": "normal"
+            },
+            "list": [
+              {
+                "title": {
+                  "text": "蓝牙耳机",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "诚意推荐",
+                  "textColor": "#999999",
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "moreTitle": {
+                  "text": "去看看",
+                  "startColor": "#FEA715",
+                  "endColor": "#FE1E00"
+                },
+                "listFrame": {
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods5.png",
+                "id": "5am2l07pkr00"
+              },
+              {
+                "title": {
+                  "text": "医用雾化",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "领券更优惠",
+                  "textColor": "#999999",
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "moreTitle": {
+                  "text": "去看看",
+                  "startColor": "#FFBF50",
+                  "endColor": "#FF9E03"
+                },
+                "listFrame": {
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods6.png",
+                "id": "2v4zusih9u80"
+              },
+              {
+                "title": {
+                  "text": "智能手表",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "本周热销商品",
+                  "textColor": "#999999",
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "moreTitle": {
+                  "text": "去看看",
+                  "startColor": "#A2E792",
+                  "endColor": "#49CD2D"
+                },
+                "listFrame": {
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods7.png",
+                "id": "va5dyomnq68"
+              },
+              {
+                "title": {
+                  "text": "甜心咖啡",
+                  "textColor": "#303133"
+                },
+                "subTitle": {
+                  "text": "办公好物推荐",
+                  "textColor": "#999999",
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "moreTitle": {
+                  "text": "去看看",
+                  "startColor": "#4AC1FF",
+                  "endColor": "#1D7CFF"
+                },
+                "listFrame": {
+                  "startColor": "",
+                  "endColor": ""
+                },
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_goods8.png",
+                "id": "4h16lw3ntsw0"
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "static\/resource\/images\/diy\/active_cube\/active_cube_bg.png",
+            "componentBgAlpha": 7,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "#FFFAF5",
+            "topElementRounded": 10,
+            "bottomElementRounded": 10,
+            "margin": {
+              "top": 5,
+              "bottom": 5,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-horz-blank",
+            "uses": 0,
+            "id": "6nc7hkh3g100",
+            "componentName": "HorzBlank",
+            "componentTitle": "辅助空白",
+            "ignore": [
+              "pageBgColor",
+              "componentBgUrl"
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 169, 97, 1)",
+            "componentEndBgColor": "rgba(250, 61, 61, 1)",
+            "componentGradientAngle": "to right",
+            "topRounded": 12,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 5,
+              "bottom": 0,
+              "both": 10
+            },
+            "height": 10
+          },
+          {
+            "path": "edit-text",
+            "uses": 0,
+            "position": "",
+            "id": "7f1nc9pkntw0",
+            "componentName": "Text",
+            "componentTitle": "标题",
+            "ignore": [],
+            "style": "style-2",
+            "styleName": "风格2",
+            "text": "新人尝鲜价",
+            "link": {
+              "name": ""
+            },
+            "textColor": "#FFFFFF",
+            "fontSize": 15,
+            "fontWeight": "normal",
+            "textAlign": "center",
+            "subTitle": {
+              "text": "数量有限 抢完为止",
+              "color": "#FFFFFF",
+              "fontSize": 12,
+              "control": true,
+              "fontWeight": "normal"
+            },
+            "more": {
+              "text": "查看更多",
+              "control": true,
+              "isShow": false,
+              "link": {
+                "name": ""
+              },
+              "color": "#999999"
+            },
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 169, 97, 1)",
+            "componentEndBgColor": "rgba(250, 61, 61, 1)",
+            "componentGradientAngle": "to right",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-horz-blank",
+            "uses": 0,
+            "id": "1o6ptkjsnabk",
+            "componentName": "HorzBlank",
+            "componentTitle": "辅助空白",
+            "ignore": [
+              "pageBgColor",
+              "componentBgUrl"
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 169, 97, 1)",
+            "componentEndBgColor": "rgba(250, 61, 61, 1)",
+            "componentGradientAngle": "to right",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 10
+            },
+            "height": 10
+          },
+          {
+            "path": "edit-mall-goods-list",
+            "uses": 0,
+            "id": "17uao387qdds",
+            "componentName": "MallGoodsList",
+            "componentTitle": "商品列表",
+            "ignore": [],
+            "style": "style-3",
+            "source": "all",
+            "num": 10,
+            "goods_category": "",
+            "goods_category_name": "请选择",
+            "position": {
+              "control": false
+            },
+            "localDelivery": {
+              "control": false
+            },
+            "goods_ids": [],
+            "sortWay": "default",
+            "goodsNameStyle": {
+              "color": "#303133",
+              "control": true,
+              "fontWeight": "normal",
+              "isShow": true
+            },
+            "priceStyle": {
+              "color": "#FF4142",
+              "control": true,
+              "isShow": true
+            },
+            "saleStyle": {
+              "color": "#999999",
+              "control": true,
+              "isShow": true
+            },
+            "labelStyle": {
+              "control": true,
+              "isShow": true
+            },
+            "distanceStyle": {
+              "control": true,
+              "isShow": true
+            },
+            "btnStyle": {
+              "fontWeight": false,
+              "padding": 0,
+              "aroundRadius": 25,
+              "cartEvent": "detail",
+              "text": "购买",
+              "textColor": "#FFFFFF",
+              "startBgColor": "#FF4142",
+              "endBgColor": "#FF4142",
+              "style": "button",
+              "control": true
+            },
+            "imgElementRounded": 10,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 169, 97, 1)",
+            "componentEndBgColor": "rgba(250, 61, 61, 1)",
+            "componentGradientAngle": "to right",
+            "topRounded": 0,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 10,
+            "bottomElementRounded": 10,
+            "margin": {
+              "top": 0,
+              "bottom": 9,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-horz-blank",
+            "uses": 0,
+            "id": "4z9jltfk8jc0",
+            "componentName": "HorzBlank",
+            "componentTitle": "辅助空白",
+            "ignore": [
+              "pageBgColor",
+              "componentBgUrl"
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(253, 41, 52, 1)",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 5,
+              "bottom": 0,
+              "both": 10
+            },
+            "height": 10
+          },
+          {
+            "path": "edit-text",
+            "uses": 0,
+            "position": "",
+            "id": "65qaokgbzg80",
+            "componentName": "Text",
+            "componentTitle": "标题",
+            "ignore": [],
+            "style": "style-2",
+            "styleName": "风格2",
+            "text": "今日疯抢",
+            "link": {
+              "name": ""
+            },
+            "textColor": "#FFFFFF",
+            "fontSize": 15,
+            "fontWeight": "normal",
+            "textAlign": "center",
+            "subTitle": {
+              "text": "数量有限 抢完为止",
+              "color": "#FFFFFF",
+              "fontSize": 12,
+              "control": true,
+              "fontWeight": "normal"
+            },
+            "more": {
+              "text": "查看更多",
+              "control": true,
+              "isShow": false,
+              "link": {
+                "name": ""
+              },
+              "color": "#999999"
+            },
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(253, 41, 52, 1)",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-mall-goods-list",
+            "uses": 0,
+            "id": "2u96wyrm79u0",
+            "componentName": "MallGoodsList",
+            "componentTitle": "商品列表",
+            "ignore": [],
+            "style": "style-1",
+            "source": "all",
+            "num": 10,
+            "goods_category": "",
+            "goods_category_name": "请选择",
+            "position": {
+              "control": false
+            },
+            "localDelivery": {
+              "control": false
+            },
+            "goods_ids": [],
+            "sortWay": "default",
+            "goodsNameStyle": {
+              "color": "#303133",
+              "control": true,
+              "fontWeight": "normal",
+              "isShow": true
+            },
+            "priceStyle": {
+              "color": "#FF4142",
+              "control": true,
+              "isShow": true
+            },
+            "saleStyle": {
+              "color": "#999999",
+              "control": true,
+              "isShow": true
+            },
+            "labelStyle": {
+              "control": true,
+              "isShow": true
+            },
+            "distanceStyle": {
+              "control": true,
+              "isShow": true
+            },
+            "btnStyle": {
+              "fontWeight": false,
+              "padding": 0,
+              "aroundRadius": 25,
+              "cartEvent": "detail",
+              "text": "购买",
+              "textColor": "#FFFFFF",
+              "startBgColor": "#FF4142",
+              "endBgColor": "#FF4142",
+              "style": "button",
+              "control": true
+            },
+            "imgElementRounded": 10,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 10,
+            "bottomElementRounded": 10,
+            "margin": {
+              "top": 0,
+              "bottom": 5,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-text",
+            "uses": 0,
+            "position": "",
+            "id": "5izyn9jcz3k0",
+            "componentName": "Text",
+            "componentTitle": "标题",
+            "ignore": [],
+            "style": "style-1",
+            "styleName": "风格1",
+            "text": "精选推荐",
+            "link": {
+              "name": ""
+            },
+            "textColor": "#303133",
+            "fontSize": 15,
+            "fontWeight": "normal",
+            "textAlign": "center",
+            "subTitle": {
+              "text": "副标题",
+              "color": "#999999",
+              "fontSize": 14,
+              "control": false,
+              "fontWeight": "normal"
+            },
+            "more": {
+              "text": "查看更多",
+              "control": false,
+              "isShow": true,
+              "link": {
+                "name": ""
+              },
+              "color": "#999999"
+            },
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 20,
+              "bottom": 15,
+              "both": 0
+            }
+          },
+          {
+            "path": "edit-mall-goods-list",
+            "uses": 0,
+            "id": "4y7mw7j2uko0",
+            "componentName": "MallGoodsList",
+            "componentTitle": "商品列表",
+            "ignore": [],
+            "style": "style-2",
+            "source": "all",
+            "num": 10,
+            "goods_category": "",
+            "goods_category_name": "请选择",
+            "position": {
+              "control": false
+            },
+            "localDelivery": {
+              "control": false
+            },
+            "goods_ids": [],
+            "sortWay": "default",
+            "goodsNameStyle": {
+              "color": "#303133",
+              "control": true,
+              "fontWeight": "normal",
+              "isShow": true
+            },
+            "priceStyle": {
+              "color": "#FF4142",
+              "control": true,
+              "isShow": true
+            },
+            "saleStyle": {
+              "color": "#999999",
+              "control": true,
+              "isShow": true
+            },
+            "labelStyle": {
+              "control": true,
+              "isShow": true
+            },
+            "distanceStyle": {
+              "control": true,
+              "isShow": true
+            },
+            "btnStyle": {
+              "fontWeight": false,
+              "padding": 0,
+              "aroundRadius": 25,
+              "cartEvent": "detail",
+              "text": "购买",
+              "textColor": "#FFFFFF",
+              "startBgColor": "#FF4142",
+              "endBgColor": "#FF4142",
+              "style": "button",
+              "control": true
+            },
+            "imgElementRounded": 12,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 12,
+            "bottomElementRounded": 12,
+            "margin": {
+              "top": 5,
+              "bottom": 5,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-mall-many-goods-list",
+            "uses": 0,
+            "id": "65lv65b38ig0",
+            "componentName": "MallManyGoodsList",
+            "componentTitle": "多商品组",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "style": "style-2",
+            "num": 6,
+            "sortWay": "default",
+            "headStyle": "style-2",
+            "aroundRadius": 25,
+            "source": "custom",
+            "goodsNameStyle": {
+              "color": "#303133",
+              "control": true,
+              "fontWeight": "normal",
+              "isShow": true
+            },
+            "priceStyle": {
+              "color": "#FF4142",
+              "control": true,
+              "isShow": true
+            },
+            "saleStyle": {
+              "color": "#999999",
+              "control": true,
+              "isShow": true
+            },
+            "labelStyle": {
+              "control": true,
+              "isShow": true
+            },
+            "btnStyle": {
+              "fontWeight": false,
+              "padding": 0,
+              "aroundRadius": 25,
+              "cartEvent": "detail",
+              "text": "购买",
+              "textColor": "#FFFFFF",
+              "startBgColor": "#FF4142",
+              "endBgColor": "#FF4142",
+              "style": "button",
+              "control": true
+            },
+            "list": [
+              {
+                "title": "推荐",
+                "desc": "猜你喜欢",
+                "source": "all",
+                "goods_category": "",
+                "goods_category_name": "请选择",
+                "goods_ids": [],
+                "id": "2iljdx2ajqg0"
+              },
+              {
+                "id": "3a1x4kgbre40",
+                "title": "衣鞋包饰",
+                "desc": "分类描述",
+                "source": "all",
+                "goods_category": "",
+                "goods_category_name": "请选择",
+                "goods_ids": []
+              },
+              {
+                "id": "12ozjal2rfe8",
+                "title": "居家百货",
+                "desc": "分类描述",
+                "source": "all",
+                "goods_category": "",
+                "goods_category_name": "请选择",
+                "goods_ids": []
+              },
+              {
+                "id": "71kwrfxeoxw0",
+                "title": "热卖好物",
+                "desc": "分类描述",
+                "source": "all",
+                "goods_category": "",
+                "goods_category_name": "请选择",
+                "goods_ids": []
+              },
+              {
+                "id": "5tktk8897ag0",
+                "title": "优品精选",
+                "desc": "分类描述",
+                "source": "all",
+                "goods_category": "",
+                "goods_category_name": "请选择",
+                "goods_ids": []
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 12,
+            "bottomElementRounded": 12,
+            "margin": {
+              "top": 10,
+              "bottom": 10,
+              "both": 10
+            }
+          }
+        ]
+      }
+    }
+  },
+  "DIY_MEMBER_INDEX": {
+    "mall_member_index_style1": {
+      "title": "商城个人中心1",
+      "cover": "addon/mall/diy/template/member_index_cover.png",
+      "preview": "",
+      "desc": "个人中心",
+      "mode": "diy",
+      "data": {
+        "global": {
+          "title": "个人中心",
+          "bgUrl": "",
+          "imgWidth": "",
+          "imgHeight": "",
+          "bottomTabBar": {
+            "control": true,
+            "isShow": true
+          },
+          "template": {
+            "textColor": "#303133",
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentGradientAngle": "to bottom"
+          },
+          "topStatusBar": {
+            "isShow": true,
+            "bgColor": "#ffffff",
+            "rollBgColor": "#ffffff",
+            "style": "style-1",
+            "styleName": "风格1",
+            "textColor": "#333333",
+            "rollTextColor": "#333333",
+            "textAlign": "center",
+            "inputPlaceholder": "请输入搜索关键词",
+            "imgUrl": "",
+            "link": {
+              "name": ""
+            }
+          },
+          "popWindow": {
+            "imgUrl": "",
+            "imgWidth": "",
+            "imgHeight": "",
+            "count": -1,
+            "show": 0,
+            "link": {
+              "name": ""
+            }
+          },
+          "pageStartBgColor": "rgba(246, 246, 246, 1)",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "bgHeightScale": 0
+        },
+        "value": [
+          {
+            "path": "edit-mall-member-info",
+            "id": "3pt9pn9bvn20",
+            "componentName": "MallMemberInfo",
+            "componentTitle": "会员信息",
+            "uses": 1,
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "rgba(246, 246, 246, 0.1)",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "textColor": "#333333",
+            "uidTextColor": "#666666",
+            "accountTextColor": "#666666",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentGradientAngle": "to bottom",
+            "style": "style-1",
+            "styleName": "风格1",
+            "bgUrl": "",
+            "isShowAccount": true
+          },
+          {
+            "path": "edit-member-level",
+            "uses": 1,
+            "id": "533e6ynytmo0",
+            "componentName": "MemberLevel",
+            "componentTitle": "会员等级",
+            "ignore": [
+              "componentBgColor",
+              "componentBgUrl"
+            ],
+            "style": "style-5",
+            "styleName": "风格5",
+            "textColor": "#303133",
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": -45,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentGradientAngle": "to bottom"
+          },
+          {
+            "path": "edit-mall-order-info",
+            "uses": 1,
+            "id": "2jmnqqhc8ri0",
+            "componentName": "MallOrderInfo",
+            "componentTitle": "订单中心",
+            "ignore": [],
+            "textColor": "#303133",
+            "fontSize": 15,
+            "fontWeight": "normal",
+            "text": "订单中心",
+            "more": {
+              "text": "全部订单",
+              "color": "#999999"
+            },
+            "item": {
+              "fontSize": 12,
+              "fontWeight": "normal",
+              "color": "#303133"
+            },
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "topRounded": 8,
+            "bottomRounded": 8,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 10,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentGradientAngle": "to bottom"
+          },
+          {
+            "path": "edit-horz-blank",
+            "uses": 0,
+            "id": "6cil3ipiis40",
+            "componentName": "HorzBlank",
+            "componentTitle": "辅助空白",
+            "ignore": [
+              "pageBgColor",
+              "componentBgUrl"
+            ],
+            "height": 15,
+            "textColor": "#303133",
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "topRounded": 12,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 10,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentGradientAngle": "to bottom"
+          },
+          {
+            "path": "edit-text",
+            "uses": 0,
+            "id": "68gnubbygqg0",
+            "componentName": "Text",
+            "componentTitle": "标题",
+            "ignore": [],
+            "textColor": "#303133",
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 10
+            },
+            "fontSize": 15,
+            "fontWeight": "400",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentGradientAngle": "to bottom",
+            "position": "",
+            "style": "style-1",
+            "styleName": "风格1",
+            "text": "其他功能",
+            "link": {
+              "name": ""
+            },
+            "textAlign": "left",
+            "subTitle": {
+              "text": "副标题",
+              "color": "#999999",
+              "fontSize": 14,
+              "control": false,
+              "fontWeight": "normal"
+            },
+            "more": {
+              "text": "查看更多",
+              "control": false,
+              "isShow": true,
+              "link": {
+                "name": ""
+              },
+              "color": "#999999"
+            }
+          },
+          {
+            "path": "edit-horz-blank",
+            "uses": 0,
+            "id": "5jx57rrjl940",
+            "componentName": "HorzBlank",
+            "componentTitle": "辅助空白",
+            "ignore": [
+              "pageBgColor",
+              "componentBgUrl"
+            ],
+            "height": 8,
+            "textColor": "#303133",
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentGradientAngle": "to bottom"
+          },
+          {
+            "path": "edit-graphic-nav",
+            "uses": 0,
+            "id": "5myxk1opz0c0",
+            "componentName": "GraphicNav",
+            "componentTitle": "图文导航",
+            "ignore": [],
+            "textColor": "#303133",
+            "componentStartBgColor": "rgba(255, 255, 255, 1)",
+            "componentEndBgColor": "",
+            "topRounded": 0,
+            "bottomRounded": 8,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 10
+            },
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentGradientAngle": "to bottom",
+            "layout": "horizontal",
+            "mode": "graphic",
+            "showStyle": "fixed",
+            "rowCount": 4,
+            "pageCount": 2,
+            "carousel": {
+              "type": "circle",
+              "color": "#FFFFFF"
+            },
+            "imageSize": 20,
+            "aroundRadius": 0,
+            "font": {
+              "size": 12,
+              "weight": "normal",
+              "color": "#303133"
+            },
+            "list": [
+              {
+                "id": "49kxbgr5lwue",
+                "title": "签到",
+                "imageUrl": "addon/mall/diy/member/style1/nav_sign_in.png",
+                "imgWidth": 88,
+                "imgHeight": 88,
+                "link": {
+                  "name": "MEMBER_MY_SIGN_IN",
+                  "parent": "MEMBER_LINK",
+                  "title": "我的签到",
+                  "url": "/app/pages/member/sign_in",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "title": "我的余额",
+                "link": {
+                  "parent": "MEMBER_LINK",
+                  "name": "MEMBER_BALANCE",
+                  "title": "我的余额",
+                  "url": "/app/pages/member/balance",
+                  "action": ""
+                },
+                "imageUrl": "addon/mall/diy/member/style1/nav_balance.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "2aqy33banse8",
+                "imgWidth": 88,
+                "imgHeight": 88
+              },
+              {
+                "title": "地址管理",
+                "link": {
+                  "parent": "MEMBER_LINK",
+                  "name": "MEMBER_ADDRESS",
+                  "title": "收货地址",
+                  "url": "/app/pages/member/address",
+                  "action": ""
+                },
+                "imageUrl": "addon/mall/diy/member/style1/nav_address.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "hdk4145zk40",
+                "imgWidth": 88,
+                "imgHeight": 88
+              },
+              {
+                "title": "优惠券",
+                "link": {
+                  "parent": "MALL_LINK",
+                  "name": "MALL_MY_COUPON",
+                  "title": "我的优惠券",
+                  "url": "/addon/mall/pages/member/my_coupon",
+                  "action": ""
+                },
+                "imageUrl": "addon/mall/diy/member/style1/nav_coupon.png",
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                },
+                "id": "34t5xg9ik0i0",
+                "imgWidth": 88,
+                "imgHeight": 88
+              },
+              {
+                "id": "78k8bgr4lipw",
+                "title": "发票管理",
+                "imageUrl": "addon/mall/diy/member/style1/nav_invoice.png",
+                "imgWidth": 88,
+                "imgHeight": 88,
+                "link": {
+                  "name": "MALL_INVOICE",
+                  "parent": "MALL_LINK",
+                  "title": "发票管理",
+                  "url": "/addon/mall/pages/invoice/list",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "78kxbgr4lipw",
+                "title": "核销台",
+                "imageUrl": "addon/mall/diy/member/style1/nav_verify_index.png",
+                "imgWidth": 88,
+                "imgHeight": 88,
+                "link": {
+                  "name": "MEMBER_VERIFY_INDEX",
+                  "parent": "MEMBER_LINK",
+                  "title": "核销台",
+                  "url": "/app/pages/verify/index",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "4o2q7yss59m0",
+                "title": "我的等级",
+                "imageUrl": "addon/mall/diy/member/style1/nav_my_level.png",
+                "imgWidth": 88,
+                "imgHeight": 88,
+                "link": {
+                  "name": "MEMBER_MY_LEVEL",
+                  "parent": "MEMBER_LINK",
+                  "title": "会员等级",
+                  "url": "/app/pages/member/level",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "78fnsh8cx5k0",
+                "title": "我的收藏",
+                "imageUrl": "addon/mall/diy/member/style1/nav_collect.png",
+                "imgWidth": 88,
+                "imgHeight": 88,
+                "link": {
+                  "name": "MALL_COLLECT",
+                  "parent": "MALL_LINK",
+                  "title": "我的收藏",
+                  "url": "/addon/mall/pages/collect/goods",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "27kxbgr5ljbw",
+                "title": "我的足迹",
+                "imageUrl": "addon/mall/diy/member/style1/nav_footmark.png",
+                "imgWidth": 88,
+                "imgHeight": 88,
+                "link": {
+                  "name": "MALL_BROWSE",
+                  "parent": "MALL_LINK",
+                  "title": "我的足迹",
+                  "url": "/addon/mall/pages/member/browse",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              },
+              {
+                "id": "x3k0l0h2d4m4",
+                "title": "商户入驻",
+                "imageUrl": "addon/mall/diy/member/style1/nav_shop_apply.png",
+                "imgWidth": 88,
+                "imgHeight": 88,
+                "link": {
+                  "name": "MALL_SHOP_APPLY",
+                  "parent": "MALL_LINK",
+                  "title": "申请入驻",
+                  "url": "/addon/mall/pages/member/merchant_settled",
+                  "action": ""
+                },
+                "label": {
+                  "control": false,
+                  "text": "热门",
+                  "textColor": "#FFFFFF",
+                  "bgColorStart": "#F83287",
+                  "bgColorEnd": "#FE3423"
+                }
+              }
+            ]
+          }
+        ]
+      }
+    }
+  },
+  "DIY_SITE_INDEX": {
+    "mall_site_index_style2": {
+      "title": "店铺首页",
+      "cover": "",
+      "preview": "",
+      "desc": "",
+      "mode": "diy",
+      "data": {
+        "global": {
+          "title": "商家首页",
+          "pageStartBgColor": "rgba(246, 246, 246, 1)",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "bgUrl": "",
+          "bgHeightScale": 100,
+          "imgWidth": "",
+          "imgHeight": "",
+          "topStatusBar": {
+            "isShow": true,
+            "bgColor": "#ffffff",
+            "isTransparent": false,
+            "style": "style-1",
+            "styleName": "风格1",
+            "textColor": "#333333",
+            "textAlign": "center",
+            "inputPlaceholder": "请输入搜索关键词",
+            "imgUrl": "",
+            "link": {
+              "name": ""
+            },
+            "rollBgColor": "#ffffff"
+          },
+          "bottomTabBar": {
+            "control": true,
+            "isShow": true
+          },
+          "popWindow": {
+            "imgUrl": "",
+            "imgWidth": "",
+            "imgHeight": "",
+            "count": -1,
+            "show": 0,
+            "link": {
+              "name": ""
+            }
+          },
+          "template": {
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            }
+          }
+        },
+        "value": [
+          {
+            "path": "edit-mall-shop-info",
+            "uses": 1,
+            "position": "top_fixed",
+            "id": "27ge9umz4k2s",
+            "componentName": "MallShopInfo",
+            "componentTitle": "商家信息",
+            "ignore": [
+              "componentBgColor",
+              "componentBgUrl",
+              "marginTop",
+              "marginBottom",
+              "topRounded",
+              "bottomRounded",
+              "pageBgColor",
+              "marginBoth"
+            ],
+            "positionWay": "fixed",
+            "fixedBgColor": "",
+            "bgGradient": true,
+            "bgImg": "/addon/mall/diy/site_index/style2/header_bg.jpg",
+            "bgOpacity": 70,
+            "search": {
+              "text": "请输入搜索关键词",
+              "link": {
+                "name": ""
+              },
+              "hotWord": {
+                "interval": 3,
+                "list": []
+              },
+              "color": "#ffffff",
+              "btnColor": "#EF000C",
+              "bgColor": "rgba(255, 255, 255, 0.2)",
+              "btnBgColor": "#ffffff"
+            },
+            "tab": {
+              "control": true,
+              "noColor": "#ffffff",
+              "selectColor": "#EF000C ",
+              "noBgColor": "transparent",
+              "selectBgColor": "#ffffff",
+              "list": [
+                {
+                  "text": "新品",
+                  "source": "diy_page",
+                  "diy_id": "",
+                  "diy_title": ""
+                },
+                {
+                  "text": "热卖",
+                  "source": "diy_page",
+                  "diy_id": "",
+                  "diy_title": ""
+                },
+                {
+                  "text": "领券",
+                  "source": "diy_page",
+                  "diy_id": "",
+                  "diy_title": ""
+                }
+              ]
+            },
+            "shop": {
+              "textColor": "#ffffff"
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            }
+          },
+          {
+            "path": "edit-image-ads",
+            "uses": 0,
+            "id": "5u0a3bgovrk0",
+            "componentName": "ImageAds",
+            "componentTitle": "图片广告",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "imageHeight": 475,
+            "isSameScreen": false,
+            "list": [
+              {
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "/addon/mall/diy/site_index/style2/banner_01.jpg",
+                "imgWidth": 710,
+                "imgHeight": 900,
+                "id": "304artzi99a0",
+                "width": 375,
+                "height": 475.3521126760564
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": -5,
+              "bottom": 10,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-hot-area",
+            "uses": 0,
+            "id": "15mcdpx0uqlc",
+            "componentName": "HotArea",
+            "componentTitle": "热区",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "imageUrl": "/addon/mall/diy/site_index/style2/category.jpg",
+            "imgWidth": 710,
+            "imgHeight": 224,
+            "heatMapData": [],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 10,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-mall-goods-coupon",
+            "uses": 0,
+            "id": "5ho3xjjulw00",
+            "componentName": "MallGoodsCoupon",
+            "componentTitle": "优惠券",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "style": "style-5",
+            "styleName": "风格5",
+            "source": "all",
+            "num": 6,
+            "couponIds": [],
+            "btnText": "立即领取",
+            "couponTitle": "畅享礼券",
+            "couponSubTitle": "领券下单 享购物优惠",
+            "titleColor": "#333",
+            "subTitleColor": "#ffffff",
+            "couponItem": {
+              "bgColor": "#FFF7F6",
+              "bgUrl": "/addon/mall/diy/site_index/style2/coupon_bg.png",
+              "textColor": "#FF0000",
+              "subTextColor": "#666666",
+              "moneyColor": "#FF0000",
+              "btnColor": "#FF0000",
+              "aroundRadius": 6
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#fff",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 10,
+              "bottom": 10,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-image-ads",
+            "uses": 0,
+            "id": "3cl72uurex40",
+            "componentName": "ImageAds",
+            "componentTitle": "图片广告",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "imageHeight": 63,
+            "isSameScreen": false,
+            "list": [
+              {
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "/addon/mall/diy/site_index/style2/title_01.png",
+                "imgWidth": 710,
+                "imgHeight": 120,
+                "id": "icbejonzj2w",
+                "width": 375,
+                "height": 63.38028169014084
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 10,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-image-ads",
+            "uses": 0,
+            "id": "5qv8rsa23cs0",
+            "componentName": "ImageAds",
+            "componentTitle": "图片广告",
+            "ignore": {
+              "0": "componentBgUrl"
+            },
+            "imageHeight": 422,
+            "isSameScreen": false,
+            "list": [
+              {
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "/addon/mall/diy/site_index/style2/banner_02.jpg",
+                "imgWidth": 710,
+                "imgHeight": 800,
+                "id": "atxn9ughunk",
+                "width": 375,
+                "height": 422.53521126760563
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 10,
+              "both": 10
+            },
+            "pageStyle": "padding-top:2rpx;padding-bottom:0rpx;padding-right:0rpx;padding-left:0rpx;"
+          },
+          {
+            "path": "edit-image-ads",
+            "uses": 0,
+            "id": "2hhd5q4p2bi0",
+            "componentName": "ImageAds",
+            "componentTitle": "图片广告",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "imageHeight": 29,
+            "isSameScreen": false,
+            "list": [
+              {
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "/addon/mall/diy/site_index/style2/title_02.png",
+                "imgWidth": 710,
+                "imgHeight": 56,
+                "id": "47njtuj2sa00",
+                "width": 375,
+                "height": 29.577464788732396
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 10,
+              "both": 0
+            }
+          },
+          {
+            "path": "edit-image-ads",
+            "uses": 0,
+            "id": "49q6pqggzrs0",
+            "componentName": "ImageAds",
+            "componentTitle": "图片广告",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "imageHeight": 52,
+            "isSameScreen": false,
+            "list": [
+              {
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "/addon/mall/diy/site_index/style2/title_03.png",
+                "imgWidth": 710,
+                "imgHeight": 100,
+                "id": "4p457xnmu8a0",
+                "width": 375,
+                "height": 52.816901408450704
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 10,
+              "both": 0
+            }
+          },
+          {
+            "path": "edit-rubik-cube",
+            "uses": 0,
+            "id": "3jac25jefu40",
+            "componentName": "RubikCube",
+            "componentTitle": "魔方",
+            "ignore": [],
+            "mode": "row1-of2",
+            "imageGap": 10,
+            "list": [
+              {
+                "imageUrl": "/addon/mall/diy/site_index/style2/cube_01.jpg",
+                "imgWidth": 345,
+                "imgHeight": 470,
+                "link": {
+                  "name": ""
+                }
+              },
+              {
+                "imageUrl": "/addon/mall/diy/site_index/style2/cube_02.jpg",
+                "imgWidth": 345,
+                "imgHeight": 470,
+                "link": {
+                  "name": ""
+                }
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 12,
+            "bottomElementRounded": 12,
+            "margin": {
+              "top": 0,
+              "bottom": 10,
+              "both": 10
+            }
+          },
+          {
+            "path": "edit-image-ads",
+            "uses": 0,
+            "id": "70vzyp69npc0",
+            "componentName": "ImageAds",
+            "componentTitle": "图片广告",
+            "ignore": {
+              "0": "componentBgUrl"
+            },
+            "imageHeight": 369,
+            "isSameScreen": false,
+            "list": [
+              {
+                "link": {
+                  "name": ""
+                },
+                "imageUrl": "/addon/mall/diy/site_index/style2/banner_03.jpg",
+                "imgWidth": 710,
+                "imgHeight": 700,
+                "id": "4jsj852xf200",
+                "width": 375,
+                "height": 369.71830985915494
+              }
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 10,
+              "both": 10
+            },
+            "pageStyle": "padding-top:2rpx;padding-bottom:0rpx;padding-right:0rpx;padding-left:0rpx;"
+          },
+          {
+            "path": "edit-hot-area",
+            "uses": 0,
+            "id": "5fitc7c3ris0",
+            "componentName": "HotArea",
+            "componentTitle": "热区",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "imageUrl": "/addon/mall/diy/site_index/style2/banner_04.jpg",
+            "imgWidth": 710,
+            "imgHeight": 829,
+            "heatMapData": [],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 10
+            }
+          }
+        ]
+      }
+    }
+  },
+  "DIY_MALL_GOODS_DETAIL": {
+    "mall_goods_detail_style1": {
+      "title": "商品详情",
+      "cover": "",
+      "preview": "",
+      "desc": "",
+      "mode": "diy",
+      "data": {
+        "global": {
+          "title": "商品详情",
+          "completeLayout": "style-1",
+          "completeAlign": "left",
+          "borderControl": true,
+          "pageStartBgColor": "rgba(246, 246, 246, 1)",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "bgUrl": "",
+          "bgHeightScale": 100,
+          "imgWidth": "",
+          "imgHeight": "",
+          "topStatusBar": {
+            "control": false,
+            "isShow": false,
+            "bgColor": "#ffffff",
+            "rollBgColor": "#ffffff",
+            "style": "style-1",
+            "styleName": "风格1",
+            "textColor": "#333333",
+            "rollTextColor": "#333333",
+            "textAlign": "center",
+            "inputPlaceholder": "请输入搜索关键词",
+            "imgUrl": "",
+            "link": {
+              "name": ""
+            }
+          },
+          "bottomTabBar": {
+            "control": false,
+            "isShow": false
+          },
+          "popWindow": {
+            "imgUrl": "",
+            "imgWidth": "",
+            "imgHeight": "",
+            "count": "once",
+            "show": false,
+            "link": {
+              "name": ""
+            }
+          },
+          "template": {
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "isHidden": false
+          }
+        },
+        "value": [
+          {
+            "path": "edit-mall-goods-detail-basic-info",
+            "uses": 1,
+            "position": "top_fixed",
+            "id": "j3hqu5tg1zk",
+            "componentName": "MallGoodsDetailBasicInfo",
+            "componentTitle": "基础信息",
+            "ignore": [
+              "pageBgColor",
+              "componentBgUrl",
+              "marginTop",
+              "marginBottom",
+              "marginBoth",
+              "topRounded",
+              "bottomRounded"
+            ],
+            "menuContent": "index,search,cart,member",
+            "medium": {
+              "type": "square_img",
+              "indicator": true
+            },
+            "priceRegion": {
+              "showWay": "normal",
+              "bgImg": "addon/mall/diy/goods_detail/style_01.jpg",
+              "marketingBgImg": "addon/mall/diy/goods_detail/marketing_style_01.jpg",
+              "goodsStyle": {
+                "title": "风格1",
+                "value": "style-1"
+              },
+              "marketingStyle": {
+                "title": "风格1",
+                "value": "style-1"
+              }
+            },
+            "goodsInfo": {
+              "titleColor": "#333333",
+              "subTitleColor": "#999999",
+              "saleInfoColor": "#999999",
+              "priceTopRounded": 17,
+              "priceBottomRounded": 0,
+              "topRounded": 12,
+              "bottomRounded": 0,
+              "priceBgColor": "",
+              "startBgColor": "#ffffff",
+              "endBgColor": "rgba(254, 254, 254, 1)",
+              "priceAboutMargin": 0,
+              "priceTopMargin": -22,
+              "topMargin": -13,
+              "aboutMargin": 0
+            },
+            "saleInfo": [
+              "underlined_price",
+              "sales",
+              "stock"
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "isHidden": false
+          },
+          {
+            "path": "edit-horz-blank",
+            "uses": 0,
+            "id": "7lc46dh86vw0",
+            "componentName": "HorzBlank",
+            "componentTitle": "辅助空白",
+            "ignore": [
+              "pageBgColor",
+              "componentBgUrl"
+            ],
+            "height": 100,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "rgba(253, 253, 253, 1)",
+            "componentEndBgColor": "rgba(246, 246, 246, 1)",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": -100,
+              "both": 0
+            },
+            "isHidden": false
+          },
+          {
+            "path": "edit-mall-goods-detail-purchase-service",
+            "uses": 1,
+            "id": "c4wh1kcz3i0",
+            "componentName": "MallGoodsDetailPurchaseService",
+            "componentTitle": "商品服务",
+            "ignore": [],
+            "serviceConfig": [
+              "goods_service",
+              "spec_select",
+              "delivery_info",
+              "coupons",
+              "activity"
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#FFFFFF",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 12,
+              "bottom": 0,
+              "both": 10
+            },
+            "isHidden": false
+          },
+          {
+            "path": "edit-mall-goods-detail-sow",
+            "uses": 0,
+            "id": "1zi5tkyxurpc",
+            "componentName": "MallGoodsDetailSow",
+            "componentTitle": "种草秀",
+            "ignore": [],
+            "isShow": true,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#FFFFFF",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 12,
+              "bottom": 0,
+              "both": 10
+            },
+            "isHidden": false
+          },
+          {
+            "path": "edit-mall-goods-detail-shop-info",
+            "uses": 0,
+            "id": "6dxamse6tlc0",
+            "componentName": "MallGoodsDetailShopInfo",
+            "componentTitle": "店铺信息",
+            "ignore": [],
+            "isShow": true,
+            "recommend": {
+              "isShow": true,
+              "num": 3
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#FFFFFF",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 12,
+              "bottom": 0,
+              "both": 10
+            },
+            "isHidden": false,
+            "pageStyle": "padding-top:24rpx;padding-bottom:0rpx;padding-right:20rpx;padding-left:20rpx;",
+            "componentIsShow": true
+          },
+          {
+            "path": "edit-mall-goods-detail-evaluate",
+            "uses": 1,
+            "id": "1jgv7ysvlh0g",
+            "componentName": "MallGoodsDetailEvaluate",
+            "componentTitle": "商品评价",
+            "ignore": [],
+            "isShow": true,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#FFFFFF",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 12,
+              "bottom": 0,
+              "both": 10
+            },
+            "isHidden": false
+          },
+          {
+            "path": "edit-mall-goods-detail-attr",
+            "uses": 1,
+            "id": "19m7738ofq68",
+            "componentName": "MallGoodsDetailAttr",
+            "componentTitle": "商品属性",
+            "ignore": [],
+            "isShow": true,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#FFFFFF",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 12,
+              "bottom": 0,
+              "both": 10
+            },
+            "isHidden": false
+          },
+          {
+            "path": "edit-mall-goods-detail-desc",
+            "uses": 1,
+            "id": "37i90so3cly0",
+            "componentName": "MallGoodsDetailDesc",
+            "componentTitle": "商品详情",
+            "ignore": [],
+            "isShow": true,
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#FFFFFF",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 12,
+            "bottomRounded": 12,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 12,
+              "bottom": 20,
+              "both": 10
+            },
+            "isHidden": false
+          },
+          {
+            "path": "edit-mall-goods-detail-bottom",
+            "position": "bottom_fixed",
+            "uses": 1,
+            "id": "p313pc2eduo",
+            "componentName": "MallGoodsDetailBottom",
+            "componentTitle": "底部菜单",
+            "ignore": [
+              "pageBgColor",
+              "componentBgUrl",
+              "marginTop",
+              "marginBottom",
+              "marginBoth",
+              "topRounded",
+              "bottomRounded"
+            ],
+            "menuContent": [
+              "index",
+              "service",
+              "cart"
+            ],
+            "cartName": "加入购物车",
+            "buyName": "立即购买",
+            "cartIsShow": true,
+            "cartStyle": {
+              "textColor": "#FFFFFF",
+              "fontSize": 12,
+              "gradientAngle": "to right",
+              "startColor": "#FFB000",
+              "endColor": "#FFA029"
+            },
+            "buyStyle": {
+              "textColor": "#FFFFFF",
+              "fontSize": 12,
+              "gradientAngle": "to right",
+              "startColor": "#FB7939",
+              "endColor": "#FF4142"
+            },
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "#FFFFFF",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "isHidden": false
+          }
+        ]
+      }
+    }
+  }
+}

+ 28 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/template.json

@@ -0,0 +1,28 @@
+{
+	"DIY_SITE_INDEX": {
+		"title": "商家首页",
+		"addon": "mall",
+		"page": "/addon/mall/pages/index",
+		"action": "decorate",
+		"type": "",
+		"app_type": ["site"]
+	},
+	"DIY_MALL_GOODS_DETAIL": {
+		"title": "商品详情",
+		"addon": "mall",
+		"page": "/addon/mall/pages/goods/detail",
+		"action": "decorate",
+		"type": "",
+		"app_type": ["admin"],
+		"ignoreComponents": ["CarouselSearch"],
+		"global": {
+			"topStatusBar": {
+				"control": false
+			},
+			"bottomTabBar": {
+				"control": false,
+				"show": false
+			}
+		}
+	}
+}

+ 97 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/theme_color.json

@@ -0,0 +1,97 @@
+{
+  "theme_type": "mall_theme",
+  "theme_color": [
+    {
+      "title": "热情红",
+      "name": "red",
+      "theme": {
+        "--page-bg-color": "#F6F6F6",
+        "--price-text-color": "#FF4142",
+        "--primary-color": "#FF4142",
+        "--primary-color-light": "#FFEAEA",
+        "--primary-color-light2": "#FFF7F7",
+        "--primary-help-color1": "#FFB000",
+        "--primary-help-color2": "#FB7939",
+        "--primary-help-color3": "#F26F3E",
+        "--primary-help-color4": "#FFB397",
+        "--primary-help-color5": "#FFA029",
+        "--primary-color-dark": "#999999",
+        "--primary-color-disabled": "#CCCCCC"
+      }
+    }
+  ],
+  "theme_field": [
+    {
+      "title": "页面背景色",
+      "label": "--page-bg-color",
+      "value": "#F6F6F6",
+      "tip": "页面背景色在uniapp中使用:var(--page-bg-color)"
+    },
+    {
+      "title": "价格颜色",
+      "label": "--price-text-color",
+      "value": "#FF4142",
+      "tip": "价格颜色在uniapp中使用:var(--price-text-color)"
+    },
+    {
+      "title": "主色调",
+      "label": "--primary-color",
+      "value": "rgba(51, 51, 51, 1)",
+      "tip": "主色调在uniapp中使用:var(--primary-color)"
+    },
+    {
+      "title": "主色调浅色(淡)",
+      "label": "--primary-color-light",
+      "value": "rgba(51, 51, 51, 0.1)",
+      "tip": "主色调浅色(淡)在uniapp中使用:var(--primary-color-light)"
+    },
+    {
+      "title": "主色调深色(深)",
+      "label": "--primary-color-light2",
+      "value": "rgba(51, 51, 51, 0.8)",
+      "tip": "主色调深色(深)在uniapp中使用:var(--primary-color-light2)"
+    },
+    {
+      "title": "辅色调1",
+      "label": "--primary-help-color1",
+      "value": "rgba(51, 51, 51, 1)",
+      "tip": "辅色调1在uniapp中使用:var(--primary-help-color1)"
+    },
+    {
+      "title": "辅色调2",
+      "label": "--primary-help-color2",
+      "value": "rgba(51, 51, 51, 1)",
+      "tip": "辅色调2在uniapp中使用:var(--primary-help-color2)"
+    },
+    {
+      "title": "辅色调3",
+      "label": "--primary-help-color3",
+      "value": "rgba(51, 51, 51, 1)",
+      "tip": "辅色调3在uniapp中使用:var(--primary-help-color3)"
+    },
+    {
+      "title": "辅色调4",
+      "label": "--primary-help-color4",
+      "value": "rgba(51, 51, 51, 1)",
+      "tip": "辅色调4在uniapp中使用:var(--primary-help-color4)"
+    },
+    {
+      "title": "辅色调5",
+      "label": "--primary-help-color5",
+      "value": "rgba(51, 51, 51, 1)",
+      "tip": "辅色调5在uniapp中使用:var(--primary-help-color5)"
+    },
+    {
+      "title": "灰色调",
+      "label": "--primary-color-dark",
+      "value": "#999999",
+      "tip": "灰色调在uniapp中使用:var(--primary-color-dark)"
+    },
+    {
+      "title": "禁用色",
+      "label": "--primary-color-disabled",
+      "value": "#CCCCCC",
+      "tip": "禁用色在uniapp中使用:var(--primary-color-disabled)"
+    }
+  ]
+}

+ 80 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy/web_link.json

@@ -0,0 +1,80 @@
+{
+	"MALL_LINK": {
+		"title": "商城",
+		"child_list": [
+			{
+				"name": "MALL_INDEX",
+				"title": "商城首页",
+				"url": "/",
+				"is_share": 1,
+				"action": "",
+				"parent": "MALL_LINK"
+			},
+			{
+				"name": "MALL_GOODS_LIST",
+				"title": "商品列表",
+				"url": "/goods/list",
+				"is_share": 1,
+				"action": "",
+				"parent": "MALL_LINK"
+			},
+			{
+				"name": "MALL_GOODS_CART",
+				"title": "购物车",
+				"url": "/goods/cart",
+				"is_share": 1,
+				"action": "",
+				"parent": "MALL_LINK"
+			},
+			{
+				"name": "MALL_COUPON_LIST",
+				"title": "优惠券列表",
+				"url": "/coupon/list",
+				"is_share": 1,
+				"action": "",
+				"parent": "MALL_LINK"
+			},
+			{
+				"name": "MALL_MY_COUPON_LIST",
+				"title": "我的优惠券",
+				"url": "/member/my_coupon",
+				"is_share": 1,
+				"action": "",
+				"parent": "MALL_LINK"
+			},
+			{
+				"name": "MALL_ORDER_LIST",
+				"title": "订单列表",
+				"url": "/order/list",
+				"is_share": 1,
+				"action": "",
+				"parent": "MALL_LINK"
+			},
+			{
+				"name": "MALL_REFUND_LIST",
+				"title": "退款列表",
+				"url": "/refund/list",
+				"is_share": 1,
+				"action": "",
+				"parent": "MALL_LINK"
+			},
+			{
+				"name": "MALL_SHOP_LIST",
+				"title": "店铺列表",
+				"url": "/shop/list",
+				"is_share": 1,
+				"action": "",
+				"parent": "MALL_LINK"
+			}
+		],
+		"addon_info": {
+			"title": "商城系统",
+			"icon": "addon/shop/icon.png",
+			"key": "shop",
+			"desc": "实物虚拟商品,订单,物流同城配送,门店自提",
+			"status": 1,
+			"cover": "addon/mall/cover.png"
+		},
+		"name": "MALL_LINK"
+	}
+}

+ 413 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy_form/template.json

@@ -0,0 +1,413 @@
+{
+  "DIY_FORM_GOODS_DETAIL": {
+    "mall_goods_detail_form_data": {
+      "title": "商品表单",
+      "cover": "",
+      "preview": "",
+      "desc": "",
+      "data": {
+        "global": {
+          "title": "商品表单",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "bgUrl": "",
+          "bgHeightScale": 100,
+          "imgWidth": "",
+          "imgHeight": "",
+          "topStatusBar": {
+            "isShow": true,
+            "bgColor": "#ffffff",
+            "style": "style-1",
+            "textColor": "#333333",
+            "textAlign": "center",
+            "rollBgColor": "#ffffff",
+            "styleName": "风格1",
+            "rollTextColor": "#333333",
+            "inputPlaceholder": "请输入搜索关键词",
+            "imgUrl": "",
+            "link": {
+              "name": ""
+            }
+          },
+          "bottomTabBar": {
+            "control": true,
+            "isShow": true
+          },
+          "popWindow": {
+            "imgUrl": "",
+            "imgWidth": "",
+            "imgHeight": "",
+            "count": -1,
+            "show": 0,
+            "link": {
+              "name": ""
+            }
+          },
+          "template": {
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "isHidden": false
+          },
+          "completeLayout": "style-2",
+          "completeAlign": "left",
+          "borderControl": false
+        },
+        "value": [
+          {
+            "path": "edit-form-input",
+            "uses": 0,
+            "id": "4n7ik4t1dsa0",
+            "componentName": "FormInput",
+            "componentTitle": "单行文本",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "#FFFFFF",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "fontSize": 14,
+            "fontWeight": "normal",
+            "position": "",
+            "componentType": "diy_form",
+            "field": {
+              "name": "姓名",
+              "remark": {
+                "text": "",
+                "color": "#999999",
+                "fontSize": 14
+              },
+              "required": false,
+              "unique": false,
+              "autofill": false,
+              "privacyProtection": false,
+              "cache": true,
+              "default": "",
+              "value": ""
+            },
+            "placeholder": "请输入姓名",
+            "componentStartBgColor": "",
+            "isHidden": false
+          },
+          {
+            "path": "edit-form-mobile",
+            "uses": 1,
+            "componentType": "diy_form",
+            "id": "1dufay5r2h7k",
+            "componentName": "FormMobile",
+            "componentTitle": "手机号",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "field": {
+              "name": "联系电话",
+              "remark": {
+                "text": "",
+                "color": "#999999",
+                "fontSize": 14
+              },
+              "required": false,
+              "unique": true,
+              "autofill": false,
+              "privacyProtection": false,
+              "cache": true,
+              "default": "",
+              "value": ""
+            },
+            "placeholder": "请输入联系电话",
+            "fontSize": 14,
+            "fontWeight": "normal",
+            "textColor": "#303133",
+            "pageStartBgColor": "#FFFFFF",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "isHidden": false
+          },
+          {
+            "path": "edit-form-identity",
+            "uses": 1,
+            "componentType": "diy_form",
+            "id": "46n4aaxy0uc0",
+            "componentName": "FormIdentity",
+            "componentTitle": "身份证号",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "field": {
+              "name": "身份证号",
+              "remark": {
+                "text": "",
+                "color": "#999999",
+                "fontSize": 14
+              },
+              "required": false,
+              "unique": false,
+              "autofill": false,
+              "privacyProtection": false,
+              "cache": true,
+              "default": "",
+              "value": ""
+            },
+            "placeholder": "请输入身份证号",
+            "fontSize": 14,
+            "fontWeight": "normal",
+            "textColor": "#303133",
+            "pageStartBgColor": "#FFFFFF",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "isHidden": false
+          }
+        ]
+      }
+    }
+  },
+  "DIY_FROM_ORDER_PAYMENT": {
+    "mall_order_form_data": {
+      "title": "待付款表单",
+      "cover": "",
+      "preview": "",
+      "desc": "",
+      "data": {
+        "global": {
+          "title": "待付款表单",
+          "pageStartBgColor": "",
+          "pageEndBgColor": "",
+          "pageGradientAngle": "to bottom",
+          "bgUrl": "",
+          "bgHeightScale": 100,
+          "imgWidth": "",
+          "imgHeight": "",
+          "topStatusBar": {
+            "isShow": true,
+            "bgColor": "#ffffff",
+            "style": "style-1",
+            "textColor": "#333333",
+            "textAlign": "center",
+            "rollBgColor": "#ffffff",
+            "styleName": "风格1",
+            "rollTextColor": "#333333",
+            "inputPlaceholder": "请输入搜索关键词",
+            "imgUrl": "",
+            "link": {
+              "name": ""
+            }
+          },
+          "bottomTabBar": {
+            "control": true,
+            "isShow": true
+          },
+          "popWindow": {
+            "imgUrl": "",
+            "imgWidth": "",
+            "imgHeight": "",
+            "count": -1,
+            "show": 0,
+            "link": {
+              "name": ""
+            }
+          },
+          "template": {
+            "textColor": "#303133",
+            "pageStartBgColor": "",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 0,
+              "bottom": 0,
+              "both": 0
+            },
+            "isHidden": false
+          },
+          "completeLayout": "style-2",
+          "completeAlign": "left",
+          "borderControl": false
+        },
+        "value": [
+          {
+            "path": "edit-form-mobile",
+            "uses": 1,
+            "id": "pe5nd1wsn28",
+            "componentName": "FormMobile",
+            "componentTitle": "手机号",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "textColor": "#303133",
+            "pageStartBgColor": "#FFFFFF",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 1,
+              "bottom": 0,
+              "both": 0
+            },
+            "fontSize": 14,
+            "fontWeight": "normal",
+            "componentType": "diy_form",
+            "field": {
+              "name": "联系电话",
+              "remark": {
+                "text": "",
+                "color": "#999999",
+                "fontSize": 14
+              },
+              "required": false,
+              "unique": false,
+              "autofill": false,
+              "privacyProtection": false,
+              "cache": true,
+              "default": "",
+              "value": ""
+            },
+            "placeholder": "请输入联系电话",
+            "componentStartBgColor": "",
+            "isHidden": false,
+            "sort": 10008,
+            "pageStyle": "background-color:#FFFFFF;padding-top:2rpx;padding-bottom:0rpx;padding-right:0rpx;padding-left:0rpx;"
+          },
+          {
+            "path": "edit-form-date",
+            "uses": 0,
+            "componentType": "diy_form",
+            "id": "2230h04r8za8",
+            "componentName": "FormDate",
+            "componentTitle": "日期",
+            "ignore": [
+              "componentBgUrl"
+            ],
+            "field": {
+              "name": "配送日期",
+              "remark": {
+                "text": "",
+                "color": "#999999",
+                "fontSize": 14
+              },
+              "required": false,
+              "unique": false,
+              "autofill": false,
+              "privacyProtection": false,
+              "cache": true,
+              "default": {
+                "date": "",
+                "timestamp": 0
+              },
+              "value": {
+                "date": "",
+                "timestamp": 0
+              }
+            },
+            "placeholder": "请选择",
+            "fontSize": 14,
+            "fontWeight": "normal",
+            "textColor": "#303133",
+            "pageStartBgColor": "#FFFFFF",
+            "pageEndBgColor": "",
+            "pageGradientAngle": "to bottom",
+            "componentBgUrl": "",
+            "componentBgAlpha": 2,
+            "componentStartBgColor": "",
+            "componentEndBgColor": "",
+            "componentGradientAngle": "to bottom",
+            "topRounded": 0,
+            "bottomRounded": 0,
+            "elementBgColor": "",
+            "topElementRounded": 0,
+            "bottomElementRounded": 0,
+            "margin": {
+              "top": 1,
+              "bottom": 0,
+              "both": 0
+            },
+            "isHidden": false,
+            "convert": [],
+            "dateFormat": "YYYY/MM/DD",
+            "dateWay": "current",
+            "defaultControl": true,
+            "pageStyle": "background-color:#FFFFFF;padding-top:2rpx;padding-bottom:0rpx;padding-right:0rpx;padding-left:0rpx;"
+          }
+        ]
+      }
+    }
+  }
+}

+ 16 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/diy_form/type.json

@@ -0,0 +1,16 @@
+{
+  "DIY_FORM_GOODS_DETAIL": {
+    "title": "商品表单",
+    "preview": "addon/mall/diy_form/goods_detail_preview.jpg",
+    "sort": 10005,
+    "addon": "mall",
+    "app_type": ["site"]
+  },
+  "DIY_FROM_ORDER_PAYMENT": {
+    "title": "订单付款",
+    "preview": "addon/mall/diy_form/order_payment_preview.jpg",
+    "sort": 10006,
+    "addon": "mall",
+    "app_type": ["site"]
+  }
+}

+ 991 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/export/ExportType.json

@@ -0,0 +1,991 @@
+[
+  {
+    "mall_order_goods": {
+      "name": "订单项列表",
+      "column": [
+        {
+          "order_no": {
+            "name": "订单编号"
+          }
+        },
+        {
+          "order_goods_id": {
+            "name": "子订单编号"
+          }
+        },
+        {
+          "goods_name": {
+            "name": "商品名称"
+          }
+        },
+        {
+          "sku_name": {
+            "name": "商品规格名称"
+          }
+        },
+        {
+          "member_no": {
+            "name": "会员编号"
+          }
+        },
+        {
+          "nickname": {
+            "name": "买家昵称"
+          }
+        },
+        {
+          "mobile": {
+            "name": "买家手机号"
+          }
+        },
+        {
+          "price": {
+            "name": "商品单价"
+          }
+        },
+        {
+          "num": {
+            "name": "购买数量"
+          }
+        },
+        {
+          "goods_money": {
+            "name": "商品总价"
+          }
+        },
+        {
+          "discount_money": {
+            "name": "优惠金额"
+          }
+        },
+        {
+          "order_goods_money": {
+            "name": "订单项实付金额"
+          }
+        },
+        {
+          "order_from_name": {
+            "name": "订单来源"
+          }
+        },
+        {
+          "goods_type_name": {
+            "name": "商品类型"
+          }
+        },
+        {
+          "taker_name": {
+            "name": "收货人姓名"
+          }
+        },
+        {
+          "taker_mobile": {
+            "name": "收货人手机号"
+          }
+        },
+        {
+          "taker_full_address": {
+            "name": "收货地址"
+          }
+        },
+        {
+          "delivery_type_name": {
+            "name": "配送方式"
+          }
+        },
+        {
+          "delivery_status_name": {
+            "name": "配送状态"
+          }
+        },
+        {
+          "delivery_money": {
+            "name": "配送金额"
+          }
+        },
+        {
+          "express_number": {
+            "name": "物流单号"
+          }
+        },
+        {
+          "company_name": {
+            "name": "物流公司"
+          }
+        },
+        {
+          "order_status_name": {
+            "name": "订单状态"
+          }
+        },
+        {
+          "create_time": {
+            "name": "订单创建时间"
+          }
+        },
+        {
+          "pay_time": {
+            "name": "订单支付时间"
+          }
+        },
+        {
+          "delivery_time": {
+            "name": "订单发货时间"
+          }
+        },
+        {
+          "finish_time": {
+            "name": "订单完成时间"
+          }
+        },
+        {
+          "member_remark": {
+            "name": "买家留言"
+          }
+        },
+        {
+          "shop_remark": {
+            "name": "商家备注"
+          }
+        },
+        {
+          "out_trade_no": {
+            "name": "支付流水号"
+          }
+        },
+        {
+          "pay_type": {
+            "name": "支付方式"
+          }
+        },
+        {
+          "order_refund_no": {
+            "name": "退款单号"
+          }
+        },
+        {
+          "status_name": {
+            "name": "退款状态"
+          }
+        }
+      ]
+    }
+  },
+  {
+    "shop_order": {
+      "name": "订单列表",
+      "column": [
+        {
+          "order_no": {
+            "name": "订单编号"
+          }
+        },
+        {
+          "member_no": {
+            "name": "会员编号"
+          }
+        },
+        {
+          "nickname": {
+            "name": "买家昵称"
+          }
+        },
+        {
+          "mobile": {
+            "name": "买家手机号"
+          }
+        },
+        {
+          "goods_name": {
+            "name": "商品名称"
+          }
+        },
+        {
+          "sku_name": {
+            "name": "商品规格"
+          }
+        },
+        {
+          "num": {
+            "name": "商品数量"
+          }
+        },
+        {
+          "price": {
+            "name": "商品售价"
+          }
+        },
+        {
+          "goods_money": {
+            "name": "商品小计"
+          }
+        },
+        {
+          "order_from_name": {
+            "name": "订单来源"
+          }
+        },
+        {
+          "goods_total_money": {
+            "name": "商品总价"
+          }
+        },
+        {
+          "delivery_money": {
+            "name": "配送金额"
+          }
+        },
+        {
+          "discount_money": {
+            "name": "优惠金额"
+          }
+        },
+        {
+          "order_money": {
+            "name": "订单金额"
+          }
+        },
+        {
+          "shop_money": {
+            "name": "店铺结算金额"
+          }
+        },
+        {
+          "mall_money": {
+            "name": "平台结算金额"
+          }
+        },
+        {
+          "taker_name": {
+            "name": "收货人姓名"
+          }
+        },
+        {
+          "taker_mobile": {
+            "name": "收货人手机号"
+          }
+        },
+        {
+          "taker_full_address": {
+            "name": "收货地址"
+          }
+        },
+        {
+          "delivery_type_name": {
+            "name": "配送方式"
+          }
+        },
+        {
+          "status_name": {
+            "name": "订单状态"
+          }
+        },
+        {
+          "create_time": {
+            "name": "订单创建时间"
+          }
+        },
+        {
+          "pay_time": {
+            "name": "订单支付时间"
+          }
+        },
+        {
+          "delivery_time": {
+            "name": "订单发货时间"
+          }
+        },
+        {
+          "finish_time": {
+            "name": "订单完成时间"
+          }
+        },
+        {
+          "member_remark": {
+            "name": "买家留言"
+          }
+        },
+        {
+          "shop_remark": {
+            "name": "商家备注"
+          }
+        },
+        {
+          "close_remark": {
+            "name": "关闭原因"
+          }
+        },
+        {
+          "out_trade_no": {
+            "name": "支付流水号"
+          }
+        },
+        {
+          "pay_type": {
+            "name": "支付方式"
+          }
+        },
+        {
+          "express_number": {
+            "name": "物流单号"
+          }
+        },
+        {
+          "company_name": {
+            "name": "物流公司"
+          }
+        },
+        {
+          "invoice_type": {
+            "name": "发票类型"
+          }
+        },
+        {
+          "header_name": {
+            "name": "发票抬头"
+          }
+        },
+        {
+          "tax_number": {
+            "name": "发票税号"
+          }
+        }
+      ]
+    }
+  },
+  {
+    "shop_invoice": {
+      "name": "发票列表",
+      "column": [
+        {
+          "order_no": {
+            "name": "订单号"
+          }
+        },
+        {
+          "nickname": {
+            "name": "会员昵称"
+          }
+        },
+        {
+          "order_money": {
+            "name": "订单金额"
+          }
+        },
+        {
+          "header_name": {
+            "name": "发票抬头"
+          }
+        },
+        {
+          "header_type_name": {
+            "name": "抬头类型"
+          }
+        },
+        {
+          "type_name": {
+            "name": "发票类型"
+          }
+        },
+        {
+          "tax_number": {
+            "name": "纳税人识别号"
+          }
+        },
+        {
+          "bank_name": {
+            "name": "开户银行"
+          }
+        },
+        {
+          "bank_card_number": {
+            "name": "银行账号"
+          }
+        },
+        {
+          "address": {
+            "name": "注册地址"
+          }
+        },
+        {
+          "name": {
+            "name": "发票内容"
+          }
+        },
+        {
+          "money": {
+            "name": "开票金额"
+          }
+        },
+        {
+          "invoice_number": {
+            "name": "发票代码"
+          }
+        },
+        {
+          "remark": {
+            "name": "备注"
+          }
+        },
+        {
+          "create_time": {
+            "name": "申请时间"
+          }
+        },
+        {
+          "invoice_time": {
+            "name": "开票时间"
+          }
+        },
+        {
+          "is_invoice_name": {
+            "name": "开票状态"
+          }
+        }
+      ]
+    }
+  },
+  {
+    "mall_order": {
+      "name": "订单列表",
+      "column": [
+        {
+          "order_no": {
+            "name": "订单编号"
+          }
+        },
+        {
+          "member_no": {
+            "name": "会员编号"
+          }
+        },
+        {
+          "nickname": {
+            "name": "买家昵称"
+          }
+        },
+        {
+          "mobile": {
+            "name": "买家手机号"
+          }
+        },
+        {
+          "goods_name": {
+            "name": "商品名称"
+          }
+        },
+        {
+          "sku_name": {
+            "name": "商品规格"
+          }
+        },
+        {
+          "num": {
+            "name": "商品数量"
+          }
+        },
+        {
+          "price": {
+            "name": "商品售价"
+          }
+        },
+        {
+          "goods_money": {
+            "name": "商品小计"
+          }
+        },
+        {
+          "site_name": {
+            "name": "店铺名称"
+          }
+        },
+        {
+          "order_from_name": {
+            "name": "订单来源"
+          }
+        },
+        {
+          "goods_total_money": {
+            "name": "商品总价"
+          }
+        },
+        {
+          "delivery_money": {
+            "name": "配送金额"
+          }
+        },
+        {
+          "discount_money": {
+            "name": "优惠金额"
+          }
+        },
+        {
+          "order_money": {
+            "name": "订单金额"
+          }
+        },
+        {
+          "shop_money": {
+            "name": "店铺结算金额"
+          }
+        },
+        {
+          "mall_money": {
+            "name": "平台结算金额"
+          }
+        },
+        {
+          "taker_name": {
+            "name": "收货人姓名"
+          }
+        },
+        {
+          "taker_mobile": {
+            "name": "收货人手机号"
+          }
+        },
+        {
+          "taker_full_address": {
+            "name": "收货地址"
+          }
+        },
+        {
+          "delivery_type_name": {
+            "name": "配送方式"
+          }
+        },
+        {
+          "status_name": {
+            "name": "订单状态"
+          }
+        },
+        {
+          "create_time": {
+            "name": "订单创建时间"
+          }
+        },
+        {
+          "pay_time": {
+            "name": "订单支付时间"
+          }
+        },
+        {
+          "delivery_time": {
+            "name": "订单发货时间"
+          }
+        },
+        {
+          "finish_time": {
+            "name": "订单完成时间"
+          }
+        },
+        {
+          "member_remark": {
+            "name": "买家留言"
+          }
+        },
+        {
+          "shop_remark": {
+            "name": "商家备注"
+          }
+        },
+        {
+          "close_remark": {
+            "name": "关闭原因"
+          }
+        },
+        {
+          "out_trade_no": {
+            "name": "支付流水号"
+          }
+        },
+        {
+          "pay_type": {
+            "name": "支付方式"
+          }
+        },
+        {
+          "express_number": {
+            "name": "物流单号"
+          }
+        },
+        {
+          "company_name": {
+            "name": "物流公司"
+          }
+        },
+        {
+          "invoice_type": {
+            "name": "发票类型"
+          }
+        },
+        {
+          "header_name": {
+            "name": "发票抬头"
+          }
+        },
+        {
+          "tax_number": {
+            "name": "发票税号"
+          }
+        }
+      ]
+    }
+  },
+  {
+    "mall_order_goods": {
+      "name": "订单项列表",
+      "column": [
+        {
+          "order_no": {
+            "name": "订单编号"
+          }
+        },
+        {
+          "order_goods_id": {
+            "name": "子订单编号"
+          }
+        },
+        {
+          "goods_name": {
+            "name": "商品名称"
+          }
+        },
+        {
+          "sku_name": {
+            "name": "商品规格名称"
+          }
+        },
+        {
+          "member_no": {
+            "name": "会员编号"
+          }
+        },
+        {
+          "nickname": {
+            "name": "买家昵称"
+          }
+        },
+        {
+          "mobile": {
+            "name": "买家手机号"
+          }
+        },
+        {
+          "price": {
+            "name": "商品单价"
+          }
+        },
+        {
+          "num": {
+            "name": "购买数量"
+          }
+        },
+        {
+          "goods_money": {
+            "name": "商品总价"
+          }
+        },
+        {
+          "discount_money": {
+            "name": "优惠金额"
+          }
+        },
+        {
+          "order_goods_money": {
+            "name": "订单项实付金额"
+          }
+        },
+        {
+          "order_from_name": {
+            "name": "订单来源"
+          }
+        },
+        {
+          "goods_type_name": {
+            "name": "商品类型"
+          }
+        },
+        {
+          "taker_name": {
+            "name": "收货人姓名"
+          }
+        },
+        {
+          "taker_mobile": {
+            "name": "收货人手机号"
+          }
+        },
+        {
+          "taker_full_address": {
+            "name": "收货地址"
+          }
+        },
+        {
+          "delivery_type_name": {
+            "name": "配送方式"
+          }
+        },
+        {
+          "delivery_status_name": {
+            "name": "配送状态"
+          }
+        },
+        {
+          "delivery_money": {
+            "name": "配送金额"
+          }
+        },
+        {
+          "express_number": {
+            "name": "物流单号"
+          }
+        },
+        {
+          "company_name": {
+            "name": "物流公司"
+          }
+        },
+        {
+          "order_status_name": {
+            "name": "订单状态"
+          }
+        },
+        {
+          "create_time": {
+            "name": "订单创建时间"
+          }
+        },
+        {
+          "pay_time": {
+            "name": "订单支付时间"
+          }
+        },
+        {
+          "delivery_time": {
+            "name": "订单发货时间"
+          }
+        },
+        {
+          "finish_time": {
+            "name": "订单完成时间"
+          }
+        },
+        {
+          "member_remark": {
+            "name": "买家留言"
+          }
+        },
+        {
+          "shop_remark": {
+            "name": "商家备注"
+          }
+        },
+        {
+          "out_trade_no": {
+            "name": "支付流水号"
+          }
+        },
+        {
+          "pay_type": {
+            "name": "支付方式"
+          }
+        },
+        {
+          "order_refund_no": {
+            "name": "退款单号"
+          }
+        },
+        {
+          "status_name": {
+            "name": "退款状态"
+          }
+        }
+      ]
+    }
+  },
+  {
+    "mall_order_refund": {
+      "name": "退款维权",
+      "column": [
+        {
+          "order_refund_no": {
+            "name": "退款单号"
+          }
+        },
+        {
+          "nickname": {
+            "name": "会员昵称"
+          }
+        },
+        {
+          "refund_type_name": {
+            "name": "退款方式"
+          }
+        },
+        {
+          "apply_money": {
+            "name": "申请退款金额"
+          }
+        },
+        {
+          "goods_info": {
+            "name": "退货商品信息"
+          }
+        },
+        {
+          "refund_num": {
+            "name": "退货数量"
+          }
+        },
+        {
+          "money": {
+            "name": "实际退款金额"
+          }
+        },
+        {
+          "status_name": {
+            "name": "退款状态"
+          }
+        },
+        {
+          "create_time": {
+            "name": "申请时间"
+          }
+        },
+        {
+          "transfer_time": {
+            "name": "转账时间"
+          }
+        },
+        {
+          "refund_no": {
+            "name": "退款交易号"
+          }
+        },
+        {
+          "reason": {
+            "name": "退款原因"
+          }
+        },
+        {
+          "shop_reason": {
+            "name": "拒绝原因"
+          }
+        },
+        {
+          "contact_name": {
+            "name": "退货联系人"
+          }
+        },
+        {
+          "refund_address": {
+            "name": "退货地址"
+          }
+        },
+        {
+          "express_number": {
+            "name": "退货物流单号"
+          }
+        },
+        {
+          "express_company": {
+            "name": "退货物流公司"
+          }
+        }
+      ]
+    }
+  },
+  {
+    "shop_order_refund": {
+      "name": "退款维权",
+      "column": [
+        {
+          "order_refund_no": {
+            "name": "退款单号"
+          }
+        },
+        {
+          "nickname": {
+            "name": "会员昵称"
+          }
+        },
+        {
+          "refund_type_name": {
+            "name": "退款方式"
+          }
+        },
+        {
+          "apply_money": {
+            "name": "申请退款金额"
+          }
+        },
+        {
+          "goods_info": {
+            "name": "退货商品信息"
+          }
+        },
+        {
+          "refund_num": {
+            "name": "退货数量"
+          }
+        },
+        {
+          "money": {
+            "name": "实际退款金额"
+          }
+        },
+        {
+          "status_name": {
+            "name": "退款状态"
+          }
+        },
+        {
+          "create_time": {
+            "name": "申请时间"
+          }
+        },
+        {
+          "transfer_time": {
+            "name": "转账时间"
+          }
+        },
+        {
+          "refund_no": {
+            "name": "退款交易号"
+          }
+        },
+        {
+          "reason": {
+            "name": "退款原因"
+          }
+        },
+        {
+          "shop_reason": {
+            "name": "拒绝原因"
+          }
+        },
+        {
+          "contact_name": {
+            "name": "退货联系人"
+          }
+        },
+        {
+          "refund_address": {
+            "name": "退货地址"
+          }
+        },
+        {
+          "express_number": {
+            "name": "退货物流单号"
+          }
+        },
+        {
+          "express_company": {
+            "name": "退货物流公司"
+          }
+        }
+      ]
+    }
+  }
+]

+ 367 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/express_company.json

@@ -0,0 +1,367 @@
+[
+	{
+		"company_name": "邮政EMS",
+		"logo": "addon/shop/express/ems.jpg",
+		"url": "https://www.ems.com.cn",
+		"express_no": "EMS",
+		"express_no_electronic_sheet": "EMS",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130 76*130",
+				"template_size": "130"
+			},
+			{
+				"template_name": "一联130新 76*130",
+				"template_size": "1301"
+			},
+			{
+				"template_name": "二联180 100*180",
+				"template_size": "180"
+			},
+			{
+				"template_name": "二联180新 100*180",
+				"template_size": "1801"
+			},
+			{
+				"template_name": "二联150 100*150",
+				"template_size": "0"
+			},
+			{
+				"template_name": "二联150新 100*150",
+				"template_size": "1501"
+			}
+		],
+		"exp_type": [
+			{
+				"text": "特快专递",
+				"value": 1
+			},
+			{
+				"text": "代收到付",
+				"value": 8
+			},
+			{
+				"text": "快递包裹",
+				"value": 9
+			},
+			{
+				"text": "电商标快",
+				"value": 10
+			},
+			{
+				"text": "国内标快",
+				"value": 11
+			}
+		]
+	},
+	{
+		"company_name": "邮政快递包裹",
+		"logo": "addon/shop/express/youzhengkd.png",
+		"url": "https://www.ems.com.cn",
+		"express_no": "YZPY",
+		"express_no_electronic_sheet": "YZPY",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130 76*130",
+				"template_size": "130"
+			},
+			{
+				"template_name": "一联130新 76*130",
+				"template_size": "1301"
+			},
+			{
+				"template_name": "二联1801 100*180",
+				"template_size": "1801"
+			},
+			{
+				"template_name": "二联180 100*180",
+				"template_size": "0"
+			},
+			{
+				"template_name": "二联180新 100*180",
+				"template_size": "180"
+			},
+			{
+				"template_name": "二联150 100*150",
+				"template_size": "150"
+			},
+			{
+				"template_name": "二联150新 100*150",
+				"template_size": "1501"
+			}
+		],
+		"exp_type": [
+			{
+				"text": "标准快递",
+				"value": 1
+			}
+		]
+	},
+	{
+		"company_name": "顺丰速运",
+		"logo": "addon/shop/express/shunfeng.png",
+		"url": "https://www.sf-express.com/chn/sc",
+		"express_no": "SF",
+		"express_no_electronic_sheet": "SF",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130新 76*130",
+				"template_size": "1301"
+			},
+			{
+				"template_name": "二联150新 100*150",
+				"template_size": "0"
+			},
+			{
+				"template_name": "二联180新 100*180",
+				"template_size": "180"
+			},
+			{
+				"template_name": "三联210新 100*210",
+				"template_size": "210"
+			}
+		],
+		"exp_type": [
+			{
+				"text": "顺丰特快",
+				"value": 1
+			},
+			{
+				"text": "顺丰标快",
+				"value": 2
+			},
+			{
+				"text": "顺丰即日",
+				"value": 6
+			},
+			{
+				"text": "冷运标快",
+				"value": 201
+			},
+			{
+				"text": "顺丰微小件",
+				"value": 202
+			}
+		]
+	},
+	{
+		"company_name": "中通快递",
+		"logo": "addon/shop/express/zhongtong.png",
+		"url": "https://www.zto.com",
+		"express_no": "ZTO",
+		"express_no_electronic_sheet": "ZTO",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130 76*130",
+				"template_size": "130"
+			},
+			{
+				"template_name": "二联180 100*180",
+				"template_size": "0"
+			},
+			{
+				"template_name": "二联180新 100*180",
+				"template_size": "180"
+			}
+		],
+		"exp_type": []
+	},
+	{
+		"company_name": "圆通速递",
+		"logo": "addon/shop/express/yuantong.png",
+		"url": "https://www.yto.net.cn",
+		"express_no": "YTO",
+		"express_no_electronic_sheet": "YTO",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130 76*130",
+				"template_size": "130"
+			},
+			{
+				"template_name": "一联130新 76*130",
+				"template_size": "1301"
+			},
+			{
+				"template_name": "二联180 100*180",
+				"template_size": "0"
+			},
+			{
+				"template_name": "三联180 100*180",
+				"template_size": "180"
+			},
+			{
+				"template_name": "二联180新 100*180",
+				"template_size": "1801"
+			}
+		],
+		"exp_type": [
+			{
+				"text": "标准快递",
+				"value": 1
+			},
+			{
+				"text": "圆准达",
+				"value": 2
+			}
+		]
+	},
+	{
+		"company_name": "申通快递",
+		"logo": "addon/shop/express/shentong.png",
+		"url": "https://www.sto.cn/pc",
+		"express_no": "STO",
+		"express_no_electronic_sheet": "STO",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130 76*130",
+				"template_size": "130"
+			},
+			{
+				"template_name": "一联130新 76*130",
+				"template_size": "1301"
+			},
+			{
+				"template_name": "二联180 100*180",
+				"template_size": "0"
+			},
+			{
+				"template_name": "二联180新 100*180",
+				"template_size": "180"
+			},
+			{
+				"template_name": "三联180新 100*180",
+				"template_size": "1803"
+			},
+			{
+				"template_name": "二联150 100*150",
+				"template_size": "150"
+			}
+		],
+		"exp_type": [
+			{
+				"text": "标准快递",
+				"value": 1
+			}
+		]
+	},
+	{
+		"company_name": "韵达速递",
+		"logo": "addon/shop/express/yunda.png",
+		"url": "http://www.yundaex.com/cn",
+		"express_no": "YD",
+		"express_no_electronic_sheet": "YD",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130 100*130",
+				"template_size": "130"
+			},
+			{
+				"template_name": "二联180 100*180",
+				"template_size": "180"
+			},
+			{
+				"template_name": "二联203 100*203",
+				"template_size": "0"
+			}
+		],
+		"exp_type": []
+	},
+	{
+		"company_name": "极兔速递",
+		"logo": "addon/shop/express/jitu.png",
+		"url": "https://www.jtexpress.cn",
+		"express_no": "JTSD",
+		"express_no_electronic_sheet": "JTSD",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130 100*130",
+				"template_size": "130"
+			},
+			{
+				"template_name": "二联180 100*180",
+				"template_size": "0"
+			}
+		],
+		"exp_type": [
+			{
+				"text": "标准快递",
+				"value": 1
+			},
+			{
+				"text": "兔优达",
+				"value": 2
+			}
+		]
+	},
+	{
+		"company_name": "菜鸟速递",
+		"logo": "addon/shop/express/cainiao.jpg",
+		"url": "https://express.cainiao.com/",
+		"express_no": "CNSD",
+		"express_no_electronic_sheet": "CNSD",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130 100*130",
+				"template_size": "0"
+			}
+		],
+		"exp_type": [
+			{
+				"text": "当日达",
+				"value": 1
+			},
+			{
+				"text": "次日达",
+				"value": 2
+			},
+			{
+				"text": "预约配送",
+				"value": 3
+			},
+			{
+				"text": "当日下午达",
+				"value": 4
+			},
+			{
+				"text": "当日夜间达",
+				"value": 5
+			},
+			{
+				"text": "次日上午达",
+				"value": 6
+			}
+		]
+	},
+	{
+		"company_name": "京东快递",
+		"logo": "addon/shop/express/jingdong.jpg",
+		"url": "https://www.jdl.com",
+		"express_no": "JD",
+		"express_no_electronic_sheet": "JD",
+		"electronic_sheet_switch": 0,
+		"print_style": [
+			{
+				"template_name": "一联130新 76*130",
+				"template_size": "130"
+			},
+			{
+				"template_name": "二联110 100*110",
+				"template_size": "0"
+			},
+			{
+				"template_name": "二联110新 100*110",
+				"template_size": "110"
+			}
+		],
+		"exp_type": []
+	}
+]

+ 5 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/goods/goods_source.json

@@ -0,0 +1,5 @@
+{
+  "self_goods": {
+    "name": "自建商品"
+  }
+}

+ 110 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/init_mall_data.json

@@ -0,0 +1,110 @@
+{
+  "label_list": [
+    {
+      "label_name": "热卖",
+      "style_type": "diy",
+      "color_json": {
+        "text_color": "rgba(255, 255, 255, 1)",
+        "bg_color": "rgba(250, 35, 28, 1)",
+        "border_color": ""
+      },
+      "icon": "",
+      "status": 1,
+      "sort": 0
+    },
+    {
+      "label_name": "新品推荐",
+      "style_type": "diy",
+      "color_json": {
+        "text_color": "rgba(255, 255, 255, 1)",
+        "bg_color": "rgba(250, 35, 28, 1)",
+        "border_color": ""
+      },
+      "icon": "",
+      "status": 1,
+      "sort": 1,
+    },
+    {
+      "label_name": "甄选优品",
+      "style_type": "diy",
+      "color_json": {
+        "text_color": "rgba(255, 255, 255, 1)",
+        "bg_color": "rgba(250, 35, 28, 1)",
+        "border_color": ""
+      },
+      "icon": "",
+      "status": 1,
+      "sort": 2,
+    },
+    {
+      "label_name": "百亿补贴",
+      "style_type": "icon",
+      "color_json": {
+        "text_color": "rgba(255, 255, 255, 1)",
+        "bg_color": "rgba(250, 35, 28, 1)",
+        "border_color": ""
+      },
+      "icon": "addon/mall/goods/label/icon1.png",
+      "status": 1,
+      "sort": 3,
+    },
+    {
+      "label_name": "双11",
+      "style_type": "icon",
+      "color_json": {
+        "text_color": "rgba(255, 255, 255, 1)",
+        "bg_color": "rgba(250, 35, 28, 1)",
+        "border_color": ""
+      },
+      "icon": "addon/mall/goods/label/icon2.png",
+      "status": 1,
+      "sort": 4,
+    },
+    {
+      "label_name": "双12",
+      "style_type": "icon",
+      "color_json": {
+        "text_color": "rgba(255, 255, 255, 1)",
+        "bg_color": "rgba(250, 35, 28, 1)",
+        "border_color": ""
+      },
+      "icon": "addon/mall/goods/label/icon3.png",
+      "status": 1,
+      "sort": 5
+    }
+  ],
+  "floor_list": [
+    {
+      "floor_name": "美妆护肤",
+      "temp": "default",
+      "sort": 1,
+      "create_time": "$time$",
+      "config": {
+        "title": "美妆护肤",
+        "sub_title": "打造完美肌肤的秘密",
+        "goods_ids": [],
+        "adv_img1": "addon/mall/web/floor_01.png",
+        "adv_img2": "addon/mall/web/floor_02.png",
+        "url": {
+          "name": ""
+        }
+      }
+    },
+    {
+      "floor_name": "潮流穿搭",
+      "temp": "default",
+      "sort": 2,
+      "create_time": "$time$",
+      "config": {
+        "title": "潮流穿搭",
+        "sub_title": "时尚达人",
+        "goods_ids": [],
+        "adv_img1": "addon/mall/web/floor_01.png",
+        "adv_img2": "addon/mall/web/floor_02.png",
+        "url": {
+          "name": ""
+        }
+      }
+    }
+  ]
+}

+ 16 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/member/benefits.json

@@ -0,0 +1,16 @@
+{
+  "mall_free_shipping": {
+    "key": "mall_free_shipping",
+    "name": "包邮",
+    "desc": "商品购买时可享受免邮服务",
+    "component": "/src/addon/mall/views/admin/member/components/benefits-free-shipping.vue",
+    "content": {
+      "admin": {
+        "driver": "com.niu.mall.service.core.member.driver.FreeShippingBenefitsDriver"
+      },
+      "member_level": {
+        "driver": "com.niu.mall.service.core.member.driver.FreeShippingBenefitsDriver"
+      }
+    }
+  }
+}

+ 25 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/member/gift.json

@@ -0,0 +1,25 @@
+{
+  "shop_coupon": {
+    "key": "shop_coupon",
+    "name": "优惠券",
+    "desc": "发放优惠券",
+    "component": "/src/addon/mall/views/admin/member/components/gift-coupon.vue",
+    "grant": {
+      "driver": "com.niu.mall.service.core.member.driver.GiftCouponDriver"
+    },
+    "content": {
+      "admin": {
+        "driver": "com.niu.mall.service.core.member.driver.GiftCouponDriver"
+      },
+      "member_level": {
+        "driver": "com.niu.mall.service.core.member.driver.GiftCouponDriver"
+      },
+      "member_sign": {
+        "driver": "com.niu.mall.service.core.member.driver.GiftCouponDriver"
+      },
+      "member_sign_continue": {
+        "driver": "com.niu.mall.service.core.member.driver.GiftCouponDriver"
+      }
+    }
+  }
+}

+ 31 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/member/growth_rule.json

@@ -0,0 +1,31 @@
+{
+  "mall_buy_goods": {
+    "key": "mall_buy_goods",
+    "name": "购买商品",
+    "desc": "订单交易成功后按订单交易金额发放成长值",
+    "component": "/src/addon/mall/views/admin/member/components/growth-rule-buygoods.vue",
+
+    "calculate": {
+      "driver": "com.niu.mall.service.core.member.driver.GrowthRuleBuyGoodsDriver"
+    },
+    "content": {
+      "admin": {
+        "driver": "com.niu.mall.service.core.member.driver.GrowthRuleBuyGoodsDriver"
+      }
+    }
+  },
+  "mall_buy_order": {
+    "key": "mall_buy_order",
+    "name": "完成下单",
+    "desc": "订单交易成功后发放成长值",
+    "component": "/src/addon/mall/views/admin/member/components/growth-rule-buyorder.vue",
+    "calculate": {
+      "driver": "com.niu.mall.service.core.member.driver.GrowthRuleBuyOrderDriver"
+    },
+    "content": {
+      "admin": {
+        "driver": "com.niu.mall.service.core.member.driver.GrowthRuleBuyOrderDriver"
+      }
+    }
+  }
+}

+ 21 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/member/point_rule.json

@@ -0,0 +1,21 @@
+{
+  "grant": {
+    "mall_buy_goods": {
+      "key": "mall_buy_goods",
+      "name": "购买商品",
+      "desc": "订单交易成功后按订单交易金额发放积分",
+      "component": "/src/addon/mall/views/admin/member/components/point-rule-buygoods.vue",
+      "calculate": {
+        "driver": "com.niu.mall.service.core.member.driver.PointRuleBuyGoodsDriver"
+      },
+      "content": {
+        "admin": {
+          "driver": "com.niu.mall.service.core.member.driver.PointRuleBuyGoodsDriver"
+        }
+      }
+    }
+  },
+  "consume": {
+
+  }
+}

+ 688 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/menu/admin.json

@@ -0,0 +1,688 @@
+{
+    "menu": [
+        {
+            "menu_name": "平台优惠券",
+            "menu_short_name": "平台优惠券",
+            "menu_key": "platform_coupon",
+            "parent_key": "marketing",
+            "menu_type": 1,
+            "icon": "iconfont iconpingtaiyouhuiquan",
+            "api_url": "mall/admin/goods/platform_coupon",
+            "router_path": "mall/marketing/platform_coupon/list",
+            "view_path": "admin/marketing/platform_coupon/list",
+            "methods": "get",
+            "sort": 100,
+            "status": 1,
+            "is_show": 1,
+            "children": [
+                {
+                    "menu_name": "优惠券删除",
+                    "menu_short_name": "优惠券删除",
+                    "menu_key": "platform_coupon_delete",
+                    "parent_key": "platform_coupon",
+                    "menu_type": 2,
+                    "icon": "",
+                    "api_url": "mall/admin/goods/platform_coupon/<id>",
+                    "router_path": "",
+                    "view_path": "",
+                    "methods": "delete",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                }
+            ]
+        },
+        {
+            "menu_name": "店铺优惠券",
+            "menu_short_name": "店铺优惠券",
+            "menu_key": "mall_coupon_list",
+            "parent_key": "marketing",
+            "menu_type": 1,
+            "icon": "iconfont icondianpuyouhuiquan",
+            "api_url": "coupon",
+            "router_path": "mall/coupon/list",
+            "view_path": "admin/coupon/list",
+            "methods": "get",
+            "sort": 100,
+            "status": 1,
+            "is_show": 1
+        },
+        {
+            "menu_name": "商城商品",
+            "menu_short_name": "商城商品",
+            "menu_key": "mall_goods",
+            "parent_key": "goods_manage",
+            "menu_type": 0,
+            "icon": "nc-iconfont nc-icon-shangchengshangpin",
+            "api_url": "",
+            "router_path": "",
+            "view_path": "",
+            "methods": "",
+            "sort": 100,
+            "status": 1,
+            "is_show": 1,
+            "children": [
+                {
+                    "menu_name": "商品列表",
+                    "menu_short_name": "商品列表",
+                    "menu_key": "mall_goods_list",
+                    "parent_key": "mall_goods",
+                    "menu_type": 1,
+                    "icon": "iconfont iconshangpinliebiao1",
+                    "api_url": "goods",
+                    "router_path": "mall/goods/list",
+                    "view_path": "admin/goods/list",
+                    "methods": "get",
+                    "sort": 90,
+                    "status": 1,
+                    "is_show": 1,
+                    "children": [
+                        {
+                            "menu_name": "修改商品排序号",
+                            "menu_short_name": "修改商品排序号",
+                            "menu_key": "mall_goods_sort_edit",
+                            "parent_key": "mall_goods_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/sort",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "put",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        },
+                        {
+                            "menu_name": "修改商品标签",
+                            "menu_short_name": "修改商品标签",
+                            "menu_key": "mall_goods_edit_label",
+                            "parent_key": "mall_goods_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/edit_label",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "put",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        },
+                        {
+                            "menu_name": "商品审核通过",
+                            "menu_short_name": "商品审核通过",
+                            "menu_key": "mall_goods_status_audit_pass",
+                            "parent_key": "mall_goods_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/audit",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "put",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        },
+                        {
+                            "menu_name": "商品审核拒绝",
+                            "menu_short_name": "商品审核拒绝",
+                            "menu_key": "mall_goods_status_audit_refuse",
+                            "parent_key": "mall_goods_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/refuse",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "put",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        },
+                        {
+                            "menu_name": "商品审核强制下架",
+                            "menu_short_name": "商品审核强制下架",
+                            "menu_key": "mall_goods_status_audit_offline",
+                            "parent_key": "mall_goods_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/offline",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "put",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        }
+                    ]
+                },
+                {
+                    "menu_name": "商品标签",
+                    "menu_short_name": "商品标签",
+                    "menu_key": "mall_goods_label_list",
+                    "parent_key": "mall_goods",
+                    "menu_type": 1,
+                    "icon": "iconfont iconshangpinbiaoqian",
+                    "api_url": "goods/label",
+                    "router_path": "mall/goods/label",
+                    "view_path": "admin/goods/label_list",
+                    "methods": "get",
+                    "sort": 88,
+                    "status": 1,
+                    "is_show": 1,
+                    "children": [
+                        {
+                            "menu_name": "添加商品标签",
+                            "menu_short_name": "添加商品标签",
+                            "menu_key": "mall_goods_label_add",
+                            "parent_key": "mall_goods_label_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/label",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "post",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        },
+                        {
+                            "menu_name": "编辑商品标签",
+                            "menu_short_name": "编辑商品标签",
+                            "menu_key": "mall_goods_label_edit",
+                            "parent_key": "mall_goods_label_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/label/<id>",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "put",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        },
+                        {
+                            "menu_name": "删除商品标签",
+                            "menu_short_name": "删除商品标签",
+                            "menu_key": "mall_goods_label_del",
+                            "parent_key": "mall_goods_label_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/label/<id>",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "delete",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        }
+                    ]
+                },
+                {
+                    "menu_name": "分类样式",
+                    "menu_short_name": "分类样式",
+                    "menu_key": "mall_goods_category_config",
+                    "parent_key": "mall_goods",
+                    "menu_type": 1,
+                    "icon": "iconfont iconfenleishezhi",
+                    "api_url": "",
+                    "router_path": "mall/goods/category/config",
+                    "view_path": "admin/goods/category_config",
+                    "methods": "",
+                    "sort": 82,
+                    "status": 1,
+                    "is_show": 1,
+                    "children": [
+                        {
+                            "menu_name": "设置",
+                            "menu_short_name": "设置",
+                            "menu_key": "mall_goods_category_config_set",
+                            "parent_key": "mall_goods_category_config",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/category/config",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "post",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        }
+                    ]
+                },
+                {
+                    "menu_name": "商品设置",
+                    "menu_short_name": "商品设置",
+                    "menu_key": "mall_goods_config",
+                    "parent_key": "mall_goods",
+                    "menu_type": 1,
+                    "icon": "iconfont iconshangpinguanli",
+                    "api_url": "",
+                    "router_path": "mall/goods/config",
+                    "view_path": "admin/goods/config",
+                    "methods": "get",
+                    "sort": 81,
+                    "status": 1,
+                    "is_show": 1,
+                    "children": [
+                        {
+                            "menu_name": "设置",
+                            "menu_short_name": "设置",
+                            "menu_key": "mall_goods_config_set",
+                            "parent_key": "mall_goods_config",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/goods/config",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "post",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "menu_name": "商品榜单",
+            "menu_short_name": "商品榜单",
+            "menu_key": "mall_goods_rank",
+            "parent_key": "marketing",
+            "menu_type": 1,
+            "icon": "nc-iconfont nc-icon-paihangbangV6xx1",
+            "api_url": "",
+            "router_path": "",
+            "view_path": "",
+            "methods": "get",
+            "sort": 85,
+            "status": 1,
+            "is_show": 1,
+            "children": [
+                {
+                    "menu_name": "榜单设置",
+                    "menu_short_name": "榜单设置",
+                    "menu_key": "mall_goods_rank_config",
+                    "parent_key": "mall_goods_rank",
+                    "menu_type": 1,
+                    "icon": "nc-iconfont nc-icon-bangdanshezhiV6xx",
+                    "api_url": "mall/good/rank/config",
+                    "router_path": "mall/marketing/goods_rank/config",
+                    "view_path": "admin/marketing/goods_rank/config",
+                    "methods": "get",
+                    "sort": 90,
+                    "status": 1,
+                    "is_show": 1
+                },
+                {
+                    "menu_name": "榜单管理",
+                    "menu_short_name": "榜单管理",
+                    "menu_key": "mall_goods_rank_list",
+                    "parent_key": "mall_goods_rank",
+                    "menu_type": 1,
+                    "icon": "nc-iconfont nc-icon-bangdanguanliV6xx",
+                    "api_url": "mall/good/rank",
+                    "router_path": "mall/marketing/goods_rank/list",
+                    "view_path": "admin/marketing/goods_rank/list",
+                    "methods": "get",
+                    "sort": 80,
+                    "status": 1,
+                    "is_show": 1,
+                    "children": [
+                        {
+                            "menu_name": "批量删除榜单",
+                            "menu_short_name": "批量删除榜单",
+                            "menu_key": "mall_goods_rank_batch_delete",
+                            "parent_key": "mall_goods_rank_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/good/rank/batchdelete",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "put",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        },
+                        {
+                            "menu_name": "删除榜单",
+                            "menu_short_name": "删除榜单",
+                            "menu_key": "mall_goods_rank_delete",
+                            "parent_key": "mall_goods_rank_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/good/rank/<id>",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "delete",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        },
+                        {
+                            "menu_name": "榜单排序号修改",
+                            "menu_short_name": "榜单排序号修改",
+                            "menu_key": "mall_goods_rank_sort_edit",
+                            "parent_key": "mall_goods_rank_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/good/rank/sort",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "put",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        }
+                    ]
+                },
+                {
+                    "menu_name": "榜单添加",
+                    "menu_short_name": "榜单添加",
+                    "menu_key": "mall_goods_rank_add",
+                    "parent_key": "mall_goods_rank",
+                    "menu_type": 1,
+                    "icon": "",
+                    "api_url": "mall/good/rank",
+                    "router_path": "mall/marketing/goods_rank/edit",
+                    "view_path": "admin/marketing/goods_rank/edit",
+                    "methods": "post",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                },
+                {
+                    "menu_name": "榜单编辑",
+                    "menu_short_name": "榜单编辑",
+                    "menu_key": "mall_goods_rank_edit",
+                    "parent_key": "mall_goods_rank",
+                    "menu_type": 1,
+                    "icon": "",
+                    "api_url": "mall/good/rank/<id>",
+                    "router_path": "mall/marketing/goods_rank/edit",
+                    "view_path": "admin/marketing/goods_rank/edit",
+                    "methods": "put",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                }
+            ]
+        },
+        {
+            "menu_name": "商城订单",
+            "menu_short_name": "订单",
+            "menu_key": "mall_order",
+            "parent_key": "order_manage",
+            "menu_type": 0,
+            "icon": "nc-iconfont nc-icon-shangchengdingdan",
+            "api_url": "",
+            "router_path": "",
+            "view_path": "",
+            "methods": "get",
+            "sort": 100,
+            "status": 1,
+            "is_show": 1,
+            "children": [
+                {
+                    "menu_name": "订单列表",
+                    "menu_short_name": "订单列表",
+                    "menu_key": "mall_order_list",
+                    "parent_key": "mall_order",
+                    "menu_type": 1,
+                    "icon": "iconfont icona-dingdanliebiao",
+                    "api_url": "order/list",
+                    "router_path": "mall/order/index",
+                    "view_path": "admin/order/list",
+                    "methods": "get",
+                    "sort": 90,
+                    "status": 1,
+                    "is_show": 1
+                },
+                {
+                    "menu_name": "退款维权",
+                    "menu_short_name": "退款维权",
+                    "menu_key": "mall_order_refund",
+                    "parent_key": "mall_order",
+                    "menu_type": 1,
+                    "icon": "iconfont icondingdanweiquan",
+                    "api_url": "",
+                    "router_path": "mall/order/refund",
+                    "view_path": "admin/order/refund",
+                    "methods": "get",
+                    "sort": 89,
+                    "status": 1,
+                    "is_show": 1
+                },
+                {
+                    "menu_name": "商品评价",
+                    "menu_short_name": "商品评价",
+                    "menu_key": "mall_goods_evaluate",
+                    "parent_key": "mall_order",
+                    "menu_type": 1,
+                    "icon": "iconfont iconshangpinpinglun",
+                    "api_url": "goods/evaluate",
+                    "router_path": "mall/order/evaluate",
+                    "view_path": "admin/goods/evaluate",
+                    "methods": "get",
+                    "sort": 87,
+                    "status": 1,
+                    "is_show": 1
+                },
+                {
+                    "menu_name": "订单设置",
+                    "menu_short_name": "订单设置",
+                    "menu_key": "mall_config_order",
+                    "parent_key": "mall_order",
+                    "menu_type": 1,
+                    "icon": "iconfont iconjiaoyishezhi",
+                    "api_url": "",
+                    "router_path": "mall/order/order/config",
+                    "view_path": "admin/order/config",
+                    "methods": "",
+                    "sort": 86,
+                    "status": 1,
+                    "is_show": 1,
+                    "children": [
+                        {
+                            "menu_name": "设置",
+                            "menu_short_name": "设置",
+                            "menu_key": "mall_config_order_set",
+                            "parent_key": "mall_config_order",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "mall/admin/order/config",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "post",
+                            "sort": 12,
+                            "status": 1,
+                            "is_show": 1
+                        }
+                    ]
+                },
+                {
+                    "menu_name": "添加评价",
+                    "menu_short_name": "添加评价",
+                    "menu_key": "mall_goods_evaluate_add",
+                    "parent_key": "mall_order",
+                    "menu_type": 1,
+                    "icon": "",
+                    "api_url": "goods/evaluate",
+                    "router_path": "mall/order/evaluate/add",
+                    "view_path": "admin/goods/evaluate_edit",
+                    "methods": "get",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                },
+                {
+                    "menu_name": "订单详情",
+                    "menu_short_name": "订单详情",
+                    "menu_key": "mall_order_detail",
+                    "parent_key": "mall_order",
+                    "menu_type": 1,
+                    "icon": "iconfont iconshangpinguanli",
+                    "api_url": "mall/order/detail<id>",
+                    "router_path": "mall/order/detail",
+                    "view_path": "admin/order/detail",
+                    "methods": "get",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                },
+                {
+                    "menu_name": "维权详情",
+                    "menu_short_name": "维权详情",
+                    "menu_key": "mall_order_refund_detail",
+                    "parent_key": "mall_order",
+                    "menu_type": 1,
+                    "icon": "iconfont iconshangpinguanli",
+                    "api_url": "mall/order/refund<id>",
+                    "router_path": "mall/order/refund/detail",
+                    "view_path": "admin/order/refund_detail",
+                    "methods": "get",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                }
+            ]
+        },
+        {
+            "menu_name": "结算记录",
+            "menu_short_name": "结算记录",
+            "menu_key": "order_settlement_list",
+            "parent_key": "shop_manage",
+            "menu_type": 1,
+            "icon": "iconfont iconjiesuanjilu1",
+            "api_url": "",
+            "router_path": "mall/finance/settlement",
+            "view_path": "admin/finance/settlement",
+            "methods": "get",
+            "sort": 60,
+            "status": 1,
+            "is_show": 1
+        },
+        {
+            "menu_name": "首页楼层",
+            "menu_short_name": "首页楼层",
+            "menu_key": "mall_index_floor",
+            "parent_key": "diy_web",
+            "menu_type": 1,
+            "icon": "element Memo",
+            "api_url": "",
+            "router_path": "admin/web/floor",
+            "view_path": "admin/web/floor",
+            "methods": "",
+            "sort": 50,
+            "status": 1,
+            "is_show": 1,
+            "children": [
+                {
+                    "menu_name": "添加首页楼层",
+                    "menu_short_name": "添加首页楼层",
+                    "menu_key": "mall_index_floor_add",
+                    "parent_key": "mall_index_floor",
+                    "menu_type": 2,
+                    "icon": "",
+                    "api_url": "mall/admin/web/floor",
+                    "router_path": "",
+                    "view_path": "",
+                    "methods": "post",
+                    "sort": 12,
+                    "status": 1,
+                    "is_show": 1
+                },
+                {
+                    "menu_name": "编辑首页楼层",
+                    "menu_short_name": "编辑首页楼层",
+                    "menu_key": "mall_index_floor_edit",
+                    "parent_key": "mall_index_floor",
+                    "menu_type": 2,
+                    "icon": "",
+                    "api_url": "mall/admin/web/floor/<id>",
+                    "router_path": "",
+                    "view_path": "",
+                    "methods": "put",
+                    "sort": 12,
+                    "status": 1,
+                    "is_show": 1
+                },
+                {
+                    "menu_name": "删除首页楼层",
+                    "menu_short_name": "删除首页楼层",
+                    "menu_key": "mall_index_floor_del",
+                    "parent_key": "mall_index_floor",
+                    "menu_type": 2,
+                    "icon": "",
+                    "api_url": "mall/admin/web/floor/<id>",
+                    "router_path": "",
+                    "view_path": "",
+                    "methods": "delete",
+                    "sort": 12,
+                    "status": 1,
+                    "is_show": 1
+                }
+            ]
+        },
+        {
+            "menu_name": "领取记录",
+            "menu_short_name": "领取记录",
+            "menu_key": "mall_coupon_get_list",
+            "parent_key": "marketing",
+            "menu_type": 1,
+            "icon": "iconfont iconshangpinguanli",
+            "api_url": "coupon/get_list<id>",
+            "router_path": "mall/coupon/get_list",
+            "view_path": "admin/coupon/get_list",
+            "methods": "get",
+            "sort": 0,
+            "status": 1,
+            "is_show": 0
+        },
+        {
+            "menu_name": "领取记录",
+            "menu_short_name": "领取记录",
+            "menu_key": "platform_coupon_get_list",
+            "parent_key": "marketing",
+            "menu_type": 1,
+            "icon": "iconfont iconshangpinguanli",
+            "api_url": "mall/admin/goods/platform_coupon/records",
+            "router_path": "mall/marketing/platform_coupon/get_list",
+            "view_path": "admin/marketing/platform_coupon/get_list",
+            "methods": "get",
+            "sort": 0,
+            "status": 1,
+            "is_show": 0
+        },
+        {
+            "menu_name": "优惠券编辑",
+            "menu_short_name": "优惠券编辑",
+            "menu_key": "platform_coupon_edit",
+            "parent_key": "marketing",
+            "menu_type": 1,
+            "icon": "",
+            "api_url": "mall/admin/goods/platform_coupon/edit/<id>",
+            "router_path": "mall/marketing/platform_coupon/edit",
+            "view_path": "admin/marketing/platform_coupon/edit",
+            "methods": "put",
+            "sort": 0,
+            "status": 1,
+            "is_show": 0
+        },
+        {
+            "menu_name": "优惠券添加",
+            "menu_short_name": "优惠券添加",
+            "menu_key": "platform_coupon_add",
+            "parent_key": "marketing",
+            "menu_type": 1,
+            "icon": "",
+            "api_url": "mall/admin/goods/platform_coupon",
+            "router_path": "mall/marketing/platform_coupon/add",
+            "view_path": "admin/marketing/platform_coupon/add",
+            "methods": "post",
+            "sort": 0,
+            "status": 1,
+            "is_show": 0
+        }
+    ],
+    "delete": [
+    ]
+}

+ 926 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/menu/site.json

@@ -0,0 +1,926 @@
+{
+    "menu": [
+        {
+            "menu_name": "商城系统",
+            "menu_short_name": "商城",
+            "menu_key": "mall",
+            "parent_key": "",
+            "menu_type": 0,
+            "icon": "nc-iconfont nc-icon-shangchengxitong",
+            "api_url": "",
+            "router_path": "",
+            "view_path": "",
+            "methods": "",
+            "sort": 110,
+            "status": 1,
+            "is_show": 1,
+            "children": [
+                {
+                    "menu_name": "概况",
+                    "menu_short_name": "概况",
+                    "menu_key": "mall_index",
+                    "parent_key": "mall",
+                    "menu_type": 1,
+                    "icon": "iconfont icongaikuang1",
+                    "api_url": "index",
+                    "router_path": "mall/index",
+                    "view_path": "site/index/index",
+                    "methods": "get",
+                    "sort": 100,
+                    "status": 1,
+                    "is_show": 1
+                },
+                {
+                    "menu_name": "商品管理",
+                    "menu_short_name": "商品",
+                    "menu_key": "mall_goods_manage",
+                    "parent_key": "mall",
+                    "menu_type": 0,
+                    "icon": "iconfont iconshangpinguanli",
+                    "api_url": "",
+                    "router_path": "",
+                    "view_path": "",
+                    "methods": "",
+                    "sort": 90,
+                    "status": 1,
+                    "is_show": 1,
+                    "children": [
+                        {
+                            "menu_name": "商品列表",
+                            "menu_short_name": "商品列表",
+                            "menu_key": "mall_goods_list",
+                            "parent_key": "mall_goods_manage",
+                            "menu_type": 1,
+                            "icon": "nc-iconfont nc-icon-shangpinliebiao",
+                            "api_url": "goods",
+                            "router_path": "mall/goods/list",
+                            "view_path": "site/goods/list",
+                            "methods": "get",
+                            "sort": 90,
+                            "status": 1,
+                            "is_show": 1,
+                            "children": [
+                                {
+                                    "menu_name": "商品恢复",
+                                    "menu_short_name": "商品恢复",
+                                    "menu_key": "mall_goods_recycle",
+                                    "parent_key": "mall_goods_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/recycle",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "修改商品排序号",
+                                    "menu_short_name": "修改商品排序号",
+                                    "menu_key": "mall_goods_sort_edit",
+                                    "parent_key": "mall_goods_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/sort",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "编辑商品规格列表库存",
+                                    "menu_short_name": "编辑商品规格列表库存",
+                                    "menu_key": "mall_goods_sku_stock_edit",
+                                    "parent_key": "mall_goods_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/sku/stock",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "商品复制",
+                                    "menu_short_name": "商品复制",
+                                    "menu_key": "mall_goods_copy",
+                                    "parent_key": "mall_goods_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/copy/<goods_id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "编辑商品规格列表价格",
+                                    "menu_short_name": "编辑商品规格列表价格",
+                                    "menu_key": "mall_goods_sku_price_edit",
+                                    "parent_key": "mall_goods_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/sku/price",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "修改商品上下架状态",
+                                    "menu_short_name": "修改商品上下架状态",
+                                    "menu_key": "mall_goods_status_edit",
+                                    "parent_key": "mall_goods_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/status",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                }
+                            ]
+                        },
+                        {
+                            "menu_name": "商品统计",
+                            "menu_short_name": "商品统计",
+                            "menu_key": "mall_stat_goods",
+                            "parent_key": "mall_goods_manage",
+                            "menu_type": 1,
+                            "icon": "nc-iconfont nc-icon-shangpintongji",
+                            "api_url": "mall/stat/goods",
+                            "router_path": "mall/stat/goods",
+                            "view_path": "site/stat/goods",
+                            "methods": "get",
+                            "sort": 87,
+                            "status": 1,
+                            "is_show": 1
+                        },
+                        {
+                            "menu_name": "回收站",
+                            "menu_short_name": "回收站",
+                            "menu_key": "mall_goods_recycle_list",
+                            "parent_key": "mall_goods_manage",
+                            "menu_type": 1,
+                            "icon": "nc-iconfont nc-icon-huishouzhan",
+                            "api_url": "goods/recycle",
+                            "router_path": "mall/goods/recycle",
+                            "view_path": "site/goods/recycle",
+                            "methods": "get",
+                            "sort": 84,
+                            "status": 1,
+                            "is_show": 1
+                        },
+                        {
+                            "menu_name": "分类样式",
+                            "menu_short_name": "分类设置",
+                            "menu_key": "mall_goods_category_config",
+                            "parent_key": "mall_goods_manage",
+                            "menu_type": 1,
+                            "icon": "iconfont iconfenleishezhi",
+                            "api_url": "",
+                            "router_path": "mall/goods/category/config",
+                            "view_path": "site/goods/category_config",
+                            "methods": "",
+                            "sort": 82,
+                            "status": 1,
+                            "is_show": 1,
+                            "children": [
+                                {
+                                    "menu_name": "设置",
+                                    "menu_short_name": "设置",
+                                    "menu_key": "mall_goods_category_config_set",
+                                    "parent_key": "mall_goods_category_config",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/category/config",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "post",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                }
+                            ]
+                        },
+                        {
+                            "menu_name": "商品编辑",
+                            "menu_short_name": "商品编辑",
+                            "menu_key": "mall_goods_real_edit",
+                            "parent_key": "mall_goods_manage",
+                            "menu_type": 1,
+                            "icon": "",
+                            "api_url": "goods/<id>",
+                            "router_path": "mall/goods/real_edit",
+                            "view_path": "site/goods/real_edit",
+                            "methods": "put",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        },
+                        {
+                            "menu_name": "商品添加",
+                            "menu_short_name": "商品添加",
+                            "menu_key": "mall_goods_virtual_add",
+                            "parent_key": "mall_goods_manage",
+                            "menu_type": 1,
+                            "icon": "",
+                            "api_url": "",
+                            "router_path": "mall/goods/virtual_edit",
+                            "view_path": "site/goods/virtual_edit",
+                            "methods": "post",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        },
+                        {
+                            "menu_name": "商品编辑",
+                            "menu_short_name": "商品编辑",
+                            "menu_key": "mall_goods_virtual_edit",
+                            "parent_key": "mall_goods_manage",
+                            "menu_type": 1,
+                            "icon": "",
+                            "api_url": "goods/<id>",
+                            "router_path": "mall/goods/virtual_edit",
+                            "view_path": "site/goods/virtual_edit",
+                            "methods": "put",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        },
+                        {
+                            "menu_name": "商品添加",
+                            "menu_short_name": "商品添加",
+                            "menu_key": "mall_goods_real_add",
+                            "parent_key": "mall_goods_manage",
+                            "menu_type": 1,
+                            "icon": "",
+                            "api_url": "",
+                            "router_path": "mall/goods/real_edit",
+                            "view_path": "site/goods/real_edit",
+                            "methods": "post",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        },
+                        {
+                            "menu_name": "商品删除",
+                            "menu_short_name": "商品删除",
+                            "menu_key": "mall_goods_delete",
+                            "parent_key": "mall_goods_manage",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "goods/<id>",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "delete",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        }
+                    ]
+                },
+                {
+                    "menu_name": "订单管理",
+                    "menu_short_name": "订单",
+                    "menu_key": "mall_order_manage",
+                    "parent_key": "mall",
+                    "menu_type": 0,
+                    "icon": "iconfont icondingdan1",
+                    "api_url": "",
+                    "router_path": "",
+                    "view_path": "",
+                    "methods": "get",
+                    "sort": 80,
+                    "status": 1,
+                    "is_show": 1,
+                    "children": [
+                        {
+                            "menu_name": "订单列表",
+                            "menu_short_name": "订单列表",
+                            "menu_key": "mall_order_list",
+                            "parent_key": "mall_order_manage",
+                            "menu_type": 1,
+                            "icon": "nc-iconfont nc-icon-dingdanliebiao",
+                            "api_url": "order/list",
+                            "router_path": "mall/order/index",
+                            "view_path": "site/order/list",
+                            "methods": "get",
+                            "sort": 90,
+                            "status": 1,
+                            "is_show": 1,
+                            "children": [
+                                {
+                                    "menu_name": "订单项发货",
+                                    "menu_short_name": "订单项发货",
+                                    "menu_key": "mall_order_goods_delivery",
+                                    "parent_key": "mall_order_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/order/goods/delivery/<id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "订单发货",
+                                    "menu_short_name": "订单发货",
+                                    "menu_key": "mall_order_delivery",
+                                    "parent_key": "mall_order_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/order/delivery",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "商家留言",
+                                    "menu_short_name": "商家留言",
+                                    "menu_key": "mall_order_shop_remark",
+                                    "parent_key": "mall_order_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/order/shop_remark",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "订单关闭",
+                                    "menu_short_name": "订单关闭",
+                                    "menu_key": "mall_order_close",
+                                    "parent_key": "mall_order_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/order/close/<id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "订单完成",
+                                    "menu_short_name": "订单完成",
+                                    "menu_key": "mall_order_shop_finish",
+                                    "parent_key": "mall_order_list",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/order/finish/<id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                }
+                            ]
+                        },
+                        {
+                            "menu_name": "退款维权",
+                            "menu_short_name": "退款维权",
+                            "menu_key": "mall_order_refund",
+                            "parent_key": "mall_order_manage",
+                            "menu_type": 1,
+                            "icon": "nc-iconfont nc-icon-tuikuanweiquan",
+                            "api_url": "",
+                            "router_path": "mall/order/refund",
+                            "view_path": "site/order/refund",
+                            "methods": "get",
+                            "sort": 89,
+                            "status": 1,
+                            "is_show": 1,
+                            "children": [
+                                {
+                                    "menu_name": "订单维权审核",
+                                    "menu_short_name": "订单维权审核",
+                                    "menu_key": "mall_order_refund_audit",
+                                    "parent_key": "mall_order_refund",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/order/refund/audit/<order_refund_no>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                },
+                                {
+                                    "menu_name": "订单维权审核是否确认收货",
+                                    "menu_short_name": "订单维权审核是否确认收货",
+                                    "menu_key": "mall_order_refund_delivery",
+                                    "parent_key": "mall_order_refund",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/order/refund/delivery/<order_refund_no>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 12,
+                                    "status": 1,
+                                    "is_show": 1
+                                }
+                            ]
+                        },
+                        {
+                            "menu_name": "批量发货",
+                            "menu_short_name": "批量发货",
+                            "menu_key": "mall_order_batch_delivery",
+                            "parent_key": "mall_order_manage",
+                            "menu_type": 1,
+                            "icon": "nc-iconfont nc-icon-piliangfahuo",
+                            "api_url": "",
+                            "router_path": "mall/order/batch/delivery",
+                            "view_path": "site/order/batch_delivery",
+                            "methods": "get",
+                            "sort": 88,
+                            "status": 1,
+                            "is_show": 1
+                        },
+                        {
+                            "menu_name": "商品评价",
+                            "menu_short_name": "商品评价",
+                            "menu_key": "mall_goods_evaluate",
+                            "parent_key": "mall_order_manage",
+                            "menu_type": 1,
+                            "icon": "nc-iconfont nc-icon-shangpinpingjia",
+                            "api_url": "goods/evaluate",
+                            "router_path": "mall/order/evaluate",
+                            "view_path": "site/goods/evaluate",
+                            "methods": "get",
+                            "sort": 87,
+                            "status": 1,
+                            "is_show": 1,
+                            "children": [
+                                {
+                                    "menu_name": "添加评价",
+                                    "menu_short_name": "添加评价",
+                                    "menu_key": "mall_goods_evaluate_add",
+                                    "parent_key": "mall_goods_evaluate",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/evaluate",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "post",
+                                    "sort": 0,
+                                    "status": 1,
+                                    "is_show": 0
+                                },
+                                {
+                                    "menu_name": "评价取消置顶",
+                                    "menu_short_name": "评价取消置顶",
+                                    "menu_key": "mall_goods_evaluate_cancel_topping",
+                                    "parent_key": "mall_goods_evaluate",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/evaluate/cancel_topping/<id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 0,
+                                    "status": 1,
+                                    "is_show": 0
+                                },
+                                {
+                                    "menu_name": "评价置顶",
+                                    "menu_short_name": "评价置顶",
+                                    "menu_key": "mall_goods_evaluate_topping",
+                                    "parent_key": "mall_goods_evaluate",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/evaluate/topping/<id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 0,
+                                    "status": 1,
+                                    "is_show": 0
+                                },
+                                {
+                                    "menu_name": "评价通过",
+                                    "menu_short_name": "评价通过",
+                                    "menu_key": "mall_goods_evaluate_adopt",
+                                    "parent_key": "mall_goods_evaluate",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/evaluate/adopt/<id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 0,
+                                    "status": 1,
+                                    "is_show": 0
+                                },
+                                {
+                                    "menu_name": "评价回复",
+                                    "menu_short_name": "评价回复",
+                                    "menu_key": "mall_goods_evaluate_reply",
+                                    "parent_key": "mall_goods_evaluate",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/evaluate/reply/<id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 0,
+                                    "status": 1,
+                                    "is_show": 0
+                                },
+                                {
+                                    "menu_name": "删除评价",
+                                    "menu_short_name": "删除评价",
+                                    "menu_key": "mall_goods_evaluate_del",
+                                    "parent_key": "mall_goods_evaluate",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/evaluate/<id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "delete",
+                                    "sort": 0,
+                                    "status": 1,
+                                    "is_show": 0
+                                },
+                                {
+                                    "menu_name": "评价拒绝",
+                                    "menu_short_name": "评价拒绝",
+                                    "menu_key": "mall_goods_evaluate_refuse",
+                                    "parent_key": "mall_goods_evaluate",
+                                    "menu_type": 2,
+                                    "icon": "",
+                                    "api_url": "mall/site/goods/evaluate/refuse/<id>",
+                                    "router_path": "",
+                                    "view_path": "",
+                                    "methods": "put",
+                                    "sort": 0,
+                                    "status": 1,
+                                    "is_show": 0
+                                }
+                            ]
+                        },
+                        {
+                            "menu_name": "维权详情",
+                            "menu_short_name": "维权详情",
+                            "menu_key": "mall_order_refund_detail",
+                            "parent_key": "mall_order_manage",
+                            "menu_type": 1,
+                            "icon": "iconfont iconshangpinguanli",
+                            "api_url": "",
+                            "router_path": "mall/order/refund/detail",
+                            "view_path": "site/order/refund_detail",
+                            "methods": "get",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        },
+                        {
+                            "menu_name": "订单详情",
+                            "menu_short_name": "订单详情",
+                            "menu_key": "mall_order_detail",
+                            "parent_key": "mall_order_manage",
+                            "menu_type": 1,
+                            "icon": "iconfont iconshangpinguanli",
+                            "api_url": "order/detail<id>",
+                            "router_path": "mall/order/detail",
+                            "view_path": "site/order/detail",
+                            "methods": "get",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        },
+                        {
+                            "menu_name": "订单设置",
+                            "menu_short_name": "订单设置",
+                            "menu_key": "mall_order_setting",
+                            "parent_key": "mall_order_manage",
+                            "menu_type": 1,
+                            "icon": "nc-iconfont nc-icon-dingdanshezhi",
+                            "api_url": "invoice/setting",
+                            "router_path": "mall/order/config",
+                            "view_path": "site/order/config",
+                            "methods": "get",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 1
+                        }
+                    ]
+                },
+                {
+                    "menu_name": "商品详情",
+                    "menu_short_name": "商品详情",
+                    "menu_key": "supply_select_goods_detail",
+                    "parent_key": "mall",
+                    "menu_type": 1,
+                    "icon": "",
+                    "api_url": "",
+                    "router_path": "supply/select/detail",
+                    "view_path": "site/select_goods/detail",
+                    "methods": "get",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                },
+                {
+                    "menu_name": "选品平台",
+                    "menu_short_name": "选品平台",
+                    "menu_key": "supply_select_goods",
+                    "parent_key": "mall",
+                    "menu_type": 1,
+                    "icon": "nc-iconfont nc-icon-xuanpinpingtai",
+                    "api_url": "",
+                    "router_path": "supply/select/list",
+                    "view_path": "site/select_goods/list",
+                    "methods": "get",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 1
+                },
+                {
+                    "menu_name": "品牌供货商",
+                    "menu_short_name": "品牌供货商",
+                    "menu_key": "supply_select_goods_of_supply",
+                    "parent_key": "mall",
+                    "menu_type": 1,
+                    "icon": "",
+                    "api_url": "",
+                    "router_path": "supply/select/supply",
+                    "view_path": "site/select_goods/supply",
+                    "methods": "get",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                },
+                {
+                    "menu_name": "品牌供应列表",
+                    "menu_short_name": "品牌供货商",
+                    "menu_key": "supply_select_goods_of_list",
+                    "parent_key": "mall",
+                    "menu_type": 1,
+                    "icon": "",
+                    "api_url": "",
+                    "router_path": "supply/select/goods",
+                    "view_path": "site/select_goods/index",
+                    "methods": "get",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                },
+                {
+                    "menu_name": "合作供货商",
+                    "menu_short_name": "合作供货商",
+                    "menu_key": "supply_select_goods_my_supply",
+                    "parent_key": "mall",
+                    "menu_type": 1,
+                    "icon": "nc-iconfont nc-icon-hezuogonghuoshangV6xx",
+                    "api_url": "",
+                    "router_path": "supply/select/my_supply",
+                    "view_path": "site/select_goods/my_supply",
+                    "methods": "get",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 1
+                }
+            ]
+        },
+        {
+            "menu_name": "商城账单",
+            "menu_short_name": "商城账单",
+            "menu_key": "mall_account_bill_list",
+            "parent_key": "account_bill_list",
+            "menu_type": 1,
+            "icon": "iconfont icongaikuang1",
+            "api_url": "finance/accounts/list",
+            "router_path": "mall/account/bill",
+            "view_path": "site/account/bill",
+            "methods": "get",
+            "sort": 99,
+            "status": 1,
+            "is_show": 1
+        },
+        {
+            "menu_name": "优惠券",
+            "menu_short_name": "优惠券",
+            "menu_key": "mall_goods_coupon_list",
+            "parent_key": "goods_marketing",
+            "menu_type": 1,
+            "icon": "nc-iconfont nc-icon-youhuiquan",
+            "api_url": "mall/site/goods/coupon",
+            "router_path": "mall/marketing/coupon/list",
+            "view_path": "site/marketing/coupon/list",
+            "methods": "get",
+            "sort": 90,
+            "status": 1,
+            "is_show": 1
+        },
+        {
+            "menu_name": "限时折扣",
+            "menu_short_name": "限时折扣",
+            "menu_key": "mall_goods_discount",
+            "parent_key": "goods_marketing",
+            "menu_type": 1,
+            "icon": "nc-iconfont nc-icon-xianshizhekou",
+            "api_url": "",
+            "router_path": "",
+            "view_path": "",
+            "methods": "get",
+            "sort": 89,
+            "status": 1,
+            "is_show": 1,
+            "children": [
+                {
+                    "menu_name": "活动列表",
+                    "menu_short_name": "活动列表",
+                    "menu_key": "mall_goods_discount_list",
+                    "parent_key": "mall_goods_discount",
+                    "menu_type": 1,
+                    "icon": "nc-iconfont nc-icon-huodongliebiao",
+                    "api_url": "active/discount",
+                    "router_path": "mall/marketing/discount/list",
+                    "view_path": "site/marketing/discount/list",
+                    "methods": "get",
+                    "sort": 90,
+                    "status": 1,
+                    "is_show": 1,
+                    "children": [
+                        {
+                            "menu_name": "活动删除",
+                            "menu_short_name": "活动删除",
+                            "menu_key": "shop_goods_discount_delete",
+                            "parent_key": "mall_goods_discount_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "active/discount/<active_id>",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "delete",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        },
+                        {
+                            "menu_name": "活动关闭",
+                            "menu_short_name": "活动关闭",
+                            "menu_key": "shop_goods_discount_close",
+                            "parent_key": "mall_goods_discount_list",
+                            "menu_type": 2,
+                            "icon": "",
+                            "api_url": "active/discount/close/<active_id>",
+                            "router_path": "",
+                            "view_path": "",
+                            "methods": "put",
+                            "sort": 0,
+                            "status": 1,
+                            "is_show": 0
+                        }
+                    ]
+                },
+                {
+                    "menu_name": "活动详情",
+                    "menu_short_name": "活动详情",
+                    "menu_key": "shop_goods_discount_detail",
+                    "parent_key": "mall_goods_discount",
+                    "menu_type": 1,
+                    "icon": "",
+                    "api_url": "active/discount/<active_id>",
+                    "router_path": "mall/marketing/discount/detail",
+                    "view_path": "site/marketing/discount/detail",
+                    "methods": "get",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                },
+                {
+                    "menu_name": "编辑限时折扣",
+                    "menu_short_name": "编辑限时折扣",
+                    "menu_key": "shop_goods_discount_edit",
+                    "parent_key": "mall_goods_discount",
+                    "menu_type": 1,
+                    "icon": "",
+                    "api_url": "active/discount/<active_id>",
+                    "router_path": "mall/marketing/discount/edit",
+                    "view_path": "site/marketing/discount/edit",
+                    "methods": "put",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                },
+                {
+                    "menu_name": "添加限时折扣",
+                    "menu_short_name": "添加限时折扣",
+                    "menu_key": "shop_goods_discount_add",
+                    "parent_key": "mall_goods_discount",
+                    "menu_type": 1,
+                    "icon": "",
+                    "api_url": "active/discount",
+                    "router_path": "mall/marketing/discount/add",
+                    "view_path": "site/marketing/discount/add",
+                    "methods": "post",
+                    "sort": 0,
+                    "status": 1,
+                    "is_show": 0
+                }
+            ]
+        },
+        {
+            "menu_name": "优惠券删除",
+            "menu_short_name": "优惠券删除",
+            "menu_key": "mall_goods_coupon_delete",
+            "parent_key": "goods_marketing",
+            "menu_type": 2,
+            "icon": "",
+            "api_url": "mall/site/goods/coupon/<id>",
+            "router_path": "",
+            "view_path": "",
+            "methods": "delete",
+            "sort": 0,
+            "status": 1,
+            "is_show": 0
+        },
+        {
+            "menu_name": "优惠券领取记录",
+            "menu_short_name": "优惠券领取记录",
+            "menu_key": "mall_goods_coupon_collection",
+            "parent_key": "goods_marketing",
+            "menu_type": 1,
+            "icon": "",
+            "api_url": "",
+            "router_path": "mall/marketing/coupon/collection",
+            "view_path": "site/marketing/coupon/collection",
+            "methods": "get",
+            "sort": 0,
+            "status": 1,
+            "is_show": 0
+        },
+        {
+            "menu_name": "营销中心",
+            "menu_short_name": "营销中心",
+            "menu_key": "mall_goods_marketing_index",
+            "parent_key": "goods_marketing",
+            "menu_type": 1,
+            "icon": "iconfont iconyingxiaozhongxin",
+            "api_url": "",
+            "router_path": "mall/marketing/index",
+            "view_path": "site/marketing/index",
+            "methods": "get",
+            "sort": 0,
+            "status": 1,
+            "is_show": 0
+        },
+        {
+            "menu_name": "优惠券添加",
+            "menu_short_name": "优惠券添加",
+            "menu_key": "mall_goods_coupon_add",
+            "parent_key": "goods_marketing",
+            "menu_type": 1,
+            "icon": "",
+            "api_url": "mall/site/goods/coupon",
+            "router_path": "mall/marketing/coupon/add",
+            "view_path": "site/marketing/coupon/add",
+            "methods": "post",
+            "sort": 0,
+            "status": 1,
+            "is_show": 0
+        },
+        {
+            "menu_name": "优惠券编辑",
+            "menu_short_name": "优惠券编辑",
+            "menu_key": "mall_goods_coupon_edit",
+            "parent_key": "goods_marketing",
+            "menu_type": 1,
+            "icon": "",
+            "api_url": "mall/site/goods/coupon/edit/<id>",
+            "router_path": "mall/marketing/coupon/edit",
+            "view_path": "site/marketing/coupon/edit",
+            "methods": "put",
+            "sort": 0,
+            "status": 1,
+            "is_show": 0
+        }
+    ],
+    "delete": [
+    ]
+}

+ 61 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/notice/notice.json

@@ -0,0 +1,61 @@
+{
+    "mall_order_pay": {
+      "addon": "mall",
+      "key": "mall_order_pay",
+      "receiver_type": 1,
+      "name": "订单支付成功通知",
+      "title": "订单支付成功后发送",
+      "async": true,
+      "variable": {
+        "order_money": "订单总额",
+        "pay_time": "支付时间",
+        "create_time": "支付时间",
+        "body": "订单内容",
+        "order_no": "订单编号",
+        "url": "订单链接"
+      },
+      "driver": "com.niu.mall.service.core.notice.driver.MallOrderPay"
+    },
+    "mall_order_delivery": {
+      "addon": "mall",
+      "key": "mall_order_delivery",
+      "receiver_type": 1,
+      "name": "订单发货通知",
+      "title": "订单发货之后通知买家",
+      "async": true,
+      "variable": {
+        "delivery_time": "发货时间",
+        "order_money": "订单总额",
+        "body": "订单内容",
+        "order_no": "订单编号",
+        "url": "订单链接"
+      },
+      "driver": "com.niu.mall.service.core.notice.driver.MallOrderDelivery"
+    },
+    "mall_refund_agree": {
+      "addon": "mall",
+      "key": "mall_refund_agree",
+      "receiver_type": 1,
+      "name": "商家同意退款申请",
+      "title": "商家同意买家退款申请后发送",
+      "async": true,
+      "variable": {
+        "order_no": "订单编号",
+        "refund_money": "退款金额"
+      },
+      "driver": "com.niu.mall.service.core.notice.driver.MallRefundAgree"
+    },
+    "mall_refund_refuse": {
+      "addon": "mall",
+      "key": "mall_refund_refuse",
+      "receiver_type": 1,
+      "name": "商家拒绝退款申请",
+      "title": "商家拒绝买家退款申请后发送",
+      "async": true,
+      "variable": {
+        "order_no": "订单编号",
+        "refund_money": "退款金额"
+      },
+      "driver": "com.niu.mall.service.core.notice.driver.MallRefundRefuse"
+    }
+  }

+ 14 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/notice/sms.json

@@ -0,0 +1,14 @@
+{
+  "mall_order_pay": {
+    "content": "您购买的{body}已支付成功。查看详情{url}"
+  },
+  "mall_order_delivery": {
+    "content": "您购买的{body}已于{delivery_time}发货。查看详情{url}"
+  },
+  "mall_refund_agree": {
+    "content": "商家已同意您订单编号为{order_no}的退款申请,请关注具体的退款情况"
+  },
+  "mall_refund_refuse": {
+    "content": "很抱歉,您订单编号为{order_no}的退款申请未被同意,请您联系商家并修改申请"
+  }
+}

+ 122 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/notice/weapp.json

@@ -0,0 +1,122 @@
+{
+	"mall_order_pay": {
+		"tid": "30808",
+		"content": [
+			[
+				"订单编号",
+				"{order_no}",
+				"character_string1"
+			],
+			[
+				"下单时间",
+				"{create_time}",
+				"time2"
+			],
+			[
+				"商品名称",
+				"{body}",
+				"thing4"
+			],
+			[
+				"订单金额",
+				"{order_money}",
+				"amount3"
+			]
+		],
+		"kid_list": [
+			1,
+			2,
+			4,
+			3
+		],
+		"scene_desc": "订单支付之后通知",
+		"tips": "使用该消息请在小程序的服务类目中添加类目:一级类目:商业服务 二级类目:软件\/建站\/技术开发"
+	},
+	"mall_order_delivery": {
+		"tid": "30766",
+		"content": [
+			[
+				"订单编号",
+				"{order_no}",
+				"character_string2"
+			],
+			[
+				"商品名称",
+				"{body}",
+				"thing1"
+			],
+			[
+				"订单金额",
+				"{order_money}",
+				"amount7"
+			],
+			[
+				"发货时间",
+				"{delivery_time}",
+				"date3"
+			]
+		],
+		"kid_list": [
+			2,
+			1,
+			7,
+			3
+		],
+		"scene_desc": "订单发货通知",
+		"tips": "使用该消息请在小程序的服务类目中添加类目:一级类目:商业服务 二级类目:软件\/建站\/技术开发"
+	},
+	"mall_refund_agree": {
+		"tid": "30825",
+		"content": [
+			[
+				"订单编号",
+				"{order_no}",
+				"character_string3"
+			],
+			[
+				"退款金额",
+				"{refund_money}",
+				"amount1"
+			],
+			[
+				"申请结果",
+				"{result}",
+				"phrase7"
+			]
+		],
+		"kid_list": [
+			3,
+			1,
+			7
+		],
+		"scene_desc": "商家同意退款",
+		"tips": "使用该消息请在小程序的服务类目中添加类目:一级类目:商业服务 二级类目:软件\/建站\/技术开发"
+	},
+	"mall_refund_refuse": {
+		"tid": "30825",
+		"content": [
+			[
+				"订单编号",
+				"{order_no}",
+				"character_string3"
+			],
+			[
+				"退款金额",
+				"{refund_money}",
+				"amount1"
+			],
+			[
+				"申请结果",
+				"{result}",
+				"phrase7"
+			]
+		],
+		"kid_list": [
+			3,
+			1,
+			7
+		],
+		"scene_desc": "商家拒绝退款",
+		"tips": "使用该消息请在小程序的服务类目中添加类目:一级类目:商业服务 二级类目:软件\/建站\/技术开发"
+	}
+}

+ 100 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/notice/wechat.json

@@ -0,0 +1,100 @@
+ {
+    "mall_order_pay": {
+      "temp_key": "43216",
+      "content": [
+        [
+          "下单时间",
+          "{create_time}",
+          "time4"
+        ],
+        [
+          "订单编号",
+          "{order_no}",
+          "character_string2"
+        ],
+        [
+          "商品信息",
+          "{body}",
+          "thing3"
+        ],
+        [
+          "订单金额",
+          "{order_money}",
+          "amount5"
+        ]
+      ],
+      "keyword_name_list": [
+        "下单时间",
+        "订单号",
+        "商品名称",
+        "支付金额"
+      ],
+      "tips": "使用该消息请将微信公众号服务类目选择为:生活服务——>百货/超市/便利店"
+    },
+    "mall_order_delivery": {
+      "temp_key": "42984",
+      "content": [
+        [
+          "订单编号",
+          "{order_no}",
+          "character_string2"
+        ],
+        [
+          "商品名称",
+          "{body}",
+          "thing4"
+        ],
+        [
+          "发货时间",
+          "{delivery_time}",
+          "time12"
+        ]
+      ],
+      "keyword_name_list": [
+        "订单编号",
+        "商品名称",
+        "发货时间"
+      ],
+      "tips": "使用该消息请将微信公众号服务类目选择为:生活服务——>百货/超市/便利店"
+    },
+    "mall_refund_agree": {
+      "temp_key": "48058",
+      "content": [
+        [
+          "订单编号",
+          "{order_no}",
+          "character_string5"
+        ],
+        [
+          "退款金额",
+          "{refund_money}",
+          "amount2"
+        ]
+      ],
+      "keyword_name_list": [
+        "订单编号",
+        "退款金额"
+      ],
+      "tips": "使用该消息请将微信公众号服务类目选择为:商业服务——>软件/建站/技术开发"
+    },
+    "mall_refund_refuse": {
+      "temp_key": "49580",
+      "content": [
+        [
+          "订单编号",
+          "{order_no}",
+          "character_string1"
+        ],
+        [
+          "退款金额",
+          "{refund_money}",
+          "amount2"
+        ]
+      ],
+      "keyword_name_list": [
+        "订单编号",
+        "退款金额"
+      ],
+      "tips": "使用该消息请将微信公众号服务类目选择为:商业服务——>软件/建站/技术开发"
+    }
+  }

+ 68 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/poster/components.json

@@ -0,0 +1,68 @@
+{
+	"shop_goods": {
+		"title": "商品组件",
+		"support": ["fenxiao_goods", "shop_point_goods"],
+		"list": {
+			"GoodsImage": {
+				"title": "商品图片",
+				"type": "image",
+				"icon": "iconfont iconshangpintupian",
+				"path": "goods-image",
+				"uses": 1,
+				"sort": 10006,
+				"relate": "goods_img",
+				"value": "",
+				"template": {
+					"width": 400,
+					"height": 400,
+					"minWidth": 60,
+					"minHeight": 60
+				}
+			},
+			"GoodsName": {
+				"title": "商品名称",
+				"type": "text",
+				"icon": "iconfont icona-Group13",
+				"path": "goods-name",
+				"uses": 1,
+				"sort": 10007,
+				"relate": "goods_name",
+				"value": "",
+				"template": {
+					"width": 164,
+					"height": 55
+				}
+			},
+			"GoodsPrice": {
+				"title": "销售价",
+				"type": "text",
+				"icon": "iconfont iconshoujia",
+				"path": "goods-price",
+				"uses": 1,
+				"sort": 10008,
+				"relate": "goods_price",
+				"value": "",
+				"template": {
+					"fontFamily": "static/font/price.ttf",
+					"width": 151,
+					"height": 49
+				}
+			},
+			"GoodsMarketPrice": {
+				"title": "划线价",
+				"type": "strikethrough",
+				"icon": "iconfont iconhuajiaqian",
+				"path": "goods-market-price",
+				"uses": 1,
+				"sort": 10009,
+				"relate": "goods_market_price",
+				"value": "",
+				"template": {
+					"fontFamily": "static/font/price.ttf",
+					"width": 170,
+					"height": 48
+				}
+			}
+		}
+	}
+}

+ 348 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/poster/template.json

@@ -0,0 +1,348 @@
+[
+	{
+		"name": "商品模板",
+		"type": "shop_goods",
+		"data": {
+			"global": {
+				"bgType": "color",
+				"bgColor": "#ffffff",
+				"bgUrl": "",
+				"width": 720,
+				"height": 1280
+			},
+			"value": [
+				{
+					"id": "2v1nc497xhc0",
+					"componentName": "GoodsImage",
+					"componentTitle": "商品图片",
+					"type": "image",
+					"path": "goods-image",
+					"uses": 1,
+					"relate": "goods_img",
+					"value": "",
+					"width": 720,
+					"height": 720,
+					"minWidth": 60,
+					"minHeight": 60,
+					"x": 0,
+					"y": 0,
+					"angle": 0,
+					"zIndex": 1
+				},
+				{
+					"id": "29f3czpuw134",
+					"componentName": "GoodsName",
+					"componentTitle": "商品名称",
+					"type": "text",
+					"path": "goods-name",
+					"uses": 1,
+					"relate": "goods_name",
+					"value": "",
+					"width": 640,
+					"height": 94,
+					"minWidth": 120,
+					"minHeight": 44,
+					"x": 40,
+					"y": 760,
+					"angle": 0,
+					"zIndex": 2,
+					"fontFamily": "",
+					"fontSize": 44,
+					"weight": false,
+					"space": 0,
+					"lineHeight": 1,
+					"fontColor": "#303133"
+				},
+				{
+					"id": "2vmf9ovhene0",
+					"componentName": "GoodsPrice",
+					"componentTitle": "商品价格",
+					"type": "text",
+					"path": "goods-price",
+					"uses": 1,
+					"relate": "goods_price",
+					"value": "",
+					"width": 330,
+					"height": 60,
+					"minWidth": 120,
+					"minHeight": 44,
+					"x": 40,
+					"y": 940,
+					"weight": false,
+					"space": 0,
+					"lineHeight": 0,
+					"angle": 0,
+					"zIndex": 3,
+					"fontFamily": "static/font/price.ttf",
+					"fontSize": 44,
+					"fontColor": "#E4163F"
+				},
+				{
+					"id": "2vef9ovhene9",
+					"componentName": "GoodsMarketPrice",
+					"componentTitle": "划线价",
+					"type": "strikethrough",
+					"path": "goods-market-price",
+					"uses": 1,
+					"relate": "goods_market_price",
+					"value": "",
+					"width": 330,
+					"height": 54,
+					"minWidth": 120,
+					"minHeight": 44,
+					"x": 40,
+					"y": 1040,
+					"angle": 0,
+					"zIndex": 4,
+					"fontFamily": "static/font/price.ttf",
+					"fontSize": 36,
+					"weight": false,
+					"space": 0,
+					"lineHeight": 0,
+					"fontColor": "#999999"
+				},
+				{
+					"id": "2rlojy3o60i0",
+					"componentName": "Qrcode",
+					"componentTitle": "二维码",
+					"type": "qrcode",
+					"path": "qrcode",
+					"uses": 1,
+					"relate": "url",
+					"value": "",
+					"width": 200,
+					"height": 200,
+					"minWidth": 60,
+					"minHeight": 60,
+					"x": 480,
+					"y": 940,
+					"angle": 0,
+					"zIndex": 5
+				},
+				{
+					"id": "7a18udv7t950",
+					"componentName": "draw",
+					"componentTitle": "绘画",
+					"type": "draw",
+					"path": "draw",
+					"uses": 1,
+					"relate": "draw",
+					"value": "",
+					"width": 720,
+					"height": 70,
+					"minWidth": 60,
+					"minHeight": 60,
+					"x": 0,
+					"y": 1206,
+					"angle": 0,
+					"zIndex": 6,
+					"drawType": "Polygon",
+					"bgColor": "#eeeeee",
+					"points": [
+						[
+							0,
+							1206
+						],
+						[
+							720,
+							1206
+						],
+						[
+							720,
+							1280
+						],
+						[
+							0,
+							1280
+						]
+					]
+				},
+				{
+					"id": "6hlj5l3as0w0",
+					"componentName": "Text",
+					"componentTitle": "文本",
+					"type": "text",
+					"path": "text",
+					"uses": 0,
+					"relate": "",
+					"value": "长按识别图中的二维码查看商品详情",
+					"width": 512,
+					"height": 48,
+					"minWidth": 120,
+					"minHeight": 44,
+					"x": 110,
+					"y": 1230,
+					"angle": 0,
+					"zIndex": 7,
+					"weight": false,
+					"space": 0,
+					"lineHeight": 0,
+					"fontFamily": "",
+					"fontSize": 32,
+					"fontColor": "#666666"
+				}
+			]
+		}
+	},
+	{
+		"name": "积分商品模板",
+		"type": "shop_point_goods",
+		"data": {
+			"global": {
+				"bgType": "color",
+				"bgColor": "#ffffff",
+				"bgUrl": "",
+				"width": 720,
+				"height": 1280
+			},
+			"value": [
+				{
+					"id": "2v1nc497xhc0",
+					"componentName": "GoodsImage",
+					"componentTitle": "商品图片",
+					"type": "image",
+					"path": "goods-image",
+					"uses": 1,
+					"relate": "goods_img",
+					"value": "",
+					"width": 720,
+					"height": 720,
+					"minWidth": 60,
+					"minHeight": 60,
+					"x": 0,
+					"y": 0,
+					"angle": 0,
+					"zIndex": 1
+				},
+				{
+					"id": "29f3czpuw134",
+					"componentName": "GoodsName",
+					"componentTitle": "商品名称",
+					"type": "text",
+					"path": "goods-name",
+					"uses": 1,
+					"relate": "goods_name",
+					"value": "",
+					"width": 640,
+					"height": 94,
+					"minWidth": 120,
+					"minHeight": 44,
+					"x": 40,
+					"y": 760,
+					"angle": 0,
+					"zIndex": 2,
+					"fontFamily": "",
+					"fontSize": 44,
+					"weight": false,
+					"space": 0,
+					"lineHeight": 0,
+					"fontColor": "#303133"
+				},
+				{
+					"id": "2vmf9ovhene0",
+					"componentName": "GoodsPrice",
+					"componentTitle": "商品价格",
+					"type": "text",
+					"path": "goods-price",
+					"uses": 1,
+					"relate": "goods_price",
+					"value": "",
+					"width": 330,
+					"height": 60,
+					"minWidth": 120,
+					"minHeight": 44,
+					"x": 40,
+					"y": 940,
+					"angle": 0,
+					"zIndex": 3,
+					"fontFamily": "",
+					"fontSize": 40,
+					"weight": false,
+					"space": 0,
+					"lineHeight": 0,
+					"fontColor": "#E4163F"
+				},
+				{
+					"id": "2rlojy3o60i0",
+					"componentName": "Qrcode",
+					"componentTitle": "二维码",
+					"type": "qrcode",
+					"path": "qrcode",
+					"uses": 1,
+					"relate": "url",
+					"value": "",
+					"width": 200,
+					"height": 200,
+					"minWidth": 60,
+					"minHeight": 60,
+					"x": 480,
+					"y": 940,
+					"angle": 0,
+					"zIndex": 5
+				},
+				{
+					"id": "7a18udv7t950",
+					"componentName": "draw",
+					"componentTitle": "绘画",
+					"type": "draw",
+					"path": "draw",
+					"uses": 1,
+					"relate": "draw",
+					"value": "",
+					"width": 720,
+					"height": 70,
+					"minWidth": 60,
+					"minHeight": 60,
+					"x": 0,
+					"y": 1206,
+					"angle": 0,
+					"zIndex": 6,
+					"drawType": "Polygon",
+					"bgColor": "#eeeeee",
+					"points": [
+						[
+							0,
+							1206
+						],
+						[
+							720,
+							1206
+						],
+						[
+							720,
+							1280
+						],
+						[
+							0,
+							1280
+						]
+					]
+				},
+				{
+					"id": "6hlj5l3as0w0",
+					"componentName": "Text",
+					"componentTitle": "文本",
+					"type": "text",
+					"path": "text",
+					"uses": 0,
+					"relate": "",
+					"value": "长按识别图中的二维码查看商品详情",
+					"width": 512,
+					"height": 48,
+					"minWidth": 120,
+					"minHeight": 44,
+					"x": 110,
+					"y": 1230,
+					"angle": 0,
+					"zIndex": 7,
+					"fontFamily": "",
+					"fontSize": 32,
+					"weight": false,
+					"space": 0,
+					"lineHeight": 0,
+					"fontColor": "#666666"
+				}
+			]
+		}
+	}
+]

+ 9 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/poster/type.json

@@ -0,0 +1,9 @@
+[
+	{
+		"type": "shop_goods",
+		"addon": "mall",
+		"name": "商品海报",
+		"decs": "推广商品,分享后进入商品详情页",
+		"icon": "addon/mall/poster/type_shop_goods.png"
+	}
+]

+ 298 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/printer/printer.json

@@ -0,0 +1,298 @@
+[
+  {
+    "key": "mallGoodsOrder",
+    "title": "商品订单",
+    "sort": 10000,
+    "trigger": {
+      "pay_after": "付款后",
+      "take_delivery": "收货后",
+      "manual": "手动"
+    },
+    "condition": [
+      {
+        "key": "print_delivery_type",
+        "title": "配送方式",
+        "type": "checkbox",
+        "list": [
+          {
+            "name": "物流配送",
+            "value": "express"
+          },
+          {
+            "name": "同城配送",
+            "value": "local_delivery"
+          },
+          {
+            "name": "门店自提",
+            "value": "store"
+          }
+        ]
+      }
+    ],
+    "path": "preview-goods-order",
+    "template": [
+      {
+        "key": "head_info",
+        "title": "票头",
+        "list": [
+          {
+            "key": "ticket_name",
+            "label": "小票名称",
+            "value": "小票名称",
+            "placeholder": "",
+            "type": "input",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "normal",
+            "fontWeight": "normal",
+            "remark": ""
+          },
+          {
+            "key": "shop_name",
+            "label": "商城名称",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "big",
+            "fontWeight": "bold",
+            "remark": ""
+          }
+        ]
+      },
+      {
+        "key": "order_info",
+        "title": "订单信息",
+        "list": [
+          {
+            "key": "order_item",
+            "label": "",
+            "value": [
+              "order_no",
+              "order_from",
+              "pay_type",
+              "order_status",
+              "delivery_type",
+              "create_time",
+              "pay_time",
+              "goods_money",
+              "discount_money",
+              "delivery_money",
+              "order_money"
+            ],
+            "type": "checkbox",
+            "status": 1,
+            "fontSize": "",
+            "fontWeight": "",
+            "disabled": false,
+            "remark": "",
+            "list": {
+              "order_no": "订单编号",
+              "order_from": "订单来源",
+              "order_status": "订单状态",
+              "pay_type": "支付方式",
+              "delivery_type": "配送方式",
+              "create_time": "下单时间",
+              "pay_time": "付款时间",
+              "goods_money": "商品总额",
+              "delivery_money": "配送金额",
+              "discount_money": "优惠金额"
+            }
+          },
+          {
+            "key": "order_money",
+            "label": "实付金额",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "fontSize": "big",
+            "fontWeight": "bold",
+            "remark": ""
+          },
+          {
+            "key": "shop_remark",
+            "label": "商家备注",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "normal",
+            "fontWeight": "bold",
+            "remark": ""
+          }
+        ]
+      },
+      {
+        "key": "goods_info",
+        "title": "商品信息",
+        "list": [
+          {
+            "key": "goods_name",
+            "label": "商品名称",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "disabled": true,
+            "fontSize": "normal",
+            "fontWeight": "normal",
+            "remark": ""
+          },
+          {
+            "key": "goods_num",
+            "label": "商品数量",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "disabled": true,
+            "fontSize": "",
+            "fontWeight": "",
+            "remark": ""
+          },
+          {
+            "key": "goods_price",
+            "label": "商品金额",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "normal",
+            "fontWeight": "normal",
+            "remark": ""
+          }
+        ]
+      },
+      {
+        "key": "buyer_info",
+        "title": "买家/收货信息",
+        "list": [
+          {
+            "key": "member_basic_info",
+            "label": "",
+            "value": [
+              "nickname",
+              "account_balance",
+              "account_point"
+            ],
+            "type": "checkbox",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "",
+            "fontWeight": "",
+            "remark": "",
+            "list": {
+              "nickname": "买家昵称",
+              "account_balance": "账户余额",
+              "account_point": "账户积分"
+            }
+          },
+          {
+            "key": "buyer_mobile",
+            "label": "买家手机号",
+            "value": "yes",
+            "type": "select",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "normal",
+            "fontWeight": "normal",
+            "remark": "手机号脱敏可以有效保护用户隐私",
+            "text": "脱敏",
+            "list": {
+              "yes": "是",
+              "no": "否"
+            }
+          },
+          {
+            "key": "taker_name",
+            "label": "收货人姓名",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "big",
+            "fontWeight": "bold",
+            "remark": ""
+          },
+          {
+            "key": "taker_mobile",
+            "label": "收货人手机号",
+            "value": "yes",
+            "type": "select",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "big",
+            "fontWeight": "bold",
+            "remark": "手机号脱敏可以有效保护用户隐私",
+            "text": "脱敏",
+            "list": {
+              "yes": "是",
+              "no": "否"
+            }
+          },
+          {
+            "key": "taker_full_address",
+            "label": "收货人地址",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "big",
+            "fontWeight": "bold",
+            "remark": ""
+          },
+          {
+            "key": "member_remark",
+            "label": "买家备注",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "normal",
+            "fontWeight": "normal",
+            "remark": ""
+          }
+        ]
+      },
+      {
+        "key": "bottom_info",
+        "title": "底部信息",
+        "list": [
+          {
+            "key": "qrcode",
+            "label": "二维码",
+            "placeholder": "二维码内容",
+            "value": "",
+            "type": "input",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "",
+            "fontWeight": "",
+            "remark": ""
+          },
+          {
+            "key": "ticket_print_time",
+            "label": "小票打印时间",
+            "value": "",
+            "type": "",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "",
+            "fontWeight": "",
+            "remark": ""
+          },
+          {
+            "key": "bottom_remark",
+            "label": "底部信息",
+            "value": "谢谢惠顾,欢迎下次光临!",
+            "placeholder": "",
+            "type": "input",
+            "status": 1,
+            "disabled": false,
+            "fontSize": "",
+            "fontWeight": "",
+            "remark": ""
+          }
+        ]
+      }
+    ]
+  }
+]

+ 9 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/recharge/package_gift.json

@@ -0,0 +1,9 @@
+{
+  "coupon": {
+    "name": "赠送优惠券",
+    "value": [],
+    "edit_component": "/src/addon/shop/views/member/components/recharge-gift-coupon.vue",
+    "detail_component": "/src/addon/shop/views/member/components/recharge-detail-coupon.vue",
+    "sort": 3
+  }
+}

+ 68 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/schedule.json

@@ -0,0 +1,68 @@
+[
+	{
+		"key": "OrderCloseJob",
+		"name": "订单自动关闭",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "OrderCloseAllowRefundJob",
+		"name": "订单完成自动关闭售后",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "OrderFinishJob",
+		"name": "待收货订单自动完成",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "CouponMemberExpireJob",
+		"name": "优惠券到期自动过期",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "CouponStartJob",
+		"name": "优惠券到时自动开启",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "CouponEndJob",
+		"name": "优惠券到时自动关闭",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "CouponGoodsSyncJob",
+		"name": "优惠券适用商品信息同步",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "ActiveStartJob",
+		"name": "活动到时自动开启",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "ActiveEndJob",
+		"name": "活动到时自动关闭",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "GoodsStatisticJob",
+		"name": "商品统计更新",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	},
+	{
+		"key": "GoodsExpiredJob",
+		"name": "虚拟商品过期自动下架",
+		"desc": "",
+		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
+	}
+]

+ 3 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/separ_trade_type.json

@@ -0,0 +1,3 @@
+{
+	"order_trade": "商城订单"
+}

+ 10 - 0
ruoyi-modules/ruoyi-mall/src/main/resources/json/core/loader/shop_coupon/coupon_receive_type.json

@@ -0,0 +1,10 @@
+[
+  {
+    "name": "send",
+    "title": "后台发放"
+  },
+  {
+    "name": "receive",
+    "title": "用户手动领取"
+  }
+]

Деякі файли не було показано, через те що забагато файлів було змінено