【UNIAPP相关】面试准备

以下要记住,如果说vue的特性,一般uniapp也是有的,不要在面试馆问你的时候脑子转不过来弯。

uniapp的好处是什么 / 你为什么选择uniapp

答: uniapp轻量化,并且多端适用,一套代码可以适配小程序、H5甚至ios和安卓APP,可扩展性比较强。并且是基于vue的,上手比较容易。

你简历中写的 await / async 实现了异步的请求,具体是怎么实现的?

前置知识:异步与同步—await / async
答:首先定义了一个用来获取计算结果的函数并且设为async函数,在进行数据计算的时候,发送请求并且用await修饰,请求计算有延迟,页面开始异步等待,等待结束后返回给一个变量,当获取到变量的时候,通过uniapp的双向绑定,将数据渲染出来

uniapp的预加载功能是怎么实现的呢?

答: 因为uniapp有提供一个预加载的API,uni.preloadPage。该项目的有个页面因为有视频,每次都加载的很慢,但是我如果每次进入APP时,就调用uni.preloadPage,这样视频页面就提前渲染,进入页面也就更快了。

uni.preloadPage({url: "/pages/test/test"});  //花括号里写需要预加载的页面

uniapp / vue的生命周期是什么

见我的另一篇文章:关于uniapp和Vue的生命周期

你接入微信支付的流程是怎么样的

首先通过选中的商品信息或者购物车中的商品进行计算,通过需要购买的商品信息和用户身份验证向后端生成一份订单,其中包括订单的详细信息、订单号等等。

我拿着订单号向后端请求支付,后端会通过请求微信的官方接口,获取验证签名、时间戳等信息,并且返回给前端,前端接受到参数后,用uni.requestPayment的API调起微信的支付页面。

后端收到支付的结果后,更改当前订单的支付状态,并且锁定支付行为,避免重复支付,(如果问具体的,你就说这个是后端做的)前端在拿到订单为已支付的状态之前,一直轮询订单状态,知道支付状态更新,整个支付流程结束。

你uniapp是怎么接入用户登录的

通常采用的是token验证的方式。

首先先引导用户点击登录按钮,根据微信的规则,通过登录按钮能拿到一个session,拿着这个session,可以获取到用户的具体信息和在小程序中的唯一ID:openid,这时在将数据存进数据库中,生成一条用户信息。后端通过用户信息返回一条可过期的token,我之后接入任何请求的时候只要验证token是否合法,把token带进header里就可以了。

uniapp中是怎么接入接口的

可以直接用httpGet/Post的方式,也可以用Uniapp中封装好的uni.request函数,只需要传入地址、请求方法、参数就可以发送请求,也可以根据需求修改请求头。
更多需要深入了解

简历中写有通过canvas保存二维码,能讲讲具体怎么实现的么

前置知识:canvas相关
我是这样做的,先通过html2canvas这个插件将需要保存的节点转化为canvas,然后canvas可以生成base64格式的图片,并且转化为图片展示,用户可以长按图片就保存到本地了。

能够讲讲双向绑定的理解吗

双向数据绑定就是,只要数据变化视图就变化,如果视图变化数据就变化,不管是vue还是uniapp,都是采用数据双向绑定的方法。其主要原理就是通过Watcher订阅者的方式对数据变化的监听,如果数据改变就及时更新,这也是vue的一个比较好的特性,防止数据改变了但是视图状态没改变的情况出现。

vue和uniapp如何获取dom

什么是dom?
通过给元素设置ref挂载在refs上,通过refs对象可以获取到对应的元素,就可以进行相关操作了

	<div class="content" ref="btn">
	console.log(this.$refs.btn);
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值