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 @@
+ai音乐
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 @@
+ai视频
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 @@
+
+
+
+
+
+ 写作内容描述
+
+ 消耗10
+
+
+
+
+ {{ data.inputValueLength ? data.inputValueLength : 0 }}/200
+
+
+
+ 类型
+
+
+ {{ data.platformStr }}
+
+
+
+
+
+ 字数
+
+
+ {{ data.sizeStr }}
+
+
+
+
+
+
+ 结果
+ {{ data.aiResult }}
+ 点击复制
+
+
+
+
+
+
+
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 @@
>
+