这里写自定义目录标题
- 开发永和小票
- 开发步骤
- 1、对页面进行需求分析
- 使用CSS的方式
- Order.html
- 问题:html代码和css样式代码交织
- idea开发后端程序
- 使用chatGPT给我们打工
- QRCreate.java
开发永和小票
开发步骤
1、对页面进行需求分析
- 页面是很多文字组成,文字有大有小
- 文字位置,居中,默认居左
- 画线,虚线
- 表格,单元格居左,单价居右,表格宽度
- 段落,空2个中文字符位置
- 图片,二维码,上部有距离,左边有距离
- 整个可以有宽度限制
使用CSS的方式
1)嵌入css代码
2)样式表文件
Order.html
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body style="font-size:10px;width:280px;"><div>顾客联</div><div style="font-size: 22px;font-weight: bold;">请您留意取餐账单号</div><div style="padding-left: 58px;">自取顾客联</div><div>永王(北三环西路店)</div><div>010-12345678</div><div style="padding-left: 65px;">--结账单--</div><div style="font-size: 22px;font-weight: bold;">账单号:P000009</div><div>账单类型:堂食</div><div>人数:1</div><div>收银员:张静</div><div>开单时间:2023-06-19 07:24:11</div><div>结账实际:2023-06-19 07:25:25</div><hr style="border: 1px dashed;"/><table border="0"><tr align="center"><td width="50">数量</td><td>品项</td><td width="50">金额</td></tr><tr><td valign="top">1</td><td>油条豆浆套餐<br/>1X--非矾油条<br/>1X--现磨豆浆(热/甜)</td><td valign="top" align="right">7.00</td></tr></table><hr style="border: 1px dashed;"/><table><tr><td width="200">支付宝花呗一元早餐 1</td><td align="right">-3.00</td></tr><tr>/td><td>合计<<td align="right">4.00</td></tr><tr><td>支付宝</td><td align="right">1.00</td></tr><tr><td>支付宝补贴</td><td align="right">3.00</td></tr></table><hr style="border: 1px dashed;"/><div>打印时间:2023-06-19 07:24:55</div><hr style="border: 1px dashed;"/><div style="padding-top:8px;text-indent: 2em;">根据相关税法规定,电子发票的开票日期同网上申请电子发票的日期,如您需要当日的电子发票请务必在消费当日通过扫描下方二维码,根据指引步骤开具您的增值税电子普通发票。此二维码30天有效,扫描时请保持小票平整。</div><!-- padding的顺序:上右下左 --><img src="qr.png" style="padding: 20px 0px 20px 80px;"/><div>官网:www.yonghe.com</div><div>加盟热线:86-21-60769397 或 86-21-60799002</div></body>
</html>
问题:html代码和css样式代码交织
代码量少,无所谓。但是如果非常多,结构不清晰,代码调试难度就上升。
怎么解决呢?
能否把html代码和css代码剥离?
抽取出样式表文件,创建css目录,创建base.css文件,把样式放入其中。
idea开发后端程序
以二维码为例,利用谷歌zxing的工具类包,使用工具类创建一个SpringBoot项目(Maven idea自带)
1)完成idea安装和配置,写一个HelloController,SpringMVC。保证环境OK。
2)引入谷歌zxing依赖,写法问chatGPT,它怎么成为我们的最佳的编程助手,最终实现自己定制二维码。
使用chatGPT给我们打工
QRCreate.java
package com.yutain.hello;import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import com.google.zxing.qrcode.encoder.Encoder;public class QRCreate {public static void main(String[] args) throws Exception {make("https://blog.csdn.net/nutony", "d:/qr.png");}public static void make(String website, String filepath) throws WriterException, IOException {// 二维码文本内容
// String qrCodeText = "http://www.yutianedu.com";String filepath = "d:/qr.png";// 二维码图片宽度(像素)int width = 300;// 二维码图片高度(像素)int height = 300;// 二维码图片类型String fileType = "png";// 设置字符集编码Encoder.encode(website, ErrorCorrectionLevel.Q, null).toString();// 设置二维码生成参数QRCodeWriter qrWriter = new QRCodeWriter();BitMatrix bitMatrix = qrWriter.encode(website, BarcodeFormat.QR_CODE, width, height);// 将BitMatrix转换为BufferedImageBufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);for (int x = 0; x < width; x++) {for (int y = 0; y < height; y++) {image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);}}// 保存或显示二维码图片ImageIO.write(image, fileType, new File(filepath));}
}