392 lines
5.1 KiB
Vue
392 lines
5.1 KiB
Vue
<script>
|
||
import useAccountStore from "@/store/account.js";
|
||
import { globalTimChatManager } from "@/utils/tim-chat.js";
|
||
|
||
export default {
|
||
onLaunch: function () {
|
||
// 需在 pinia 安装后再获取 store,避免 getActivePinia 报错
|
||
const { login } = useAccountStore();
|
||
login();
|
||
console.log("App Launch: ");
|
||
},
|
||
onShow: function () {
|
||
console.log("App Show");
|
||
},
|
||
onHide: function () {
|
||
console.log("App Hide");
|
||
// 小程序退出时退出腾讯IM登录
|
||
// try {
|
||
// if (globalTimChatManager && globalTimChatManager.tim) {
|
||
// console.log('小程序退出,开始退出腾讯IM');
|
||
// globalTimChatManager.destroy();
|
||
// console.log('腾讯IM退出成功');
|
||
// }
|
||
// } catch (error) {
|
||
// console.error('退出腾讯IM失败:', error);
|
||
// }
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
$primary-color: #0877F1;
|
||
|
||
page {
|
||
height: 100%;
|
||
background: #f5f5f5;
|
||
}
|
||
|
||
/* 全局按钮样式 - 使用项目主题色 */
|
||
button[type="primary"],
|
||
.button-primary,
|
||
uni-button[type="primary"] {
|
||
background-color: $primary-color !important;
|
||
border-color: $primary-color !important;
|
||
color: #fff !important;
|
||
}
|
||
|
||
button[type="primary"]:not([disabled]):active,
|
||
.button-primary:active,
|
||
uni-button[type="primary"]:not([disabled]):active {
|
||
background-color: darken($primary-color, 10%) !important;
|
||
border-color: darken($primary-color, 10%) !important;
|
||
}
|
||
|
||
/* 微信小程序按钮样式覆盖 */
|
||
.wx-button[type="primary"] {
|
||
background-color: $primary-color !important;
|
||
border-color: $primary-color !important;
|
||
color: #fff !important;
|
||
}
|
||
|
||
.shadow-up {
|
||
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px,
|
||
rgba(0, 0, 0, 0.1) 0px -10px 15px -3px, rgba(0, 0, 0, 0.1) 0px -4px 6px -4px;
|
||
}
|
||
|
||
.shadow-lg {
|
||
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
||
}
|
||
|
||
.relative {
|
||
position: relative;
|
||
}
|
||
.absolute{
|
||
position: absolute;
|
||
}
|
||
|
||
.inline-block {
|
||
display: inline-block;
|
||
}
|
||
|
||
.flex {
|
||
display: flex;
|
||
}
|
||
|
||
.flex-col {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.flex-wrap {
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.flex-grow {
|
||
flex-grow: 1;
|
||
}
|
||
|
||
.flex-shrink-0 {
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.items-center {
|
||
align-items: center;
|
||
}
|
||
|
||
.justify-center {
|
||
justify-content: center;
|
||
}
|
||
|
||
.justify-between {
|
||
justify-content: space-between;
|
||
}
|
||
|
||
.justify-around {
|
||
justify-content: space-around;
|
||
}
|
||
|
||
.justify-end {
|
||
justify-content: flex-end;
|
||
}
|
||
|
||
.bg-gray {
|
||
background: #f5f5f5;
|
||
}
|
||
|
||
.bg-primary {
|
||
background: $primary-color;
|
||
}
|
||
|
||
.bg-success {
|
||
background: green;
|
||
}
|
||
|
||
.bg-white {
|
||
background: #fff;
|
||
}
|
||
|
||
.bg-warning {
|
||
background: orange;
|
||
}
|
||
|
||
.bg-danger {
|
||
background: rgb(248 113 113);
|
||
}
|
||
|
||
.py-5 {
|
||
padding-top: 10rpx;
|
||
padding-bottom: 10rpx;
|
||
}
|
||
|
||
.p-15 {
|
||
padding: 30rpx;
|
||
}
|
||
|
||
.p-10 {
|
||
padding: 20rpx;
|
||
}
|
||
|
||
.px-5 {
|
||
padding-left: 10rpx;
|
||
padding-right: 10rpx;
|
||
}
|
||
|
||
.px-10 {
|
||
padding-left: 20rpx;
|
||
padding-right: 20rpx;
|
||
}
|
||
|
||
.px-12 {
|
||
padding-left: 24rpx;
|
||
padding-right: 24rpx;
|
||
}
|
||
|
||
.px-15 {
|
||
padding-left: 30rpx;
|
||
padding-right: 30rpx;
|
||
}
|
||
|
||
.pt-5 {
|
||
padding-top: 10rpx;
|
||
}
|
||
.pt-15 {
|
||
padding-top: 30rpx;
|
||
}
|
||
|
||
.break-all {
|
||
word-break: break-all;
|
||
}
|
||
|
||
.pb-5 {
|
||
padding-bottom: 10rpx;
|
||
}
|
||
|
||
.pb-10 {
|
||
padding-bottom: 20rpx;
|
||
}
|
||
|
||
.py-10 {
|
||
padding-top: 20rpx;
|
||
padding-bottom: 20rpx;
|
||
}
|
||
|
||
.py-12 {
|
||
padding-top: 24rpx;
|
||
padding-bottom: 24rpx;
|
||
}
|
||
|
||
.py-15 {
|
||
padding-top: 30rpx;
|
||
padding-bottom: 30rpx;
|
||
}
|
||
|
||
.mr-5 {
|
||
margin-right: 10rpx;
|
||
}
|
||
|
||
.mr-10 {
|
||
margin-right: 20rpx;
|
||
}
|
||
|
||
.ml-15 {
|
||
margin-left: 30rpx;
|
||
}
|
||
|
||
.mb-5 {
|
||
margin-bottom: 10rpx;
|
||
}
|
||
|
||
.mb-10 {
|
||
margin-bottom: 20rpx;
|
||
}
|
||
|
||
.mt-10 {
|
||
margin-top: 20rpx;
|
||
}
|
||
|
||
.mt-15 {
|
||
margin-top: 30rpx;
|
||
}
|
||
|
||
.mt-12 {
|
||
margin-top: 24rpx;
|
||
}
|
||
|
||
.mx-10 {
|
||
margin-left: 20rpx;
|
||
margin-right: 20rpx;
|
||
}
|
||
|
||
.mx-auto {
|
||
margin-left: auto;
|
||
margin-right: auto;
|
||
}
|
||
|
||
.rounded {
|
||
border-radius: 16rpx;
|
||
}
|
||
|
||
.rounded-sm {
|
||
border-radius: 8rpx;
|
||
}
|
||
|
||
.rounded-full {
|
||
border-radius: 999px;
|
||
}
|
||
|
||
.text-center {
|
||
text-align: center;
|
||
}
|
||
|
||
.text-right {
|
||
text-align: right;
|
||
}
|
||
|
||
.text-gray {
|
||
color: #999;
|
||
}
|
||
|
||
.text-black {
|
||
color: #000;
|
||
}
|
||
|
||
.text-dark {
|
||
color: #333;
|
||
}
|
||
|
||
.text-danger {
|
||
color: #f56c6c;
|
||
}
|
||
|
||
.text-primary {
|
||
color: $primary-color;
|
||
}
|
||
|
||
.text-success {
|
||
color: #67c23a;
|
||
}
|
||
|
||
.text-white {
|
||
color: #fff;
|
||
}
|
||
|
||
.text-warning {
|
||
color: #f56c6c;
|
||
}
|
||
|
||
.text-sm {
|
||
font-size: 24rpx;
|
||
}
|
||
|
||
.text-base {
|
||
font-size: 28rpx;
|
||
}
|
||
|
||
.text-lg {
|
||
font-size: 32rpx;
|
||
}
|
||
|
||
.text-xl {
|
||
font-size: 36rpx;
|
||
}
|
||
|
||
.leading-normal {
|
||
line-height: 1.5;
|
||
}
|
||
|
||
.border {
|
||
border: 1px solid #eee;
|
||
}
|
||
|
||
.border-dashed {
|
||
border: 1px dashed #eee;
|
||
}
|
||
|
||
.border-b {
|
||
border-bottom: 1px solid #eee;
|
||
}
|
||
|
||
.border-auto {
|
||
border: 1px solid;
|
||
}
|
||
|
||
.border-dashed-auto {
|
||
border: 1px dashed;
|
||
}
|
||
|
||
.border-primary {
|
||
border: 1px solid $primary-color;
|
||
}
|
||
|
||
.font-semibold {
|
||
font-weight: bold;
|
||
}
|
||
|
||
.truncate {
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.w-0 {
|
||
width: 0;
|
||
}
|
||
|
||
.w-full {
|
||
width: 100%;
|
||
}
|
||
|
||
.overflow-hidden {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.border-box {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.line-clamp-2 {
|
||
display: -webkit-box;
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 2;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.h-full {
|
||
height: 100%;
|
||
}
|
||
|
||
.safe-bottom-padding {
|
||
height: env(safe-area-inset-bottom);
|
||
}
|
||
</style>
|