修复:内测问题修改 v0.1.1
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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" : {
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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.点击“同意”按钮即表示您同意遵守以上条款。
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
// 密码强度相关
|
// 密码强度相关
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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'))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user