提交 59e5a128 编写于 作者: Yuanzhao.dai's avatar Yuanzhao.dai

Merge branch 'dev-stage2-20191125' of...

Merge branch 'dev-stage2-20191125' of http://192.168.110.53/com.pica.cloud.foundation.frontend/year-end-activitiy into dev-stage2-20191125
此差异已折叠。
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
<div @click="goToOrganBoard" class="billboard-btn">查看机构榜单<img src="../assets/img/stage-two/right-icon-small.png" alt=""></div> <div @click="goToOrganBoard" class="billboard-btn">查看机构榜单<img src="../assets/img/stage-two/right-icon-small.png" alt=""></div>
</li> </li>
</ul> </ul>
<p class="score-tips">{{ returnScoreAwardTips }}</p> <p class="score-tips">{{ scoreAwardTips }}</p>
<div class="bean-wrap"> <div class="bean-wrap">
<p class="personal-total-get">累计个人获得:<span>{{doctorInfo.userTotalBonus}}云鹊豆</span></p> <p class="personal-total-get">累计个人获得:<span>{{doctorInfo.userTotalBonus}}云鹊豆</span></p>
<div @click="goToBeanCenter" class="bean-center">云鹊豆中心<img src="../assets/img/stage-two/right-icon-small.png" alt=""></div> <div @click="goToBeanCenter" class="bean-center">云鹊豆中心<img src="../assets/img/stage-two/right-icon-small.png" alt=""></div>
...@@ -224,6 +224,7 @@ ...@@ -224,6 +224,7 @@
import { ENV_CONFIG } from '@/utils/enumerate'; import { ENV_CONFIG } from '@/utils/enumerate';
import { wxShare } from '@/configs/wxShare'; import { wxShare } from '@/configs/wxShare';
const cookies = require('cookie-universal')(); const cookies = require('cookie-universal')();
import { Base64 } from 'js-base64';
let vm = null; let vm = null;
export default { export default {
...@@ -235,6 +236,7 @@ ...@@ -235,6 +236,7 @@
token: '', token: '',
activityId: '', // 上线前等产品通知修改默认值 activityId: '', // 上线前等产品通知修改默认值
scoreAwardTips: '',
encryptId: '', // 加密后的id,(分享传参用) encryptId: '', // 加密后的id,(分享传参用)
serverTime: '', serverTime: '',
isLogin: false, // 是否 已登录 isLogin: false, // 是否 已登录
...@@ -328,49 +330,20 @@ ...@@ -328,49 +330,20 @@
return require(`../assets/img/stage-two/bean-stage-0.png`); return require(`../assets/img/stage-two/bean-stage-0.png`);
} }
}, },
returnScoreAwardTips() {
let award = '';
if( vm.doctorInfo && vm.doctorInfo.userDayRank ) {
let userDayRank = vm.doctorInfo.userDayRank;
if( userDayRank == 1 ){
return `今日保持第1名,可获得${vm.awardList.No1}`;
}else if( userDayRank < 4 ){ // 2-3 提示 再获得X勤奋分即可上升到前Y名获得 第1名奖品
award = vm.awardList.No1;
}else if( userDayRank < 11 ){ // 4-10 提示 再获得X勤奋分即可上升到前Y名获得 第3名奖品
award = vm.awardList.No3;
}else{ // 10名以后 提示:再获得X勤奋分即可上升到前Y名获得 第10名奖品
award = vm.awardList.No10;
}
return `再获得${vm.doctorInfo.targetRequiredScore}勤奋分即可上升到前${vm.doctorInfo.targetRank}名获得${award}`
}
},
}, },
created() { created() {
vm = this; vm = this;
}, },
mounted() { mounted() {
// // 这里需要删掉!!!
// vm.getUserActivityInfo();
// vm.getTasks();
// // 这里需要删掉!!!
vm.isWeb = vm.$rocNative.isWeb; vm.isWeb = vm.$rocNative.isWeb;
// 取服务器时间,切换不同时间段的显示 // 取服务器时间,切换不同时间段的显示
vm.getServerTime(); vm.getServerTime();
// 请求接口获取activityId (经与后端产品确认,默认没传id的话,就取接口;默认有的话就不取接口) // 请求接口获取activityId (经与后端产品确认,默认没传id的话,就取接口;默认有的话就不取接口)
if( !vm.activityId ){ vm.handleGetActivityId();
getActivityId().then(res => { vm.returnScoreAwardTips(); //返回 个人信息模块下面的提示文案
if(res && res.code == '000000' ){
let data = res.data ;
for(let i in data){
if(data[i] == 'ID'){
vm.activityId = i;
}
}
}
})
}
vm.$rocNative.appInit(); vm.$rocNative.appInit();
vm.getUserInfo(); // 判断是否登录 vm.getUserInfo(); // 判断是否登录
...@@ -385,7 +358,7 @@ ...@@ -385,7 +358,7 @@
methods: { methods: {
// 获取服务器时间 // 获取服务器时间
getServerTime() { getServerTime(cb) {
// 调取接口获取服务器时间 // 调取接口获取服务器时间
getBEServerTime().then(res => { getBEServerTime().then(res => {
// alert('服务器时间'); // alert('服务器时间');
...@@ -395,12 +368,56 @@ ...@@ -395,12 +368,56 @@
}else{ }else{
vm.serverTime = new Date().getTime(); vm.serverTime = new Date().getTime();
} }
cb && cb(vm.serverTime);
}) })
// vm.serverTime = 1577376000000;
}, },
hideClockModal() { hideClockModal() {
vm.clockSuccessVisible = false; vm.clockSuccessVisible = false;
}, },
returnScoreAwardTips() {
// let award = '';
if( vm.doctorInfo && vm.doctorInfo.userDayRank ) {
// 16号之前或者30号之后 提示:不在活动期间内
let msecSixteen = new Date('2019/12/16 00:00:00').getTime();
let msecThirty = new Date('2019/12/29 23:59:59').getTime();
let notInActivityTips = (msec) => {
if( msec < msecSixteen || mesc > msecThirty ){
// alert('不在活动期间内')
vm.scoreAwardTips = '不在活动期间内';
}else{
// alert('在活动期间内')
let userDayRank = vm.doctorInfo.userDayRank;
if( userDayRank == 1 ){
vm.scoreAwardTips = `今日保持第1名,可获得${vm.awardList.No1}`;
}else if( userDayRank < 4 ){ // 2-3 提示 再获得X勤奋分即可上升到前Y名获得 第1名奖品
award = vm.awardList.No1;
}else if( userDayRank < 11 ){ // 4-10 提示 再获得X勤奋分即可上升到前Y名获得 第3名奖品
award = vm.awardList.No3;
}else{ // 10名以后 提示:再获得X勤奋分即可上升到前Y名获得 第10名奖品
award = vm.awardList.No10;
}
vm.scoreAwardTips = `再获得${vm.doctorInfo.targetRequiredScore}勤奋分即可上升到前${vm.doctorInfo.targetRank}名获得${award}`
}
}
vm.getServerTime(notInActivityTips)
}
},
handleGetActivityId(cb){
if( !vm.activityId ){
getActivityId().then(res => {
if(res && res.code == '000000' ){
let data = res.data ;
for(let i in data){
if(data[i] == 'ID'){
vm.activityId = i;
}
}
cb && cb();
}
})
}
},
goQuest(){ goQuest(){
// window.location.href = 'https://wj.qq.com/s2/5112128/18be/'; // window.location.href = 'https://wj.qq.com/s2/5112128/18be/';
let url = 'https://wj.qq.com/s2/5112128/18be/'; let url = 'https://wj.qq.com/s2/5112128/18be/';
...@@ -480,7 +497,11 @@ ...@@ -480,7 +497,11 @@
vm.isLogin = false; vm.isLogin = false;
} }
// 登录状态确定后,再调任务接口,以便获取打卡状态 // 登录状态确定后,再调任务接口,以便获取打卡状态
vm.getTasks(); if(vm.activityId){
vm.getTasks();
}else{
vm.handleGetActivityId(vm.getTasks);
}
}); });
}, },
...@@ -503,6 +524,7 @@ ...@@ -503,6 +524,7 @@
getUserActivityInfo() { // 获取用户及参加活动的具体信息 getUserActivityInfo() { // 获取用户及参加活动的具体信息
getUserScoreInfo().then(res => { getUserScoreInfo().then(res => {
vm.doctorInfo = res.data; vm.doctorInfo = res.data;
vm.returnScoreAwardTips();
if(vm.doctorInfo.userYesterdayRank==1){ if(vm.doctorInfo.userYesterdayRank==1){
vm.awardModalShow = true; vm.awardModalShow = true;
vm.yestodayAwards = getFirstAwards(vm.doctorInfo.yesterdayDate); vm.yestodayAwards = getFirstAwards(vm.doctorInfo.yesterdayDate);
...@@ -757,7 +779,9 @@ ...@@ -757,7 +779,9 @@
}); });
}, },
shareWxUrl() { shareWxUrl() {
return `${getShareUrl()}year_end_ssr/shareActive?id=${vm.encryptId}&taskId=${vm.eachInviteAward.taskId}&activityId=${vm.eachInviteAward.activityId}` const paramstr = Base64.encode(`id=${vm.encryptId}&taskId=${vm.eachInviteAward.taskId}&activityId=${vm.eachInviteAward.activityId}&`)
return `${getShareUrl()}year_end_ssr/shareActive?${paramstr}`
// return `${getShareUrl()}year_end_ssr/shareActive?id=${vm.encryptId}&taskId=${vm.eachInviteAward.taskId}&activityId=${vm.eachInviteAward.activityId}`
}, },
// 去邀请 按钮 // 去邀请 按钮
handleInviteClick() { handleInviteClick() {
...@@ -1051,8 +1075,6 @@ ...@@ -1051,8 +1075,6 @@
// setCookie('headToken', userToken); // setCookie('headToken', userToken);
cookies.set('token', userToken); cookies.set('token', userToken);
cookies.set('headToken', userToken); cookies.set('headToken', userToken);
this.setJQ(itemData, userToken);
}); });
} else { } else {
const paramList = setEventByModuleCode( const paramList = setEventByModuleCode(
...@@ -1065,78 +1087,6 @@ ...@@ -1065,78 +1087,6 @@
}); });
} }
}, },
//鉴权 自己调用token 是否认证
setJQ(itemData, token) {
this.itemData = itemData;
this.getUserInfo2(itemData, token);
},
// 兼容Andriod新版本
getUserInfo2(itemData, token) {
this.$rocNative
.getUserInfo()
.then(params => {
this.token = params.userToken;
// setCookie('headToken', params.userToken)
cookies.set('headToken', params.userToken);
// this.prbateFun(this.itemData, this.token);
getRole({token: this.token}).then(res => {
if (res.code == '000000') {
if (res.data.role == 4) {
if (res.data.flag == 1) {
this.setJQ2(itemData, token);
} else {
this.$rocNative.showNativeToast({
message: '请加入机构,再尝试访问!'
});
}
} else if (res.data.role == 2) {
this.$rocNative.showNativeToast({
message: '仅限认证用户浏览 '
});
} else if (res.data.role == 3) {
this.$rocNative.showNativeToast({
message: '仅限认证且加入机构的用户浏'
});
}
} else {
this.$rocNative.showNativeToast({
message: res.message
});
}
});
});
},
setJQ2(itemData, token) {
let _this = this,
para = {
token: this.token,
setEntry: 'headers'
};
sayHello(para).then(res => {
if (res.code == '000000') {
_this.nonce_str = res.data.nonce_str;
itemData.paramList.push({
id: 598,
key: 'nonce_str',
seqNo: 3,
type: 4,
value: res.data.nonce_str
});
let paramList = setEventByModuleCode(
itemData,
token
);
this.$rocNative.dispatchEventByModuleCode({
modeCode: itemData.code,
jsonString: paramList
});
} else {
this.$rocNative.showNativeToast({
message: res.message
});
}
});
},
getHeaderHeight(val){ getHeaderHeight(val){
this.padTop = val; this.padTop = val;
}, },
......
...@@ -55,6 +55,8 @@ ...@@ -55,6 +55,8 @@
<script> <script>
import { getInviteInfo, getCourseById, getCaptchaGet, getAuthCode } from '@/service'; import { getInviteInfo, getCourseById, getCaptchaGet, getAuthCode } from '@/service';
import { wxShare } from '@/configs/wxShare'; import { wxShare } from '@/configs/wxShare';
import { Base64 } from 'js-base64';
const queryString = require('query-string');
const TIMEALL = 60000; // 倒计时常量 60 秒 const TIMEALL = 60000; // 倒计时常量 60 秒
export default { export default {
data(){ data(){
...@@ -74,7 +76,8 @@ ...@@ -74,7 +76,8 @@
} }
}, },
async asyncData({ query }){ async asyncData({ query }){
const { id, taskId, activityId } = query; const parsed = queryString.parse(Base64.decode(Object.keys(query)[0]));
const { id, taskId, activityId } = parsed;
let avatarImageUrl = '', name = '', captchaImg = '', captchaToken = ''; let avatarImageUrl = '', name = '', captchaImg = '', captchaToken = '';
const res = await getInviteInfo(id); const res = await getInviteInfo(id);
if(res.code === '000000'){ if(res.code === '000000'){
...@@ -88,7 +91,7 @@ ...@@ -88,7 +91,7 @@
captchaToken = resCapt.data.token; captchaToken = resCapt.data.token;
} }
return { return {
avatarImageUrl, name, id, taskId, activityId, captchaImg, captchaToken avatarImageUrl, name, id, taskId, activityId, captchaImg, captchaToken, parsed
} }
}, },
mounted(){ mounted(){
...@@ -110,7 +113,7 @@ ...@@ -110,7 +113,7 @@
},(wx)=>{ },(wx)=>{
const title = this.shareObj.title1; const title = this.shareObj.title1;
const desc = this.shareObj.title2; const desc = this.shareObj.title2;
const link = this.shareObj.shareUrl; const link = window.localStorage.getItem('shareUrl') || window.location.href;
const imgUrl = this.shareObj.shareImageUrl; const imgUrl = this.shareObj.shareImageUrl;
// 分享给朋友 // 分享给朋友
wx.onMenuShareAppMessage({ wx.onMenuShareAppMessage({
...@@ -153,6 +156,9 @@ ...@@ -153,6 +156,9 @@
}, },
// 领取课程事件 // 领取课程事件
getCourse(){ getCourse(){
this.$sendBuriedData({
component_tag: `309#309001`
});
if(this.isReq){ if(this.isReq){
this.$toast('您的登录操作过于频繁,请稍后再试'); this.$toast('您的登录操作过于频繁,请稍后再试');
return; return;
......
...@@ -7,15 +7,15 @@ ...@@ -7,15 +7,15 @@
<h3>登录云鹊医APP立即开始学习</h3> <h3>登录云鹊医APP立即开始学习</h3>
</div> </div>
<div class="btn-app down-app" @click="downApp">下载APP</div> <div class="btn-app down-app" @click="downApp(1)">下载APP</div>
<div class="btn-app has-app" @click="downApp">已有APP</div> <div class="btn-app has-app" @click="downApp(2)">已有APP</div>
<div class="line"></div> <div class="line"></div>
<div class="more-course"> <div class="more-course">
<header>更多精彩好课推荐</header> <header>更多精彩好课推荐</header>
<div class="course-list"> <div class="course-list">
<div class="course-item"> <div class="course-item" @click="goLink(1)">
<div class="course-txt"> <div class="course-txt">
<h1>高血压系列课程</h1> <h1>高血压系列课程</h1>
<h3>《高血压的发病机制》等总计4门课程</h3> <h3>《高血压的发病机制》等总计4门课程</h3>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div class="course-img"><img src="../assets/img/resimg1.png"></div> <div class="course-img"><img src="../assets/img/resimg1.png"></div>
</div> </div>
<div class="course-item"> <div class="course-item" @click="goLink(2)">
<div class="course-txt"> <div class="course-txt">
<h1>糖尿病系列课程</h1> <h1>糖尿病系列课程</h1>
<h3>《胰岛素的选择和管理》等总计4门课程</h3> <h3>《胰岛素的选择和管理》等总计4门课程</h3>
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<div class="course-img"><img src="../assets/img/resimg2.png"></div> <div class="course-img"><img src="../assets/img/resimg2.png"></div>
</div> </div>
<div class="course-item"> <div class="course-item" @click="goLink(3)">
<div class="course-txt"> <div class="course-txt">
<h1>中医系列课程</h1> <h1>中医系列课程</h1>
<h3>《慢性胃炎的中医治疗》等总计3门课程</h3> <h3>《慢性胃炎的中医治疗》等总计3门课程</h3>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<div class="course-img"><img src="../assets/img/resimg3.png"></div> <div class="course-img"><img src="../assets/img/resimg3.png"></div>
</div> </div>
<div class="course-item"> <div class="course-item" @click="goLink(4)">
<div class="course-txt"> <div class="course-txt">
<h1>全科系列课程</h1> <h1>全科系列课程</h1>
<h3>《胸痛原因待查》等总计3门课程</h3> <h3>《胸痛原因待查》等总计3门课程</h3>
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
mounted(){ mounted(){
document.querySelector('body').setAttribute('style', 'background: "";'); document.querySelector('body').setAttribute('style', 'background: "";');
// 微信分享 // 微信分享
this.shareObj.shareUrl = window.localStorage.getItem('shareUrl') || window.location.href; this.shareObj.shareUrl = window.location.href;
this.$picaWxShare({ this.$picaWxShare({
// baseUrl: BASE_URL[process.env.NUXT_ENV_APP], // baseUrl: BASE_URL[process.env.NUXT_ENV_APP],
baseUrl: 'https://test1-sc.yunqueyi.com', baseUrl: 'https://test1-sc.yunqueyi.com',
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
},(wx)=>{ },(wx)=>{
const title = this.shareObj.title1; const title = this.shareObj.title1;
const desc = this.shareObj.title2; const desc = this.shareObj.title2;
const link = this.shareObj.shareUrl; const link = window.localStorage.getItem('shareUrl') || window.location.href;
const imgUrl = this.shareObj.shareImageUrl; const imgUrl = this.shareObj.shareImageUrl;
// 分享给朋友 // 分享给朋友
wx.onMenuShareAppMessage({ wx.onMenuShareAppMessage({
...@@ -97,8 +97,42 @@ ...@@ -97,8 +97,42 @@
}) })
}, },
methods: { methods: {
downApp(){ downApp(id){
if(id==1){
this.$sendBuriedData({
component_tag: `310#310001`
});
}else{
this.$sendBuriedData({
component_tag: `310#310002`
});
}
window.location.href = 'https://android.myapp.com/myapp/detail.htm?apkName=com.picahealth.yunque&ADTAG=mobile'; window.location.href = 'https://android.myapp.com/myapp/detail.htm?apkName=com.picahealth.yunque&ADTAG=mobile';
},
goLink(id){
let link = '';
if(id==1){
link = 'https://phome.yunqueyi.com/template_v2/?id=609';
this.$sendBuriedData({
component_tag: `310#310003`
});
}else if(id==2){
link = 'https://phome.yunqueyi.com/template_v2/?id=610';
this.$sendBuriedData({
component_tag: `310#310004`
});
}else if(id==3){
link = 'https://phome.yunqueyi.com/template_v2/?id=611';
this.$sendBuriedData({
component_tag: `310#310005`
});
}else if(id==4){
link = 'https://phome.yunqueyi.com/template_v2/?id=612';
this.$sendBuriedData({
component_tag: `310#310006`
});
}
window.location.href = link;
} }
} }
} }
......
...@@ -9,10 +9,10 @@ export const getUserScoreInfo = () => { ...@@ -9,10 +9,10 @@ export const getUserScoreInfo = () => {
return request({ return request({
url: `campaign/ranking/user_info`, url: `campaign/ranking/user_info`,
method: 'post', method: 'post',
// withCredentials: true, withCredentials: true,
headers: { // headers: {
token: 'D3FFA515261C48478773C0BA17C11F52' // token: 'D3FFA515261C48478773C0BA17C11F52'
} // }
}) })
} }
...@@ -29,7 +29,7 @@ export const getBEServerTime = () => { ...@@ -29,7 +29,7 @@ export const getBEServerTime = () => {
// 获取已邀请的医生列表 // 获取已邀请的医生列表
export const getInviteList = () => { export const getInviteList = () => {
return request({ return request({
url: `campaign/inviteDetail/oneList?pageNo=1&pageSize=10`, url: `campaign/inviteDetail/oneList?pageNo=1&pageSize=4`,
method: 'get', method: 'get',
withCredentials: true, withCredentials: true,
// headers: { // headers: {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册