card-mini/pages/mine/index/index.js
2021-09-09 15:44:19 +08:00

418 lines
9.6 KiB
JavaScript

// pages/mine/index/index.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
nickName: '昵称',
name: '用户名称',
userIcon: '/images/ic_user_default.png',
menuList: [],
imgUrl: app.urls.baseImgUrl,
Height: 0,
isShow: true,
isBindPhone: false,
isPay: true, //是否需要交费
code: '',
isOpen: true,
payState: {},
accountInfo: undefined
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var _self = this
_self.setData({
nickName: app.globalData.userInfo.name,
name: app.globalData.userInfo.name
})
try {
var isBind = wx.getStorageSync('bindPhone')
var code = wx.getStorageSync('usercode')
if (code && code.length > 0) {
_self.setData({
code: code
})
}
_self.setData({
isBindPhone: isBind == 0
})
} catch (err) {
console.log(err)
}
},
//获取我的账户信息
getAccountInfo() {
var _self = this
app.http.get(app.urls.getMyAccount, {
header: {
token: app.globalData.token
}
})
.then(res => {
_self.setData({
accountInfo: res.data
})
})
.catch(err => {
console.log(err)
})
},
//获取支付状态
getPayState() {
wx.showLoading({
title: '加载中...',
})
var _self = this
app.http.get(app.urls.getPayState, {
header: {
token: app.globalData.token
}
})
.then(res => {
wx.hideLoading({})
//支付过跳转名片创建页面,没有支付跳转支付页面
if (res.data.cardChargeEnd && res.data.cardChargeEnd.length > 0) {
res.data.cardChargeEnd = _self.formatDate(res.data.cardChargeEnd)
}
_self.setData({
isPay: res.data.cardCharge,
payState: res.data
})
})
.catch(err => {
})
},
formatDate(date) {
if (date.length > 0) {
return date.slice(0, 11)
} else {
return ''
}
},
//获取菜单状态
getMenuState() {
var _self = this
app.http.get(app.urls.getMenuState, {
header: {
token: app.globalData.token
}
})
.then(res => {
_self.setData({
isOpen: res.data
})
})
.catch(err => {
})
},
//获取菜单
getItemList() {
wx.showLoading({
title: '加载中...',
})
var _self = this
app.http.get(app.urls.getMenuList, {
header: {
token: app.globalData.token
}
})
.then(res => {
var data = res.data
wx.stopPullDownRefresh({})
wx.hideLoading({})
var is = true
data.forEach(it => {
it.configColumnList.sort((a, b) => a.configColumnGroupOrder - b.configColumnGroupOrder)
if (it.configColumnGroupName == '创建名片') {
is = false
}
})
_self.setData({
menuList: data,
isShow: is
})
})
.catch(err => {
console.log(err)
wx.stopPullDownRefresh({})
wx.hideLoading({})
})
},
checkPermission() {
var _self = this
try {
var names = wx.getStorageSync('name')
var icon = wx.getStorageSync('userIcon')
if (names) {
this.setData({
name: names,
userIcon: icon
})
} else {
wx.showModal({
title: '提示',
content: '小程序需要您微信头像以及昵称用于展示,请授权.',
showCancel: false,
success(res) {
console.log(res)
if (res.confirm) {
// _self.getUserProfile(3)
}
}
})
}
} catch (error) {
wx.showToast({
title: '获取信息失败',
icon: 'error'
})
}
},
getUserProfile(e) {
let _self = this
wx.getUserProfile({
desc: '获取微信头像以及昵称用于展示',
success: (res) => {
wx.setStorage({
data: res.userInfo.nickName,
key: 'name',
})
wx.setStorage({
data: res.userInfo.avatarUrl,
key: 'userIcon',
})
_self.setData({
name: res.userInfo.nickName,
userIcon: res.userInfo.avatarUrl
})
},
fail(err) {
//判断是否绑定手机号
wx.showToast({
title: '获取个人信息失败',
icon: 'error',
})
}
})
},
addShop() {
wx.navigateTo({
url: '../shop/addshop',
})
},
onShow() {
var name = wx.getStorageSync('name')
var userIcon = wx.getStorageSync('userIcon')
var isBind = wx.getStorageSync('bindPhone')
if (name) {
this.setData({
name: name,
userIcon: userIcon,
isBindPhone: isBind == 0
})
}
// this.getMenuState()
this.getItemList()
this.getPayState()
this.getAccountInfo()
},
//item 状态 1 待付款 2待发货 3待收货 4售后/退款
showOrder(e) {
var item = e.currentTarget.dataset.item
console.log(item)
var path = '/pages/mine/order/orderlist?status=' + item
wx.navigateTo({
url: path,
})
},
choosePage(e) {
// 栏目列表页跳转方式1:小程序页面,2:其他小程序,3:网址
var path = e.currentTarget.dataset.path
var type = e.currentTarget.dataset.type
var item = e.currentTarget.dataset.item
switch (type) {
case '1': //跳转小程序内部
case '3': //链接
wx.navigateTo({
url: path + '?id=' + item.configColumnId + '&mode=' + item.configTableMode + '&type=' + item.configColumnType + '&title=' + item.configColumnName
})
break
case '2': //其他小程序
wx.navigateToMiniProgram({
appId: '',
success(res) {
// 打开成功
}
})
break
}
},
onPullDownRefresh() {
this.getItemList()
this.getPayState()
this.getAccountInfo()
},
//跳转到二级栏目页面
goColumnList(e) {
var item = e.currentTarget.dataset.item
// 1小程序 . 2其他小程序 . 3网址 . 4栏目列表
if (item.configColumnGroupTargetMode == '1') {
//小程序
wx.navigateTo({
url: item.configColumnGroupTargetUrl,
})
} else if (item.configColumnGroupTargetMode == '2') {
//其他小程序
} else if (item.configColumnGroupTargetMode == '3') {
//url
} else {
//二级列表
wx.navigateTo({
url: '../columnlist/columnlist?id=' + item.configColumnGroupId + '&title=' + item.configColumnGroupName,
})
}
},
// 跳转到 我的名片
goMyCard: function () {
wx.navigateTo({
url: '../myCard/myCard',
})
},
//跳转设置页面
showSetting() {
wx.navigateTo({
url: '../../mine/setting/columnsetting'
})
},
imgHeight(e) {
var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
var imgh = e.detail.height; //图片高度
var imgw = e.detail.width; //图片宽度
var swiperH = winWid * imgh / imgw * 0.88 + "px"
this.setData({
Height: swiperH //设置高度
})
},
//引导跳转
toFunction(e) {
var _self = this
var path = ''
_self.data.menuList.forEach(it => {
//判断引导
if (it.configColumnGroupDirection == '3') {
//引导
path = it.configColumnGroupTargetUrl
}
})
wx.navigateTo({
url: path,
})
},
//获取手机号进行绑定
getPhoneNumber(e) {
var _self = this
var iv = e.detail.iv
var encryptedData = e.detail.encryptedData
if (encryptedData) {
wx.showLoading({
title: '绑定中...',
})
app.http.put(app.urls.doUpdatePhone, {
header: {
token: app.globalData.token
},
data: {
iv: iv,
encryptedData: encryptedData
}
})
.then(res => {
wx.hideLoading({})
//保存绑定状态
wx.setStorageSync('token', res.data.data)
wx.setStorageSync('bindPhone', 1)
_self.setData({
isBindPhone: true
})
app.globalData.token = token
wx.showToast({
title: '绑定成功',
success(e) {
wx.navigateTo({
url: '/packagecard/cardList/cardList',
})
}
})
})
.catch(err => {})
}
},
//复制邀请码
copyCode() {
var _self = this
if (_self.data.code != '') {
wx.setClipboardData({
data: _self.data.code,
success: function () {}
})
} else {
wx.showToast({
title: '无邀请码',
icon: 'error'
})
}
},
//营销资讯
toInformation() {
wx.navigateTo({
url: '/packagecard/marketing/marketinginfo',
})
},
//营销海报
toReport() {
wx.navigateTo({
url: '/packagecard/marketing/marketingposter',
})
},
//收益统计
toStatistics() {
wx.navigateTo({
url: '/pages/mine/income/incomelist',
})
},
//会员中心
vipCenter() {
wx.navigateTo({
url: '/pages/mine/vip/vipcenter',
})
},
//扫码
toScan() {
wx.scanCode({
success(res) {
}
})
},
//订单页面跳转
showOrder(e) {
var type = e.currentTarget.dataset.type
// 0待付款 1待发货 2待收货 3全部
wx.navigateTo({
url: '/pages/mine/order/orderlist?status=' + type,
})
},
doCash(e) {
wx.navigateTo({
url: '/packagecard/purse/takecash',
})
}
})