release: freeze V1.2 demo acceptance 2026-10-25
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Waiting to run
CI/CD Pipeline / Backend Build & Test (push) Waiting to run
CI/CD Pipeline / Admin Web Build (push) Waiting to run
CI/CD Pipeline / Mini Program Compile Check (push) Waiting to run
CI/CD Pipeline / Migration Validation (push) Blocked by required conditions
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Waiting to run
CI/CD Pipeline / E2E (live stack) (push) Blocked by required conditions
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Waiting to run
CI/CD Pipeline / Backend Build & Test (push) Waiting to run
CI/CD Pipeline / Admin Web Build (push) Waiting to run
CI/CD Pipeline / Mini Program Compile Check (push) Waiting to run
CI/CD Pipeline / Migration Validation (push) Blocked by required conditions
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Waiting to run
CI/CD Pipeline / E2E (live stack) (push) Blocked by required conditions
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
const { authService } = require('../../services')
|
||||
|
||||
Page({
|
||||
data: {
|
||||
name: '', organization: '', organizationPhone: '', phone: '', code: '',
|
||||
sending: false, submitting: false, countdown: 0, error: '',
|
||||
},
|
||||
|
||||
onInput(event: WechatMiniprogram.Input) {
|
||||
this.setData({ [event.currentTarget.dataset.field]: event.detail.value, error: '' })
|
||||
},
|
||||
|
||||
async onSendCode() {
|
||||
const { phone } = this.data
|
||||
if (!/^1\d{10}$/.test(phone)) return this.setData({ error: '请输入正确的手机号' })
|
||||
this.setData({ sending: true, error: '' })
|
||||
try {
|
||||
await authService.sendPhoneCode(phone)
|
||||
this.setData({ countdown: 60 })
|
||||
const timer = setInterval(() => {
|
||||
if (this.data.countdown <= 1) {
|
||||
clearInterval(timer)
|
||||
this.setData({ countdown: 0 })
|
||||
} else this.setData({ countdown: this.data.countdown - 1 })
|
||||
}, 1000)
|
||||
} catch (error: any) {
|
||||
this.setData({ error: error?.message || '验证码发送失败' })
|
||||
} finally { this.setData({ sending: false }) }
|
||||
},
|
||||
|
||||
async onRegister() {
|
||||
const { name, organization, organizationPhone, phone, code } = this.data
|
||||
if (!name || !organization || !organizationPhone || !/^1\d{10}$/.test(phone) || !code) {
|
||||
return this.setData({ error: '请完整填写注册信息' })
|
||||
}
|
||||
this.setData({ submitting: true, error: '' })
|
||||
try {
|
||||
const verification = await authService.verifyPhone(phone, code)
|
||||
await authService.register({ name, organization, organizationPhone, phone, verificationTransaction: verification.verificationTransaction })
|
||||
wx.showModal({ title: '提交成功', content: '注册申请已提交,请按页面提示完成资料完善。', showCancel: false, success: () => wx.navigateBack() })
|
||||
} catch (error: any) {
|
||||
this.setData({ error: error?.message || '注册失败,请重试' })
|
||||
} finally { this.setData({ submitting: false }) }
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user