IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 人工智能研究中心快递柜——代码分析八 -> 正文阅读

[人工智能]人工智能研究中心快递柜——代码分析八

2021SC@SDUSC

本次开始介绍柜子的具体使用功能的实现。

由于关于wxml方面都是使用view标签设置相应参数,进行展示故不做具体分析,主要是对 wx:if的运用,合理使用js中传入的数据参数进行选择。主要进行js文件的分析。

首先对于不同类型的柜子和任务以不同的颜色进行展示,定义颜色变量。

const colors = [
  {itemStyle: {normal: {color: '#f7efe2'}}, text: "空闲"},
  {itemStyle: {normal: {color: '#f25c00'}}, text: "中转物品"},
  {itemStyle: {normal: {color: '#e2dfa2'}}, text: "收作业"},
  {itemStyle: {normal: {color: '#f9a603'}}, text: "暂存物品"},
  {itemStyle: {normal: {color: '#f70025'}}, text: "已选中"},
];

初始化时定义柜子数据等相关信息都为null,等待用户信息的传入。onload函数中定义打开时要传入的参数和进行的操作,通过wx.getStroageSync和selectComponent函数获取用户电话、柜子状态、操作类型、用户id信息,并进行setData操作。

对于柜子的初始化实现要进行初始化图表,width和height是从css样式中取得的数值,同时进行防抖的操作,当选中柜子后进行重新渲染。

 barChart.on('click', function (params) {
        if (params.data.couldClick !== undefined && !params.data.couldClick) {

        } else if (that.data.selectedGate && that.data.selectedGate.sri == params.data.sri) {

        } else {
          that.setData({
            selectedGate: params.data,
          }, that.init_cabinet());
        }
      }); 

定义获取柜子操作的方法,首先处理数据进行柜子颜色的设定

data.forEach((item) => {
      let opState = this.getUseState(item);
      item.itemStyle = colors[opState].itemStyle;
      item.value = [item.leftBottomX, item.rightTopX, item.leftBottomY, item.rightTopY];
    }

比较重点的实体柜子的开柜门实现,利用如下代码进行,wx.request发起来HTTPS网络请求,最终发送给服务器的数据是String类型,如果传入的data不是String会被转换为String,然后就是固定的使用格式,如果发生错误的话会进行错误的提示。最后完成之后wx.showToast用于显示消息提示框,提示框title即为res.data.message的内容。

 openGate: function() {
    let that = this;
    
    let url = constUtil.url + '/shadow/open';
    let data = {
      uuid: "",
      nickName: "",
      phone: this.data.phone,
      cabinetSri: this.data.cabinetData.sri,
      gateSri: this.data.selectedGate.sri,
      tableNum: this.data.selectedGate.tableNum,
      lockNum: this.data.selectedGate.lockNum,
    };
    
    util.showLoading('');
    wx.request({
      url: url,
      data: data,
      method: 'POST',
      header: {
        'content-type': 'application/json' // 默认值
      },
      success:function(res) {

        // if(callback) callback(res)
      },
      fail:function(res) {
        console.log("fail,", res);
      },
      complete:function(res) {
        util.hideLoading();
        console.log("complete,", res);
        wx.showToast({
          title: res.data.message,
          icon: 'succes',
          duration: 1000,
          mask: true
        }, setTimeout(() => {that.reRenderChart()}, 1000))
      },
    })
  },

与之相似的,当使用结束后也应该有与HTTPS交互的命令,由于结构与功能与上者相似,不特别介绍。?

finishUse: function() {
    let that = this;

    let url = constUtil.url + '/shadow/finishUse';
    let data = {
      uuid: "",
      nickName: "", //app.globalData.userInfo.nickName,
      phone: this.data.phone,
      cabinetSri: this.data.cabinetData.sri,
      gateSri: this.data.selectedGate.sri,
      tableNum: this.data.selectedGate.tableNum,
      lockNum: this.data.selectedGate.lockNum,
    };
    util.showLoading('');
    wx.request({
      url: url,
      data: data,
      method: 'POST',
      header: {
        'content-type': 'application/json' // 默认值
      },
      success:function(res) {

        // if(callback) callback(res)
      },
      fail:function(res) {
        console.log("fail", res);
      },
      complete:function(res) {
        util.hideLoading();
        console.log("complete", res);
        wx.showToast({
          title: res.data.message,
          icon: 'succes',
          duration: 1000,
          mask: true
        }, setTimeout(() => {that.reRenderChart()}, 1000))
        
      },
    })
  },

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:51:52  更:2021-11-26 08:53:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 4:37:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码