Page({ data: { total: '', benefit: '', diff: '' }, onLoad: function(options){ var total = new Number((options.price*2*options.days).toFixed(2)); var benefit = isNaN(total) ? 0 : this.calc(total).toFixed(2); this.setData({ total: isNaN(total) ? 0 : total.toFixed(2), benefit: benefit, diff: (total - benefit).toFixed(2) }); wx.showShareMenu(); }, calc: function(fee){ //662.5 = 100 + 50/0.8 + 250/0.5 if(fee > 662.5){ return fee - 262.5; } //162.5 = 100 + 50/0.8 else if(fee > 162.5){ //(fee - 162.5)/2 + 150; return fee/2 + 68.75; } else if(fee > 100){ //(fee - 100)*0.8 + 100; return fee*0.8 + 20; } else{ return fee; } } });