@@ -0,0 +1,21 @@
+node_modules/
+.DS_Store
+*.log
+dist/
+build/
+coverage/
+.env
+.env.local
+.env.*.local
+.cache/
+.next/
+.nuxt/
+.vuepress/dist
+.serverless/
+.idea/
+.vscode/
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>会友信息管理系统</title>
+ </head>
+ <body>
+ <div id="root"></div>
+ <script type="module" src="/src/main.jsx"></script>
+ </body>
+</html>
@@ -0,0 +1,22 @@
+{
+ "name": "member-management-system",
+ "private": true,
+ "version": "0.1.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "xlsx": "^0.18.5"
+ "devDependencies": {
+ "@types/react": "^18.0.28",
+ "@types/react-dom": "^18.0.11",
+ "@vitejs/plugin-react": "^3.1.0",
+ "vite": "^4.2.0"
+ }
+}
+import React, { useState } from 'react';
+
+function App() {
+ return (
+ <div className="App">
+ <h1>会友信息管理系统</h1>
+ <p>欢迎使用会友信息管理系统!</p>
+ </div>
+ );
+export default App;
@@ -0,0 +1,18 @@
+:root {
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
+ line-height: 1.5;
+ font-weight: 400;
+body {
+ margin: 0;
+ display: flex;
+ place-items: center;
+ min-width: 320px;
+ min-height: 100vh;
+h1 {
+ font-size: 3.2em;
+ line-height: 1.1;
@@ -0,0 +1,10 @@
+import React from 'react'
+import ReactDOM from 'react-dom/client'
+import App from './App.jsx'
+import './index.css'
+ReactDOM.createRoot(document.getElementById('root')).render(
+ <React.StrictMode>
+ <App />
+ </React.StrictMode>,
+)