格式化代码,websocket功能完善

This commit is contained in:
2026-02-18 21:50:05 +08:00
parent 6543e2ccdd
commit b6c133952b
101 changed files with 15829 additions and 10739 deletions
@@ -22,44 +22,44 @@ ## 基本使用
</template>
<script setup>
import { ref } from 'vue'
import authApi from '@/api/auth'
import { ref } from "vue";
import authApi from "@/api/auth";
const showImport = ref(false)
const showImport = ref(false);
const handleImportSuccess = (data) => {
console.log('导入成功', data)
console.log("导入成功", data);
// 刷新列表等操作
}
};
const handleImportError = (message) => {
console.log('导入失败', message)
}
console.log("导入失败", message);
};
</script>
```
## Props
| 参数 | 说明 | 类型 | 默认值 |
|------|------|------|--------|
| open | 是否显示弹窗 | Boolean | false |
| title | 弹窗标题 | String | '导入数据' |
| api | 导入API接口 | Function | 必填 |
| templateApi | 下载模板API接口 | Function | null |
| accept | 接受的文件类型 | String | '.xlsx,.xls,.csv' |
| maxSize | 文件大小限制(MB | Number | 10 |
| showTemplate | 是否显示下载模板 | Boolean | true |
| tip | 提示信息 | String | '' |
| filename | 文件名(用于下载) | String | '导入数据' |
| 参数 | 说明 | 类型 | 默认值 |
| ------------ | ------------------ | -------- | ----------------- |
| open | 是否显示弹窗 | Boolean | false |
| title | 弹窗标题 | String | '导入数据' |
| api | 导入API接口 | Function | 必填 |
| templateApi | 下载模板API接口 | Function | null |
| accept | 接受的文件类型 | String | '.xlsx,.xls,.csv' |
| maxSize | 文件大小限制(MB | Number | 10 |
| showTemplate | 是否显示下载模板 | Boolean | true |
| tip | 提示信息 | String | '' |
| filename | 文件名(用于下载) | String | '导入数据' |
## Events
| 事件名 | 说明 | 回调参数 |
|--------|------|----------|
| 事件名 | 说明 | 回调参数 |
| ----------- | ---------------- | ------------------ |
| update:open | 弹窗显示状态变化 | (visible: Boolean) |
| success | 导入成功 | (data, response) |
| error | 导出失败 | (message, error) |
| change | 文件列表变化 | (fileList) |
| success | 导入成功 | (data, response) |
| error | 导出失败 | (message, error) |
| change | 文件列表变化 | (fileList) |
## Slots
@@ -134,7 +134,11 @@ ## 完整示例
/>
</a-form-item>
<a-form-item label="是否激活">
<a-switch v-model:checked="formData.is_active" checked-children="是" un-checked-children="否" />
<a-switch
v-model:checked="formData.is_active"
checked-children="是"
un-checked-children="否"
/>
</a-form-item>
</a-form>
</template>
@@ -142,45 +146,45 @@ ## 完整示例
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { message } from 'ant-design-vue'
import { ImportOutlined } from '@ant-design/icons-vue'
import authApi from '@/api/auth'
import { ref, onMounted } from "vue";
import { message } from "ant-design-vue";
import { ImportOutlined } from "@ant-design/icons-vue";
import authApi from "@/api/auth";
const importVisible = ref(false)
const departmentOptions = ref([])
const roleOptions = ref([])
const importVisible = ref(false);
const departmentOptions = ref([]);
const roleOptions = ref([]);
// 加载选项数据
onMounted(async () => {
try {
const [deptRes, roleRes] = await Promise.all([
authApi.departments.all.get(),
authApi.roles.all.get()
])
departmentOptions.value = deptRes.data || []
roleOptions.value = roleRes.data || []
authApi.roles.all.get(),
]);
departmentOptions.value = deptRes.data || [];
roleOptions.value = roleRes.data || [];
} catch (error) {
console.error('加载选项失败', error)
console.error("加载选项失败", error);
}
})
});
const handleImport = () => {
importVisible.value = true
}
importVisible.value = true;
};
const handleImportSuccess = (data) => {
message.success('导入成功')
message.success("导入成功");
// 刷新列表或执行其他操作
}
};
const handleImportError = (errorMessage) => {
message.error('导入失败:' + errorMessage)
}
message.error("导入失败:" + errorMessage);
};
const handleFileChange = (fileList) => {
console.log('文件列表变化', fileList)
}
console.log("文件列表变化", fileList);
};
</script>
```