这个项目主要是应用于移动端,web移动端,微信端,APP。功能主要包含:火车数据搜索,预定车程,在线选座,在线支付等。其中数据搜索模块,我们使用了第三方的数据接口,前端收集到用户的查询需求后,然后通过Promise 异步请求后端数据接口,后端接口使用PHP接受到请求后,生成请求的报文,请求第三方接口,然后将第三方返回都是数据进行整理,然后返回符合前端使用标准的JSON。最后将这份JSON数据存储到Redis 中,10分钟内,如果还有同样条件的请求,直接返回整理好的JSON缓存数据。
用户中心主要用于用户管理订单。主要功能包括:用户登录、订单查询,订单处理(在线退票,改签,问题咨询、等)。
其中用户登录使用了腾讯云的国际短信发送的API接口。用户在确认订单页面,需要输入用户的手机号,勾选开通用户中心后,默认使用输入的手机号进行注册,并且绑定对应的订单号。用户每次登录使用短信登录,验证码为一个六位的随机数,用户正确输入手机号和验证码到后,将数据发送到后端验证接口,后端接口通过后,将电话号吗和时间戳进行 hash(sha256) 编码成accessToken,然后返回给前端,前端接受到数据后,存储到localstroage。之后用户每次打开用户中心,不需要再发短信验证登录,通过accessToken 和 手机号来进行免密登录。accessToken 有效期为半个月,半个月后需要重新发送短信验证码重新生成accessToken来进行免密登录。
技术:使用了react + mbox + ant design 进行开发的前端页面。