前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信小程序 内容评论-回复评论-回复回复的实现

微信小程序 内容评论-回复评论-回复回复的实现

作者头像
peng_tianyu
发布于 2022-12-15 09:12:59
发布于 2022-12-15 09:12:59
3K00
代码可运行
举报
文章被收录于专栏:前端开发随记前端开发随记
运行总次数:0
代码可运行

效果图

先展示代码js逻辑有详细注释

代码格式有点乱复制粘贴格式化即可

wxml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- 评论-回复-回复评论显示区域 -->  
<view class="container">
    <!-- 总共评论数 -->    
    <view class="total">{{comment_list.length + comment_list2.length}}条评论</view>    
    <!-- END -->
    <!-- 评论框 -->    
    <input confirm-type="send" class="container_inp" value="{{value}}" placeholder="{{ placeholder2 }}" placeholder-class="container_place" bindconfirm="bindconfirm"></input>    
    <!-- END -->
    <!-- 用户评论回复显示区域 -->    
    <view class="container-item" wx:for="{{comment_list}}" wx:for-item="list" wx:key="key">
      <image class="item_img" src="{{list.comment_user_avatar}}"></image>
      <view class="item_right">
        <view class="right_name">{{list.comment_user_name}}</view>
        <view class="right_content">
          <text class="right_content_txt" bindtap='replyComment' data-type="1" data-name='{{list.comment_user_name}}' data-cid='{{list.comment_id}}' data-pid="{{list.parent_id}}">{{list.comment_text}}</text>
          <text class="right_content_txt2">{{list.comment_time}}</text>
          <!-- 回复评论 -->
          <!-- 判断回复列表数据中的parent_id和评论列表数据的comment_id是否相等 相等就显示 不等就不显示 -->          
          <view class="reply" wx:for="{{comment_list2}}" wx:for-item="list2" wx:key="list2" wx:if="{{list2.parent_id == list.comment_id}}">
            <image class="reply_img" src="{{list2.comment_user_avatar}}"></image>
            <view class="reply_right">
              <view class="right_name">{{list2.comment_user_name}}</view>
              <text wx:if="{{list2.reply_name == ''}}" class="right_content_txt" bindtap='replyComment' data-type="2" data-name='{{list2.comment_user_name}}' data-cid='{{list2.comment_id}}' data-pid="{{list2.parent_id}}">{{list2.comment_text}}</text>
              <text wx:if="{{list2.reply_name != ''}}" bindtap='replyComment' data-type="2" data-name='{{list2.comment_user_name}}' data-cid='{{list2.comment_id}}' data-pid="{{list2.parent_id}}" class="right_content_txt">回复 <text class="right_name">{{list2.reply_name}}</text>{{list2.comment_text}}</text>
              <text class="right_content_txt2">{{list2.comment_time}}</text>
            </view>
          </view>
        </view>
      </view>
    </view>    
    <!-- END -->
    <!-- 结束 -->    
    <view class="end">      
      <text class="end_txt" space="nbsp">THE END</text>    
    </view>    
    <!-- END -->
  </view>  
  <!-- END -->
  <!-- 底部评论 -->  
  <view class="foot">
    <view class="say">
      <view class="flex">
        <image class="say_img" src="/images/assemblyNumber/discoveryDetails/icon3.png"></image>
        <input confirm-type="send" class="say_inp" placeholder="{{ placeholder }}" value="{{ comment_text }}" focus="{{ focus }}" bindblur="blur" bindconfirm="confirm"></input>
      </view>
    </view>
    <image class="foot_img" src="/images/assemblyNumber/discoveryDetails/icon4.png"></image>
    <text class="foot_num">210</text>
    <image class="foot_img2" src="/images/assemblyNumber/discoveryDetails/icon5.png"></image>
    <text class="foot_num">368</text>
  </view>  
  <!-- END -->

wxss

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* 评论-回复-回复评论显示区域 */
.container{  width: 718rpx;  margin-top: 39rpx;  padding-left: 32rpx;}
.total{  font-size: 24rpx;  color: #999999;   margin-left: 1rpx;}
.container_inp{  width: 661rpx;  height: 32rpx;  background-color: #F2F2F2;  border-radius: 8rpx;  padding: 17rpx 0rpx 15rpx 25rpx;  margin-top: 24rpx;  margin-bottom: 47rpx  ;}
.container_place{  font-size: 24rpx;  color: #999999;}
.container-item{  display: flex;  margin-bottom: 34rpx;  align-items: flex-start;}
.item_img{  width: 64rpx;  height: 64rpx;  margin-right: 17rpx;}
.item_right{  display: inline-block;  width: 636rpx;  border-bottom: 2rpx solid #E5E5E5;  padding-bottom: 40rpx;}
.right_name{  font-size: 24rpx;  color: #999999;}
.right_content{  width: 603rpx;  margin-top: 20rpx;}
.right_content_txt{  font-size: 26rpx;  color: #333333;}
.right_content_txt2{  font-size: 24rpx;  color: #CCCCCC;  margin-left: 30rpx;}
.reply{  display: flex;   margin-top: 32rpx;  align-items: flex-start;  }
.reply_img{  width: 40rpx;  height: 40rpx;  margin-right: 17rpx;}
.reply_right{  display: inline-block;  width: 546rpx;}
/* 结束 */
.end{  margin-top: 47rpx;  margin-bottom: 48rpx;  text-align: center;}
.end_txt{  font-size: 24rpx;  color: #999999;}
/* 底部评论 */
.foot{  width: 686rpx;  padding: 17rpx 32rpx;  background-color: #FFFFFF;  box-shadow:0rpx -1rpx 4rpx 0rpx rgba(0, 0, 0, 0.08);  position: fixed;  bottom: 0;  left: 0;}
.say{  display: inline-block;  width: 360rpx;  padding: 20rpx 0rpx 10rpx 24rpx;  background-color: #F2F2F2;  border-radius: 8rpx;}
.flex{  display: flex;  align-items: center;}
.say_img{  width: 24rpx;  height: 24rpx;  margin-right: 13rpx;  /* vertical-align: 10rpx; */}
.say_inp{  display: inline-block;  width: 300rpx;  height: 33rpx;}
.say_place{  font-size: 28rpx;  color: #333333;}
.foot_img{  width: 45rpx;  height: 40rpx;  margin-left: 50rpx;  margin-right: 17rpx;}
.foot_num{  font-size: 24rpx;  vertical-align: 10rpx;}
.foot_img2{  width: 40rpx;  height: 40rpx;  margin-left: 30rpx;  margin-right: 17rpx;}

js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Page({
  data: {
  
    //评论数据
    comment_list: [
      {
        comment_id: 1, //评论id
        comment_pr_id: 1 //评论文章所属id
        comment_user_avatar: '/images/assemblyNumber/discoveryDetails/per1.png', //评论用户头像(路径替换为你的图片路径)
        comment_user_name: '高飞', //评论人昵称
        comment_text: '去办理优待证是挺难的,但是办理了优待证之后福利特别好', //评论内容
        comment_time: '2020年8月18日', //评论时间
        reply_id: 0, //回复谁的评论,默认为0
        parent_id: 0, //评论所属评论id,默认为0
        reply_name: '' //回复评论用户的昵称 默认为''
      },
      {
        comment_id: 2,
        comment_pr_id: 1,
        comment_user_avatar: '/images/assemblyNumber/discoveryDetails/per2.png',
        comment_user_name: '张维默',
        comment_text: '去办理优待证是挺难的,但是办理了优待证之后福利特别好',
        comment_time: '2020年8月18日',
        reply_id: 0,
        parent_id: 0,
        reply_name: ''
      },
      {
        comment_id: 3,
        comment_pr_id: 1,
        comment_user_avatar: '/images/assemblyNumber/discoveryDetails/per3.png',
        comment_user_name: '张剑锋',
        comment_text: '去办理优待证是挺难的,但是办理了优待证之后福利特别好',
        comment_time: '2020年8月18日',
        reply_id: 0,
        parent_id: 0,
        reply_name: ''
      }
    ],
    
    //回复数据
    comment_list2: [
      {
        comment_id: 4,
        comment_pr_id: 1,
        comment_user_name: '张剑锋',
        comment_user_avatar: '/images/assemblyNumber/discoveryDetails/per3.png',
        comment_text: "大家快去办理吧!!!",
        comment_time: '2020年8月18日',
        reply_id: 3,
        parent_id: 3,
        reply_name: ''
      },
      {
        comment_id: 5,
        comment_pr_id: 1,
        comment_user_name: '沈非隆',
        comment_user_avatar: '/images/assemblyNumber/discoveryDetails/per4.png',
        comment_text: "办理优待证大概需要多长时间呢会不会需要特别长时间",
        comment_time: '2020年8月18日',
        reply_id: 3,
        parent_id: 3,
        reply_name: '张剑锋'
      }
    ],

    /*定义一些数据*/
    focus: false, //输入框是否聚焦
    placeholder: '说点什么...', //底部输入框占字符
    placeholder2: '说点什么,让ta也认识看笔记的你', //顶部输入框占字符
    value: null, //顶部输入框内容
    comment_text: null, //底部评论框内容

    /*
     *以下初始化数据是用户点击任意一条评论或回复时需要设置的数据
     *然后将设置好的数据传递给评论时新创建的评论数据对象
    */
    now_reply_name: null, //当前点击的评论或回复评论的用户昵称
    now_reply_type: 0, //当前回复类型 默认为0 1为回复评论 2为回复回复
    now_parent_id: 0, //当前点击的评论或回复评论的所属评论id
    now_reply: 0, //当前点击的评论或回复评论的id

    //模拟用户信息
    userinfo: {
      nickName: '马飞', //用户昵称
      avatarUrl: '/images/assemblyNumber/discoveryDetails/per5.png' //用户头像
    }
  },

  //点击用户评论或回复时触发
  replyComment(e) {
    var cid = e.currentTarget.dataset.cid; //当前点击的评论id
    var name = e.currentTarget.dataset.name; //当前点击的评论昵称
    var pid = e.currentTarget.dataset.pid; //当前点击的评论所属评论id
    var type = e.currentTarget.dataset.type; //当前回复类型
    this.setData({
        focus: true, //输入框获取焦点
        placeholder: '回复' + name + ':', //更改底部输入框占字符
        now_reply: cid, //当前点击的评论或回复评论id
        now_reply_name: name, //当前点击的评论或回复评论的用户名
        now_parent_id: pid, //当前点击的评论或回复评论所属id
        now_reply_type: type, //获取类型(1回复评论/2回复-回复评论)
    })
  },

  //底部输入框提交内容时触发
  confirm(e){
    //获取输入框输入的内容
    var comment_text = e.detail.value;
    //判断用户是否输入内容为空
    if (comment_text == '') {
      //用户评论输入内容为空时弹出
      wx.showToast({
       title: '请输入内容', //提示内容
       icon: 'none' //提示图标
     })
    } else {
        var date = new Date(); //创建时间对象
        var year = date.getFullYear(); //获取年      
        var month = date.getMonth() + 1; //获取月      
        var day = date.getDate(); //获取日      
        var hour = date.getHours(); //获取时      
        var minute = date.getMinutes(); //获取分      
        var second = date.getSeconds(); //获取秒      
        var time = `${year}${month}${day}${hour}${minute}${second}`; //当前时间
        var comment_list = this.data.comment_list; //获评论数据
        var comment_list2 = this.data.comment_list2; //获取回复数据
        var comment_list_length = comment_list.length; //获取当前评论数组的长度
        var last_id = comment_list[comment_list_length - 1].comment_id; //获取最后一个评论的id
        var comment_list2_length = comment_list2.length; //获取回复数组的长度
        var last_id2 = comment_list2[comment_list2_length - 1].comment_id; //获取最后回复的id
        var new_id = last_id > last_id2 ? last_id + 1 : last_id2 + 1; //当前将要发表的评论的id
        var userinfo = this.data.userinfo; //获取当前的用户信息      
        var comment_user_name = userinfo.nickName //用户昵称      
        var comment_user_avatar = userinfo.avatarUrl //用户头像
        var reply_name = null; //回复评论用户的昵称
        var parent_id = 0; //评论所属哪个评论的id
        var reply_id = this.data.now_reply; //回复谁的评论id
        //通过回复谁的评论id判断现在是评论还是回复
        if(reply_id != 0) {
	  //现在是回复
	  var reply_type = this.data.now_reply_type; //回复类型
	  //通过回复类型判断是回复评论还是回复回复
	  if (reply_type == 1) {
	    //回复评论
	    parent_id = this.data.now_reply; //回复评论所属评论id
	    reply_name = this.data.now_reply_name; //回复评论用户昵称
	  } else {
	    //回复回复
	    parent_id = this.data.now_parent_id; //回复评论所属评论id
	    reply_name = this.data.now_reply_name; //回复评论用户昵称
	  }
        } else {
	  //现在是评论
	}
	var comment_detail = {} //评论/回复对象
	comment_detail.comment_id = new_id; //评论Id      
	comment_detail.comment_user_name = comment_user_name; //用户昵称      
	comment_detail.comment_user_avatar = comment_user_avatar; //用户头像      
	comment_detail.comment_text = comment_text; //评论内容      
	comment_detail.comment_time = time; //评论时间      
	comment_detail.reply_id = reply_id; //回复谁的评论的id      
	comment_detail.parent_id = parent_id; //评论所属哪个评论id      
	comment_detail.reply_name = reply_name; //回复评论人的昵称
	//判断parent_id是否为0 为0就是评论 不为0就是回复
	if(comment_detail.parent_id > 0) {
	  //回复
	  comment_list2.unshift(comment_detail);
	} else {
	  //评论
	  comment_list.unshift(comment_detail);
	}
	//动态渲染
	ths.setData({
	  //发表评论后将以下数据初始化 为下次发表评论做准备
	  comment_text: null, //评论内容        
	  now_reply: 0, //当前点击的评论id        
	  now_reply_name: null, //当前点击的评论的用户昵称        
	  now_reply_type: 0, //评论类型        
	  now_parent_id: 0, //当前点击的评论所属哪个评论id        
	  placeholder: "说点什么...", //输入框占字符
	  //将加入新数据的数组渲染到页面        
	  comment_list, //评论列表        
	  comment_list2 //回复列表
	})
  }
输入框失去焦点时触发
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//下面的方法可以绑定在输入框的bindblur属性上	
blur(e) {
  const text = e.detail.value.trim();
  if( text == ''){
    this.setData({
      now_reply: 0, //当前点击的评论或回复评论的id        
      now_reply_name:null, //当前点击的评论或回复评论的用户昵称        
      now_reply_type:0, //当前回复类型        
      now_parent_id:0, //当前点击的评论或回复评论的所属评论id        
      placeholder: "说点什么呢,万一火了呢", //占字符        
      focus:false //输入框获取焦点
    })
  }
}

如果你是点击输入框右边按钮才发送内容的话需要在输入框bindinput属性绑定以下方法获取用户输入的值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//获取输入框内容
getCommentText(e) {
  var val = e.detail.value;
  this.setData({
    comment_text: val
  })
}
顶部输入框的逻辑与底部类似粘贴以下代码格式化即可
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//顶部评论框提交内容时触发  
bindconfirm(e) {    var comment_text = e.detail.value    //判断用户是否输入内容为空    if (comment_text == '') {      //用户评论输入内容为空时弹出      wx.showToast({        title: '请输入内容', //提示内容        icon: 'none'      })    } else {      var date = new Date(); //创建时间对象      var year = date.getFullYear(); //获取年      var month = date.getMonth() + 1; //获取月      var day = date.getDate(); //获取日      var hour = date.getHours(); //获取时      var minute = date.getMinutes(); //获取分      var second = date.getSeconds(); //获取秒      var time = `${year}年${month}月${day}日${hour}时${minute}分${second}秒`; //当前时间
      var comment_list = this.data.comment_list; //获取data中的评论列表      var comment_list2 = this.data.comment_list2; //获取data中的回复列表      var userinfo = this.data.userinfo; //获取当前的用户信息      var comment_user_name = userinfo.nickName //用户昵称      var comment_user_avatar = userinfo.avatarUrl //用户头像      // var reply_id = this.data.reply_id //获取当前输入评论的id      var comment_list_length = comment_list.length; //获取当前评论数组的长度      var last_id = comment_list[comment_list_length - 1].comment_id; //获取最后一个评论的id      var comment_list2_length = comment_list2.length; //获取回复数组的长度      var last_id2 = comment_list2[comment_list2_length - 1].comment_id; //获取最后回复的id      var new_id = last_id > last_id2 ? last_id + 1 : last_id2 + 1; //赋值当前评论的id      var reply_name = null;      var parent_id = 0;      var reply_id = this.data.now_reply; //获取当前输入评论的id
      var comment_detail = {} //声明一个评论/回复对象      comment_detail.comment_id = new_id; //评论Id      comment_detail.comment_user_name = comment_user_name; //用户昵称      comment_detail.comment_user_avatar = comment_user_avatar; //用户头像      comment_detail.comment_text = comment_text; //评论内容      comment_detail.comment_time = time; //评论时间      comment_detail.reply_id = reply_id; //回复谁的评论的id      comment_detail.parent_id = parent_id; //评论所属哪个评论id      comment_detail.reply_name = reply_name; //回复评论人的昵称
      comment_list.unshift(comment_detail);
      this.setData({        value: null, //评论内容        now_reply: 0, //当前点击的评论id        now_reply_name: null, //当前点击的评论的用户昵称        now_reply_type: 0, //评论类型        now_parent_id: 0, //当前点击的评论所属哪个评论id        placeholder2: "说点什么,让ta也认识看笔记的你", //输入框占字符        comment_list //评论列表      })    }  }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Glia为其基于人工智能的集成客户服务平台筹集了7800万美元
为了减缓COVID-19的传播,社会距离的持续推动意味着比以往任何时候都有更多的人使用基于互联网的服务来完成任务。这对数字客户服务产生了直接的影响,当事情进展不顺利时,数字客户服务的流量和需求空前。如今,一家致力于解决这一问题的初创公司宣布了一轮融资,以拓展其业务。
用户8054111
2021/01/14
1K0
亚特兰大的SalesLoft为其数字销售平台筹集了1亿美元,目前总值为1.1B美元
COVID-19大流行,特别是需要通过社交活动来减慢病毒的传播,这继续使我们许多人远离办公室。现在,越来越多的组织和人们相信,它可能会带来更永久的向远程,分布式和虚拟工作的转变。如今,一家初创公司已经建立了一套专门用于通过数字化销售方式帮助销售人员应对这种变化的工具,从而筹集了巨大的增长资金来满足这一需求。
木樾233
2021/01/15
9970
专注于OKR的Gtmhub在2020年增长3倍后筹集了3000万美元的B轮融资
今天上午,跨国公司Gtmhub致力于开发软件来帮助其他公司管理公司计划,该公司宣布已筹集了3,000万美元的B轮融资。本轮融资由Insight领投,新投资者Singular和之前的LauncHub以及CRV。 Gtmhub大约在13个月前筹集了900万美元的A轮融资。当时,新资金超过了之前的融资总额。这家初创公司的新一轮融资(如其2019年A轮融资)以类似的方式高出其先前的融资总额。 Gtmhub如何筹集了这么多钱?总之,增长。 TechCrunch在其A轮融资时报告说,Gtmhub的年度经常性收入(ARR)同比增长了400%。 Gtmhub首席运营官塞思·埃利奥特(Gethmhub首席运营官塞思·埃利奥特(Seth Elliott)告诉TechCrunch,该公司的ARR去年增长了三倍(从2019年12月到2020年12月)。 在Gtmhub在2019年筹集资金的同时,也有许多其他初创公司也专注于同一软件市场,导致TechCrunch询问“为什么每个人都在开发OKR软件?” OKR的首字母缩写翻译为“目标和关键结果”,这是一种计划方法,已在美国科技公司中流行,并且据Elliott称,在国际上和非科技公司中也越来越流行。 这位初创公司高管还告诉TechCrunch,他认为Gtmhub伴随着两种业务趋势而增长。他告诉TechCrunch,首先是OKR本身的崛起,这是他的公司乘风破浪的一年。第二个是他认为自己的创业公司处于领先地位的公司,它与追求公司转型以提高敏捷性的大公司打交道;他说,这些公司正在采用Gtmhub,这可以帮助他们成功地进行数字化转型或类似的努力。
YH
2021/01/12
5810
Senti Bio为其新的可编程生物学平台和癌症疗法筹集了1.05亿美元
Senti Biosciences是一家使用新的可编程生物学平台开发癌症疗法的公司,该公司表示,该公司已经获得了1.05亿美元的新一轮融资,由生命科学巨头拜耳(Bayer)的风险投资部门牵头。
木樾233
2021/01/15
6680
Hopin以2.5亿美元收购livestreaming初创公司StreamYard,以扩大其产品阵容
今天上午,一家快速成长的初创公司Hopin宣布,它已经收购了StreamYard,这家公司出售一种用于举办数字活动的技术平台。这家被收购的公司将保持其品牌和市场上的产品,这家公司已经将自己提升到了实质性的收入规模。
用户8054111
2021/01/14
1.1K0
Zipmex致力于建立亚太地区最大的数字资产交易所,Jump Capital领投600万美元
总部位于新加坡的数字资产交易所Zipmex今天宣布已筹集600万美元,由Jump Capital领投。这家计划成为数字资产银行的初创公司表示,这一轮融资超过了其最初的目标400万美元。加上早期的资金,Zipmex迄今已筹集的资金总额达到1,090万美元。
木樾233
2021/01/15
1.2K0
Jumbotail为其在印度的批发市场筹集了1420万美元
杂货和食品在线批发市场Jumbotail上周五表示,由于这家总部位于班加罗尔的初创公司正在寻求将世界第二大互联网市场的邻里店数字化的机会,该公司又筹集了1420万美元。
用户8054111
2021/01/14
3390
跨境电子商务税收合规平台Taxdoo筹集了2100万美元的A轮融资
Taxdoo是一家针对跨境电子商务公司构建了所谓的“财务合规自动化平台”的创业公司,已筹集了2100万美元的新资金。
甜甜圈
2020/12/18
8490
Arya筹集了2100万美元,为印度农民提供融资和收获后服务
印度农民生产的单产中只有大约三分之一到达了大市场。那些今天生产农产品的人可以利用收获后的服务。其他所有人都错过了。
甜甜圈
2020/12/18
4120
Jobandtalent的“劳动力即服务”平台获得了1.08亿美元的融资
位于马德里的Jobandtalent是一家数字临时人员管理机构,该公司经营一个双向平台,该平台将临时工与需要运输和物流等行业的定期临时工联系在一起的雇主,已为其C系列增加了8,800万欧元(约合1.08亿美元)的收入-该轮融资较早(2019年)结束后筹集的资金总额为1.66亿欧元。 这家成立于2009年的初创公司在过去十年的运营中迄今已筹集了超过2.9亿美元,但将自己描述为在庞大且不断增长的临时工作市场上崭露头角的旅程的开始,并预计需求将继续增加未来几年,行业和流程将数字化。 Jobandtalent说,去年在欧洲和拉美的七个市场(即西班牙,英国,德国,法国,瑞典,墨西哥和哥伦比亚),已有超过80,000名工人使用其平台来确保临时工作;正如它所说的那样,有750多个雇主签署了“经常管理大部分员工”的合同,其中包括XPO,Ocado,Saint Gobain,桑坦德银行,拜耳,eBay,华为,Ceva Logistics和家乐福。 它专注于与Adecco和Randstad等传统的人员配置公司竞争,尽管其他类似的初创公司也正在涌现,以迎合一个更加不稳定的临时就业市场。 (例如,Uber在2019年发起了一个名为Works的shift-finder应用程序实验,该实验还针对按需劳动力需求,但在这种情况下是与人员编制机构合作完成的。) Jobandtalent报告称,在其平台上寻找临时工作的工人人数每年都在增加一倍,同时其收入已增长至5亿欧元,并称EBITDA达到正值。 它今天说,加强的C轮融资将用于扩大市场,并加倍扩大现有的规模。 联合创始人胡安·乌迪亚莱斯(Juan Urdiales)告诉我们:“我们将继续在欧洲扩展业务,并将考虑一些其他机会(美国和一些拉美国家),并指出其主要市场仍然是西班牙和英国,而其主要领域是物流,英里,仓储和运输。 法国私募股权公司InfraVia是C轮融资的主要投资方,该公司投入了3000万欧元,并通过去年启动的成长科技基金进行了投资,该基金专注于欧洲B2B高增长科技公司。 现有的Jobandtalent投资者,包括Atomico,Seek,DN Capital和Kibo Ventures,也参加了C轮融资。 乌迪亚莱斯说,之所以现在要筹集另一笔资金,是因为随着冠状病毒大流行继续加速对模板的需求,增长机会增加了。他告诉我们:“我们筹集更多资金的原因是,我们现在看到了比预期更快的增长潜力。” “在采用我们的平台方面,大流行帮助了我们,无论是工人还是雇主。” “ Covid加快了许多行业的转型。在过去的九个月中,与过去五年相比,我们采用新技术的次数更多。人才市场正在经历巨大的转变,这种转变将在未来几年中加速,从传统的实体结构转变为数据驱动的平台,这将改善工人和雇主的体验。”乌迪亚莱斯继续说道。 他通过电子邮件补充道:“这个市场确实很大,我们才刚刚开始(即使我们现在已经进入市场很多年了。”)接下来的几年。 “我们认为,如果我们继续按照现在的增长速度增长,并增加一些私人投资者来帮助我们制定增长计划,那么我们可能会保持更长的私有化时间。” 自从十多年前启动以来,Jobtaltalent就经历了许多工作,其想法是使用技术来简化招聘工作中杂乱无章的人力资源。它开始测试多种方法,然后再采用一种语言学算法来解析求职广告并创建警报以在被动求职者中循环播放。 然后在2016年,它从企业招聘转向集中于动员中小型企业的招聘-归因于智能手机应用程序推动的演出工作的增加而提供的临时工作匹配机会的增加。从那里开始,它一直是一种磨练工具,可以满足管理大量临时劳动力的雇主的需求。
YH
2021/01/12
6100
初创公司Lantern希望引发一场关于如何良好死亡的对话
美国是文书工作的大国,这在生命尽头时体现得极为明显。我们必须向医疗保健提供者仔细传达高级护理指示并严格遵守。在符合相关房地产法的前提下,必须对财产进行分割和转让。当然,葬礼,火葬或其他选择的后勤工作也有其自身的复杂性,成本和选择。
木樾233
2021/01/15
5680
印尼机器人顾问应用程序Bibit获3000万美元融资,由红杉资本印度公司领投
Bibit是一个机器人顾问应用程序,希望使投资在印尼更容易进行,它已经从红杉资本印度公司筹集了3000万美元。回头投资者East Ventures,EV Growth,AC Ventures和500 Startups也参加了。
木樾233
2021/01/15
1.1K0
4月VR/AR行业投融资报:全球完成31笔,总金额超201亿元人民币
(VRPinea5月11日讯)据统计,今年4月XR行业全球共完成31笔融资并购,国内完成7笔,国外完成24笔,4月目前已知的全球融资并购总额约为29亿9290万美元(约合201亿2157万元人民币)。
VRPinea
2022/06/08
5450
4月VR/AR行业投融资报:全球完成31笔,总金额超201亿元人民币
TO GOOD TO GO筹集3100万美元对抗食物浪费
TO GOOD TO GO,这家让你在食物浪费之前购买食物的初创公司正在筹集3110万美元的资金;blisce正在领导这轮融资,并投资1540万美元。现有投资者和员工也参与其中。虽然这家公司已经存在了一段时间,但这是第一次从风投公司融资。
用户8054111
2021/01/14
9060
多组学数据和临床数据开发|DNAnexus完成2亿美元的H轮融资
2022年3月8日,基于云的生物医学数据分析公司DNAnexus宣布完成一轮2亿美元的融资,以加快其技术的全球应用,将复杂的多组学和临床数据转化为切实的见解和个性化治疗。
智药邦
2022/04/13
3330
多组学数据和临床数据开发|DNAnexus完成2亿美元的H轮融资
Umba是一家面向新兴市场的数字银行,筹集了200万美元的种子基金,以在整个非洲扩张
Umba是一家面向新兴市场的数字银行,首先瞄准非洲,已从新投资者那里获得了200万美元的种子资金,这些新投资者包括Stripe发行前负责人Lachy Groom;拉德洛风险投资公司; Frontline Ventures和Act Venture。
甜甜圈
2020/12/18
5390
文字营销初创公司Voxie筹集670万美元
像许多初创公司一样,总部位于亚特兰大的Voxie的成立是为了解决创始人兼首席执行官Bogdan Constantin所面对的问题。 以康斯坦丁为例,这是在他以前的燕尾服租赁初创公司Menguin(最终被Generation Tux收购)那里的,他说他必须以6到9个月的销售周期推销产品,因为客户通常会考虑不同的选择婚礼。 康斯坦丁说,随着时间的流逝,电子邮件营销将导致“恶化”的情况。因此,有一天,他决定尝试向所有签约的人发送短信,将自己介绍为“您在Menguin的个人造型师”。毫不奇怪,他得到了更多答复。 当然,挑战在于在大型客户群中进行这类文本对话。这就是为什么Voxie(宣布已筹集670万美元的A轮融资)提供了工具来帮助企业自动化和管理该流程的原因。 康斯坦丁声称,与其他文本营销工具相比,通过Voxie发送的消息感觉像是一次真实的个性化对话,尽管实际上80%到90%的消息是自动进行的,其余消息都是由人编写的。另外,Voxie将允许企业使用正常的10位电话号码(而不是用于营销的更常见的5位数字)发送消息。
YH
2021/01/12
6070
点击包装技术为数字交易带来速度和效率
由杰克·杰曼 » 电子商务时报 » ECT新闻网 2020年12月11日 4:30上午PT
zstt8054929
2020/12/23
5930
全息创业公司Envisics与松下合作,快速追踪汽车AR技术
Envisics的创始人兼首席执行官杰米森•圣诞博士(Dr.Jamieson Christmas)三年前启动了这家初创公司,用其全息技术“彻底改变”车内体验。现在,它有了一个伙伴,可以帮助它实现这一使命。
用户8054111
2021/01/14
7110
Kanarys为其数据驱动平台筹集300万美元,用于评估多样性和包容性工作
曼迪·普莱斯(Mandy Price)在私人执业方面已经是一位非常成功的律师,在一年多前,她与两名联合创始人一起进入创业领域,创办了Kanarys。 哈佛法学院的毕业生不必创办公司,这可以帮助企业使用硬数据来衡量其多元化和包容性工作的效率,但她需要创办公司。 现在,在推出该服务一年后,该公司就使用了该服务的十几家公司中包括百胜餐饮集团(Yum Brands),达拉斯小牛队(Dallas Mavericks)和内曼·马库斯(Neiman Marcus)等公司,并拥有300万美元的种子资金来帮助其扩张。 对于Price而言,创办Kanarys的动力来自她自己的法律工作经验。普莱斯创立卡纳里斯公司并不是因为微小的侵略,低薪,同事对她本来就很成功的态度的随便不屑一顾,而是让她知道自己的经历并非独一无二,并且成千上万的女性和少数族裔也面临着挑战。每天同样的经历。 普莱斯说:“我在工作场所发生了很多事情,这与许多其他妇女和有色人种的妇女所经历的相似,并且不想让我的孩子不得不经历类似的问题。” 因此,普莱斯与她的丈夫本尼·金(本人是达拉斯地区的连环企业家)和她在德克萨斯州的奥斯丁大学以及哈佛的同班同学卡特(Star Carter)一起,于2019年末推出了Kanarys。 该公司使用“平等就业机会”报告以及对各种政策的评估,这些政策涉及晋升,招聘和福利,以跟踪公司相对于同业的表现。 “我们看到的许多不平等现象都是从结构和系统的角度来看的。这就是Kanarys看到他们如何使不平等现象永久存在的地方。” Price说。
YH
2021/01/12
3450
推荐阅读
Glia为其基于人工智能的集成客户服务平台筹集了7800万美元
1K0
亚特兰大的SalesLoft为其数字销售平台筹集了1亿美元,目前总值为1.1B美元
9970
专注于OKR的Gtmhub在2020年增长3倍后筹集了3000万美元的B轮融资
5810
Senti Bio为其新的可编程生物学平台和癌症疗法筹集了1.05亿美元
6680
Hopin以2.5亿美元收购livestreaming初创公司StreamYard,以扩大其产品阵容
1.1K0
Zipmex致力于建立亚太地区最大的数字资产交易所,Jump Capital领投600万美元
1.2K0
Jumbotail为其在印度的批发市场筹集了1420万美元
3390
跨境电子商务税收合规平台Taxdoo筹集了2100万美元的A轮融资
8490
Arya筹集了2100万美元,为印度农民提供融资和收获后服务
4120
Jobandtalent的“劳动力即服务”平台获得了1.08亿美元的融资
6100
初创公司Lantern希望引发一场关于如何良好死亡的对话
5680
印尼机器人顾问应用程序Bibit获3000万美元融资,由红杉资本印度公司领投
1.1K0
4月VR/AR行业投融资报:全球完成31笔,总金额超201亿元人民币
5450
TO GOOD TO GO筹集3100万美元对抗食物浪费
9060
多组学数据和临床数据开发|DNAnexus完成2亿美元的H轮融资
3330
Umba是一家面向新兴市场的数字银行,筹集了200万美元的种子基金,以在整个非洲扩张
5390
文字营销初创公司Voxie筹集670万美元
6070
点击包装技术为数字交易带来速度和效率
5930
全息创业公司Envisics与松下合作,快速追踪汽车AR技术
7110
Kanarys为其数据驱动平台筹集300万美元,用于评估多样性和包容性工作
3450
相关推荐
Glia为其基于人工智能的集成客户服务平台筹集了7800万美元
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档