小程序开发过程中可能存在的问题(小程序开发常见问题)
本篇文章给大家谈谈小程序开发过程中可能存在的问题,以及小程序开发常见问题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
小程序开发注意事项
1. 开发小程序时,每个页面一定要在app.json文件中注册,页面文件夹和其包含的四个文件的名字要保持一致。
2. 小程序发起的都是HTTPS网络请求,在开发调试的过程中可以不校验协议和TLS版本,但在实际上线后必须进行HTTPS协议通信。
3. 小程序可以进行组件化开发以及数据绑定,所有对于DOM的操作都是基于数据驱动的,并没有直接进行DOM操作的做法,换言之,小程序内没有document对象,原生js和jQuery里的DOM操作思维要舍弃掉。
4. 小程序的网络请求wx.request()是不自带Cookies的,这和浏览器上的网络请求不同,因此基于Cookies实现的会话管理不适用于小程序。
5. 小程序的脚本文件中,内置对象是page,而非传统浏览器里的window,因此所有基于window对象来写的库(例如jQuery)都不适用于小程序。
6. 小程序提供模板功能,模板拥有自己的作用域,它只能使用从data属性传入的数据。
7. 每一个页面文件夹下的.json文件是用来写配置项的,如果该页面无需添加相关配置,.json文件也要写上一对大括号(“{ }”),否则会报错。
8. 在同一个tab里的页面可以跳转,并且允许携带参数。不同tab的页面之间无法跳转,使用wx.navigateTo()接口会报错。同时,tab之间的跳转可以用wx.switchTab()实现,但是路径后不能带参数。
9. 脚本文件里data的数据,在更新的时候要通过this.setData()方法来更新,而不能直接用“=”来做。
10. 在组件标签里,可以通过“data-属性值”的方式绑定我们需要的数据,然后在事件内置event对象里进行获取。
11. 小程序里也存在事件的冒泡,具体的冒泡事件可以参考官方文档,如果希望事件向上冒泡,则使用bind来绑定事件,若希望阻止事件冒泡,就使用catch来进行事件绑定。
12. 小程序支持文件引用,有import和include两种方式,import有作用域,也就是引入的目标文件里import的模板不会被引入;而include等于是将目标文件除 以外的整个代码进行引入。
13. wx.login()和wx.getUserInfo()是两个独立的接口,前者可以实现用户登录,这个过程是悄无声息的,不需要用户授权,登录后可以拿到用户的openid和session_key;而wx.getUserInfo()可以拿到用户的具体信息,这个过程需要获得用户的授权,开发时也必须考虑用户拒绝授权的场景。
14. 目前小程序可以分享给微信好友和微信群,但小程序默认是没有这个功能的,只有在Page里定义了onShareAppMessage事件处理函数,点击小程序右上角才可以看到分享按钮。
微信小程序开发存在哪些问题,如何解决
1、域名必须是HTTPS
非HTTPS的域名不被微信小程序允许。
2、input组件placeholder字体颜色
写在placeholder-class里面的color并不生效,需要写在placeholder-style里面就可以了。
3、wx.navigateTo无法跳转到带tabbar的页面
带有tabbar的页面,必须使用wx.switchTab进行跳转。
4、tabbar在切换时页面数据无法刷新
tabbar的实现可能是显示和隐藏view,所以,不会一直调用page.onLoad()方法,可以尝试把代码逻辑写在page.onShow()里面。
5、如何获取shareTickets
获取shareTickets需要在app.onLaunch或者app.onShow里面才能获取到,而不是page.onShow,请一定要注意。
注:建议在app.onShow里面去获取,app.onLaunch不是一直会执行。
6、getPhoneNumber获取手机号
目前该接口针对非个人开发者,且完成了认证的小程序开放。个人开发者是没办法调用这个API的。
7、wx.previewImage图片预览
预览的图片URL必须是HTTPS开头,不能是本地图片。
8、wx.playVoice音频播放
必须保证音频文件已经在本地,比如在wx.startRecord后,可以获取到filePath。或者提前调用wx.downloadFile来下载资源文件,然后再播放。
9、API老版本兼容
可以用wx.canIUse或者wx.getSystemInfoSync来进行判断,老版本给出相应提示即可。
10、获取系统信息
wx.getSystemInfo,可得到系统语言、屏幕宽高、微信版本号、操作系统、设备像素比、客户端甚础库版本等信息。
11、如何去掉自定义button灰色的圆角边框
主要是button的伪元素设置了样式,去掉即可: button::after{ display: none;}。
12、回到页面顶部
回到页面顶部,有两种方式:
A、使用scroll-view设置为纵向滚动,然后设置scroll-top值;
B、使用wx.pageScrollTo方法,此方法是1.4.0开始支持,所以要做低版本兼容;
13、input textarea是APP的原生组件,z-index层级最高
有做过搜索框的同学,可能会遇到IOS下面,设置icon的z-index后,依然无法显示。建议做显示隐藏效果:点击之前是一个view,点击之后隐藏view,显示input~。
14、小程序如何冷启动
小程序的机制,是在退出五分钟内进入,就会显示的是退出前的页面,如果你希望进入小程序都相当于冷启动的方式,直接进入主页面。你可以在page的onUnload里面里面set一个值,然后在app的onShow的时候判断这个值,然后决定是否跳到首页~
15、一段文字如何换行
小程序中唯一可以实现换行的标签组件是text。
注:text中不支持br,只能使用\n进行换行。
16、设置最外层标签的margin-bottom在IOS下不生效
margin-bottom在安卓和开发工具里面都正常,就是在IOS下不起效,建议改成padding-bottom。
17、小程序中canvas的图片不支持base64格式
base64格式图片,在开发工具里面可以正常显示,真机上没有显示。建议修改成带https开头的url形式。
二,可以直接在第三方平台上面开发小程序
微信小程序开发中遇到的坑及解决办法
taro单独为某个项目切换taro版本环境
单独为某一个项目升级#这样做的好处是全局的 Taro 版本还是 1.x 的,多个项目间的依赖不冲突,其余项目依然可以用旧版本开发。 如果你的项目里没有安装 Taro CLI,你需要先装一个:
# 如果你使用 NPM
$ npm install --save-dev @tarojs/cli@2.x
# 如果你使用 Yarn
$ yarn add -D @tarojs/cli@2.x
echarts在小程序中滑动卡顿
由于微信小程序中,echarts的层级最高,无论设置多大层级也无法遮住echarts。而且小程序中好像只能用echarts吧。所以为了解决这个bug,我只能委屈求全了。打开ec-canvas.wxml文件,将touchStart、touchMove和touchEnd去掉了,直接删除就好啦。这三个事件应该是做缩放的吧,我们也没有这个缩放的需求。所以就去掉了。虽然暂时满足的需求,还是没有真正的解决问题。
原:
bindinit="init"
bindtouchstart="{{ ec.disableTouch ? '' : 'touchStart' }}"
bindtouchmove="{{ ec.disableTouch ? '' : 'touchMove' }}"
bindtouchend="{{ ec.disableTouch ? '' : 'touchEnd' }}"
现:
bindinit="init"
echarts在小程序中无法跟随页面滑动
在卡顿问题中能与echarts交互少的,可以直接使用图片代替cannvas,即在echarts渲染完毕后将它替换为一张图片。
如果我更新了数据,那么就重新放出echarts,等它渲染完毕后,再次替换为一张图片。
chart.on('finished', () = {
getCurrentInstance().page.selectComponent(id).canvasToTempFilePath({
success: res = {
console.log('res.tempFilePath====',res.tempFilePath)
this.setState({
echartImgSrc: res.tempFilePath
})
},
fail: res =console.log('转换图片失败', res)
});
})
render:
this.state.echartImgSrc =='' ?
ref={this.refChart}
id={this.state.id}
canvas-id="mychart-area"
force-use-old-canvas="true"
ec={this.state.ec}
/
:
CoverImage src={this.state.echartImgSrc}/CoverImage
开发小程序商城需要注意什么问题
开发小程序需要注意一下几点:
1.商城小程序定位要清晰。
2.做好客户群体和竞争对手之间的数据分析。
3.明确小程序的功能。
除了以上几点,最重要的是要弄清小程序的搭建方式,现在市场上的小程序商城主要有以下两种:
一是定制类小程序商城:指完全按照商家的功能需求定制一个小程序商城,需要建立专业的it团队。价格昂贵,至少需要三万元起,不仅需要建服务器,后续还要跟进技术维护,经过长时间的升级迭代才可稳定商用,需要持续投入资金,成本很高。
二是模版类小程序商城:商家购买第三方平台的服务,直接套用开发好的功能模板,性价比高,可以快速开通小程序商城。
对于绝大部分的商家来说,建议选择模版类小程序商城:无需开发、快速开店,性价比高,有全面的功能模块,足以满足商家的需求;业内知名的平台「微店」就是一个很不错的选择。
微店商城版4200/年,直接就包含了小程序商城的服务,不分版本,一次性收费,单次购买就可享有全部功能,后期无需其他费用,专业的技术和产品团队,保障了后台的稳定性与产品的优化与迭代。
微店于2013年成立,腾讯系电商公司;使用商家超9000万;办公地点主要位于北京、杭州。现有员工近1000人,大都来自BAT及一线互联网知名公司。提供多场景多行业的解决方案,帮助全行业商家玩转私域流量,实现业绩持续增长。点击领取小程序店铺试用名额!腾讯投资 开店有保障!
关于小程序开发过程中可能存在的问题和小程序开发常见问题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。