05 uniapp/微信小程序 项目day05( 二 )


同样的会有两个返回 , 一个是否为null的错误返回 , 一个是成功返回 , 而且promise catch捕获一下错误

05 uniapp/微信小程序 项目day05

文章插图
如果返回有值 , 且有confirm这个对象 , 那么就清空token、userinfo、地址信息
05 uniapp/微信小程序 项目day05

文章插图
1.2.4 三秒跳转当未登录的时候在购物车点击结算应该提示未登录 , 还有多少s跳转到登录页
定义一个初试的秒数
05 uniapp/微信小程序 项目day05

文章插图
当我们没有token也就是没有登陆的时候就去调用一个定时器每秒钟执行这个提示
注意 , toast有一个属性mask , 表示开启了面罩不能够点击后面的内容 , 防止点击穿透
05 uniapp/微信小程序 项目day05

文章插图
现在要解决的问题 , 就是让秒数到0后就跳转过去并且停止定时器
创建一个定时器
05 uniapp/微信小程序 项目day05

文章插图
判断seconds是否小于0 , 如果是就停止定时器 , 并且跳转过去 , 最重要的return返回seconds为3
05 uniapp/微信小程序 项目day05

文章插图
登录成功后导航跳转
当我们登陆成功应该从哪来回哪去 , 这里用的方法是
首先在vuex定义一个对象 , 这个对象应该存储两个信息 , opentype以及form , 分别表示跳转的方式和跳转的地址
05 uniapp/微信小程序 项目day05

文章插图

05 uniapp/微信小程序 项目day05

文章插图
然后我们在点击结算那里进行一个传值
在我们跳转的成功回调里面进行传值
05 uniapp/微信小程序 项目day05

文章插图
这个时候 , 我们的登陆成功得到token后面应该去判断一下是否有这两个值 , 有就跳转 , 并且把redirectInfo重置为空对象 , 不然容易出现问题
05 uniapp/微信小程序 项目day05

文章插图
1.3 微信支付首先前提:我们需要将请求头改变 , 因为只有登录之后才能调用支付相关的接口 , 所以必须为有权限的接口添加请求头字段
在请求拦截器操作 , 我们的请求拦截器参数 , 会有url以及Authorization等属性 , 如果说url里面带有my就是表示需要权限的接口 , 这个时候就要参数里面的header的authorization属性带上我们的token去发起请求
05 uniapp/微信小程序 项目day05

文章插图
微信支付三部曲:
首先创建订单
在我们点击结算那里都通过了验证就整合数据 , 创建订单接口需要的数据
05 uniapp/微信小程序 项目day05

文章插图
整合数据
05 uniapp/微信小程序 项目day05

文章插图
然后发起请求并保存下来
05 uniapp/微信小程序 项目day05

文章插图
订单预支付
然后继续拿这个订单编号去发起预支付的请求 , 获取到要调用微信支付api的一些参数
05 uniapp/微信小程序 项目day05

文章插图
实现支付
用到微信支付的api uni.requestPayment

经验总结扩展阅读