Files
yxe-mp/App.vue
T
2026-09-29 15:17:13 +08:00

128 lines
2.9 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<script>
import {saveShareUserIdFromQuery} from "@/util/user";
const syncShareUserId = (options = {}) => {
const query = options && options.query ? options.query : {}
saveShareUserIdFromQuery(query)
}
export default {
onLaunch: function (options) {
console.log('App Launch')
syncShareUserId(options)
},
onShow: function (options) {
console.log('App Show')
syncShareUserId(options)
},
onHide: function () {
console.log('App Hide')
}
}
</script>
<style lang="scss">
@import "@/uni_modules/uview-ui/index.scss";
/* 全局主题与二/三级页面继承规则 */
page {
background: #f4f7fb;
color: #0f2f52;
font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif;
}
:root,
page {
--brand-primary: #2fc6a7;
--brand-primary-soft: #a1ded0;
--brand-accent: #a1ded0;
--brand-warm: #ff8354;
--brand-warm-soft: #f6a789;
--text-main: #0f2f52;
--text-sub: #5c6c84;
--line-color: #a1ded0;
--bg-soft: #a1ded0;
--card-radius: 18rpx;
--shadow-card: 0 8rpx 24rpx rgba(37, 99, 235, 0.08);
}
/* 二/三级页面继承标准:
1) 顶部使用浅蓝背景或渐变条(.subpage-hero),保留 32rpx 圆角;
2) 主内容使用白底卡片(.card),间距 24rpx,圆角 18rpx,阴影 var(--shadow-card);
3) 分区标题统一使用 .section-title,左侧蓝色竖条强调;
4) 主按钮使用 .primary-btn,圆角 999rpx,强调主色渐变;
5) 辅助信息使用 #5c6c84 次级文字,底色 #f4f7fb; */
.card {
background: #ffffff;
border-radius: var(--card-radius);
box-shadow: var(--shadow-card);
padding: 24rpx;
}
.section-title {
display: flex;
align-items: center;
font-size: 32rpx;
color: var(--text-main);
gap: 12rpx;
margin-bottom: 18rpx;
}
.section-title::before {
//content: "";
//display: block;
//width: 10rpx;
//height: 34rpx;
//background: linear-gradient(180deg, var(--brand-primary), var(--brand-primary-soft));
//border-radius: 8rpx;
}
.primary-btn {
background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-soft));
color: #ffffff;
border-radius: 999rpx;
padding: 18rpx 32rpx;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}
.warn-btn {
background: linear-gradient(135deg, var(--brand-warm), var(--brand-warm-soft));
color: #ffffff;
border-radius: 999rpx;
padding: 18rpx 32rpx;
text-align: center;
}
.subpage-hero {
background: #2563eb;
border-radius: 0 0 32rpx 32rpx;
padding: 32rpx 32rpx 24rpx 32rpx;
color: white !important;
}
.badge {
display: inline-flex;
align-items: center;
padding: 8rpx 16rpx;
border-radius: 999rpx;
font-size: 22rpx;
color: #0f2f52;
background: #e3ebff;
}
.chip {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 10rpx 18rpx;
border-radius: 999rpx;
font-size: 24rpx;
color: var(--brand-primary);
background: #ecfdf5;
border: 1rpx solid var(--brand-primary);
}
</style>