lilishop

发布时间:2023-05-19

lilishop是一个开源的、轻量级的电商平台,它提供了一套完整的电商解决方案,包括前端展示、后台管理、订单管理、物流管理、支付管理等一系列功能。

一、前端展示

lilishop的前端展示采用了响应式设计,支持PC、手机、平板等设备的自适应显示。它提供了丰富的组件和模板,帮助开发者更快地构建电商网站。 其中,商品列表、商品详情、购物车、结算、订单列表等功能都已经实现,可以直接使用或者依照需求进行定制。此外,lilishop还支持多语言、多主题等扩展功能,满足不同地区、不同品牌的需求。

{# 示例代码 #}
{# 商品列表 #}
{% for product in products %}
  <div class="product-item">
    <div class="product-item-img"></div>
    <div class="product-item-info">
      <h4>{{ product.name }}</h4>
      <p>{{ product.desc }}</p>
      <span>{{ product.price }}</span>
      <button class="add-cart-btn">{{ '加入购物车' }}</button>
    </div>
  </div>
{% endfor %}

二、后台管理

lilishop的后台管理基于Django admin,提供了一套完整的电商管理系统,包括商品管理、分类管理、品牌管理、订单管理、物流管理、支付管理等功能。 其中,商品管理提供了丰富的属性定义和图片上传功能,支持多图上传、图片缩放等操作。订单管理提供了订单列表、订单详情、订单发货、订单关闭等功能,满足日常电商运营和管理的需求。

# 示例代码
# 订单管理列表页面
class OrderAdmin(admin.ModelAdmin):
    list_display = ('id', 'user', 'order_no', 'total_amount', 'status', 'pay_type', 'add_time',)
    list_filter = ('status', 'pay_type',)
    search_fields = ('id', 'user__username', 'order_no',)
    list_per_page = 20
admin.site.register(Order, OrderAdmin)

三、支付管理

lilishop集成了支付宝和微信支付,用户下单后可以直接使用支付宝或微信进行支付。支付流程简单明了,易于使用。 另外,lilishop还支持退款、退货等功能,方便用户在购买后进行售后服务。

# 示例代码
# 支付宝支付接口
class AlipayPayment(Payment):
    def __init__(self, order):
        super(AlipayPayment, self).__init__(order)
    def get_pay_url(self):
        alipay = AliPay(
            appid=settings.ALIPAY_APPID,
            app_notify_url=settings.ALIPAY_NOTIFY_URL,
            app_private_key_path=settings.ALIPAY_PRIVATE_KEY_PATH,
            alipay_public_key_path=settings.ALIPAY_PUBLIC_KEY_PATH,
            sign_type="RSA2",
            debug=settings.ALIPAY_DEBUG,
        )
        order_string = alipay.api_alipay_trade_page_pay(
            out_trade_no=self.order.order_no,
            total_amount=str(self.order.total_amount),
            subject=self.order.subject(),
            return_url=settings.ALIPAY_RETURN_URL,
            notify_url=settings.ALIPAY_NOTIFY_URL,
        )
        return f"{settings.ALIPAY_API_URL}?{order_string}"

四、物流管理

lilishop支持物流状态查询和物流跟踪功能,用户可以在订单页面查询物流状态,也可以在用户中心进行物流跟踪。 另外,lilishop还支持自有物流和第三方物流两种模式,可以根据实际情况进行选择。

# 示例代码
# 物流状态查询接口
class ExpressChecker:
     def __init__(self, express_code, express_number):
         self.express_code = express_code
         self.express_number = express_number
     def check(self):
         express_api_url = f"{settings.EXPRESS_API_URL}/{self.express_code}/{self.express_number}"
         data = requests.get(express_api_url).json()
         if data.get("Success"):
             return data.get("State")
         else:
             return "查询失败,请重试"

五、品牌管理

lilishop提供了品牌管理功能,用户可以在后台添加和编辑品牌信息,前端展示页面可以自动展示品牌信息。 品牌信息包括品牌名称、品牌Logo、品牌描述等,有利于提高品牌知名度和用户忠诚度。

# 示例代码
# 品牌模型
class Brand(models.Model):
    name = models.CharField('品牌名称', max_length=32)
    desc = models.CharField('品牌描述', max_length=512)
    logo = models.ImageField('品牌Logo', upload_to='uploads/brand_logo/')
    is_top = models.BooleanField('是否置顶', default=False)
    add_time = models.DateTimeField('添加时间', auto_now_add=True)
    def __str__(self):
        return self.name

六、总体架构

lilishop采用了经典的MVC(Model-View-Controller)模式,将业务逻辑、数据模型、前端展示进行了分离,保证了系统的可维护性和扩展性。 系统中使用了Django框架、Django Rest Framework、Celery、Redis、MySQL等开源技术,同时采用了RESTful API架构,支撑了亿级别的PV和UV。 总体架构图如下:

// 示例代码
// 系统总体架构图
   +------------+                                 +------------+
   |    用户客户端  |                                 |     卖家管理后台   |
   +------------+                                 +------------+
             ⇅                                              ⇅
   +------------+                RESTful API                +------------+
   |                  APP Model                 |       |                 Nginx|
   +------------+                                 +------------+
             ⇅                                              ⇅
   +------------+        MySQL/Redis/Celery       +------------+
   |                  Database/Cache/Task         |
   +------------+                                 +------------+