|
|
@@ -167,6 +167,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import { BrandColors } from '../../utils/brand-colors.js'
|
|
|
import {
|
|
|
getFamilyMemberList,
|
|
|
switchToFamilyMember,
|
|
|
@@ -588,8 +589,8 @@ export default {
|
|
|
var ctx = uni.createCanvasContext(canvasId, self)
|
|
|
// 暖橙渐变背景
|
|
|
var bgGrad = ctx.createLinearGradient(0, 0, W * 0.6, H)
|
|
|
- bgGrad.addColorStop(0, '#FF8C42')
|
|
|
- bgGrad.addColorStop(1, '#FFB366')
|
|
|
+ bgGrad.addColorStop(0, CANVAS_COLORS.gradStart)
|
|
|
+ bgGrad.addColorStop(1, CANVAS_COLORS.gradEnd)
|
|
|
ctx.setFillStyle(bgGrad)
|
|
|
ctx.fillRect(0, 0, W, H)
|
|
|
// 白色内容卡片
|
|
|
@@ -597,7 +598,7 @@ export default {
|
|
|
ctx.setFillStyle('rgba(0,0,0,0.04)')
|
|
|
roundRect(ctx, cx + 2, cy + 4, cw, ch, cr)
|
|
|
ctx.fill()
|
|
|
- ctx.setFillStyle('#FFFCF5')
|
|
|
+ ctx.setFillStyle(CANVAS_COLORS.cardFace)
|
|
|
roundRect(ctx, cx, cy, cw, ch, cr)
|
|
|
ctx.fill()
|
|
|
// 四角装饰框
|
|
|
@@ -610,7 +611,7 @@ export default {
|
|
|
ctx.beginPath(); ctx.moveTo(cx+cw-br-bl, cy+ch-br); ctx.lineTo(cx+cw-br, cy+ch-br); ctx.lineTo(cx+cw-br, cy+ch-br-bl); ctx.stroke()
|
|
|
// 主文案
|
|
|
var title = '邀请你加入「' + (self.familyName || '我的家庭') + '」'
|
|
|
- ctx.setFillStyle('#C2410C')
|
|
|
+ ctx.setFillStyle(CANVAS_COLORS.cardInk)
|
|
|
ctx.setFontSize(26)
|
|
|
ctx.setTextAlign('center')
|
|
|
ctx.setTextBaseline('top')
|
|
|
@@ -633,14 +634,14 @@ export default {
|
|
|
ctx.save()
|
|
|
ctx.beginPath()
|
|
|
ctx.arc(ax, avatarY, avatarR, 0, 2 * Math.PI)
|
|
|
- ctx.setFillStyle('#FFF0E0')
|
|
|
+ ctx.setFillStyle(CANVAS_COLORS.cardFaceAlt)
|
|
|
ctx.fill()
|
|
|
ctx.restore()
|
|
|
ctx.save()
|
|
|
ctx.beginPath()
|
|
|
ctx.arc(ax, avatarY, avatarR, 0, 2 * Math.PI)
|
|
|
ctx.clip()
|
|
|
- ctx.setFillStyle('#FF8C42')
|
|
|
+ ctx.setFillStyle(CANVAS_COLORS.gradStart)
|
|
|
ctx.setFontSize(28)
|
|
|
ctx.setTextAlign('center')
|
|
|
ctx.setTextBaseline('middle')
|
|
|
@@ -648,7 +649,7 @@ export default {
|
|
|
ctx.restore()
|
|
|
}
|
|
|
// 成员数量
|
|
|
- ctx.setFillStyle('#999999')
|
|
|
+ ctx.setFillStyle(CANVAS_COLORS.hintText)
|
|
|
ctx.setFontSize(16)
|
|
|
ctx.setTextAlign('center')
|
|
|
ctx.fillText(members.length + ' 位家庭成员', W / 2, avatarY + avatarR + 18)
|
|
|
@@ -657,12 +658,12 @@ export default {
|
|
|
var btnX = (W - btnW) / 2
|
|
|
var btnY = cy + ch - 70
|
|
|
var btnGrad = ctx.createLinearGradient(btnX, btnY, btnX + btnW, btnY)
|
|
|
- btnGrad.addColorStop(0, '#FF8C42')
|
|
|
- btnGrad.addColorStop(1, '#FFB366')
|
|
|
+ btnGrad.addColorStop(0, CANVAS_COLORS.btnStart)
|
|
|
+ btnGrad.addColorStop(1, CANVAS_COLORS.btnEnd)
|
|
|
ctx.setFillStyle(btnGrad)
|
|
|
roundRect(ctx, btnX, btnY, btnW, btnH, 26)
|
|
|
ctx.fill()
|
|
|
- ctx.setFillStyle('#FFFFFF')
|
|
|
+ ctx.setFillStyle(CANVAS_COLORS.btnInk)
|
|
|
ctx.setFontSize(20)
|
|
|
ctx.setTextAlign('center')
|
|
|
ctx.setTextBaseline('middle')
|
|
|
@@ -672,7 +673,7 @@ export default {
|
|
|
ctx.setFontSize(13)
|
|
|
ctx.fillText('浠艾福 · 家庭成长俱乐部', W / 2, H - 30)
|
|
|
// 五维点装饰
|
|
|
- var dotColors = ['#FF8C42', '#6366F1', '#F59E0B', '#10B981', '#FF6B9D']
|
|
|
+ var dotColors = CANVAS_COLORS.dotColors
|
|
|
var dotY = H - 16
|
|
|
for (var d = 0; d < dotColors.length; d++) {
|
|
|
ctx.setFillStyle(dotColors[d])
|
|
|
@@ -780,10 +781,25 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
+// ===== 家员管理页专属色阶(暖米卡片 + 紫罗兰 + Element UI 浅底;单页专用,约定见 uni.scss §14)=====
|
|
|
+$c-fam-page: #F5F0EB; // 页面底(暖灰米)
|
|
|
+$c-fam-card: #FFFCF5; // 卡片底(米白)
|
|
|
+$c-fam-line: #F0EAE2; // 暖分隔线
|
|
|
+$c-fam-tint: #FFF1E8; // 浅橙底
|
|
|
+$c-fam-violet-text: #6D28D9; // 紫罗兰文字
|
|
|
+$c-fam-violet-bg: #EDE9FE; // 紫罗兰底
|
|
|
+$c-fam-violet-line: #C7D2FE; // 紫罗兰深底(亲密条)
|
|
|
+$c-elm-info-bg: #f0f9ff; // Element UI 信息浅底
|
|
|
+$c-elm-info-bg-2: #EEF0FF; // Element UI 蓝浅底
|
|
|
+$c-elm-success-bg: #f0f9eb; // Element UI 成功浅底
|
|
|
+$c-elm-success-text: #67c23a; // Element UI 成功文字
|
|
|
+$c-elm-danger-bg: #fef0f0; // Element UI 危险浅底
|
|
|
+$c-elm-danger-text: #f56c6c; // Element UI 危险文字
|
|
|
+
|
|
|
.container {
|
|
|
padding: 30rpx 30rpx 140rpx;
|
|
|
min-height: 100vh;
|
|
|
- background: #F5F0EB;
|
|
|
+ background: $c-fam-page;
|
|
|
}
|
|
|
|
|
|
/* ===== 家庭信息头部 ===== */
|
|
|
@@ -834,7 +850,7 @@ export default {
|
|
|
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04);
|
|
|
}
|
|
|
.member-card:active {
|
|
|
- background: #FFFCF5;
|
|
|
+ background: $c-fam-card;
|
|
|
}
|
|
|
|
|
|
/* ===== 加入申请区块 ===== */
|
|
|
@@ -864,7 +880,7 @@ export default {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
padding: 16rpx 0;
|
|
|
- border-top: 1rpx solid #F0EAE2;
|
|
|
+ border-top: 1rpx solid $c-fam-line;
|
|
|
}
|
|
|
.jr-avatar {
|
|
|
width: 72rpx;
|
|
|
@@ -908,7 +924,7 @@ export default {
|
|
|
color: $app-surface;
|
|
|
}
|
|
|
.jr-reject {
|
|
|
- background: #FFF1E8;
|
|
|
+ background: $c-fam-tint;
|
|
|
color: $brand-primary-deep;
|
|
|
}
|
|
|
.member-avatar {
|
|
|
@@ -932,8 +948,8 @@ export default {
|
|
|
.member-admin-tag {
|
|
|
display: inline-block;
|
|
|
font-size: 20rpx;
|
|
|
- color: #6D28D9;
|
|
|
- background: #EDE9FE;
|
|
|
+ color: $c-fam-violet-text;
|
|
|
+ background: $c-fam-violet-bg;
|
|
|
padding: 2rpx 10rpx;
|
|
|
border-radius: 8rpx;
|
|
|
margin-top: 6rpx;
|
|
|
@@ -1146,7 +1162,7 @@ export default {
|
|
|
transition: width 0.3s ease;
|
|
|
}
|
|
|
.detail-score-bar-fill.trust { background: $status-success; }
|
|
|
-.detail-score-bar-fill.intimacy { background: #FF6B9D; }
|
|
|
+.detail-score-bar-fill.intimacy { background: $dim-mind; }
|
|
|
.detail-score-bar-fill.communication { background: $dim-wisdom; }
|
|
|
.detail-score-value {
|
|
|
width: 44rpx;
|
|
|
@@ -1259,8 +1275,8 @@ export default {
|
|
|
padding: 12rpx 0;
|
|
|
}
|
|
|
.perm-add-btn[disabled] {
|
|
|
- background: #C7D2FE;
|
|
|
- color: #EEF2FF;
|
|
|
+ background: $c-fam-violet-line;
|
|
|
+ color: $dim-wisdom-tint-2;
|
|
|
}
|
|
|
.detail-action-btn.action-perm {
|
|
|
background: $dim-wealth;
|
|
|
@@ -1286,15 +1302,15 @@ export default {
|
|
|
opacity: 0.8;
|
|
|
}
|
|
|
.action-switch {
|
|
|
- background: #f0f9ff;
|
|
|
+ background: $c-elm-info-bg;
|
|
|
color: $uni-info;
|
|
|
}
|
|
|
.action-edit {
|
|
|
- background: #f0f9eb;
|
|
|
- color: #67c23a;
|
|
|
+ background: $c-elm-success-bg;
|
|
|
+ color: $c-elm-success-text;
|
|
|
}
|
|
|
.action-questionnaire {
|
|
|
- background: #EEF0FF;
|
|
|
+ background: $c-elm-info-bg-2;
|
|
|
color: $dim-wisdom;
|
|
|
}
|
|
|
.action-interaction {
|
|
|
@@ -1302,8 +1318,8 @@ export default {
|
|
|
color: $brand-primary;
|
|
|
}
|
|
|
.action-kick {
|
|
|
- background: #fef0f0;
|
|
|
- color: #f56c6c;
|
|
|
+ background: $c-elm-danger-bg;
|
|
|
+ color: $c-elm-danger-text;
|
|
|
}
|
|
|
|
|
|
/* ===== 加载 ===== */
|