From 515a5a6680296b55859ee0c26031f05fd4a87dd5 Mon Sep 17 00:00:00 2001 From: gongdi <410827992@qq.com> Date: Thu, 29 Aug 2024 16:23:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=98=E6=99=BAAI=E7=9B=B8=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/ai-camera/src/apis/api.ts | 27 +++ miniprogram/ai-camera/src/pages.json | 33 ++++ .../src/pages/home/aiMusic/aiMusic.ts | 0 .../src/pages/home/aiMusic/aiMusic.vue | 1 + .../src/pages/home/aiVideo/aiVideo.ts | 0 .../src/pages/home/aiVideo/aiVideo.vue | 1 + .../src/pages/home/aiWriting/aiWriting.ts | 117 ++++++++++++ .../src/pages/home/aiWriting/aiWriting.vue | 173 ++++++++++++++++++ miniprogram/ai-camera/src/pages/home/home.ts | 52 +++++- miniprogram/ai-camera/src/pages/home/home.vue | 17 +- miniprogram/ai-camera/src/pages/my/my.ts | 30 ++- .../ai-camera/src/pages/works/works.ts | 113 +++++++++++- .../ai-camera/src/pages/works/works.vue | 25 ++- 13 files changed, 570 insertions(+), 19 deletions(-) create mode 100644 miniprogram/ai-camera/src/pages/home/aiMusic/aiMusic.ts create mode 100644 miniprogram/ai-camera/src/pages/home/aiMusic/aiMusic.vue create mode 100644 miniprogram/ai-camera/src/pages/home/aiVideo/aiVideo.ts create mode 100644 miniprogram/ai-camera/src/pages/home/aiVideo/aiVideo.vue create mode 100644 miniprogram/ai-camera/src/pages/home/aiWriting/aiWriting.ts create mode 100644 miniprogram/ai-camera/src/pages/home/aiWriting/aiWriting.vue diff --git a/miniprogram/ai-camera/src/apis/api.ts b/miniprogram/ai-camera/src/apis/api.ts index c0298729..e438fa70 100644 --- a/miniprogram/ai-camera/src/apis/api.ts +++ b/miniprogram/ai-camera/src/apis/api.ts @@ -62,3 +62,30 @@ export const makeImg = (params: any) => { data: params, }); }; + +//获取金豆数量 https://www.hzkjai.com/QingLong/HuiYa/wxGetUserJinDou +export const getJinDouNum = (params: any) => { + return http({ + method: "POST", + url: "/QingLong/HuiYa/wxGetUserJinDou", + data: params, + }); +}; + +//删除作品图片 https://www.hzkjai.com/QingLong/HuiYa/wxDeleteImage +export const deleteImage = (params: any) => { + return http({ + method: "POST", + url: "/QingLong/HuiYa/wxDeleteImage", + data: params, + }); +}; + +//ai写作 https://www.hzkjai.com/QingLong/HuiYa/wxWenToWen +export const aiWriting = (params: any) => { + return http({ + method: "POST", + url: "/QingLong/HuiYa/wxWenToWen", + data: params, + }); +}; diff --git a/miniprogram/ai-camera/src/pages.json b/miniprogram/ai-camera/src/pages.json index efe974d9..d9233a7c 100644 --- a/miniprogram/ai-camera/src/pages.json +++ b/miniprogram/ai-camera/src/pages.json @@ -31,6 +31,39 @@ } ], "subPackages": [ + { + "root": "pages/home/aiWriting", + "pages": [ + { + "path": "aiWriting", + "style": { + "navigationBarTitleText": "AI写作" + } + } + ] + }, + { + "root": "pages/home/aiMusic", + "pages": [ + { + "path": "aiMusic", + "style": { + "navigationBarTitleText": "AI音乐" + } + } + ] + }, + { + "root": "pages/home/aiVideo", + "pages": [ + { + "path": "aiVideo", + "style": { + "navigationBarTitleText": "AI视频" + } + } + ] + }, { "root": "pages/make", "pages": [ diff --git a/miniprogram/ai-camera/src/pages/home/aiMusic/aiMusic.ts b/miniprogram/ai-camera/src/pages/home/aiMusic/aiMusic.ts new file mode 100644 index 00000000..e69de29b diff --git a/miniprogram/ai-camera/src/pages/home/aiMusic/aiMusic.vue b/miniprogram/ai-camera/src/pages/home/aiMusic/aiMusic.vue new file mode 100644 index 00000000..3ab07390 --- /dev/null +++ b/miniprogram/ai-camera/src/pages/home/aiMusic/aiMusic.vue @@ -0,0 +1 @@ + diff --git a/miniprogram/ai-camera/src/pages/home/aiVideo/aiVideo.ts b/miniprogram/ai-camera/src/pages/home/aiVideo/aiVideo.ts new file mode 100644 index 00000000..e69de29b diff --git a/miniprogram/ai-camera/src/pages/home/aiVideo/aiVideo.vue b/miniprogram/ai-camera/src/pages/home/aiVideo/aiVideo.vue new file mode 100644 index 00000000..6b1231af --- /dev/null +++ b/miniprogram/ai-camera/src/pages/home/aiVideo/aiVideo.vue @@ -0,0 +1 @@ + diff --git a/miniprogram/ai-camera/src/pages/home/aiWriting/aiWriting.ts b/miniprogram/ai-camera/src/pages/home/aiWriting/aiWriting.ts new file mode 100644 index 00000000..98e86fae --- /dev/null +++ b/miniprogram/ai-camera/src/pages/home/aiWriting/aiWriting.ts @@ -0,0 +1,117 @@ +import { reactive, ref } from "vue"; +import { aiWriting } from "@/apis/api"; +export default function () { + const token = uni.getStorageSync("token"); + const { safeAreaInsets } = uni.getSystemInfoSync(); + const pickerPopup: any = ref(null); + + const platFormRange = [ + { id: 1, value: "小红书" }, + { id: 2, value: "微信朋友圈" }, + ]; + const sizeValueRnage = [ + { id: 100, value: "100字" }, + { id: 150, value: "150字" }, + { id: 200, value: "200字" }, + { id: 250, value: "250字" }, + { id: 300, value: "300字" }, + ]; + + const data: any = reactive({ + token: token, + safeBottom: safeAreaInsets?.bottom, + btnLoading: false, + describe: "", //描述 + inputValueLength: 0, //内容长度 + platform: 1, //平台 1 小红书 2 微信朋友圈 + platformStr: "小红书", + platformIndex: 0, //平台索引 + sizeValue: 100, //字数 100 150 200 250 300 + sizeIndex: 0, //字数索引 + sizeStr: "100字", //字数 + aiResult: "", //生成结果 + }); + + //输入内容改变 + function inputChange(e: any) { + data.inputValueLength = parseInt(e.length); + } + + //选择器改变 + function platformChange(e: any) { + const value = e.detail.value; + data.platformIndex = parseInt(value); + data.platform = platFormRange[parseInt(value)].id; + data.platformStr = platFormRange[parseInt(value)].value; + } + + //选择器改变 + function sizeValueChange(e: any) { + const value = e.detail.value; + data.sizeIndex = parseInt(value); + data.sizeValue = sizeValueRnage[parseInt(value)].id; + data.sizeStr = sizeValueRnage[parseInt(value)].value; + } + + //立即生成 + function toMake() { + if (data.describe == "") { + uni.showToast({ + title: "请输入写作内容描述", + icon: "none", + duration: 2000, + }); + return; + } + const param = { + token: data.token, + prompt: data.describe, + limit: data.sizeValue, + platform_id: data.platform, + }; + data.btnLoading = true; + uni.showLoading({ + title: "生成中...", + mask: true, + }); + aiWriting(param).then((res: any) => { + uni.hideLoading(); + data.btnLoading = false; + if (res.success) { + data.aiResult = res.message; + } else { + uni.showToast({ + title: "生成失败", + icon: "none", + duration: 2000, + }); + } + }); + } + + //复制文本 + function toCopy() { + uni.setClipboardData({ + data: data.aiResult, + success: (res: any) => { + uni.showToast({ + title: "复制成功", + icon: "none", + duration: 2000, + }); + }, + }); + } + + return { + data, + toMake, + inputChange, + pickerPopup, + platFormRange, + platformChange, + sizeValueRnage, + sizeValueChange, + toCopy, + }; +} diff --git a/miniprogram/ai-camera/src/pages/home/aiWriting/aiWriting.vue b/miniprogram/ai-camera/src/pages/home/aiWriting/aiWriting.vue new file mode 100644 index 00000000..9afd58ba --- /dev/null +++ b/miniprogram/ai-camera/src/pages/home/aiWriting/aiWriting.vue @@ -0,0 +1,173 @@ + + + diff --git a/miniprogram/ai-camera/src/pages/home/home.ts b/miniprogram/ai-camera/src/pages/home/home.ts index af1ba91e..8ed667d9 100644 --- a/miniprogram/ai-camera/src/pages/home/home.ts +++ b/miniprogram/ai-camera/src/pages/home/home.ts @@ -4,10 +4,11 @@ import { getHotList } from "@/apis/api"; import { wxLogin, saveImgCache } from "@/utils/commonUtil"; export default function () { + const token = uni.getStorageSync("token"); const data: any = reactive({ hotList: [], modelId: "", - token: "", + token: token, imgList: [], imgUrl: "", pageNum: 1, @@ -53,17 +54,26 @@ export default function () { data.modelId = modelId; } + function initPage() { + data.hotList = []; + data.modelId = ""; + data.imgList = []; + data.imgUrl = ""; + data.pageNum = 1; + data.pageSize = 12; + data.totalPage = 0; + } + onShow(() => { init(); }); const init = async () => { - const info: any = await wxLogin(); - data.pageNum = 1; - data.totalPage = 0; - data.token = info.token; - data.hotList = []; - data.modelId = ""; + if (!token) { + const info: any = await wxLogin(); + data.token = info.token; + } + initPage(); getHotListFn(); }; @@ -74,7 +84,11 @@ export default function () { limit: data.pageSize, token: data.token, }; + uni.showLoading({ + title: "加载中...", + }); getHotList(param).then((res: any) => { + uni.hideLoading(); if (res.success) { const dataInfo = res.data; data.totalPage = dataInfo.totalPage; @@ -115,10 +129,34 @@ export default function () { }); } + //ai写作 + function toAiWriting() { + uni.navigateTo({ + url: "/pages/home/aiWriting/aiWriting", + }); + } + + //ai音乐 + function toAiMusic() { + uni.navigateTo({ + url: "/pages/home/aiMusic/aiMusic", + }); + } + + //ai视频 + function toAiVideo() { + uni.navigateTo({ + url: "/pages/home/aiVideo/aiVideo", + }); + } + return { data, changeList, changeModelId, toMake, + toAiWriting, + toAiMusic, + toAiVideo, }; } diff --git a/miniprogram/ai-camera/src/pages/home/home.vue b/miniprogram/ai-camera/src/pages/home/home.vue index 9e6974d9..5991b5dc 100644 --- a/miniprogram/ai-camera/src/pages/home/home.vue +++ b/miniprogram/ai-camera/src/pages/home/home.vue @@ -11,15 +11,15 @@ 其他应用 - + AI写作 - + AI音乐 - + AI视频 @@ -42,6 +42,7 @@ > +