Convert Figma logo to code with AI

macrozheng logomall-admin-web

mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。 主要包括商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等功能。

11,783
7,152
11,783
18

Top Related Projects

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

Vue3、Element Plus、typescript后台管理系统

Vue 2.0 admin management system template based on iView

👨🏻‍💻👩🏻‍💻 Use Ant Design Vue like a Pro! (vue2)

A admin template based on vue + element-ui. 基于vue + element-ui的后台管理系统基于 vue + element-ui 的后台管理系统

12,560

An elegant dashboard

Quick Overview

Mall-admin-web is a front-end project for an e-commerce management system. It's built using Vue.js and Element UI, providing a user-friendly interface for managing products, orders, and other aspects of an online store. The project is designed to work in conjunction with the mall backend system.

Pros

  • Comprehensive e-commerce management features
  • Clean and modern UI design using Element UI
  • Well-structured Vue.js codebase with reusable components
  • Detailed documentation and setup instructions

Cons

  • Limited multilingual support
  • Dependency on specific backend implementation
  • Lack of extensive unit tests
  • Some components may require optimization for better performance

Code Examples

  1. Example of a Vue component for product list:
<template>
  <div class="product-list">
    <el-table :data="products" border>
      <el-table-column prop="id" label="ID" width="80"></el-table-column>
      <el-table-column prop="name" label="Name"></el-table-column>
      <el-table-column prop="price" label="Price" width="100"></el-table-column>
      <el-table-column label="Actions" width="150">
        <template slot-scope="scope">
          <el-button @click="editProduct(scope.row)" type="text" size="small">Edit</el-button>
          <el-button @click="deleteProduct(scope.row)" type="text" size="small">Delete</el-button>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      products: []
    }
  },
  methods: {
    editProduct(product) {
      // Implementation for editing a product
    },
    deleteProduct(product) {
      // Implementation for deleting a product
    }
  }
}
</script>
  1. Example of API call using Axios:
import axios from 'axios'

export function getProductList(params) {
  return axios({
    url: '/product/list',
    method: 'get',
    params: params
  })
}
  1. Example of Vuex store module:
const product = {
  state: {
    list: [],
    total: 0
  },
  mutations: {
    SET_PRODUCT_LIST: (state, list) => {
      state.list = list
    },
    SET_TOTAL: (state, total) => {
      state.total = total
    }
  },
  actions: {
    getProductList({ commit }, params) {
      return new Promise((resolve, reject) => {
        getProductList(params).then(response => {
          commit('SET_PRODUCT_LIST', response.data.list)
          commit('SET_TOTAL', response.data.total)
          resolve()
        }).catch(error => {
          reject(error)
        })
      })
    }
  }
}

export default product

Getting Started

  1. Clone the repository:

    git clone https://github.com/macrozheng/mall-admin-web.git
    
  2. Install dependencies:

    cd mall-admin-web
    npm install
    
  3. Configure the API base URL in config/dev.env.js:

    'use strict'
    const merge = require('webpack-merge')
    const prodEnv = require('./prod.env')
    
    module.exports = merge(prodEnv, {
      NODE_ENV: '"development"',
      BASE_API: '"http://localhost:8080"'
    })
    
  4. Run the development server:

    npm run dev
    
  5. Access the application at http://localhost:8090

Competitor Comparisons

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

Pros of vue-element-admin

  • More comprehensive and feature-rich, offering a wider range of components and functionalities
  • Better documentation and community support, making it easier for developers to get started and find solutions
  • Regular updates and maintenance, ensuring compatibility with the latest Vue.js and Element UI versions

Cons of vue-element-admin

  • Steeper learning curve due to its complexity and extensive feature set
  • Potentially overkill for smaller projects or those with specific requirements
  • May require more customization to fit specific business needs

Code Comparison

mall-admin-web:

import Vue from 'vue'
import Router from 'vue-router'
import Login from '@/views/login/index'
import Layout from '@/views/layout/Layout'

Vue.use(Router)

vue-element-admin:

import Vue from 'vue'
import Router from 'vue-router'
import Layout from '@/layout'

Vue.use(Router)

export const constantRoutes = [
  // ... route definitions
]

Both projects use Vue Router, but vue-element-admin has a more structured approach to route management with separate constant and dynamic routes.

Vue3、Element Plus、typescript后台管理系统

Pros of vue-manage-system

  • Simpler and more lightweight, making it easier to understand and customize
  • Includes a variety of pre-built components and charts for quick development
  • Regularly updated with new features and improvements

Cons of vue-manage-system

  • Less comprehensive than mall-admin-web for e-commerce specific functionality
  • May require more customization for complex business logic
  • Fewer integrations with backend services out of the box

Code Comparison

vue-manage-system:

<template>
    <div class="header">
        <!-- Header content -->
    </div>
</template>

<script>
export default {
    name: 'Header',
    // Component logic
}
</script>

mall-admin-web:

<template>
  <el-card class="form-container" shadow="never">
    <el-form :model="brand" :rules="rules" ref="brandForm" label-width="150px">
      <!-- Form fields -->
    </el-form>
  </el-card>
</template>

<script>
import {createBrand, getBrand, updateBrand} from '@/api/brand'
// Component logic
</script>

The code comparison shows that vue-manage-system tends to have simpler component structures, while mall-admin-web includes more complex forms and API integrations specific to e-commerce functionality.

Vue 2.0 admin management system template based on iView

Pros of iview-admin

  • More comprehensive UI component library with iView
  • Better internationalization support
  • More flexible and customizable layout options

Cons of iview-admin

  • Less focused on e-commerce specific features
  • Steeper learning curve for developers new to iView

Code Comparison

mall-admin-web:

<template>
  <div class="app-container">
    <el-card class="filter-container" shadow="never">
      <!-- Filter components -->
    </el-card>
    <div class="table-container">
      <!-- Data table -->
    </div>
  </div>
</template>

iview-admin:

<template>
  <div>
    <Card>
      <Form ref="filterForm" :model="filterForm" inline>
        <!-- Filter components -->
      </Form>
    </Card>
    <Table :columns="columns" :data="data">
      <!-- Table content -->
    </Table>
  </div>
</template>

Key Differences

  • mall-admin-web uses Element UI components, while iview-admin uses iView components
  • iview-admin's code structure is more modular and component-based
  • mall-admin-web is tailored for e-commerce admin panels, while iview-admin is a more general-purpose admin template

Conclusion

Both projects offer robust admin panel solutions, but cater to different needs. mall-admin-web is more suitable for e-commerce projects, while iview-admin provides a more flexible foundation for various types of admin interfaces.

👨🏻‍💻👩🏻‍💻 Use Ant Design Vue like a Pro! (vue2)

Pros of ant-design-vue-pro

  • More comprehensive UI component library with Ant Design Vue
  • Better internationalization support out-of-the-box
  • More robust and scalable project structure for large applications

Cons of ant-design-vue-pro

  • Steeper learning curve due to more complex architecture
  • Potentially overkill for smaller projects
  • Less focused on e-commerce specific features compared to mall-admin-web

Code Comparison

ant-design-vue-pro:

<template>
  <a-config-provider :locale="locale">
    <div id="app">
      <router-view/>
    </div>
  </a-config-provider>
</template>

mall-admin-web:

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

The ant-design-vue-pro example showcases the use of Ant Design's ConfigProvider for internationalization, while mall-admin-web has a simpler structure. This reflects the difference in complexity and feature set between the two projects.

ant-design-vue-pro is better suited for large-scale, multi-language applications with complex UI requirements, while mall-admin-web is more focused on providing a straightforward e-commerce admin interface. The choice between them depends on the specific project needs and the development team's expertise.

A admin template based on vue + element-ui. 基于vue + element-ui的后台管理系统基于 vue + element-ui 的后台管理系统

Pros of vue2-manage

  • Simpler and more lightweight project structure, making it easier for beginners to understand and navigate
  • Includes a variety of common components and features for a typical management system
  • Uses Vue 2, which may be more familiar to developers working on legacy projects

Cons of vue2-manage

  • Less comprehensive and feature-rich compared to mall-admin-web
  • Older technology stack, potentially lacking some modern Vue ecosystem features
  • May require more manual configuration and setup for advanced functionalities

Code Comparison

vue2-manage:

import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store/'

Vue.config.productionTip = false

new Vue({
	el: '#app',
	router,
	store,
	template: '<App/>',
	components: { App }
})

mall-admin-web:

import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(ElementUI)
Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})

The code comparison shows that mall-admin-web uses the more modern render function syntax and includes ElementUI, indicating a more feature-rich and up-to-date approach. vue2-manage uses the older template syntax, which aligns with its simpler structure but may lack some modern optimizations.

12,560

An elegant dashboard

Pros of d2-admin

  • More comprehensive and feature-rich admin template
  • Better documentation and examples
  • Active community and regular updates

Cons of d2-admin

  • Steeper learning curve due to more complex structure
  • May be overkill for smaller projects
  • Potentially slower performance due to additional features

Code Comparison

mall-admin-web:

<template>
  <div class="app-container">
    <el-card class="filter-container" shadow="never">
      <div>
        <i class="el-icon-search"></i>
        <span>筛选搜索</span>

d2-admin:

<template>
  <d2-container>
    <template slot="header">Page 1 header</template>
    <d2-crud
      :columns="columns"
      :data="data"
      :options="options"/>

The code comparison shows that d2-admin uses custom components like d2-container and d2-crud, which provide more built-in functionality. mall-admin-web uses more standard Element UI components, which may be easier to understand for beginners but require more manual setup.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

mall-admin-web

公众号 交流 后台项目 SpringCloud版本 码云

前言

该项目为前后端分离项目的前端部分,后端项目mall地址:传送门 。

项目介绍

mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。主要包括商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等功能。

项目演示

项目在线演示地址:https://www.macrozheng.com/admin/

后台管理系统功能演示

技术选型

技术说明官网
Vue前端框架https://vuejs.org/
Vue-router路由框架https://router.vuejs.org/
Vuex全局状态管理框架https://vuex.vuejs.org/
Element前端UI框架https://element.eleme.io/
Axios前端HTTP框架https://github.com/axios/axios
v-charts基于Echarts的图表框架https://v-charts.js.org/
Js-cookiecookie管理工具https://github.com/js-cookie/js-cookie
nprogress进度条控件https://github.com/rstacruz/nprogress
vue-element-admin项目脚手架参考https://github.com/PanJiaChen/vue-element-admin

项目布局

src -- 源码目录
├── api -- axios网络请求定义
├── assets -- 静态图片资源文件
├── components -- 通用组件封装
├── icons -- svg矢量图片文件
├── router -- vue-router路由配置
├── store -- vuex的状态管理
├── styles -- 全局css样式
├── utils -- 工具类
└── views -- 前端页面
    ├── home -- 首页
    ├── layout -- 通用页面加载框架
    ├── login -- 登录页
    ├── oms -- 订单模块页面
    ├── pms -- 商品模块页面
    └── sms -- 营销模块页面

搭建步骤

公众号

学习不走弯路,关注公众号「macrozheng」,回复「**学习路线**」,获取mall项目专属学习路线!

加微信群交流,公众号后台回复「**加群**」即可。

公众号图片

许可证

Apache License 2.0

Copyright (c) 2018-2024 macrozheng