个人案例
- 车店AI测试
智慧门店车店AI管理平台-汽修店门店小程序
汽修店门店小程序扫码体验
- 小程序登录的演变过程
1. 初版登录存在问题: 并发请求会有多次登录[图片]2. 存储promise[图片] 3. 使用存储promise优化存在问题: wx.checksession个别时候会出现fasle,原因未知无网络提示逻辑[图片] 4. 添加全局控制&校验网络存在问题: 无登录过期处理逻辑[图片] 5. 添加登录过期逻辑还可优化: 页面跳转预加载接口重试逻辑[图片] 6. 添加页面预加载相关[图片] 7. 完整流程[图片]
2020-09-02 - 小程序开发过程中遇到的那些事儿
一、使用wx.getLaunchOptionsSync()这个Api时的注意事项1.该Api获取的是小程序 冷 启动时的参数,与App.onLaunch的回调参数一致。 2.要再更仔细的强调的话,就是说,如果在小程序冷启动后,业务逻辑牵扯到新的启动参数的话,不能用这个Api获取,得拿App.onShow的回调参数。 二、小程序setData给一个数组中的某一对象的一个属性赋值 data: { list: [ { spu_name: "欧莱雅小蜜罐金致臻颜花蜜奢侈痒女补", is_check: true }, { spu_name: "水保湿滋润抗皱面妆欧莱", is_check: false } ] }, let index = 1 let = 'list[' + index + '].is_check' this.setData({ [s]: true }) 三、小程序canvas层级太高,业务逻辑可选的处理方式:方案一、如果要在canvas之上写模块(eg: 弹框,页面顶部的自定义导航栏),该模块所有的view标签换成cover-view标签,这种方法能解决简单的模块兼容,具体cover-view的使用以及坑点可参考微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html。 方案二、在canvas之上显示一个弹框时,可以使用wx:if暂时隐藏该canvas,弹框再次隐藏时重新显示canvas。 四、业务逻辑中遇到授权button要阻止冒泡,如何处理授权button是有特定的属性获取授权信息,我们一般阻止冒泡一般用catchtap方法,那么授权类型的button在这种情况下是用不了catchtap的,因此,这个需要一个新的解决方案: [图片] 方案一、用一个view标签将这个button包起来,在这个view标签上写上catchtap,对应的方法写成空的即可。 class="cart-box" catchtap="preventBubble"> if="{{!isAuth}}" class="cart" open-type="getUserInfo" bindgetuserinfo="goAuth"> class="iconfont icon-jiagouwuche font-25 icon"> else class="cart" bindtap="addCart"> class="iconfont icon-jiagouwuche font-25 icon"> 五、使用wx.showTabBarRedDot、wx.hideTabBarRedDot这两个Api时的注意事项 1.开发时得注意,要在tab页面使用这些Api,不要在非tab页面使用,否则console会报错。 六、好玩的小程序开发调试利器之一-AppDataAppData panel 用于显示当前项目运行时小程序 AppData 具体数据,实时地反映项目数据情况,可以在此处编辑数据,并及时地反馈到界面上。 话不多说,体验效果如下: [图片] [图片] [图片] 七、好玩的小程序开发调试利器-自动预览自动预览可以实现编写小程序时快速预览,免去了每次查看小程序效果时都要扫码或者使用小程序助手的麻烦。开发者只需按下快捷键,保持前台运行的微信即可自动唤出或刷新小程序。 要使用自动预览功能,需要配合 6.6.7 及以上的微信客户端版本。 [图片] 八、好玩的小程序开发调试利器-多账号调试通过 菜单 - 工具 - 多帐号调试 可以使用多帐号调试功能,这是做助力活动(需要多人助力)的开发者的福音。 [图片]
2020-08-25 - 小程序多组件高复杂度实现方案
备注:此方法多适用于多模块高复杂度多插件的页面开发 原理:应用事件总线进行事件传递,并将数据挂载到wx上用于各个组件模块共享 一、事件总线事件总线挂载在wx对象上wx.eventBus派发事件 wx.eventBus.$emit('name',params)监听事件 wx.eventBus.$on('name',fn)示例: [图片] // 派发事件addCart 传递参数为1 wx.eventBus.$emit("addCart", 1) // 监听事件 // 方式1 wx.eventBus.$on("addCart", num => { this.setData({ number: num }); }); // 方式2 this.setNum为methods中的方法 wx.eventBus.$on("addCart", this.setNum).bind(this); 二、共享数据设置共享数据wx.setShareData(data)获取共享数据wx.getShareData()示例: [图片] // 设置共享数据 一般为主页面设置共享数据,组件更新部分数据 wx.setShareData({ data: { spu, sku, watch, postageFee }, chooseSkuInfo, // 选择的sku footerBtnType, pageSetting, closeCommunity: false }); // 获取共享数据 const { footerBtnType, pageSetting, chooseSkuInfo, data: { sku } } = wx.getShareData() // 组件中 更新部分数据 wx.setShareData({ chooseSkuInfo: { ...item, number: 1 } });
2020-08-19 - 小程序分包加载
背景音: - 随着开发功能越来越多, 小程序初次加载速度实在是吃力. 万般煎熬之迹, 只听晴天霹雳一声巨响, 腾讯放了一个大招, 针对小程序做了文件大小限制做了升级. 分包也就此诞生 环境要求: - 微信 6.6 客户端,1.7.3 及以上基础库开始支持,请更新至最新客户端版本,开发者工具请使用 1.01.1712150 及以上版本 在下左木子, 接下来给大家讲解如何运用分包. 废话不多说, 咱看图! 保你看完明明白白: [图片] [图片] [图片]
2019-07-25 - 分账功能遇到问题及流程分享
自己先是遇到了调用分账功能的时候,提示SYSTEMERROR。 于是我开始排查之旅: 统一下单你不知道的(https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=9_1): 添加一个额外字段profit_sharing 设置值 Y 其它4个字段appid:服务商绑定的公众号的id;mch_id:服务商的微信支付商户号;sub_mch_id:服务商添加的子商户号;sub_appid:发起支付的小程序id 在服务商微信支付里面【服务商功能】>【特约商户管理】,点击对应子商户的配置,然后在【特约商户APPID配置】添加支付的小程序appid,其中这个app必须和子商户或者服务商是同一个运营主体 在使用分账之前,你必须把需要分账的账户现在添加到子商户里面,这个可以通过连接查看使用方法:https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=27_3&index=4 上面都成功之后,下来可以分账了:https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=27_1&index=1 其中分账时分账的对象金额不能为0,不然会出错 分账金额不能大于之前与子商户协商的最大分账比率 出现SYSTEMERROR,之前我这块时下单时直接下单给子商户了,没有设置sub_mch_id,sub_appid,只设置了profit_sharing,没有提示,就是在分账时出现SYSTEMERROR,并且没有描述。 微信文档这块,没有一个流程把需要设置配置哪些东西,什么时候有什么限制,所以我记录一下。
2019-08-21 - 小程序无法审核发布,出现85085的错误
@客服 你好,我是一家小程序的服务提供商,我们给客户进行小程序的审核发布时,一直出现8505的错误,麻烦@客服 帮忙处理下吧。 车店 AppID:wx54ddf9fc5cfd2377
2018-08-15