|
@@ -4,13 +4,13 @@
|
|
|
<div>我的</div>
|
|
|
</div>
|
|
|
<el-tabs v-model="query.type" @tab-click="tabChange" class="tabs w-full">
|
|
|
- <el-tab-pane label="公开" :name="0"></el-tab-pane>
|
|
|
- <el-tab-pane label="非公开" :name="1"></el-tab-pane>
|
|
|
+ <el-tab-pane label="公开" name="0"></el-tab-pane>
|
|
|
+ <el-tab-pane label="非公开" name="1"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
<div class="lietRom flex-1 overflow-auto" v-infinite-scroll="load" infinite-scroll-disabled="disabled">
|
|
|
<div class="list mt-4">
|
|
|
<div v-for="(item, index) in characterList" :key="index"
|
|
|
- class="box2 relative rounded-lg overflow-hidden shadow-lg cursor-pointer" @click="toDetail(item)">
|
|
|
+ class="box2 relative rounded-lg overflow-hidden shadow-lg cursor-pointer" @click="clickShowPopup(item)">
|
|
|
<div class="w-full overflow-hidden">
|
|
|
<img :src="baseApi + item.picture" class="w-full img" />
|
|
|
</div>
|
|
@@ -43,14 +43,35 @@
|
|
|
<p class="w-full py-4 text-gray-400 text-center" v-if="loading">加载中...</p>
|
|
|
<p class="w-full py-4 text-gray-400 text-center" v-if="noMore">没有更多了</p>
|
|
|
</div>
|
|
|
+ <van-action-sheet v-model="showPopup">
|
|
|
+ <div class="buttons mb-6">
|
|
|
+ <van-cell v-if="selectObj.scene == 1" title="场景名称" :value="selectObj.name" />
|
|
|
+ <van-cell title="查看资料" is-link @click="toDetail" />
|
|
|
+ <van-cell title="删除" is-link @click="deleteData" />
|
|
|
+ <div class="flex justify-around p-4">
|
|
|
+ <van-button class="textButton w-28 rounded-full" size="small" @click="toChat">开始对话</van-button>
|
|
|
+ <van-button class="buttonBg1 w-28 rounded-full" size="small" @click="toCreate">编辑</van-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </van-action-sheet>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import { Dialog } from 'vant';
|
|
|
import { queryCharacterAndSceneApi } from "@/api/profile.js"
|
|
|
+import {
|
|
|
+ deleteSceneApi,
|
|
|
+ deleteCharacterApi,
|
|
|
+ setCharacterShowApi,
|
|
|
+ editSceneApi
|
|
|
+} from "@/api/create.js"
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ showPopup: false,
|
|
|
+ selectObj: {},
|
|
|
query: {
|
|
|
pageSize: 10,
|
|
|
pageNum: 2,
|
|
@@ -104,11 +125,24 @@ export default {
|
|
|
this.loading = false
|
|
|
})
|
|
|
},
|
|
|
- toDetail(item) {
|
|
|
+ clickShowPopup(item) {
|
|
|
console.log(item, 'item');
|
|
|
this.selectObj = item
|
|
|
- this.toChat()
|
|
|
- // this.dialogVisible = true
|
|
|
+ this.showPopup = true
|
|
|
+ },
|
|
|
+ toDetail() {
|
|
|
+ let query = {}
|
|
|
+ if (this.selectObj.scene == 0) {
|
|
|
+ // 点击是角色
|
|
|
+ query.id = this.selectObj.id
|
|
|
+ } else if (this.selectObj.scene == 1) {
|
|
|
+ // 点击是场景
|
|
|
+ query.id = this.selectObj.characterId
|
|
|
+ }
|
|
|
+ this.$router.push({
|
|
|
+ path: '/detailH5',
|
|
|
+ query: query
|
|
|
+ })
|
|
|
},
|
|
|
// 前往聊天页面
|
|
|
toChat() {
|
|
@@ -131,6 +165,68 @@ export default {
|
|
|
}
|
|
|
|
|
|
},
|
|
|
+ // 前往编辑页面
|
|
|
+ toCreate() {
|
|
|
+ if (this.selectObj.scene == 0) {
|
|
|
+ // 点击是角色
|
|
|
+ this.$router.push({
|
|
|
+ path: '/create',
|
|
|
+ query: {
|
|
|
+ id: this.selectObj.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else if (this.selectObj.scene == 1) {
|
|
|
+ // 点击是场景
|
|
|
+ this.$router.push({
|
|
|
+ path: '/createScene',
|
|
|
+ query: {
|
|
|
+ sceneId: this.selectObj.id,
|
|
|
+ characterId: this.selectObj.characterId
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 删除
|
|
|
+ deleteData() {
|
|
|
+ if (this.selectObj.scene == 0) {
|
|
|
+ // 删除角色
|
|
|
+ Dialog.confirm({
|
|
|
+ title: '提示',
|
|
|
+ message: '此操作将永久删除该角色及其所有聊天记录, 是否继续?',
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ deleteCharacterApi(this.selectObj.id).then(res => {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功!'
|
|
|
+ });
|
|
|
+ this.showPopup = false
|
|
|
+ this.characterList = []
|
|
|
+ this.getCharacterList()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ } else if (this.selectObj.scene == 1) {
|
|
|
+ // 删除场景
|
|
|
+ this.$confirm('此操作将永久删除该场景及其所有聊天记录, 是否继续?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ deleteSceneApi(this.selectObj.id).then(res => {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功!'
|
|
|
+ });
|
|
|
+ this.showPopup = false
|
|
|
+ this.characterList = []
|
|
|
+ this.getCharacterList()
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|