微信小程序面试题

最近开始学习微信小程序,初步掌握了应用小程序在项目中的业务开发,但还是感觉有很多需要掌握的原理等知识点,所以就通过面试题来总结一下吧。(本菜鸟比较懒,之后有时间再慢慢写。。。)

一、小程序中有几种文件?

  • json文件:json是一种数据格式,并不是编程语言,在小程序中,它扮演的是静态配置的角色。常见的json文件有3种:
    • 小程序配置app.json:做全局配置;

    • 页面配置page.json:对小程序具体页面的配置;

    • 工具配置project.config.json:对开发者工具的个性化配置,如域名校验、代码上传时自动压缩等(参考项目配置文件 | 微信开放文档)。

  • WXML模板:全称(WeiXin Markup Language) 微信标记语言 ,结合小程序的基础组件、事件系统,可以构建出页面的结构。

  • WXSS:(WeiXin Style Sheets) 小程序的样式语言,用于描述wxml的组件的视觉效果,就相当于网页的css。
  • JavaScript脚本语言:逻辑处理,网络请求。

 

二、小程序中的自定义事件,如何传值到js?

通过data-key实现,key的名称可以自定义。

在js中通过event参数获取,event.currentTarget.dataset.key。

注意:key不允许大写,不可以存放对象,有两种支持的写法:

  • data-element-type ,最终会呈现为:event.currentTarget.dataset.elementType ;
  • data-elementType ,最终会呈现为 event.currentTarget.dataset.elementtype 。

 

三、wxss和css有无不同?

为了适应广大的前端开发者,WXSS 具有 CSS 大部分特性。同时为了更适合开发微信小程序,WXSS 对 CSS 进行了扩充以及修改。

与 CSS 相比,WXSS 扩展的特性有:

  • 尺寸单位:支持rpx,可以根据屏幕宽度进行自适应,规定屏幕宽度为750rpx;
  • 样式导入:使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。

区别:

  • wxss 中的本地资源图片无法通过 WXSS 获取,可以使用网络图片,或者 base64,或者使用<image/>标签。

 

四、小程序关联微信公众号如何确定用户的唯一性?

在小程序中有openid、union_id

openid是同一用户同一应用唯一;

union_id是同一用户不同应用唯一。

所以,想要确定用户的唯一性,只能用union_id。

使用 wx.getUserInfo方法 withCredentials 为 true 时 可获取 encryptedData,里面有 union_id。后端需要进行对称解密

五、小程序页面的生命周期

页面生命周期首先考虑三个事件:

  • 监听页面初次加载:onLoad,在页面没被销毁之前只会触发1次,可以在onLoad 的参数中获取打开当前页面路径中的参数;

  • 监听页面显示:onShow,页面显示/切入前台时触发;

  • 监听页面初次渲染完成:onReady,在页面没被销毁前只会触发1次,代表页面已经准备妥当,可以和视图层进行交互。

页面显示后,随着用户的操作,还会触发其他事件:

  • 监听页面隐藏:onHide,页面隐藏/切入后台时触发,wx.navigateTo切换到其他页面、底部tab切换时触发;

  • 监听页面卸载:onUnload,返回到其它页时,wx.redirectTowx.navigateBack使当前页面被微信客户端销毁回收时触发。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uniapp 是一个跨平台的开发框架,可以在不同的平台上实现一次编码,多端部署,非常适合开发微信小程序。以下是 Uniapp 微信小程序面试题的答案: 1. Uniapp 是什么? Uniapp 是一个跨平台的开发框架,可以基于 Vue.js 做开发,实现一次编码多端部署,包括微信小程序、H5、APP(安卓和 IOS)、快应用等。 2. 与传统微信小程序开发的区别是什么? 与传统微信小程序开发相比,Uniapp 开发更加高效,可以大大减少开发时间,同时也可以让开发者更加便捷地实现一次编码多端部署。 3. Uniapp 微信小程序如何实现多端适配? Uniapp 可以使用自动适配方案,在不同机型上自动调整组件大小和布局。如果需要自定义适配方案,可以根据不同平台的 CSS 尺寸单位和样式特性定义不同的样式来实现多端适配。 4. 如何添加微信小程序原生组件? 可以在 Uniapp 项目中使用相应的组件,然后在微信小程序中进行适配。如果需要使用微信小程序原生组件,可以使用插件的形式将原生组件导入 Uniapp 项目中使用。 5. 如何进行微信小程序支付? 可以使用 uni.request 接口向自己服务端请求支付的相关参数,然后调用 uni.requestPayment 接口发起支付请求,支付成功后进行相应的处理。在开发过程中需要注意安全性和用户体验,避免出现支付问题。 总之,Uniapp 微信小程序的开发让开发者更加容易实现一次编码多端部署,提高开发效率,也让用户体验更加顺畅。在开发过程中需要根据不同的需求和平台特性进行适配,保证产品的质量和用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值