Browse Source

对接接口,差app跳转

milestone-20250820-金币兑换Token
no99 3 days ago
parent
commit
90f61e6552
  1. 2
      .env.development
  2. 1
      .env.production
  3. 38
      src/api/AIxiaocaishen.js
  4. 1
      src/store/chat.js
  5. 13
      src/store/dataList.js
  6. 5
      src/views/Selectmodel.vue
  7. 75
      src/views/homePage.vue

2
.env.development

@ -10,6 +10,8 @@ VITE_APP_API_BASE_URL = "http://39.101.133.168:8828/link"
VITE_APP_API_BASE_CAZE_URL = "http://39.101.133.168:8828/link" VITE_APP_API_BASE_CAZE_URL = "http://39.101.133.168:8828/link"
# VITE_APP_API_BASE_CAZE_URL = "https://api.homilychart.com/link" # VITE_APP_API_BASE_CAZE_URL = "https://api.homilychart.com/link"
VITE_APP_API_BASE_HW_URL = "http://39.101.133.168:8828/hljw"
VITE_APP_IMG_API_BASE_URL = "http://39.101.133.168:8828/hljw/api/aws/upload" VITE_APP_IMG_API_BASE_URL = "http://39.101.133.168:8828/hljw/api/aws/upload"
#MJ API #MJ API
VITE_APP_MJ_API_BASE_URL = "http://192.168.9.19:8080/api" VITE_APP_MJ_API_BASE_URL = "http://192.168.9.19:8080/api"

1
.env.production

@ -14,6 +14,7 @@ VITE_APP_API_BASE_URL = https://api.homilychart.com/link
VITE_APP_API_BASE_CAZE_URL = "https://api.homilychart.com/link" VITE_APP_API_BASE_CAZE_URL = "https://api.homilychart.com/link"
# VITE_APP_API_BASE_CAZE_URL = "http://39.101.133.168:8828/link" # VITE_APP_API_BASE_CAZE_URL = "http://39.101.133.168:8828/link"
VITE_APP_API_BASE_HW_URL = "https://api.homilychart.com/hljw"
VITE_APP_IMG_API_BASE_URL = "https://api.homilychart.com/hljw/api/aws/upload" VITE_APP_IMG_API_BASE_URL = "https://api.homilychart.com/hljw/api/aws/upload"
#MJ API #MJ API

38
src/api/AIxiaocaishen.js

@ -3,6 +3,7 @@ import request from "../utils/request";
const APIurl = import.meta.env.VITE_APP_API_BASE_URL; const APIurl = import.meta.env.VITE_APP_API_BASE_URL;
const cozeAPIurl = import.meta.env.VITE_APP_API_BASE_CAZE_URL; const cozeAPIurl = import.meta.env.VITE_APP_API_BASE_CAZE_URL;
const MJAPIurl = import.meta.env.VITE_APP_MJ_API_BASE_URL; const MJAPIurl = import.meta.env.VITE_APP_MJ_API_BASE_URL;
const HWurl = import.meta.env.VITE_APP_API_BASE_HW_URL;
//各个模块权限code接口 //各个模块权限code接口
export const pessionAPI = function (params) { export const pessionAPI = function (params) {
return request({ return request({
@ -308,7 +309,7 @@ export const clickRecordAPI = function (params) {
export const showExchangeAPI = function (params) { export const showExchangeAPI = function (params) {
return request({ return request({
url: `http://192.168.1.22:8080/api/showExchange`,
url: `${APIurl}/api/showExchange`,
method: "POST", method: "POST",
data: params, data: params,
headers: { headers: {
@ -317,4 +318,39 @@ export const showExchangeAPI = function (params) {
}); });
}; };
export const godExchangeAPI = function (params) {
return request({
url: `${APIurl}/api/godExchange`,
method: "POST",
data: params,
headers: {
token: localStorage.getItem("localToken"),
},
});
};
export const exchangeAPI = function (params) {
return request({
url: `${APIurl}/api/exchange`,
method: "POST",
data: params,
});
};
export const getGoldCoinAPI = function (params) {
return request({
url: `${HWurl}/api/haiwai/user/getGoldCoin`,
method: "POST",
data: params,
});
};
export const getUserInfoAPI = function (params) {
return request({
url: `${HWurl}/api/v2/member/info`,
method: "POST",
data: params,
});
};
// 8.18金币兑换Token end // 8.18金币兑换Token end

1
src/store/chat.js

@ -40,6 +40,7 @@ export const useChatStore = defineStore("chat", {
this.kLineData.push(data); this.kLineData.push(data);
}, },
}, },
persist: { persist: {
key: "chat_messages", key: "chat_messages",
storage: sessionStorage, storage: sessionStorage,

13
src/store/dataList.js

@ -2,7 +2,7 @@ import { defineStore } from "pinia";
import { ref, watch } from "vue"; import { ref, watch } from "vue";
import { useUserStore } from "./userPessionCode"; import { useUserStore } from "./userPessionCode";
import { useLanguage } from "@/utils/languageService"; import { useLanguage } from "@/utils/languageService";
import { dataListAPI } from "@/api/AIxiaocaishen";
import { dataListAPI, getUserInfoAPI } from "@/api/AIxiaocaishen";
// import { useSkeletonStore } from '@/utils/skeletonLoader' // import { useSkeletonStore } from '@/utils/skeletonLoader'
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
// const skeletonStore = useSkeletonStore() // const skeletonStore = useSkeletonStore()
@ -25,6 +25,7 @@ export const useDataStore = defineStore("data", () => {
const klineData = ref(null); const klineData = ref(null);
const activeTabIndex = ref(null); const activeTabIndex = ref(null);
const isFeedback = ref(false); // 用于控制是否显示反馈页面的标志 const isFeedback = ref(false); // 用于控制是否显示反馈页面的标志
const userInfo = ref({});
const setKlineData = (data) => { const setKlineData = (data) => {
klineData.value = data; klineData.value = data;
}; };
@ -155,6 +156,14 @@ export const useDataStore = defineStore("data", () => {
return ""; return "";
}; };
const getUserInfo = async () => {
const getTokenString = String(localStorage.getItem("localToken"));
const res = await getUserInfoAPI({
token: getTokenString || "",
});
userInfo.value = res.data;
};
const isLoading = ref(true); const isLoading = ref(true);
const initData = async () => { const initData = async () => {
isLoading.value = true; isLoading.value = true;
@ -214,5 +223,7 @@ export const useDataStore = defineStore("data", () => {
getQueryVariable, getQueryVariable,
setActiveTabIndex, setActiveTabIndex,
isFeedback, isFeedback,
userInfo,
getUserInfo,
}; };
}); });

5
src/views/Selectmodel.vue

@ -34,8 +34,7 @@ import { onMounted, ref } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { setHeight } from "@/utils/setHeight"; import { setHeight } from "@/utils/setHeight";
import { useDataStore } from "@/store/dataList.js"; import { useDataStore } from "@/store/dataList.js";
const { getQueryVariable, setActiveTabIndex } = useDataStore();
const { getQueryVariable, setActiveTabIndex, getUserInfo } = useDataStore();
import robot from "@/assets/img/Selectmodel/机器人 拷贝.png"; import robot from "@/assets/img/Selectmodel/机器人 拷贝.png";
const router = useRouter(); const router = useRouter();
@ -59,6 +58,8 @@ onMounted(() => {
// "localToken", // "localToken",
// "pCtw6AYK0EHAaIexoFHsbZjtsfEAIhcmwkCFm6uKko8VPfMvyDiODL9v9c0veic9fIpQbvT8zN4sH/Si6Q" // "pCtw6AYK0EHAaIexoFHsbZjtsfEAIhcmwkCFm6uKko8VPfMvyDiODL9v9c0veic9fIpQbvT8zN4sH/Si6Q"
// ); // );
getUserInfo();
}); });
const goToDBQBmodel = () => { const goToDBQBmodel = () => {

75
src/views/homePage.vue

@ -2,7 +2,13 @@
// //
import { ref, computed, onMounted, watch, nextTick, onUnmounted, h } from "vue"; import { ref, computed, onMounted, watch, nextTick, onUnmounted, h } from "vue";
import { setHeight } from "../utils/setHeight"; import { setHeight } from "../utils/setHeight";
import { getUserCountAPI, showExchangeAPI } from "../api/AIxiaocaishen";
import {
getUserCountAPI,
showExchangeAPI,
godExchangeAPI,
exchangeAPI,
getGoldCoinAPI,
} from "../api/AIxiaocaishen";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import AIchat from "./AIchat.vue"; import AIchat from "./AIchat.vue";
import AIfind from "./AIfind.vue"; import AIfind from "./AIfind.vue";
@ -45,7 +51,7 @@ const aiEmotionRef = ref(null);
// ref // ref
const historyRecordRef = ref(null); const historyRecordRef = ref(null);
// import { useUserStore } from "../store/userPessionCode.js"; // import { useUserStore } from "../store/userPessionCode.js";
const { getQueryVariable, setActiveTabIndex } = useDataStore();
const { getQueryVariable, setActiveTabIndex, getUserInfo } = useDataStore();
const dataStore = useDataStore(); const dataStore = useDataStore();
const chatStore = useChatStore(); const chatStore = useChatStore();
// //
@ -894,9 +900,9 @@ const backToHome = () => {
// 8.18Token start // 8.18Token start
const userInfo = ref({ const userInfo = ref({
username: "HomilyLink",
jwcode: "90042088",
img: " https://d31zlh4on95l9h.cloudfront.net/images/403ef762dd2f335df3b0c9e3fe488375.png",
nickname: "",
img: "",
jwcode: "",
}); });
const changeRule = ref({ const changeRule = ref({
gold: 1, gold: 1,
@ -922,13 +928,40 @@ const rechargeDialogVisible = ref(false);
const confirmDialogVisible = ref(false); const confirmDialogVisible = ref(false);
const changeSuccessDialogVisible = ref(false); const changeSuccessDialogVisible = ref(false);
//
const handleImageError = (event) => {
console.error("图片加载失败:", event.target.src);
//
event.target.src =
"https://cdn.legu168.com/jtzy/Product/pcjingwang/images/userimg.png";
};
// //
const showCount = async () => { const showCount = async () => {
try { try {
const res = await showExchangeAPI();
if (
!dataStore.userInfo.img ||
!dataStore.userInfo.nickname ||
!dataStore.userInfo.jwcode
) {
console.log("缺少用户信息,调用方法");
await getUserInfo();
}
userInfo.value.nickname = dataStore.userInfo.nickname;
userInfo.value.img = dataStore.userInfo.img;
userInfo.value.jwcode = dataStore.userInfo.jwcode;
console.log("userInfo", userInfo.value);
const [res, res2] = await Promise.all([
showExchangeAPI(),
getGoldCoinAPI({
token: String(localStorage.getItem("localToken")),
}),
]);
changeLevelList.value = res.data; changeLevelList.value = res.data;
activeLevel.value = changeLevelList.value[0]; activeLevel.value = changeLevelList.value[0];
changeRule.value.token = res.data[0].ratio; changeRule.value.token = res.data[0].ratio;
gold.value = res2.data.total;
// //
dialogVisible.value = true; dialogVisible.value = true;
@ -988,13 +1021,25 @@ const goRecharge = () => {
} }
}; };
const goChange = () => {
const goChange = async () => {
try {
await exchangeAPI({
token: String(localStorage.getItem("localToken")),
num: activeLevel.value.position,
});
confirmDialogVisible.value = false; confirmDialogVisible.value = false;
dialogVisible.value = false; dialogVisible.value = false;
changeSuccessDialogVisible.value = true; changeSuccessDialogVisible.value = true;
setTimeout(() => { setTimeout(() => {
changeSuccessDialogVisible.value = false; changeSuccessDialogVisible.value = false;
}, 2000); }, 2000);
//
await chatStore.getUserCount();
} catch (e) {
console.error("兑换失败", e);
}
}; };
// 8.18Token end // 8.18Token end
@ -1028,7 +1073,8 @@ onMounted(async () => {
sessionStorage.getItem("rechargeFlag") == "1" && sessionStorage.getItem("rechargeFlag") == "1" &&
getQueryVariable("successType") == "success" getQueryVariable("successType") == "success"
) { ) {
dialogVisible.value = true;
await godExchangeAPI({ state: 1 });
showCount();
sessionStorage.setItem("rechargeFlag", "0"); sessionStorage.setItem("rechargeFlag", "0");
} }
}); });
@ -1328,15 +1374,20 @@ onUnmounted(() => {
</el-container> </el-container>
<!-- 弹窗 --> <!-- 弹窗 -->
<!-- 新增弹窗组件 --> <!-- 新增弹窗组件 -->
<el-dialog v-model="dialogVisible" :width="isMobile ? '80%' : '40%'">
<el-dialog v-model="dialogVisible" :width="isMobile ? '80%' : '48%'">
<!-- 中间内容部分 --> <!-- 中间内容部分 -->
<div class="changeMsg"> <div class="changeMsg">
<div class="changeInfo"> <div class="changeInfo">
<div class="changeImg"> <div class="changeImg">
<img :src="userInfo.img" alt="头像" class="changeImgClass" />
<img
:src="userInfo.img"
alt="头像"
class="changeImgClass"
@error="handleImageError"
/>
</div> </div>
<div class="changeContent"> <div class="changeContent">
<div class="changeUsername">{{ userInfo.username }}</div>
<div class="changeUsername">{{ userInfo.nickname }}</div>
<div class="changeJwcode">精网号{{ userInfo.jwcode }}</div> <div class="changeJwcode">精网号{{ userInfo.jwcode }}</div>
</div> </div>
</div> </div>
@ -2020,6 +2071,8 @@ body {
} }
.changeImgClass { .changeImgClass {
width: 50px;
height: auto;
} }
.changeContent { .changeContent {

Loading…
Cancel
Save