Files
im-uniapp/pages/profile/about/index.vue
2025-07-04 16:18:58 +08:00

145 lines
3.0 KiB
Vue

<template>
<view class="page_container">
<custom-nav-bar title="关于我们" />
<view class="logo_area">
<image src="@/static/images/about_logo.png" mode=""></image>
<view>{{ v }}</view>
<info-item
@click="show = true"
class="check"
title="上传调试日志"
content=""
/>
<u-modal showCancelButton :show="show" title="上传日志" @confirm="uploadLog" @cancel="show = false" >
<view class="slot-content">
<u--input
placeholder="日志数量"
border="surround"
v-model="line"
></u--input>
</view>
</u-modal>
</view>
</view>
</template>
<script>
import IMSDK from "openim-uniapp-polyfill";
import { version } from '@/common/config'
import CustomNavBar from "@/components/CustomNavBar/index.vue";
import { PageEvents } from "@/constant";
import InfoItem from "../selfInfo/InfoItem.vue";
export default {
components: {
CustomNavBar,
InfoItem,
},
data() {
return {
show: false,
line: 10000,
version: "",
loading: false,
};
},
computed: {
v(){
return version
}
},
onLoad() {
this.getAppVersion();
uni.$on(PageEvents.CheckForUpdateResp, this.checkRespHandler);
},
onUnload() {
uni.$off(PageEvents.CheckForUpdateResp, this.checkRespHandler);
},
mounted() {
IMSDK.subscribe('uploadLogsProgress', this.uploadHandler);
},
beforeDestroy() {
IMSDK.unsubscribe('uploadLogsProgress', this.uploadHandler);
},
methods: {
uploadLog() {
this.show = false
IMSDK.asyncApi(
'uploadLogs',
IMSDK.uuid(),
{
line: this.line,
ex: ""
}
)
uni.showLoading({
title: '上传中',
mask: true,
});
},
uploadHandler({
data: { current, size },
}) {
console.log('uploadHandler',current,size)
if (current >= size) {
uni.hideLoading();
uni.showToast({
title: "上传成功",
icon: "none",
});
return;
}
},
getAppVersion() {
plus.runtime.getProperty(
plus.runtime.appid,
({ version }) => (this.appVersion = version),
);
},
updateCheck() {
this.loading = true;
uni.$emit(PageEvents.CheckForUpdate, true);
},
checkRespHandler() {
this.loading = false;
},
},
};
</script>
<style lang="scss">
.page_container {
background-color: #f8f8f8;
.logo_area {
display: flex;
flex-direction: column;
align-items: center;
margin: 24rpx 24rpx 0 24rpx;
background: #fff;
border-radius: 6px;
padding: 48rpx 0 16rpx 0;
color: $uni-text-color;
image {
width: 72px;
height: 72px;
margin-bottom: 24rpx;
}
}
.check {
margin-top: 26rpx;
border-top: 1px #e8eaef solid;
padding: 20rpx;
padding-bottom: 0;
width: 90%;
}
.btn_row {
padding: 0 44rpx;
}
}
</style>