医院订餐小程序

一。微信小程序的登陆态、身份验证和敏感信息获取小程序

参考文章:abigaleyu.co/2017/08/11/…后端


小程序介绍

小程序提供的功能

  • 商品展现,搜索以及排序功能
  • 购物车功能
  • 提交订单功能
  • 支付功能
  • 支付成功信息回显功能
  • 查看个人订单功能
  • 用户评价,以及查看本身的评价功能
  • 新增收获地址功能

项目说明

难点微信小程序

1.刚开始接触小程序的时候,不知道何为组件, 何为template,也不知道如何拆分组件,因此项目目录采用的是一个页面对应一个目录,将页面的UI全写到了一个wxml中,但随着代码量的增多,慕然理解到了组件两个字的含义,因此就将代码进行了重写,将一些公用部分写成组件,并把页面划分为块状,不一样的块状写入不一样的子目录。 2.五角星的实现bash

<view class='container'>
    <view class="head-r">
      <image class="no-star" src="{{noStarUrl}}" data-num='1' catchtap="addStar" wx-if="{{activeNum<1}}"/>
      <image class="star" src="{{starUrl}}" wx-if="{{activeNum>0 &&activeNum<=5}}" data-num='1' catchtap="addStar"/>
      <image class="no-star" src="{{noStarUrl}}" data-num='2' catchtap="addStar" wx-if="{{activeNum<2}}"/>
      <image class="star" src="{{starUrl}}" wx-if="{{activeNum>1 && activeNum<=5}}" data-num='2' catchtap="addStar"/>
      <image class="no-star" src="{{noStarUrl}}" data-num='3' catchtap="addStar" wx-if="{{activeNum<3}}"/>
      <image class="star" src="{{starUrl}}" wx-if="{{activeNum>2&& activeNum<=5}}" data-num='3' catchtap="addStar"/>
      <image class="no-star" src="{{noStarUrl}}" data-num='4' catchtap="addStar" wx-if="{{activeNum<4}}"/>
      <image class="star" src="{{starUrl}}" data-num='4' wx-if="{{activeNum>3 && activeNum<=5}}" catchtap="addStar"/>
      <image class="no-star" src="{{noStarUrl}}" data-num='5' catchtap="addStar" wx-if="{{activeNum<5}}"/>
      <image class="star" src='{{starUrl}}' wx-if="{{activeNum==5}}" data-num='5' catchtap="addStar"/>
    </view>
    <view class='title'>
      <label class="praise" wx-if="{{activeNum==5}}">很是好</label>
      <label class="praise" wx-if="{{activeNum==4}}">好</label>
      <label class="praise" wx-if="{{activeNum==3}}">中等</label>
      <label class="praise" wx-if="{{activeNum==2}}">通常</label>
      <label class="praise" wx-if="{{activeNum==1}}">差</label> 
    </view>
</view>
复制代码
data: {
  activeNum: 0,
  noStarUrl: 'http://common.static.sangeayi.cn/shop_wx/images/icon_star_border.png',
  starUrl: 'http://common.static.sangeayi.cn/shop_wx/images/icon_star_green.png'
},
addStar(event) {
  this.setData({
    activeNum: event.currentTarget.dataset.num
  })
}
复制代码
image{
  width: 70rpx;
  height: 70rpx;
}
.head-r{
  width: 400rpx;
  display: flex;
  justify-content:space-between;
}
.container{
  display: flex;
}
复制代码

3.排序(价格低的排在上面,当价格相同时,好评优先)微信

  • 项目中使用骨架屏来代替传统的菊花图,极大的提升了用户的感知体验。
  • 在项目中大量使用template模板,从而减小了重复代码,提高了开发效率。
  • 项目中遇到的最大问题是因为同步问题,没法拿到后端返回的数据,从而将逻辑实现写于success中,所以形成了success函数异常臃肿,代码阅读困难,耦合度高,排错困难。最 后经过Promise+async/await将后端返回的数据存到了全局,最后极大的简化了success函数内部逻辑,下降了代码之间的耦合度。
相关文章
相关标签/搜索