generated from template/vite-react-template
更新项目标题为“PDF 模块”,修改版本号至 0.0.3,调整路由基础路径,优化 Home 组件代码格式
This commit is contained in:
@@ -5,8 +5,7 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/png" href="https://kevisual.xiongxiao.me/root/center/panda.png" />
|
<link rel="icon" type="image/png" href="https://kevisual.xiongxiao.me/root/center/panda.png" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Vite + React + TS</title>
|
<title>PDF 模块</title>
|
||||||
<link rel="stylesheet" href="/src/index.css" />
|
|
||||||
<style>
|
<style>
|
||||||
html,
|
html,
|
||||||
body {
|
body {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@kevisual/pdf",
|
"name": "@kevisual/pdf",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.1",
|
"version": "0.0.3",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"basename": "/root/pdf",
|
"basename": "/root/pdf",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"preview": "vite preview",
|
"preview": "vite preview",
|
||||||
"ui": "pnpm dlx shadcn@latest add ",
|
"ui": "pnpm dlx shadcn@latest add ",
|
||||||
"pub": "envision deploy ./dist -k pdf -v 0.0.1 -y y -u"
|
"pub": "envision deploy ./dist -k pdf -v 0.0.4 -y y -u"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"dist"
|
"dist"
|
||||||
|
|||||||
@@ -2,10 +2,12 @@ import ReactDOM from 'react-dom/client'
|
|||||||
import { RouterProvider, createRouter } from '@tanstack/react-router'
|
import { RouterProvider, createRouter } from '@tanstack/react-router'
|
||||||
import { routeTree } from './routeTree.gen'
|
import { routeTree } from './routeTree.gen'
|
||||||
import './index.css'
|
import './index.css'
|
||||||
|
import { basename } from './modules/basename'
|
||||||
|
|
||||||
// Set up a Router instance
|
// Set up a Router instance
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
routeTree,
|
routeTree,
|
||||||
|
basepath: basename,
|
||||||
defaultPreload: 'intent',
|
defaultPreload: 'intent',
|
||||||
scrollRestoration: true,
|
scrollRestoration: true,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
export const basename = DEV_SERVER ? '/' : BASE_NAME;
|
export const basename = BASE_NAME;
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.min.mjs?url'
|
|||||||
|
|
||||||
// 设置 PDF.js worker
|
// 设置 PDF.js worker
|
||||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsWorker
|
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsWorker
|
||||||
|
// pdfjsLib.GlobalWorkerOptions.workerSrc = "//cdn.jsdelivr.net/npm/pdfjs-dist@5.4.624/build/pdf.min.mjs"
|
||||||
|
// pdfjsLib.GlobalWorkerOptions.workerSrc = "//unpkg.com/pdfjs-dist@5.4.624/build/pdf.min.mjs"
|
||||||
|
|
||||||
export const Home = () => {
|
export const Home = () => {
|
||||||
const [pdfFile, setPdfFile] = useState<File | null>(null)
|
const [pdfFile, setPdfFile] = useState<File | null>(null)
|
||||||
@@ -20,7 +22,7 @@ export const Home = () => {
|
|||||||
if (file && file.type === 'application/pdf') {
|
if (file && file.type === 'application/pdf') {
|
||||||
setPdfFile(file)
|
setPdfFile(file)
|
||||||
setPdfName(file.name.replace('.pdf', ''))
|
setPdfName(file.name.replace('.pdf', ''))
|
||||||
|
|
||||||
// 读取 PDF 获取页数
|
// 读取 PDF 获取页数
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
try {
|
try {
|
||||||
@@ -55,7 +57,7 @@ export const Home = () => {
|
|||||||
// 遍历每一页
|
// 遍历每一页
|
||||||
for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {
|
for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {
|
||||||
const page = await pdf.getPage(pageNum)
|
const page = await pdf.getPage(pageNum)
|
||||||
|
|
||||||
// 设置缩放比例以获得高质量图片
|
// 设置缩放比例以获得高质量图片
|
||||||
const scale = 2.0
|
const scale = 2.0
|
||||||
const viewport = page.getViewport({ scale })
|
const viewport = page.getViewport({ scale })
|
||||||
@@ -118,8 +120,8 @@ export const Home = () => {
|
|||||||
className={`
|
className={`
|
||||||
border-2 border-dashed rounded-lg p-12 mb-8 text-center cursor-pointer
|
border-2 border-dashed rounded-lg p-12 mb-8 text-center cursor-pointer
|
||||||
transition-all duration-200 ease-in-out
|
transition-all duration-200 ease-in-out
|
||||||
${isDragActive
|
${isDragActive
|
||||||
? 'border-blue-500 bg-blue-50'
|
? 'border-blue-500 bg-blue-50'
|
||||||
: 'border-gray-300 bg-white hover:border-blue-400 hover:bg-blue-50/50'
|
: 'border-gray-300 bg-white hover:border-blue-400 hover:bg-blue-50/50'
|
||||||
}
|
}
|
||||||
`}
|
`}
|
||||||
|
|||||||
Reference in New Issue
Block a user