修改配色,修改功能
This commit is contained in:
@@ -13,8 +13,9 @@
|
|||||||
"window": {
|
"window": {
|
||||||
"navigationBarTextStyle": "black",
|
"navigationBarTextStyle": "black",
|
||||||
"navigationBarTitleText": "道棋百宝箱",
|
"navigationBarTitleText": "道棋百宝箱",
|
||||||
"navigationBarBackgroundColor": "#ffffff"
|
"navigationBarBackgroundColor": "#EBF4F8"
|
||||||
},
|
},
|
||||||
"style": "v2",
|
"style": "v2",
|
||||||
"componentFramework": "glass-easel"
|
"componentFramework": "glass-easel",
|
||||||
|
"lazyCodeLoading": "requiredComponents"
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"navigationBarTitleText": "科学计算器",
|
"navigationBarTitleText": "科学计算器",
|
||||||
"navigationBarBackgroundColor": "#1c1c1e",
|
"navigationBarBackgroundColor": "#EBF4F8",
|
||||||
"navigationBarTextStyle": "white"
|
"navigationBarTextStyle": "black"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,9 +8,27 @@ Page({
|
|||||||
waitingForSecondOperand: false,
|
waitingForSecondOperand: false,
|
||||||
isScientific: false,
|
isScientific: false,
|
||||||
showHistory: false,
|
showHistory: false,
|
||||||
|
showHelp: false,
|
||||||
historyList: [] as Array<{expression: string, result: string}>
|
historyList: [] as Array<{expression: string, result: string}>
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onShareAppMessage() {
|
||||||
|
return {
|
||||||
|
title: '便捷好用的科学计算器',
|
||||||
|
path: '/pages/calculator/calculator'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onShareTimeline() {
|
||||||
|
return {
|
||||||
|
title: '便捷好用的科学计算器'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
toggleHelp() {
|
||||||
|
this.setData({ showHelp: !this.data.showHelp });
|
||||||
|
},
|
||||||
|
|
||||||
onLoad() {
|
onLoad() {
|
||||||
// 从本地存储恢复历史记录
|
// 从本地存储恢复历史记录
|
||||||
const saved = wx.getStorageSync('CALC_HISTORY');
|
const saved = wx.getStorageSync('CALC_HISTORY');
|
||||||
@@ -34,6 +52,15 @@ Page({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
switchMode(e: any) {
|
||||||
|
const mode = e.currentTarget.dataset.mode;
|
||||||
|
const isSci = (mode === 'scientific');
|
||||||
|
if (this.data.isScientific !== isSci) {
|
||||||
|
this.vibrate();
|
||||||
|
this.setData({ isScientific: isSci });
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
onDigit(e: any) {
|
onDigit(e: any) {
|
||||||
this.vibrate();
|
this.vibrate();
|
||||||
const digit = e.currentTarget.dataset.digit;
|
const digit = e.currentTarget.dataset.digit;
|
||||||
|
|||||||
@@ -1,5 +1,42 @@
|
|||||||
<!--pages/calculator/calculator.wxml-->
|
<!--pages/calculator/calculator.wxml-->
|
||||||
<view class="calculator-container">
|
<view class="calculator-container">
|
||||||
|
<!-- 帮助说明面板 -->
|
||||||
|
<view class="history-panel {{showHelp ? 'show' : ''}}" catchtouchmove="preventTouchMove" style="z-index: 200;">
|
||||||
|
<view class="history-mask" bindtap="toggleHelp"></view>
|
||||||
|
<view class="history-content help-content">
|
||||||
|
<view class="history-header">
|
||||||
|
<text class="history-title">使用说明</text>
|
||||||
|
<text class="history-clear" bindtap="toggleHelp">关闭</text>
|
||||||
|
</view>
|
||||||
|
<scroll-view scroll-y class="history-list help-list">
|
||||||
|
<view class="help-section">
|
||||||
|
<view class="help-item">
|
||||||
|
<text class="help-icon">⚗️</text>
|
||||||
|
<view class="help-text">
|
||||||
|
<text class="help-h1">科学模式</text>
|
||||||
|
<text class="help-p">点击左上角“科学”按钮切换模式,支持三角函数(sin, cos, tan)、对数(log, ln)、指数(x²)、开方(√)等高级运算。</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="help-item">
|
||||||
|
<text class="help-icon">🕐</text>
|
||||||
|
<view class="help-text">
|
||||||
|
<text class="help-h1">历史记录</text>
|
||||||
|
<text class="help-p">点击时钟图标查看过往计算记录,点击某条记录可将其结果填入当前计算。</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="help-item">
|
||||||
|
<text class="help-icon">📋</text>
|
||||||
|
<view class="help-text">
|
||||||
|
<text class="help-h1">复制结果</text>
|
||||||
|
<text class="help-p">点击剪贴板图标可将当前显示结果复制到系统剪贴板。</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<button class="share-btn-large" open-type="share">分享给好友</button>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- 历史记录面板 -->
|
<!-- 历史记录面板 -->
|
||||||
<view class="history-panel {{showHistory ? 'show' : ''}}" catchtouchmove="preventTouchMove">
|
<view class="history-panel {{showHistory ? 'show' : ''}}" catchtouchmove="preventTouchMove">
|
||||||
<view class="history-mask" bindtap="toggleHistory"></view>
|
<view class="history-mask" bindtap="toggleHistory"></view>
|
||||||
@@ -28,8 +65,9 @@
|
|||||||
<!-- 显示区域 -->
|
<!-- 显示区域 -->
|
||||||
<view class="display-area">
|
<view class="display-area">
|
||||||
<view class="display-top-bar">
|
<view class="display-top-bar">
|
||||||
<view class="mode-indicator" bindtap="toggleMode">
|
<view class="mode-indicator">
|
||||||
<text class="{{isScientific ? 'active' : ''}}">⚗️ 科学</text>
|
<text class="{{!isScientific ? 'active' : ''}}" bindtap="switchMode" data-mode="normal">常用</text>
|
||||||
|
<text class="{{isScientific ? 'active' : ''}}" bindtap="switchMode" data-mode="scientific">科学</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="top-actions">
|
<view class="top-actions">
|
||||||
<view class="action-btn" bindtap="toggleHistory" hover-class="action-btn-hover" hover-stay-time="100">
|
<view class="action-btn" bindtap="toggleHistory" hover-class="action-btn-hover" hover-stay-time="100">
|
||||||
@@ -38,6 +76,9 @@
|
|||||||
<view class="action-btn" bindtap="copyResult" hover-class="action-btn-hover" hover-stay-time="100">
|
<view class="action-btn" bindtap="copyResult" hover-class="action-btn-hover" hover-stay-time="100">
|
||||||
<text class="action-icon">📋</text>
|
<text class="action-icon">📋</text>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="action-btn" bindtap="toggleHelp" hover-class="action-btn-hover" hover-stay-time="100">
|
||||||
|
<text class="action-icon">❓</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="history-text">{{history}}</view>
|
<view class="history-text">{{history}}</view>
|
||||||
|
|||||||
@@ -38,42 +38,55 @@ page {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
z-index: 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-actions {
|
.top-actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 16rpx;
|
gap: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.action-btn {
|
.action-btn {
|
||||||
width: 64rpx;
|
width: 72rpx;
|
||||||
height: 64rpx;
|
height: 72rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: rgba(17, 97, 107, 0.1); /* Color 01 with opacity */
|
background: #ffffff;
|
||||||
|
box-shadow: 0 4rpx 12rpx rgba(17, 97, 107, 0.15); /* Teal shadow */
|
||||||
}
|
}
|
||||||
|
|
||||||
.action-icon {
|
.action-icon {
|
||||||
font-size: 30rpx;
|
font-size: 36rpx;
|
||||||
color: #11616B; /* Color 01 */
|
color: #11616B; /* Color 01 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 模式切换 */
|
/* 模式切换 */
|
||||||
|
.mode-indicator {
|
||||||
|
display: flex;
|
||||||
|
background: #ffffff;
|
||||||
|
padding: 6rpx;
|
||||||
|
border-radius: 16rpx; /* Reduced radius */
|
||||||
|
box-shadow: 0 4rpx 12rpx rgba(17, 97, 107, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
.mode-indicator text {
|
.mode-indicator text {
|
||||||
color: #7BBDB6; /* Color 02 text */
|
color: #7BBDB6; /* Color 02 */
|
||||||
font-size: 24rpx;
|
font-size: 26rpx;
|
||||||
padding: 10rpx 24rpx;
|
padding: 10rpx 30rpx;
|
||||||
border-radius: 30rpx;
|
border-radius: 12rpx; /* Reduced radius */
|
||||||
background: rgba(123, 189, 182, 0.2); /* Color 02 bg */
|
background: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
|
font-weight: 500;
|
||||||
|
transition: all 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mode-indicator text.active {
|
.mode-indicator text.active {
|
||||||
color: #11616B; /* Color 01 text */
|
color: #ffffff;
|
||||||
background: rgba(17, 97, 107, 0.15); /* Color 01 bg */
|
background: #11616B; /* Color 01 */
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
box-shadow: 0 2rpx 8rpx rgba(17, 97, 107, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 表达式行 */
|
/* 表达式行 */
|
||||||
@@ -260,7 +273,7 @@ page {
|
|||||||
position: relative;
|
position: relative;
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
background: #EBF4F8; /* Color 03 */
|
background: #EBF4F8; /* Color 03 */
|
||||||
border-radius: 0 0 36rpx 36rpx;
|
border-radius: 0 0 16rpx 16rpx; /* Reduced radius */
|
||||||
max-height: 70vh;
|
max-height: 70vh;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -306,25 +319,25 @@ page {
|
|||||||
|
|
||||||
.history-item {
|
.history-item {
|
||||||
padding: 28rpx 40rpx;
|
padding: 28rpx 40rpx;
|
||||||
border-bottom: 1rpx solid rgba(255,255,255,0.05);
|
border-bottom: 1rpx solid rgba(17, 97, 107, 0.08); /* Darker border for light bg */
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: flex-end;
|
align-items: flex-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
.history-item:active {
|
.history-item:active {
|
||||||
background: rgba(255,255,255,0.06);
|
background: rgba(17, 97, 107, 0.05); /* Dark interaction state */
|
||||||
}
|
}
|
||||||
|
|
||||||
.history-expr {
|
.history-expr {
|
||||||
color: rgba(255,255,255,0.45);
|
color: rgba(17, 97, 107, 0.6); /* Color 01 faded - Visible on light bg */
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
margin-bottom: 8rpx;
|
margin-bottom: 8rpx;
|
||||||
font-family: -apple-system, 'SF Pro Display', monospace;
|
font-family: -apple-system, 'SF Pro Display', monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
.history-result {
|
.history-result {
|
||||||
color: #ffffff;
|
color: #11616B; /* Color 01 - Visible High Contrast */
|
||||||
font-size: 42rpx;
|
font-size: 42rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-family: -apple-system, 'SF Pro Display', 'Helvetica Neue', sans-serif;
|
font-family: -apple-system, 'SF Pro Display', 'Helvetica Neue', sans-serif;
|
||||||
@@ -344,6 +357,67 @@ page {
|
|||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Help Panel Styles */
|
||||||
|
.help-list {
|
||||||
|
padding: 0; /* padding moved to inner section to avoid scroll-view width issues */
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-section {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 40rpx;
|
||||||
|
padding: 30rpx 40rpx 60rpx; /* Apply padding here */
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-item {
|
||||||
|
display: flex;
|
||||||
|
gap: 24rpx;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-icon {
|
||||||
|
font-size: 44rpx;
|
||||||
|
width: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 4rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-text {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-h1 {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #11616B; /* Color 01 */
|
||||||
|
margin-bottom: 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-p {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #2d3436;
|
||||||
|
line-height: 1.6;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-btn-large {
|
||||||
|
background-color: #11616B !important; /* Color 01 */
|
||||||
|
color: white !important;
|
||||||
|
border-radius: 16rpx !important; /* Unified radius */
|
||||||
|
font-size: 30rpx !important;
|
||||||
|
font-weight: 500 !important;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
width: 100% !important;
|
||||||
|
box-shadow: 0 8rpx 20rpx rgba(17, 97, 107, 0.25);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 24rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* ========== 小屏适配 ========== */
|
/* ========== 小屏适配 ========== */
|
||||||
@media (max-width: 360px) {
|
@media (max-width: 360px) {
|
||||||
.btn {
|
.btn {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"usingComponents": {},
|
"usingComponents": {},
|
||||||
"navigationBarTitleText": "日期计算与农历转换",
|
"navigationBarTitleText": "日期计算与农历转换",
|
||||||
"navigationBarBackgroundColor": "#f5f6fa",
|
"navigationBarBackgroundColor": "#EBF4F8",
|
||||||
"navigationBarTextStyle": "black"
|
"navigationBarTextStyle": "black"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,27 @@ Page({
|
|||||||
todayLunar: '',
|
todayLunar: '',
|
||||||
todayGanZhi: '',
|
todayGanZhi: '',
|
||||||
todayAnimal: '',
|
todayAnimal: '',
|
||||||
todayTerm: ''
|
todayTerm: '',
|
||||||
|
showHelp: false
|
||||||
|
},
|
||||||
|
|
||||||
|
onShareAppMessage() {
|
||||||
|
return {
|
||||||
|
title: '实用的日期推算与农历转换工具',
|
||||||
|
path: '/pages/date-calc/date-calc'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onShareTimeline() {
|
||||||
|
return {
|
||||||
|
title: '实用的日期推算与农历转换工具'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
toggleHelp() {
|
||||||
|
this.setData({
|
||||||
|
showHelp: !this.data.showHelp
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onLoad() {
|
onLoad() {
|
||||||
|
|||||||
@@ -1,11 +1,49 @@
|
|||||||
<!--pages/date-calc/date-calc.wxml-->
|
<!--pages/date-calc/date-calc.wxml-->
|
||||||
<view class="container">
|
<view class="container">
|
||||||
|
|
||||||
|
<!-- 帮助说明面板 -->
|
||||||
|
<view class="history-panel {{showHelp ? 'show' : ''}}" catchtouchmove="preventTouchMove" style="z-index: 200;">
|
||||||
|
<view class="history-mask" bindtap="toggleHelp"></view>
|
||||||
|
<view class="history-content help-content">
|
||||||
|
<view class="history-header">
|
||||||
|
<text class="history-title">功能说明</text>
|
||||||
|
<text class="history-clear" bindtap="toggleHelp">关闭</text>
|
||||||
|
</view>
|
||||||
|
<scroll-view scroll-y class="history-list help-list">
|
||||||
|
<view class="help-section">
|
||||||
|
<view class="help-item">
|
||||||
|
<text class="help-icon">📅</text>
|
||||||
|
<view class="help-text">
|
||||||
|
<text class="help-h1">日期推算</text>
|
||||||
|
<text class="help-p">设定一个开始日期,输入往后(+)或往前(-)推算的天数,即可计算出目标日期。底部提供常用快捷按钮。</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="help-item">
|
||||||
|
<text class="help-icon">⏳</text>
|
||||||
|
<view class="help-text">
|
||||||
|
<text class="help-h1">间隔计算</text>
|
||||||
|
<text class="help-p">选择两个日期,计算它们之间相差多少天,并自动换算为周数和月数。</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="help-item">
|
||||||
|
<text class="help-icon">🌙</text>
|
||||||
|
<view class="help-text">
|
||||||
|
<text class="help-h1">农历转换</text>
|
||||||
|
<text class="help-p">支持公历(阳历)与农历(阴历)互转,并显示干支纪年、生肖、节气等传统信息。</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<button class="share-btn-large" open-type="share">分享给好友</button>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- 顶部 Tab 切换 -->
|
<!-- 顶部 Tab 切换 -->
|
||||||
<view class="tab-header">
|
<view class="tab-header">
|
||||||
<view class="tab-pill {{currentTab === 0 ? 'active' : ''}}" hover-class="tab-hover" bindtap="switchTab" data-index="{{0}}">日期推算</view>
|
<view class="tab-pill {{currentTab === 0 ? 'active' : ''}}" hover-class="tab-hover" bindtap="switchTab" data-index="{{0}}">日期推算</view>
|
||||||
<view class="tab-pill {{currentTab === 1 ? 'active' : ''}}" hover-class="tab-hover" bindtap="switchTab" data-index="{{1}}">间隔计算</view>
|
<view class="tab-pill {{currentTab === 1 ? 'active' : ''}}" hover-class="tab-hover" bindtap="switchTab" data-index="{{1}}">间隔计算</view>
|
||||||
<view class="tab-pill {{currentTab === 2 ? 'active' : ''}}" hover-class="tab-hover" bindtap="switchTab" data-index="{{2}}">农历转换</view>
|
<view class="tab-pill {{currentTab === 2 ? 'active' : ''}}" hover-class="tab-hover" bindtap="switchTab" data-index="{{2}}">农历转换</view>
|
||||||
|
<view class="help-btn" bindtap="toggleHelp">❓</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- ========== 模式1: 日期推算 ========== -->
|
<!-- ========== 模式1: 日期推算 ========== -->
|
||||||
|
|||||||
@@ -25,22 +25,23 @@ page {
|
|||||||
|
|
||||||
/* ========== Tab 切换 ========== */
|
/* ========== Tab 切换 ========== */
|
||||||
.tab-header {
|
.tab-header {
|
||||||
display: grid;
|
display: flex;
|
||||||
grid-template-columns: 1fr 1fr 1fr;
|
background: #ffffff; /* Changed to white */
|
||||||
background: #dfe9ed; /* Slightly darker than page bg */
|
padding: 6rpx;
|
||||||
padding: 8rpx;
|
border-radius: 16rpx; /* Reduced radius */
|
||||||
border-radius: 60rpx;
|
|
||||||
margin-bottom: 40rpx;
|
margin-bottom: 40rpx;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 8rpx;
|
gap: 4rpx; /* Reduced gap */
|
||||||
|
box-shadow: 0 4rpx 12rpx rgba(17, 97, 107, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pill {
|
.tab-pill {
|
||||||
|
flex: 1;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 24rpx 0;
|
padding: 16rpx 8rpx; /* Added horizontal padding */
|
||||||
border-radius: 50rpx;
|
border-radius: 12rpx; /* Reduced radius */
|
||||||
font-size: 28rpx;
|
font-size: 24rpx; /* Reduced font size to create more space */
|
||||||
color: #7f8c8d;
|
color: #7BBDB6; /* Color 02 */
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
transition: all 0.2s ease;
|
transition: all 0.2s ease;
|
||||||
@@ -48,11 +49,155 @@ page {
|
|||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.help-btn {
|
||||||
|
width: 64rpx; /* Reduced width */
|
||||||
|
height: 64rpx; /* Reduced height */
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #11616B;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Modal Styles Copied & Adapted */
|
||||||
|
.history-panel {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: -1;
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s cubic-bezier(0.32, 0.72, 0, 1);
|
||||||
|
pointer-events: none;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.history-panel.show {
|
||||||
|
z-index: 1000;
|
||||||
|
opacity: 1;
|
||||||
|
pointer-events: auto;
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
.history-mask {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: rgba(0, 0, 0, 0.4);
|
||||||
|
backdrop-filter: blur(4px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.history-content {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
background: #EBF4F8; /* Color 03 */
|
||||||
|
border-radius: 36rpx 36rpx 0 0;
|
||||||
|
max-height: 80vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
box-shadow: 0 -8rpx 30rpx rgba(17, 97, 107, 0.15);
|
||||||
|
transform: translateY(100%);
|
||||||
|
transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.history-panel.show .history-content {
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.history-header {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 36rpx 40rpx;
|
||||||
|
border-bottom: 2rpx solid rgba(17, 97, 107, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.history-title {
|
||||||
|
color: #11616B; /* Color 01 */
|
||||||
|
font-size: 34rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
letter-spacing: 1rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.history-clear {
|
||||||
|
color: #DC8B70; /* Color 05 */
|
||||||
|
font-size: 28rpx;
|
||||||
|
padding: 8rpx 24rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: rgba(220, 139, 112, 0.15); /* Color 05 faint */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Help specific */
|
||||||
|
.help-list {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-section {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 40rpx;
|
||||||
|
padding: 30rpx 40rpx 60rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-item {
|
||||||
|
display: flex;
|
||||||
|
gap: 24rpx;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-icon {
|
||||||
|
font-size: 44rpx;
|
||||||
|
width: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 4rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-text {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-h1 {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #11616B; /* Color 01 */
|
||||||
|
margin-bottom: 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help-p {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #2d3436;
|
||||||
|
line-height: 1.6;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-btn-large {
|
||||||
|
background-color: #11616B !important; /* Color 01 */
|
||||||
|
color: white !important;
|
||||||
|
border-radius: 16rpx !important;
|
||||||
|
font-size: 30rpx !important;
|
||||||
|
font-weight: 500 !important;
|
||||||
|
margin-top: 40rpx;
|
||||||
|
width: 100% !important;
|
||||||
|
box-shadow: 0 8rpx 20rpx rgba(17, 97, 107, 0.25);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 24rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
.tab-pill.active {
|
.tab-pill.active {
|
||||||
background: #11616B; /* Color 01 */
|
background: #11616B; /* Color 01 */
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
box-shadow: 0 4rpx 12rpx rgba(17, 97, 107, 0.3);
|
box-shadow: 0 2rpx 8rpx rgba(17, 97, 107, 0.2);
|
||||||
transform: none;
|
transform: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -378,7 +523,7 @@ page {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 8rpx;
|
gap: 8rpx;
|
||||||
padding: 12rpx 24rpx;
|
padding: 12rpx 24rpx;
|
||||||
border-radius: 30rpx;
|
border-radius: 12rpx; /* Reduced radius */
|
||||||
background: var(--primary-bg);
|
background: var(--primary-bg);
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
border: 1rpx solid transparent; /* 防止抖动 */
|
border: 1rpx solid transparent; /* 防止抖动 */
|
||||||
|
|||||||
@@ -46,29 +46,6 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 功能亮点 -->
|
|
||||||
<view class="feature-highlights">
|
|
||||||
<view class="highlight-title">功能亮点</view>
|
|
||||||
<view class="highlight-list">
|
|
||||||
<view class="highlight-item">
|
|
||||||
<text class="highlight-dot">●</text>
|
|
||||||
<text>计算器支持基础四则运算和科学模式</text>
|
|
||||||
</view>
|
|
||||||
<view class="highlight-item">
|
|
||||||
<text class="highlight-dot">●</text>
|
|
||||||
<text>计算历史记录,随时回看</text>
|
|
||||||
</view>
|
|
||||||
<view class="highlight-item">
|
|
||||||
<text class="highlight-dot">●</text>
|
|
||||||
<text>日期推算与天数间隔计算</text>
|
|
||||||
</view>
|
|
||||||
<view class="highlight-item">
|
|
||||||
<text class="highlight-dot">●</text>
|
|
||||||
<text>公历农历互转,节日速查</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<!-- 推广/banner区域 -->
|
<!-- 推广/banner区域 -->
|
||||||
<view class="banner" bindtap="goToProfile" wx:if="{{false}}">
|
<view class="banner" bindtap="goToProfile" wx:if="{{false}}">
|
||||||
<view class="banner-text">
|
<view class="banner-text">
|
||||||
|
|||||||
@@ -18,74 +18,71 @@ page {
|
|||||||
/* 顶部背景区 */
|
/* 顶部背景区 */
|
||||||
.header-bg {
|
.header-bg {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 380rpx;
|
height: 340rpx; /* Adjusted height */
|
||||||
background: #11616B; /* Color 01 - Solid Color */
|
background: #11616B; /* Color 01 - Solid Color */
|
||||||
border-bottom-left-radius: 48rpx;
|
border-bottom-left-radius: 0; /* Removed radius as requested */
|
||||||
border-bottom-right-radius: 48rpx;
|
border-bottom-right-radius: 0; /* Removed radius as requested */
|
||||||
padding: 40rpx;
|
padding: 40rpx;
|
||||||
|
padding-top: 100rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
box-shadow: 0 12rpx 32rpx rgba(17, 97, 107, 0.25);
|
align-items: flex-start;
|
||||||
|
box-shadow: 0 4rpx 12rpx rgba(17, 97, 107, 0.15);
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-bg::after {
|
/* Removed ::after pseudo-element to remove the large transparent circle */
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
top: -80rpx;
|
|
||||||
right: -60rpx;
|
|
||||||
width: 240rpx;
|
|
||||||
height: 240rpx;
|
|
||||||
border-radius: 50%;
|
|
||||||
background: rgba(255,255,255,0.08);
|
|
||||||
pointer-events: none; /* Prevent blocking clicks */
|
|
||||||
}
|
|
||||||
|
|
||||||
.header-content {
|
.header-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-top: 20rpx;
|
margin-top: 0;
|
||||||
height: 140rpx;
|
height: auto;
|
||||||
position: relative; /* Ensure z-index works */
|
position: relative;
|
||||||
z-index: 2; /* Ensure it is above the background decoration */
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-area {
|
.text-area {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
gap: 8rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.greeting {
|
.greeting {
|
||||||
color: rgba(255, 255, 255, 0.85);
|
color: rgba(255, 255, 255, 0.9);
|
||||||
font-size: 26rpx;
|
font-size: 28rpx;
|
||||||
margin-bottom: 10rpx;
|
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nickname {
|
.nickname {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
font-size: 44rpx;
|
font-size: 48rpx;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
letter-spacing: 2rpx;
|
letter-spacing: 2rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.avatar-wrapper {
|
.avatar-wrapper {
|
||||||
padding: 4rpx;
|
padding: 6rpx;
|
||||||
background: rgba(255, 255, 255, 0.25);
|
background: rgba(255, 255, 255, 0.2);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
backdrop-filter: blur(4rpx);
|
||||||
|
display: flex; /* Flex to center content */
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.avatar {
|
.avatar {
|
||||||
width: 110rpx;
|
width: 120rpx;
|
||||||
height: 110rpx;
|
height: 120rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border: 3rpx solid #ffffff;
|
border: 4rpx solid #ffffff;
|
||||||
|
display: block; /* Remove inline spacing */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 主要内容区 */
|
/* 主要内容区 */
|
||||||
@@ -94,7 +91,7 @@ page {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0 28rpx;
|
padding: 0 28rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin-top: -80rpx;
|
margin-top: 20rpx; /* Separated layout */
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
padding-bottom: 60rpx;
|
padding-bottom: 60rpx;
|
||||||
}
|
}
|
||||||
@@ -122,7 +119,7 @@ page {
|
|||||||
padding: 32rpx;
|
padding: 32rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
box-shadow: 0 8rpx 24rpx rgba(17, 97, 107, 0.06); /* Teal shadow */
|
box-shadow: 0 12rpx 36rpx rgba(17, 97, 107, 0.20); /* Increased shadow opacity and size for better contrast */
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid-item-hover {
|
.grid-item-hover {
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
<view class="info-item">
|
<view class="info-item">
|
||||||
<text class="label">手机</text>
|
<text class="label">手机</text>
|
||||||
<text class="value" wx:if="{{phoneNumber}}">{{phoneNumber}}</text>
|
<text class="value" wx:if="{{phoneNumber}}">{{phoneNumber}}</text>
|
||||||
<text class="value" wx:else style="color: #fa5151; font-weight: bold;">未绑定</text>
|
<text class="value" wx:else style="color: #DC8B70; font-weight: bold;">未绑定</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ page {
|
|||||||
height: 100vh;
|
height: 100vh;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
background-color: #f6f7f9;
|
background-color: #EBF4F8; /* Color 03 (Background) */
|
||||||
}
|
}
|
||||||
.scrollarea {
|
.scrollarea {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
@@ -26,7 +26,7 @@ page {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.03);
|
box-shadow: 0 8rpx 24rpx rgba(17, 97, 107, 0.08); /* Teal shadow */
|
||||||
margin-bottom: 30rpx;
|
margin-bottom: 30rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
@@ -41,7 +41,7 @@ page {
|
|||||||
|
|
||||||
.settings-icon {
|
.settings-icon {
|
||||||
font-size: 40rpx;
|
font-size: 40rpx;
|
||||||
color: #333;
|
color: #11616B; /* Color 01 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Avatar */
|
/* Avatar */
|
||||||
@@ -57,14 +57,14 @@ page {
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
box-shadow: 0 6rpx 16rpx rgba(0,0,0,0.1);
|
box-shadow: 0 6rpx 16rpx rgba(17, 97, 107, 0.15); /* Teal shadow */
|
||||||
}
|
}
|
||||||
|
|
||||||
.avatar {
|
.avatar {
|
||||||
width: 160rpx;
|
width: 160rpx;
|
||||||
height: 160rpx;
|
height: 160rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 4rpx solid #fff;
|
border: 4rpx solid #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Nickname */
|
/* Nickname */
|
||||||
@@ -78,12 +78,12 @@ page {
|
|||||||
.nickname-input, .nickname-text {
|
.nickname-input, .nickname-text {
|
||||||
font-size: 36rpx;
|
font-size: 36rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #333;
|
color: #11616B; /* Color 01 */
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nickname-input {
|
.nickname-input {
|
||||||
border-bottom: 2rpx solid #eee;
|
border-bottom: 2rpx solid #7BBDB6; /* Color 02 */
|
||||||
padding: 10rpx;
|
padding: 10rpx;
|
||||||
width: 60%;
|
width: 60%;
|
||||||
}
|
}
|
||||||
@@ -101,7 +101,7 @@ page {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 24rpx 0;
|
padding: 24rpx 0;
|
||||||
border-bottom: 1rpx solid #f5f5f5;
|
border-bottom: 1rpx solid #EBF4F8; /* Color 03 instead of gray */
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-item:last-child {
|
.info-item:last-child {
|
||||||
@@ -109,14 +109,15 @@ page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
color: #666;
|
color: #11616B; /* Color 01 - Darkened from #7BBDB6 */
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
|
font-weight: 600; /* Added weight for better visibility */
|
||||||
}
|
}
|
||||||
|
|
||||||
.value {
|
.value {
|
||||||
color: #333;
|
color: #11616B; /* Color 01 - Consistent dark teal */
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
font-weight: 500;
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Gender Tags */
|
/* Gender Tags */
|
||||||
@@ -127,8 +128,8 @@ page {
|
|||||||
border-radius: 8rpx;
|
border-radius: 8rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
}
|
}
|
||||||
.gender-box.male { color: #1890ff; background: #e6f7ff; }
|
.gender-box.male { color: #11616B; background: #EBF4F8; } /* Color 01 on Color 03 */
|
||||||
.gender-box.female { color: #eb2f96; background: #fff0f6; }
|
.gender-box.female { color: #DC8B70; background: #FED9CD; } /* Color 05 on Color 04 */
|
||||||
|
|
||||||
/* Action Buttons */
|
/* Action Buttons */
|
||||||
.action-area {
|
.action-area {
|
||||||
@@ -136,11 +137,11 @@ page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.login-hint {
|
.login-hint {
|
||||||
color: #999;
|
color: #7BBDB6; /* Color 02 */
|
||||||
font-size: 26rpx; /* 小一点 */
|
font-size: 26rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-bottom: 30rpx;
|
margin-bottom: 30rpx;
|
||||||
display: block; /* 确保占满一行 */
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-btn, .secondary-btn {
|
.login-btn, .secondary-btn {
|
||||||
@@ -153,21 +154,21 @@ page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.login-btn {
|
.login-btn {
|
||||||
background: linear-gradient(90deg, #07c160, #10ad63);
|
background: #11616B; /* Color 01 */
|
||||||
color: white;
|
color: white;
|
||||||
box-shadow: 0 6rpx 16rpx rgba(7, 193, 96, 0.3);
|
box-shadow: 0 6rpx 16rpx rgba(17, 97, 107, 0.3);
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-btn[disabled] {
|
.login-btn[disabled] {
|
||||||
background: #a0eac4 !important;
|
background: #7BBDB6 !important; /* Color 02 */
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.secondary-btn {
|
.secondary-btn {
|
||||||
background-color: #fff;
|
background-color: #ffffff;
|
||||||
color: #666;
|
color: #11616B; /* Color 01 text */
|
||||||
border: 1rpx solid #eee;
|
border: 1rpx solid #7BBDB6; /* Color 02 border */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Styles for verification area centered */
|
/* Styles for verification area centered */
|
||||||
@@ -176,28 +177,29 @@ page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.code-display {
|
.code-display {
|
||||||
background: #eef2f5;
|
background: #EBF4F8; /* Color 03 */
|
||||||
padding: 20rpx;
|
padding: 20rpx;
|
||||||
border-radius: 12rpx;
|
border-radius: 12rpx;
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
border: 1rpx solid #dbecef;
|
||||||
}
|
}
|
||||||
|
|
||||||
.code-text {
|
.code-text {
|
||||||
font-size: 40rpx;
|
font-size: 40rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #333;
|
color: #11616B; /* Color 01 */
|
||||||
margin-right: 20rpx;
|
margin-right: 20rpx;
|
||||||
letter-spacing: 4rpx;
|
letter-spacing: 4rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.copy-btn {
|
.copy-btn {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
background: #fff;
|
background: #ffffff;
|
||||||
padding: 6rpx 16rpx;
|
padding: 6rpx 16rpx;
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
color: #1890ff;
|
color: #11616B; /* Color 01 */
|
||||||
border: 1rpx solid #1890ff;
|
border: 1rpx solid #11616B; /* Color 01 */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
},
|
},
|
||||||
"coverView": false,
|
"coverView": false,
|
||||||
"postcss": false,
|
"postcss": false,
|
||||||
"minified": false,
|
"minified": true,
|
||||||
"enhance": false,
|
"enhance": false,
|
||||||
"showShadowRootInWxmlPanel": false,
|
"showShadowRootInWxmlPanel": false,
|
||||||
"packNpmRelationList": [],
|
"packNpmRelationList": [],
|
||||||
|
|||||||
Reference in New Issue
Block a user