会不会经常碰到这种情况?
明明平时经常用到,但一到面试就回答不上来
小程序呢,做起来简单,但是到真正面试的时候,又会觉得很多东西答不上来,明明平时经常用,但是一到面试就打不上来,在这里呢,我也挑选出了一些面试可能会问到的问题,希望对你即将面试的你有所帮助
1.小程序的实现原理是什么?
小程序主要使用的是前端技术栈:wxml wxss js
和常规的前端有相似之处但又有所不同
wxml: 展示小程序的界面,使用的xml语法
js : 小程序的js是运行在微信App中的
wxss: 拥有大部分的css特性
在ios中,小程序的javascript运行在javascriptCore中
在Android中,小程序的javascript是通过X5内核来解析的
2.将所有的接口放在统一的js文件中并导出

2.封装网络请求接口
这个可以在我的如下地址的文章看到,你们可以直接复制代码然后稍加改动就可以用了
https://www.jianshu.com/p/a845637d3695
3.小程序中实现登录
a.使用wx.login获取code值
b.使用wx.request请求后台的api,把code值作为参数发送给后台
后台会根据我们传过去的code值来获取openid和session_key
微信官方建议:为了安全不要直接采用openid和session_key来作为用户身份的标识
把微信账号登录态生成一个session id并维护在我们自己的session机制中,然后把这session id派发到小程序客户端作为session标识来使用。
c.把session_id保存到本地,使用wx.setStorage保存到本地,
d.在你需要使用的地方session_id的地方调用wx.getStorage(建议你也可以封装一个方法,就可以很方便的取出你要的数据)
f.在你调用那些需要后台登录才可以访问的接口的时候,就可以把session_id作为参数加到header或者query里面就可以了
*使用wx.checkSession来检测登录状态是否过期,如果过期了才调用登录接口,而不是每次进入小程序都调用登录接口,这样也可以优化页面加载速度
网友评论