ea
This commit is contained in:
@@ -0,0 +1,197 @@
|
||||
import { analysis, tasksearch, polishScript, createTask } from "../../utils/request"
|
||||
|
||||
const sampleText = '解析中...'
|
||||
const checkinStorageKey = 'lastCheckinDate'
|
||||
|
||||
function getTodayKey() {
|
||||
const now = new Date()
|
||||
const year = now.getFullYear()
|
||||
const month = String(now.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(now.getDate()).padStart(2, '0')
|
||||
return `${year}-${month}-${day}`
|
||||
}
|
||||
|
||||
Component({
|
||||
data: {
|
||||
parsed: false,
|
||||
videoLink: '',
|
||||
scriptText: sampleText,
|
||||
showCheckinPopup: false,
|
||||
taskId: '',
|
||||
parseId: '',
|
||||
polishing: false
|
||||
},
|
||||
lifetimes: {
|
||||
attached() {
|
||||
const today = getTodayKey()
|
||||
const lastCheckinDate = wx.getStorageSync(checkinStorageKey)
|
||||
|
||||
if (lastCheckinDate !== today) {
|
||||
this.setData({ showCheckinPopup: true })
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleInput(e: any) {
|
||||
this.setData({
|
||||
videoLink: e.detail.value,
|
||||
})
|
||||
},
|
||||
onUnload() {
|
||||
this.setData({ videoLink: '', parsed: false, scriptText: '' })
|
||||
},
|
||||
handlePaste() {
|
||||
wx.getClipboardData({
|
||||
success: (res) => {
|
||||
this.setData({
|
||||
videoLink: res.data || '0.58 J@i.cN 08/24 :0pm ULw:/ # 新到 # 国五排放 # 货车出售转让 https://v.douyin.com/tHoCmTcQT2Q/ 复制此链接,打开Dou音搜索,直接观看视频!',
|
||||
})
|
||||
},
|
||||
fail: () => {
|
||||
this.setData({
|
||||
videoLink: '0.58 J@i.cN 08/24 :0pm ULw:/ # 新到 # 国五排放 # 货车出售转让 https://v.douyin.com/tHoCmTcQT2Q/ 复制此链接,打开Dou音搜索,直接观看视频!',
|
||||
})
|
||||
},
|
||||
})
|
||||
},
|
||||
handleParse() {
|
||||
if (this.data.videoLink == '') {
|
||||
wx.showModal({
|
||||
title: '温馨提示',
|
||||
content: '解析链接不能为空',
|
||||
showCancel: false
|
||||
})
|
||||
return;
|
||||
}
|
||||
wx.showLoading({ title: '解析中.' });
|
||||
analysis(this.data.videoLink).then((res: any) => {
|
||||
console.log(res);
|
||||
wx.hideLoading();
|
||||
if (!res.code) {
|
||||
this.setData({
|
||||
parsed: true,
|
||||
taskId: '',
|
||||
parseId: String(res.data.parseId || res.data.taskId || '')
|
||||
})
|
||||
wx.showLoading({ title: '等待结果中...', mask: true });
|
||||
this.tasksearch(String(res.data.parseId || res.data.taskId || ''))
|
||||
} else {
|
||||
wx.showModal({
|
||||
title: '温馨提示',
|
||||
content: '解析失败,请确认链接的有效性',
|
||||
showCancel: false
|
||||
})
|
||||
}
|
||||
}).catch((err) => {
|
||||
console.log(err)
|
||||
wx.hideLoading();
|
||||
wx.showModal({
|
||||
title: '温馨提示',
|
||||
content: '解析失败,请重试',
|
||||
showCancel: false
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
tasksearch(taskId: string) {
|
||||
let that = this;
|
||||
tasksearch(taskId).then((res: any) => {
|
||||
if (!res.code) {
|
||||
wx.hideLoading();
|
||||
|
||||
this.setData({ scriptText: (res.data && res.data.scriptText) || '' })
|
||||
} else {
|
||||
setTimeout(() => that.tasksearch(taskId), 500);
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
handleReset() {
|
||||
this.setData({
|
||||
parsed: false,
|
||||
scriptText: '',
|
||||
})
|
||||
this.handleParse();
|
||||
},
|
||||
handleCopy() {
|
||||
wx.setClipboardData({
|
||||
data: this.data.scriptText,
|
||||
fail(err) {
|
||||
console.log(err);
|
||||
wx.showModal({
|
||||
title: '温馨提示',
|
||||
content: '您还未授于剪切板权限'
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handlePolish() {
|
||||
if (!(this.data.parseId || this.data.taskId) || !this.data.scriptText) {
|
||||
wx.showToast({ title: '暂无可润色文案', icon: 'none' })
|
||||
return
|
||||
}
|
||||
if (this.data.polishing) return
|
||||
|
||||
this.setData({ polishing: true })
|
||||
wx.showLoading({ title: '润色中...', mask: true })
|
||||
polishScript(this.data.parseId || this.data.taskId, this.data.scriptText, 'optimize').then((res: any) => {
|
||||
wx.hideLoading()
|
||||
this.setData({ polishing: false })
|
||||
if (!res.code) {
|
||||
this.setData({ scriptText: res.data.scriptText })
|
||||
wx.showToast({ title: '已润色', icon: 'success' })
|
||||
return
|
||||
}
|
||||
wx.showModal({ title: '温馨提示', content: res.message || '润色失败,请稍后再试', showCancel: false })
|
||||
}).catch((err) => {
|
||||
console.log(err)
|
||||
wx.hideLoading()
|
||||
this.setData({ polishing: false })
|
||||
wx.showModal({ title: '温馨提示', content: '润色失败,请稍后再试', showCancel: false })
|
||||
})
|
||||
},
|
||||
handleGoCreate() {
|
||||
const parseId = this.data.parseId || this.data.taskId
|
||||
if (!parseId || !this.data.scriptText) {
|
||||
wx.showToast({ title: '请先完成文案提取', icon: 'none' })
|
||||
return
|
||||
}
|
||||
|
||||
wx.showLoading({ title: '创建任务中', mask: true })
|
||||
createTask(parseId, this.data.scriptText).then((res: any) => {
|
||||
wx.hideLoading()
|
||||
if (!res.code && res.data && res.data.taskId) {
|
||||
this.setData({ taskId: res.data.taskId })
|
||||
wx.navigateTo({
|
||||
url: '/pages/aiPackage/preview/index?taskId=' + res.data.taskId,
|
||||
})
|
||||
return
|
||||
}
|
||||
wx.showModal({ title: '温馨提示', content: res.message || '创建任务失败,请稍后再试', showCancel: false })
|
||||
}).catch(() => {
|
||||
wx.hideLoading()
|
||||
wx.showModal({ title: '温馨提示', content: '网络异常,请稍后再试', showCancel: false })
|
||||
})
|
||||
},
|
||||
handleExperience() {
|
||||
this.setData({
|
||||
videoLink: 'https://v.douyin.com/example/',
|
||||
parsed: true,
|
||||
})
|
||||
},
|
||||
handleCheckinClose() {
|
||||
wx.setStorageSync(checkinStorageKey, getTodayKey())
|
||||
this.setData({ showCheckinPopup: false })
|
||||
},
|
||||
handleCheckinRule() {
|
||||
wx.showToast({ title: '每日签到可领取金币', icon: 'none' })
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user