• 咨询热线:183-2604-9402
当前位置: 首页 > 新闻资讯 > 企业微信资讯

前端微信小程序开发面试题(前端小程序面试题及答案2019)web前端小程序面试题,全程干货,

作者:147小编 | 发布时间:2023-03-09
web前端面试常被问到微信小程序开发中的支付和退款流程笔记总结,

1.前端微信小程序开发面试题

微信小程序支付的主要逻辑集中在后端,前端只需携带支付所需的数据请求后端接口然后根据返回结果做相应成功失败处理即可。

2.微信小程序前端面试题答案

一、 支付支付主要分为几个步骤:1、前端携带支付需要的数据(商品id,购买数量等)发起支付请求2、后端在接收到支付请求后,处理支付数据,然后携带处理后的数据请求 微信服务器 的 支付统一下单接口3、后端接收到上一步请求微信服务器的返回数据,再次处理,然后返回前端让前端可以开始支付。

3.小程序前端面试题2021

4、前端进行支付动作5、前端支付完成后,微信服务器会向后端发送支付通知(也就是微信要告诉你客户已经付过钱了),后端根据这个通知确定支付完成,然后就去做支付完成后的相应动作,比如修改订单状态,添加交易日志啊等等。

4.微信小程序开发面试问题

后端主要的作用就是将支付需要的数据传给微信服务器,再根据微信服务器的响应确定支付是否完成具体实现流程步骤如下:1、小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器

5.前段小程序面试题

2、开发者服务器以code换取用户唯一标识openid 和 会话密钥session_key通过小程序提交的code,和小程序的APPID以及APPSECRET和拼接下列的url,并用curl进行get请求。

6.微信小程序前端开发技术

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

7.微信小程序面试题2019

返回的数据是一个json对象,我门通过使用json_decode(JSON,true)解析为数组,数据包括用户的openID以及session_key,获取到了后我们应该将openID存入数据库中,它代表着用户的身份。

8.小程序开发工程师面试题

3、token的生成以及缓存我们根据一个用户表将id和openid联系起来,对应openID的id则是用户的uid,我们可以这么封装

9.前端小程序面试题及答案2019

缓存的方式我们可以选择redis,memcache, 文件缓存等等,采用键值对(key-value)的方式进行存储,记得设置好过期时间这里的key我们用token来赋值,token可以通过这样的方式进行生成:。

10.web前端小程序面试题

这种算法基本保障了token的唯一性因为值是我们获取到的openID和session_key所在的数组,所以需要将数组转成json才能存进去以后的代码当我们需要openID或者uid等时可以直接通过取缓存的方式来取。

5、前端请求支付前端请求支付,就是简单的携带支付需要的数据,例如用户标识(小程序调用登录接口获取code,传递给商户服务器用来获取用户的openID),支付金额,支付订单 ID 等等跟与业务逻辑相关或者下一步请求微信服务器支付统一下单接口需要的数据相关数据,使用微信小程序的 wx.request( ) 去请求后端的支付接口。

6、后端请求微信服务器后端接收到前端发送的支付请求后,可以进行一下相关验证,例如判断一下用户有没有问题,支付金额对不对等等在验证没什么问题,可以向微信服务器申请支付之后,后端需要使用 微信规定的数据格式 去请求微信的支付统一下单接口。

微信规定的请求数据:(1)小程序 appid(2)用户标识 openid(3)商户号 mch_id (4)商户订单号 out_trade_no (5)总金额 total_fee 订单总金额,很重要的一点是单位是分,要特别注意。

(6)微信服务器回调通知接口地址 notify_url微信确认钱已经到账后,会往这个地址多次发送消息,告诉你顾客已经付完钱了,你需要返回消息给微信表示你已经收到了通知这个地址不能有端口号,同时要能直接接受POST方法请求。

(7)交易类型 trade_type,微信小程序支付此值统一为 JSAPI(8)商品信息 Body,类似"腾讯-游戏"这种格式(9)终端IP地址 spbill_create_ip ,终端地址IP,也就是请求支付的 IP 地址。

(10)随机字符串 nonce_str ,需要后端随机生成的字符串用于保证数据安全微信要求不长于32位(11)签名 sign 使用上面的所有参数进行相应处理加密生成签名(具体处理方式可见下文代码,可直接复用。

)在处理好以上所有数据后,将这些数据以 XML 格式整理并以 POST 方法发送到 微信支付统一下单接口7、后端接受微信服务器返回数据微信服务器在接收到支付数据之后,如果数据没有问题,其会返回用于支付的相应数据,其中非常重要的是 名称为 prepay_id 的数据字段,需要将此数据返回前端,前端才能继续支付。

因此,在后端接收到微信服务器的返回数据后,需要进行相应的处理,最终返回到前端如下数据:(1)appid 不需多说;(2)timeStamp 当前时间戳;(3)nonceStr 随机字符串;(4)package 就是上面提到的 prepay_id,不过切记格式如 “prepay_id= (5)prepay_id_item“。

否则会导致错误;(6)signType 加密方式,一般应该是 MD5;(7)paySign 对以上数据进行相应处理并加密到这里,后端的支付接口已经完成了接收前端支付请求,并返回了前端支付所需数据的功能8、前端发起支付(wx.requestPayment小程序发起支付请求);

前端在接收到返回数据后,使用 wx.requestPayment() 来请求发起支付。此 API 需要的对象参数各项值就是我们上一步返回的各个数据。

如果一切正常的话,在微信开发者工具就会显示这个二维码,如果在真机上测试的话,就会直接弹出支付页面小程序会直接显示支付成功或者失败的页面,然后微信服务器就会开始访问我们之前设置的支付回调地址来推送支付结果,根据结果可以来更新订单的状态。

9、支付回调前端完成支付后,微信服务器确认支付已经完成就会向第一步中设置的回调地址发送通知后端的接收回调接口在接收到通知后,就可以判断支付是否完成,从而决定后续动作需要注意的是,在接收到微信服务器的回调通知后,根据通知的result_code字段判断支付是否成功。

在接受到成功的通知后,后端需要返回success数据向微信服务器告知已得到回调通知否则微信服务器会不停的向后端发送消息另外微信的通知是以XML格式发送的,在接受处理时需要注意微信的大概支付流程就是这样

上一篇:微信定制公司(微信定制公司名称怎么取)微信定制公司名称怎么写
下一篇:前端微信小程序开发面试题(微信小程序面试题2020)微信小程
热门服务和内容
推荐文章