网站建设定制开发vue+element简单实现商城网站首页,模仿小米电商商城(一)

1.网站建设定制开发本案例灵感来源于小米官网

官方截图

 网站建设定制开发产品效果图:

二级菜单、产品详情

 

 购物车

 

 

2.首先创建vue项目,采用开发工具。vue创建项目教程可参考:

3.创建项目后安装,按照官方教程即可,elementui官方地址:

   创建好的项目目录结构大概这样子:

 

 4.整个框架布局分为头部 src/page/top、内容src/page/index和底部src/page/foot。

内容src/page/index为一个共用容器,就像iframe标签一样,所有的路径访问将会显示在容器中,页面跳转的路径定义在src/router/index.js中

5.src/page/top/index.vue

  1. <template>
  2. <div style="background-color: #3e3e3e;font-size: 14px;">
  3. <div style="width: 60%;height: 40px;margin: 0 auto;display: flex;">
  4. <div style="display: flex;flex: 1;">
  5. <div class="active">小米商城</div>
  6. <div class="active">MUI</div>
  7. <div class="active">LOT</div>
  8. <div class="active">云服务</div>
  9. <div class="active">金融</div>
  10. <div class="active">有品</div>
  11. <div class="active">小爱开发平台</div>
  12. <div class="active">政企服务</div>
  13. <div class="active">下载app</div>
  14. <div class="active">Select Region</div>
  15. </div>
  16. <div style="width: 258px;text-align: right;display: flex;">
  17. <div class="active" @click="loginModal">登录</div>
  18. <div class="active">注册</div>
  19. <div class="active">消息通知</div>
  20. <div class="shop-car">购物车(0)</div>
  21. </div>
  22. </div>
  23. <!-- 登录弹窗 -->
  24. <el-dialog
  25. title="User Login"
  26. :visible.sync="box"
  27. width="400px"
  28. center>
  29. <div>
  30. <el-form class="login-form"
  31. status-icon
  32. :rules="loginRules"
  33. ref="loginForm"
  34. :model="loginForm"
  35. label-width="0">
  36. <el-form-item prop="username">
  37. <el-input size="small"
  38. @blur="handleLogin"
  39. v-model="loginForm.username"
  40. auto-complete="off"
  41. placeholder="用户名">
  42. <i slot="prefix" class="el-icon-user el-icon--right"/>
  43. </el-input>
  44. </el-form-item>
  45. <el-form-item prop="password">
  46. <el-input size="small"
  47. @blur="handleLogin"
  48. :type="passwordType"
  49. v-model="loginForm.password"
  50. auto-complete="off"
  51. placeholder="密码">
  52. <i class="el-icon-view el-input__icon" slot="suffix" @click="showPassword"/>
  53. <i slot="prefix" class="el-icon-lock el-icon--right"/>
  54. </el-input>
  55. </el-form-item>
  56. <el-form-item>
  57. <el-row :span="24">
  58. <el-col :span="12">
  59. <el-checkbox v-model="loginForm.autoLogin">下次自动登录</el-checkbox>
  60. </el-col>
  61. <el-col :span="12" style="text-align: right;">
  62. <el-button type="primary"
  63. style="width: 100px;"
  64. @click.native.prevent="handleLogin"
  65. class="login-submit">
  66. 登录
  67. </el-button>
  68. </el-col>
  69. </el-row>
  70. </el-form-item>
  71. </el-form>
  72. </div>
  73. </el-dialog>
  74. </div>
  75. </template>
  76. <script>
  77. export default {
  78. data() {
  79. return {
  80. activeIndex: '1',
  81. activeIndex2: '1',
  82. box: false,
  83. loginForm: {
  84. username: "",
  85. //密码
  86. password: "",
  87. autoLogin: false
  88. },
  89. loginRules: {
  90. username: [
  91. {required: true, message: "请输入用户名", trigger: "blur"}
  92. ],
  93. password: [
  94. {required: true, message: "请输入密码", trigger: "blur"},
  95. {min: 1, message: "密码长度最少为6位", trigger: "blur"}
  96. ]
  97. },
  98. passwordType: "password"
  99. };
  100. },
  101. mounted() {
  102. },
  103. methods: {
  104. homePage(){
  105. this.$router.push({path: '/home/index'});
  106. },
  107. handleSelect(key, keyPath) {
  108. console.log(key);
  109. if(key == '1'){
  110. this.$router.push({path: '/home/index'});
  111. }else{
  112. this.$router.push({path: '/test/index'});
  113. }
  114. },
  115. loginModal(){
  116. this.box = true;
  117. },
  118. showPassword() {
  119. this.passwordType === ""
  120. ? (this.passwordType = "password")
  121. : (this.passwordType = "");
  122. },
  123. handleLogin() {//登录
  124. this.$refs.loginForm.validate(valid => {
  125. if (valid) {
  126. const loading = this.$loading({
  127. lock: true,
  128. text: '登录中,请稍后。。。',
  129. spinner: "el-icon-loading"
  130. });
  131. setTimeout(function(){
  132. loading.close();
  133. },1000)
  134. }
  135. });
  136. },
  137. }
  138. };
  139. </script>
  140. <style>
  141. .active{
  142. line-height: 40px;
  143. color: #cfcfcf;
  144. margin-right: 20px;
  145. font-size: 12px;
  146. }
  147. .active:hover{
  148. cursor: pointer;
  149. color: #FFFFFF;
  150. }
  151. .shop-car{
  152. text-align: center;
  153. cursor: pointer;
  154. width: 100px;
  155. line-height: 40px;
  156. height: 40px;
  157. display: inline-block;
  158. background-color: #8f8f8f;
  159. }
  160. .shop-car:hover{
  161. background-color: #00FFFF;
  162. }
  163. </style>

6.src/page/index/index.vue

  1. <template>
  2. <div style="width: 100%;height: 100%;overflow: auto;">
  3. <top></top>
  4. <router-view></router-view>
  5. <foot></foot>
  6. </div>
  7. </template>
  8. <script>
  9. import top from "../top/index.vue";
  10. import foot from "../foot/index";
  11. export default {
  12. components: {
  13. top,
  14. foot
  15. },
  16. name: "index",
  17. data() {
  18. return {
  19. };
  20. },
  21. mounted() {
  22. },
  23. methods: {
  24. }
  25. };
  26. </script>
  27. <style>
  28. </style>

7.src/page/foot/index.vue

  1. <template>
  2. <div style="font-size: 14px;">
  3. <div style="width: 60%;margin: 0 auto;margin-bottom: 30px;">
  4. <div style="display: flex;">
  5. <div style="flex: 1;">
  6. <div class="foot-title">帮助中心</div>
  7. <div class="foot-item">账户管理</div>
  8. <div class="foot-item">购物指南</div>
  9. <div class="foot-item">订单操作</div>
  10. </div>
  11. <div style="flex: 1;">
  12. <div class="foot-title">服务支持</div>
  13. <div class="foot-item">账户管理</div>
  14. <div class="foot-item">购物指南</div>
  15. <div class="foot-item">订单操作</div>
  16. </div>
  17. <div style="flex: 1;">
  18. <div class="foot-title">线下门店</div>
  19. <div class="foot-item">账户管理</div>
  20. <div class="foot-item">购物指南</div>
  21. <div class="foot-item">订单操作</div>
  22. </div>
  23. <div style="flex: 1;">
  24. <div class="foot-title">关于小米</div>
  25. <div class="foot-item">账户管理</div>
  26. <div class="foot-item">购物指南</div>
  27. <div class="foot-item">订单操作</div>
  28. </div>
  29. <div style="flex: 1;">
  30. <div class="foot-title">关于我们</div>
  31. <div class="foot-item">账户管理</div>
  32. <div class="foot-item">购物指南</div>
  33. <div class="foot-item">订单操作</div>
  34. </div>
  35. </div>
  36. </div>
  37. <div style="background-color: #3e3e3e;height: 40px;text-align: center;line-height: 40px;color: #afafaf;">
  38. 申明:本网页仅供学习参考 @XXX XXX XXX
  39. </div>
  40. </div>
  41. </template>
  42. <script>
  43. </script>
  44. <style>
  45. .foot-title{
  46. height: 40px;
  47. line-height: 40px;
  48. }
  49. .foot-item{
  50. height: 25px;
  51. line-height: 25px;
  52. color: gray;
  53. }
  54. .foot-item:hover{
  55. cursor: pointer;
  56. color: #e37a2f;
  57. }
  58. </style>

8.

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发