uniapp微信小程序(商城项目)

最近,闲来无事,打算学一下uniapp小程序

于是在跟着某站上学着做了一个小程序,主要是为了学uniapp和vue。某站黑马优购

在这里插入图片描述

完成的功能主要有:首页、搜索、分类和购物车。

有人问了为什么没有登录、和添加订单呢?问的很好,下次别再问了
在这里插入图片描述

其实我也想跟着视频做,但视频是2021年的,一些uniapp的方法早就更新了,出现了很多问题。

  1. 如uni.getUserProfile,获取不到头像和昵称,然后查了很多方法才知道,这个方法已经不返回头像和昵称了 最新方法获取头像和昵称在这里

  2. 然后去调用登录接口去获取token,我也迟迟获取不成功。
    https://api-hmugo-web.itheima.net/api/public/v1/users/wxlogin

然后就开始烦躁。就那种跟着视频做也做不出来,满脑子都是为什么不一样呀。
在这里插入图片描述

于是我想为什么不自己做一个呢?

在这里插入图片描述

于是我就开干,前端的话,不想用黑马优购(看着就来气),于是就去找一个类似uniapp商城的模板,还真找到了。
在这里插入图片描述
但里面数据都是静态的

这时就有一个大问题了,后端服务我可以自己写,数据库我也可以自己创建,但是最重要的数据,不知道从哪里拿,总不能一张一张从网上下载啊!!!!
在这里插入图片描述

爬虫获取数据

于是乎我想起来了,很久以前用python学的爬虫,爬一点点数据下来,黑马大佬应该不介意吧
如果大家没学过爬虫,也不用介意,可以看看这篇简单爬取图片数据文章批量爬取图片

如果不想看,也没关系,问题不大,直接上代码。

import json
import urllib.request
import urllib.parse
import pymysql

url = 'https://api-hmugo-web.itheima.net/api/public/v1/categories'
request = urllib.request.Request(url = url)
#获取响应数据
response = urllib.request.urlopen(request)

response = response.read().decode('utf-8')
array = json.loads(response)

array = array['message']
conn = pymysql.connect(host="127.0.0.1", user="", password="", database="yun_mall")

# 插入数据
cursor = conn.cursor()
#一级分类数据
for item in array:
    #获取二级分类数据
    secondArray = item["children"]
    id = item["cat_id"]
    name = item["cat_name"]
    pid = item["cat_pid"]
    level = item["cat_level"]
    image = item["cat_icon"]
    cursor.execute(
        "INSERT INTO category (id, cat_name, cat_level,cat_image,cat_pid) VALUES (%s, %s, %s,%s, %s)",
        (id, name, level, image, pid))
    for secondItem in secondArray:
        id = secondItem["cat_id"]
        name = secondItem["cat_name"]
        pid = secondItem["cat_pid"]
        level = secondItem["cat_level"]
        image = secondItem["cat_icon"]
        cursor.execute(
            "INSERT INTO category (id, cat_name, cat_level,cat_image,cat_pid) VALUES (%s, %s, %s,%s, %s)",
            (id, name, level, image, pid))
        try:
            #获取三级分类数据
            thirdArray = secondItem["children"]
        except :
            thirdArray = []
        for thirdItem in thirdArray:
            id = thirdItem["cat_id"]
            name = thirdItem["cat_name"]
            pid = thirdItem["cat_pid"]
            level = thirdItem["cat_level"]
            image = thirdItem["cat_icon"]
            cursor.execute(
                "INSERT INTO category (id, cat_name, cat_level,cat_image,cat_pid) VALUES (%s, %s, %s,%s, %s)",
                (id, name, level, image, pid))

# 提交更改并关闭连接
conn.commit()
cursor.close()
conn.close()

主要的难度就是爬取分类数据,因为黑马优购的分类是三级分类,要想办法如何拿到分类数据,然后根据分类级别插入到数据库中。

这样分类数据就下载自己的本地使用了。
在这里插入图片描述
然后就是相关分类的商品数据和商品图片,这里就跟爬取分类数据类似了,这里就不贴代码了
这样数据就大功告成了,就可以写后端服务代码了。

大功告成

再后来 经过漫长的代码编写之旅,终于基本完成了
在这里插入图片描述

最后给大家看一下完成的效果图。

请添加图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

经过我的测试,基本上能正常使用,用来做个毕业设计应该问题不大,但是可能还会出现一些我没发现的bug,但bug存在不是很正常的嘛,我就想问哪个软件没有bug呢,
在这里插入图片描述

最后

后面打算把这个商城的后台管理系统干出来,目前找到了一个成熟的后台管理系统,打算在此基础上面改。
后面如果有可能的话(资金够的话),想部署到云服务器上。大家如果有需要的源码,可以来找我哦,至于有偿还是无偿都可以商量,
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/567098.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2.4 Web容器配置:Tomcat

2.4 Web容器配置 2.4.1Tomcat配置1.常规配置2. HTTPS配置 *********** 2.4.1Tomcat配置 1.常规配置 在SpringBoot项目中,可以内置Tomcat、Jetly、Undertow、Netty等容器。 当开发者添加了spring-boot-starter-web依赖之后,默认会使用Tomcat作为Web容器…

【Linux学习】初始冯诺漫体系结构

文章目录 认识冯诺依曼系统 认识冯诺依曼系统 什么是冯诺依曼体系结构? 冯诺依曼体系结构是一种将程序指令和数据以二进制形式存放在主存储器中,由中央处理器统一控制和执行的计算机系统结构。冯诺依曼体系结构实现了程序的可编程性和硬件与软件的分离&…

【C语言】每日一题,快速提升(10)!

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 题目:圣诞树 输入: 1输出: * * * * * **说明: 输入: 2输出: * * * * * * * …

【C++】一篇文章带你深入了解list

目录 一、list的介绍二、 标准库中的list类2.1 list的常见接口说明2.1.1 list对象的常见构造2.1.1.1 [无参构造函数](https://legacy.cplusplus.com/reference/list/list/list/)2.1.1.2 [有参构造函数(构造并初始化n个val)](https://legacy.cplusplus.com/reference/list/list/…

idea配置推荐插件详细讲解

配置插件是为了在开发过程中提高效率、改善开发体验而安装的。在IntelliJ IDEA中,你可以按照以下步骤配置插件: 打开插件配置页面: ● 在顶部菜单栏中选择 “File” -> “Settings”(或者使用快捷键 Ctrl Alt S)…

相亲平台app小程序

相亲平台app小程序是一种基于手机应用的微型程序,专为在线相亲交友活动设计。它提供了一系列的功能,旨在帮助用户更方便、更高效地找到心仪的伴侣。 首先,用户可以在个人资料部分上传照片、填写个人资料、设置兴趣爱好等信息,以便…

【行为型模型】迭代器模式

一、迭代器模式概述 迭代器模式定义:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。把游走的任务放在送代器上,而不是聚合上。这样简化了聚含的接口和实现,也让责任各得其所。(对象行为型) 迭代器模式的优缺点&…

uni-app开发canvas绘图画画,记录每一步画的信息, 并实现后退功能

在uni-app中,要实现canvas绘图并记录每一步的信息以实现后退功能,你需要做几件事: 初始化Canvas上下文:首先,你需要在页面加载时初始化canvas上下文。 记录绘图步骤:在绘图过程中,你需要记录每…

20240416,深拷贝浅拷贝,对象初始化和清理,对象模型和THIS指针

哈哈哈乌龟越狱了 目录 2.5 深拷贝&浅拷贝 2.6 初始化列表 2.7 类对象作为类成员 2.8 静态成员 2.9 成员变量和成员函数分开存储 2.10 THIS指针的用途 2.11 空指针访问成员函数 2.12 COSNT修饰成员函数 2.5 深拷贝&浅拷贝 浅拷贝:简单的赋值拷贝…

揭秘分销系统:商业模式的新风向

大家好,我是微三云周丽,今天给大家分析当下市场比较火爆的商业模式! 小编今天跟大伙们分享什么是分销系统? 在数字化浪潮席卷全球的今天,电子商务以其独特的优势,正在重塑商业世界的格局。其中&#xff0…

css设置输入框边框无效或者不展示边框

bug描述:在聚焦的时候,期望输入框的边框是主题色,但是不知道是个啥颜色。 发现输入框input以及textarea样式css标签:focus更改样式无效这个问题。 若希望实现input在触发焦点时更改样式,通常会想到使用:focus选择器,…

积极探索新质生产力,九河云携手华为云技术交流引领数智跃迁

4月18日,九河云携手华为云举办了华为云SA技术培训会议,培训邀请到华为云技术人员作为主讲人,通过理论讲解与案例结合的方式,围绕ECS和EBS之间的联动,调优和数据保护等方面展开,深入浅出地讲解了基于EBS部署…

uniapp 引用组件后 不起作用 无效果 不显示

根据uniapp官方文档easycom组件规范 只要组件安装在项目的components目录下或uni_modules目录下,并符合components/组件名称/组件名称.(vue|uvue)目录结构(注意:当同时存在vue和uvue时,uni-app 项目优先使用 vue 文件,…

浅谈防火墙,IPS,APT威胁检测的互补性

在学习网络安全产品时发现很多产品的目的与功能大同小异都是防范非法流量或威胁,但是既然有产品的差异就有作用的目的的差异,下面浅谈一下三个网络安全产品的差异化与互补点 防火墙 传统防火墙主要是工作在二到四层,不会对报文的载荷进行检…

App Cleaner Uninstaller中文激活版:mac最强深度清理软件

App Cleaner & Uninstaller 是一款适用于 Mac 操作系统的软件应用程序,允许用户轻松卸载不需要的应用程序、删除剩余文件和文件夹以及管理启动项。该应用程序会分析与您要删除的应用程序关联的文件,并帮助识别其所有组件,以便您可以一次将…

中红医疗:纷享销客CRM系统如何助力​数字化“狂飙”

纷享销客深耕 CRM 多年,可以顺畅打通 CRM 和 ERP 系统客户资源池,将金蝶苍穹平台的物料、产品基础主数据作为档案同步到纷享销客,以便商务维护好产品及库存。 纷享销客通过成熟的集成方案提高系统耦合性,让销售实时获得新产品及营…

JsonPath实战

概述 JsonPath&#xff0c;GitHub是一种简单的方法来提取给定JSON文档的部分内容&#xff0c;提供类似正则表达式的语法来解析JSON文档。 特性 入门 引入如下Maven依赖&#xff1a; <dependency><groupId>com.jayway.jsonpath</groupId><artifactId&…

用Python将原始边列表转换为邻接矩阵

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在图论和网络分析中&#xff0c;图是一种非常重要的数据结构&#xff0c;它由节点&#xff…

驱动比例换向阀放大器

比例换向阀放大器技术是电液比例系统中关键的组成部分&#xff0c;它主要用于控制比例阀&#xff0c;实现对液压流量或压力的精确控制。 高精度控制&#xff1a;通过比例阀放大器&#xff0c;系统可以非常精确地调节液压流量或压力&#xff0c;这对于要求精密操作的机械系统来说…

DSP系统的设计过程与选型

DSP的设计步骤分几个阶段&#xff0c;应用系统的设计过程如图所示。 技术指标的确定 器件的选型原则 其他因素的考虑
最新文章