浏览代码

zbytest003-2025-02-19 01:47:37

genlitex 2 月之前
父节点
当前提交
b12875f9cc
共有 6 个文件被更改,包括 142 次插入6 次删除
  1. 4 0
      dist/assets/index-By3dgy7A.js
  2. 0 0
      dist/assets/index-DzRECEwi.css
  3. 0 4
      dist/assets/index-malWbV8K.js
  4. 2 2
      dist/index.html
  5. 6 0
      src/router/index.js
  6. 130 0
      src/views/NewView.vue

文件差异内容过多而无法显示
+ 4 - 0
dist/assets/index-By3dgy7A.js


文件差异内容过多而无法显示
+ 0 - 0
dist/assets/index-DzRECEwi.css


文件差异内容过多而无法显示
+ 0 - 4
dist/assets/index-malWbV8K.js


+ 2 - 2
dist/index.html

@@ -4,8 +4,8 @@
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>Prototype Design</title>
-    <script type="module" crossorigin src="/prototype/3000/assets/index-malWbV8K.js"></script>
-    <link rel="stylesheet" crossorigin href="/prototype/3000/assets/index-Btspm7_H.css">
+    <script type="module" crossorigin src="/ide/proxy/6003/assets/index-By3dgy7A.js"></script>
+    <link rel="stylesheet" crossorigin href="/ide/proxy/6003/assets/index-DzRECEwi.css">
   </head>
   <body>
     <div id="app"></div>

+ 6 - 0
src/router/index.js

@@ -1,11 +1,17 @@
 import { createRouter, createWebHashHistory } from 'vue-router'
 import HomeView from '../views/HomeView.vue'
+import NewView from '../views/NewView.vue'
 
 const routes = [
   {
     path: '/',
     name: 'home',
     component: HomeView
+  },
+  {
+    path: '/new',
+    name: 'new',
+    component: NewView
   }
 ]
 

+ 130 - 0
src/views/NewView.vue

@@ -0,0 +1,130 @@
+<template>
+  <div class="container">
+    <aside class="sidebar">
+      <header>Application Title</header>
+      <ul class="contact-list">
+        <li v-for="contact in contacts" :key="contact.id" @click="selectContact(contact)">
+          {{ contact.name }}
+        </li>
+      </ul>
+    </aside>
+    <main class="chat-area">
+      <div class="message-bubble" v-for="message in messages" :key="message.id">
+        <div :class="['bubble', {'sent': message.sent}, {'received': !message.sent}]">
+          {{ message.text }}
+        </div>
+      </div>
+      <footer>
+        <input v-model="newMessageText" @keyup.enter="sendMessage" placeholder="Type a message...">
+        <button @click="sendMessage">Send</button>
+        <input type="file" @change="handleFileUpload">
+      </footer>
+    </main>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      contacts: [
+        { id: 1, name: 'Alice' },
+        { id: 2, name: 'Bob' },
+        { id: 3, name: 'Charlie' },
+      ],
+      selectedContact: null,
+      messages: [],
+      newMessageText: '',
+      newFile: null,
+    };
+  },
+  methods: {
+    selectContact(contact) {
+      this.selectedContact = contact;
+      // Fetch messages for the selected contact
+      this.messages = [
+        { id: 1, text: 'Hello!', sent: true },
+        { id: 2, text: 'Hi there!', sent: false },
+      ];
+    },
+    sendMessage() {
+      if (this.newMessageText.trim()) {
+        this.messages.push({ id: this.messages.length + 1, text: this.newMessageText, sent: true });
+        this.newMessageText = '';
+      }
+      if (this.newFile) {
+        // Handle file upload logic
+      }
+    },
+    handleFileUpload(event) {
+      this.newFile = event.target.files[0];
+    },
+  },
+};
+</script>
+
+<style scoped>
+.container {
+  display: flex;
+  height: 100vh;
+}
+.sidebar {
+  width: 250px;
+  background-color: #f0f2f5;
+  color: white;
+  font-weight: bold;
+}
+.contact-list {
+  list-style-type: none;
+  padding: 0;
+}
+.contact-list li {
+  cursor: pointer;
+  padding: 10px;
+  border-bottom: 1px solid #ddd;
+}
+.chat-area {
+  flex-grow: 1;
+  background-image: url('/assets/img/project_view.png');
+  background-size: cover;
+  color: black;
+}
+.message-bubble .bubble {
+  margin: 10px;
+  padding: 10px;
+  border-radius: 10px;
+  word-wrap: break-word;
+}
+.message-bubble.sent {
+  background-color: purple;
+  color: white;
+}
+.message-bubble.received {
+  background-color: lightgray;
+}
+footer {
+  display: flex;
+  align-items: center;
+  padding: 10px;
+}
+footer input[type="text"] {
+  flex-grow: 1;
+  border-radius: 10px;
+  padding: 5px;
+}
+footer button {
+  margin-left: 10px;
+  border-radius: 10px;
+  background-color: purple;
+  color: white;
+  font-weight: bold;
+  padding: 5px 10px;
+}
+footer input[type="file"] {
+  border-radius: 50%;
+  background-color: purple;
+  color: white;
+  padding: 5px;
+  margin-left: 10px;
+}
+</style>

部分文件因为文件数量过多而无法显示