vue2-elm
Large single page application with 45 pages built on vue2 + vuex. 基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用
Top Related Projects
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
A Vue.js 2.0 UI Toolkit for Web
A high quality UI Toolkit built on Vue.js 2.0
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
Vue3、Element Plus、typescript后台管理系统
🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜
Quick Overview
vue2-elm is a comprehensive Vue.js 2.0 project that replicates the functionality of the Elm food delivery app. It serves as a full-stack demonstration, showcasing both front-end and back-end development using Vue.js and Node.js respectively. The project aims to provide a learning resource for developers interested in building complex web applications with Vue.js.
Pros
- Extensive and realistic project structure, mimicking a real-world application
- Comprehensive implementation of various Vue.js features and best practices
- Includes both front-end and back-end code, offering a full-stack learning experience
- Well-documented codebase with detailed comments
Cons
- Based on Vue.js 2.0, which is not the latest version of the framework
- Large codebase might be overwhelming for beginners
- Some dependencies may be outdated, requiring updates for production use
- Limited multilingual support
Code Examples
- Vue component example:
<template>
<div class="rating_container">
<section class="star_container">
<section :style="'width:' + rating*2/5 + 'rem'" class="star_overflow">
<svg class="grey_fill" v-for="num in 5" :key="num">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#star"></use>
</svg>
</section>
</section>
<div class="rating_num">
<span>{{rating}}</span>
</div>
</div>
</template>
<script>
export default {
props: ['rating']
}
</script>
This code snippet shows a Vue.js component for displaying a star rating.
- Vuex store example:
import Vue from 'vue'
import Vuex from 'vuex'
import mutations from './mutations'
import actions from './action'
import getters from './getters'
Vue.use(Vuex)
const state = {
latitude: '', // Current latitude
longitude: '', // Current longitude
cartList: {}, // Shopping cart
shopDetail: null, // Shop details
userInfo: null, // User info
shopid: null, // Shop ID
remarkText: null, // Remark text
inputText: '', // Input text
invoice: false, // Invoice
newAddress: [], // New address
searchAddress: null, // Search address
geohash: 'wtw3sm0q087', // geohash
choosedAddress: null, // Chosen address
addressIndex: null, // Address index
needValidation: null, // Need validation
cartId: null, // Cart ID
sig: null, // Signature
orderParam: null, // Order parameters
orderMessage: null, // Order message
orderDetail: null, // Order details
login: true, // Login status
imgPath:null, // Image path
removeAddress:[], // Remove address
addAddress:'', // Add address
question: null, // Question
cartPrice: null, // Cart price
}
export default new Vuex.Store({
state,
getters,
actions,
mutations,
})
This code shows the Vuex store configuration for the application.
Getting Started
-
Clone the repository:
git clone https://github.com/bailicangdu/vue2-elm.git
-
Install dependencies:
cd vue2-elm npm install
-
Run the development server:
npm run dev
-
Build for production:
npm run build
Competitor Comparisons
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
Pros of Vue
- Core framework with extensive documentation and community support
- Flexible and scalable for projects of all sizes
- Regular updates and maintenance from the Vue.js core team
Cons of Vue
- More complex setup for large-scale applications
- Steeper learning curve for advanced features
- Less opinionated, requiring more decision-making for project structure
Code Comparison
vue2-elm (Element selection):
export default {
name: 'shopList',
data() {
return {
offset: 0,
shopListArr: [],
preventRepeatReuqest: false,
showBackStatus: false,
showLoading: true,
touchend: false,
}
},
}
Vue (Core library):
export function createApp(rootComponent, rootProps = null) {
const app = ensureRenderer().createApp(rootComponent, rootProps)
const { mount } = app
app.mount = (containerOrSelector) => {
const container = normalizeContainer(containerOrSelector)
if (!container) return
// ...
}
return app
}
Summary
Vue is a comprehensive framework suitable for various project sizes, while vue2-elm is a specific implementation using Vue 2 for an Elm-like application. Vue offers more flexibility and ongoing support but may require more setup for complex projects. vue2-elm provides a ready-to-use structure for a specific use case but may be less adaptable to different project requirements.
A Vue.js 2.0 UI Toolkit for Web
Pros of element
- Comprehensive UI component library for Vue.js applications
- Extensive documentation and active community support
- Regular updates and maintenance from the Eleme team
Cons of element
- Larger bundle size due to the extensive component library
- Steeper learning curve for developers new to component libraries
- Less flexibility for custom styling compared to building from scratch
Code Comparison
element:
<el-button type="primary" @click="handleClick">Click me</el-button>
vue2-elm:
<section class="btn-container">
<button class="btn" @click="handleClick">Click me</button>
</section>
Key Differences
- element is a UI component library, while vue2-elm is a full-fledged food delivery application
- vue2-elm provides a complete application structure and implementation
- element focuses on reusable components for various Vue.js projects
Use Cases
- element: Ideal for rapidly building consistent UI across multiple Vue.js projects
- vue2-elm: Useful as a reference for building complex Vue.js applications, especially in the food delivery domain
Community and Support
- element: Large community, frequent updates, and official backing from Eleme
- vue2-elm: Smaller community, less frequent updates, but valuable for learning Vue.js application architecture
A high quality UI Toolkit built on Vue.js 2.0
Pros of iView
- Comprehensive UI component library with 40+ components
- Extensive documentation and examples
- Active development and regular updates
Cons of iView
- Steeper learning curve for beginners
- Less flexibility for custom designs compared to vue2-elm
Code Comparison
vue2-elm (App.vue):
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'app'
}
</script>
iView (example usage):
<template>
<div>
<Button type="primary">Primary Button</Button>
<Table :columns="columns" :data="data"></Table>
</div>
</template>
<script>
export default {
// Component logic
}
</script>
Summary
vue2-elm is a complete food delivery application built with Vue.js, offering a real-world example of a full-stack Vue project. It provides a great learning resource for developers looking to understand how to structure a large-scale Vue application.
iView, on the other hand, is a UI component library for Vue.js. It offers a wide range of pre-built components that can be easily integrated into Vue projects. While it may have a steeper learning curve, it provides a more comprehensive set of tools for building complex user interfaces.
The choice between the two depends on the project requirements. vue2-elm is ideal for those looking to study a complete Vue application, while iView is better suited for developers needing a robust UI component library for their projects.
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
Pros of vue-element-admin
- More comprehensive and feature-rich admin dashboard template
- Extensive documentation and community support
- Regular updates and maintenance
Cons of vue-element-admin
- Steeper learning curve due to its complexity
- May require more customization for specific use cases
Code Comparison
vue-element-admin:
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export const constantRoutes = [
{
path: '/redirect',
component: Layout,
hidden: true,
children: [
{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index')
}
]
}
]
vue2-elm:
import App from '../App'
export default [{
path: '/',
component: App,
children: [{
path: '',
component: r => require.ensure([], () => r(require('../page/home')), 'home')
}, {
path: '/city/:cityid',
component: r => require.ensure([], () => r(require('../page/city')), 'city')
}]
}]
vue-element-admin offers a more structured and modular approach to routing, while vue2-elm uses a simpler, flatter structure. The former provides more flexibility for complex applications, while the latter may be easier to understand for smaller projects.
Vue3、Element Plus、typescript后台管理系统
Pros of vue-manage-system
- Simpler and more lightweight, making it easier to understand and modify
- Includes a variety of pre-built components for common admin panel features
- More recent updates and active maintenance
Cons of vue-manage-system
- Less comprehensive in terms of real-world application features
- Fewer advanced Vue.js techniques demonstrated
- Limited backend integration examples
Code Comparison
vue-manage-system:
<template>
<div class="header">
<div class="logo">后台管理系统</div>
<div class="user-info">
<el-dropdown trigger="click" @command="handleCommand">
<span class="el-dropdown-link">
{{username}}
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="loginout">退出登录</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</template>
vue2-elm:
<template>
<div class="shoplist_container">
<ul v-load-more="loaderMore" v-if="shopListArr.length" type="1">
<router-link :to="{path: 'shop', query:{geohash, id: item.id}}" v-for="item in shopListArr" tag='li' :key="item.id" class="shop_li">
<section>
<img :src="imgBaseUrl + item.image_path" class="shop_img">
</section>
<hgroup class="shop_right">
<header class="shop_detail_header">
<h4 :class="item.is_premium? 'premium': ''" class="" class="shop_title ellipsis">{{item.name}}</h4>
<ul class="shop_detail_ul">
<li v-for="item in item.supports" :key="item.id" class="supports">{{item.icon_name}}</li>
</ul>
</header>
<h5 class="rating_order_num">
<section class="rating_order_num_left">
<section class="rating_section">
<rating-star :rating='item.rating'></rating-star>
<span class="rating_num">{{item.rating}}</span>
</section>
<section class="order_section">
月售{{item.recent_order_num}}单
</section>
</section>
<section class="rating_order_num_right">
<span class="delivery_style delivery_left" v-if="item.delivery_mode">{{item.delivery_mode.text}}</span>
<span class="delivery_style delivery_right" v-if="zhunshi(item.supports)">准时达</span>
</section>
</h5>
<h5 class="fee_distance">
<p class="fee">
¥{{item.float_minimum_order_amount}}起送
<span class="segmentation">/</span>
{{item.piecewise_agent_fee.tips}}
</p>
<p class="distance_time">
<span>{{item.distance > 1000? (item.distance/1000).toFixed(2) + 'km': item.distance + 'm'}}
<span class="segmentation">/</span>
</span>
<span v-if="item.order_lead_time">{{item.order_lead_time}}分钟</span>
</p>
</h5>
</hgroup>
</router-link>
</ul>
<ul v-else class="animation_opactiy">
<li class="list_back_li" v-for="item in 10" :key="item">
<img src="../../images
🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜
Pros of ant-design-vue
- Comprehensive UI component library with a wide range of pre-built components
- Active development and regular updates, ensuring compatibility with the latest Vue versions
- Extensive documentation and community support
Cons of ant-design-vue
- Larger bundle size due to the extensive component library
- Steeper learning curve for developers unfamiliar with Ant Design principles
Code Comparison
vue2-elm (Element selection):
<template>
<section class="shop_list_container">
<ul v-load-more="loaderMore" v-if="hasGetData">
<shop-list v-for="item in shopListArr" :shopInfo="item" :key="item.id"></shop-list>
</ul>
</section>
</template>
ant-design-vue (Component usage):
<template>
<a-list
:grid="{ gutter: 16, column: 4 }"
:data-source="dataList"
>
<a-list-item slot="renderItem" slot-scope="item">
<a-card :title="item.title">{{ item.content }}</a-card>
</a-list-item>
</a-list>
</template>
Summary
While vue2-elm focuses on a specific application (food delivery), ant-design-vue provides a versatile UI component library for various Vue projects. ant-design-vue offers more out-of-the-box components and better documentation, but it comes with a larger bundle size and potentially more complex implementation. vue2-elm, being a complete application, demonstrates real-world usage of Vue but may require more custom development for different use cases.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
åè¨
åå¦vueæ¶æ¾å¨ç½ä¸æç´¢vueçå®æ项ç®æºç ï¼æ å¥å¤§é¨åé½æ¯ç®åçdemoï¼å¯¹äºæ·±ç©¶vue没æ太大ç帮å©ï¼å©ä¸çä¸äºå¤§é¨åé½æ¯åé³ä¹ææ¾å¨ä¹ç±»çå±ç¤ºå项ç®ï¼äº¤äºæ²¡æé¢æé£ä¹å¤æãä½æ们å®é å¨å·¥ä½ä¸ï¼ç»å¸¸ä¼éå°æè´ç©è½¦ç项ç®ï¼è¿ç±»é¡¹ç®å 为æ¶åå°moneyï¼æ以对é»è¾ä¸¥è°¨åº¦è¦æ±é«ï¼é¡µé¢ä¹é´äº¤äºå¤æï¼åä¼ä¼´éçç»å½ã注åãç¨æ·ä¿¡æ¯ççï¼å¸¸å¸¸ä¼è®©æ们å¾å¤´ç¼ãæ¢ç¶è¿æ²¡äººç¨vueåè¿è¿æ ·ç项ç®ï¼é£ä¸å¦ææ¥åï¼å¼æºåºæ¥å¯¹è½çå°ç人ä¹ä¼æ帮å©ã
è¿ç§åè½æ§ç项ç®å¾å®ç¨ä½æ¯å¾å¾ä¹å¾æ¯ç¥ï¼æ²¡æé³ä¹ææ¾å¨é£ä¹çèµ·æ¥ç»ä¸½ï¼ææ¥æ³å»åç°é¥¿äºä¹æ¯ä¸ä¸ªä¸éçç´ æï¼ä¸æ¥å®è¶³å¤å¤æï¼å¼æ¾çå¤åå¹³å°æ¯ä¸è¬çå ¬å¸ç¬æååºæ´å å¤æãäºæ¥ è§å°é£ä¹å¤ç¾é£ï¼å¤§å®¶ä¹ä¸ä¼æè§å°åç¦ã
为å¥æ¯é¥¿äºä¹ï¼èä¸æ¯ç¾å¢ï¼åå å¾ç®åï¼é¥¿äºä¹çè²è°åå¸å±æ¯ææ¼äº®çï¼çèµ·æ¥æèæã
æ¤é¡¹ç®å¤§å¤§å°å°å ± 45 个页é¢ï¼æ¶å注åãç»å½ãååå±ç¤ºãè´ç©è½¦ãä¸åççï¼æ¯ä¸ä¸ªå®æ´çæµç¨ãä¸è¬å ¬å¸å³ä¾¿æ¯å®ç½çå页é¢é¡¹ç®é½æ²¡è¿ä¹å¤æï¼å¦æè¿ä¸ªé¡¹ç®è½é©¾é©çäºï¼ç¸ä¿¡å¤§é¨åå ¬å¸çå ¶ä»å页é¢åºç¨ä¹å°±ä¸å¨è¯ä¸ï¼å³ä¾¿æ´å¤æï¼ä¹ä¸ä¼æ¯è¿ä¸ªé«å°åªéå»ã
å 为å©ç¨ä¸ä½æ¶é´æ¥åï¼å¹´åå°±å¼å§åï¼å跨个年ï¼å¨ææç¹é¿ï¼é¡¹ç®ä»é¶å¸å±å°å®æå ±ç¨äº2个å¤æçæ¶é´ã
å¦å¤ï¼è¿ä¸ªé¡¹ç®åæ 课ç½è§é¢çé£ä¸ªé¥¿äºä¹æ²¡æä»»ä½å ³ç³»ï¼æ 课ç½ç项ç®åªæä¸ä¸ªé¡µé¢ï¼æå¨çå®vueçå®æ¹ææ¡£åç´æ¥åäºè¿ä¸ªé¡¹ç®ï¼æ²¡æåç §ä»»ä½äººç代ç ï¼è¯·å¤§å®¶ä¸è¦æ··ä¸ºä¸è°ã
注1ï¼æ¤é¡¹ç®çº¯å±ä¸ªäººçæï¼æ£å¸¸ä¸å请éæ©é¥¿äºä¹å®æ¹å®¢æ·ç«¯ã
注2ï¼é¡¹ç®é¢è§å°ååæ¥å£éè¦ä½¿ç¨https访é®å¦ï¼
ææ¯æ
vue2 + vuex + vue-router + webpack + ES6/7 + fetch + sass + flex + svg
项ç®è¿è¡
注æï¼ç±äºæ¶å大éç ES6/7 çæ°å±æ§ï¼node éè¦ 6.0 以ä¸çæ¬
git clone https://github.com/bailicangdu/vue2-elm.git Â
cd vue2-elm
npm install æ yarn(æ¨è)
npm run dev
å ³äºæ¥å£æ°æ®
æ¤é¡¹ç®çæææ¥å£æ°æ®é½æ¥æºäºé å¥çåå°ç³»ç»ï¼åå°é¡¹ç®ä¼ éå°åã
å¦ææ³ä½éªååå°åæ¶å¼åï¼å¯ä»¥ä¸è½½åå°ç³»ç»ã
æ¤æ¶å¯å¨æ¬é¡¹ç®çå½ä»¤ä¸ºï¼npm run local èä¸æ¯ npm run devã
åæ¶æ们ä¹æä¾äºåºäºelement-ui
æ建çåå°ç®¡ç页é¢
å¦æåªåå端å¼åï¼è¯·å¿½ç¥ä¸é¢è¿å å¥è¯åï½
说æ
å¦æ对æ¨æ帮å©ï¼æ¨å¯ä»¥ç¹å³ä¸è§ "Star" æ¯æä¸ä¸ è°¢è°¢ï¼ ^_^
æè æ¨å¯ä»¥ "follow" ä¸ä¸ï¼æä¼ä¸æå¼æºæ´å¤çæ趣ç项ç®
å¼åç¯å¢ macOS 10.12.3 Chrome 56  nodejs 6.10.0
ç¹å«æè°¢@bailichen, @iceRaoï¼å¨ç¾å¿ä¹ä¸æ½åºæ¶é´åæä¸èµ·å®æäºè¿ä¸ªé¡¹ç®ï¼è¾è¦äºð¹
å¦æé®é¢è¯·ç´æ¥å¨ Issues ä¸æï¼æè æ¨åç°é®é¢å¹¶æé常好ç解å³æ¹æ¡ï¼æ¬¢è¿ PR ð
æ¨èä¸ä¸ª react + redux å¼æºé¡¹ç®ï¼å¯¹reactæå ´è¶£çæå赶紧å»ççãå°åå¨è¿é
å¦å¤ä¸ä¸ª vue2 + vuex çå ¥é¨é¡¹ç®ï¼æ¯å½åç项ç®ç®åå¾å¤ï¼é常éåå ¥é¨ç»ä¹ ãå°åå¨è¿é
æææ¼ç¤º
æ¥çdemo请æ³è¿éï¼è¯·ç¨chromeææºæ¨¡å¼é¢è§ï¼
移å¨ç«¯æ«æä¸æ¹äºç»´ç
ç®æ åè½
- å®ä½åè½ -- å®æ
- éæ©åå¸ -- å®æ
- æç´¢å°å -- å®æ
- å±ç¤ºæéå°åéè¿å家å表 -- å®æ
- æç´¢ç¾é£ï¼é¤é¦ -- å®æ
- æ ¹æ®è·ç¦»ãééãè¯åãç¹è²èãé éæ¹å¼çè¿è¡æåºåçé -- å®æ
- é¤é¦é£åå表页 -- å®æ
- è´ç©è½¦åè½ -- å®æ
- åºéºè¯ä»·é¡µé¢ -- å®æ
- å个é£å详æ é¡µé¢ -- å®æ
- å家详æ 页 -- å®æ
- ç»å½ã注å -- å®æ
- ä¿®æ¹å¯ç -- å®æ
- 个人ä¸å¿ -- å®æ
- åéçä¿¡ãè¯é³éªè¯ -- å®æ
- ä¸ååè½ -- å®æ â¨â¨ðð
- 订åå表 -- å®æ
- 订å详æ -- å®æ
- ä¸è½½App -- å®æ
- æ·»å ãå é¤ãä¿®æ¹æ¶è´§å°å -- å®æ
- å¸æ·ä¿¡æ¯ -- å®æ
- æå¡ä¸å¿ -- å®æ
- 红å -- å®æ
- ä¸ä¼ 头å -- å®æ
- ä»æ¬¾ -- è£å¦¾åä¸å°å~~
æ»ç»
1ãä¸è¬æ¶åå°moneyçç½é¡µé»è¾é½æ¯è¾å¤æï¼å°¤å ¶å饿äºä¹è¿æ ·ä¸ä¸ªå¼æ¾çå¹³å°ï¼å家åé£åç§ç±»ç¹å¤ï¼é¡µé¢ä¸é¡µé¢ä¹é´äº¤äºå¤æï¼å¨åå° è´ç©è½¦ å ä¸å åè½æ¶ä¼å¤çæ°æ®åé»è¾ä¸åº¦è®©äººå¾å¤´ç¼ï¼å没æ设计åæ¥å£apiææ¡£ï¼åªè½ä¸æ¥æ¥æ¸ç´¢ã
2ãvueå å ¶è½»é级çæ¡æ¶å¨ä¸å°å项ç®ä¸è¡¨ç°äº®ç¼ï¼å¨å¤§åå页é¢åºç¨ä¸å 为vuexçåå¨ï¼è¡¨ç°ä¾ç¶åºè²ï¼å¨å¤çå¤æ交äºé»è¾çæ¶åï¼vuexçåå¨æ¯ä¸å¯æ缺çãæ以说å©ç¨ vue + vuex å®å ¨å¯ä»¥å»å大åçå页é¢é¡¹ç®ã
3ã项ç®åå°ç°å¨ï¼ä» ç»å½æ³¨åå°ãé¦é¡µãæç´¢ãå家å表ãè´ç©è½¦ãä¸åã订åå表ã个人ä¸å¿ ä¸ä¸ªæµç¨èµ°å®ä¹åãä¸ä½å¯¹vueçç解æ´æ·±ä¸å±ï¼èä¸å¯¹ä»¥åææ§å¤§å项ç®çæ¶åä¹æé常å¤ç帮å©ï¼åä¸ä¸ªå®é ç项ç®æè½å¯¹èªå·±æå¾å¤§çæåã
4ãæ¾ä¸åº¦æçï¼è±å 个æçæ¶é´åè¿æ ·ä¸ä¸ªé¡¹ç®å°åºæ没ææä¹ï¼æ¬æ¥åªæ¯æ³åä¸ä¸ªå°é¡¹ç®ç»ç»æï¼æ²¡æ³å°åæ¥è¶åè¶å¤ï¼ä¸è¿åæä¸æ¥åæç¸ä¿¡ä¸åé½æ¯å¼å¾çã
5ã项ç®å·²ç»å®æï¼å ±45个页é¢ã
æç»ç®æ
1ãç¨node.jsæ建ä¸ä¸ªæ¨¡æå¤åå¹³å°çåå°ç³»ç»ãå°åå¨è¿é
2ãååºè·¨ Android å IOS çåçAPPçæ¬ãå°åå¨è¿é
3ãå¦ææ¶é´æ¥çåï¼ä¼åºä¸å家çæ¬ã
æ以æçç®çæ¯æ建ä¸ä¸ªæ¨ªè·¨åå端ï¼ç§»å¨IOSãAndroidçå®æ´çæåã
ãããæ¬è¯·æå¾
é¨åæªå¾
åéºå表页
åéºçé页
é¤é¦é£åå表ä¸è´ç©è½¦
确认订å页
æ索页
ç»å½é¡µ
个人ä¸å¿
项ç®å¸å±
.
âââ build // webpacké
ç½®æ件
âââ config // 项ç®æå
è·¯å¾
âââ elm // ä¸çº¿é¡¹ç®æ件ï¼æ¾å¨æå¡å¨å³å¯æ£å¸¸è®¿é®
âââ screenshots // 项ç®æªå¾
âââ src // æºç ç®å½
â  âââ components // ç»ä»¶
â  â  âââ common // å
Œ
±ç»ä»¶
â  â  â  âââ alertTip.vue // å¼¹åºæ¡ç»ä»¶
â  â  â  âââ buyCart.vue // è´ç©è½¦ç»ä»¶
â  â  â  âââ computeTime.vue // å计æ¶ç»ä»¶
â  â  â  âââ loading.vue // 页é¢åå§åå è½½æ°æ®çå¨ç»ç»ä»¶
â  â  â  âââ mixin.js // ç»ä»¶æ··å(å
æ¬ï¼æ令-ä¸æå è½½æ´å¤ï¼å¤çå¾çå°å)
â  â  â  âââ ratingStar.vue // è¯è®ºçäºé¢æç»ä»¶
â  â  â  âââ shoplist.vue // msiteåshop页é¢çé¤é¦å表å
Œ
±ç»ä»¶
â  â  âââ footer
â  â  â  âââ footGuide.vue // åºé¨å
Œ
±ç»ä»¶
â  â  âââ header
â  â  âââ head.vue // 头é¨å
Œ
±ç»ä»¶
â  âââ config // åºæ¬é
ç½®
â  â  âââ env.js // ç¯å¢åæ¢é
ç½®
â  â  âââ fetch.js // è·åæ°æ®
â  â  âââ mUtils.js // 常ç¨çjsæ¹æ³
â  â  âââ rem.js // px转æ¢rem
â  âââ images // å
Œ
±å¾ç
â  âââ page
â  â  âââ balance
â  â  â  âââ balance.vue // ä½é¢é¡µ
â  â  â  âââ children
â  â  â  âââ detail.vue // ä½é¢è¯´æ
â  â  âââ benefit
â  â  â  âââ benefit.vue // 红å
页
â  â  â  âââ children
â  â  â  âââ commend.vue // æ¨èæå¥
â  â  â  âââ coupon.vue // 代éå¸è¯´æ
â  â  â  âââ exchange.vue // å
æ¢çº¢å
â  â  â  âââ hbDescription.vue // 红å
说æ
â  â  â  âââ hbHistory.vue // åå²çº¢å
â  â  âââ city
â  â  â  âââ city.vue // å½ååå¸é¡µ
â  â  âââ confirmOrder
â  â  â  âââ children
â  â  â  â  âââ children
â  â  â  â  â  âââ addAddress.vue // æ·»å å°å页
â  â  â  â  â  âââ children
â  â  â  â  â  âââ searchAddress.vue // æç´¢å°å页
â  â  â  â  âââ chooseAddress.vue // éæ©å°å页
â  â  â  â  âââ invoice.vue // éæ©å票页
â  â  â  â  âââ payment.vue // ä»æ¬¾é¡µ
â  â  â  â  âââ remark.vue // 订åå¤æ³¨é¡µ
â  â  â  â  âââ userValidation.vue // ç¨æ·éªè¯é¡µ
â  â  â  âââ confirmOrder.vue // 确认订å页
â  â  âââ download
â  â  â  âââ download.vue // ä¸è½½App
â  â  âââ find
â  â  â  âââ find.vue // åç°é¡µ
â  â  âââ food
â  â  â  âââ food.vue // é£åçéæåºé¡µ
â  â  âââ forget
â  â  â  âââ forget.vue // å¿è®°å¯ç ï¼ä¿®æ¹å¯ç 页
â  â  âââ home
â  â  â  âââ home.vue // é¦é¡µ
â  â  âââ login
â  â  â  âââ login.vue // ç»å½æ³¨å页
â  â  âââ msite
â  â  â  âââ msite.vue // åéºå表页
â  â  âââ order
â  â  â  âââ children
â  â  â  â  âââ orderDetail.vue // 订å详æ
页
â  â  â  âââ order.vue // 订åå表页
â  â  âââ points
â  â  â  âââ children
â  â  â  â  âââ detail.vue // 积å说æ
â  â  â  âââ points.vue // 积å页
â  â  âââ profile
â  â  â  âââ children
â  â  â  â  âââ children
â  â  â  â  â  âââ address.vue // å°å
â  â  â  â  â  âââ children
â  â  â  â  â  âââ add.vue // æ°å¢å°å
â  â  â  â  â  âââ children
â  â  â  â  â  âââ addDetail.vue // æç´¢å°å
â  â  â  â  âââ info.vue // å¸æ·ä¿¡æ¯
â  â  â  â  âââ setusername.vue // éç½®ç¨æ·å
â  â  â  âââ profile.vue // 个人ä¸å¿
â  â  âââ search
â  â  â  âââ search.vue // æ索页
â  â  âââ service
â  â  â  âââ children
â  â  â  â  âââ questionDetail.vue // é®é¢è¯¦æ
â  â  â  âââ service.vue // æå¡ä¸å¿
â  â  âââ shop
â  â  â  âââ children
â  â  â  â  âââ children
â  â  â  â  â  âââ shopSafe.vue // åéºè®¤è¯ä¿¡æ¯é¡µ
â  â  â  â  âââ foodDetail.vue // åéºä¿¡æ¯é¡µ
â  â  â  â  âââ shopDetail.vue // å个åéºä¿¡æ¯é¡µ
â  â  â  âââ shop.vue // åéºçé页
â  â  âââ vipcard
â  â  âââ children
â  â  â  âââ invoiceRecord.vue // è´ä¹°è®°å½
â  â  â  âââ useCart.vue // 使ç¨å¡å·è´ä¹°
â  â  â  âââ vipDescription.vue // ä¼å说æ
â  â  âââ vipcard.vue // ä¼åå¡åç页
â  âââ plugins // å¼ç¨çæ件
â  âââ router
â  â  âââ router.js // è·¯ç±é
ç½®
â  âââ service // æ°æ®äº¤äºç»ä¸è°é
â  â  âââ getData.js // è·åæ°æ®çç»ä¸è°é
æ件ï¼å¯¹æ¥å£è¿è¡ç»ä¸ç®¡ç
â  â  âââ tempdata // å¼åé¶æ®µç临æ¶æ°æ®
â  âââ store // vuexçç¶æ管ç
â  â  âââ action.js // é
ç½®actions
â  â  âââ getters.js // é
ç½®getters
â  â  âââ index.js // å¼ç¨vuexï¼å建store
â  â  âââ modules // store模å
â  â  âââ mutation-types.js // å®ä¹å¸¸émuationså
â  â  âââ mutations.js // é
ç½®mutations
â  âââ style
â  âââ common.scss // å
Œ
±æ ·å¼æ件
â  âââ mixin.scss // æ ·å¼é
ç½®æ件
â  âââ swiper.min.css
â  âââ App.vue // 页é¢å
¥å£æ件
â  âââ main.js // ç¨åºå
¥å£æ件ï¼å è½½åç§å
Œ
±ç»ä»¶
âââ favicon.ico // å¾æ
âââ index.html // å
¥å£htmlæ件
.
56 directories, 203 files
License
Top Related Projects
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
A Vue.js 2.0 UI Toolkit for Web
A high quality UI Toolkit built on Vue.js 2.0
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
Vue3、Element Plus、typescript后台管理系统
🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot