| | |
| | | "@vitejs/plugin-vue": "^5.2.1", |
| | | "@vue/compiler-sfc": "^3.5.13", |
| | | "@vue/tsconfig": "^0.7.0", |
| | | "amfe-flexible": "^2.2.1", |
| | | "install": "^0.13.0", |
| | | "less": "^4.2.1", |
| | | "npm": "^11.4.2", |
| | | "postcss-pxtorem": "^6.1.0", |
| | | "typescript": "~5.6.2", |
| | | "vite": "^6.0.5", |
| | | "vue-tsc": "^2.2.0" |
| | |
| | | "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-0.4.14.tgz", |
| | | "integrity": "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==", |
| | | "dev": true |
| | | }, |
| | | "node_modules/amfe-flexible": { |
| | | "version": "2.2.1", |
| | | "resolved": "https://registry.npmjs.org/amfe-flexible/-/amfe-flexible-2.2.1.tgz", |
| | | "integrity": "sha512-L2VfvDzoETBjhRptg5u/IUuzHSuxm22JpSRb404p/TBGeRfwWmmNEbB+TFPIP/sS/+pbM18bCFH9QnMojLuPNw==", |
| | | "dev": true, |
| | | "license": "MIT" |
| | | }, |
| | | "node_modules/async-validator": { |
| | | "version": "4.2.5", |
| | |
| | | "node": "^10 || ^12 || >=14" |
| | | } |
| | | }, |
| | | "node_modules/postcss-pxtorem": { |
| | | "version": "6.1.0", |
| | | "resolved": "https://registry.npmjs.org/postcss-pxtorem/-/postcss-pxtorem-6.1.0.tgz", |
| | | "integrity": "sha512-ROODSNci9ADal3zUcPHOF/K83TiCgNSPXQFSbwyPHNV8ioHIE4SaC+FPOufd8jsr5jV2uIz29v1Uqy1c4ov42g==", |
| | | "dev": true, |
| | | "license": "MIT", |
| | | "peerDependencies": { |
| | | "postcss": "^8.0.0" |
| | | } |
| | | }, |
| | | "node_modules/proxy-from-env": { |
| | | "version": "1.1.0", |
| | | "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", |
| | |
| | | "version": "0.4.14", |
| | | "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-0.4.14.tgz", |
| | | "integrity": "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==", |
| | | "dev": true |
| | | }, |
| | | "amfe-flexible": { |
| | | "version": "2.2.1", |
| | | "resolved": "https://registry.npmjs.org/amfe-flexible/-/amfe-flexible-2.2.1.tgz", |
| | | "integrity": "sha512-L2VfvDzoETBjhRptg5u/IUuzHSuxm22JpSRb404p/TBGeRfwWmmNEbB+TFPIP/sS/+pbM18bCFH9QnMojLuPNw==", |
| | | "dev": true |
| | | }, |
| | | "async-validator": { |
| | |
| | | "source-map-js": "^1.2.1" |
| | | } |
| | | }, |
| | | "postcss-pxtorem": { |
| | | "version": "6.1.0", |
| | | "resolved": "https://registry.npmjs.org/postcss-pxtorem/-/postcss-pxtorem-6.1.0.tgz", |
| | | "integrity": "sha512-ROODSNci9ADal3zUcPHOF/K83TiCgNSPXQFSbwyPHNV8ioHIE4SaC+FPOufd8jsr5jV2uIz29v1Uqy1c4ov42g==", |
| | | "dev": true, |
| | | "requires": {} |
| | | }, |
| | | "proxy-from-env": { |
| | | "version": "1.1.0", |
| | | "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", |
| | |
| | | "name": "my-project", |
| | | "private": true, |
| | | "version": "0.0.0", |
| | | "type": "module", |
| | | "scripts": { |
| | | "dev": "vite", |
| | | "dev:prod": "vite --mode production", |
| | |
| | | "@vitejs/plugin-vue": "^5.2.1", |
| | | "@vue/compiler-sfc": "^3.5.13", |
| | | "@vue/tsconfig": "^0.7.0", |
| | | "amfe-flexible": "^2.2.1", |
| | | "install": "^0.13.0", |
| | | "less": "^4.2.1", |
| | | "npm": "^11.4.2", |
| | | "postcss-pxtorem": "^6.1.0", |
| | | "typescript": "~5.6.2", |
| | | "vite": "^6.0.5", |
| | | "vue-tsc": "^2.2.0" |
| New file |
| | |
| | | module.exports = { |
| | | plugins: { |
| | | 'postcss-pxtorem': { |
| | | rootValue: 37.5, |
| | | propList: ['*'], |
| | | include: file => { |
| | | if (!file) return false; |
| | | const normalized = file.replace(/\\/g, '/'); |
| | | // 只转换 mobile 目录里的样式 OR element-plus 目录里的样式 |
| | | // 但 element-plus 样式只在 mobile 目录被引用时才生效,需保证引用范围 |
| | | return normalized.includes('/src/views/mobile/') || normalized.includes('/node_modules/element-plus/'); |
| | | }, |
| | | exclude: file => { |
| | | if (!file) return false; |
| | | const normalized = file.replace(/\\/g, '/'); |
| | | // 排除除 element-plus 外的 node_modules,防止无关样式被转 |
| | | if (/node_modules/.test(normalized) && !normalized.includes('/node_modules/element-plus/')) { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | import 'amfe-flexible'; |
| | | import { createApp } from 'vue' |
| | | import ElementPlus from 'element-plus' |
| | | import 'element-plus/dist/index.css' |
| | |
| | | import test from '../views/test.vue'; // 搜索结果页,接收查询参数 |
| | | import registerForNutrition from '../views/register/index.vue' |
| | | import registerSuu from '../views/registerSuu/index.vue' |
| | | import bedsideAuxiliaryScreen from '../views/mobile/bedsideAuxiliaryScreen/index.vue'; |
| | | |
| | | // 定义路由规则,并为每个路由指定类型安全的 props |
| | | const routes: Array<RouteRecordRaw> = [ |
| | | { |
| | | path: '/', |
| | | name: 'Home', |
| | | component: deviceWindows2, |
| | | component: bedsideAuxiliaryScreen, |
| | | }, |
| | | { |
| | | path: '/test', |
| | |
| | | :root { |
| | | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; |
| | | line-height: 1.5; |
| | | font-weight: 400; |
| | | |
| | | color-scheme: light dark; |
| | | color: rgba(255, 255, 255, 0.87); |
| | | background-color: #242424; |
| | | |
| | | font-synthesis: none; |
| | | text-rendering: optimizeLegibility; |
| | | -webkit-font-smoothing: antialiased; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | } |
| | | |
| | | html, body { |
| | | margin: 0; |
| | | padding: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | #app { |
| | | width: 100%; |
| | | height: 100%; |
| | | border: 1px rgb(23, 7, 7) solid; |
| | | background-color: lightblue; /* 可选:用于可视化效果 */ |
| | | } |
| | | |
| | | @media (prefers-color-scheme: light) { |
| | | :root { |
| | | color: #213547; |
| | | background-color: #ffffff; |
| | | } |
| | | a:hover { |
| | | color: #747bff; |
| | | } |
| | | button { |
| | | background-color: #f9f9f9; |
| | | } |
| | | } |
| | | .el-loading-spinner .el-loading-text { |
| | | font-size: 16px; /* 修改为你需要的字体大小 */ |
| | | } |
| | | .el-dialog { |
| | | padding: 0; |
| | | padding-bottom: 20px; |
| | | border-radius: 10px; |
| | | } |
| New file |
| | |
| | | <template> |
| | | <div class="bedside-auxiliary-screen-container"> |
| | | 张三 |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | *{ |
| | | margin: 0; |
| | | padding: 0; |
| | | box-sizing: border-box; |
| | | } |
| | | .bedside-auxiliary-screen-container { |
| | | font-size: 48px; |
| | | } |
| | | </style> |
| | |
| | | <div class="register-form"> |
| | | <van-image width="100" height="100" :src="logo" /> |
| | | <h1>用户注册</h1> |
| | | <p>创建您的账户,开始使用我们的服务</p> |
| | | <p class="desc">创建您的账户,开始使用我们的服务</p> |
| | | |
| | | <van-form @submit="onSubmit"> |
| | | <!-- 用户名 --> |
| | |
| | | color: #666; |
| | | margin-bottom: 20px; |
| | | } |
| | | .desc { |
| | | font-size: 14px; |
| | | } |
| | | </style> |
| | |
| | | color: #4caf50; |
| | | margin-bottom: 20px; |
| | | } |
| | | p { |
| | | font-size: 14px; |
| | | } |
| | | </style> |
| | |
| | | import { defineConfig } from 'vite'; |
| | | import vue from '@vitejs/plugin-vue'; |
| | | import path from 'path'; |
| | | |
| | | export default defineConfig({ |
| | | plugins: [vue()], |
| | | css: { |
| | | postcss: path.resolve(__dirname, 'postcss.config.js') |
| | | }, |
| | | server: { |
| | | port: 3034, // 指定端口号为 3000 |
| | | strictPort: true, // 如果端口被占用,则抛出错误而不是尝试下一个可用端口 |