逆战———微信小程序

微信小程序

简介

微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。

优缺点

优点
1、对用户使用上来说,确实方便,要用的时候打开,不用的时候关掉,即用即走。这点比需要下载,还要占用手机内存空间的APP要好。
2、主要的样式代码都封装在微信小程序里面,所以打开速度比普通的H5要快,接近原生APP。
3、可以调用比H5更多的手机系统功能来进行开发,例如GPS定位、录音、拍视频、重力感应等,能开发更丰富的使用场景。
4、在安卓手机上可以添加到手机桌面,看上去跟原生APP差不多,但仅限安卓手机,iphone就不行了。
5、运行速度跟APP差不多,也能做出很多H5不做到的功能,开发成本跟H5差不多,相对来说开发成本比APP要低。
缺点
1、微信小程序只有1M的大小,这样导致无法开发大型一些的小程序。所以目前你会看到很多小程序真的很小很简单。
2、小程序的技术框架还不稳定,开发方法时常有修改,导致短时间内经常要升级维护。
3、不能跳转外链网址,所以间接影响了小程序的开放性。
4、不能直接分享到朋友圈,哎呀,少了一个重要的推广方式。
5、需要像APP一样审核上架,这点比HTML5即做即发布要麻烦些。

电商项目

配置小程序
全局配置

{
  "pages": [
    "pages/index/index",
    "pages/logs/index"   //添加tab(数量在2~5)
  ],
  "window": {
    "navigationBarTitleText": "Demo"//导航栏标题文字内容	
  },
  "tabBar": {//tab页面的配置
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页" 
      "iconPath":"" //小图标
    }, {
      "pagePath": "pages/logs/index",
      "text": "日志"
    }]
  },
  "networkTimeout": {//各类网络延迟
    "request": 10000,
    "downloadFile": 10000
  },
  "debug": true,//调试debug
  "navigateToMiniProgramAppIdList": [  //id
    "wxe5f52902cf4de896"
  ]
}

页面配置

{
  "navigationBarBackgroundColor": "#ffffff", //导航栏背景颜色,如f66
  "navigationBarTextStyle": "black",//导航栏标题颜色,仅支持 black / white
  "navigationBarTitleText": "微信接口功能演示",//导航栏标题文字内容	
  "backgroundColor": "#eeeeee",//窗口的背景色
  "backgroundTextStyle": "light" //下拉 loading 的样式,仅支持 dark / light
}

购物车流程
1、全选功能

 allselected () {
        this.allchecked = !this.allchecked
        console.log(this.allchecked)
        // 如果为真,修改数据的每一项的flag的值都为真,否则都为假
        if (this.allchecked) {
          this.cartlist.map( item => {
            item.flag = true
          })
        } else {
          this.cartlist.map( item => {
            item.flag = false
          })
        }
      },
       selected (item) {
        console.log('test', item)
        item.flag = !item.flag
        console.log(this.cartlist)
        // 如果单独某一项没被选中,那么全选一定不被选中
        // 如果单独某一项被选中了,检测其他项是否都被选中,如果都选中了,全选被选中
        if(!item.flag) {
          this.allchecked = false
        } else {
          // 检测其余项是否被选中 --- 一假则假
          const test = this.cartlist.every(item => {
            return item.flag === true
          })
          
          if (test) {
            this.allchecked = true
          } else {
            this.allchecked = false
          }
        }
      },

减数功能

	reduce (item) {
        // 如果当前的个数为1 不操作,如果大于1减1操作
        let num = item.num
        if (num > 1) {
          num -= 1
        } else {
          num = 1
        }
        let token = uni.getStorageSync('token')
        request({
          url: '/cart/update',
          data: {
            token,
            cartid: item.cartid, // item包含购物车记录id
            num
          }
        }).then(res => {
          if (res.data.code === '10019') {
            toast({title:'请先登录'})
            uni.navigateTo({
              url: '/pages/login/login'
            })
          } else {
            toast({title:'修改数量成功'})
            item.num -= 1 // 服务器返回成功之后  视图才更新
          }
        })
      },

加数

	 add (item) {
        // item.num += 1
        // 加1
        let num = item.num
        num += 1
        let token = uni.getStorageSync('token')
        request({
          url: '/cart/update',
          data: {
            token,
            cartid: item.cartid, // item包含购物车记录id
            num
          }
        }).then(res => {
          if (res.data.code === '10019') {
            toast({title:'请先登录'})
            uni.navigateTo({
              url: '/pages/login/login'
            })
          } else {
            toast({title:'修改数量成功'})
            item.num += 1 // 服务器返回成功之后  视图才更新
          }
        })
      },

删除功能

  del (item,index) {
        let token = uni.getStorageSync('token')
        request({
          url: '/cart/delete',
          data: {
            token,
            cartid: item.cartid
          }
        }).then(res => {
          if (res.data.code === '10019') {
            toast({title:'请先登录'})
            uni.navigateTo({
              url: '/pages/login/login'
            })
          } else {
            toast({title:'删除数据成功'})
            this.cartlist.splice(index, 1) // 删除当前的数据
            // 如果点击删除 删完之后要显示没有数据了
            this.cartlist.length === 0 ? this.flag = true : this.flag = false
          }
        })
      }

总数功能

  totalNum () {
        let totalNum = 0;
        this.cartlist.map(item => {
          item.flag ? totalNum += item.num : totalNum += 0
        })
        return totalNum
      },

总价格功能

 totalPrice () {
        let totalPrice = 0;
        this.cartlist.map(item => {
          item.flag ? totalPrice += item.num * item.price : totalPrice += 0
        })
        return totalPrice
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值