baidu-smart-app / auth-pay-demo-frontend

登录授权+支付开发示例前端代码

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

项目介绍

小程序登录授权及支付前端示例代码。

项目模块

登录示例

小程序登录授权的内部实现完整流程图见下图。

登录授权内部实现

1. 手机号快捷登录(组件button)

  • 调用该组件时,如果拿不到iv,说明用户授权拒绝
  • 如果没有全局存下的openID,需要先拿到开发者服务端的sessionKey,以进行进一步的解密操作。具体操作是:先调用swan.getLoginCode拿到code,回传给服务端,服务端返回openID,详情见本例中handlePhoneNumber事件处理过程
  • 如果可以拿到ivopenID,需要将encryptedDataivopenID回传给服务端,供服务端解密。详情见本例中requestPhoneNumber事件处理过程

服务端的解密操作参见auth-demo-backend登录授权服务端示例/auto/login/auth/phone接口。

2. 获取用户信息(组件button)

获取用户数据时,会直接吊起登录面板,用户允许授权并且登录后,调用/auth/login接口,与服务端打通。将获取到的用户加密数据encryptedDataiv openID,传给服务端/auth/userinfo接口,获取解密后的用户数据。详情见本例中getUserData事件处理过程

支付示例

支付示例展示了创建订单、查看订单详情、申请退款的流程。对应请求的接口为/pay/gen/pay/status/pay/refund。由于主要处理在服务端,这里就不再赘述,详细处理方法见服务端示例

前端项目部署

1、执行git clone https://github.com/baidu-smart-app/auth-pay-demo-frontend.git克隆支付前端代码库 ,并使用百度开发者工具打开
2、如果仅使用该demo 试用授权登录功能,可以参考服务端示例,部署本地调试环境
3、如果需要应用到具体的业务需求中,建议自行搭建后端服务,并将app.js中配置的host(http://127.0.0.1:8080) 替换为自己的业务域名

About

登录授权+支付开发示例前端代码


Languages

Language:JavaScript 76.3%Language:CSS 23.7%