58869fb9 by simon

默认提交

1 parent 1c3f7cc2
//app.js
const ald = require('./utils/ald-stat.js')
// const ald = require('./utils/ald-stat.js')
let fetchApi = require('./http/fetch-api.js');
let api = require('./http/api');
let config = require('./config');
......
......@@ -24,6 +24,9 @@
"van-popup": "../../ui/vant-weapp/popup/index",
"van-dialog": "../../ui/vant-weapp/dialog/index",
"van-sticky": "../../ui/vant-weapp/sticky/index",
"van-cell": "../../ui/vant-weapp/cell/index",
"van-cell-group": "../../ui/vant-weapp/cell-group/index",
"van-field": "../../ui/vant-weapp/field/index",
"van-tab": "../../ui/vant-weapp/tab/index",
"van-tabs": "../../ui/vant-weapp/tabs/index"
}
......
......@@ -12,7 +12,6 @@ module.exports = {
},
Prod: {
baseApi: 'https://api.qi.kdao.xin/kd_jyes_api/minipro',
// baseApi: 'https://api.k.wxpai.cn/bizproxy/xxx',
commonApi: 'https://api.k.wxpai.cn/bizproxy'
}
}
......
......@@ -15,11 +15,19 @@ module.exports = {
wxPay: '/wx/pay', // 帐号详情
stat: '/dot', // 打点
blessDetail: "/bless/detail", //
// 拜年相关
blessDetail: "/bless/detail", // 获取祝福语详情
blessMade: "/bless/made", // 标记定制
blessUpdateUserInfo: "/bless/update/name", // 修改名称
blessUpdateRoom: "/bless/update/info", // 修改房间信息
blessJoin: "/bless/join", // 加入房间
/**
* 通用接口
* 请求时 "mode"传"custom"
*/
areaQuery: 'https://api.k.wxpai.cn/bizproxy/kdapi/area', // post 区域查询
uploadFile: '/kdapi/file/upload' //上传图片通用接口
}
......
......@@ -8,6 +8,7 @@ import Dialog from '../../ui/vant-weapp/dialog/dialog';
let app = getApp();
Page({
data: {
isOverShare: true,
authorizeVisible: false,
total: 0,
page: 1,
......@@ -15,7 +16,6 @@ Page({
productList: [], // 产品列表
indexInfo: {},
userInfo: {},
show: true,
options: {},
detailData: {},
ownerMember: {}, // 房主
......@@ -23,16 +23,52 @@ Page({
blessContent: [], // 祝福内容
isAuth: false, // 是否授权
// type: 0, // 0单人 1组队
// 个人信息修改
updateUserInfoDialogVisible: false,
updateUserInfo: {}, // 需要更新的用户数据
files: [], // 上传文件列表
// 房间信息信息修改
updateRoomDialogVisible: false,
updateRoomInfo: {}, // 需要更新的房间数据
// 加入房间
joinRoomDialogVisible: false,
isJoin: false, // 是否能加入状态
},
onChange(event) {
// event.detail 为当前输入的值
console.log(event.detail);
},
onShareAppMessage(res) {
let shareType = ""
if (res.from === 'button') {
// 来自页面内转发按钮
// shareType == join 分享给家人,能加入
shareType = res.target.dataset.data || "";
console.log("shareType:", shareType);
} else {}
let {
detailData
} = this.data;
let memberCode = app.store.getItem("memberCode");
let title = "";
let path = `pages/blessing/blessing?c=${detailData.blessCode}&m=${memberCode}&t=${shareType}`;
console.log("share path:", path);
// let imageUrl = detailData && detailData.thumbnail || "";
return {
// title,
path,
// imageUrl
}
},
onShareAppMessage() {},
showAuth() {
this.setData({
authorizeVisible: true
})
},
onLoad(options) {
this.setData({
options
});
......@@ -40,9 +76,45 @@ Page({
this.setData({
isAuth: result
})
}).catch((err) => {});
this.queryBlessDetail();
this.initData();
this.queryBlessDetail().then((result) => {
let {
detailData,
ownerMember,
memberList
} = this.data;
// 判断memberList里面是否有自己
let joined = false;
memberList.forEach(element => {
if (element.mySelf == 1) {
joined = true;
}
});
/**
* 显示加入房间条件
* 1.已定制
* 2.类型为组队类型
* 3.非房主
* 4.shareType为join t="join"
* 5.未加入过 判断memberList里面是否有自己
*/
console.log("---- 判断是否显示加入 Start ----");
console.log("已定制:", detailData.customMade == 1);
console.log("类型为组队类型:", detailData.type == 1);
console.log("非房主:", ownerMember.mySelf == 0);
console.log("shareType为join:", options);
console.log("是否加入过:", joined);
if (detailData.customMade == 1 && detailData.type == 1 && ownerMember.mySelf == 0 && options.t == "join" && !joined) {
this.setData({
joinRoomDialogVisible: true,
isJoin: true
})
}
});
console.log("memberCode:", app.store.getItem("memberCode"));
}).catch((err) => {});
},
......@@ -52,6 +124,14 @@ Page({
*/
initData() {},
showTips(evt) {
let tips = getBindtapData(evt);
wx.showModal({
content: tips,
success(res) {}
})
},
/**
* 赞赏祝福
* 跳转到赞赏页
......@@ -80,6 +160,183 @@ Page({
}
},
// 显示更新用户信息
showUpdateUserInfoDialog() {
this.setData({
updateUserInfoDialogVisible: true,
updateUserInfo: {},
files: []
})
},
// 房主名字
onUpdateUserInfoBindInput(e) {
this.setData({
updateUserInfo: {
memberName: e.detail.value
}
})
},
// 显示更新用户信息
showUpdateRoomDialog() {
this.setData({
updateRoomDialogVisible: true,
updateRoomInfo: {},
})
},
// 家庭名称
onUpdateFamilyNameBindInput(e) {
this.setData({
"updateRoomInfo.familyName": e.detail.value
})
},
// 祝福语
onUpdateSentenceBindInput(e) {
this.setData({
"updateRoomInfo.sentence": e.detail.value
})
},
/**
* 更新房间信息
*/
onUpdateRoomHander() {
let {
detailData,
ownerMember,
updateRoomInfo
} = this.data;
console.log("updateRoomInfo:", updateRoomInfo);
app.post({
url: app.api.blessUpdateRoom,
data: {
blessCode: detailData.blessCode,
// ownerMemberCode: app.store.getItem("memberCode"),
familyName: updateRoomInfo.familyName || "",
sentence: updateRoomInfo.sentence || "",
}
}).then((result) => {
console.log("result:", result);
this.queryBlessDetail();
}).catch((err) => {});
},
/**
* 上传头像
*/
onUploadHandler() {
let _this = this;
wx.chooseImage({
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
count: 1,
success(res) {
// tempFilePath可以作为img标签的src属性显示图片
const tempFiles = res.tempFiles
let files = tempFiles;
console.log("chooseImage files:", files);
_this.setData({
files
});
}
})
},
/**
* 更新拜年页用户信息
*/
onUpdateUserInfoHander() {
let {
detailData,
ownerMember,
updateUserInfo,
files
} = this.data;
let pics = [];
files.forEach(element => {
pics.push(element.path)
});
this.uploadToCustomService(pics).then((picRes) => {
console.log("picRes:", picRes);
console.log("updateUserInfo:", updateUserInfo);
app.post({
url: app.api.blessUpdateUserInfo,
data: {
blessCode: detailData.blessCode,
ownerMemberCode: app.store.getItem("memberCode"),
memberName: updateUserInfo.memberName || "",
memberHead: picRes[0] || "",
}
}).then((result) => {
console.log("result:", result);
this.queryBlessDetail();
}).catch((err) => {});
})
},
/**
* 上传到自定义服务器
* urlList 需要上传的图片地址
*/
uploadToCustomService(urlList) {
let _this = this;
return new Promise((resolve, reject) => {
// promise列表
let p = [];
// 用promise上传音频
urlList.forEach(element => {
let myPromise = new Promise((resolve2, reject2) => {
_this.uploadfileMultiple(element).then((result2) => {
resolve2(result2)
}).catch((err) => {
reject2();
});
});
p.push(myPromise);
});
Promise.all(p).then(uploadFiles => {
resolve(uploadFiles)
}, reason => {
reject();
});
});
},
/**
* 多文件上传
* @param {*} filePath
*/
uploadfileMultiple(filePath) {
let _this = this;
return new Promise((resolve, reject) => {
wx.uploadFile({
url: app.config.NET_CONFIG.commonApi + app.api.uploadFile,
filePath: filePath,
name: 'file',
// header: {}, // 设置请求的 header
header: {
'content-type': 'multipart/form-data'
},
formData: {
path: '/weapp/jyes/avatar/'
},
// HTTP 请求中其他额外的 form data
success(res) {
let result = JSON.parse(res.data).content;
resolve(result);
},
fail() {
reject()
},
complete: function () {}
})
});
},
/**
* 视频详情
......@@ -93,12 +350,25 @@ Page({
ownerMemberCode: this.data.options.m ? this.data.options.m : app.store.getItem("memberCode") ? app.store.getItem("memberCode") : "",
}
}).then((result) => {
let blessContent = [];
try {
blessContent = JSON.parse(result.blessContent) || [];
} catch (error) {}
this.setData({
detailData: result,
ownerMember: result.ownerMember,
memberList: result.memberList,
blessContent: result.blessContent,
blessContent: blessContent,
});
console.log("detailData:", result);
console.log("blessContent:", this.data.blessContent);
console.log("类型 type => ", result.type == 1 ? "组队" : "单人");
console.log("是否已定制 customMade => ", result.customMade == 1 ? "已经定制" : "未定制");
console.log("是否自己房间 mySelf => ", result.ownerMember.mySelf == 1 ? "是" : "否");
console.log("房主信息 ownerMember => ", result.ownerMember);
console.log("是否授权 isAuth =>", this.data.isAuth);
console.log("房主信息 =>", result.ownerMember);
console.log("祝福内容 =>", result.blessContent);
resolve(result);
}).catch((err) => {
reject(err);
......@@ -107,6 +377,117 @@ Page({
},
/**
* 标记定制祝福
*/
onBlessMakeHandler() {
let {
detailData,
isAuth
} = this.data;
console.log("isAuth:", isAuth);
if (isAuth) {
// 已授权
app.post({
url: app.api.blessMade,
data: {
blessCode: detailData.blessCode,
}
}).then((result) => {
this.queryBlessDetail().then((result) => {
wx.showModal({
title: '定制祝福成功!',
content: '马上为亲朋好友送上祝福吧~',
success(res) {}
})
});
}).catch((err) => {});
} else {
// 未授权
}
},
/**
* 加入房间
*/
onBlessJoinHandler(e) {
let {
options,
detailData
} = this.data;
app.post({
url: app.api.blessJoin,
data: {
ownerMemberCode: options.m,
blessCode: detailData.blessCode
}
}).then((result) => {
this.setData({
isJoin: false
})
this.queryBlessDetail().then((result) => {
wx.showModal({
content: '加入成功',
success(res) {}
})
});
}).catch((err) => {
});
},
// 点击确认授权按钮
bindGetUserInfo(e) {
let _this = this;
wx.showLoading();
wx.login({
success(res) {
app.store.setItem('wxcode', res.code);
_this.getUserInfo(e.detail);
}
});
},
// 授权操作
getUserInfo(e) {
let _this = this;
if (e.encryptedData && e.iv) {
// 同意授权
app.post({
url: app.api.register,
sid: false,
data: {
encryptedData: e.encryptedData,
iv: e.iv,
code: app.store.getItem("wxcode"),
tlMemberCode: app.globalData.tlMemberCode
}
}).then((res2) => {
wx.hideLoading();
if (res2 && res2.sessionId) {
app.store.setItem('sessionId', res2.sessionId);
}
wx.showModal({
content: '授权成功',
success(res) {}
})
checkAuth().then((result) => {
_this.setData({
isAuth: result
});
}).catch((err) => {});
}).catch((err) => {
wx.hideLoading();
console.log("授权成功 err:", err);
})
} else {
// 取消授权
wx.hideLoading();
console.log("取消授权");
}
},
/**
* 隐藏蒙层
*/
hideMask() {
......@@ -144,17 +525,3 @@ Page({
}
},
})
// Dialog.confirm({
// title: '标题',
// message: '弹窗内容',
// asyncClose: true
// }).then(() => {
// setTimeout(() => {
// Dialog.close();
// }, 1000);
// })
// .catch(() => {
// Dialog.close();
// });
......
// @import '../../assets/scss/mixins';
@import '../../assets/scss/utils';
.van-button__text {
font-size: 36rpx;
}
// 用户头像
.portrait {
position: relative;
......@@ -22,6 +26,45 @@
}
}
// 修改对话框
.dialog {
position: relative;
@extend .bb;
padding: 36px 24px;
font-size: 38px;
&-item {
margin-bottom: 48px;
position: relative;
.label {
margin-bottom: 12px;
}
}
.upload {
position: relative;
display: flex;
.image {
width: 240px;
height: 152px;
}
}
.nickname {
margin-top: 12px;
}
.t1 {
margin-top: 12px;
}
}
.dialog2 {
text-align: center;
}
.page {
padding-bottom: 200px;
......@@ -140,6 +183,11 @@
display: flex;
justify-content: center;
align-items: flex-end;
.t1 {
max-width: 145px;
@include ellipsis(1);
}
}
}
}
......
......@@ -13,20 +13,18 @@
<view class="user">
<!-- 用户头像 -->
<view class="portrait">
<!-- <image class="portrait-inner" mode="widthFix" src="../../image/blessing/portrait.png" /> -->
<!-- <image class="portrait-border" mode="widthFix" src="../../image/blessing/portrait-border.png" /> -->
<image class="portrait-inner" mode="scaleToFill" src="{{ownerMember.memberHead}}" />
<image class="portrait-border" mode="scaleToFill" src="{{detailData.headFrame}}" />
</view>
<!-- 用户名称 -->
<view class="name">
<view class="tt">{{detailData.familyName}}</view>
<image class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" />
<view class="tt">{{ownerMember.memberName}}</view>
<image wx:if="{{ownerMember.mySelf == 1}}" bindtap="showUpdateUserInfoDialog" class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" />
</view>
<!-- 编辑 -->
<view class="edit">
<view class="tt t1">{{detailData.sentence}}</view>
<image class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" />
<!-- 编辑房间信息 组队时候才显示 -->
<view wx:if="{{detailData.type == 1}}" class="edit">
<view class="tt t1">{{detailData.familyName}}</view>
<image wx:if="{{ownerMember.mySelf == 1}}" bindtap="showUpdateRoomDialog" class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" />
<view class="tt t2">{{detailData.count}}人</view>
</view>
<!-- 用户组 -->
......@@ -34,8 +32,8 @@
<view wx:for="{{memberList}}" wx:key="{{index}}" class="group-item">
<view class="group-item-portrait"></view>
<view class="group-item-name">
<view class="t1">李四</view>
<image class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" />
<view class="t1">{{item.memberName}}</view>
<image wx:if="{{item.mySelf == 1}}" class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" />
</view>
</view>
</view>
......@@ -48,11 +46,9 @@
<view class="sentence">{{detailData.sentence}}</view>
</view>
<!-- 尾部内容 -->
<view class="tail">
<view class="tail" wx:if="{{1>10}}">
<!-- 尾部头像 -->
<view class="portrait">
<!-- <image class="portrait-inner" mode="widthFix" src="../../image/blessing/portrait.png" />
<image class="portrait-border" mode="widthFix" src="../../image/blessing/portrait-border.png" /> -->
<image class="portrait-inner" mode="scaleToFill" src="{{ownerMember.memberHead}}" />
<image class="portrait-border" mode="scaleToFill" src="{{detailData.headFrame}}" />
</view>
......@@ -63,7 +59,6 @@
<!-- 按钮组 -->
<view class="tail-btn-wrap">
<!-- 分享团队图片 -->
<!-- <view class="share"></view> -->
<image wx:if="{{detailData.type == 1}}" mode="widthFix" class="tail-btn-wrap-item blessing-share-group-btn" src="../../image/blessing/blessing-share-group-btn.png" />
<view wx:if="{{detailData.type == 0}}" bindtap="toReward" class="tail-btn-wrap-item more-template">
<span class="t1">赞赏祝福</span>
......@@ -83,25 +78,90 @@
<!-- 分情况显示btn-wrap -->
<!-- 单人 -->
<block wx:if="{{detailData.type == 0}}">
<view class="btn-wrap">
<view class="btn btn1">分享图片祝福</view>
<view class="btn btn2">祝福送朋友</view>
<!-- <view wx:if="{{detailData.customMade == 0}}" class="btn btn2">祝福送朋友</view>
<view wx:if="{{detailData.customMade == 1}}" class="btn btn2">祝福送朋友</view> -->
<!-- 未定制 -->
<view wx:if="{{detailData.customMade == 0}}" class="btn-wrap">
<button class="btn btn1">分享图片祝福</button>
<button wx:if="{{!isAuth}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" class="btn btn2">
定制我的祝福
</button>
<view wx:else bindtap="onBlessMakeHandler" class="btn btn2">定制我的祝福</view>
</view>
<!-- 已定制 -->
<view wx:if="{{detailData.customMade == 1}}" class="btn-wrap">
<button class="btn btn1">分享图片祝福</button>
<button open-type="share" class="btn btn2">送出我的祝福</button>
</view>
</block>
<!-- 组队 -->
<block wx:if="{{detailData.type == 1}}">
<view class="btn-wrap">
<view class="btn btn1">定制我的祝福</view>
<view class="btn btn2">祝福送朋友</view>
<!-- 未定制 -->
<view wx:if="{{detailData.customMade == 0}}" class="btn-wrap">
<!-- 未授权 -->
<block wx:if="{{!isAuth}}">
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" class="btn btn1">
邀请家人加入
</button>
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" class="btn btn2">
定制我的祝福
</button>
</block>
<!-- 已授权 -->
<block wx:else>
<button bindtap="showTips" data-data="请定制祝福后再邀请" class="btn btn1">邀请家人加入</button>
<button bindtap="onBlessMakeHandler" class="btn btn2">定制我的祝福</button>
</block>
</view>
<!-- 已经定制 -->
<view wx:if="{{detailData.customMade == 1}}" class="btn-wrap">
<!-- 能加入状态 -->
<block wx:if="{{isJoin}}">
<button bindtap="onBlessJoinHandler" class="btn btn1">加入组队祝福</button>
</block>
<!-- 不能加入状态 -->
<block wx:else>
<button data-data="join" open-type="share" class="btn btn1">邀请家人加入</button>
</block>
<button open-type="share" class="btn btn2">送出我的祝福</button>
</view>
</block>
<!-- <view class="btn-wrap">
<view class="btn btn1">定制我的祝福</view>
<view class="btn btn2">祝福送朋友</view>
</view> -->
</view>
</view>
</view>
<van-dialog id="van-dialog" />
<!-- 修改用户信息 -->
<van-dialog close-on-click-overlay use-slot title="修改信息" confirm-button-text="确认修改" show="{{ updateUserInfoDialogVisible }}" show-cancel-button bind:confirm="onUpdateUserInfoHander">
<view class="dialog">
<view class="dialog-item">
<view class="label">名称</view>
<input value="{{ updateUserInfo.memberName }}" placeholder="请输入用户名" bindinput="onUpdateUserInfoBindInput" />
</view>
<view class="dialog-item">
<view class="label">头像</view>
<view class="upload">
<image class="image" bindtap="onUploadHandler" mode="aspectFit" src="{{files[0] && files[0].path?files[0].path:'../../image/icon/icon-plus.png'}}" />
</view>
</view>
</view>
</van-dialog>
<!-- 修改房间信息 -->
<van-dialog close-on-click-overlay use-slot title="修改信息" confirm-button-text="确认修改" show="{{ updateRoomDialogVisible }}" show-cancel-button bind:confirm="onUpdateRoomHander">
<view class="dialog">
<view class="dialog-item">
<view class="label">家庭名称</view>
<input value="{{ updateRoomInfo.familyName }}" placeholder="请输入家庭名称" bindinput="onUpdateFamilyNameBindInput" />
</view>
<view class="dialog-item">
<view class="label">祝福语</view>
<input value="{{ updateRoomInfo.sentence }}" placeholder="请输入祝福语" bindinput="onUpdateSentenceBindInput" />
</view>
</view>
</van-dialog>
<!-- 加入房间 -->
<van-dialog close-on-click-overlay use-slot confirm-button-text="点击加入" show="{{ joinRoomDialogVisible }}" bind:confirm="onBlessJoinHandler">
<view class="dialog dialog2">
<view class="portrait">
<image class="portrait-inner" mode="scaleToFill" src="{{ownerMember.memberHead}}" />
</view>
<view class="nickname">{{ownerMember.memberName}}</view>
<view class="t1">邀请你一起加入组队送祝福!</view>
</view>
</van-dialog>
......
......@@ -154,7 +154,7 @@ function getObjByListKeyValue(value, key, list) {
* @param {*} path
*/
function wxacodeGet(path) {
return " https://api.k.wxpai.cn/bizproxy/mzcfsapi/qrcode/create?path=" + encodeURIComponent(path);
return "https://api.k.wxpai.cn/bizproxy/mzcfsapi/qrcode/create?path=" + encodeURIComponent(path);
}
/**
......