前端(十七)——gitee上开源一个移动端礼盒商城项目(前端+后台)

简介: 前端(十七)——gitee上开源一个移动端礼盒商城项目(前端+后台)

前言

项目样式老旧,ui设计较low,虽说现在大众的商城app都使用的是瀑布流布局,且功能更丰富。但本项目仅作为开源学习和技术交流,仅此而已。

前端采用搭建vue脚手架处理,使用JavaScript语言,后台采用laravel框架处理,使用php语言。

后台开发人员:bug丶小狼人


项目运行命令

安装依赖:

yarn

运行项目:

yarn dev

登录账密:

账号:  123456
密码:  123456



项目基本展示




前端效果细节展示视频




前端代码细节展示视频

部分代码展示,样式为less编写:

import { reactive } from 'vue'  // 导入reactive函数,从'vue'库中
import { useRouter } from 'vue-router'  // 导入useRouter函数,从'vue-router'库中
import { useIntegrallist } from '@/stores/integralList.js'  // 导入名为useIntegrallist的函数,从'@/stores/integralList.js'文件中
import { useUserInfoStore } from '@/stores/user.js'  // 导入名为useUserInfoStore的函数,从'@/stores/user.js'文件中
import { storeToRefs } from 'pinia'  // 导入storeToRefs函数,从'pinia'库中
import { closeToast, showLoadingToast} from 'vant'  // 导入closeToast和showLoadingToast函数,从'vant'库中
import { watch } from 'vue'  // 导入watch函数,从'vue'库中
import { baseURL, homeIndex } from '../../api'  // 导入baseURL和homeIndex函数,从'../../api'文件中
const userInfoStore = useUserInfoStore()  // 使用useUserInfoStore函数创建userInfoStore对象
const { loading, curStudent, classFormat, thisCount } = storeToRefs(userInfoStore)  // 使用storeToRefs函数将userInfoStore对象的loading、curStudent、classFormat和thisCount属性解构为响应式对象
const integrallist = useIntegrallist()  // 使用useIntegrallist函数创建integrallist对象
const all = reactive({  // 创建一个响应式对象all
  loading: true,  // 属性loading,初始值为true
  tabs: [{ name: `所有商品` }],  // 属性tabs,值为一个包含一个对象元素的数组
  list: []  // 属性list,初始值为空数组
})
;(async function () {  // 定义一个异步函数并立即调用
  try {
    all.loading = true  // 将all的loading属性设为true
    const res = await homeIndex()  // 调用homeIndex函数,并将返回结果赋值给res
    all.banner = res.banner.map((item) => {  // 将res的banner属性映射为一个新数组
      item.banner = baseURL + item.banner  // 将item的banner属性拼接baseURL,赋值给item.banner
      return item  // 返回item
    })
    all.list = res.list.map((item) => {  // 将res的list属性映射为一个新数组
      item.image = baseURL + item.image  // 将item的image属性拼接baseURL,赋值给item.image
      return item  // 返回item
    })
    all.loading = false  // 将all的loading属性设为false
  } catch (error) {
    all.loading = false  // 将all的loading属性设为false
  }
})()
watch(
  loading,
  (newLoading) => {
    if (newLoading) {
      showLoadingToast({
        message: '加载中...',
        forbidClick: true
      })
    } else {
      closeToast()
    }
  },
  { immediate: true }
)




后台效果展示

后台代码展示

经典优势

Vue3作为最新版本的Vue.js框架,拥有出色的性能和卓越的开发体验。我们选择Vue3为核心技术,旨在为用户带来无与伦比的流畅操作和完美交互体验。通过优化渲染性能和组件复用机制,我们成功构建了一个响应迅捷、页面加载速度飞快的礼盒商城。

  • 礼盒购买系统 —— 为用户带来强大的选择和个性化体验

我们深入研究了礼盒购买流程,并通过精心设计的用户界面和直观的操作方式,为用户提供了丰富多样的礼盒选择。无论是选购还是支付,用户都能享受到无缝衔接的购物体验。此外,我们还加入了智能推荐和个性化定制等功能,进一步提升了用户的购物满意度。

  • 积分兑换商品系统 —— 激励用户、提升用户参与度

为了激励用户积极参与商城活动,我们引入了积分兑换商品系统。用户可以通过参与商城活动、完成任务获得积分,然后将积分用于兑换心仪的商品。这一创新的机制不仅增加了用户粘性,也促进了用户之间的互动和共享。

  • 打卡获得积分的系统 —— 创造用户黏性,培养用户习惯

我们意识到用户习惯的培养对于商城长期发展的重要性。因此,在项目中加入了打卡获得积分的系统。用户每天签到打卡,即可获得相应积分奖励。这种简单而有效的机制不仅鼓励用户保持使用该商城的习惯,还增加了用户活跃度和参与度。




思维导图




实现思路

  1. 先准备一个思维导图,理清开发思路,每个人负责哪个板块。
  2. 进行技术可行性分析,看看有没有特色功能,能不能实现。
  3. 进行同步接口开发
  4. 写注释
  5. 参考多个手机商城,同步写样式,骨架
  6. 套用接口请求数据,在接口没有开发完毕时,先用mockjs或者json数据顶住
  7. 接口联调,测试功能,优化页面
相关文章
|
3月前
|
缓存 移动开发 Rust
前端构建工具 Mako 开源了
Hi,我是 sorrycc,Mako 的主要负责人之一,也是 Umi、Dva、Father 等库的作者。 很开心,Mako 终于开源了! Github 地址:https://github.com/umijs/mako/ 今天和大家正式介绍下他。
152 3
|
3月前
|
前端开发 JavaScript 定位技术
一、前端高德地图注册、项目中引入、渲染标记(Marker)and覆盖物(Circle)
文章介绍了如何在前端项目中注册并使用高德地图API,包括注册高德开放平台账号、引入高德地图到项目、以及如何在地图上渲染标记(Marker)和覆盖物(Circle)。
102 1
|
26天前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
99 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
2月前
|
JavaScript 前端开发 Docker
前端全栈之路Deno篇(二):几行代码打包后接近100M?别慌,带你掌握Deno2.0的安装到项目构建全流程、剖析构建物并了解其好处
在使用 Deno 构建项目时,生成的可执行文件体积较大,通常接近 100 MB,而 Node.js 构建的项目体积则要小得多。这是由于 Deno 包含了完整的 V8 引擎和运行时,使其能够在目标设备上独立运行,无需额外安装依赖。尽管体积较大,但 Deno 提供了更好的安全性和部署便利性。通过裁剪功能、使用压缩工具等方法,可以优化可执行文件的体积。
144 3
前端全栈之路Deno篇(二):几行代码打包后接近100M?别慌,带你掌握Deno2.0的安装到项目构建全流程、剖析构建物并了解其好处
|
1月前
|
前端开发 测试技术
前端工程化的分支策略要如何与项目的具体情况相结合?
前端工程化的分支策略要紧密结合项目的实际情况,以实现高效的开发、稳定的版本控制和顺利的发布流程。
27 1
|
1月前
|
前端开发 JavaScript 开发者
超实用开源前端商城模板,助力电商项目飞速启航!免费直接可用!
分享一款精心设计的开源前端商城模板,涵盖商品展示、购物车、订单处理、用户登录注册等核心功能,使用HTML、CSS、JS和jQuery构建,结构清晰,适合新手和资深开发者,助力电商项目快速启动。
72 0
超实用开源前端商城模板,助力电商项目飞速启航!免费直接可用!
|
1月前
|
移动开发 前端开发 JavaScript
惊!这些前端技术竟然能让你的网站在移动端大放异彩!
随着互联网技术的发展,移动设备成为主要的上网工具。本文介绍了几种关键的前端技术,包括响应式设计、图片优化、字体选择、HTML5和CSS3的应用、性能优化及手势操作设计,帮助开发者提升网站在移动端的显示效果和用户体验。示例代码展示了如何实现简单的双向绑定功能。
31 3
|
1月前
|
前端开发 Unix 测试技术
揭秘!前端大牛们如何高效管理项目,确保按时交付高质量作品!
【10月更文挑战第30天】前端开发项目涉及从需求分析到最终交付的多个环节。本文解答了如何制定合理项目计划、提高团队协作效率、确保代码质量和应对项目风险等问题,帮助你学习前端大牛们的项目管理技巧,确保按时交付高质量的作品。
37 2
|
1月前
|
前端开发 JavaScript UED
"前端小技巧大揭秘:JS如何将后台时间戳秒变亲切小时前、分钟前,让用户秒懂,提升互动体验!"
【10月更文挑战第23天】在Web开发中,将后台返回的时间戳转换为“小时前”、“分钟前”、“刚刚”等友好的时间描述是常见需求。本文介绍如何用JavaScript实现这一功能,通过计算当前时间和时间戳的差值,返回相应的描述,提升用户体验。
32 1
|
2月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
127 1
下一篇
DataWorks