官方文档:
转发:获取更多转发信息。 一般开发者希望在第二次打开转发的小程序时,能够获取到一些信息,比如群组的logo等。 现在通过调用wx.showShareMenu并设置withShareTicket为true,当用户将小程序转发到任意群聊时,转发的卡片被群聊中的其他用户打开时,可以在App.onLaunch或App.onShow中获取shareTicket 。 调用wx.getShareInfo套接字传入这个shareTicket即可获取转发信息。
页面发起转发的基础库1.2.0开始支持,低版本需要兼容。
通过给按钮组件设置属性open-type="share",可以在用户点击按钮后触发Page.onShareAppMessage风暴。 相关组件:按钮。
12、如何获取地理位置? (必须)
步骤1:通过wx.openSetting套接字获取用户的授权。 步骤2:收到用户授权后,使用Momo的wx.getLocation套接字获取当前位置的经度。 第三步:结合第三方地图Socket查询区域信息
13.如何封装自定义组件? (必须)
文档:
自定义组件从applet基础库1.6.3版本开始,applet支持简单的基于组件的编程。 所有与自定义组件相关的功能都需要基础库版本 1.6.3 或更高版本。
开发者可以将页面中的功能模块可视化为自定义组件,方便在不同页面中复用; 他们还可以将复杂的页面拆分为多个低耦合的模块,这有助于代码维护。 自定义组件的工作方式与基本组件非常相似。
创建自定义组件类似于页面。 自定义组件由 jsonwxmlwxssjs4 文件组成。 要编译自定义组件,首先需要在json文件中声明自定义组件(将组件数组设置为true即可将这组文件设置为自定义组件):
{
"component": true
}
同时,还需要在wxml文件中编译组件模板,并将组件样式添加到wxss文件中。 它们的书写方法与页面的书写方法相似。 有关详细信息和注意事项,请参阅组件模板和样式。
14. 什么是网页浏览量? (必须)
一个承载网页的容器。它会手动覆盖整个小程序页面,暂时不支持个人类型的小程序
15.微信小程序支付需要哪些参数? (必须)
文档:
API:wx.requestPayment(Object对象)
wx.requestPayment({
timeStamp: '',
nonceStr: '',
package: '',
signType: 'MD5',
paySign: '',
success (res) { },
fail (res) { }
})
16、简述一下陌陌小程序的相关文件类型? (必须) 17、小程序中传递参数的方法是什么? (必须) 18.简述陌陌小程序的原理? (必须) 19、小程序的单向绑定和vue的单向绑定有区别吗? (必须)
这个和小程序中直接的数据的属性无法同步到视图中,必须调用:
小程序:
Page({
data: {
items: []
},
onLoad: function(options) {
this.setData({ items: [1,2,3] } )
}
})
视图:
new Vue({
data: {
items: []
},
mounted () {
this.items = [1, 2, 3]
}
})
20、小程序的wxss和css有什么区别? (必须) 21.分析陌陌小程序的优缺点? (必须)
优势:
1.无需下载,搜索扫描即可打开 2.用户体验好:打开速度快 3.开发成本比App低 4.可以添加到Android上的桌面,几乎是与原生App相同 5.为用户提供良好的安全性。对于小程序的发布,陌陌有严格的审核流程,未通过审核的小程序很难上线发布
缺点:
1、限制条件较多。 页面大小不能超过1M。 超过5级的页面无法打开。 2、风格单一。 小程序的某些组件已经成型,样式无法更改。 如:神奇kt板、导航3,推广范围狭窄,无法分享给同学,只能通过鱼翔分享给同学,并用附近的小程序进行推广。其中,附近的小程序还受Momo限制 4.依赖Momo,很难开发后台管理功能
22.微信小程序和H5有什么区别? (必须)
首先是运行环境的差异。 传统的HTML5运行环境是浏览器; 而陌陌小程序的运行环境并不是一个完整的浏览器,而是完全由陌陌开发团队基于浏览器内核构建的外部解析器。 ,专门针对小程序进行了优化,配合我们自己定义的开发语言标准,提高了小程序的性能
其次是开发成本的区别,它只运行在Momo中,所以你不必担心浏览器兼容性,也不必担心生产环境中出现不可预知的奇妙bug
三是获取系统级权限的差异。 系统级权限可与陌陌小程序无缝对接
第四项是应用在生产环境中的运行流畅度。 长期以来,HTML5应用在面对复杂的业务逻辑或者丰富的页面交互时,其体验总是不尽如人意,需要对项目进行不断的优化。 提高用户体验。
并且由于陌陌小程序有独立的运行环境
23.bindtap和catchtap有什么区别? (必须)
相同点:首先,它们都是点击波函数,点击时触发。在这个函数中,它们是相同的,所以不需要区分
区别:它们的主要区别是bindtap不会停止冒泡,catchtap会停止冒泡
24、简单描述一下wx.navigateTo()、wx.redirectTo()、wx.switchTab()、wx.navigateBack()、wx.reLaunch()的区别? (必须)
wx.navigateTo():保留当前页面并跳转到应用程序中的某个页面。 并且无法跳转到tabbar页面 wx.redirectTo():关闭当前页面,跳转到应用程序中的某个页面。 并且不允许跳转到tabbar页面 wx.switchTab(): 跳转到abBar页面,并关闭所有其他非tabBar页面 wx.navigateBack(): 关闭当前页面并返回上一页或多级页面。可以通过getCurrentPages()获取当前页面堆栈,并决定需要返回多少层 wx.reLaunch():关闭所有页面并打开应用程序中的某个页面
25、小程序和原生应用,哪个更好? (必须)
小程序不仅具有开发成本低、获客成本低、公众号无需下载等优势,还大大改善了服务请求延迟和用户体验,使得承载复杂的业务成为可能。 功能,使用户获得更好的用户体验
26、如何解决小程序的异步请求问题? (必须)
小程序支持大部分ES6句型,处理返回成功或使用Promise的弹跳上的逻辑
27. 样式导出(WeUIfor)? (必须)
下载weUI,将文件夹导入到app.js同级目录,在app.wxss上面导入weui.wxss,导入到需要导入weUI插件样式的页面的json文件中小程序调用网站幻灯片,然后直接在中使用对应页面组件的wxml
28.小程序规格单位rpx? (必须)
文档:
无线XSS
WXSS(WeiXinStyleSheets)是一种用于描述WXML组件样式的样式语言。
WXSS 用于确定 WXML 组件应如何显示。
为了适应广大后端开发者,WXSS具备了CSS的大部分功能。 同时,为了更加适合陌陌小程序的开发,WXSS对CSS进行了扩展和改变。
与 CSS 相比,WXSS 扩展的特点是: - 规范单元 - 样式导出
规格单位
rpx(responsivepixel):可以根据屏幕的长度进行自适应。 指定的屏幕宽度为750rpx。 例如,在iPhone6上,屏幕长度为375px,总共有750个数学像素,那么750rpx=375px=750个化学像素,1rpx=0.5px=1个化学像素。
29. 小程序文件的范围是什么? (必须)
JavaScript 文件中声明的变量和函数仅在该文件中有效;
同名的变量和函数可以在不同的文件中声明,互不影响
全局应用程序实例可以通过全局函数getApp获取。 如果需要全局数据,可以在App()中设置
30.什么是小程序选择器? (必须)
选择器 目前支持的选择器有:
选择器
样本
样品描述
。班级
。介绍
选择所有 class="intro" 的组件
#ID
#名
选择 id="firstname" 的组件
元素
看法
选择所有视图组件
元素,元素
视图、复选框
选择所有文档视图组件和所有复选框组件
::后
查看::之后
在视图组件后面插入内容
::前
查看::之前
在视图组件后面插入内容
全局样式和局部样式 app.wxss 中定义的样式是全局样式,应用于每个页面。 页面的wxss文件中定义的样式是部分样式,仅适用于相应的页面并覆盖app.wxss中相同的选择器。
31、小程序的常用组件? (必须)
视图、滑动器、滚动视图、文本、按钮、输入、图像等。
32.微信小程序长按识别二维码(必须)
图片组件中的二维码/小程序码图片不支持长按识别。长按识别的示例代码仅在wx.previewImage中支持
33.从列表页跳转到详情页(动态改变标题)(必须)
陌陌小程序的setNavigationBarTitle方法可以实现标题的动态配置。 这个方法可以写在onLoad或者onSHow上。
34.输入组件占位符字体颜色(必须)
placeholder-style 和 placeholder-class 是Momo小程序中使用的属性,用于设置占位符的样式
35、陌陌小程序的数据请求(http-promise)如何封装? (高薪常见问题) 36、小程序关联陌陌公众号时,如何判断用户的唯一性? (高薪常见问题)
当使用wx.getUserInfo方法withCredentials为true时,就可以得到上面有UnionID的加密数据。前端需要对称暴露
37.我可以通过小程序申请陌陌支付吗? (学习)
陌陌支付支持公众平台注册的小程序的支付功能,并完成陌陌认证。 小程序接入支付后,您可以通过小程序对商品进行支付,完成小程序中销售商品或内容时的收款要求。具体申请流程,您可以直接按照与注册过程
38. 客户服务电话号码? (学习)
wx.makePhoneCall({
phoneNumber: '1340000' //仅为示例,并非真实的电话号码
})
39. 如何使用小程序插孔的插槽? (学习)
陌陌官方文档--slot:
组件模板和样式:与页面类似,自定义组件有自己的wxml模板和wxss样式。
组件模板:组件模板的编写方法与页面模板相同。 组件模板与组件数据结合生成的节点树将被插入到组件的参考位置。 可以在组件模板中提供一个节点来托管引用组件时提供的子节点。
代码示例:
这里是组件的内部节点
这里是插入到组件 slot 中的内容
注意,模板中引用的自定义组件及其对应的节点名称需要在json文件中显式定义,否则会被视为无意义的节点。 另外,节点名称也可以声明为代表性节点。
40、如何给陌陌小程序的按钮添加动画? (学习)
主要是通过编写css3动画风格来实现
41、如何将小程序页面重定向至第三方? (学习)
使用web-view可以嵌入需要重定向的网页,这需要一个企业帐户并将验证文件放置在网站的根目录下。 另外,在网页中,使用陌陌提供的js文件来调用陌陌小程序的跳转方法
42、如何衡量用户的Momo版本是否支持某项功能? (学习)
wx.checkJsApi 套接字检测
43、APP如何打开小程序? (学习)
这部分操作涉及到原生App的技术栈,通常不是由后端完成的。 具体实现步骤如下:下载Momo SDK,根据文档自动集成SDK,编写对接小程序代码
44. 如何获得陌陌集团名称? (学习)
首先开启页面分享功能,然后编译App.onLaunch()和App.onShow()中的页面逻辑,通过分享后的返回参数获取
45. 如何发送和装载包裹? 包加载有什么优点? (学习)
支持Momo客户端6.6.0、基础库1.7.3及以上版本。 开发者工具请使用1.01.1712150及以上版本。
在某些情况下,开发者需要将小程序定义到不同的子包中,在创建时将其打包到不同的包中,并在用户使用时根据需要进行加载。
创建小程序总承包项目时,创建会输出一个或多个包。 每个使用总包的小程序都必须用主包来丰富。 所谓主包就是默认启动页/TabBar页面放置的地方,所有包传递都需要一些公共资源/JS脚本; 而包的发送则是根据开发者的配置来定义的。
小程序启动时会下载主包,并默认启动主包中的页面。 当用户进入配送包中的页面时,客户端会下载对应的配送包,下载完成后进行展示。
目前小程序的包大小有以下限制:
整个小程序所有包的大小不超过20M。 单个包/主包大小不能超过2M。 向小程序发送包可以优化小程序首次启动的下载时间,并且在多个团队共同开发时可以更好地前馈协作。
点击官方文档-分包加载即可了解
46.可以通过哪些方法来提升陌陌小程序的应用速度? (理解) 47、如何将webview中的页面移动到小程序中? (学习)
在网页中可以使用JSSDK提供的接口返回小程序页面。 如:wx.miniProgram,navigateTo({url:'/path/to/page'})
48、小程序如何实现下拉刷新? (学习)
用view替换scroll-view,设置onPullDownRefresh函数来实现
1.在json文件中配置enablePullDownRefresh为true(在app.json中的window中设置enablePullDownRefresh) 2.在js文件中实现onPullDownRefresh方法,网络请求完成后调用wx.stopPullDownRefresh()结束下拉刷新
49、小程序调用后台socket时遇到了什么问题? (学习)
1、数据大小有限制,超过限制会直接导致整个小程序崩溃,除非重新启动小程序;
2、小程序无法直接渲染文章内容页的html文本内容。 如果需要显示的话,就需要依赖插件小程序调用网站幻灯片,但是插件的渲染会导致页面加载缓慢。 因此,最好在后台过滤文章内容的html。 处理p标签和div标签批量替换查看标签,然后让插件做其他标签,减少后端时间