<template> <a-page-header-wrapper title="转换为C语言字符串"> <a-card :bordered="false"> <a-row :gutter="{ sm: 24, md: 24, lg: 24, xl: 24 }"> <a-col :md="12" :sm="24"> <a-textarea v-model="source" placeholder="请将需要转换的文本粘贴到这里" :auto-size="{ minRows: 25, maxRows: 25 }" /> <div style="margin: 10px"> <a-button @click="getConvertString">开始转换</a-button> </div> </a-col> <a-col :md="12" :sm="24"> <a-textarea v-model="target" :disabled="true" placeholder="这里是转换后的结果" :auto-size="{ minRows: 25, maxRows: 25 }" /> <div style="margin: 10px"> <a-form layout="inline"> <a-row :gutter="{ md: 8, lg: 24, xl: 48 }"> <a-col :md="16" :sm="24"> <a-form-item label="文件名" v-decorator="['filename']" :required="true"> <a-input v-model="filename" placeholder="请输入" /> </a-form-item> </a-col> <a-col :md="8" :sm="24"> <span class="submitButtons"> <a-button type="primary" @click="downloadFile" > 下载文件 </a-button> </span> </a-col> </a-row> </a-form> </div> </a-col> </a-row> </a-card> </a-page-header-wrapper> </template> <script> import { Avatar, Row, Col, Card, List, Button, Form, Icon, Table, Divider, Dropdown, Input, Select, Modal, DatePicker, message, } from "ant-design-vue"; import PageHeaderWrapper from "@/components/PageHeaderWrapper"; import DescriptionItem from "@/components/DescriptionItem"; import { getConvertString } from "@/api/openapi"; export default { name: "ToolIndex", data: () => ({ visible: false, confirmLoading: false, filename: null, source: null, target: null, }), components: { APageHeaderWrapper: PageHeaderWrapper, ARow: Row, ACol: Col, ACard: Card, ATextarea: Input.TextArea, AModal: Modal, AAvatar: Avatar, ACardGrid: Card.Grid, ACardMeta: Card.Meta, AList: List, AButton: Button, AForm: Form, AFormItem: Form.Item, AIcon: Icon, ATable: Table, ADescriptionItem: DescriptionItem, ADivider: Divider, ADropdown: Dropdown, AInput: Input, ASelect: Select, AOption: Select.Option, ARangePicker: DatePicker.RangePicker, }, methods: { createFile(content, filename) { const a = document.createElement("a"); const blob = new Blob([content]); const url = window.URL.createObjectURL(blob); a.href = url; a.download = filename; a.click(); window.URL.revokeObjectURL(url); }, downloadFile() { this.visible = true; if (!this.source) return message.error("输入内容不能为空"); this.createFile(this.target, this.filename); }, getConvertString() { getConvertString({ string: this.source }) .then((res) => { this.target = res.data; message.success(res.msg); }) .catch((err) => { message.error(err.msg); }); }, }, created() {}, }; </script> <style lang="less"> @import url("styles/tableList.less"); </style>