128 lines
2.9 KiB
Vue
128 lines
2.9 KiB
Vue
<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>
|