微信小程序开发有哪些坑(微信小程序开发好做吗)

小程序开发 3969
今天给各位分享微信小程序开发有哪些坑的知识,其中也会对微信小程序开发好做吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、微信小程序/微信公众号中文乱码的坑

今天给各位分享微信小程序开发有哪些坑的知识,其中也会对微信小程序开发好做吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

微信小程序/微信公众号中文乱码的坑

微信小程序可以通过webview嵌入H5页面可以说是给开发者很大的福音,手头的项目中有几个页面是使用H5开发的嵌入到了webview中,在小程序开发者工具的模拟器中测试完全没问题,放到Android真机上测也没问题,但是在iOS上打开后中文显示全部乱码,无论是在小程序还是直接通过微信点开链接都是乱码。但是奇怪的是在iOS的Safari浏览器中却是正常。

经过再三确定过文件编码就是UTF8没错。而且在html的head中也加入了 meta charset="utf-8" 。最后无奈一点一点对比之前的项目的区别,发现之前的项目中的meta是通过http-equiv设置的浏览器编码。

设置后发现显示正常,看来微信-iOS版本中的浏览器内核不是最新的,存在兼容问题,遇到坑的朋友们要注意了。

开发微信小程序的“雷区”有哪些?

微信小程序的优势:无需下载,无需安装注册,即点即用,不主动推送广告。微信小程序的优势直抵app用户的心扉,这不就是用户想要的体验吗?因此微信小程序的用户体验是其必须要保证的底线,一切伤害用户体验的行为,是开发者都不能碰触的原则。

游戏类小程序“滥用分享”行为

在4月份,群聊被小程序分享搞的乱糟糟,群里有三个人分享小游戏就已经霸屏,看不到聊天信息了,用户体验一度被践踏。很快,微信官方将一下两种行为界定为违规,第一种,强制用户分享小游戏到群包括分享到不同群,就是小游戏结束时弹出分享小游戏到群/不同群,可获得第二次生命继续游戏。第二种,诱导用户分享到群,可获得免费道具,或得到双倍积分等利益。

如过开发是出现如此违规行为,会对小游戏的搜索能力、分享能力、广告及道具结算能力进行限制,情节严重这将面临下架处理。

因为“营销滥用”行为,关闭个人小程序“公关/推广/市场调查”和“广告/设计”类目。

微信小程序的注册门槛较低,无论是个人还是企业、商铺、政府、媒体,都可以申请。由于小程序是获取新流量的高效手段,导致营销行为泛滥,狠狠的伤害了用户体验。只对个人小程序滥用“商务服务”和“广告/设计”两大类目通过审核,来进行无节制营销行为的情况,微信方面表示,个人小程序将无法通过“商务服务-公关/推广/市场调查”和“广告/设计”的类目审核,也将不再对个人小程序开放。

“授权滥用”行为

在挺早前就有针对“授权滥用”行为的限制,当用户初次使用小程序是,强制要求用户授权昵称、头像、手机号、地理位置等信息,如果用户不同意,继续跳转授权页面,影响用户正常使用小程序。对腾讯自己的小程序“腾讯投票”也做了违规处理,就看出腾讯的决心。

现在微信已经对用户授权流程进行了优化,只有特定场景才需要用户授权指定信息。

现在开发微信小程序有哪些雷区?

1、文字

一般对于微信小程序的名称命名是一个比较重要的问题,但是这里需要强调的是,通常情况下我们都是采用中文数字或者是英文来命名的。而且一般他的名称长度都是控制到三至20个字符中间,一个中文字那就相当于是两个字符。

2、重复命名

既然是微信小程序,那么它的名称就千万不能够跟公众平台已经产生的服务号或者是订阅号重复,如果是产生了命名重复的话,那么就会有提示,所以要进行名称的更换设置。

3、账号信息谨慎设置

需要强调的一点的是,微信小程序的各种账号信息,不像其他的软件一样可以根据自己的兴趣爱好来进行随意的更换。也就是说在微信小程序里面,一旦将自己的各种账号信息全部都设置完毕的时候一定要进行谨慎的操作,因为一旦设置完就不会再支持修改了。

4、功能与服务一致

微信小程序虽然种类非常繁多,他们也能够提供出各式各样的服务,但是这些功能的提供一定是能够在实际当中给到用户的服务是一致的。所以在小程序设置的页面,它所能够提供的所有内幕,一定是放在页面的首页第一栏那里,最深最深也只能退到放置在二级页面当中。

5、注册

一般情况来讲,如果是个人开发的,那么就没有办法对微信小程序进行申请。就目前来讲,他仅仅只支持政府,企业,还有媒体或者是其他的一些组织来进行申请。而一个主体总共能够注册的微信小程序有30个,一个绑定身份的开发人士最多也只能够创建出来五个微信小程序。另外,假设要进行开发的不是属于特殊组织,那就需要另外花费300元来进行认证。

6、不支持

微信小程序,虽然功能非常的多,但是同样跟一如既往的不支持很多东西,比方说他不支持,诱导关注,也不支持诱导分享,更不支持虚假,欺诈等等内容的存在。再有就是像广告类的展示,一般都是企业的小程序会存在的,但是这个播放的展示比例也不能够超过一半的页面内容。

7、修改内容

一般来讲,给微信小程序所配置的服务器,他每个月仅仅只有三次的修改机会,所以一定要珍惜这些机会,小心后面不够机会来使用,所以没事的话千万不要对下面的配置进行乱动,如果是一旦确定了的话,那么就一定要将所有的内容一次性全部整理完毕,就算是改一个小标点符号都属于浪费一次机会。

8、模板和关键词

电影用户来讲在进行模版消息选用的时候,通常情况下我们可以采取跟模版可以搭配的关键词来进行使用,那么配置之后再提交的过程当中,他的顺序还有用到的词语种类都是不能够进行修改的,如果这个时候我们找不到跟模版可以相搭配的关键词,那么就可以对它进行申请添加。这里强调一下,就是每个月都拥有五次可以提交新关键词的机会,那么一旦被审核通过之后就可以达到共享的目的。

微信小程序蓝牙入坑总结

   微信小程序的蓝牙流程按着官网的说明写就可以了,具体参看文档: 小程序开发文档

坑列表:

    1.成对调用需要注意, wx.openBluetoothAdapter 与 wx.closeBluetoothAdapter

                                        wx.startBluetoothDevicesDiscovery 与 wx.stopBluetoothDevicesDiscovery

     2.安卓与IOS的区别:安卓可以根据蓝牙标识直接连接,IOS则必须先搜索才能进行连接;

     3.权限问题:IOS的系统不能仅仅打开系统的蓝牙权限,因为IOS新版本针对蓝牙做了应用及的限制,因此需要给微信蓝牙权限才可以使用;对于安卓系统,部分手机必须打开定位权限才能搜索到蓝牙设备

     4.创建连接API( wx.createBLEConnection )调用失败:

            超时报错:{"errCode":10012,"errMsg":"createBLEConnection:fail:operate time out"}

            连接超时:{"errCode":10003,"errMsg":"createBLEConnection:fail connect time out."}

            连接失败:{"errCode":10003,"errMsg":"createBLEConnection:fail:connection fail status:133"}

           基本都是安卓手机出现以上问题,针对这些报错,需编写重试连接操作,很大概率能解决此问题;

     5.搜索不到任何设备,安卓手机可能是定位权限的问题造成,苹果手机基本就是设备出问题了

     6.网络请求与蓝牙请求尽量分开,因为蓝牙连接会受到影响,造成一些异常信息;

     7.所有API调用针对fail函数最好都做一次重试,因为再次重试可能就会成功;、

     8.API调用之间最好有一定毫秒数的间隔,目前怀疑api部分机型会存在延时;

总之微信的蓝牙连接就那些已知的接口,调用时多考虑异常的情况下的重试,简单总结下,以便查阅。

           

    

微信小程序开发中遇到的坑及解决办法

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

关于微信小程序开发有哪些坑和微信小程序开发好做吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码