修复:内测问题修改 v0.1.1

This commit is contained in:
2025-11-28 14:31:02 +08:00
parent 79c6fb247c
commit 8f890a6802
10 changed files with 31 additions and 83 deletions

View File

@@ -26,7 +26,7 @@
<text>{{ $t('book.listen') }}</text> <text>{{ $t('book.listen') }}</text>
</view> </view>
<view <!-- <view
v-if="!isIOS" v-if="!isIOS"
class="action-btn review" class="action-btn review"
@click.stop="handleReview" @click.stop="handleReview"
@@ -35,7 +35,7 @@
<image src="@/static/icon/icon_pl.png" mode="aspectFit" /> <image src="@/static/icon/icon_pl.png" mode="aspectFit" />
</view> </view>
<text>{{ $t('book.comment') }}</text> <text>{{ $t('book.comment') }}</text>
</view> </view> -->
</view> </view>
</view> </view>
</view> </view>

View File

@@ -2,8 +2,8 @@
"name" : "吴门国际", "name" : "吴门国际",
"appid" : "__UNI__1250B39", "appid" : "__UNI__1250B39",
"description" : "吴门国际", "description" : "吴门国际",
"versionName" : "1.0.4", "versionName" : "0.1.1",
"versionCode" : 104, "versionCode" : 11,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {

View File

@@ -40,7 +40,7 @@
</view> </view>
<!-- 书评列表 (非iOS) --> <!-- 书评列表 (非iOS) -->
<view v-if="!isIOS" class="comments-section"> <!-- <view v-if="!isIOS" class="comments-section">
<view class="section-header"> <view class="section-header">
<text class="section-title">{{ $t('bookDetails.message') }}</text> <text class="section-title">{{ $t('bookDetails.message') }}</text>
<view v-if="commentList.length > 0" class="more-link" @click="goToReview"> <view v-if="commentList.length > 0" class="more-link" @click="goToReview">
@@ -55,7 +55,7 @@
/> />
<text v-else class="empty-text">{{ nullText }}</text> <text v-else class="empty-text">{{ nullText }}</text>
</view> </view>
</view> </view> -->
<!-- 相关推荐 --> <!-- 相关推荐 -->
<view class="related-books"> <view class="related-books">

View File

@@ -134,7 +134,7 @@
<view> <view>
1.手机pad电脑均为可登陆电子设备均有唯一标识码一个用户名仅允许在一个手机或一个ipad或一个电脑登陆请根据您的使用习惯自行选择<br /> 1.手机pad电脑均为可登陆电子设备均有唯一标识码一个用户名仅允许在一个手机或一个ipad或一个电脑登陆请根据您的使用习惯自行选择<br />
2.如若申请变更登陆设备请联系客服<br /> 2.如若申请变更登陆设备请联系客服<br />
客服电话:13110039505;022-24142321<br /> 客服电话:021-08371305<br />
客服微信号:yilujiankangkefu<br /> 客服微信号:yilujiankangkefu<br />
3.如因违反上述使用规定...概不退款本公司保留追究用户相关法律责任的权利<br /> 3.如因违反上述使用规定...概不退款本公司保留追究用户相关法律责任的权利<br />
4.点击同意按钮即表示您同意遵守以上条款 4.点击同意按钮即表示您同意遵守以上条款

View File

@@ -23,7 +23,7 @@
:placeholder="$t('login.codePlaceholder')" :placeholder="$t('login.codePlaceholder')"
/> />
<wd-button type="info" :class="['code-btn', { active: !readonly }]" @click="getCode"> <wd-button type="info" :class="['code-btn', { active: !readonly }]" @click="getCode">
{{ t('login.getCode') }} {{ codeText }}
</wd-button> </wd-button>
</view> </view>
@@ -70,14 +70,12 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue' import { ref } from 'vue'
import { useI18n } from 'vue-i18n' import { t } from '@/utils/i18n'
import { commonApi } from '@/api/modules/common' import { commonApi } from '@/api/modules/common'
import { resetPassword } from '@/api/modules/auth' import { resetPassword } from '@/api/modules/auth'
import { validateEmail, checkPasswordStrength } from '@/utils/validator' import { validateEmail, checkPasswordStrength } from '@/utils/validator'
import { getNotchHeight } from '@/utils/system' import { getNotchHeight } from '@/utils/system'
const { t } = useI18n()
// 表单数据 // 表单数据
const email = ref('') const email = ref('')
const code = ref('') const code = ref('')
@@ -85,7 +83,7 @@ const password = ref('')
const confirmPassword = ref('') const confirmPassword = ref('')
// 验证码相关 // 验证码相关
const codeText = ref('Get Code') const codeText = ref(t('login.getCode'))
const readonly = ref(false) const readonly = ref(false)
// 密码强度相关 // 密码强度相关

View File

@@ -2,7 +2,7 @@
<view class="login-page"> <view class="login-page">
<!-- Logo 背景区域 --> <!-- Logo 背景区域 -->
<view class="logo-bg"> <view class="logo-bg">
<text class="welcome-text">Hello! Welcome to<br>太湖国际</text> <text class="welcome-text">Hello! Welcome to<br>WU'S INTERNATIONAL</text>
<image src="@/static/icon/login_icon.png" mode="aspectFit" class="icon-hua-1"></image> <image src="@/static/icon/login_icon.png" mode="aspectFit" class="icon-hua-1"></image>
<image src="@/static/icon/login_icon.png" mode="aspectFit" class="icon-hua-2"></image> <image src="@/static/icon/login_icon.png" mode="aspectFit" class="icon-hua-2"></image>
</view> </view>
@@ -37,8 +37,8 @@
maxlength="6" maxlength="6"
@confirm="onSubmit" @confirm="onSubmit"
/> />
<wd-button type="info" :class="['code-btn', { active: !readonly }]" @click="onSetCode"> <wd-button type="info" :class="['code-btn', { 'active': !readonly }]" @click="onSetCode">
{{ t('login.getCode') }} {{ codeText }}
</wd-button> </wd-button>
</view> </view>
</view> </view>
@@ -83,7 +83,7 @@
<!-- 协议同意 --> <!-- 协议同意 -->
<view class="protocol-box"> <view class="protocol-box">
<view class="select" :class="{ active: agree }" @click="agreeAgreements"></view> <view class="select" :class="{ 'active': agree }" @click="agreeAgreements"></view>
<view class="protocol-text"> <view class="protocol-text">
{{ $t('login.agree') }} {{ $t('login.agree') }}
<text class="highlight" @click="yhxy">《{{ $t('login.userAgreement') }}》</text> <text class="highlight" @click="yhxy">《{{ $t('login.userAgreement') }}》</text>
@@ -94,7 +94,7 @@
<!-- 登录按钮 --> <!-- 登录按钮 -->
<view class="btn-box"> <view class="btn-box">
<button @click="onSubmit" class="login-btn" :class="{ active: btnShow }"> <button @click="onSubmit" class="login-btn" :class="{ 'active': btnShow }">
{{ $t('login.goLogin') }} {{ $t('login.goLogin') }}
</button> </button>
</view> </view>
@@ -148,8 +148,7 @@ import { commonApi } from '@/api/modules/common'
import { validateEmail } from '@/utils/validator' import { validateEmail } from '@/utils/validator'
import { onPageJump } from '@/utils' import { onPageJump } from '@/utils'
import { useI18n } from 'vue-i18n' import { t } from '@/utils/i18n'
const { t } = useI18n()
const userStore = useUserStore() const userStore = useUserStore()
@@ -165,7 +164,7 @@ const agree = ref(false)
const isSee = ref(false) const isSee = ref(false)
// 验证码相关 // 验证码相关
const codeText = ref('Get Code') const codeText = ref(t('login.getCode'))
const readonly = ref(false) const readonly = ref(false)
const btnShow = ref(true) const btnShow = ref(true)

View File

@@ -36,7 +36,7 @@
</view> </view>
</view> --> </view> -->
<wd-cell-group border class="contact-info"> <wd-cell-group border class="contact-info">
<wd-cell :title="$t('user.hotline')" clickable icon="call" value="022-24142321" @click="handlePhoneCall"></wd-cell> <wd-cell :title="$t('user.hotline')" clickable icon="call" value="021-08371305" @click="handlePhoneCall"></wd-cell>
<!-- <wd-cell :title="$t('user.wechat')" value="yilujiankangkefu" clickable @click="handlePhoneCall" /> --> <!-- <wd-cell :title="$t('user.wechat')" value="yilujiankangkefu" clickable @click="handlePhoneCall" /> -->
</wd-cell-group> </wd-cell-group>
@@ -83,7 +83,7 @@ const getAppVersion = () => {
* 拨打电话 * 拨打电话
*/ */
const handlePhoneCall = () => { const handlePhoneCall = () => {
makePhoneCall('022-24142321', t('user.hotline')) makePhoneCall('021-08371305', t('user.hotline'))
} }
/** /**

View File

@@ -13,9 +13,6 @@
<view class="user-details"> <view class="user-details">
<text class="nickname">{{ userInfo.nickname || $t('user.notSet') }}</text> <text class="nickname">{{ userInfo.nickname || $t('user.notSet') }}</text>
<text v-if="userInfo.email" class="email">{{ userInfo.email }}</text> <text v-if="userInfo.email" class="email">{{ userInfo.email }}</text>
<text v-if="vipInfo.endTime && platform === 'ios'" class="vip-time">
VIP {{ vipInfo.endTime.split(' ')[0] }} {{ $t('user.vipExpireTime') }}
</text>
</view> </view>
</view> </view>
</view> </view>
@@ -26,18 +23,18 @@
<view class="vip-card-title">{{ $t('user.vip') }}</view> <view class="vip-card-title">{{ $t('user.vip') }}</view>
<view class="vip-card-content"> <view class="vip-card-content">
<view class="vip-item-list"> <view class="vip-item-list">
<view v-if="vipInfo.length > 0" v-for="vip in vipInfo">{{ vipTypeDict[vip.type] }}{{ parseTime(vip.endTime, '{y}-{m}-{d}') }} 截止</view> <view v-if="vipInfo?.length > 0" v-for="vip in vipInfo">{{ vipTypeDict[vip.type] }}{{ parseTime(vip.endTime, '{y}-{m}-{d}') }} 截止</view>
<view v-else>办理课程VIP畅享更多权益</view> <view v-else>办理课程VIP畅享更多权益</view>
</view> </view>
<wd-button v-if="vipInfo.length > 0" plain type="primary" size="small" @click="goCourseVipSub">{{ $t('vip.renewal') }}</wd-button> <wd-button v-if="vipInfo?.length > 0" plain type="primary" size="small" @click="goCourseVipSub">{{ $t('vip.renewal') }}</wd-button>
<wd-button v-else plain type="primary" size="small" @click="goCourseVipSub">{{ $t('vip.openVip') }}</wd-button> <wd-button v-else plain type="primary" size="small" @click="goCourseVipSub">{{ $t('vip.openVip') }}</wd-button>
</view> </view>
<view class="vip-card-content"> <view class="vip-card-content">
<view class="vip-item-list"> <view class="vip-item-list">
<view v-if="vipInfoEbook.length > 0" v-for="vip in vipInfoEbook">电子书VIP{{ vipTypeDict[vip.type] }}{{ parseTime(vip.endTime, '{y}-{m}-{d}') }} 截止</view> <view v-if="vipInfoEbook?.length > 0" v-for="vip in vipInfoEbook">电子书VIP{{ vipTypeDict[vip.type] }}{{ parseTime(vip.endTime, '{y}-{m}-{d}') }} 截止</view>
<view v-else>办理电子书VIP畅享更多权益</view> <view v-else>办理电子书VIP畅享更多权益</view>
</view> </view>
<wd-button v-if="!vipInfoEbook.length" plain type="primary" size="small" @click="goSubscribe">{{ $t('vip.openVip') }}</wd-button> <wd-button v-if="!vipInfoEbook?.length" plain type="primary" size="small" @click="goSubscribe">{{ $t('vip.openVip') }}</wd-button>
</view> </view>
</view> </view>
</view> </view>

View File

@@ -102,22 +102,22 @@ const getCurrentLanguageName = () => {
// 设置项列表 // 设置项列表
const settingItems = computed(() => [ const settingItems = computed(() => [
{ // {
id: 0, // id: 0,
label: t('user.language'), // label: t('user.language'),
value: getCurrentLanguageName(), // value: getCurrentLanguageName(),
type: 'language' // type: 'language'
}, // },
{ {
id: 1, id: 1,
label: t('user.hotline'), label: t('user.hotline'),
value: '022-24142321', value: '021-08371305',
type: 'tel' type: 'tel'
}, },
{ {
id: 2, id: 2,
label: t('user.customerEmail'), label: t('user.customerEmail'),
value: 'appyilujiankang@sina.com', value: 'AmazingLimited@163.com',
type: 'email' type: 'email'
}, },
{ {

View File

@@ -9,7 +9,6 @@
"Courier New", monospace; "Courier New", monospace;
--color-red-500: oklch(63.7% 0.237 25.331); --color-red-500: oklch(63.7% 0.237 25.331);
--spacing: 0.25rem; --spacing: 0.25rem;
--font-weight-bold: 700;
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
--default-transition-duration: 150ms; --default-transition-duration: 150ms;
--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
@@ -205,18 +204,9 @@
max-width: 96rem; max-width: 96rem;
} }
} }
.mr-1 {
margin-right: calc(var(--spacing) * 1);
}
.ml-1 {
margin-left: calc(var(--spacing) * 1);
}
.ml-1\! { .ml-1\! {
margin-left: calc(var(--spacing) * 1) !important; margin-left: calc(var(--spacing) * 1) !important;
} }
.ml-2 {
margin-left: calc(var(--spacing) * 2);
}
.ml-2\.5\! { .ml-2\.5\! {
margin-left: calc(var(--spacing) * 2.5) !important; margin-left: calc(var(--spacing) * 2.5) !important;
} }
@@ -253,9 +243,6 @@
.flex-shrink { .flex-shrink {
flex-shrink: 1; flex-shrink: 1;
} }
.border-collapse {
border-collapse: collapse;
}
.transform { .transform {
transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
} }
@@ -269,27 +256,12 @@
border-style: var(--tw-border-style); border-style: var(--tw-border-style);
border-width: 1px; border-width: 1px;
} }
.bg-\[blue\] {
background-color: blue;
}
.bg-\[red\] {
background-color: red;
}
.bg-\[transparent\] {
background-color: transparent;
}
.pt-1 { .pt-1 {
padding-top: calc(var(--spacing) * 1); padding-top: calc(var(--spacing) * 1);
} }
.pt-10 { .pt-10 {
padding-top: calc(var(--spacing) * 10); padding-top: calc(var(--spacing) * 10);
} }
.pt-\[40px\] {
padding-top: 40px;
}
.pb-0 {
padding-bottom: calc(var(--spacing) * 0);
}
.pb-0\! { .pb-0\! {
padding-bottom: calc(var(--spacing) * 0) !important; padding-bottom: calc(var(--spacing) * 0) !important;
} }
@@ -299,19 +271,9 @@
.text-right { .text-right {
text-align: right; text-align: right;
} }
.font-bold {
--tw-font-weight: var(--font-weight-bold);
font-weight: var(--font-weight-bold);
}
.text-\[\#000\] {
color: #000;
}
.text-\[\#7dc1f0\] { .text-\[\#7dc1f0\] {
color: #7dc1f0; color: #7dc1f0;
} }
.text-\[\#fff\] {
color: #fff;
}
.text-\[red\] { .text-\[red\] {
color: red; color: red;
} }
@@ -325,9 +287,6 @@
--tw-ordinal: ordinal; --tw-ordinal: ordinal;
font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
} }
.underline {
text-decoration-line: underline;
}
.ring { .ring {
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -397,10 +356,6 @@
inherits: false; inherits: false;
initial-value: solid; initial-value: solid;
} }
@property --tw-font-weight {
syntax: "*";
inherits: false;
}
@property --tw-ordinal { @property --tw-ordinal {
syntax: "*"; syntax: "*";
inherits: false; inherits: false;
@@ -593,7 +548,6 @@
--tw-skew-x: initial; --tw-skew-x: initial;
--tw-skew-y: initial; --tw-skew-y: initial;
--tw-border-style: solid; --tw-border-style: solid;
--tw-font-weight: initial;
--tw-ordinal: initial; --tw-ordinal: initial;
--tw-slashed-zero: initial; --tw-slashed-zero: initial;
--tw-numeric-figure: initial; --tw-numeric-figure: initial;