weapps-plugin-jingtong-verify 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +2 -1
  2. package/app.json +3 -11
  3. package/package.json +2 -2
  4. package/sdk.js +1 -32
  5. package/weapps-plugin-jingtong-verify/components/gsd-ui/g-form/index.js +0 -3
  6. package/weapps-plugin-jingtong-verify/components/gsd-ui/g-input/index.js +0 -5
  7. package/weapps-plugin-jingtong-verify/components/gsd-ui/g-input/index.wxml +1 -1
  8. package/weapps-plugin-jingtong-verify/components/gsd-ui/static/style/components/g-input.wxss +1 -9
  9. package/weapps-plugin-jingtong-verify/components/tip-modal/tip-modal.js +0 -8
  10. package/weapps-plugin-jingtong-verify/components/tip-modal/tip-modal.wxml +0 -2
  11. package/weapps-plugin-jingtong-verify/i18n/rules.js +5 -146
  12. package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.js +12 -276
  13. package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.wxml +1 -19
  14. package/weapps-plugin-jingtong-verify/pages/face-verify/face-verify.wxss +1 -53
  15. package/weapps-plugin-jingtong-verify/pages/nation-list/nation-list.js +12 -2
  16. package/weapps-plugin-jingtong-verify/pages/setting/setting.js +7 -10
  17. package/weapps-plugin-jingtong-verify/utils/request.js +1 -670
  18. package/weapps-plugin-jingtong-verify/utils/rules.js +1 -105
  19. package/weapps-plugin-jingtong-verify/utils/validate.js +1 -139
  20. package/weapps-plugin-jingtong-verify/components/custom-steps/custom-steps.js +0 -41
  21. package/weapps-plugin-jingtong-verify/components/custom-steps/custom-steps.json +0 -4
  22. package/weapps-plugin-jingtong-verify/components/custom-steps/custom-steps.wxml +0 -20
  23. package/weapps-plugin-jingtong-verify/components/custom-steps/custom-steps.wxss +0 -112
  24. package/weapps-plugin-jingtong-verify/components/to-other-modal/to-other-modal.js +0 -73
  25. package/weapps-plugin-jingtong-verify/components/to-other-modal/to-other-modal.json +0 -4
  26. package/weapps-plugin-jingtong-verify/components/to-other-modal/to-other-modal.wxml +0 -19
  27. package/weapps-plugin-jingtong-verify/components/to-other-modal/to-other-modal.wxss +0 -72
  28. package/weapps-plugin-jingtong-verify/images/bank-card-verify.png +0 -0
  29. package/weapps-plugin-jingtong-verify/images/chek_right.png +0 -0
  30. package/weapps-plugin-jingtong-verify/images/chevron-down.png +0 -0
  31. package/weapps-plugin-jingtong-verify/images/chevron-up.png +0 -0
  32. package/weapps-plugin-jingtong-verify/pages/bank-card-login/bank-card-login.js +0 -506
  33. package/weapps-plugin-jingtong-verify/pages/bank-card-login/bank-card-login.json +0 -8
  34. package/weapps-plugin-jingtong-verify/pages/bank-card-login/bank-card-login.wxml +0 -79
  35. package/weapps-plugin-jingtong-verify/pages/bank-card-login/bank-card-login.wxss +0 -212
  36. package/weapps-plugin-jingtong-verify/pages/bank-card-login-forgot-face-setting/bank-card-login-forgot-face-setting.js +0 -1392
  37. package/weapps-plugin-jingtong-verify/pages/bank-card-login-forgot-face-setting/bank-card-login-forgot-face-setting.json +0 -10
  38. package/weapps-plugin-jingtong-verify/pages/bank-card-login-forgot-face-setting/bank-card-login-forgot-face-setting.wxml +0 -247
  39. package/weapps-plugin-jingtong-verify/pages/bank-card-login-forgot-face-setting/bank-card-login-forgot-face-setting.wxss +0 -397
  40. package/weapps-plugin-jingtong-verify/pages/bank-card-login-forgot-sms-setting/bank-card-login-forgot-sms-setting.js +0 -66
  41. package/weapps-plugin-jingtong-verify/pages/bank-card-login-forgot-sms-setting/bank-card-login-forgot-sms-setting.wxml +0 -2
  42. package/weapps-plugin-jingtong-verify/pages/bank-card-login-pwd-setting/bank-card-login-pwd-setting.js +0 -463
  43. package/weapps-plugin-jingtong-verify/pages/bank-card-login-pwd-setting/bank-card-login-pwd-setting.json +0 -8
  44. package/weapps-plugin-jingtong-verify/pages/bank-card-login-pwd-setting/bank-card-login-pwd-setting.wxml +0 -69
  45. package/weapps-plugin-jingtong-verify/pages/bank-card-login-pwd-setting/bank-card-login-pwd-setting.wxss +0 -232
  46. package/weapps-plugin-jingtong-verify/pages/bank-card-verify/bank-card-verify.js +0 -984
  47. package/weapps-plugin-jingtong-verify/pages/bank-card-verify/bank-card-verify.json +0 -12
  48. package/weapps-plugin-jingtong-verify/pages/bank-card-verify/bank-card-verify.wxml +0 -157
  49. package/weapps-plugin-jingtong-verify/pages/bank-card-verify/bank-card-verify.wxss +0 -258
  50. package/weapps-plugin-jingtong-verify/pages/login-help/login-help.js +0 -147
  51. package/weapps-plugin-jingtong-verify/pages/login-help/login-help.json +0 -4
  52. package/weapps-plugin-jingtong-verify/pages/login-help/login-help.wxml +0 -48
  53. package/weapps-plugin-jingtong-verify/pages/login-help/login-help.wxss +0 -166
  54. package/weapps-plugin-jingtong-verify/pages/login-manage-setting/login-manage-setting.js +0 -189
  55. package/weapps-plugin-jingtong-verify/pages/login-manage-setting/login-manage-setting.json +0 -4
  56. package/weapps-plugin-jingtong-verify/pages/login-manage-setting/login-manage-setting.wxml +0 -19
  57. package/weapps-plugin-jingtong-verify/pages/login-manage-setting/login-manage-setting.wxss +0 -69
  58. package/weapps-plugin-jingtong-verify/utils/constantVal.js +0 -75
  59. package/weapps-plugin-jingtong-verify/utils/md5.js +0 -184
@@ -1,10 +0,0 @@
1
- {
2
- "usingComponents": {
3
- "custom-steps": "../../components/custom-steps/custom-steps",
4
- "g-form": "../../components/gsd-ui/g-form/index",
5
- "g-input": "../../components/gsd-ui/g-input/index",
6
- "tip-modal": "../../components/tip-modal/tip-modal",
7
- "to-other-modal": "../../components/to-other-modal/to-other-modal"
8
- },
9
- "navigationBarTitleText": "设置密码"
10
- }
@@ -1,247 +0,0 @@
1
- <!-- <view wx:if="showCustomTips" class="custom-tips">
2
- <g-tips position="fixed" is-show="{{showCustomTips}}" status="warn" closeable catch:close="handleTipsClose">
3
- {{customTipsMsg}}
4
- </g-tips>
5
- </view> -->
6
- <view class="{{ language == 'en' ? 'en-page' : ''}}">
7
- <view class="top-box">
8
- <view class="img-box">
9
- <image src="../../images/Frame.png" mode="aspectFit" class="img"></image>
10
- </view>
11
- <view class="title">{{ language == 'zh_CN' ? '设置新登录密码' : 'Set new login password' }}</view>
12
- <view class="title_describe">{{ language == 'zh_CN' ? '新登录密码设置后原密码将会失效' : 'After setting the new login password, the original password will become invalid' }}</view>
13
- </view>
14
- <view class="content-box" wx:if="{{ language === 'zh_CN' }}">
15
- <!-- 完整配置 -->
16
- <custom-steps
17
- steps="{{ steps }}"
18
- active="{{ currentStep }}"
19
- active-color="#ce0022"
20
- inactive-color="#ccc"
21
- bind:stepTap="onStepTap"
22
- />
23
- <!-- 根据当前步骤显示不同内容 -->
24
- <view class="step-content">
25
- <!-- 第一步:信息确认 -->
26
- <view wx:if="{{ currentStep === 0 }}" class="step-panel">
27
- <g-form
28
- id="form"
29
- model="{{ formData }}"
30
- rules="{{ rules }}"
31
- validateType="{{ validateType }}"
32
- primary-text="开始人脸识别"
33
- bind:submit="handleFormSubmit"
34
- >
35
- <!-- 姓名 -->
36
- <view class="form-item-wrap">
37
- <g-input
38
- id="name"
39
- label="姓名"
40
- placeholder="请输入本人姓名"
41
- value="{{ formData.name }}"
42
- clearable="{{false}}"
43
- class="readonly-input"
44
- bind:change="handleChange"
45
- />
46
- </view>
47
- <view class="form-item-wrap">
48
- <g-input
49
- id="id_card_number"
50
- data-star="strCid"
51
- label="证件号码"
52
- placeholder="请输入本人证件号码"
53
- value="{{ formData.strCid || formData.id_card_number }}"
54
- clearable="{{ false }}"
55
- class="readonly-input"
56
- />
57
- </view>
58
- </g-form>
59
- <!-- 其他方式 start -->
60
- <view class="other-way">
61
- <view class="other-way-btn" bind:tap="handletoOther">
62
- 其他方式
63
- </view>
64
- </view>
65
- </view>
66
- <!-- 第二步:安全验证 -->
67
- <view wx:if="{{ currentStep === 1 }}" class="step-panel">
68
- <g-form
69
- id="formSafe"
70
- model="{{ formSafeData }}"
71
- rules="{{ safeRules }}"
72
- validateType="{{ validateSafeType }}"
73
- primary-text="下一步"
74
- bind:submit="handleSafeFormSubmit"
75
- >
76
- <view class="form-item-wrap">
77
- <g-input
78
- id="id_card_number"
79
- data-star="strCid"
80
- label="身份证号码"
81
- placeholder="请输入本人证件号码"
82
- value="{{ formSafeData.strCid || formSafeData.id_card_number }}"
83
- clearable="{{ true }}"
84
- isOpen="{{ !formSafeData.strCid }}"
85
- bind:change="handleSafeChange"
86
- />
87
-
88
- <!-- bind:change="handleSafeChange" -->
89
- <!-- isOpen="{{ !formData.strCid }}" -->
90
- <!-- bind:openEye="openEye" -->
91
- <!-- showEye="{{ formData.id_card_number }}" -->
92
- <!-- <g-input
93
- id="id_card_number"
94
- data-star="strCid"
95
- label="身份证号码"
96
- placeholder="请输入本人证件号码"
97
- value="{{ formSafeData.strCid || formSafeData.id_card_number }}"
98
- clearable="{{ false }}"
99
- bind:change="handleSafeChange"
100
- showQuestion="{{ true }}"
101
- bind:showQuestionTip="showQuestionTip"
102
- bind:blur="getTailNumber"
103
- /> -->
104
- </view>
105
- <!-- 手机号码 -->
106
- <view class="form-item-wrap">
107
- <g-input
108
- id="phone_number"
109
- label="手机号码"
110
- placeholder="{{ '请输入您的手机号码' + phoneNumberEndTitle }}"
111
- value="{{ formSafeData.phone_number }}"
112
- clearable="true"
113
- bind:change="handleSafeChange"
114
- />
115
- </view>
116
- <!-- 验证码 -->
117
- <view class="form-item-wrap">
118
- <g-input
119
- id="verification_code"
120
- label="验证码"
121
- placeholder="请填写短信验证码"
122
- value="{{ formSafeData.verification_code }}"
123
- clearable="true"
124
- bind:change="handleSafeChange"
125
- append="true"
126
- >
127
- <view
128
- slot="append"
129
- class="verification-btn {{ isCountingDown ? 'disabled' : '' }}"
130
- bind:tap="handletoSendVerificationCode"
131
- >
132
- {{ verificationText }}
133
- </view>
134
- </g-input>
135
- </view>
136
- <!-- 收不到验证码 -->
137
- <view class="form-item-wrap">
138
- <view class="not_get_verification_code" bind:tap="handleNotVerificationTipModal">
139
- 收不到验证码?
140
- </view>
141
- </view>
142
- </g-form>
143
- </view>
144
- <!-- 第三步:重置密码 -->
145
- <view wx:if="{{ currentStep === 2 }}" class="step-panel">
146
- <view class="describe-box" style="margin-top: 5rpx">
147
- <view class="special-describe-box" >
148
- <view>请注意:</view>
149
- <view>密码为8~20位字符,需含数字、大写字母、小写字母、特殊字符中的两种及以上。</view>
150
- </view>
151
- </view>
152
- <g-form
153
- id="formPwd"
154
- model="{{ formPwdData }}"
155
- rules="{{ pwdRules }}"
156
- validateType="{{ validatePwdType }}"
157
- primary-text="确认"
158
- bind:submit="handlePwdFormSubmit"
159
- >
160
- <!-- 设置登录密码 -->
161
- <view class="form-item-wrap">
162
- <view class="form-item-header">
163
- <text class="form-label">设置新密码<text class="required-star">*</text></text>
164
- <view class="password-strength-indicator" wx:if="{{isShowPasswordStrength}}">
165
- <view class="strength-bar">
166
- <view class="strength-segment {{ passwordStrength >= 3 ? 'strong' : passwordStrength >= 2 ? 'medium' : 'weak' }} {{ passwordStrength >= 1 ? 'active' : '' }}"></view>
167
- <view class="strength-segment {{ passwordStrength >= 3 ? 'strong' : 'medium' }} {{ passwordStrength >= 2 ? 'active' : '' }}"></view>
168
- <view class="strength-segment strong {{ passwordStrength >= 3 ? 'active' : '' }}"></view>
169
- </view>
170
- <view class="strength-text {{ passwordStrength >= 3 ? 'strong' : passwordStrength >= 2 ? 'medium' : 'weak' }}">
171
- {{ passwordStrengthText }}
172
- </view>
173
- </view>
174
- </view>
175
- <g-input
176
- id="bank_card_password"
177
- placeholder="请输入新登录密码"
178
- value="{{ formPwdData.bank_card_password }}"
179
- clearable="true"
180
- password="true"
181
- maxlength="20"
182
- bind:change="handlePwdChange"
183
- bind:input="handlePwdChange"
184
- bind:blur="handlePwdStrongChange"
185
- />
186
- </view>
187
- <!-- 确认新密码 -->
188
- <view class="form-item-wrap">
189
- <g-input
190
- id="bank_card_pwd_password"
191
- label="确认新密码"
192
- placeholder="请再次输入新登录密码"
193
- placeholder-class="bank-card-verify-placeholder"
194
- value="{{ formPwdData.bank_card_pwd_password }}"
195
- clearable="true"
196
- password="true"
197
- maxlength="20"
198
- bind:change="handlePwdChange"
199
- bind:input="handlePwdChange"
200
- bind:blur="handlePwdChange"
201
- />
202
- </view>
203
- </g-form>
204
- </view>
205
- </view>
206
- </view>
207
- </view>
208
-
209
- <!-- 收不到验证码弹窗 -->
210
- <tip-modal
211
- visible="{{ showNotGetVerificationCodeTipModal }}"
212
- bind:cancel="handleNotGetVerificationCodeTipModalCancel"
213
- xAlign="left"
214
- desc1="1、短信验证码会发送至您已在京通绑定的手机号。"
215
- desc2="2、请确认当前手机信号良好并已关闭飞行模式。"
216
- desc3="3、请检查短信是否被手机安全软件拦截。"
217
- desc4="4、如仍收不到短信验证码,请尝试使用人脸识别方式验证。"
218
- ></tip-modal>
219
- <!-- 姓名、证件号码提示弹窗 -->
220
- <tip-modal
221
- visible="{{ showTipModal }}"
222
- bind:cancel="handleModalOk"
223
- desc1="1、如果您在公安局变更了您的姓名或证件号码等信息,请您填写变更后的身份信息进行登录。"
224
- desc2="2、如果当前显示为他人信息(亲属/朋友等),请您删除后使用本人身份信息进行登录。"
225
- ></tip-modal>
226
- <!-- 人脸认证弹窗 -->
227
- <to-other-modal
228
- title="提示"
229
- Confirm="true"
230
- Cancel="true"
231
- ConfirmText="银行卡验证"
232
- CancelText="取消"
233
- confirmColor="#ce0022"
234
- cancelColor="#999"
235
- visible="{{ showToOtherModal }}"
236
- bindConfirmBtn="handleToBankCard"
237
- bindCancelBtn="handleToCancel">
238
- <view class="leave-modal">
239
- <view style="color: #666666;">因您多次人脸识别验证未能通过,为保障账户安全,人脸识别的验证方式已暂时锁定,锁定期间您可使用银行卡方式进行验证或待锁定时效(10 分钟)结束后,重新尝试人脸识别验证。</view>
240
- </view>
241
- </to-other-modal>
242
- <!-- 人脸认证弹窗 -->
243
- <tip-modal
244
- visible="{{ showTipFaceModal }}"
245
- bind:cancel="handleFaceModalOk"
246
- desc1="因您多次人脸识别验证未能通过,为保障账户安全,人脸识别的验证方式已暂时锁定,待锁定时效(10分钟)结束后,重新尝试人脸识别验证。"
247
- ></tip-modal>
@@ -1,397 +0,0 @@
1
- @import '../../components/gsd-ui/static/style/main';
2
-
3
- .top-box {
4
- display: flex;
5
- justify-content: center;
6
- align-items: center;
7
- flex-direction: column;
8
- }
9
-
10
- .title {
11
- font-size: 44rpx;
12
- text-align: center;
13
- }
14
- .title_describe{
15
- font-size: 32rpx;
16
- margin-bottom: 44rpx;
17
- margin-top: 30rpx;
18
- text-align: center;
19
- color: #62667A;
20
- }
21
- .en-page .title {
22
- font-size: 36rpx;
23
- }
24
-
25
- .info {
26
- margin-top: 28rpx;
27
- color: #999999;
28
- }
29
-
30
- .agree-box {
31
- font-size: 28rpx;
32
- color: #979797;
33
- padding: 0 40rpx 0;
34
- }
35
-
36
- .agree-box text {
37
- line-height: 40rpx;
38
- }
39
- .describe-box {
40
- display: flex;
41
- align-items: center;
42
- justify-content: center;
43
- padding-left: 20px;
44
- padding-right: 20px;
45
- }
46
-
47
- .special-describe-box {
48
- display: flex;
49
- background: #9096a41a;
50
- flex-direction: column;
51
- border-radius: 8px;
52
- padding: 12px;
53
- flex: 1 0 0;
54
- color: #ce0022;
55
- font-family: "PingFang SC";
56
- font-size: 14px;
57
- font-style: normal;
58
- font-weight: 500;
59
- line-height: 24px;
60
- }
61
-
62
- .img-box {
63
- width: 160rpx;
64
- height: 160rpx;
65
- margin: 56rpx 0 52rpx;
66
- }
67
-
68
- .img {
69
- width: 160rpx;
70
- height: 160rpx;
71
- }
72
-
73
- .link {
74
- color: #ce0022;
75
- }
76
-
77
- .content-box {
78
- padding-bottom: 60rpx;
79
- }
80
-
81
- .form-tip {
82
- /* border: 1px solid red; */
83
- border-radius: 24rpx;
84
- background: linear-gradient(180deg, #f1f4f9ff 0%, #faf8f700 100%);
85
- padding: 32rpx 36rpx 0;
86
- display: flex;
87
- flex-direction: row;
88
- justify-content: flex-start;
89
- align-items: flex-start;
90
- margin-top: -2rpx;
91
- }
92
- .space-block {
93
- width: 6rpx;
94
- height: 20rpx;
95
- background: #ce0022;
96
- margin-right: 8rpx;
97
- flex-shrink: 0;
98
- margin-top: 10rpx;
99
- }
100
- .tip-desc {
101
- color: #27282eff;
102
- font-size: 14px;
103
- }
104
- .form-options {
105
- width: 750rpx;
106
- background: linear-gradient( #F5FAFF 0%, #F1F7FF 100%);
107
- padding: 0 20rpx 20rpx;
108
- box-sizing: border-box;
109
- }
110
-
111
- .foreign-tip {
112
- display: flex;
113
- flex-direction: row;
114
- justify-content: space-between;
115
- align-items: center;
116
- margin: -12rpx 32rpx 0;
117
- background: #EEF2F6;
118
- border-radius: 8rpx;
119
- padding: 24rpx 16rpx 24rpx 24rpx;
120
- position: relative;
121
- }
122
- .foreign-tip::before {
123
- content: '';
124
- position: absolute;
125
- /* border-left: 17rpx solid transparent; */
126
- border-top: 17rpx solid transparent;
127
- border-bottom: 17rpx solid #EEF2F6;
128
- border-right: 17rpx solid transparent;
129
- top: -30rpx;
130
- right: 18rpx;
131
-
132
- }
133
- .foreign-tip text {
134
- font-weight: 500;
135
- font-size: 26rpx;
136
- color: #62667A;
137
- line-height: 30rpx;
138
- }
139
- .foreign-tip image {
140
- width: 40rpx;
141
- height: 40rpx;
142
- flex-shrink: 0;
143
- }
144
-
145
- .form-item__status-message--warn {
146
- color: #f13939;
147
- font-size: 30rpx;
148
- line-height: 40rpx;
149
- margin-top: 10rpx;
150
- padding-left: 40rpx;
151
- padding-right: 40rpx;
152
- }
153
-
154
- .custom-tips {
155
- position: fixed;
156
- z-index: 905;
157
- box-sizing: border-box;
158
- top: 0rpx;
159
- width: 100%;
160
- }
161
- .forgot-password {
162
- color: #CE0022;
163
- font-size: 32rpx;
164
- white-space: nowrap;
165
- padding: 0 10rpx;
166
- cursor: pointer;
167
- transition: opacity 0.2s ease; /* 过渡效果 */
168
- }
169
-
170
- .forgot-password:active {
171
- opacity: 0.6; /* 点击时透明度变化 */
172
- }
173
-
174
- /* 如果需要下划线效果 */
175
- .forgot-password.underlined {
176
- text-decoration: underline;
177
- }
178
-
179
- .other-way{
180
- display: flex;
181
- align-items: center;
182
- justify-content: center;
183
- padding-left:40rpx;
184
- padding-right: 40rpx;
185
- padding-top: 30rpx;
186
- }
187
-
188
- .other-way-btn{
189
- width: 100%;
190
- height: 96rpx;
191
- border: 1px solid #CE0022;
192
- display: flex;
193
- align-items: center;
194
- justify-content: center;
195
- border-radius: 10rpx;
196
- color: #CE0022;
197
- font-size: 34rpx;
198
- }
199
-
200
- /* 步骤条以及内容 */
201
- .step-content {
202
- margin-top: 5rpx;
203
- }
204
-
205
- .step-panel {
206
- /* background: #fff; */
207
- border-radius: 20rpx;
208
- /* padding: 20rpx; */
209
- /* box-shadow: 0 4rpx 20rpx rgba(0,0,0,0.1); */
210
- }
211
-
212
- .panel-title {
213
- font-size: 36rpx;
214
- font-weight: bold;
215
- color: #333;
216
- margin-bottom: 40rpx;
217
- text-align: center;
218
- }
219
-
220
- .form-item {
221
- margin-bottom: 30rpx;
222
- }
223
-
224
- .label {
225
- font-size: 28rpx;
226
- color: #666;
227
- margin-right: 20rpx;
228
- }
229
-
230
- .value {
231
- font-size: 28rpx;
232
- color: #333;
233
- }
234
-
235
- .verify-methods {
236
- display: flex;
237
- justify-content: space-around;
238
- margin-bottom: 40rpx;
239
- }
240
-
241
- .method-item {
242
- display: flex;
243
- flex-direction: column;
244
- align-items: center;
245
- padding: 30rpx;
246
- border: 2rpx solid #eee;
247
- border-radius: 20rpx;
248
- background: #f9f9f9;
249
- }
250
-
251
- .method-icon {
252
- font-size: 60rpx;
253
- margin-bottom: 20rpx;
254
- }
255
-
256
- .method-text {
257
- font-size: 28rpx;
258
- color: #333;
259
- }
260
-
261
- .btn-primary {
262
- width: 100%;
263
- height: 88rpx;
264
- background: #ce0022;
265
- color: #fff;
266
- border-radius: 44rpx;
267
- font-size: 32rpx;
268
- margin-top: 40rpx;
269
- }
270
-
271
- .btn-primary:disabled {
272
- background: #ccc;
273
- }
274
-
275
- /* 短信验证码 */
276
- /* 验证码按钮样式 */
277
- .verification-btn {
278
- display: inline-flex;
279
- align-items: center;
280
- justify-content: center;
281
- height: 64rpx; /* 胶囊高度 */
282
- padding: 0 28rpx; /* 左右内边距 */
283
- background: #ce0022; /* 红底 */
284
- color: #ffffff; /* 白字 */
285
- font-size: 28rpx;
286
- white-space: nowrap;
287
- border-radius: 40rpx; /* 圆角形成胶囊 */
288
- transition: opacity 0.2s ease;
289
- cursor: pointer;
290
- box-shadow: 0 4rpx 12rpx rgba(206, 0, 34, 0.18);
291
- }
292
-
293
- /* 倒计时状态样式 */
294
- .verification-btn.disabled {
295
- background: #E6E6E6; /* 灰底 */
296
- color: #999999; /* 灰字 */
297
- box-shadow: none;
298
- cursor: not-allowed;
299
- }
300
-
301
- /* 点击效果 */
302
- .verification-btn:active:not(.disabled) {
303
- opacity: 0.85;
304
- }
305
-
306
- /* 收不到验证码 */
307
- .not_get_verification_code{
308
- padding:40rpx; color: #ce0022;
309
- font-family: "PingFang SC";
310
- font-size: 28rpx;
311
- font-style: normal;
312
- font-weight: 500;
313
- line-height: normal;
314
- letter-spacing: -0.3px;
315
- padding: 40rpx;
316
- }
317
-
318
- /* 设置密码强度样式 */
319
- .form-item-header {
320
- display: flex;
321
- align-items: center;
322
- justify-content: space-between;
323
- margin-top: 40rpx;
324
- margin-bottom: -30rpx;
325
- padding: 0 40rpx;
326
- }
327
-
328
- .form-label {
329
- font-size: 30rpx;
330
- line-height: 40rpx;
331
- margin-bottom: 6rpx;
332
- }
333
-
334
- .password-strength-indicator {
335
- display: flex;
336
- align-items: center;
337
- gap: 25rpx;
338
- }
339
-
340
- .strength-bar {
341
- display: flex;
342
- gap: 4rpx;
343
- }
344
-
345
- .strength-segment {
346
- width: 60rpx;
347
- height: 10rpx;
348
- border-radius: 4rpx;
349
- background-color: #e5e5e5;
350
- transition: background-color 0.3s ease;
351
- }
352
-
353
- .strength-segment.weak.active {
354
- background-color: #ff4757;
355
- }
356
-
357
- .strength-segment.medium.active {
358
- background-color: #ffa502;
359
- }
360
-
361
- .strength-segment.strong.active {
362
- background-color: #2ed573;
363
- }
364
-
365
- .strength-text {
366
- font-size: 28rpx;
367
- font-weight: bold;
368
- padding-right: 20rpx;
369
- }
370
-
371
- .strength-text.weak {
372
- color: #ff4757;
373
- }
374
-
375
- .strength-text.medium {
376
- color: #ffa502;
377
- }
378
-
379
- .strength-text.strong {
380
- color: #2ed573;
381
- }
382
-
383
- .readonly-input input {
384
- pointer-events: none !important;
385
- color: #333 !important;
386
- }
387
-
388
- /* 保持图标可点击 */
389
- .readonly-input .input__icon__container {
390
- pointer-events: auto !important;
391
- }
392
- .required-star {
393
- color: #f13939;
394
- margin-left: 2rpx;
395
- font-size: 30rpx;
396
- font-weight: bold;
397
- }