云南区块链商户平台发票助手成品

目录

  • 1 概述
  • 2 功能对比
  • 3 项目演示图
  • 4 核心逻辑
    • 4.1智能赋码
    • 4.2 解密方法
    • 4.3 登录与检测
    • 4.4 发票金额大写转换
    • 4.5 检查登录是否失效
    • 4.6 验证码识别
  • 5 演示效果
  • 6 项目部署
    • 6.1 Web站点部署
      • 6.1.1 环境
      • 6.1.2 前端
      • 6.1.3 后端
    • 6.2 Docker部署
      • 6.2.1 构建镜像
      • 6.2.2 创建容器
      • 6.3.3 访问项目域名
  • 附件下载

1 概述

云南区块链商户平台是一款提供给云南省商户使用的开票工具,由于自身使用仅限于电脑端,没有移动端,且设计理念存在问题使用非常不便,于是打算通过制作一个发票助手完善一些核心功能模块,主要是对商户的使用流程顺序进行简化,以及对原产品的便捷性进行了提升,能不让商户进行操作的尽量全自动化
前面的几篇博文云南区块链商户平台:抓包技术自制开票工具(三)云南区块链商户平台:抓包技术自制开票工具(二)云南区块链商户平台:抓包技术自制开票工具(一)已经介绍了制作发票助手的一些功能模块,经测试使用了半个月后完善了本次项目
本项目对接了增值税票务OCR识别51商品税收编码识别接口,前面的博文中提到了第三方识别平台,虽然免费可是效果太差,在最后的修改中废弃掉了,采用《基于DdddOcr通用验证码离线本地识别SDK搭建个人云打码接口Api》本地接口,对于第三方API接口,都是通过抓包分析的,第三方接口可以稳定使用,后续考虑将第三方接口单独拿出来供大家对接使用。

2 功能对比

功能原平台商户平台发票助手
自动登录❌每次登陆需输入验证码✅免验证码自动登录,登录状态失效自动更新检测,商户使用无感
商品编码识别❌需商户自行判断或搜索该商品税收编码✅提供本地库存和在线检测,本地没有记录自动匹配接口一键添加税收编码到商户
历史记忆❌不会留存之前开过发票的公司信息✅开过发票记录自动留存,关键字匹配公司名和纳税识别号,适用于小个体户经常给相同公司开发票
自动下载❌发票开具成功后,需要去管理页面手动下载✅开具成功后可自动发送文件到邮箱(邮箱绑定微信)也可自己下载
增值税票务OCR识别❌只能手动输入✅可通过拍照识别|图片上传识别,自动获取公司名和纳税识别号
辅助模式✅免输入,商品通过手动下滑选择添加,通过拍照识别开票公司信息

优点:免去每次需要登陆,采用自动登录,历史记忆留存更便捷开票信息填入,自动下载到手机,为广大云南商户开票提供便捷等

缺点:目前因业务需要,未进行税率调整操作,默认免税商品编码入库,有能力的可以自己修改后端接口,前端新增税率调整或通过api接口进行输入

3 项目演示图

可以便捷搜索商户平台原有商品库存,若没有该商品可以自动查询该商品的税收编码,点击可以一键添加到商户平台库存,方便下次使用,商品名采用模糊搜索,键入一定字符串就可以识别对应的商品,极大的简化了原平台全文输入模式

在这里插入图片描述
联网识别税收分类编码以及该分类介绍、类目等信息,帮助用户快速识别该商品的税收编码,点击即可添加入库,而传统的方式,需要商户自行搜索,该商品属于的类目,需要对分类进行一定的筛选和信息检索,该功能极大简化了用户操作的时间成本
在这里插入图片描述

首次可免密登录,下次启动保留账号自动识别登录,自动检查更新token,商户无需再次输入繁琐的账户和密码,开票就两步骤:1、打开软件 2、填入开票公司信息纳税识别号以及开票商品数据 简化了操作流程
在这里插入图片描述

4 核心逻辑

4.1智能赋码

全平台找了个遍,没有直接就能用的,需要自行解密抓包,税码识别来自51发票,通过商品关键词得出结果,可以根据选择人群最多的选择
在这里插入图片描述

流程:随机获取验证码并存储验证码id,通过本地ddddocr识别后将验证码与验证码id一起提交即可。

4.2 解密方法

登录的数据是经过aes加密的,想学习的可参考文章《云南区块链商户平台:抓包技术自制开票工具(二)》,不再赘述

<?php
header('Content-Type: text/html;charset=utf-8');
header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型
header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 设置允许自定义请求头的字段header("Content-type:text/html;charset=utf-8");//字符编码设置function encrypt($plaintext, $key_text, $iv_text) {// 使用PKCS7填充$block_size = 16;$pad_length = $block_size - (strlen($plaintext) % $block_size);$plaintext .= str_repeat(chr($pad_length), $pad_length);// 如果IV不足16字节,使用空字节填充至16字节$iv_length = 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity中animation和animator在使用上的区别

Animation&#xff08;动画&#xff09;&#xff0c;可直接存储在物体上的animation组件中 Animation 组件用于在对象上直接存储和播放动画数据。这些数据通常是通过关键帧动画&#xff08;keyframe animation&#xff09;制作的&#xff0c;其中包含了对象在不同时间点的变换…

搜索与图论:八皇后问题

搜索与图论&#xff1a;八皇后问题 题目描述参考代码 题目描述 输入样例 4输出样例 .Q.. ...Q Q... ..Q...Q. Q... ...Q .Q..参考代码 #include <iostream>using namespace std;const int N 20;int n; char g[N][N]; bool col[N], dg[N], udg[N];void dfs(int u) {//…

WPF国际化的最佳实践

WPF国际化的最佳实践 1.创建项目资源文件 如果你的项目没有Properties文件夹和Resources.resx文件&#xff0c;可以通过右键项目-资源-常规-添加创建或打开程序集资源 2.添加国际化字符串 打开Resources.resx文件&#xff0c;添加需要翻译的文本字符&#xff0c;并将访问修…

充电桩产业链及商业模式

产业链概况 充电桩产业链分为上游元器件和设备生产商、建设商&#xff0c;中游为运营商&#xff0c;下游为各类充电场景。其中&#xff0c;上游零部件厂商提供充电模块&#xff08;IGBT、逆变器等&#xff09;、配电滤波设备、监控计费设备、充电枪等&#xff1b;中游充电桩厂…

.NET AI如何从0开始?

你是否在思考如何利用AI为您公司的产品增加智能方向的业务扩展&#xff1f; 或者你是否有思考过怎么去利用AI减少部分工作量&#xff1f; 如果你有类似于上面的问题&#xff0c;想要学习AI&#xff0c;并且您是一名.NET开发工程师&#xff0c;或您是一名弃暗投明的Java转.NET…

webpack和vite

一、前言 前端开发中&#xff0c;打包工具是不可或缺的工具之一。它们可以将分散的代码、样式和资源文件打包成更高效的形式&#xff0c;以提高性能、减少加载时间&#xff0c;并优化开发流程。 &#xff08;一&#xff09;、打包和打包工具 打包&#xff1a;将多个文件或模…

正大国际期货:什么是主力合约?

一个期货品种&#xff0c;在同一时间段&#xff0c;会上市多个月份的合约&#xff0c; 由于主力合约交易量大&#xff0c;流动性高&#xff0c;一般建议新手交易主力合约。 主力合约通常指交易集中&#xff0c;流动性好的合约 &#xff0c;即在一段时间内交易量和持仓量最大的…

新零售智能售卖教学实训沙盘内容介绍

新零售智能售卖教学实训沙盘是服务数据分析的教学工具。通过该沙盘&#xff0c;能够让学生了解数据分析在新零售行业智能售卖业务场景的应用流程。使用新零售智能售卖教学实训沙盘进行教学&#xff0c;一方面能够让老师的教学内容更加贴近实际应用&#xff0c;将教学场景具象化…

VisualStudio2022离线包安装后无法进行版本升级(Visual Studio installer 卡在正在下载进度条0%)

目录 一、问题现象二、问题分析三、解决办法恢复正常 一、问题现象 表现1(未安装时&#xff0c;安装) 表现2&#xff08;已安装&#xff0c;升级&#xff09; 二、问题分析 原因&#xff1a;无法访问 aka.ms 测试方法:在浏览器中输入&#xff1a; https://aka.ms/vs/16/rele…

14_Node.js和NPM入门指南

文章目录 NodeJS1.nodejs下载2.NPM的配置和使用3.NPM对一个项目进行初始化操作4.NPM本地仓库进行依赖下载5.查看当前项目有哪些依赖 https://www.npmjs.com/package NodeJS JS代码运行在哪里 1.浏览器2.nodejs 内置谷歌浏览器v8引擎 nodejs具有io磁盘 读写能力。类似java代码和…

【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)

导航&#xff1a; 本文一些内容需要聚簇索引、非聚簇索引、B树、覆盖索引、索引下推等前置概念&#xff0c;虽然本文有简单回顾&#xff0c;但详细可以参考下文的【MySQL高级篇】 【Java笔记踩坑汇总】Java基础进阶JavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成…

乙二醇水溶液物性参数

1.1 乙二醇水溶液的冰点、沸点 乙二醇水溶液作为重要的载冷剂&#xff0c;其物理性质对设备和系统的设计都十分重要&#xff0c;下面是乙二醇水溶液的冰点沸点和其浓度的关系。&#xff08;数据来源 ASHRAE 手册 2005&#xff09; 1.2 乙二醇水溶液粘度 乙二醇水溶液作为重要…

【Java毕业设计】基于JavaWeb的旅游论坛管理系统

文章目录 摘 要目 录1 概述1.1 研究背景及意义1.2 国内外研究现状1.3 拟研究内容1.4 系统开发技术1.4.1 Java编程语言1.4.2 vue技术1.4.3 MySQL数据库1.4.4 B/S结构1.4.5 Spring Boot框架 2 系统需求分析2.1 可行性分析2.2 系统流程2.2.1 操作流程2.2.2 登录流程2.2.3 删除信息…

SQLServer 查询指定数据库名和表名及表结构等

查询当前数据库中所有表名&#xff0c;不用指定数据库&#xff0c;选中某数据库直接执行SQL就好 -- U:所有用户表名; S:所有系统表名;V:所有视图表名 SELECT name FROM sysobjects WHERE xtypeU OR xtypeS OR xtypeV 查询指定数据库数据库中所有表名&#xff0c; SELECT TAB…

使用 Ollama 本地运行各种 LLM

今天看看另外一个产品Ollama。Ollama 的安装非常简单&#xff0c;只需从官网&#xff08;https://ollama.com/download&#xff09;下载后解压缩&#xff0c;并在 Terminal 中运行脚本 ollama run llama3 即可完成环境设置。 我尝试运行 Llama3&#xff0c;虽然在运行时占用了大…

20240606在Toybrick的TB-RK3588开发板的Android12下确认HDMI的驱动

20240606在Toybrick的TB-RK3588开发板的Android12下确认HDMI的驱动 2024/6/6 9:48 【原文是在RK3328的Android7.1下写的。我将它升级成为RK3588的Android12了】 RK平台主要采用 FB 和 DRM 两种显示框架。与此相对应&#xff0c; HDMI 也有两套驱动。 FB&#xff1a; LINUX 3.10…

C语言 | Leetcode C语言题解之第136题只出现一次的数字

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> singleNumbers(vector<int>& nums) {int eor 0;for (int num:nums)eor ^ num;int rightOne eor & (~eor 1); // 提取出最右的1int onlyOne 0;for (int cur : nums) {if ((cur…

弘君资本今日投资参考:新能源消纳政策加码 智能网联汽车再加速

昨日&#xff0c;沪指午后在金融、酿酒等板块的带动下发力拉升&#xff0c;深证成指、创业板指走势微弱。截至收盘&#xff0c;沪指涨0.41%报3091.2点&#xff0c;深证成指涨1.05%报9469.32点&#xff0c;创业板指涨1.33%报1843.59点&#xff0c;上证50指数涨0.58%&#xff0c;…

LCEDA使用:QA(不定期更新)

1. 优势&#xff1a; 器件库选择&#xff1a;可以在立创商城中选择器件库&#xff0c;操作便捷。面板切换&#xff1a;S快捷键在 画图/器件选择 面板中切换&#xff0c;不打断工作节奏。连续放置Net Label&#xff1a;连续放置net label的体验流畅。复制粘贴功能&#xff1a;复…

论文阅读 Explainable Image Similarity Integrating Siamese Networks and Grad-CAM

给出论文&#xff08;Explainable Image Similarity Integrating Siamese Networks and Grad-CAM&#xff09;的内容解读、代码运行说明 论文链接&#xff1a;J. Imaging | Free Full-Text | Explainable Image Similarity: Integrating Siamese Networks and Grad-CAM (mdpi.c…