优化页面

This commit is contained in:
pengxiaolong
2025-05-27 21:05:01 +08:00
parent cf8728f0d7
commit e682754922
28 changed files with 2742 additions and 2434 deletions

23
App.vue
View File

@@ -1,7 +1,7 @@
<script lang="ts">
// #ifdef APP-PLUS || H5
import TUIlogin from "./components/TUILogin.js";
import { TUIChatKit } from './TUIKit';
TUIChatKit.init();
// #endif
@@ -19,27 +19,6 @@ export default {
};
},
onLoad(option) {
uni.getStorage({
key: "userinfo",
success: (res) => {
this.info = res.data;
},
});
uni.getStorage({
key: "userSig",
success: (res) => {
this.userSig = res.data;
},
});
uni.getStorage({
key: "chatInfo",
success: (res) => {
this.chatInfo = res.data;
},
});
if (this.userSig) {
TUIlogin(this.chatInfo.appId, this.info.userChatId, this.userSig);
}
},
provide() {
return {

View File

@@ -0,0 +1,12 @@
function TimeFormatting(timestamp) {
const date = new Date(timestamp * 1000); // 秒级转毫秒级
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const hour = String(date.getHours()).padStart(2, '0');
const minute = String(date.getMinutes()).padStart(2, '0');
const second = String(date.getSeconds()).padStart(2, '0');
return `${month}-${day} ${hour}:${minute}`;
}
export default TimeFormatting;

View File

@@ -1,24 +1,44 @@
<template>
<scroll-view scroll-y="true" class="scroll" refresher-enabled="true" refresher-threshold="40" @refresherrefresh="onRefresherRefresh" lower-threshold="100" @scrolltolower="onScrollToLower" >
<uni-card v-for="(item, index) in list">
<scroll-view
scroll-y="true"
class="scroll"
refresher-enabled="true"
refresher-threshold="40"
@refresherrefresh="onRefresherRefresh"
lower-threshold="100"
@scrolltolower="onScrollToLower"
>
<uni-card v-for="(item, index) in list">
<view class="content-list" @click="goDetail(item)">
<!-- `````````````````````````` -->
<image class="headShot" :src="item.anchorIcon" mode="scaleToFill" />
<!-- `````````````````````````````````````` -->
<view class="content-list-title">
<view class="cardname">{{ item.anchorId }}</view>
<view class="content-list-info">
<view :class="{Gendermale:item.sex === '1',Genderfemale:item.sex === '2'}">
<image v-if="item.sex === '2'" class="Genderimg" src="../../static/female.png" mode="scaleToFill" />
<image v-else class="Genderimg" src="../../static/male.png" mode="scaleToFill" />
<view class="age">{{ item.sex === '1'? "男" : "女" }}</view>
<!-- `````````````````````````` -->
<image class="headShot" :src="item.anchorIcon" mode="scaleToFill" />
<!-- `````````````````````````````````````` -->
<view class="content-list-title">
<view class="cardname">{{ item.anchorId }}</view>
<view class="content-list-info">
<view
:class="{ Gendermale: item.sex === '1', Genderfemale: item.sex === '2' }"
>
<image
v-if="item.sex === '2'"
class="Genderimg"
src="../../static/female.png"
mode="scaleToFill"
/>
<image
v-else
class="Genderimg"
src="../../static/male.png"
mode="scaleToFill"
/>
<view class="age">{{ item.sex === "1" ? "男" : "女" }}</view>
</view>
<view class="RoomID">PK时间:&nbsp;{{ formatDate(item.pkTime) }}</view>
<view class="Charm">金币:</view>
<view class="charmValue"> {{ item.coin + "K" }}</view>
</view>
<view class="RoomID">PK时间:&nbsp;{{formatDate(item.pkTime)}}</view>
<view class="Charm">金币:</view>
<view class="charmValue"> {{item.coin+'K'}}</view>
</view>
</view>
<!-- `````````````````````````````````````````````````````` -->
<!-- `````````````````````````````````````````````````````` -->
</view>
</uni-card>
</scroll-view>
@@ -28,17 +48,18 @@
import request from "../../components/request.js";
import formatDate from "../../components/formatDate.js";
export default {
inject: ['$global'],
inject: ["$global"],
data() {
return {
page: 0,//页码
page: 0, //页码
size: 10, //每页条数
list: [], // 列表数据
list: [], // 列表数据
detailsdata: {}, //详情数据
};
},
mounted() {
// 页面加载完成后请求数据
this.pkList()
this.pkList();
},
methods: {
onRefresherRefresh() {
@@ -46,18 +67,49 @@ export default {
this.list = [];
this.pkList();
},
goDetail(item) {
uni.navigateTo({
url: '/pages/pkDetail/pkDetail',
success: function(res) {
res.eventChannel.emit('itemDetail', {
item: item,
});
async goDetail(item) {
uni.showLoading({
title: "加载中...",
mask: true,
});
console.log("id", item.id);
const res = await request({
url: "pk/pkInfoDetail",
method: "POST",
data: {
id: item.id,
},
})
userInfo: true,
});
console.log("res", res);
this.detailsdata = res.data;
if (res.code === 200) {
if (res.data.length !== 0) {
uni.hideLoading();
console.log("res.data", res.data);
uni.navigateTo({
url: "/pages/pkDetail/pkDetail",
success: (res) => {
res.eventChannel.emit("itemDetail", {
item: this.detailsdata,
});
},
});
} else {
uni.hideLoading();
this.openPopupQuantity();
}
} else {
uni.hideLoading();
uni.showToast({
title: "加载失败",
icon: "none",
duration: 2000,
});
}
},
formatDate: formatDate,
async pkList(){
async pkList() {
const res = await request({
url: "pk/pkList",
method: "POST",
@@ -65,13 +117,13 @@ export default {
status: 0,
page: this.page,
size: this.size,
},
userInfo: false,
},
userInfo: false,
});
console.log(res);
if (res.code === 200) {
this.list.push(...res.data)
console.log(this.list)
this.list.push(...res.data);
console.log(this.list);
}
},
onScrollToLower() {
@@ -127,18 +179,18 @@ export default {
font-size: 14rpx;
}
.Gendermale{
background: url(../../static/maleimg.png) no-repeat center;
width: 56.3rpx;
.Gendermale {
background: url(../../static/maleimg.png) no-repeat center;
width: 56.3rpx;
height: 29.58rpx;
background-size: 100% 100%;
display: flex;
align-items: center;
margin-right: 10rpx;
}
.Genderfemale{
background: url(../../static/femaleimg.png) no-repeat center;
width: 56.3rpx;
.Genderfemale {
background: url(../../static/femaleimg.png) no-repeat center;
width: 56.3rpx;
height: 29.58rpx;
background-size: 100% 100%;
display: flex;
@@ -149,7 +201,6 @@ export default {
font-size: 23rpx;
color: #a3a3a3;
line-height: 38rpx;
}
.Charm {
font-size: 23rpx;

14
package-lock.json generated
View File

@@ -9,8 +9,10 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@tencentcloud/chat": "^3.5.5",
"@tencentcloud/chat-uikit-uniapp": "^2.4.3",
"cos-wx-sdk-v5": "^1.8.0",
"tim-upload-plugin": "^1.4.2",
"unplugin-vue2-script-setup": "^0.11.4"
}
},
@@ -644,9 +646,9 @@
}
},
"node_modules/@tencentcloud/chat": {
"version": "3.5.4",
"resolved": "https://registry.npmjs.org/@tencentcloud/chat/-/chat-3.5.4.tgz",
"integrity": "sha512-OEEHU0YvpVmt6stD9KamLf9puOzFjsy4nI11NeF+Q5q7ShXegYzUA5U/9MGg/fQTI9Po34nxIWMXtcDn6zmovQ=="
"version": "3.5.5",
"resolved": "https://registry.npmjs.org/@tencentcloud/chat/-/chat-3.5.5.tgz",
"integrity": "sha512-21kQw8PUns9D2nJMDv5KErnGusDAGSZ0xlFqoCO2VrpHaOXNp7diUs8yVccR/UHk+O/474zNbLe4n095UqLSVQ=="
},
"node_modules/@tencentcloud/chat-uikit-engine": {
"version": "2.4.4",
@@ -2730,9 +2732,9 @@
}
},
"@tencentcloud/chat": {
"version": "3.5.4",
"resolved": "https://registry.npmjs.org/@tencentcloud/chat/-/chat-3.5.4.tgz",
"integrity": "sha512-OEEHU0YvpVmt6stD9KamLf9puOzFjsy4nI11NeF+Q5q7ShXegYzUA5U/9MGg/fQTI9Po34nxIWMXtcDn6zmovQ=="
"version": "3.5.5",
"resolved": "https://registry.npmjs.org/@tencentcloud/chat/-/chat-3.5.5.tgz",
"integrity": "sha512-21kQw8PUns9D2nJMDv5KErnGusDAGSZ0xlFqoCO2VrpHaOXNp7diUs8yVccR/UHk+O/474zNbLe4n095UqLSVQ=="
},
"@tencentcloud/chat-uikit-engine": {
"version": "2.4.4",

View File

@@ -14,8 +14,10 @@
"author": "",
"license": "ISC",
"dependencies": {
"@tencentcloud/chat": "^3.5.5",
"@tencentcloud/chat-uikit-uniapp": "^2.4.3",
"cos-wx-sdk-v5": "^1.8.0",
"tim-upload-plugin": "^1.4.2",
"unplugin-vue2-script-setup": "^0.11.4"
}
}

View File

@@ -21,19 +21,50 @@ import topNavigation from "../../components/topNavigation/topNavigation";
import Advertisement from "../../components/Advertisement/Advertisement";
import contentList from "../../components/contentList/contentList";
import tabBar from "../../components/tabBar/tabBar";
import TUIlogin from "../../components/TUILogin.js";
import TencentCloudChat from "@tencentcloud/chat";
export default {
inject: ['$global'],
inject: ["$global"],
data() {
return {};
return {
info: {},
myuserSig: "",
chatInfo: {},
};
},
onLoad() {
// this.requestSomething();
uni.getStorage({
key: "userinfo",
success: (res) => {
this.info = res.data;
uni.getStorage({
key: "myuserSig",
success: (res) => {
this.myuserSig = res.data;
uni.getStorage({
key: "chatInfo",
success: (res) => {
this.chatInfo = res.data;
TUIlogin(this.chatInfo.appId, this.info.id, this.myuserSig.userSig);
// let options = {
// SDKAppID: this.chatInfo.appId,
// };
// console.log("`````````````````````````````````````````", this.chatInfo);
// let chat = TencentCloudChat.create(options);
// console.log("chat````````````````````````````````````````", this.chat);
// chat.login({ userID: String(this.info.id), userSig: this.myuserSig.userSig });
},
});
},
});
},
});
},
methods: {
goAdvertisement(){
goAdvertisement() {
// this.$global.lastPage = getCurrentPages().router;
uni.navigateTo({ url: '/pages/pkDetail/pkDetail' })
}
uni.navigateTo({ url: "/pages/pkDetail/pkDetail" });
},
},
components: {
topNavigation,

View File

@@ -98,6 +98,7 @@
<view class="time">
<uni-datetime-picker
type="datetime"
hide-second="true"
v-model="datetimesingle"
@change="changeLog"
/>

View File

@@ -41,9 +41,22 @@
<scroll-view scroll-y="true" class="scroll">
<!-- <uni-card v-for="(item, index) in list"> -->
<view class="card" v-for="(item, index) in list">
<view class="card-content">
</view>
<view
class="card-content"
@click="Select(item.id, index)"
:style="{
border: selectedId === item.id ? '2px solid red' : '2px solid #afafaf',
}"
>
<image class="avatar" :src="item.anchorIcon" mode="scaleToFill" />
<view class="NameMoney">
<view class="NameMoney_Name">{{ item.anchorId }}</view>
<view class="TimeMoney">
<view>{{ TimeFormatting(item.pkTime) }}</view>
<view>金币:{{ item.coin }}</view>
</view>
</view>
</view>
</view>
<!-- `````````````` -->
</scroll-view>
@@ -57,17 +70,30 @@
<NewAddedPk class="createModule" ref="createModule"></NewAddedPk>
</template>
<script>
<script lang="ts">
import formatDate from "../../components/formatDate.js";
import VerifyLogin from "../../components/VerifyLogin.js";
import TimeFormatting from "../../components/TimeFormatting.js";
// import VerifyLogin from "../../components/VerifyLogin.js";
import NewAddedPk from "../../pages/NewAddedPk/NewAddedPk.vue";
import request from "../../components/request.js";
import { isEnabledMessageReadReceiptGlobal } from "../../TUIKit/components/TUIChat/utils/utils.js";
import OfflinePushInfoManager from "../../TUIKit/components/TUIChat/offlinePushInfoManager/index.js";
import TUIChatEngine, {
TUIStore,
StoreName,
TUIChatService,
} from "@tencentcloud/chat-uikit-engine";
export default {
data() {
return {
item: {},
id: 0,
InvitingPartyEventID: null,
list: [],
selectedId: null,
InvitingPartyEventindex: null,
chatInfo: {},
currentConversation: null,
};
},
onLoad(options) {
@@ -85,9 +111,27 @@ export default {
this.id = res.data.id;
},
});
uni.getStorage({
key: "chatInfo",
success: (res) => {
this.chatInfo = res.data;
},
});
},
methods: {
formatDate: formatDate,
TimeFormatting: TimeFormatting,
Select(id, index) {
if (this.selectedId === id) {
this.selectedId = null;
this.InvitingPartyEventID = null;
this.InvitingPartyEventindex = null;
} else {
this.selectedId = this.selectedId === id ? null : id;
this.InvitingPartyEventID = id;
this.InvitingPartyEventindex = index;
}
},
Returnfunc() {
uni.navigateBack({
delta: 1,
@@ -95,32 +139,69 @@ export default {
},
open() {
this.$refs.popup.open("center");
this.userlist()
this.userlist();
},
invite() {
if (this.item.pkTime !== this.list[this.InvitingPartyEventindex].pkTime) {
uni.showToast({
icon: "none",
title: "请保持时间一致",
});
return;
}
// 发送邀请消息
const payload = {
data: JSON.stringify({
businessID: "pk",
title: "PK邀请",
buttonText1: "接受邀请",
buttonText2: "拒绝邀请",
}),
description: "邀请参加PK",
extension: "邀请参加PK",
};
TUIStore.watch(StoreName.CONV, {
currentConversation: (conversation) => {
this.currentConversation = conversation;
},
});
const options = {
to: `C2C${this.list[this.InvitingPartyEventindex].senderId}`,
conversationType: this.currentConversation?.value?.type,
payload,
needReadReceipt:isEnabledMessageReadReceiptGlobal(),
};
const offlinePushInfoCreateParams = {
conversation: this.currentConversation,
payload: options.payload,
messageType: TUIChatEngine.TYPES.MSG_CUSTOM,
};
const sendMessageOptions = {
offlinePushInfo: OfflinePushInfoManager.create(offlinePushInfoCreateParams),
};
TUIChatService.sendCustomMessage(options, sendMessageOptions);
/////////
},
close() {
this.$refs.popup.close();
},
openChat() {
//判断用户是否登录
VerifyLogin().then(() => {
// 打开聊天页面
const conversationID = `C2C${this.item.senderId}`;
uni.redirectTo({
url: `/TUIKit/components/TUIChat/index?conversationID=${conversationID}`,
});
// 打开聊天页面
const conversationID = `C2C${this.item.senderId}`;
uni.redirectTo({
url: `/TUIKit/components/TUIChat/index?conversationID=${conversationID}`,
});
},
async userlist() {
uni.showLoading({
title: "加载中...",
mask: true,
});
const res = await request({
url: "pk/queryMyPkData",
url: "pk/queryMyCanUsePkData",
method: "POST",
data: {
userId: this.id,
@@ -128,13 +209,13 @@ export default {
userInfo: true,
});
if (res.code === 200) {
if(res.data.length !== 0){
if (res.data.length !== 0) {
uni.hideLoading();
console.log("res.data",res.data);
this.list = res.data;
}else{
console.log("res.data", res.data);
this.list = res.data;
} else {
uni.hideLoading();
this.openPopupQuantity()
this.openPopupQuantity();
}
} else {
uni.hideLoading();
@@ -151,8 +232,8 @@ export default {
},
},
components: {
NewAddedPk
}
NewAddedPk,
},
};
</script>
@@ -233,12 +314,8 @@ export default {
.scroll {
width: 470rpx;
height: 500rpx;
border: 1px solid #afafaf;
border: 2px solid #afafaf;
border-radius: 10px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.card {
margin-top: 10rpx;
@@ -246,15 +323,35 @@ export default {
}
.card-content {
width: 445rpx;
height: 70rpx;
border: 1px solid #afafaf;
height: 75rpx;
/* border: 2px solid #afafaf; */
border-radius: 10px;
display: flex;
font-size: 28rpx;
color: rgb(127, 127, 127);
}
.createModule {
position: fixed;
bottom: 0;
right: 0;
z-index: 998;
width: 100vw;
}
.avatar {
width: 60rpx;
height: 60rpx;
border-radius: 50%;
}
.TimeMoney {
width: 300rpx;
display: flex;
justify-content: space-between;
}
.NameMoney {
display: flex;
flex-direction: column;
}
.NameMoney_Name {
text-align: left;
}
.createModule{
position: fixed;
bottom: 0;
right: 0;
z-index: 998;
width: 100vw;
}
</style>

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script lang=\"ts\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n// Required information\r\n// You can get userSig from TencentCloud chat console for Testing TUIKit.\r\n// Deploy production environment please get it from your server.\r\n// View https://cloud.tencent.com/document/product/269/32688\r\n\r\nexport default {\r\n data() {\r\n return {\r\n info: {},\r\n userSig: \"\",\r\n chatInfo: {},\r\n };\r\n },\r\n onLoad(option) {\r\n uni.getStorage({\r\n key: \"userinfo\",\r\n success: (res) => {\r\n this.info = res.data;\r\n },\r\n });\r\n uni.getStorage({\r\n key: \"userSig\",\r\n success: (res) => {\r\n this.userSig = res.data;\r\n },\r\n });\r\n uni.getStorage({\r\n key: \"chatInfo\",\r\n success: (res) => {\r\n this.chatInfo = res.data;\r\n },\r\n });\r\n if (this.userSig) {\r\n TUIlogin(this.chatInfo.appId, this.info.userChatId, this.userSig);\r\n }\r\n },\r\n provide() {\r\n return {\r\n $global: {\r\n lastPage: null,\r\n },\r\n };\r\n },\r\n};\r\n</script>\r\n<style>\r\n/* common css for page */\r\nuni-page-body,\r\nhtml,\r\nbody,\r\npage {\r\n width: 100% !important;\r\n height: 100% !important;\r\n overflow: hidden;\r\n}\r\n</style>\r\n","import App from './App'\r\n\r\n// #ifndef VUE3\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()\r\n// #endif\r\n\r\n// #ifdef VUE3\r\nimport { createSSRApp } from 'vue'\r\nexport function createApp() {\r\n const app = createSSRApp(App)\r\n return {\r\n app\r\n }\r\n}\r\n// #endif"],"names":["uni","createSSRApp","App"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,MAAe,YAAA;AAAA,EACb,OAAO;AACE,WAAA;AAAA,MACL,MAAM,CAAC;AAAA,MACP,SAAS;AAAA,MACT,UAAU,CAAC;AAAA,IAAA;AAAA,EAEf;AAAA,EACA,OAAO,QAAQ;AACbA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,OAAO,IAAI;AAAA,MAClB;AAAA,IAAA,CACD;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,UAAU,IAAI;AAAA,MACrB;AAAA,IAAA,CACD;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,WAAW,IAAI;AAAA,MACtB;AAAA,IAAA,CACD;AACD,QAAI,KAAK,SAAS;AAChB,eAAS,KAAK,SAAS,OAAO,KAAK,KAAK,YAAY,KAAK,OAAO;AAAA,IAClE;AAAA,EACF;AAAA,EACA,UAAU;AACD,WAAA;AAAA,MACL,SAAS;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,IAAA;AAAA,EAEJ;AACF;ACnCO,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script lang=\"ts\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n// Required information\r\n// You can get userSig from TencentCloud chat console for Testing TUIKit.\r\n// Deploy production environment please get it from your server.\r\n// View https://cloud.tencent.com/document/product/269/32688\r\n\r\nexport default {\r\n data() {\r\n return {\r\n info: {},\r\n userSig: \"\",\r\n chatInfo: {},\r\n };\r\n },\r\n onLoad(option) {\r\n },\r\n provide() {\r\n return {\r\n $global: {\r\n lastPage: null,\r\n },\r\n };\r\n },\r\n};\r\n</script>\r\n<style>\r\n/* common css for page */\r\nuni-page-body,\r\nhtml,\r\nbody,\r\npage {\r\n width: 100% !important;\r\n height: 100% !important;\r\n overflow: hidden;\r\n}\r\n</style>\r\n","import App from './App'\r\n\r\n// #ifndef VUE3\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()\r\n// #endif\r\n\r\n// #ifdef VUE3\r\nimport { createSSRApp } from 'vue'\r\nexport function createApp() {\r\n const app = createSSRApp(App)\r\n return {\r\n app\r\n }\r\n}\r\n// #endif"],"names":["createSSRApp","App"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,MAAe,YAAA;AAAA,EACb,OAAO;AACE,WAAA;AAAA,MACL,MAAM,CAAC;AAAA,MACP,SAAS;AAAA,MACT,UAAU,CAAC;AAAA,IAAA;AAAA,EAEf;AAAA,EACA,OAAO,QAAQ;AAAA,EACf;AAAA,EACA,UAAU;AACD,WAAA;AAAA,MACL,SAAS;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,IAAA;AAAA,EAEJ;AACF;ACdO,SAAS,YAAY;AAC1B,QAAM,MAAMA,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"TimeFormatting.js","sources":["components/TimeFormatting.js"],"sourcesContent":["function TimeFormatting(timestamp) {\r\n const date = new Date(timestamp * 1000); // 秒级转毫秒级\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const day = String(date.getDate()).padStart(2, '0');\r\n const hour = String(date.getHours()).padStart(2, '0');\r\n const minute = String(date.getMinutes()).padStart(2, '0');\r\n const second = String(date.getSeconds()).padStart(2, '0');\r\n \r\n return `${month}-${day} ${hour}:${minute}`;\r\n }\r\n export default TimeFormatting;"],"names":[],"mappings":";AAAA,SAAS,eAAe,WAAW;AAC/B,QAAM,OAAO,IAAI,KAAK,YAAY,GAAI;AACzB,OAAK,YAAc;AAChC,QAAM,QAAQ,OAAO,KAAK,SAAQ,IAAK,CAAC,EAAE,SAAS,GAAG,GAAG;AACzD,QAAM,MAAM,OAAO,KAAK,QAAS,CAAA,EAAE,SAAS,GAAG,GAAG;AAClD,QAAM,OAAO,OAAO,KAAK,SAAU,CAAA,EAAE,SAAS,GAAG,GAAG;AACpD,QAAM,SAAS,OAAO,KAAK,WAAY,CAAA,EAAE,SAAS,GAAG,GAAG;AACzC,SAAO,KAAK,WAAU,CAAE,EAAE,SAAS,GAAG,GAAG;AAExD,SAAO,GAAG,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM;AAC5C;;"}

View File

@@ -1 +1 @@
{"version":3,"file":"VerifyLogin.js","sources":["components/VerifyLogin.js"],"sourcesContent":["function VerifyLogin() {\r\n return new Promise((resolve, reject) => {\r\n \r\n uni.getStorage({\r\n key: \"userinfo\",\r\n success: (res) => {\r\n if (res.data) {\r\n if (res.data.nickName) {\r\n resolve(true);\r\n } else {\r\n uni.setStorageSync(\"lastPage\", getCurrentPages()[getCurrentPages().length - 1].route);\r\n uni.reLaunch({ url: \"/pages/UserInformation/UserInformation\" });\r\n resolve(false);\r\n }\r\n } else {\r\n uni.setStorageSync(\"lastPage\", getCurrentPages()[getCurrentPages().length - 1].route);\r\n uni.navigateTo({ url: '/pages/login/login' });\r\n resolve(false);\r\n }\r\n },\r\n fail: (err) => {\r\n console.error(\"获取用户信息失败\", err);\r\n uni.setStorageSync(\"lastPage\", getCurrentPages()[getCurrentPages().length - 1].route);\r\n uni.navigateTo({ url: '/pages/login/login' });\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport default VerifyLogin;\r\n"],"names":["uni"],"mappings":";;AAAA,SAAS,cAAc;AACnB,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAEpCA,kBAAAA,MAAI,WAAW;AAAA,MACX,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AACd,YAAI,IAAI,MAAM;AACV,cAAI,IAAI,KAAK,UAAU;AACnB,oBAAQ,IAAI;AAAA,UACpC,OAA2B;AACHA,gCAAI,eAAe,YAAY,gBAAiB,EAAC,gBAAiB,EAAC,SAAS,CAAC,EAAE,KAAK;AACpFA,0BAAAA,MAAI,SAAS,EAAE,KAAK,yCAA0C,CAAA;AAC9D,oBAAQ,KAAK;AAAA,UAChB;AAAA,QACrB,OAAuB;AACHA,8BAAI,eAAe,YAAY,gBAAiB,EAAC,gBAAiB,EAAC,SAAS,CAAC,EAAE,KAAK;AACpFA,wBAAAA,MAAI,WAAW,EAAE,KAAK,qBAAsB,CAAA;AAC5C,kBAAQ,KAAK;AAAA,QAChB;AAAA,MACJ;AAAA,MACD,MAAM,CAAC,QAAQ;AACXA,sBAAA,MAAA,MAAA,SAAA,mCAAc,YAAY,GAAG;AAC7BA,4BAAI,eAAe,YAAY,gBAAiB,EAAC,gBAAiB,EAAC,SAAS,CAAC,EAAE,KAAK;AACpFA,sBAAAA,MAAI,WAAW,EAAE,KAAK,qBAAsB,CAAA;AAC5C,eAAO,GAAG;AAAA,MACb;AAAA,IACb,CAAS;AAAA,EACT,CAAK;AACL;;"}
{"version":3,"file":"VerifyLogin.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"Home.js","sources":["pages/Home/Home.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvSG9tZS9Ib21lLnZ1ZQ"],"sourcesContent":["<template>\r\n <view class=\"page\">\r\n <image src=\"../../static/HomeBackground.png\" class=\"HomeBackground\"></image>\r\n </view>\r\n <view class=\"top-navigation-container\">\r\n <top-navigation></top-navigation>\r\n </view>\r\n <view class=\"Advertisement\" @click=\"goAdvertisement\">\r\n <advertisement></advertisement>\r\n </view>\r\n <view class=\"contentList\">\r\n <contentList></contentList>\r\n </view>\r\n <view class=\"tabBar\">\r\n <tabBar></tabBar>\r\n </view>\r\n</template>\r\n\r\n<script>\r\nimport topNavigation from \"../../components/topNavigation/topNavigation\";\r\nimport Advertisement from \"../../components/Advertisement/Advertisement\";\r\nimport contentList from \"../../components/contentList/contentList\";\r\nimport tabBar from \"../../components/tabBar/tabBar\";\r\nexport default {\r\n inject: ['$global'],\r\n data() {\r\n return {};\r\n },\r\n onLoad() {\r\n // this.requestSomething();\r\n },\r\n methods: {\r\n goAdvertisement(){\r\n // this.$global.lastPage = getCurrentPages().router;\r\n uni.navigateTo({ url: '/pages/pkDetail/pkDetail' })\r\n }\r\n },\r\n components: {\r\n topNavigation,\r\n Advertisement,\r\n contentList,\r\n tabBar,\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.page {\r\n position: relative;\r\n width: 750rpx;\r\n height: 1620rpx;\r\n}\r\n\r\n.HomeBackground {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: -1;\r\n}\r\n.top-navigation-container {\r\n position: fixed;\r\n top: 160rpx;\r\n left: 0;\r\n width: 100%;\r\n height: 114.5rpx;\r\n}\r\n.Advertisement {\r\n position: fixed;\r\n top: 300rpx;\r\n left: 0;\r\n width: 100%;\r\n height: 100rpx;\r\n z-index: 100;\r\n}\r\n.contentList {\r\n position: fixed;\r\n top: 400rpx;\r\n left: 0;\r\n bottom: -30rpx;\r\n width: 100%;\r\n /* height: 1300rpx; */\r\n}\r\n</style>\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Home/Home.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni"],"mappings":";;;AAmBA,MAAO,gBAAe,MAAW;AACjC,MAAO,gBAAe,MAAW;AACjC,MAAO,cAAa,MAAW;AAC/B,eAAe,MAAW;AAC1B,MAAK,YAAU;AAAA,EACb,QAAQ,CAAC,SAAS;AAAA,EAClB,OAAO;AACL,WAAO;EACR;AAAA,EACD,SAAS;AAAA,EAER;AAAA,EACD,SAAS;AAAA,IACP,kBAAiB;AAEfA,oBAAAA,MAAI,WAAW,EAAE,KAAK,2BAAyB,CAAG;AAAA,IACpD;AAAA,EACD;AAAA,EACD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;AC1CA,GAAG,WAAW,eAAe;"}
{"version":3,"file":"Home.js","sources":["pages/Home/Home.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvSG9tZS9Ib21lLnZ1ZQ"],"sourcesContent":["<template>\r\n <view class=\"page\">\r\n <image src=\"../../static/HomeBackground.png\" class=\"HomeBackground\"></image>\r\n </view>\r\n <view class=\"top-navigation-container\">\r\n <top-navigation></top-navigation>\r\n </view>\r\n <view class=\"Advertisement\" @click=\"goAdvertisement\">\r\n <advertisement></advertisement>\r\n </view>\r\n <view class=\"contentList\">\r\n <contentList></contentList>\r\n </view>\r\n <view class=\"tabBar\">\r\n <tabBar></tabBar>\r\n </view>\r\n</template>\r\n\r\n<script>\r\nimport topNavigation from \"../../components/topNavigation/topNavigation\";\r\nimport Advertisement from \"../../components/Advertisement/Advertisement\";\r\nimport contentList from \"../../components/contentList/contentList\";\r\nimport tabBar from \"../../components/tabBar/tabBar\";\r\nimport TUIlogin from \"../../components/TUILogin.js\";\r\nimport TencentCloudChat from \"@tencentcloud/chat\";\r\nexport default {\r\n inject: [\"$global\"],\r\n data() {\r\n return {\r\n info: {},\r\n myuserSig: \"\",\r\n chatInfo: {},\r\n };\r\n },\r\n onLoad() {\r\n uni.getStorage({\r\n key: \"userinfo\",\r\n success: (res) => {\r\n this.info = res.data;\r\n uni.getStorage({\r\n key: \"myuserSig\",\r\n success: (res) => {\r\n this.myuserSig = res.data;\r\n uni.getStorage({\r\n key: \"chatInfo\",\r\n success: (res) => {\r\n this.chatInfo = res.data;\r\n TUIlogin(this.chatInfo.appId, this.info.id, this.myuserSig.userSig);\r\n // let options = {\r\n // SDKAppID: this.chatInfo.appId,\r\n // };\r\n // console.log(\"`````````````````````````````````````````\", this.chatInfo);\r\n // let chat = TencentCloudChat.create(options);\r\n // console.log(\"chat````````````````````````````````````````\", this.chat);\r\n // chat.login({ userID: String(this.info.id), userSig: this.myuserSig.userSig });\r\n },\r\n });\r\n },\r\n });\r\n },\r\n });\r\n },\r\n methods: {\r\n goAdvertisement() {\r\n // this.$global.lastPage = getCurrentPages().router;\r\n uni.navigateTo({ url: \"/pages/pkDetail/pkDetail\" });\r\n },\r\n },\r\n components: {\r\n topNavigation,\r\n Advertisement,\r\n contentList,\r\n tabBar,\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.page {\r\n position: relative;\r\n width: 750rpx;\r\n height: 1620rpx;\r\n}\r\n\r\n.HomeBackground {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: -1;\r\n}\r\n.top-navigation-container {\r\n position: fixed;\r\n top: 160rpx;\r\n left: 0;\r\n width: 100%;\r\n height: 114.5rpx;\r\n}\r\n.Advertisement {\r\n position: fixed;\r\n top: 300rpx;\r\n left: 0;\r\n width: 100%;\r\n height: 100rpx;\r\n z-index: 100;\r\n}\r\n.contentList {\r\n position: fixed;\r\n top: 400rpx;\r\n left: 0;\r\n bottom: -30rpx;\r\n width: 100%;\r\n /* height: 1300rpx; */\r\n}\r\n</style>\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Home/Home.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","res","TUIlogin"],"mappings":";;;;AAmBA,MAAO,gBAAe,MAAW;AACjC,MAAO,gBAAe,MAAW;AACjC,MAAO,cAAa,MAAW;AAC/B,eAAe,MAAW;AAG1B,MAAK,YAAU;AAAA,EACb,QAAQ,CAAC,SAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,MAAM,CAAE;AAAA,MACR,WAAW;AAAA,MACX,UAAU,CAAE;AAAA;EAEf;AAAA,EACD,SAAS;AACPA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,OAAO,IAAI;AAChBA,sBAAAA,MAAI,WAAW;AAAA,UACb,KAAK;AAAA,UACL,SAAS,CAACC,SAAQ;AAChB,iBAAK,YAAYA,KAAI;AACrBD,0BAAAA,MAAI,WAAW;AAAA,cACb,KAAK;AAAA,cACL,SAAS,CAACC,SAAQ;AAChB,qBAAK,WAAWA,KAAI;AACpBC,oCAAAA,SAAS,KAAK,SAAS,OAAO,KAAK,KAAK,IAAI,KAAK,UAAU,OAAO;AAAA,cAQnE;AAAA,YACH,CAAC;AAAA,UACF;AAAA,QACH,CAAC;AAAA,MACF;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,kBAAkB;AAEhBF,oBAAAA,MAAI,WAAW,EAAE,KAAK,2BAA4B,CAAA;AAAA,IACnD;AAAA,EACF;AAAA,EACD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;ACzEA,GAAG,WAAW,eAAe;"}

File diff suppressed because one or more lines are too long

View File

@@ -48,11 +48,11 @@ const _sfc_main = {
methods: {
gender(item) {
this.genders = item.value;
common_vendor.index.__f__("log", "at pages/NewAddedPk/NewAddedPk.vue:167", item);
common_vendor.index.__f__("log", "at pages/NewAddedPk/NewAddedPk.vue:168", item);
},
country(item) {
this.countrys = item.value;
common_vendor.index.__f__("log", "at pages/NewAddedPk/NewAddedPk.vue:172", item);
common_vendor.index.__f__("log", "at pages/NewAddedPk/NewAddedPk.vue:173", item);
},
handleOverlayClick(event) {
if (event.target === this.$el) {
@@ -214,6 +214,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
w: common_vendor.o$1(($event) => $data.datetimesingle = $event),
x: common_vendor.p({
type: "datetime",
["hide-second"]: "true",
modelValue: $data.datetimesingle
}),
y: $data.datetimesingle === "" && $data.Hint === true

View File

@@ -28,27 +28,6 @@ const _sfc_main = {
};
},
onLoad(option) {
common_vendor.index.getStorage({
key: "userinfo",
success: (res) => {
this.info = res.data;
}
});
common_vendor.index.getStorage({
key: "userSig",
success: (res) => {
this.userSig = res.data;
}
});
common_vendor.index.getStorage({
key: "chatInfo",
success: (res) => {
this.chatInfo = res.data;
}
});
if (this.userSig) {
TUIlogin(this.chatInfo.appId, this.info.userChatId, this.userSig);
}
},
provide() {
return {

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,13 @@
"use strict";
function TimeFormatting(timestamp) {
const date = new Date(timestamp * 1e3);
date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
const hour = String(date.getHours()).padStart(2, "0");
const minute = String(date.getMinutes()).padStart(2, "0");
String(date.getSeconds()).padStart(2, "0");
return `${month}-${day} ${hour}:${minute}`;
}
exports.TimeFormatting = TimeFormatting;
//# sourceMappingURL=../../.sourcemap/mp-weixin/components/TimeFormatting.js.map

View File

@@ -1,32 +0,0 @@
"use strict";
const common_vendor = require("../common/vendor.js");
function VerifyLogin() {
return new Promise((resolve, reject) => {
common_vendor.index.getStorage({
key: "userinfo",
success: (res) => {
if (res.data) {
if (res.data.nickName) {
resolve(true);
} else {
common_vendor.index.setStorageSync("lastPage", getCurrentPages()[getCurrentPages().length - 1].route);
common_vendor.index.reLaunch({ url: "/pages/UserInformation/UserInformation" });
resolve(false);
}
} else {
common_vendor.index.setStorageSync("lastPage", getCurrentPages()[getCurrentPages().length - 1].route);
common_vendor.index.navigateTo({ url: "/pages/login/login" });
resolve(false);
}
},
fail: (err) => {
common_vendor.index.__f__("error", "at components/VerifyLogin.js:22", "获取用户信息失败", err);
common_vendor.index.setStorageSync("lastPage", getCurrentPages()[getCurrentPages().length - 1].route);
common_vendor.index.navigateTo({ url: "/pages/login/login" });
reject(err);
}
});
});
}
exports.VerifyLogin = VerifyLogin;
//# sourceMappingURL=../../.sourcemap/mp-weixin/components/VerifyLogin.js.map

View File

@@ -11,8 +11,10 @@ const _sfc_main = {
//页码
size: 10,
//每页条数
list: []
list: [],
// 列表数据
detailsdata: {}
//详情数据
};
},
mounted() {
@@ -24,15 +26,46 @@ const _sfc_main = {
this.list = [];
this.pkList();
},
goDetail(item) {
common_vendor.index.navigateTo({
url: "/pages/pkDetail/pkDetail",
success: function(res) {
res.eventChannel.emit("itemDetail", {
item
});
}
async goDetail(item) {
common_vendor.index.showLoading({
title: "加载中...",
mask: true
});
common_vendor.index.__f__("log", "at components/contentList/contentList.vue:75", "id", item.id);
const res = await components_request.request({
url: "pk/pkInfoDetail",
method: "POST",
data: {
id: item.id
},
userInfo: true
});
common_vendor.index.__f__("log", "at components/contentList/contentList.vue:84", "res", res);
this.detailsdata = res.data;
if (res.code === 200) {
if (res.data.length !== 0) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("log", "at components/contentList/contentList.vue:89", "res.data", res.data);
common_vendor.index.navigateTo({
url: "/pages/pkDetail/pkDetail",
success: (res2) => {
res2.eventChannel.emit("itemDetail", {
item: this.detailsdata
});
}
});
} else {
common_vendor.index.hideLoading();
this.openPopupQuantity();
}
} else {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: "加载失败",
icon: "none",
duration: 2e3
});
}
},
formatDate: components_formatDate.formatDate,
async pkList() {
@@ -46,10 +79,10 @@ const _sfc_main = {
},
userInfo: false
});
common_vendor.index.__f__("log", "at components/contentList/contentList.vue:71", res);
common_vendor.index.__f__("log", "at components/contentList/contentList.vue:123", res);
if (res.code === 200) {
this.list.push(...res.data);
common_vendor.index.__f__("log", "at components/contentList/contentList.vue:74", this.list);
common_vendor.index.__f__("log", "at components/contentList/contentList.vue:126", this.list);
}
},
onScrollToLower() {

View File

@@ -42,18 +42,18 @@
color: #ffffff;
font-size: 14rpx;
}
.Gendermale.data-v-4813d59a{
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAfCAYAAABZGLWTAAAAAXNSR0IArs4c6QAAAilJREFUWEftWTtPFFEU/r6ZJUuJiSQujwKRCfQkttJobJRY6Ax/ABNNKGiBAmwtTNZk9w+40BCtiDZYSmI/kxmFAmGNkIgdhFmPuUPW7C6vWVZ3ZhimnfP6zr3ncc8hQnz3PS/b5eOuAPcAGQV5EyLXSGZCsP9TEhHxQf6EyDrAz2Dlwy9df78yNHRwniKeRTC+sdHVeXA4TfApgOvnCYvw/65ACvvZjpdvBwb2TrPjVLCPbdfSyFcEuiME0ZRqAXYoMlUaMUonMR4De2d1NZPL9eYBTjalKVbEUiyXt55/HBvza82qA6uA3ujpX6LIo1jZfgFjhFz+vr35pBZwHVjLdgtgkk+00StSLA0bKt8E31+wKkZ18s0FnBhvFpGJagwHYI+yru8mKRmF9bBKWvvZjKGydADWdL7MEzIbVkDS6ETjwqJxa45Bw1DBt5jX0Vb9u7uno4+m4zwg9HetSos7v6DykKbt5Uk8i7uxrdongtcK7CcSt1sVFnt+wRpNx/txGbPwsYqrWknT8Q4JtP310u6bIIBPy/Gk3Yqj0peuk01XzKYkG0uQjVNVZ9PUQaWqNz569bgLBGeiKgn/W69AXiwOG7Ppe88qz1q2a+EyTio0baJkDAbTxvoZlOMWkj1VDDmDUmSpmi5WAedy/XlAEjw3ZrFc3jx7blx7CSz7qyX8nayNALFDalPVGG281Fe7nkaP1G/xMAoiui0exAfUFg/rAJra4v0Bqcv8upqc0XEAAAAASUVORK5CYII=) no-repeat center;
width: 56.3rpx;
.Gendermale.data-v-4813d59a {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAfCAYAAABZGLWTAAAAAXNSR0IArs4c6QAAAilJREFUWEftWTtPFFEU/r6ZJUuJiSQujwKRCfQkttJobJRY6Ax/ABNNKGiBAmwtTNZk9w+40BCtiDZYSmI/kxmFAmGNkIgdhFmPuUPW7C6vWVZ3ZhimnfP6zr3ncc8hQnz3PS/b5eOuAPcAGQV5EyLXSGZCsP9TEhHxQf6EyDrAz2Dlwy9df78yNHRwniKeRTC+sdHVeXA4TfApgOvnCYvw/65ACvvZjpdvBwb2TrPjVLCPbdfSyFcEuiME0ZRqAXYoMlUaMUonMR4De2d1NZPL9eYBTjalKVbEUiyXt55/HBvza82qA6uA3ujpX6LIo1jZfgFjhFz+vr35pBZwHVjLdgtgkk+00StSLA0bKt8E31+wKkZ18s0FnBhvFpGJagwHYI+yru8mKRmF9bBKWvvZjKGydADWdL7MEzIbVkDS6ETjwqJxa45Bw1DBt5jX0Vb9u7uno4+m4zwg9HetSos7v6DykKbt5Uk8i7uxrdongtcK7CcSt1sVFnt+wRpNx/txGbPwsYqrWknT8Q4JtP310u6bIIBPy/Gk3Yqj0peuk01XzKYkG0uQjVNVZ9PUQaWqNz569bgLBGeiKgn/W69AXiwOG7Ppe88qz1q2a+EyTio0baJkDAbTxvoZlOMWkj1VDDmDUmSpmi5WAedy/XlAEjw3ZrFc3jx7blx7CSz7qyX8nayNALFDalPVGG281Fe7nkaP1G/xMAoiui0exAfUFg/rAJra4v0Bqcv8upqc0XEAAAAASUVORK5CYII=) no-repeat center;
width: 56.3rpx;
height: 29.58rpx;
background-size: 100% 100%;
display: flex;
align-items: center;
margin-right: 10rpx;
}
.Genderfemale.data-v-4813d59a{
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAfCAYAAABZGLWTAAAAAXNSR0IArs4c6QAAAi1JREFUWEflWU1rE1EUPaeGFGEiCShIdVXQrZuCW1e6U3BT2j9gwSYTcZVi5WFlZlVMTIXkDyhuBJe66rKCm24rdCV+NIWUZEBb41yZ0ZYk9mMyETLPN9u5575z7nv3fdxLRPg+5PPjExdw3fd5Q8ApUiYB5gCkIsD/tUkHkKYINwl5L/Dffv3MN5eq1d2TBuJxBqKKWS8t90HMATh7krMR/t+GoGbtcZmqvHMUjyPFem5+RjBWAXBuhCIGHbpB+LZVqr44DPiXWFHXUl76ygqIO4OOlBh7Qd3aW5+nWu10c+oRK0qlvHTzJYjbiSEelwjxyvqem6ZSB4J7xLYcu0adZ7QvMCKon1moBPtN+B2I/ZOjz+MGMqk4wp/dz+FQbFMVs6lx2dBsM4oa30Znl5dzqrwTim27hUcAF6Oi9bOTpUzp6UMGF4bzE2MfE36ODhvf7S+f/ItsOfM3yVOvh/WWdLzIz1tsO4UVkHeTTnZofiLP2HLsNRJXh3aWcAcE3gUzuwVSpyth3LA22HbtHyN6vcQlHRfXCcRKXLRuONNmtrAFGJKzLddeI8zZjU06Zw26QRl1Nw5fPY69BOKBbkdJZL6Cx5mFyqJ579kgQv9vpYKzVqkcVht7alBtx65pXVXsX9eCeuawGlRgZ1R18bdgQ+rG3avAc4szAtGwI0B7P0f7V/XxvZ4nxaz3TaNez2ku816MXk93VLq7eCSnBJgEMMIuHpoENkUG6+L9AlWo7Kxo5cagAAAAAElFTkSuQmCC) no-repeat center;
width: 56.3rpx;
.Genderfemale.data-v-4813d59a {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAfCAYAAABZGLWTAAAAAXNSR0IArs4c6QAAAi1JREFUWEflWU1rE1EUPaeGFGEiCShIdVXQrZuCW1e6U3BT2j9gwSYTcZVi5WFlZlVMTIXkDyhuBJe66rKCm24rdCV+NIWUZEBb41yZ0ZYk9mMyETLPN9u5575z7nv3fdxLRPg+5PPjExdw3fd5Q8ApUiYB5gCkIsD/tUkHkKYINwl5L/Dffv3MN5eq1d2TBuJxBqKKWS8t90HMATh7krMR/t+GoGbtcZmqvHMUjyPFem5+RjBWAXBuhCIGHbpB+LZVqr44DPiXWFHXUl76ygqIO4OOlBh7Qd3aW5+nWu10c+oRK0qlvHTzJYjbiSEelwjxyvqem6ZSB4J7xLYcu0adZ7QvMCKon1moBPtN+B2I/ZOjz+MGMqk4wp/dz+FQbFMVs6lx2dBsM4oa30Znl5dzqrwTim27hUcAF6Oi9bOTpUzp6UMGF4bzE2MfE36ODhvf7S+f/ItsOfM3yVOvh/WWdLzIz1tsO4UVkHeTTnZofiLP2HLsNRJXh3aWcAcE3gUzuwVSpyth3LA22HbtHyN6vcQlHRfXCcRKXLRuONNmtrAFGJKzLddeI8zZjU06Zw26QRl1Nw5fPY69BOKBbkdJZL6Cx5mFyqJ579kgQv9vpYKzVqkcVht7alBtx65pXVXsX9eCeuawGlRgZ1R18bdgQ+rG3avAc4szAtGwI0B7P0f7V/XxvZ4nxaz3TaNez2ku816MXk93VLq7eCSnBJgEMMIuHpoENkUG6+L9AlWo7Kxo5cagAAAAAElFTkSuQmCC) no-repeat center;
width: 56.3rpx;
height: 29.58rpx;
background-size: 100% 100%;
display: flex;

View File

@@ -1,5 +1,6 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const components_TUILogin = require("../../components/TUILogin.js");
const common_assets = require("../../common/assets.js");
const topNavigation = () => "../../components/topNavigation/topNavigation.js";
const Advertisement = () => "../../components/Advertisement/Advertisement.js";
@@ -8,9 +9,32 @@ const tabBar = () => "../../components/tabBar/tabBar.js";
const _sfc_main = {
inject: ["$global"],
data() {
return {};
return {
info: {},
myuserSig: "",
chatInfo: {}
};
},
onLoad() {
common_vendor.index.getStorage({
key: "userinfo",
success: (res) => {
this.info = res.data;
common_vendor.index.getStorage({
key: "myuserSig",
success: (res2) => {
this.myuserSig = res2.data;
common_vendor.index.getStorage({
key: "chatInfo",
success: (res3) => {
this.chatInfo = res3.data;
components_TUILogin.TUIlogin(this.chatInfo.appId, this.info.id, this.myuserSig.userSig);
}
});
}
});
}
});
},
methods: {
goAdvertisement() {

View File

@@ -1,8 +1,10 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const components_formatDate = require("../../components/formatDate.js");
const components_VerifyLogin = require("../../components/VerifyLogin.js");
const components_TimeFormatting = require("../../components/TimeFormatting.js");
const components_request = require("../../components/request.js");
const TUIKit_components_TUIChat_utils_utils = require("../../TUIKit/components/TUIChat/utils/utils.js");
const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../../TUIKit/components/TUIChat/offlinePushInfoManager/index.js");
const common_assets = require("../../common/assets.js");
const NewAddedPk = () => "../NewAddedPk/NewAddedPk2.js";
const _sfc_main = {
@@ -10,14 +12,19 @@ const _sfc_main = {
return {
item: {},
id: 0,
list: []
InvitingPartyEventID: null,
list: [],
selectedId: null,
InvitingPartyEventindex: null,
chatInfo: {},
currentConversation: null
};
},
onLoad(options) {
const eventChannel = this.getOpenerEventChannel();
eventChannel.on("itemDetail", (data) => {
this.item = data.item;
common_vendor.index.__f__("log", "at pages/pkDetail/pkDetail.vue:79", "接收到的数据:", this.item);
common_vendor.index.__f__("log", "at pages/pkDetail/pkDetail.vue:105", "接收到的数据:", this.item);
});
common_vendor.index.getStorage({
key: "userinfo",
@@ -25,9 +32,27 @@ const _sfc_main = {
this.id = res.data.id;
}
});
common_vendor.index.getStorage({
key: "chatInfo",
success: (res) => {
this.chatInfo = res.data;
}
});
},
methods: {
formatDate: components_formatDate.formatDate,
TimeFormatting: components_TimeFormatting.TimeFormatting,
Select(id, index) {
if (this.selectedId === id) {
this.selectedId = null;
this.InvitingPartyEventID = null;
this.InvitingPartyEventindex = null;
} else {
this.selectedId = this.selectedId === id ? null : id;
this.InvitingPartyEventID = id;
this.InvitingPartyEventindex = index;
}
},
Returnfunc() {
common_vendor.index.navigateBack({
delta: 1
@@ -38,16 +63,52 @@ const _sfc_main = {
this.userlist();
},
invite() {
var _a, _b;
if (this.item.pkTime !== this.list[this.InvitingPartyEventindex].pkTime) {
common_vendor.index.showToast({
icon: "none",
title: "请保持时间一致"
});
return;
}
const payload = {
data: JSON.stringify({
businessID: "pk",
title: "PK邀请",
buttonText1: "接受邀请",
buttonText2: "拒绝邀请"
}),
description: "邀请参加PK",
extension: "邀请参加PK"
};
common_vendor.Jt.watch(common_vendor.o.CONV, {
currentConversation: (conversation) => {
this.currentConversation = conversation;
}
});
const options = {
to: `C2C${this.list[this.InvitingPartyEventindex].senderId}`,
conversationType: (_b = (_a = this.currentConversation) == null ? void 0 : _a.value) == null ? void 0 : _b.type,
payload,
needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
};
const offlinePushInfoCreateParams = {
conversation: this.currentConversation,
payload: options.payload,
messageType: common_vendor.qt.TYPES.MSG_CUSTOM
};
const sendMessageOptions = {
offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams)
};
common_vendor.Qt.sendCustomMessage(options, sendMessageOptions);
},
close() {
this.$refs.popup.close();
},
openChat() {
components_VerifyLogin.VerifyLogin().then(() => {
const conversationID = `C2C${this.item.senderId}`;
common_vendor.index.redirectTo({
url: `/TUIKit/components/TUIChat/index?conversationID=${conversationID}`
});
const conversationID = `C2C${this.item.senderId}`;
common_vendor.index.redirectTo({
url: `/TUIKit/components/TUIChat/index?conversationID=${conversationID}`
});
},
async userlist() {
@@ -56,7 +117,7 @@ const _sfc_main = {
mask: true
});
const res = await components_request.request({
url: "pk/queryMyPkData",
url: "pk/queryMyCanUsePkData",
method: "POST",
data: {
userId: this.id
@@ -66,7 +127,7 @@ const _sfc_main = {
if (res.code === 200) {
if (res.data.length !== 0) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("log", "at pages/pkDetail/pkDetail.vue:133", "res.data", res.data);
common_vendor.index.__f__("log", "at pages/pkDetail/pkDetail.vue:214", "res.data", res.data);
this.list = res.data;
} else {
common_vendor.index.hideLoading();
@@ -112,7 +173,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
j: common_vendor.o$1(($event) => $options.openChat()),
k: common_vendor.o$1(($event) => $options.open()),
l: common_vendor.f($data.list, (item, index, i0) => {
return {};
return {
a: item.anchorIcon,
b: common_vendor.t(item.anchorId),
c: common_vendor.t($options.TimeFormatting(item.pkTime)),
d: common_vendor.t(item.coin),
e: common_vendor.o$1(($event) => $options.Select(item.id, index)),
f: $data.selectedId === item.id ? "2px solid red" : "2px solid #afafaf"
};
}),
m: common_vendor.o$1(($event) => $options.invite()),
n: common_vendor.o$1(($event) => $options.close()),

View File

@@ -1,7 +1,7 @@
{
"navigationBarTitleText": "PK详情",
"usingComponents": {
"new-added-pk": "../NewAddedPk/NewAddedPk",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup",
"new-added-pk": "../NewAddedPk/NewAddedPk"
}
}

View File

@@ -1 +1 @@
<view class="Navigation data-v-9639f721"><image src="{{a}}" mode="scaleToFill" class="Navigationimg data-v-9639f721"/><image bindtap="{{b}}" src="{{c}}" mode="scaleToFill" class="Return data-v-9639f721"/></view><view class="container data-v-9639f721"><view class="individual data-v-9639f721"><view class="anchor data-v-9639f721"></view><view class="data-v-9639f721"><view class="data-v-9639f721">主播名称{{d}}</view><view class="data-v-9639f721">主播性别{{e}}</view><view class="data-v-9639f721"> 国家{{f}}</view></view></view><view class="data-v-9639f721">金币{{g}}</view><view class="data-v-9639f721">PK时间{{h}}</view><view class="data-v-9639f721">主播备注{{i}}</view><button class="data-v-9639f721" bindtap="{{j}}">聊了个天</button><button class="data-v-9639f721" bindtap="{{k}}">立即邀请PK</button></view><uni-popup wx:if="{{p}}" class="r data-v-9639f721" u-s="{{['d']}}" u-r="popup" u-i="9639f721-0" bind:__l="__l" u-p="{{p}}"><view class="popup-content data-v-9639f721"><view class="popup-title data-v-9639f721"><scroll-view scroll-y="true" class="scroll data-v-9639f721"><view wx:for="{{l}}" wx:for-item="item" class="card data-v-9639f721"><view class="card-content data-v-9639f721"></view></view></scroll-view></view><view class="popup-btn data-v-9639f721"><button class="invite data-v-9639f721" type="primary" bindtap="{{m}}">邀请</button><button class="cancel data-v-9639f721" type="default" bindtap="{{n}}">取消</button></view></view></uni-popup><new-added-pk class="createModule r data-v-9639f721" u-r="createModule" u-i="9639f721-1" bind:__l="__l"></new-added-pk>
<view class="Navigation data-v-9639f721"><image src="{{a}}" mode="scaleToFill" class="Navigationimg data-v-9639f721"/><image bindtap="{{b}}" src="{{c}}" mode="scaleToFill" class="Return data-v-9639f721"/></view><view class="container data-v-9639f721"><view class="individual data-v-9639f721"><view class="anchor data-v-9639f721"></view><view class="data-v-9639f721"><view class="data-v-9639f721">主播名称{{d}}</view><view class="data-v-9639f721">主播性别{{e}}</view><view class="data-v-9639f721"> 国家{{f}}</view></view></view><view class="data-v-9639f721">金币{{g}}</view><view class="data-v-9639f721">PK时间{{h}}</view><view class="data-v-9639f721">主播备注{{i}}</view><button class="data-v-9639f721" bindtap="{{j}}">聊了个天</button><button class="data-v-9639f721" bindtap="{{k}}">立即邀请PK</button></view><uni-popup wx:if="{{p}}" class="r data-v-9639f721" u-s="{{['d']}}" u-r="popup" u-i="9639f721-0" bind:__l="__l" u-p="{{p}}"><view class="popup-content data-v-9639f721"><view class="popup-title data-v-9639f721"><scroll-view scroll-y="true" class="scroll data-v-9639f721"><view wx:for="{{l}}" wx:for-item="item" class="card data-v-9639f721"><view class="card-content data-v-9639f721" bindtap="{{item.e}}" style="{{'border:' + item.f}}"><image class="avatar data-v-9639f721" src="{{item.a}}" mode="scaleToFill"/><view class="NameMoney data-v-9639f721"><view class="NameMoney_Name data-v-9639f721">{{item.b}}</view><view class="TimeMoney data-v-9639f721"><view class="data-v-9639f721">{{item.c}}</view><view class="data-v-9639f721">金币:{{item.d}}</view></view></view></view></view></scroll-view></view><view class="popup-btn data-v-9639f721"><button class="invite data-v-9639f721" type="primary" bindtap="{{m}}">邀请</button><button class="cancel data-v-9639f721" type="default" bindtap="{{n}}">取消</button></view></view></uni-popup><new-added-pk class="createModule r data-v-9639f721" u-r="createModule" u-i="9639f721-1" bind:__l="__l"></new-added-pk>

View File

@@ -75,12 +75,8 @@
.scroll.data-v-9639f721 {
width: 470rpx;
height: 500rpx;
border: 1px solid #afafaf;
border: 2px solid #afafaf;
border-radius: 10px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.card.data-v-9639f721 {
margin-top: 10rpx;
@@ -88,14 +84,34 @@
}
.card-content.data-v-9639f721 {
width: 445rpx;
height: 70rpx;
border: 1px solid #afafaf;
height: 75rpx;
/* border: 2px solid #afafaf; */
border-radius: 10px;
display: flex;
font-size: 28rpx;
color: rgb(127, 127, 127);
}
.createModule.data-v-9639f721{
position: fixed;
bottom: 0;
right: 0;
z-index: 998;
width: 100vw;
.createModule.data-v-9639f721 {
position: fixed;
bottom: 0;
right: 0;
z-index: 998;
width: 100vw;
}
.avatar.data-v-9639f721 {
width: 60rpx;
height: 60rpx;
border-radius: 50%;
}
.TimeMoney.data-v-9639f721 {
width: 300rpx;
display: flex;
justify-content: space-between;
}
.NameMoney.data-v-9639f721 {
display: flex;
flex-direction: column;
}
.NameMoney_Name.data-v-9639f721 {
text-align: left;
}