• 企业门户APP
  • Changelog

    2019年12月27日,HIPPIUS 发布 0.6.0.RELEASE 版本,对应hzero的1.1.0.RELEASE 版本, 并对部分现有功能做了优化,同时修复了已知的问题缺陷 1. 增加通讯录名片分享 2. 微信钉钉通讯录同步

    欢迎各位更新体验

    通过Liquibase初始化数据

    海马汇数据库脚本仓库地址: 海马汇数据库

    hips_0.6.0 分支 对应 海马汇0.6.0版本服务初始化数据

    需仔细阅读readMe

    名片分享

    1. 修改下面html页面,更改其中prefix的接口地址为自己服务的地址,即网关地址
    2. 把这个html文件配置成在线页面(或者上传到文件服务器),拿到一个在线地址

    3. 修改hippius-platform服务参数

      名片h5在线页面 : HIPS_SHARE_CARD_HTML_URL
      在线appLogo : HIPS_SHARE_CARD_APP_LOGO
      

    注意:接口地址和在线页面要同是http或者同是https 需要保持一致

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <link rel="icon" href="favicon.ico">
      <meta name="x5-cache" content="disable">
      <meta name="x5-fullscreen" content="true">
      <meta name="full-screen" content="yes">
      <meta content="no-cache, no-store, must-revalidate" http-equiv="Cache-Control" />
      <meta content="no-cache" http-equiv="Pragma" />
      <meta content="0" http-equiv="Expires" />
      <meta http-equiv="expires" content="0">
      <meta name="viewport"
        content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no,viewport-fit=cover">
      <style>
        * {
          margin: 0;
          padding: 0;
        }
    
        li {
          list-style: none;
        }
    
        html {
          height: 100%;
          font-size: 50px;
          /* 向下兼容 不止vw时候 写死font-size */
          font-size: 13.33333333vw;
          /* 7.5rem === 100vw */
          margin: 0 auto;
        }
    
        body {
          height: 100%;
        }
    
        @media (min-width: 560px) {
    
          /* pc兼容 */
          html,
          body {
            font-size: 54px;
            max-width: 540px;
          }
        }
    
        @media (max-width: 1024px) {
    
          /* ipad兼容:ipad最大1024px */
          html,
          body {
            max-width: 1024px;
          }
        }
    
        .view-wrapper {
          height: 100%;
          overflow: hidden;
          background-image: url('https://hips-uat-public.bj.bcebos.com/0/7e7e2328509f46df972949d70e3d82e3@BG@3x.png');
          background-position: left bottom;
          background-repeat: no-repeat;
          background-size: 100%;
        }
    
        .dialog {
          display: block;
          margin-top: .8rem;
          text-align: center;
          margin-bottom: .4rem;
          font-family: PingFangSC-Medium;
          font-size: 14px;
          color: #4D4D4D;
          letter-spacing: 2.4px;
        }
    
        .user-card-img {
          width: 100%;
          height: 100%;
          text-align: center;
        }
    
        .portrait {
          position: absolute;
          top: .5rem;
          right: .3rem;
          width: 1rem;
          height: 1rem;
        }
    
        .portrait img {
          width: 1rem;
          height: 1rem;
          border-radius: .5rem;
        }
    
        .name {
          font-family: PingFangSC-Medium;
          font-size: 18px;
          line-height: .5rem;
          height: .5rem;
          color: #4D4D4D;
          letter-spacing: 0;
          text-align: left;
          margin-bottom: .20rem;
        }
    
        .position {
          font-family: PingFangSC-Regular;
          font-size: 14px;
          line-height: .4rem;
          color: #9B9B9B;
          letter-spacing: 0;
        }
    
        .contact-way {
          width: 6.9rem;
          margin: auto;
        }
    
        .tel {
          padding-left: .56rem;
          font-family: PingFangSC-Regular;
          font-size: 16px;
          color: #4D4D4D;
          letter-spacing: 0;
          line-height: .44rem;
          margin-top: 1rem;
          margin-top: .4rem;
          background-image: url('https://hips-uat-public.bj.bcebos.com/0/fc09f5add12a49f68a532ab59d9eba82@phone3x.png');
          background-position: left 2px;
          background-repeat: no-repeat;
          background-size: .36rem .36rem;
        }
    
        .margin-right {
          padding-right: .2rem;
          margin: 0;
        }
    
        .email {
          padding-left: .56rem;
          margin-top: .3rem;
          font-family: PingFangSC-Regular;
          font-size: 16px;
          color: #4D4D4D;
          line-height: .44rem;
          letter-spacing: 0;
          background-image: url('https://hips-uat-public.bj.bcebos.com/0/df120ac8610d4868b13b8d6120b240bb@email3x.png');
          background-position: left 2px;
          background-repeat: no-repeat;
          background-size: .36rem .36rem;
        }
    
        .app-info {
          margin-top: 2.56rem;
          height: .88rem;
          display: flex;
          justify-content: center;
        }
    
        .app-info img {
          display: block;
          width: .88rem;
          height: .88rem;
        }
    
        .app-info span {
          margin-left: .20rem;
          line-height: .88rem;
          display: inline-block;
          font-family: PingFangSC-Regular;
          font-size: 24px;
          color: #4D4D4D;
          letter-spacing: 0;
        }
    
        .card-image {
          box-shadow: 0 1px 4px 0 #EEEEEE, 0 0 10px 0 #EEEEEE;
          border-radius: 4px;
          border-radius: 4px;
          position: relative;
          margin: 0 auto;
          width: 6.9rem;
          height: 3rem;
        }
    
        .card-content {
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          right: 0;
          padding: .5rem .3rem;
        }
    
        .card-detail {
          margin: 0 .28rem;
        }
    
        .no-data {
          top: 0;
          left: 0;
          height: 100%;
          width: 100%;
          /* background: #ddd; */
          background: rgba(0, 0, 0, 0.40);
          display: flex;
          justify-content: center;
          align-items: center;
        }
    
        .dialog-mention {
          width: 6.3rem;
          height: 3rem;
          background: #FFFFFF;
          border-radius: 4px;
          border-radius: 4px;
          font-family: PingFangSC-Medium;
          font-size: 18px;
          color: #4D4D4D;
          letter-spacing: 0;
          text-align: center;
        }
    
        .dialog-mention li:first-child {
          height: 2rem;
          line-height: 2rem;
          box-shadow: 0px 0px 1px 0px #eee inset;
          /* border-bottom: 1px solid #eee; */
        }
    
        .dialog-mention li:last-child {
          line-height: 1rem;
          height: 1rem;
          color: #1F8CEB
        }
      </style>
      <script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
    </head>
    
    <body>
      <div class="view-wrapper" id="app"
        :style="cardDetail===undefined || Object.keys(cardDetail).length===0?{background:'none'}:null">
        <div class="card-detail" v-if="cardDetail!==undefined && Object.keys(cardDetail).length>0">
          <p class="dialog">你好,这是我的名片,请惠存</p>
          <div class="card-image">
            <img class="user-card-img" :src="cardDetail.userCardUrl" alt />
            <div class="card-content">
              <dl class="left">
                <dt class="name">{{ cardDetail.name }}</dt>
                <dd class="position">{{ cardDetail.tenantName }}</dd>
              </dl>
              <div class="portrait">
                <img :src="cardDetail.imageUrl" alt />
              </div>
            </div>
          </div>
          <div class="contact-way">
            <div class="tel">
              <span class="margin-right">电话</span>
              <span>{{cardDetail.mobile?cardDetail.mobile:''}}</span>
            </div>
            <div class="email">
              <span class="margin-right">邮箱</span>
              <span>{{cardDetail.email?cardDetail.email:''}}</span>
            </div>
          </div>
          <div class="app-info">
            <img :src="cardDetail.appLogo" alt />
            <span>{{ cardDetail.appName }}</span>
          </div>
        </div>
        <div class="no-data" v-if="!!(cardToken && cardDetail===undefined)">
          <ul class="dialog-mention">
            <li>当前电子名片已经过期</li>
            <li><span @click="backPath">确定</span></li>
          </ul>
        </div>
      </div>
    </body>
    <script>
      const app = new Vue({
        el: '#app',
        data() {
          return {
            cardDetail: undefined,
            cardToken: undefined,
          }
        },
        created() {
          const search = window.location.search;
          const searchObj = {};
          if (search !== "") {
            let t = search.split("?")[1].split("&");
            t.forEach(item => {
              searchObj[item.split("=")[0]] = item.split("=")[1];
            });
          }
          const {
            cardToken
          } = searchObj;
          // const cardToken = '97658d76-f4f7-4aa5-b987-01a8b800e828';
          // this.cardToken = cardToken;
    
          const prefix = `http://xxxxxxxxxxxx:21190`;
          fetch(`${prefix}/hipspfm/hippius/v1/employee-users/shareCard/cardDetail?cardToken=${cardToken}`, { // 在URL中写上传递的参数
              method: 'GET'
            })
            .then((res) => {
              if (res.status === 200) {
                return res && res.json()
              } else {
                this.cardToken = cardToken;
              }
            })
            .then((res) => {
              this.cardDetail = res;
            })
        },
        methods: {
          backPath() {
            // window.close()
            window.history.go(-1);
          }
        }
      })
    </script>
    
    </html>
    

    微信钉钉同步

    详情参考用户手册