feat: 生成写手链接

This commit is contained in:
rd
2025-08-04 18:05:51 +08:00
parent c719b9a9d3
commit 447b0d1be3
3 changed files with 39 additions and 16 deletions

View File

@ -12,6 +12,7 @@ import {
Textarea,
} from '@arco-design/web-vue';
import { useClipboard } from '@vueuse/core';
import { getWriterLinksGenerate } from '@/api/all/generationWorkshop';
import TextOverTips from '@/components/text-over-tips';
import icon1 from '@/assets/img/media-account/icon-feedback-fail.png';
@ -33,7 +34,7 @@ const UPLOAD_TYPE = {
// 初始表单数据
const INITIAL_FORM = {
linkUrl: '',
link: '',
writerLink: '',
};
// 模拟数据生成
@ -58,7 +59,7 @@ export default {
const totalCount = ref(0);
// 剪贴板功能
const { copy } = useClipboard({ source: form.value.link });
const { copy } = useClipboard({ source: form.value.writerLink });
const isLink = computed(() => uploadType.value === UPLOAD_TYPE.LINK);
const isLocal = computed(() => uploadType.value === UPLOAD_TYPE.LOCAL);
@ -86,12 +87,29 @@ export default {
totalCount.value = 0;
};
// 打开模态框
const getWriterLink = async () => {
const data = {
code: 1,
};
const url = new URL(window.location.href);
url.searchParams.set('writer_code', data.code);
form.value.writerLink = url.toString();
console.log('getWriterLinksGenerate -----writer-code---->', form.value.writerLink);
// const { code, data } = await getWriterLinksGenerate();
// if (code === 200) {
// const url = new URL(window.location.href);
// url.searchParams.set('writer_code', data.code);
// form.value.writerLink = url.toString();
// console.log('getWriterLinksGenerate -----writer-code---->', form.value.writerLink);
// }
};
const open = () => {
getWriterLink();
visible.value = true;
};
// 关闭模态框
const onClose = () => {
reset();
visible.value = false;
@ -121,12 +139,12 @@ export default {
// 手写提交处理
const handleHandwriteSubmit = () => {
if(!form.value.link) {
if (!form.value.writerLink) {
AMessage.warning('请输入上传链接!');
return;
}
copy(form.value.link);
copy(form.value.writerLink);
AMessage.success('复制成功!');
onClose();
};
@ -163,6 +181,15 @@ export default {
AMessage.success('删除成功');
};
// 上传方式切换
const onUploadTypeChange = (val) => {
if (val === UPLOAD_TYPE.HANDWRITE) {
getWriterLink();
}
// uploadType.value = val;
// formRef.value?.clearValidate?.();
};
// 下载模板
const handleDownloadTemplate = async () => {
AMessage.info('下载模板功能开发中...');
@ -183,7 +210,7 @@ export default {
// 渲染手写上传表单
const renderHandwriteForm = () => (
<FormItem label="上传链接">
<Input v-model={form.value.link} placeholder="请输入..." size="large" />
<Input v-model={form.value.writerLink} placeholder="请输入..." disabled size="large" />
</FormItem>
);
@ -337,7 +364,7 @@ export default {
<Form ref="formRef" model={form.value} layout="horizontal" auto-label-width>
{isDefault.value && (
<FormItem label="上传方式">
<RadioGroup v-model={uploadType.value}>
<RadioGroup v-model={uploadType.value} onChange={onUploadTypeChange}>
<Radio value={UPLOAD_TYPE.LINK}>链接上传</Radio>
<Radio value={UPLOAD_TYPE.LOCAL}>本地上传</Radio>
<Radio value={UPLOAD_TYPE.HANDWRITE}>写手上传</Radio>