aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/logUploader.vue
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2023-11-03 14:23:41 +0800
committer简律纯 <i@jyunko.cn>2023-11-03 14:23:41 +0800
commitebf8d3069c4a3655c77b818fb33afa09abcbfadc (patch)
tree760cb85f236c54e7bc4ceb34731d2e08fd4538cb /logUploader.vue
parent67f2e8de0c23a747c7bdca97a315cba12a66f64c (diff)
downloadlogshader-ebf8d3069c4a3655c77b818fb33afa09abcbfadc.tar.gz
logshader-ebf8d3069c4a3655c77b818fb33afa09abcbfadc.zip
chore: 添加CNAME
Diffstat (limited to 'logUploader.vue')
-rw-r--r--logUploader.vue65
1 files changed, 65 insertions, 0 deletions
diff --git a/logUploader.vue b/logUploader.vue
new file mode 100644
index 0000000..4856bce
--- /dev/null
+++ b/logUploader.vue
@@ -0,0 +1,65 @@
+<template>
+ <v-app>
+ <v-container>
+ <v-file-input label="选择日志文件" v-model="selectedFile"></v-file-input>
+
+ <v-btn color="primary" @click="uploadFile">上传</v-btn>
+
+ <v-card>
+ <v-card-text>
+ <pre v-html="formattedLog"></pre>
+ </v-card-text>
+ </v-card>
+ </v-container>
+ </v-app>
+ </template>
+
+ <script>
+ export default {
+ data() {
+ return {
+ selectedFile: null,
+ logContent: '',
+ }
+ },
+
+ computed: {
+ formattedLog() {
+ return this.logContent.replace(/\[(.*?)\]/g, '<span class="log-tag">$1</span>');
+ },
+ },
+
+ methods: {
+ async uploadFile() {
+ if (!this.selectedFile) {
+ alert('请先选择日志文件!');
+ return;
+ }
+
+ const formData = new FormData();
+ formData.append('file', this.selectedFile);
+
+ try {
+ const response = await fetch('/api/upload', { method: 'POST', body: formData });
+ const data = await response.json();
+
+ if (data.success) {
+ this.logContent = data.logContent;
+ } else {
+ alert('上传出错!');
+ }
+ } catch (error) {
+ console.error(error);
+ alert('发生错误,请稍后重试!');
+ }
+ },
+ },
+ }
+ </script>
+
+ <style>
+ .log-tag {
+ color: green;
+ }
+ </style>
+ \ No newline at end of file