小程序开发过程中遇到的问题(小程序开发常见问题)
本篇文章给大家谈谈小程序开发过程中遇到的问题,以及小程序开发常见问题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、小程序开发过程中,作为开发者你遇到最大的挑战是什么?
- 2、微信小程序开发存在哪些问题,如何解决
- 3、微信小程序开发遇到的那些
- 4、微信小程序开发中遇到的坑及解决办法
- 5、开发微信小程序需要注意什么
- 6、小程序开发经验总结
小程序开发过程中,作为开发者你遇到最大的挑战是什么?
做小程序开发大概半年了,我来说说体会吧。
第一:模拟器显示与真机不一致问题,在模拟器上一切正常,到了真机上各种问题。
第二:基础库升级,它基础库说升级就升级,让你措手不及,印象最深的两个点是获取用户信息和关注公众号问题。尤其是关注公众号问题,由于业务需要让用户绑定公众号,又一次审核还被拒,原因就是“诱导关注”现在好了,官方直接给你提供组件让你去关注公众号,当时看到这个心里一万头羊驼在奔腾。
第三:官方的IDE真的不好用,用起来真心累,现在我使用的是VSCODE + TypeScript进行开发。
希望能帮到题主,祝新年快乐~
微信小程序开发存在哪些问题,如何解决
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形式。
二,可以直接在第三方平台上面开发小程序
微信小程序开发遇到的那些
1、微信小程序名称可以由中文、数字、英文。长度在3-20个字符之间,一个中文字等于2个字符。
2、微信小程序名称不得与公众平台已有的订阅号、服务号重复。如提示重名,请更换名称进行设置。
3、微信小程序名称在帐号信息设置时完成,请谨慎设置,一旦设置暂不支持修改。
4、更换名称进行设置。如果企业商标,组织名称等名称被侵权,可通过公众平台侵权投诉流程发起投诉,取回名称使用权。
5、小程序的功能定义与实际提供的服务必须一致;小程序所提供的类目,必须放置在首页,最深也只能放置在二级页面;
6、个人开发者无法申请微信小程序;目前微信仅支持企业、政府、媒体、其他组织申请。
7、一个主体可以注册30个,一个绑定身份的开发者只能创建5个微信小程序。
8、如果你不是特殊组织,你还是要花300元进行认证。即使你对公帐号已经验证,你也需要缴纳300**元**(支持微信支付)进行验证,这样才能够打开审核开关,发布小程序。微信支付需要微信认证后才能使用。
9、微信小程序一如既往的不支持诱导分享、诱导关注,虚假欺诈等内容,也不支持广告展示比例超过50%的页面内容;
10、服务器配置每月只有3次修改机会,省着点用,小心没机会。没事别乱动下面的配置,一定确定了再动,并且一次性写完整,不然你改个小标点都会浪费你的一次机会。
11、你的域名、备案、https要准备好,不然做不了。(服务器域名需进过ICP备案、新备案域名需24小时候才能配置。域名格式只支持雅文大小写字母、数字及“-”,不支持IP地址及端口号)
12、微信小程序头像、介绍每月只能修改5次,服务范围每月只能修改1次。小程序二维码在第一个版本上线后才能获得。
13、选用模板消息时,可用该标题的模板搭配不同的关键词使用,配置提交后关键词种类和顺序将不能修改。
14、找不到模板关键词的时候,可以进行申请添加。每月可以提交5次新关键词,通过后会被共享。(堆自家关键词的好机会呀!!)
15、一个小程序账号只有一个管理员(可修改),可以绑定10位开发者。
微信小程序开发中遇到的坑及解决办法
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、优化路径
大家都知道小程序的“轻而美”是小程序的特点,正是因为小程序所具有无需下载安装、不占内存、即用即走的这些特点才让裂变式分享变得简单易实现,同时也让客户留存变得有难度,怎么样让用户走了再来常来也成了很多小程序运营者的新难题。所以建议无论是功能设计还是页面设计一定要简洁明了,不要企图做得和APP一样华丽复杂,让用户按照容易上手的路径往下走,通过最少的路径步骤去达成用户体验,才能提高流量转化和用户留存率。
4、使用场景
商家要结合自身的实际情况去尽可能的增加小程序的使用场景,以此来提高用户的使用频率。比如餐饮行业,除了提供堂食点餐/外卖的核心服务外,还可以增加会员充值、积分商城、会员暗号福利,团餐预定等多项服务,当用户第一次进入小程序完成浏览时就大概记住商家能够提供的服务内容,在下次有需求时自然会再次了解使用,这样就实现了提高复购和下单频率。
以上就是商城小程序开发核心的内容分享,当然除了这些,选择有实力的服务商和选择合理的预算成本也是商家需要考虑的方面,以上内容希望对大家能够有所帮助。
小程序开发经验总结
最近一直在做小程序,工作中也遇到了一些问题,踩了一些坑,所以想着写篇文章记录下来,并借此将小程序开发的相关知识进行梳理,方便以后参考,也为刚刚接触小程序的人提供一些思路方法,互相学习,共同进步。
1、微信小程序的目录结构及配置说明
app.json是小程序的全局配置文件,所有配置项key必须使用 双引号括起来 ,value值为字符串类型的也必须使用双引号, 不支持单引号 。
1.1 pages
pages选项是必须配置的。该配置项注册了小程序所有页面的地址,其中每一项都是页面的 路径+文件名 。每一个页面都是由.json、.js、.wxml、.wxss四个文件组成,并且 四个文件的名字必须要一致 。
1.2 tabBar
tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。其中 list 接受一个数组,只能配置最少 2 个、最多 5 个 tab
1.3 usingComponents
使用自定义组件或者插件提供的组件前,必须先在这里声明
2、开发微信小程序遇到的问题及解决办法
2.1 双向绑定
微信小程序不支持通过v-model的方式实现自动双向绑定,需要给表单元素通过绑定事件,并使用this.setData来赋值实现。
2.2 computed和watch
微信小程序默认是不支持computed和watch的,如需要使用这两项功能,需要安装miniprogram-computed ,安装方法见 官方文档
2.3 对象赋值
如果给对象的属性赋值,可以使用this.setData({'obj.key':value})来赋值,但是如果给某个属性名是变量的属性赋值,通过这种方法是会报错的,经过多次尝试,发现使用如下的方式赋值成功。
let newObj = `obj.${key}`
this.setData({
[newObj]: value
})
2.4 scroll-view
当页面存在弹框容器,并且弹框里的内容是需要滚动条滚动展示时,如果弹框下面那层的容器使用view元素的话,会导致滚动弹框内容时,同时会触发弹框下面那层的页面容器也会一起滚动,解决此问题可以将弹框下面的容器使用scroll-view元素替代view元素
3、小程序测试和发布
由于服务器域名request合法域名每个月 只能修改5次 ,因此在本地开发小程序时,需要在微信调试工具中设置不校验合法域名。等小程序上线前再一次性将所有域名添加到小程序管理后台。
以上便是此次小程序开发中积累的一些经验,希望能给刚刚接触小程序的人提供一些思路方法,在以后的开发中,如果遇到新的问题,继续更新文档......
关于小程序开发过程中遇到的问题和小程序开发常见问题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。