|
@@ -1,85 +1,115 @@
|
|
|
<template>
|
|
|
- <view class="page">
|
|
|
- <view class="topBody">
|
|
|
- <view class="header">
|
|
|
- <view class="card-box">
|
|
|
- <view class="card-top">
|
|
|
- <view class="top-box">
|
|
|
- <view class="hello-box"> Hello! </view>
|
|
|
- <view class="settingBtn-box">
|
|
|
- <image src="@/static/me/wd_icon_fenxian.png" mode=""></image>
|
|
|
- <image src="@/static/me/wd_icon_shezhi.png" mode="" @click="navigateToSettings"></image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="userinfo-box" @click="goPage('/pages/my/editInfo')">
|
|
|
- <view class="userinfo-left">
|
|
|
- <CircleAvatar class="avator" :src="myinfo.avator"></CircleAvatar>
|
|
|
- </view>
|
|
|
- <view class="userinfo-right">
|
|
|
- <view class="nickname">
|
|
|
- <text class="one-omit">{{ myinfo.nickname }}</text>
|
|
|
- <image src="../../static/icon/wd_icon_nan.png" mode="widthFix"
|
|
|
- v-if="myinfo.sex_id == 1" />
|
|
|
- <image src="../../static/icon/wd_icon_nv.png" mode="widthFix"
|
|
|
- v-else-if="myinfo.sex_id == 2" />
|
|
|
- <view class="level">Lv{{ myinfo.my_level }}</view>
|
|
|
- </view>
|
|
|
- <view class="label">
|
|
|
- <view v-for="(item, index) in aihao_tags" :key="index + item">
|
|
|
- {{ item }}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="intro_row">
|
|
|
- <block v-if="myinfo.content == ''">
|
|
|
- <text class="intro_text two-omit">添加简介</text>
|
|
|
- <image src="@/static/icon/wd_icon_edit.png" mode="widthFix" class="add_icon" />
|
|
|
- </block>
|
|
|
- <uv-text v-else class="intro_text two-omit"> {{ myinfo.content }} </uv-text>
|
|
|
- </view>
|
|
|
- <view class="bom">
|
|
|
- <view class="follow_info">
|
|
|
- <view class="follow-box">
|
|
|
- <view class="num">{{ myinfo.num_attention }}</view>
|
|
|
- <view class="label">关注</view>
|
|
|
- </view>
|
|
|
- <view class="separator"></view>
|
|
|
- <view class="follow-box">
|
|
|
- <view class="num">{{ myinfo.num_fans }}</view>
|
|
|
- <view class="label">粉丝</view>
|
|
|
- </view>
|
|
|
- <view class="separator"></view>
|
|
|
- <view class="follow-box">
|
|
|
- <view class="num">{{ myinfo.num_like }}</view>
|
|
|
- <view class="label">获赞</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="points-box">
|
|
|
- <view class="points ">
|
|
|
- <image src="@/static/icon/wd_icon_coin.png" mode=""></image>
|
|
|
- {{ myinfo.num_gmd }}
|
|
|
- </view>
|
|
|
- <view class="points ">
|
|
|
- <image src="@/static/icon/wd_icon_xingyuan.png" mode=""></image>
|
|
|
- {{ myinfo.num_gmd }}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="card-bom" @click="goPage('/pages/vip/index')">
|
|
|
- <view class="content-box">
|
|
|
- <image v-if="false" src="@/static/me/icon-vip2.png" mode=""></image>
|
|
|
- <image v-else-if="0" src="@/static/me/icon-vip1.png" mode=""></image>
|
|
|
- <image v-else src="@/static/me/icon-vip0.png" mode=""></image>
|
|
|
- <text v-if="true">开启专属会员权益</text>
|
|
|
- <text v-else>会员权益生效中</text>
|
|
|
- </view>
|
|
|
- <image src="@/static/me/wd_icon_jiantou.png" mode=""></image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!-- <view class="header1">
|
|
|
+ <view class="page">
|
|
|
+ <view class="topBody">
|
|
|
+ <view class="header">
|
|
|
+ <view class="card-box">
|
|
|
+ <view class="card-top">
|
|
|
+ <view class="top-box">
|
|
|
+ <view class="hello-box"> Hello! </view>
|
|
|
+ <view class="settingBtn-box">
|
|
|
+ <image src="@/static/me/wd_icon_fenxian.png" mode=""></image>
|
|
|
+ <image
|
|
|
+ src="@/static/me/wd_icon_shezhi.png"
|
|
|
+ mode=""
|
|
|
+ @click="navigateToSettings"
|
|
|
+ ></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="userinfo-box" @click="goPage('/pages/my/editInfo')">
|
|
|
+ <view class="userinfo-left">
|
|
|
+ <CircleAvatar
|
|
|
+ class="avator"
|
|
|
+ :src="myinfo.avator"
|
|
|
+ ></CircleAvatar>
|
|
|
+ </view>
|
|
|
+ <view class="userinfo-right">
|
|
|
+ <view class="nickname">
|
|
|
+ <text class="one-omit">{{ myinfo.nickname }}</text>
|
|
|
+ <image
|
|
|
+ src="../../static/icon/wd_icon_nan.png"
|
|
|
+ mode="widthFix"
|
|
|
+ v-if="myinfo.sex_id == 1"
|
|
|
+ />
|
|
|
+ <image
|
|
|
+ src="../../static/icon/wd_icon_nv.png"
|
|
|
+ mode="widthFix"
|
|
|
+ v-else-if="myinfo.sex_id == 2"
|
|
|
+ />
|
|
|
+ <view class="level">Lv{{ myinfo.my_level }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="label">
|
|
|
+ <view v-for="(item, index) in aihao_tags" :key="index + item">
|
|
|
+ {{ item }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="intro_row">
|
|
|
+ <block v-if="myinfo.content == ''">
|
|
|
+ <text class="intro_text two-omit">添加简介</text>
|
|
|
+ <image
|
|
|
+ src="@/static/icon/wd_icon_edit.png"
|
|
|
+ mode="widthFix"
|
|
|
+ class="add_icon"
|
|
|
+ />
|
|
|
+ </block>
|
|
|
+ <uv-text v-else class="intro_text two-omit">
|
|
|
+ {{ myinfo.content }}
|
|
|
+ </uv-text>
|
|
|
+ </view>
|
|
|
+ <view class="bom">
|
|
|
+ <view class="follow_info" @click="navigateToFollow">
|
|
|
+ <view class="follow-box">
|
|
|
+ <view class="num">{{ myinfo.num_attention }}</view>
|
|
|
+ <view class="label">关注</view>
|
|
|
+ </view>
|
|
|
+ <view class="separator"></view>
|
|
|
+ <view class="follow-box">
|
|
|
+ <view class="num">{{ myinfo.num_fans }}</view>
|
|
|
+ <view class="label">粉丝</view>
|
|
|
+ </view>
|
|
|
+ <view class="separator"></view>
|
|
|
+ <view class="follow-box">
|
|
|
+ <view class="num">{{ myinfo.num_like }}</view>
|
|
|
+ <view class="label">获赞</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="points-box">
|
|
|
+ <view class="points">
|
|
|
+ <image src="@/static/icon/wd_icon_coin.png" mode=""></image>
|
|
|
+ {{ myinfo.num_gmm }}
|
|
|
+ </view>
|
|
|
+ <view class="points">
|
|
|
+ <image
|
|
|
+ src="@/static/icon/wd_icon_xingyuan.png"
|
|
|
+ mode=""
|
|
|
+ ></image>
|
|
|
+ {{ myinfo.num_gmd }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="card-bom" @click="goPage('/pages/vip/index')">
|
|
|
+ <view class="content-box">
|
|
|
+ <image
|
|
|
+ v-if="false"
|
|
|
+ src="@/static/me/icon-vip2.png"
|
|
|
+ mode=""
|
|
|
+ ></image>
|
|
|
+ <image
|
|
|
+ v-else-if="0"
|
|
|
+ src="@/static/me/icon-vip1.png"
|
|
|
+ mode=""
|
|
|
+ ></image>
|
|
|
+ <image v-else src="@/static/me/icon-vip0.png" mode=""></image>
|
|
|
+ <text v-if="true">开启专属会员权益</text>
|
|
|
+ <text v-else>会员权益生效中</text>
|
|
|
+ </view>
|
|
|
+ <image src="@/static/me/wd_icon_jiantou.png" mode=""></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- <view class="header1">
|
|
|
<view class="topBg"></view>
|
|
|
<view class="settingBtn" @click="navigateToSettings">
|
|
|
<image src="/static/me/setting.png"></image>
|
|
@@ -137,23 +167,29 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view> -->
|
|
|
- <!-- <view class="whiteItem">
|
|
|
+ <!-- <view class="whiteItem">
|
|
|
<view class="btn" @click="goPage('/pages/vip/index')">开启专属会员权益</view>
|
|
|
</view> -->
|
|
|
- <view class="myinfo">
|
|
|
- <!-- <view class="line"></view> -->
|
|
|
- <view class="tablist">
|
|
|
- <view class="item" :class="{ active: activeTab === 0 }" @click="switchTab(0)">我的作品
|
|
|
- <view class="indicator-triangle">
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="item" :class="{ active: activeTab === 1 }" @click="switchTab(1)">生成中
|
|
|
- <view class="indicator-triangle">
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="numlist1" v-if="activeTab === 0" style="margin-top: 60rpx">
|
|
|
- <view class="item" v-for="(item, index) in worksList" :key="index" @click="goWork(item)">
|
|
|
+ <view class="myinfo">
|
|
|
+ <!-- <view class="line"></view> -->
|
|
|
+ <view class="tablist">
|
|
|
+ <view
|
|
|
+ class="item"
|
|
|
+ :class="{ active: activeTab === 0 }"
|
|
|
+ @click="switchTab(0)"
|
|
|
+ >我的作品
|
|
|
+ <view class="indicator-triangle"> </view>
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="item"
|
|
|
+ :class="{ active: activeTab === 1 }"
|
|
|
+ @click="switchTab(1)"
|
|
|
+ >生成中
|
|
|
+ <view class="indicator-triangle"> </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="numlist1" v-if="activeTab === 0" style="margin-top: 60rpx">
|
|
|
+ <!-- <view class="item" v-for="(item, index) in worksList" :key="index" @click="goWork(item)">
|
|
|
<view v-if="item.task_type == 1" class="icon-box">
|
|
|
<image :class="'icon' + item.images" :src="item.images ||
|
|
|
item.img_url ||
|
|
@@ -177,61 +213,100 @@
|
|
|
<image src="@/static/icon/wd_icon_suo.png"></image>
|
|
|
仅个人可见
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="numlist2" v-if="activeTab === 1" style="margin-top: 60rpx">
|
|
|
- <view class="item" v-for="(item, index) in worksList" :key="index">
|
|
|
- <view class="num" @click="goWork(item)">
|
|
|
-
|
|
|
- <image v-if="item.status == 9" class="icon"
|
|
|
- :src="item.result_images || '../../static/logo.png'" mode="aspectFit" />
|
|
|
+ </view> -->
|
|
|
+ <WorkItem
|
|
|
+ v-for="(item, index) in worksList"
|
|
|
+ :secrecy="true"
|
|
|
+ :key="index"
|
|
|
+ :item="item"
|
|
|
+ @click="goWork(item)"
|
|
|
+ />
|
|
|
+ </view>
|
|
|
+ <view class="numlist2" v-if="activeTab === 1" style="margin-top: 60rpx">
|
|
|
+ <view class="item" v-for="(item, index) in worksList" :key="index">
|
|
|
+ <view class="num" @click="goWork(item)">
|
|
|
+ <WorkItem :item="item" />
|
|
|
|
|
|
- <!-- 当activeTab为1时显示队列状态 -->
|
|
|
- <view class="queue-status">
|
|
|
- <!-- 排队中 -->
|
|
|
- <view v-if="item.status === 1" class="status-text">
|
|
|
- 排队中
|
|
|
- ({{ item.queue_position }}/{{ item.all_position }})
|
|
|
- </view>
|
|
|
- <!-- 排队中 -->
|
|
|
- <view v-if="item.status === 3 || item.status === 4" class="status-text">
|
|
|
- 生成失败</view>
|
|
|
- <!-- 制作中 -->
|
|
|
- <view v-else-if="item.status < 9" class="status-text">制作中</view>
|
|
|
- <!-- 创作完成 -->
|
|
|
- <view v-else-if="item.status === 9" class="status-text">创作完成</view>
|
|
|
- </view>
|
|
|
+ <image
|
|
|
+ class="incomplete-bg"
|
|
|
+ v-if="item.status != 9"
|
|
|
+ src="@/static/me/wd_bg_zhizuozhong.png"
|
|
|
+ />
|
|
|
+ <view class="maskLayer"></view>
|
|
|
+ <!-- 当activeTab为1时显示队列状态 -->
|
|
|
+ <view class="queue-status">
|
|
|
|
|
|
- <view class="name">{{
|
|
|
- item.title || item.description || "作品" + index
|
|
|
- }}</view>
|
|
|
+ <!-- 排队中 -->
|
|
|
+ <view v-if="item.status === 1" class="status-text">
|
|
|
+ <!-- 排队中 -->
|
|
|
+ <image class="state-img" src="@/static/me/wd_icon_paiduizhong.png"></image>
|
|
|
+ <!-- ({{ item.queue_position }}/{{ item.all_position }}) -->
|
|
|
+ </view>
|
|
|
+ <!-- 生成失败 -->
|
|
|
+ <view
|
|
|
+ v-if="item.status === 3 || item.status === 4"
|
|
|
+ class="status-text"
|
|
|
+ >
|
|
|
+ <!-- 生成失败 -->
|
|
|
+ <image class="state-img" src="@/static/me/wd_icon_zhizuoshibai.png"></image>
|
|
|
+ </view>
|
|
|
+ <!-- 制作中 -->
|
|
|
+ <view v-else-if="item.status < 9" class="status-text">
|
|
|
+ <!-- 制作中 -->
|
|
|
+ <image class="state-img" src="@/static/me/wd_icon_zhizuozhong.png"></image>
|
|
|
+ </view>
|
|
|
+ <!-- 创作完成 -->
|
|
|
+ <view v-else-if="item.status === 9" class="status-text">
|
|
|
+ <!-- 创作完成 -->
|
|
|
+ <image class="state-img" src="@/static/me/wd_icon_chuangzuowancheng.png"></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="name">{{
|
|
|
+ item.title || item.description || "作品" + index
|
|
|
+ }}</view>
|
|
|
|
|
|
- <!-- 显示任务类型标签 -->
|
|
|
- <view class="task-type-tag">
|
|
|
- <text v-if="item.task_type === 1">灵感创作</text>
|
|
|
- <text v-else-if="item.task_type === 2">音乐</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ <!-- 显示任务类型标签 -->
|
|
|
+ <view class="task-type-tag">
|
|
|
+ <image
|
|
|
+ style="width: 120rpx; height:36rpx; "
|
|
|
+ v-if="item.task_type === 1"
|
|
|
+ src="@/static/me/wd_icon_lingganchuangzuo.png"
|
|
|
+ />
|
|
|
+ <image
|
|
|
+ style="width: 82rpx; height:36rpx;"
|
|
|
+ v-else-if="item.task_type === 2"
|
|
|
+ src="@/static/me/wd_icon_yinyue.png"
|
|
|
+ />
|
|
|
+ <!-- <text v-if="item.task_type === 1">灵感创作</text>
|
|
|
+ <text v-else-if="item.task_type === 2">音乐</text> -->
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
- <!-- 加载更多提示 -->
|
|
|
- <!-- <view class="loading-more" v-if="isLoading">加载中...</view>
|
|
|
+ <!-- 加载更多提示 -->
|
|
|
+ <!-- <view class="loading-more" v-if="isLoading">加载中...</view>
|
|
|
<view class="no-more" v-if="!hasMore && worksList.length > 0">没有更多作品了</view>
|
|
|
<view class="no-more" v-if="!hasMore && worksList.length === 0">暂无作品</view> -->
|
|
|
- </view>
|
|
|
- <view style="width: 100%; text-align: center">杭州智潮创意科技有限公司</view>
|
|
|
+ </view>
|
|
|
+ <view style="width: 100%; text-align: center"
|
|
|
+ >杭州智潮创意科技有限公司</view
|
|
|
+ >
|
|
|
|
|
|
- <view class="blankHeight"></view>
|
|
|
- <view class="blankHeight"></view>
|
|
|
- </view>
|
|
|
+ <view class="blankHeight"></view>
|
|
|
+ <view class="blankHeight"></view>
|
|
|
+ </view>
|
|
|
|
|
|
- <!-- 确认框 -->
|
|
|
- <CustomConfirm ref="customConfirm"></CustomConfirm>
|
|
|
- <!-- 提示框 -->
|
|
|
- <DialogBox ref="DialogBox"></DialogBox>
|
|
|
- <tabbar-view :tabbars="tabbars" :currentIndex="4" ref="tabbar"></tabbar-view>
|
|
|
- </view>
|
|
|
+ <!-- 确认框 -->
|
|
|
+ <CustomConfirm ref="customConfirm"></CustomConfirm>
|
|
|
+ <!-- 提示框 -->
|
|
|
+ <DialogBox ref="DialogBox"></DialogBox>
|
|
|
+ <tabbar-view
|
|
|
+ :tabbars="tabbars"
|
|
|
+ :currentIndex="4"
|
|
|
+ ref="tabbar"
|
|
|
+ ></tabbar-view>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -240,336 +315,343 @@ import tabbar from "@/mixins/tabbar";
|
|
|
import CustomConfirm from "@/components/custome-confirm/customeConfirm.vue";
|
|
|
import CircleAvatar from "@/components/CircleAvatar/CircleAvatar.vue";
|
|
|
import meCard from "@/components/meCard/meCard.vue";
|
|
|
+import WorkItem from "@/components/WorkItem/WorkItem.vue";
|
|
|
export default {
|
|
|
- components: {
|
|
|
- tabbarView,
|
|
|
- CustomConfirm,
|
|
|
- CircleAvatar,
|
|
|
- meCard
|
|
|
- },
|
|
|
- mixins: [tabbar],
|
|
|
- data() {
|
|
|
- return {
|
|
|
- title: "",
|
|
|
- sel: 1,
|
|
|
- myinfo: {
|
|
|
- avator: "../../static/logo.png",
|
|
|
- nickname: "王思思",
|
|
|
- join_name: "注册日期:2024年5月",
|
|
|
- num_1: 0,
|
|
|
- num_2: 0,
|
|
|
- num_3: 0,
|
|
|
- num_4: 0,
|
|
|
- is_login: "no",
|
|
|
- num_history: 0,
|
|
|
- num_collection: 0,
|
|
|
- },
|
|
|
- aihao_tags: [],
|
|
|
- menu_list: [],
|
|
|
- data_list: [
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1112_10.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1112_108.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1112_113.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1112_13.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1112_137.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1112_141.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1114__562.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1114__568.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1114__569.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1114__570.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1114__571.png",
|
|
|
- },
|
|
|
- {
|
|
|
- url: "https://e.zhichao.art/AI_images/a_1114__575.png",
|
|
|
- },
|
|
|
- ],
|
|
|
- activeTab: 0,
|
|
|
- offset: 0,
|
|
|
- hasMore: true,
|
|
|
- isLoading: false,
|
|
|
- worksList: [],
|
|
|
- };
|
|
|
- },
|
|
|
- onLoad() {
|
|
|
- // setTimeout(function() {
|
|
|
- // uni.setNavigationBarColor({
|
|
|
- // frontColor: '#ffffff',
|
|
|
- // backgroundColor: '#00000000',
|
|
|
- // animation: {
|
|
|
- // duration: 400,
|
|
|
- // timingFunc: 'easeIn'
|
|
|
- // }
|
|
|
- // })
|
|
|
- // }, 200);
|
|
|
- },
|
|
|
- onShow() {
|
|
|
- uni.$emit("check_login", () => { });
|
|
|
- // this.loadData();
|
|
|
- this.offset = 0;
|
|
|
- this.hasMore = true;
|
|
|
- this.worksList = [];
|
|
|
- this.loadInfo();
|
|
|
- this.loadWorksList();
|
|
|
- },
|
|
|
- onReachBottom() {
|
|
|
- if (this.hasMore && !this.isLoading) {
|
|
|
- this.loadMoreWorks();
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- async showConfirm() {
|
|
|
- let that = this;
|
|
|
- this.$refs["customConfirm"]
|
|
|
- .confirm({
|
|
|
- title: "确认解绑",
|
|
|
- content: "解绑微信账号后将无法继续使用它登录该App账号?",
|
|
|
- DialogType: "inquiry",
|
|
|
- btn1: "再考虑一下",
|
|
|
- btn2: "确认解绑",
|
|
|
- animation: 0,
|
|
|
- })
|
|
|
- .then((res) => { });
|
|
|
- },
|
|
|
- onBack() { },
|
|
|
- chkSel() {
|
|
|
- if (this.sel == 1) {
|
|
|
- this.sel = 0;
|
|
|
- } else {
|
|
|
- this.sel = 1;
|
|
|
- }
|
|
|
- },
|
|
|
- goPage(page) {
|
|
|
- if (page == "kefu") {
|
|
|
- let that = this;
|
|
|
- // #ifdef APP-PLUS
|
|
|
- plus.share.getServices((res) => {
|
|
|
- const wechat = res.find((i) => i.id === "weixin");
|
|
|
- if (wechat) {
|
|
|
- wechat.openCustomerServiceChat(
|
|
|
- {
|
|
|
- corpid: "wwbc06aa8311b6ac08",
|
|
|
- // url: 'https://work.weixin.qq.com/kfid/kfc4b0bcb4038d00a50'
|
|
|
- url: that.myinfo.wxkf,
|
|
|
- },
|
|
|
- (src) => {
|
|
|
- console.log("success:");
|
|
|
- },
|
|
|
- (err) => {
|
|
|
- console.log("error:");
|
|
|
- }
|
|
|
- );
|
|
|
- } else {
|
|
|
- uni.showToast({
|
|
|
- title: "没有检测到微信,请先安装",
|
|
|
- icon: "error",
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- // #endif
|
|
|
- } else if (page != "") {
|
|
|
- uni.navigateTo({
|
|
|
- url: page,
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- loadInfo() {
|
|
|
- console.log({
|
|
|
- uuid: getApp().globalData.uuid,
|
|
|
- skey: getApp().globalData.skey,
|
|
|
- });
|
|
|
- uni.request({
|
|
|
- url: this.$apiHost + "/User/getinfo",
|
|
|
- data: {
|
|
|
- uuid: getApp().globalData.uuid,
|
|
|
- skey: getApp().globalData.skey,
|
|
|
- },
|
|
|
- header: {
|
|
|
- "content-type": "application/json",
|
|
|
- sign: getApp().globalData.headerSign,
|
|
|
- },
|
|
|
- success: (res) => {
|
|
|
- console.log("----:",JSON.parse(JSON.stringify( res.data)));
|
|
|
- if (res.data.need_login == "yes") {
|
|
|
- // getApp().globalData.skey = "";
|
|
|
- // getApp().globalData.uuid = "";
|
|
|
- uni.removeStorageSync("wapptoken");
|
|
|
- uni.redirectTo({
|
|
|
- url: "/pages/login/login",
|
|
|
- });
|
|
|
- return;
|
|
|
- }
|
|
|
- if (res.data.aihao) {
|
|
|
- this.aihao_tags = res.data.aihao.split(",");
|
|
|
- }
|
|
|
- this.myinfo = res.data;
|
|
|
- },
|
|
|
- complete: (com) => {
|
|
|
- // uni.hideLoading();
|
|
|
- },
|
|
|
- fail: (e) => {
|
|
|
- console.log("----e:", e);
|
|
|
- },
|
|
|
- });
|
|
|
- },
|
|
|
- onLogout() {
|
|
|
- let that = this;
|
|
|
- this.$refs["DialogBox"]
|
|
|
- .confirm({
|
|
|
- title: "提示",
|
|
|
- content: "确定退出吗?",
|
|
|
- DialogType: "inquiry",
|
|
|
- btn1: "取消",
|
|
|
- btn2: "退出",
|
|
|
- animation: 0,
|
|
|
- })
|
|
|
- .then((res) => {
|
|
|
- uni.request({
|
|
|
- url: that.$apiHost + "/My/logout",
|
|
|
- data: {
|
|
|
- uuid: getApp().globalData.uuid,
|
|
|
- skey: getApp().globalData.skey,
|
|
|
- },
|
|
|
- header: {
|
|
|
- "content-type": "application/json",
|
|
|
- sign: getApp().globalData.headerSign,
|
|
|
- },
|
|
|
- success: (res) => {
|
|
|
- console.log("----:", res.data);
|
|
|
- // getApp().globalData.skey = "";
|
|
|
- // getApp().globalData.uuid = "";
|
|
|
- uni.removeStorageSync("wapptoken");
|
|
|
- uni.redirectTo({
|
|
|
- url: "/pages/login/login",
|
|
|
- });
|
|
|
- },
|
|
|
- complete: (com) => {
|
|
|
- // uni.hideLoading();
|
|
|
- },
|
|
|
- fail: (e) => {
|
|
|
- console.log("----e:", e);
|
|
|
- },
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- switchTab(index) {
|
|
|
- this.activeTab = index;
|
|
|
- this.offset = 0;
|
|
|
- this.hasMore = true;
|
|
|
- this.worksList = [];
|
|
|
- this.loadWorksList();
|
|
|
- },
|
|
|
- loadWorksList() {
|
|
|
- if (this.isLoading) return;
|
|
|
- this.isLoading = true;
|
|
|
+ components: {
|
|
|
+ tabbarView,
|
|
|
+ CustomConfirm,
|
|
|
+ CircleAvatar,
|
|
|
+ meCard,
|
|
|
+ WorkItem,
|
|
|
+ },
|
|
|
+ mixins: [tabbar],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ title: "",
|
|
|
+ sel: 1,
|
|
|
+ myinfo: {
|
|
|
+ avator: "../../static/logo.png",
|
|
|
+ nickname: "王思思",
|
|
|
+ join_name: "注册日期:2024年5月",
|
|
|
+ num_1: 0,
|
|
|
+ num_2: 0,
|
|
|
+ num_3: 0,
|
|
|
+ num_4: 0,
|
|
|
+ is_login: "no",
|
|
|
+ num_history: 0,
|
|
|
+ num_collection: 0,
|
|
|
+ },
|
|
|
+ aihao_tags: [],
|
|
|
+ menu_list: [],
|
|
|
+ data_list: [
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1112_10.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1112_108.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1112_113.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1112_13.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1112_137.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1112_141.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1114__562.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1114__568.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1114__569.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1114__570.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1114__571.png",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ url: "https://e.zhichao.art/AI_images/a_1114__575.png",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ activeTab: 0,
|
|
|
+ offset: 0,
|
|
|
+ hasMore: true,
|
|
|
+ isLoading: false,
|
|
|
+ worksList: [],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ onLoad() {
|
|
|
+ // setTimeout(function() {
|
|
|
+ // uni.setNavigationBarColor({
|
|
|
+ // frontColor: '#ffffff',
|
|
|
+ // backgroundColor: '#00000000',
|
|
|
+ // animation: {
|
|
|
+ // duration: 400,
|
|
|
+ // timingFunc: 'easeIn'
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // }, 200);
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ uni.$emit("check_login", () => {});
|
|
|
+ // this.loadData();
|
|
|
+ this.offset = 0;
|
|
|
+ this.hasMore = true;
|
|
|
+ this.worksList = [];
|
|
|
+ this.loadInfo();
|
|
|
+ this.loadWorksList();
|
|
|
+ },
|
|
|
+ onReachBottom() {
|
|
|
+ if (this.hasMore && !this.isLoading) {
|
|
|
+ this.loadMoreWorks();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ async showConfirm() {
|
|
|
+ let that = this;
|
|
|
+ this.$refs["customConfirm"]
|
|
|
+ .confirm({
|
|
|
+ title: "确认解绑",
|
|
|
+ content: "解绑微信账号后将无法继续使用它登录该App账号?",
|
|
|
+ DialogType: "inquiry",
|
|
|
+ btn1: "再考虑一下",
|
|
|
+ btn2: "确认解绑",
|
|
|
+ animation: 0,
|
|
|
+ })
|
|
|
+ .then((res) => {});
|
|
|
+ },
|
|
|
+ onBack() {},
|
|
|
+ chkSel() {
|
|
|
+ if (this.sel == 1) {
|
|
|
+ this.sel = 0;
|
|
|
+ } else {
|
|
|
+ this.sel = 1;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ goPage(page) {
|
|
|
+ if (page == "kefu") {
|
|
|
+ let that = this;
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ plus.share.getServices((res) => {
|
|
|
+ const wechat = res.find((i) => i.id === "weixin");
|
|
|
+ if (wechat) {
|
|
|
+ wechat.openCustomerServiceChat(
|
|
|
+ {
|
|
|
+ corpid: "wwbc06aa8311b6ac08",
|
|
|
+ // url: 'https://work.weixin.qq.com/kfid/kfc4b0bcb4038d00a50'
|
|
|
+ url: that.myinfo.wxkf,
|
|
|
+ },
|
|
|
+ (src) => {
|
|
|
+ console.log("success:");
|
|
|
+ },
|
|
|
+ (err) => {
|
|
|
+ console.log("error:");
|
|
|
+ }
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ title: "没有检测到微信,请先安装",
|
|
|
+ icon: "error",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // #endif
|
|
|
+ } else if (page != "") {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: page,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ loadInfo() {
|
|
|
+ console.log({
|
|
|
+ uuid: getApp().globalData.uuid,
|
|
|
+ skey: getApp().globalData.skey,
|
|
|
+ });
|
|
|
+ uni.request({
|
|
|
+ url: this.$apiHost + "/User/getinfo",
|
|
|
+ data: {
|
|
|
+ uuid: getApp().globalData.uuid,
|
|
|
+ skey: getApp().globalData.skey,
|
|
|
+ },
|
|
|
+ header: {
|
|
|
+ "content-type": "application/json",
|
|
|
+ sign: getApp().globalData.headerSign,
|
|
|
+ },
|
|
|
+ success: (res) => {
|
|
|
+ console.log("----:", JSON.parse(JSON.stringify(res.data)));
|
|
|
+ if (res.data.need_login == "yes") {
|
|
|
+ // getApp().globalData.skey = "";
|
|
|
+ // getApp().globalData.uuid = "";
|
|
|
+ uni.removeStorageSync("wapptoken");
|
|
|
+ uni.redirectTo({
|
|
|
+ url: "/pages/login/login",
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (res.data.aihao) {
|
|
|
+ this.aihao_tags = res.data.aihao.split(",");
|
|
|
+ }
|
|
|
+ this.myinfo = res.data;
|
|
|
+ },
|
|
|
+ complete: (com) => {
|
|
|
+ // uni.hideLoading();
|
|
|
+ },
|
|
|
+ fail: (e) => {
|
|
|
+ console.log("----e:", e);
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ onLogout() {
|
|
|
+ let that = this;
|
|
|
+ this.$refs["DialogBox"]
|
|
|
+ .confirm({
|
|
|
+ title: "提示",
|
|
|
+ content: "确定退出吗?",
|
|
|
+ DialogType: "inquiry",
|
|
|
+ btn1: "取消",
|
|
|
+ btn2: "退出",
|
|
|
+ animation: 0,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ uni.request({
|
|
|
+ url: that.$apiHost + "/My/logout",
|
|
|
+ data: {
|
|
|
+ uuid: getApp().globalData.uuid,
|
|
|
+ skey: getApp().globalData.skey,
|
|
|
+ },
|
|
|
+ header: {
|
|
|
+ "content-type": "application/json",
|
|
|
+ sign: getApp().globalData.headerSign,
|
|
|
+ },
|
|
|
+ success: (res) => {
|
|
|
+ console.log("----:", res.data);
|
|
|
+ // getApp().globalData.skey = "";
|
|
|
+ // getApp().globalData.uuid = "";
|
|
|
+ uni.removeStorageSync("wapptoken");
|
|
|
+ uni.redirectTo({
|
|
|
+ url: "/pages/login/login",
|
|
|
+ });
|
|
|
+ },
|
|
|
+ complete: (com) => {
|
|
|
+ // uni.hideLoading();
|
|
|
+ },
|
|
|
+ fail: (e) => {
|
|
|
+ console.log("----e:", e);
|
|
|
+ },
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ switchTab(index) {
|
|
|
+ this.activeTab = index;
|
|
|
+ this.offset = 0;
|
|
|
+ this.hasMore = true;
|
|
|
+ this.worksList = [];
|
|
|
+ this.loadWorksList();
|
|
|
+ },
|
|
|
+ loadWorksList() {
|
|
|
+ if (this.isLoading) return;
|
|
|
+ this.isLoading = true;
|
|
|
|
|
|
- // 根据activeTab选择不同的API
|
|
|
- let apiUrl = "";
|
|
|
- if (this.activeTab === 0) {
|
|
|
- apiUrl = "/Work/getlist";
|
|
|
- } else {
|
|
|
- apiUrl = "/WorkAI/getMyQueueList";
|
|
|
- }
|
|
|
+ // 根据activeTab选择不同的API
|
|
|
+ let apiUrl = "";
|
|
|
+ if (this.activeTab === 0) {
|
|
|
+ apiUrl = "/Work/getlist";
|
|
|
+ } else {
|
|
|
+ apiUrl = "/WorkAI/getMyQueueList";
|
|
|
+ }
|
|
|
|
|
|
- uni.request({
|
|
|
- url: this.$apiHost + apiUrl,
|
|
|
- data: {
|
|
|
- uuid: getApp().globalData.uuid,
|
|
|
- skey: getApp().globalData.skey,
|
|
|
- type: "my", // 固定为my,表示获取自己的作品
|
|
|
- offset: this.offset,
|
|
|
- status: this.activeTab === 0 ? 1 : undefined, // 只有我的作品需要status参数
|
|
|
- },
|
|
|
- header: {
|
|
|
- "content-type": "application/json",
|
|
|
- sign: getApp().globalData.headerSign,
|
|
|
- },
|
|
|
- success: (res) => {
|
|
|
- console.log("列表数据:", JSON.parse(JSON.stringify(res.data)));
|
|
|
- if (res.data.success == "yes" && res.data.list) {
|
|
|
- if (res.data.list.length > 0) {
|
|
|
- this.worksList = [...this.worksList, ...res.data.list];
|
|
|
- this.offset += res.data.list.length;
|
|
|
- }
|
|
|
+ uni.request({
|
|
|
+ url: this.$apiHost + apiUrl,
|
|
|
+ data: {
|
|
|
+ uuid: getApp().globalData.uuid,
|
|
|
+ skey: getApp().globalData.skey,
|
|
|
+ type: "my", // 固定为my,表示获取自己的作品
|
|
|
+ offset: this.offset,
|
|
|
+ status: this.activeTab === 0 ? 1 : undefined, // 只有我的作品需要status参数
|
|
|
+ },
|
|
|
+ header: {
|
|
|
+ "content-type": "application/json",
|
|
|
+ sign: getApp().globalData.headerSign,
|
|
|
+ },
|
|
|
+ success: (res) => {
|
|
|
+ console.log("列表数据:", JSON.parse(JSON.stringify(res.data)));
|
|
|
+ if (res.data.success == "yes" && res.data.list) {
|
|
|
+ if (res.data.list.length > 0) {
|
|
|
+ this.worksList = [...this.worksList, ...res.data.list];
|
|
|
+ this.offset += res.data.list.length;
|
|
|
+ }
|
|
|
|
|
|
- if (res.data.list.length < 20) {
|
|
|
- this.hasMore = false;
|
|
|
- }
|
|
|
- } else {
|
|
|
- this.hasMore = false;
|
|
|
- }
|
|
|
+ if (res.data.list.length < 20) {
|
|
|
+ this.hasMore = false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.hasMore = false;
|
|
|
+ }
|
|
|
|
|
|
- // 只有在"我的作品"标签下才更新data_list
|
|
|
- if (this.activeTab === 0) {
|
|
|
- this.updateDataList();
|
|
|
- }
|
|
|
- },
|
|
|
- complete: () => {
|
|
|
- this.isLoading = false;
|
|
|
- },
|
|
|
- fail: (e) => {
|
|
|
- console.log("请求列表失败:", e);
|
|
|
- this.isLoading = false;
|
|
|
- },
|
|
|
- });
|
|
|
- },
|
|
|
- loadMoreWorks() {
|
|
|
- if (this.hasMore && !this.isLoading) {
|
|
|
- this.loadWorksList();
|
|
|
- }
|
|
|
- },
|
|
|
- updateDataList() {
|
|
|
- this.data_list = this.worksList.map((item) => {
|
|
|
- return {
|
|
|
- url:
|
|
|
- item.images || item.img_url || item.url || "../../static/logo.png",
|
|
|
- title: item.title || item.description || "作品",
|
|
|
- id: item.id,
|
|
|
- };
|
|
|
- });
|
|
|
- },
|
|
|
- goWork(item) {
|
|
|
- uni.$emit("check_login", () => { });
|
|
|
- if (this.activeTab == 0) {
|
|
|
- uni.navigateTo({
|
|
|
- url: "/pages/index/workDetail?id=" + item.id,
|
|
|
- });
|
|
|
- } else {
|
|
|
- if (item.status >= 9) {
|
|
|
- uni.navigateTo({
|
|
|
- url: "/pages/makedetail/makeDetail?id=" + item.id,
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- navigateToSettings() {
|
|
|
- uni.$emit("check_login", () => {
|
|
|
- uni.navigateTo({
|
|
|
- url: "/pages/my/setting",
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- },
|
|
|
+ // 只有在"我的作品"标签下才更新data_list
|
|
|
+ if (this.activeTab === 0) {
|
|
|
+ this.updateDataList();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ complete: () => {
|
|
|
+ this.isLoading = false;
|
|
|
+ },
|
|
|
+ fail: (e) => {
|
|
|
+ console.log("请求列表失败:", e);
|
|
|
+ this.isLoading = false;
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ loadMoreWorks() {
|
|
|
+ if (this.hasMore && !this.isLoading) {
|
|
|
+ this.loadWorksList();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ updateDataList() {
|
|
|
+ this.data_list = this.worksList.map((item) => {
|
|
|
+ return {
|
|
|
+ url:
|
|
|
+ item.images || item.img_url || item.url || "../../static/logo.png",
|
|
|
+ title: item.title || item.description || "作品",
|
|
|
+ id: item.id,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ },
|
|
|
+ goWork(item) {
|
|
|
+ uni.$emit("check_login", () => {});
|
|
|
+ if (this.activeTab == 0) {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/pages/index/workDetail?id=" + item.id,
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ if (item.status >= 9) {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/pages/makedetail/makeDetail?id=" + item.id,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ navigateToSettings() {
|
|
|
+ uni.$emit("check_login", () => {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/pages/my/setting",
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ navigateToFollow() {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/pages/my/follow",
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|