公司演示版e鹿悦游
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
CjyTravel/pages/personcenter/personcenter.1vue

618 lines
19 KiB

<template>
<view>
<!-- 头部 -->
<view class="dzhi_top" >
<!-- <image src="/static/images/img2/dzhi_topbg.png" class="dzhi_t_bg" mode="aspectFill"></image> -->
<view class="mode_com">
<view class="dly_flex person_inf">
<view class="pers_box" @tap="oauthUser()">
<view class="pes_img">
<!-- 默认头像 -->
<button class="btn_dzhi">
<!--授权按钮-->
<image :src="headimgurl" mode="aspectFill" class="pers_box"></image>
</button>
</view>
</view>
<view class="pes_inf aml_30">
<!-- 用户昵称 -->
<view class="t_adm_box">
<text class="t_hi">Hi</text>
<!-- <text class="t_nic">{{nickname}}阳光夏~小葵</text> -- 已登录状态 显示用户昵称 -->
<text class="t_nic">{{ nickname }}</text>
<!--登录后 退出按钮-->
<text v-if="isLogin" class="pes_img_tc" @tap="jump('logoutWechat')" >退出</text>
</view>
</view>
<!-- 头像 -->
</view>
</view>
</view>
<view class="mode_com ">
<text class="tit_com">我的应用</text>
<view class="dly_flex hd_pter mt_hb dzhi_bq2" style="background: #fff; padding-bottom: 40rpx; border-radius: 20rpx;">
<view class="w_33" @tap="jump('myComment')">
<view class=""><image src="/static/animg/personCenter/p_wdpj.png" class="kou_top3" mode="aspectFill"></image></view>
<text class="ht_text">我的评价</text>
</view>
<view class="w_33" v-if="isFlag">
<!-- p_ddan.png p_tsu.png -->
<view class=""><image src="/static/animg/personCenter/p_lyts.png" class="kou_top3" mode="aspectFill"></image></view>
<text class="ht_text">我的订单</text>
</view>
<view class="w_33" v-if="isFlag">
<view class=""><image src="/static/animg/personCenter/p_lyts.png" class="kou_top3" mode="aspectFill"></image></view>
<text class="ht_text">在线投诉</text>
</view>
<view class="w_33" @tap="jump('tousu')">
<view class=""><image src="/static/animg/personCenter/p_lyts.png" class="kou_top3" mode="aspectFill"></image></view>
<text class="ht_text">留言投诉</text>
</view>
<view class="w_33" @tap="jump('aboutus')">
<view class=""><image src="/static/animg/personCenter/p_gywm.png" class="kou_top3" mode="aspectFill"></image></view>
<text class="ht_text">关于我们</text>
</view>
<view class="w_33" @tap="jump('update')" v-if="isUpdate">
<view class=""><image src="/static/animg/personCenter/p_xtgx.png" class="kou_top3" mode="aspectFill"></image></view>
<text class="ht_text">系统更新</text>
</view>
<view class="w_33" @tap="jump('delete')" v-if="isUpdate">
<view class=""><image src="/static/animg/personCenter/p_gly.png" class="kou_top3" mode="aspectFill"></image></view>
<text class="ht_text">注销账号</text>
</view>
</view>
</view>
<!-- 工具栏 -->
</view>
</template>
<script>
var that;
import aes from "@/common/aes.js";
export default {
data() {
that = this;
return {
headimgurl: '/static/animg/personCenter/adm_img.png',
nickname: '点击头像授权',
isUpdate: true,
isLogin: false,
isShowOnlinets: 'NO',
isFlag: false,
scenicList: [],
hotelList: [],
lineList: [],
foodImgList: [],
methodImgList: [],
scenicGZType: 'NO',
hotelGZType: 'NO',
lineGZType: 'NO',
foodGZType: 'NO',
methodGZType: 'NO',
scenicSelectStr: '',
hotelSelectStr: '',
lineSelectStr: '',
imgBase64: '',
adminId: '',
isAdminLogin: false
};
},
onShow() {
if (!this.$util.isBlack(aes.aesDecrypt(uni.getStorageSync('unionid')))) {
this.isLogin = true;
that.nickname = aes.aesDecrypt(uni.getStorageSync('nickname'));
that.headimgurl = aes.aesDecrypt(uni.getStorageSync('headimgurl'));
}
if (aes.aesDecrypt(uni.getStorageSync('adminId')) != undefined && aes.aesDecrypt(uni.getStorageSync('adminId')) != null && aes.aesDecrypt(uni.getStorageSync('adminId')) != '') {
this.adminId = uni.getStorageSync('adminId');
this.isAdminLogin = true;
}
},
onLoad(options) {
if (aes.aesDecrypt(uni.getStorageSync('adminId')) != undefined && aes.aesDecrypt(uni.getStorageSync('adminId')) != null && aes.aesDecrypt(uni.getStorageSync('adminId')) != '') {
this.adminId =aes.aesDecrypt(uni.getStorageSync('adminId'));
this.isAdminLogin = true;
}
this.getRedisData();
// options = this.$param.user_info;
var that = this;
this.getIsShow();
// #ifdef H5
if (this.$wechat.isWechat()) {
//weixin 是否显示更新
this.isUpdate = false;
} else {
this.isUpdate = true;
}
// #endif
if (uni.getStorageSync('oauthTime') + this.$param.update_oauthTime < new Date().getTime()) {
// uni.removeStorageSync("user_token");
uni.removeStorageSync('nickname');
uni.removeStorageSync('unionid');
uni.removeStorageSync('headimgurl');
}
uni.showLoading({
mask: true,
title: '授权中',
success() {
setTimeout(function() {
uni.hideLoading();
}, 3000);
}
});
},
methods: {
saveLoginLog: function(unionid) {
var that = this;
uni.getSystemInfo({
success(e) {
var model = e.model + ' ' + e.system;
var platform = e.platform;
var data = {
userkey: that.$param.userkey,
unionid: unionid,
model: model,
platform: platform
};
that.$Request.post(that.$config.insertLoginLog, data).then(res => {
if (res.status == 200) {
console.log('记录成功');
}
});
}
});
},
getRedisData: function() {
var data = {
key: this.$param.userkey + '_xingqu'
};
this.$Request.post(this.$config.getRedisData, data).then(res => {
if (res.status == 200) {
//所有的数据
var initData = res.data;
//景区
this.scenicList = initData.scenicList;
//酒店
this.hotelList = initData.hotelList;
//线路
this.lineList = initData.lineList;
//美食
this.foodImgList = initData.foodImgList;
for (var i = 0; i < this.foodImgList.length; i++) {
this.foodImgList[i].logo = this.$config.ROOTPATH + this.foodImgList[i].logo;
}
//攻略
this.methodImgList = initData.methodImgList;
for (var i = 0; i < this.methodImgList.length; i++) {
this.methodImgList[i].logo = this.$config.ROOTPATH + this.methodImgList[i].logo;
}
} else {
}
});
},
/* 是否显示投诉功能 */
getIsShow: function() {
this.$Request.post(this.$config.getYbsjSysParam, {}).then(res => {
var d = res.data;
this.isShowOnlinets = d.is_show_onlinets;
});
},
oauthUser: function() {
if (this.isLogin) {
return;
} else {
uni.showLoading({
mask: true,
title: '授权中',
success() {
setTimeout(function() {
// uni.showToast({
// title:"授权失败,点击"+that.nickname+"重新授权",
// icon:"none",
// duration: 1500
// })
uni.hideLoading();
}, 3000);
}
});
// #ifdef H5
if (this.$wechat.isWechat()) {
//weixin 授权
that.$util.getUser(this, 'person', '', '');
} else {
switch (uni.getSystemInfoSync().platform) {
case 'android':
//安卓授权
var that = this;
this.$util.bindGpsObj(that);
Android.gotoDetial('WxUserInfo', '');
break;
case 'ios':
//ios授权
var that = this;
this.$util.bindGpsObj(that);
window.location.href = 'https://www.baidu.com?url=wechat';
break;
}
}
// #endif
}
},
callBackMethod: function() {
// clearTimeout(timer);
this.isLogin = true;
that.nickname = aes.aesDecrypt(uni.getStorageSync('nickname'));
that.headimgurl = aes.aesDecrypt(uni.getStorageSync('headimgurl'));
that.getUserInterest(); //回显兴趣定制数据
that.getAndroidUserKey(); //推送
uni.hideLoading();
that.saveLoginLog(aes.aesDecrypt(uni.getStorageSync('unionid')));
},
jump: function(obj) {
if (obj == 'aboutus') {
uni.navigateTo({
url: '/subPageA/personcenter/aboutus'
});
} else if (obj == 'tousu') {
if (this.$util.isBlack(aes.aesDecrypt(uni.getStorageSync('unionid')))) {
uni.showToast({
title: '请先授权',
icon: 'none'
});
return;
}
uni.navigateTo({
url: '/subPageA/suggest/sug_list'
});
} else if (obj == 'update') {
uni.navigateTo({
url: '/subPageA/personcenter/update'
});
} else if (obj == 'fanyi') {
uni.navigateTo({
url: '/subPageA/translate/translate'
});
} else if (obj == 'phonetousu') {
uni.navigateTo({
url: '/subPageA/tousu/tousulist/tousulist'
});
}
// else if (obj == 'guide') {
// uni.navigateTo({
// url: '/subPageA/guide/guidelist'
// });
// }
else if (obj == 'lvxingshe') {
uni.navigateTo({
url: '/pages/travel/travellist/travellist'
});
} else if (obj == 'admin') {
uni.navigateTo({
url: '/subPageA/personcenter/adminLogin/adminLogin'
});
} else if (obj == 'logout') {
uni.removeStorageSync('adminId');
this.adminId = '';
this.isAdminLogin = false;
} else if (obj == 'logoutWechat') {
if (!this.$util.isBlack(aes.aesDecrypt(uni.getStorageSync('unionid')))) {
uni.removeStorageSync('nickname');
uni.removeStorageSync('headimgurl');
uni.removeStorageSync('oauthTime');
uni.removeStorageSync('openid');
uni.removeStorageSync('unionid');
this.nickname = "点击头像授权";
this.headimgurl = "/static/animg/personCenter/adm_img.png";
this.isLogin = false;
}
} else if (obj == 'delete') {
var that = this;
uni.showModal({
title: '提示',
icon: 'none',
content:"该操作将会清空所有用户数据!是否注销账户",
success: function (res) {
if (res.confirm) {
that.deleteUserApp();
this.scenicGZType = 'NO',
this.hotelGZType = 'NO',
this.lineGZType = 'NO',
this.foodGZType = 'NO',
this.methodGZType = 'NO',
uni.removeStorageSync('nickname');
uni.removeStorageSync('headimgurl');
uni.removeStorageSync('oauthTime');
uni.removeStorageSync('openid');
uni.removeStorageSync('unionid');
this.nickname = "点击头像授权";
this.headimgurl = "/static/animg/personCenter/adm_img.png";
this.isLogin = false;
that.getRedisData();
} else if (res.cancel) {
}
}
});
}
},
scenicSelectXQ: function(dicnum, strType) {
console.log(dicnum);
var that = this;
var scenicList = this.scenicList;
for (var i = 0; i < scenicList.length; i++) {
var msgList = scenicList[i].msg;
var type = true;
for (var j = 0; j < msgList.length; j++) {
var json = msgList[j];
if (dicnum.indexOf('scenic') != -1) {
if (json.dicnum == dicnum) {
json.isSelected = json.isSelected == '' ? 'select' : '';
if (json.isSelected == 'select') {
that.scenicSelectStr += json.queryType + '_' + dicnum + ',';
} else {
that.scenicSelectStr = that.scenicSelectStr.replace(json.queryType + '_' + json.dicnum + ',', '');
}
type = false;
}
if (!type) {
if (json.dicnum.indexOf('scenic') == -1) {
json.isSelected = '';
that.scenicSelectStr = that.scenicSelectStr.replace(json.queryType + '_' + json.dicnum + ',', '');
}
}
} else {
if (json.dicnum == dicnum) {
json.isSelected = json.isSelected == '' ? 'select' : '';
if (json.isSelected == 'select') {
that.scenicSelectStr += json.queryType + '_' + dicnum + ',';
} else {
that.scenicSelectStr = that.scenicSelectStr.replace(json.queryType + '_' + json.dicnum + ',', '');
}
that.scenicSelectStr = that.scenicSelectStr.replace(json.queryType + '_' + msgList[0].dicnum + ',', '');
msgList[0].isSelected = '';
type = false;
}
}
}
if (!type) {
if (strType == '') {
that.addUserInterest();
}
return;
}
}
},
hotelSelectXQ: function(dicnum, strType) {
var hotelList = this.hotelList;
for (var i = 0; i < hotelList.length; i++) {
var msgList = hotelList[i].msg;
var type = true;
for (var j = 0; j < msgList.length; j++) {
var json = msgList[j];
if (dicnum.indexOf('hotel') != -1) {
if (json.dicnum == dicnum) {
json.isSelected = json.isSelected == '' ? 'select' : '';
if (json.isSelected == 'select') {
that.hotelSelectStr += json.queryType + '_' + dicnum + ',';
} else {
that.hotelSelectStr = that.hotelSelectStr.replace(json.queryType + '_' + json.dicnum + ',', '');
}
type = false;
}
if (!type) {
if (json.dicnum.indexOf('hotel') == -1) {
json.isSelected = '';
that.hotelSelectStr = that.hotelSelectStr.replace(json.queryType + '_' + json.dicnum + ',', '');
}
}
} else {
if (json.dicnum == dicnum) {
json.isSelected = json.isSelected == '' ? 'select' : '';
if (json.isSelected == 'select') {
that.hotelSelectStr += json.queryType + '_' + dicnum + ',';
} else {
that.hotelSelectStr = that.hotelSelectStr.replace(json.queryType + '_' + json.dicnum + ',', '');
}
that.hotelSelectStr = that.hotelSelectStr.replace(json.queryType + '_' + msgList[0].dicnum + ',', '');
msgList[0].isSelected = '';
type = false;
}
}
}
if (!type) {
if (strType == '') {
that.addUserInterest();
}
return;
}
}
},
lineSelectXQ: function(dicnum, strType) {
var lineList = this.lineList;
for (var i = 0; i < lineList.length; i++) {
var msgList = lineList[i].msg;
var type = true;
for (var j = 0; j < msgList.length; j++) {
var json = msgList[j];
if (dicnum.indexOf('line') != -1) {
if (json.dicnum == dicnum) {
json.isSelected = json.isSelected == '' ? 'select' : '';
if (json.isSelected == 'select') {
that.lineSelectStr += json.queryType + '_' + dicnum + ',';
} else {
that.lineSelectStr = that.lineSelectStr.replace(json.queryType + '_' + json.dicnum + ',', '');
}
type = false;
}
if (!type) {
if (json.dicnum.indexOf('line') == -1) {
json.isSelected = '';
that.lineSelectStr = that.lineSelectStr.replace(json.queryType + '_' + json.dicnum + ',', '');
}
}
} else {
if (json.dicnum == dicnum) {
json.isSelected = json.isSelected == '' ? 'select' : '';
if (json.isSelected == 'select') {
that.lineSelectStr += json.queryType + '_' + dicnum + ',';
} else {
that.lineSelectStr = that.lineSelectStr.replace(json.queryType + '_' + json.dicnum + ',', '');
}
that.lineSelectStr = that.lineSelectStr.replace(json.queryType + '_' + msgList[0].dicnum + ',', '');
msgList[0].isSelected = '';
type = false;
}
}
}
if (!type) {
if (strType == '') {
that.addUserInterest();
}
return;
}
}
},
guanzhuTap: function(type) {
if (type == 'scenic') {
this.scenicGZType = this.scenicGZType == 'NO' ? 'YES' : 'NO';
that.addUserInterest();
} else if (type == 'hotle') {
this.hotelGZType = this.hotelGZType == 'NO' ? 'YES' : 'NO';
that.addUserInterest();
} else if (type == 'line') {
this.lineGZType = this.lineGZType == 'NO' ? 'YES' : 'NO';
that.addUserInterest();
} else if (type == 'food') {
this.foodGZType = this.foodGZType == 'NO' ? 'YES' : 'NO';
that.addUserInterest();
} else if (type == 'method') {
this.methodGZType = this.methodGZType == 'NO' ? 'YES' : 'NO';
that.addUserInterest();
}
},
getUserInterest: function() {
var that = this;
var data = {
userid: aes.aesDecrypt(uni.getStorageSync('unionid')),
userkey: this.$param.userkey
//userid: "2"
};
this.$Request.post(this.$config.getUserInterest, data).then(res => {
var data = res.data;
that.scenicGZType = data.scenic_isShow;
that.hotelGZType = data.hotel_isShow;
that.lineGZType = data.line_isShow;
that.foodGZType = data.food_isShow;
that.methodGZType = data.method_isShow;
var scenicArr = data.scenic_msg.split(',');
var hotelArr = data.hotel_msg.split(',');
var lineArr = data.line_msg.split(',');
for (var i = 0; i < scenicArr.length; i++) {
if (!this.$util.isBlack(scenicArr[i])) {
that.scenicSelectXQ(scenicArr[i].split('_')[1], 'hx');
}
}
for (var i = 0; i < hotelArr.length; i++) {
if (!this.$util.isBlack(hotelArr[i])) {
that.hotelSelectXQ(hotelArr[i].split('_')[1], 'hx');
}
}
for (var i = 0; i < lineArr.length; i++) {
if (!this.$util.isBlack(lineArr[i])) {
that.lineSelectXQ(lineArr[i].split('_')[1], 'hx');
}
}
});
},
addUserInterest: function() {
var data = {
userid: aes.aesDecrypt(uni.getStorageSync('unionid')),
//userid: "2",
scenicGZType: this.scenicGZType,
hotelGZType: this.hotelGZType,
lineGZType: this.lineGZType,
foodGZType: this.foodGZType,
methodGZType: this.methodGZType,
scenicSelectStr: this.scenicSelectStr,
hotelSelectStr: this.hotelSelectStr,
lineSelectStr: this.lineSelectStr,
userkey: this.$param.userkey
};
this.$Request.post(this.$config.addUserInterest, data).then(res => {
/* if(res.status == 200){
uni.showToast({
title: "保存成功",
duration: 2000
});
} */
});
},
deleteUserApp:function(){
var data = {
userid: aes.aesDecrypt(uni.getStorageSync('unionid')),
userkey: this.$param.userkey
};
this.$Request.post(this.$config.deleteUserApp, data).then(res => {
uni.showToast({
title: "注销成功!",
duration: 2000
});
});
},
getAndroidUserKey: function() {
this.$util.bindGpsObj(this);
switch (uni.getSystemInfoSync().platform) {
case 'android':
console.log('运行Android上');
Android.gotoDetial('DEVICEID', '');
break;
case 'ios':
console.log('运行iOS上');
window.location.href = 'https://www.baidu.com?url=tuisong';
break;
default:
break;
}
},
imgPushTest: function(code) {
if (!aes.aesDecrypt(uni.getStorageSync('imgPushType'))) {
var data = {
areacode: this.$config.ARER_CODE_FOUR,
userStr: code,
lng: this.$param.lng,
lat: this.$param.lat,
imgUrl: this.$config.REAUEST_ROOTPATH,
userkey: this.$param.userkey,
userid: aes.aesDecrypt(uni.getStorageSync('unionid')),
pageType: ''
};
this.$Request.post(this.$config.imgPushFun, data).then(res => {});
}
},
imgDistinguish: function() {
var that = this;
var pics = that.pics;
uni.chooseImage({
count: 1, // 最多可以选择的图片张数,默认9
sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
success: function(res) {
uni.navigateTo({
url: '/subPageA/imgDistinguish/imgDistinguish?tempFilePaths=' + res.tempFilePaths[0]
});
}
});
}
}
};
</script>
<style>
@import url('/static/css/common.css');
@import url('/static/css/hebei.css');
</style>