当前位置: 首页 > news >正文

PHP项目学习笔记-萤火商城https://www.yiovo.com/doc

萤火商城学习笔记

    • 注意事项
    • 关于建表
    • 增加页面流程
    • 前台页面的数据
      • 列表数据
      • 下拉列表的数据
    • 关于时间的处理
    • 前台界面数据处理

多年没有碰过php代码了,这个项目不错,想好好学习下,持续更新

注意事项

  1. 打开APP_DEBUG
  2. 有些时候改了前台页面后,发现在浏览器中无变化,这个时候可以将项目中的runtime目录删除掉
  3. 前端组件是ant design vue 2.2.8 https://2x.antdv.com/components/date-picker-cn
  4. nodejs快速下载:https://nodejs.org/en/blog/release/v18.12.1

关于建表

.在store进行开发,新建表的时候需要加上store_id字段

增加页面流程

前端页面

  1. 增加新的菜单,需要在router.config.js中增加对应的配置
  2. 增加新的页面,需要在views文件夹中加上对应的页面名,页面中要import需要js的api文件,js的api文件就对应后台php的api(js的api如reservation.cc,表示php的api文件加下有个文件夹是reservation,reservation文件夹下面又有cc文件夹的接口文件),即
    (views-》js api-》php api(这个api可以是单独的api模块,也可以是controller,后面补充图片))

后台

  1. model,直接对应表的
  2. 表名+model,实现数据操作的
  3. controller,调用model实现业务逻辑,使用renderSuccess反回数据给前端

前台页面的数据

列表数据

表头数据是写死的,定义是在每个页面的这个数据里,如

const columns = [{title: 'ID',dataIndex: 'fenlei_id'}]

下拉列表的数据

数据仍然是从后台来的,不要自定义否则会报错,可以在页面自定义数据如

  data () {return {expand: false,// 当前表单元素searchForm: this.$form.createForm(this),// 分类列表categoryList: [],categoryList1:[{"xx_project": "全部"},{"xx__project": "外科"}],

页面调用

            <a-select v-decorator="['xx__project', { initialValue: '全部' }]"><a-select-optionv-for="(item, index) in categoryList1":key="index":value="item.xx__project">{{ item.xx__project }}</a-select-option></a-select>

后台数据model如list的代码,如获取列表getList

		//整对所有字符串!empty($params['xx_name']) && $filter[] = ['xx_name', 'like', "%{$params['xx_name']}%"];//针对特定字符串的$params['xx_project']<>"全部" && $filter[] = ['xx_project', 'like', $params['xx_project']];//针对int$params['xx_status'] > -1 && $filter[] = ['xx_status', '=', $params['xx_status']];

关于时间的处理

  1. 前台传时间字符串到后台如2023-10-25T11:31:54.152Z,后台存入时间戳可以按如下操作
		//将时间字符串转时间戳,源代码只取了年月日//格式可以自己加,如date("Y-m-d H:i:s");  输出当前的日期和时间,格式为:2022-01-01 12:00:00 $data['xx_time'] = str2time_date($data['xx_time']);//time()获得当前的时间戳$data['xx__create_time'] =time();$data['xx_update_time'] = time();//时间戳转时间字符串date("Y-m-d h:m:s",$timestamp);
  1. 前后页面中如何解析后台传的时间戳
  场景一:使用js代码methods: {formDate(value){if (!value) return " ";let date = new Date(value * 1000);let year = date.getFullYear(); // 分宼則?4M,1970)let month = date.getMonth() + 1; // 分?0-11,0鉮1,(匂皸?1)let day = date.getDate(); // 分?1-31)let hour = date.getHours(); // 分鰌(0-23)let min = date.getMinutes(); //let sec = date.getSeconds(); //?return year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec;},场景二:直接使用moment函数import moment from "moment"import "moment/locale/zh-cn"moment(el).format('YYYY-MM-DD HH:mm:ss');

然后在promis的的loaddate加如下代码

      loadData: param => {return ReservationApi.list({ ...param, ...this.queryParam }).then(response => {response.data.list.data[0].xx_time=this.formDate(response.data.list.data[0].xx_time)return response.data.list})}
  • 2023年10月24日13:33:30
    2.1 前台页面如何解析后台的时间戳绑定到a-date-picker上,使用decorator,具体步骤如下
html代码<a-form-item label="时间" :labelCol="labelCol" :wrapperCol="wrapperCol"><a-date-pickerv-decorator="['xx_time', {rules: [{required: true, message: '请选择1个文章分类'}]}]"show-time placeholder="选择时间" /></a-form-item>

先引入

import moment from "moment"
import "moment/locale/zh-cn"

然后js文件中加入这段代码

    setFieldsValue () {const { form: { setFieldsValue } } = thisthis.$nextTick(() => {setFieldsValue(pick(this.record, ['xx_name', 'xx_phone']))this.form.setFieldsValue({"xx_time":moment("2015-12-01","YYYY-MM-DD")})})},

2.2 其他

参考链接:https://blog.51cto.com/u_15127663/4237248
解析出来后始终是1970年的问题也遇到了,解决办法参考https://blog.csdn.net/weixin_43973415/article/details/127970534

  • 2023年10月24日15:35:29

前台界面数据处理

  1. 后台传过来的状态数据,前台根据数字显示不同状态
      <span slot="xx_status" slot-scope="text"><a-tag :color="text ? 'green' : ''">{{ text==1 ? '已来' : '待来' }}</a-tag></span>

columns的定义

  {title: 'xx状态',width: '180px',dataIndex: 'xx_status',scopedSlots: { customRender: 'xx_status' }},

相关文章:

PHP项目学习笔记-萤火商城https://www.yiovo.com/doc

萤火商城学习笔记 注意事项关于建表增加页面流程前台页面的数据列表数据下拉列表的数据 关于时间的处理前台界面数据处理 多年没有碰过php代码了&#xff0c;这个项目不错&#xff0c;想好好学习下&#xff0c;持续更新 注意事项 打开APP_DEBUG有些时候改了前台页面后&#x…...

我国有多少个港口?

港口是什么&#xff1f; 港口是海洋运输中不可或缺的重要设施之一&#xff0c;是连接陆路和水路运输的重要节点。港口通常是指位于沿海地区的水陆交通枢纽&#xff0c;是船舶停靠、装卸货物、储存物资和维修船只的场所。港口一般由码头、泊位、仓库、货场、客运站等设施组成&a…...

uniapp实现登录组件之外区域置灰并引导登录

实现需求 每个页面需要根据用户是否登录决定是否显示登陆组件,登录组件半屏底部显示,登录组件之外区域置灰,功能按钮点击之后引导提示登录.页面效果如下: 实现思路说明 设置登录组件背景颜色为灰色,将页面分成登录区域(底部)和非登陆区域(上面灰色显示部分), 置灰区域添加…...

抄表系统是如何抄到电表水表的数据的?

抄表系统是一种利用无线通信技术&#xff0c;实现远程读取电表水表数据的系统。抄表系统主要由三部分组成&#xff1a;电表水表、集中器和后台管理平台。接下来&#xff0c;小编来为大家详细的介绍下抄表系统是如何抄到电表水表的数据的&#xff0c;一起来看下吧! 电表水表是抄…...

Qt之自定义事件QEvent

在Qt中,自定义事件的步骤大概如下: 1.创建自定义事件,自定义事件需要继承QEvent 2.使用QEvent::registerEventType()注册自定义事件类型,事件的类型需要在 QEvent::User 和 QEvent::MaxUser 范围之间,在QEvent::User之前是预留给系统的事件 3.使用sendEvent() 和 postEv…...

项目管理week5——交个作业

...

5.5G移动通信技术

5.5G即5G-Advanced&#xff0c;是一种移动通信技术。 5.5G 是 5G 和 6G 之间的过渡阶段&#xff0c;将在速率、时延、连接规模和能耗方面全面超越现有 5G&#xff0c;有望实现下行万兆和上行千兆的峰值速率、毫秒级时延和低成本千亿物联。按照国际标准组织 3GPP 定义&#xff…...

chrony时间服务

目录 1.1.重要性 1.2. Linux的两个时钟 1.3. NTP 1.4. Chrony介绍 2.安装与配置 2.1.安装: 2.2. Chrony配置文件分析 3.实验 3.1实验1 3.2实验2 3.常见时区 1.1.重要性 ●由于IT系统中&#xff0c;准确的计时非常重要&#xff0c;有很多种原因需要准确计时: 。在网络…...

音乐制作软件 Studio One 6 mac中文版软件特点

Studio One mac是一款专业的音乐制作软件&#xff0c;该软件提供了全面的音频编辑和混音功能&#xff0c;包括录制、编曲、合成、采样等多种工具&#xff0c;可用于制作各种类型的音乐&#xff0c;如流行音乐、电子音乐、摇滚乐等。 Studio One mac软件特点 1. 直观易用的界面&…...

SpringBoot整合redis集群和redis单节点

// 连接redis单节点配置类Configuration public class RedisConfig {Value("${spring.redis.host}")private String host;Value("${spring.redis.port}")private Integer port;Value("${spring.redis.password}")private String password;/*** d…...

【ARM Coresight 系列文章19.1 -- Cortex-A720 PMU 详细介绍】

文章目录 概述Cortex-A720 PMU Features1.1 PMU 使用介绍1.2 Performance monitors events1.3 Performance Monitors Extension registers1.3.1 Performance monitors program1.4 Performance monitors interrupts1.5 Interaction with the Performance Monitoring Unit and De…...

FoneDog iOS Unlocker(ios解锁工具) 适用macos电脑

FoneDog iOS Unlocker是一款专业的iOS设备解锁工具&#xff0c;旨在帮助用户解决iOS设备上的解锁问题。该软件支持解锁各种锁定类型&#xff0c;如数字密码锁、手势密码锁、Touch ID和Face ID等&#xff0c;可以解除iPhone、iPad和iPod Touch等设备的锁定状态。FoneDog iOS Unl…...

雅可比矩阵和雅可比坐标

雅可比行列式的简要介绍 一、说明 在本教程中&#xff0c;您将回顾一下雅可比行列式的简单介绍。完成本教程后&#xff0c;您将了解&#xff1a; 雅可比矩阵收集了可用于反向传播的多元函数的所有一阶偏导数。雅可比行列式在变量之间变化时非常有用&#xff0c;它充当一个坐标空…...

macOS鼠标管理操作增强BetterMouse简体中文

BetterMouse是一款专为Mac用户设计的鼠标增强工具&#xff0c;旨在帮助用户更好地掌握和管理鼠标操作。它提供了全局鼠标手势、高度可定制的鼠标设置选项以及一些有用的鼠标增强功能&#xff0c;如鼠标放大镜、鼠标轨迹和应用程序切换功能。这些功能可以大大提高用户的工作效率…...

塔式服务器介绍

大家都知道服务器分为机架式服务器、刀片式服务器、塔式服务器三类&#xff0c;今天小编就分别讲一讲这三种服务器&#xff0c;第三篇先来讲一讲塔式服务器的介绍。 塔式服务器定义&#xff1a;塔式服务器的外观和普通电脑差不多&#xff0c;直立放置。机箱比较大&#xff0c;服…...

上海市道路数据,有63550条数据(shp格式和xlsx格式)

数据地址&#xff1a; 上海市道路https://www.xcitybox.com/datamarketview/#/Productpage?id391 基本信息. 数据名称: 上海市道路数据 数据格式: Shpxlsx 数据时间: 2020年 数据几何类型: 线 数据坐标系: WGS84坐标系 数据来源&#xff1a;网络公开数据 数据字段&am…...

计算机网络_03_tcp/ip四层模型

文章目录 1.为什么会有tcp/ip?2.tcp/ip是什么?3.为什么会有tcp/ip四层模型?4.tcp/ip四层模型介绍 1.为什么会有tcp/ip? 早期的计算机(计算机网络没有出现之前)几乎都是各自为战, 各种操作系统厂家百花齐放, 市面上的大部分计算机使用的都是不同的操作系统, 为每个人提供定…...

[SQL开发笔记]IN操作符: 在WHERE子句中规定多个值

上一实例我们在where子句使用(year2022 or year2020)&#xff0c;如果我们需要在WHERE子句中规定多个值呢&#xff1f;这时我们将学习IN操作符 一、功能描述&#xff1a; 在WHERE子句中规定多个值。 二、IN操作符语法详解&#xff1a; IN操作符语法&#xff1a; SELECT col…...

Java基础(第一期):IDEA的下载和安装(步骤图) 项目结构的介绍 项目、模块、类的创建。第一个代码的实现

Java基础专栏&#xff1a; Java基础第一期下一期&#xff1a;Java基础第二期 文章目录 IDEA1.1 IDEA概述1.2 IDEA的下载和安装1.2.1 下载1.2.2 安装 1.3 IDEA中层级结构介绍1.3.1 结构分类1.3.2 结构介绍project&#xff08;项目、工程&#xff09;module&#xff08;模块&…...

0基础学习PyFlink——使用PyFlink的SQL进行字数统计

在《0基础学习PyFlink——Map和Reduce函数处理单词统计》和《0基础学习PyFlink——模拟Hadoop流程》这两篇文章中&#xff0c;我们使用了Python基础函数实现了字&#xff08;符&#xff09;统计的功能。这篇我们将切入PyFlink&#xff0c;使用这个框架实现字数统计功能。 PyFl…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...