2019-04-04项目部分功能逻辑梳理

商城项目部分逻辑梳理

用户注册(需要获取到手机号)

用户第一次登录微信小程序会有openid

可以选择微信注册(老版本的微信注册可能会不需要手机号)或者手机号注册

1
<Button open-type='getPhoneNumber' onGetPhoneNumber={处理后续注册操作}></Button>

微信注册后,得到unionid

手机注册

手机号验证

1
!/^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\d{8})$/.test(phoneNumber)

短信验证码发送倒计时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// state = { timeCountDown: 60 }
timeCountDownFunc () {
const countdown = setInterval(() => {
this.setState({
timeCountDown: --this.state.timeCountDown
}, () => {
if (this.state.timeCountDown===0) {
this.setState({
checkCodeClicked: false,
timeCountDown: 60
})
clearInterval(countdown)
}
})
}, 1000)
}

短信验证码验证

1
!/^([0-9]{6})$/.test(checkCode)

功能检验

  • 判断手机号是否正确
  • 判断短信验证码是否正确
  • 判断后端返回的错误信息
  • 执行手机号注册功能

商品加入购物车、直接购买

功能检验

  • 判断商品库存
  • 判断是否是在团购、秒杀等时间内
  • 判断后端返回的错误信息
  • 执行加入购物车、立即购买功能