当前位置:   article > 正文

微信小程序从入坑到放弃二十五:记一次在WXS中使用正则表达式的坑_微信小程序 getregexp

微信小程序 getregexp

摘要:
WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。在此次开发中,由于接口返回数据不统一,所以要对某些字段进行过滤。但直接使用replace时竟然报错了,原来在WXS中要生成regexp对象需要使用getRegExp函数…

一、起因

其实不用说看官也能猜到,起因当然是公司的小程序又有了新的需求嘛!此次小程序的需求中有一个是关于 商品组件UI优化 的需求,优化规则如下:

优惠券:金额取整。不超过1元,则不显示;超过9999,则仅显示9999+
商品价格:当商品金额小于10000时,保留2位小数显示;大于等于10000元时,则显示为1.0万的格式,即保留1位小数
已售:当虚拟销小于10000件时,显示完全;当虚拟销量大于等于10000件,则显示为已售1.0万件的格式,即保留1位小数
佣金:当佣金小于10时,保留2位小数显示;大于等于10元时,保留1位有效数字;大于等于100时,保留为整数;大于等于1000时,显示为:赚¥999+

二、方案选择

考虑到现有项目的复杂程度,涉及修改的组件至有三个,分别是: 普通商品秒杀商品拼团商品 。如果在每个组件内的js中修改,肯定是不可取的,毕竟js中会有大量的逻辑运算。最后综合考虑后选择使用 WXS ,即:在创建一个后缀为wxs的文件,在里面封装一个函数,在需要修改的地方调用即可。

三、封装代码

创建组件等步骤这回就不多说了,直接写代码吧,然后再说坑的事情。

3.1、wxs中封装formatValue

核心代码:

/* 封装一个格式转换的方法 */
function formatValue(value, type) {
   
  var result = value
  switch (type) {
   
    case 'price': /* 普通价格 */
      /* 商品价格:当商品金额小于10000时,保留2位小数显示;大于等于10000元时,则显示为1.0万的格式,即保留1位小数 */
      result = Number(value)
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/134493
推荐阅读
相关标签
  

闽ICP备14008679号