shopxo/sourcecode/toutiao/default/pages/user/user.js
2020-12-06 13:28:34 +08:00

205 lines
6.5 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const app = getApp();
Page({
data: {
avatar: app.data.default_user_head_src,
nickname: "用户名",
message_total: 0,
head_nav_list: [
{ name: "订单总数", url: "user-order", count: 0 },
{ name: "商品收藏", url: "user-faovr", count: 0 },
{ name: "我的足迹", url: "user-goods-browse", count: 0 },
{ name: "我的积分", url: "user-integral", count: 0 },
],
user_order_status_list: [
{ name: "待付款", status: 1, count: 0, url: "/pages/user-order/user-order?status=1" },
{ name: "待发货", status: 2, count: 0, url: "/pages/user-order/user-order?status=2" },
{ name: "待收货", status: 3, count: 0, url: "/pages/user-order/user-order?status=3" },
{ name: "已完成", status: 4, count: 0, url: "/pages/user-order/user-order?status=4" },
{ name: "退款/售后", status: 101, count: 0, url: "/pages/user-orderaftersale/user-orderaftersale" },
],
// 远程自定义导航
navigation: [],
// 基础配置
common_app_customer_service_tel: null,
common_user_center_notice: null,
common_app_is_online_service: 0,
common_app_is_head_vice_nav: 0,
},
onShow() {
tt.setNavigationBarTitle({title: app.data.common_pages_title.user});
// 数据加载
this.init();
// 初始化配置
this.init_config();
},
// 初始化配置
init_config(status) {
if((status || false) == true) {
this.setData({
common_app_customer_service_tel: app.get_config('config.common_app_customer_service_tel'),
common_user_center_notice: app.get_config('config.common_user_center_notice'),
common_app_is_online_service: app.get_config('config.common_app_is_online_service'),
common_app_is_head_vice_nav: app.get_config('config.common_app_is_head_vice_nav'),
});
} else {
app.is_config(this, 'init_config');
}
},
// 获取数据
init(e) {
var user = app.get_user_info(this, "init"),
self = this;
if (user != false) {
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
tt.showModal({
title: '温馨提示',
content: '绑定手机号码',
confirmText: '确认',
cancelText: '暂不',
success: (result) => {
tt.stopPullDownRefresh();
if(result.confirm) {
tt.navigateTo({
url: "/pages/login/login?event_callback=init"
});
}
self.setData({
avatar: user.avatar || app.data.default_user_head_src,
nickname: user.user_name_view || user.nickname || '用户名',
});
},
});
} else {
self.setData({
avatar: user.avatar || app.data.default_user_head_src,
nickname: user.user_name_view || user.nickname || '用户名',
});
self.get_data();
}
}
},
// 获取数据
get_data() {
tt.request({
url: app.get_request_url("center", "user"),
method: "POST",
data: {},
dataType: "json",
header: { 'content-type': 'application/x-www-form-urlencoded' },
success: res => {
tt.stopPullDownRefresh();
if (res.data.code == 0) {
var data = res.data.data;
// 订单数量处理
var temp_user_order_status_list = this.data.user_order_status_list;
if ((data.user_order_status || null) != null && data.user_order_status.length > 0) {
for (var i in temp_user_order_status_list) {
for (var t in data.user_order_status) {
if (temp_user_order_status_list[i]['status'] == data.user_order_status[t]['status']) {
temp_user_order_status_list[i]['count'] = data.user_order_status[t]['count'];
break;
}
}
}
}
// 头部导航总数
var temp_head_nav_list = this.data.head_nav_list;
temp_head_nav_list[0]['count'] = ((data.user_order_count || 0) == 0) ? 0 : data.user_order_count;
temp_head_nav_list[1]['count'] = ((data.user_goods_favor_count || 0) == 0) ? 0 : data.user_goods_favor_count;
temp_head_nav_list[2]['count'] = ((data.user_goods_browse_count || 0) == 0) ? 0 : data.user_goods_browse_count;
temp_head_nav_list[3]['count'] = ((data.integral || 0) == 0) ? 0 : data.integral;
this.setData({
user_order_status_list: temp_user_order_status_list,
avatar: ((data.avatar || null) != null) ? data.avatar : ((this.data.avatar || null) == null ? app.data.default_user_head_src : this.data.avatar),
nickname: ((data.user_name_view || null) != null) ? data.user_name_view : this.data.nickname,
message_total: ((data.common_message_total || 0) == 0) ? 0 : data.common_message_total,
head_nav_list: temp_head_nav_list,
navigation: data.navigation || [],
});
// 导航购物车处理
var cart_total = data.common_cart_total || 0;
if (cart_total <= 0) {
app.set_tab_bar_badge(2, 0);
} else {
app.set_tab_bar_badge(2, 1, cart_total);
}
} else {
app.showToast(res.data.msg);
}
},
fail: () => {
tt.stopPullDownRefresh();
app.showToast("服务器请求出错");
}
});
},
// 清除缓存
clear_storage(e) {
// 获取uuid重新存储缓存一定情况下确保用户的uuid不改变
var uuid = tt.getStorageSync(app.data.cache_user_uuid_key) || null;
// 清除所有缓存
tt.clearStorage();
app.showToast("清除缓存成功", "success");
// 重新存储用户uuid缓存
if(uuid != null) {
tt.setStorage({
key: app.data.cache_user_uuid_key,
data: uuid
});
}
},
// 客服电话
call_event() {
if(this.data.common_app_customer_service_tel == null)
{
app.showToast("客服电话有误");
} else {
app.call_tel(this.data.common_app_customer_service_tel);
}
},
// 下拉刷新
onPullDownRefresh(e) {
this.init(e);
},
// 头像查看
preview_event() {
if(app.data.default_user_head_src != this.data.avatar)
{
tt.previewImage({
current: this.data.avatar,
urls: [this.data.avatar]
});
}
},
// 头像加载错误
user_avatar_error(e) {
this.setData({avatar: app.data.default_user_head_src});
},
// 远程自定义导航事件
navigation_event(e) {
app.operation_event(e);
},
});