Changelog
2019年12月27日,HIPPIUS 发布 0.6.0.RELEASE 版本,对应hzero的1.1.0.RELEASE 版本, 并对部分现有功能做了优化,同时修复了已知的问题缺陷 1. 增加通讯录名片分享 2. 微信钉钉通讯录同步
欢迎各位更新体验
- 发布版本:0.6.0.RELEASE
- 发布日期:2019年12月27日
通过Liquibase初始化数据
- 备份每个库的表结构及数据,以便出问题之后恢复
- 初始化hzero相关服务的数据库脚本
- 初始化海马汇相关服务的数据库脚本
海马汇数据库脚本仓库地址: 海马汇数据库
hips_0.6.0 分支 对应 海马汇0.6.0版本服务初始化数据
需仔细阅读readMe
名片分享
- 修改下面html页面,更改其中
prefix
的接口地址为自己服务的地址,即网关地址 把这个html文件配置成在线页面(或者上传到文件服务器),拿到一个在线地址
修改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>
微信钉钉同步
详情参考用户手册