store/packageA/member/editmobile/editmobile.js

2070 lines
53 KiB
JavaScript
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.

// pages/member/editmobile/editmobile.js
var app = getApp();
// var WxParse = require('../../../wxParse/wxParse.js');
import uitil from '../../../utils/util.js';
var int = (app.globalData.statusBarHeight * 2) + 20;
Page({
/**
* 页面的初始数据
*/
data: {
statusBarHeight: int,
repeatStatus: false,//防止快速
isset: '',
invite: '',
isrequired: '',
showChangeID: false,
changidInfo: {
uid: null,
change_uid: null,
},
editType: '',
uploadUrl: 'upload.uploadPic',
form: {
country: '86',
mobile: '',
mobileErr: '',
password: '',
passwordErr: '',
confirm_password: '',
confirm_passwordErr: '',
captcha: '',
province_name: '', //省
city_name: '', //市
area_name: '', //区
province: '', //省ID
city: '', //市ID
area: '', //区ID
address: '', //详细地址
gender: '',
custom_value: '',
realname:'', //姓名
},
showBack: false,
//性别----
showSex: false,
sexItems: [
{
name: '男'
},
{
name: '女'
}
],
is_password: '0',
customDatas: [],
form_address: false,
form_birthday: false,
form_sex: false,
date_v1: uitil.formatTime(new Date()).substring(0, 10),
diydata: [],
diyform: {},
types: {
"88": 'diyusername',
"99": 'diypassword',
"0": 'diyinput',
"1": 'diytextarea',
"3": 'diycheckbox',
"4": 'diyradio',
"2": 'diyselect',
"7": 'diydate',
"9": 'diycity',
"5": 'diyimage',
},
agreementStatus: false,
protocol_content: "",
protocol_title: "",
agreement_name: "平台协议",
PlatformAgreement: '',
showPlatformAgreement: false,
imgcode: "",
agreementCB: true,
show2: false,
start1: false,
codetext: '获取短信验证码',
//地区
provinceData: [],
cityData: [],
districtData: [],
pickerValue: [0, 0, 0],
selectAddressData: [],
isValidation: true,
currentDate: new Date().getTime(),
yzredirect: '',
nowtime: '2019-09-01',
country_code: 0,
fromApp: 0,
anchorApplyBol: false,
// 绑定手机优化 新加 2020_09_04
isShowAddress: false,
orderLocationObj: { positioning_success: 0, register_province: "", register_city: "" },
// 自定义字段是否必填
formOpen: false,
default_invite:"",
datas :{
form_id:''
},
visibleSet: false,
visibleSure: false,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: async function (options) {
let userLocationFlag = await this.checkAlbum('scope.userLocation');
console.log("userLocationFlag", userLocationFlag);
if (!userLocationFlag) {
return this.tips("获取位置失败,请重新进入后授权");
}
if (!app.globalData.qqmapkey) {
app._getTemplate().then(res => {
this.getCurrentOrderLocation();
});
} else {
this.getCurrentOrderLocation();
}
console.log('进入页面获取参数信息:',options);
if (options.editType) {
this.setData({
editType: options.editType
});
}
if (options.anchorApply) {
// this.data.anchorApplyBol = true
this.setData({
anchorApplyBol: true
});
}
if (options.code) {
this.setData({
"form.invite_code": options.code
});
}
if (options.logintype) {
this.data.yzredirect = app.getyzredirect();
}
if (options.fromApp && options.fromApp != 0) {
this.setData({
fromApp: options.fromApp
});
}
//加载地址数据初始化
this._initAddressInfo();
if (options.num) {
this.setData({
"form.mobile": options.num
});
}
this.getAllData();
//加载地址数据初始化
this._initAddressInfo();
// this._initInviteCode();
// this._getDiyFormStatus();
// this._getProtocolStatus();
// this.getimgdata();
let timestamp = new Date().getTime();
let nowtime = this.timestampToTime(timestamp);
let name = wx.getStorageSync('userInfo');
this.setData({
nowtime: nowtime,
nickName: name.userInfo?name.userInfo.nickName:''
});
},
fillInCode() {
this.setData({
'form.invite_code': this.data.default_invite
});
},
// 获取授权手机号 ============= start =============
getPhoneNumber(e) {
let info = e.detail;
console.log("手机信息获取",info);
if(info.errMsg == 'getPhoneNumber:ok') {
this.getPhoneM(info);
}
},
async getPhoneM(info) {
let _this = this;
let keys = await this.getSessionKey(info);
let mobile = await this.getPhone_index(info, keys);
this.setData({
'form.mobile': mobile
},async function () {
await _this.putPrepBind(mobile);
await _this.setBindPhone(mobile);
_this.back();
wx.hideLoading();
});
},
putPrepBind(mobile) {
let urlStr = app.getNetAddresss("member.member.prepBind");
return new Promise((resolve,reject) => {
app._postNetWork({
url: urlStr,
showToastIn: false,
data: {
mobile: mobile
},
validateBol: 2,
success: (resdata)=> {
var res = resdata.data;
if (res.result == 1) {
if (res.data.is_show) {
// 显示 导致会员id变更 弹窗
this.setData({
showChangeID: true,
changidInfo: {
uid: res.data.uid,
change_uid: res.data.change_uid
}
});
} else {
resolve();
}
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
reject(res);
}
},
fail: function (res) {
reject(res);
}
});
});
},
setBindPhone(mobile){
let urlStr = app.getNetAddresss('member.member.bindMobile');
return new Promise((resolve,reject) => {
app._postNetWork({
url: urlStr,
data: {
mobile: mobile,
mini_first_time_bind: 1, // 首次绑定
},
success: function (resdata) {
var res = resdata.data;
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
resolve();
},
fail: function (res) {
reject(res);
}
});
});
},
back() {
// 判断:如果存在上一页则返回上一页 否则进入个人中心
let pages = getCurrentPages();
console.log('上一页路径:' + pages[pages.length - 2]);
if(pages[pages.length - 2]){
wx.navigateBack({//返回
delta: 1
});
}else{
wx.reLaunch({
url: "/packageG/member_v2/member_v2",
});
}
},
//详细地址值绑定
addressinp(e) {
let val = e.detail.value;
this.setData({
'form.address': val
});
},
getSessionKey() {
let key = wx.getStorageSync('session');
console.log(key, '缓存的session');
let urlStr = app.getNetAddresss('member.mini-decrypt.getSessionKey');
return new Promise((resolve,reject) => {
app._postNetWork({
url: urlStr,
data: {
session_key_id: key,
not_validate_page: '0'
},
showToastIn: false,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
console.log(res, '获取session_key');
if (res.result == 1) {
let keys = res.data.session_key_data.session_key;
resolve(keys);
}
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
reject();
}
},
fail: function (res) {
reject(res);
}
});
});
},
getPhone_index(info, keys) {
wx.showLoading({
title: '加载中',
});
let arr = {
info: info,
session_key: keys
};
let urlStr = app.getNetAddresss('member.mini-decrypt.index');
return new Promise((resolve,reject) => {
app._postNetWork({
url: urlStr,
showToastIn: false,
data: {
para_arr: arr,
not_validate_page: '0'
},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
resolve(res.data.purePhoneNumber);
} else {
wx.hideLoading({
success: (res) => { },
});
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
reject();
}
},
fail: function (res) {
reject(res);
}
});
});
},
sexSelectBtn(e) {
let val = e.detail.name;
console.log(val);
if (val == '男') {
this.setData({
'form.gender': '1',
sexName: '男'
});
} else if (val == '女') {
this.setData({
'form.gender': '0',
sexName: '女'
});
}
this.setData({
showSex: false
});
},
sexClose() {
this.setData({
showSex: false
});
},
bindDateChange_v1(e) {
console.log(e.detail.value);
this.setData({
'form.birthday': e.detail.value
});
},
//生日选择
openPicker_v1() {
this.setData({
birthdayShow: true
});
},
//显示性别设置
showSexInfo() {
this.setData({
showSex: true
});
},
// 关闭选择收货地址
_closeDateLw_v1: function () {
this.setData({
showAdd_v1: false
});
},
//所在地选择显示
showAddBtn_v1() {
this.setData({
showAdd_v1: true
});
},
//地址选择器数据初始化
_initAddressInfo: function () {
var that = this;
var _keyName = 'provinceData';
wx.getStorage({
key: _keyName,
success: function (res) {
console.log('地址信息准备就绪');
that._getProvinceData();
},
fail: function (res) {
console.log('省fail');
app._getNetWork({
url: app.getNetAddresss('member.member-address.address'),
success: function (res) {
var response = res.data;
var province = response.data.province;
var city = response.data.city;
var district = response.data.district;
wx.setStorage({
key: 'provinceData',
data: province
});
wx.setStorage({
key: 'cityData',
data: city
});
wx.setStorage({
key: 'districtData',
data: district
});
that._initAddressInfo();
},
fail: function (res) { },
state: true
});
}
});
},
//初始化城市
_initDistrict(data, district) {
console.log(app._isTextEmpty(data.myform));
if (!app._isTextEmpty(data)) {
if (!app._isTextEmpty(data.myform.form)) {
this.setData({
isShowAddress: data.myform.base.address == 1 ? true : false
});
}
this.setData({
'form.province': data.province,
'form.province_name': data.province_name,
'form.city': data.city,
'form.city_name': data.city_name,
'form.area': data.area,
'form.area_name': data.area_name,
districtName:
data.province_name + ' ' + data.city_name + ' ' + data.area_name,
'form.address': data.address
});
return;
}
if (!app._isTextEmpty(district)) {
this.setData({
'form.province': district.itemValue1,
'form.province_name': district.itemName1,
'form.city': district.itemValue2,
'form.city_name': district.itemName2,
'form.area': district.itemValue3,
'form.area_name': district.itemName3
});
this.setData({
districtName:
district.itemName1 +
' ' +
district.itemName2 +
' ' +
district.itemName3
});
}
},
// 读取省key
_getProvinceData: function () {
var that = this;
var _keyName = 'provinceData';
wx.getStorage({
key: _keyName,
success: function (res) {
console.log('省读取成功', res.data);
that.setData({
provinceData: res.data
});
that.setData({
'selectAddressData[0].name':
res.data[that.data.pickerValue[0]].areaname,
'selectAddressData[0].id': res.data[that.data.pickerValue[0]].id,
'selectAddressData[0].index': that.data.pickerValue[0]
});
that._getCityData();
}
});
},
// 读取城市key筛选城市data
_getCityData: function () {
var _data = this.data.selectAddressData[0];
console.log('城市', '_data', _data);
var that = this;
var _keyName = 'cityData';
wx.getStorage({
key: _keyName,
success: function (res) {
console.log('城市读取成功', res);
var _json = [];
for (var i = 0; i < res.data.length; i++) {
if (res.data[i].parentid == _data.id) {
_json.push(res.data[i]);
}
}
console.log('城市数据筛选', _json);
that.setData({
cityData: _json
});
that.setData({
'selectAddressData[1].name': _json[that.data.pickerValue[1]].areaname,
'selectAddressData[1].id': _json[that.data.pickerValue[1]].id,
'selectAddressData[1].index': that.data.pickerValue[1]
});
that._getDistrictData();
}
});
},
// 读取地区key筛选地区data
_getDistrictData: function () {
var _data = this.data.selectAddressData[1];
console.log('地区', '_data', _data);
console.log(_data);
var that = this;
var _keyName = 'districtData';
wx.getStorage({
key: _keyName,
success: function (res) {
console.log('地区读取成功');
var _json = [];
for (var i = 0; i < res.data.length; i++) {
if (res.data[i].parentid == _data.id) {
_json.push(res.data[i]);
}
}
console.log('地区数据筛选', _json);
that.setData({
districtData: _json
});
console.log('districtData', _json);
that.setData({
'selectAddressData[2].name': _json[that.data.pickerValue[2]].areaname,
'selectAddressData[2].id': _json[that.data.pickerValue[2]].id,
'selectAddressData[2].index': that.data.pickerValue[2]
});
console.log('over', that.data.selectAddressData);
}
});
},
// 收货地址滚动事件
bindChange: function (e) {
var val = e.detail.value;
if (this.data.pickerValue[0] != val[0]) {
val[1] = 0;
val[2] = 0;
}
if (this.data.pickerValue[1] != val[1]) {
val[2] = 0;
}
this.setData({
'pickerValue[0]': val[0],
'pickerValue[1]': val[1],
'pickerValue[2]': val[2]
});
this._initAddressInfo();
},
//城市结果
resultAdd_v1: function () {
let seleData = this.data.selectAddressData;
let district = {
itemValue1: seleData[0].id,
itemName1: seleData[0].name,
itemValue2: seleData[1].id,
itemName2: seleData[1].name,
itemValue3: seleData[2].id,
itemName3: seleData[2].name
};
this._initDistrict('', district);
this._closeDateLw_v1();
},
//初始化自定义表单
_initCustomForm(data) {
if (app._isTextEmpty(data.form)) {
this.setData({
isForm: false
});
return;
}
if (data.form.length == 0) {
this.setData({
isForm: false
});
return;
}
this.setData({
isForm: true
});
this.setData({
customDatas: data.form
});
},
//其他信息值绑定
cItemInp(e) {
let citemidx = e.currentTarget.dataset.citemidx;
let val = e.detail.value;
console.log(this.data.customDatas);
this.setData({
['customDatas[' + citemidx + '].value']: val
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
var that = this;
var query = wx.createSelectorQuery();
query.select('.topback').boundingClientRect(function (res) {
that.setData({
tabScrollTop: res.top + 10 //根据实际需求加减值
});
}).exec();
},
onPageScroll(e) {
// console.log(e);
if (e.scrollTop >= this.data.tabScrollTop) {
this.setData({
showBack: true
});
} else if (e.scrollTop < this.data.tabScrollTop) {
this.setData({
showBack: false
});
}
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
//获取图片验证码
getimgdata(data) {
let that = this;
let urlStr = app.getNetAddresss("home-page.getCaptcha");
if (data && data.captcha) {
if (data.captcha) {
that.setData({
imgcode: data.captcha.img
});
}
} else {
app._getNetWork({
url: urlStr,
validateBol: 2,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
if (res.data.captcha) {
that.setData({
imgcode: res.data.captcha.img
});
}
}
},
fail: function (res) {
console.log(res);
}
});
}
},
//判断是否需要邀请码
_initInviteCode(data) {
let that = this;
// let urlStr = app.getNetAddresss("member.register.getInviteCode");
// app._getNetWork({
// url: urlStr,
// validateBol:2,
// success: function(resdata) {
// var res = resdata.data;
// if (res.result == 1) {
// if (res.data.status == 1) {
that.setData({
invite: data.status,
isrequired: data.required,
country_code: data.country_code,
});
if (data.invitation_code) {
that.setData({
'form.invite_code': data.invitation_code.invite_code
});
}
// }
// }
// },
// fail: function(res) {
// console.log(res);
// }
// });
},
//获取diy 状态信息
// _getDiyFormStatus() {
// let that = this;
// let urlStr = app.getNetAddresss("setting.get-register-diy-form");
// app._getNetWork({
// url: urlStr,
// validateBol:2,
// success: function(resdata) {
// var res = resdata.data;
// if (res.result == 1) {
// if (res.data.status == 1) {
// that.setData({
// diyStatus: 1,
// form_id: res.data.form_id
// })
// that._getDiyFormInfo(res.data.form_id)
// } else {
// that.setData({
// diyStatus: 0
// })
// }
// } else {
// that.setData({
// diyStatus: 0
// })
// }
// },
// fail: function(res) {
// console.log(res);
// that.setData({
// diyStatus: 0
// })
// }
// });
// },
//获取diy 信息
_getDiyFormInfo(data) {
let that = this;
// let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.get-diy-form-by-id");
// urlStr += '&form_id=' + id;
// app._getNetWork({
// url: urlStr,
// validateBol:2,
// success: function(resdata) {
// var res = resdata.data;
// if (res.result == 1) {
that.setData({
diyform: data,
form_id:data.id,
'datas.form_id':data.id
});
console.log(data);
let fields = that.data.diyform.fields;
let diydata = that.data.diydata;
let f = {};
for (var field in fields) {
console.log(that.data.types[fields[field].data_type], fields[field].data_type);
if (that.data.types[fields[field].data_type] == 'diycheckbox') {
f = {
name: field,
data: fields[field],
value: [],
type: that.data.types[fields[field].data_type],
};
} else if (that.data.types[fields[field].data_type] == 'diyselect') {
let tp_textArr = [];
for (let i = 0; i < fields[field].tp_text.length; i++) {
tp_textArr.push({
name: fields[field].tp_text[i]
});
}
f = {
name: field,
data: fields[field],
value: '',
type: that.data.types[fields[field].data_type],
diysishow: false,
sitem: tp_textArr
};
} else if (that.data.types[fields[field].data_type] == 'diycity') {
f = {
name: field,
data: fields[field],
value: '',
type: that.data.types[fields[field].data_type],
showAdd: false
};
} else if (that.data.types[fields[field].data_type] == 'diydate') {
f = {
name: field,
data: fields[field],
value: '',
type: that.data.types[fields[field].data_type],
timeShow: false,
currentDate: new Date().getTime()
};
} else if (that.data.types[fields[field].data_type] == 'diyimage') {
f = {
name: field,
data: fields[field],
imgUrls: fields[field].value ? fields[field].value : [],
isPhoto: false,
type: that.data.types[fields[field].data_type],
};
} else {
f = {
name: field,
data: fields[field],
value: '',
type: that.data.types[fields[field].data_type],
};
}
diydata.push(f);
that.setData({
diydata: diydata
});
}
console.log(this.data.diydata,'21121121');
// }
// },
// fail: function(res) {
// console.log(res);
// }
// });
},
onRead_1(e) {
try {
let diydata = this.data.diydata;
let index = e.currentTarget.dataset.idex;
if (diydata[index].type == "diyimage") {
if (diydata[index].imgUrls.length >= diydata[index].data.tp_max) {
wx.showToast({
title: `最多只能上传${diydata[index].data.tp_max}`,
icon: 'none',
duration: 1000
});
return;
}
}
// for (var i = 0; i < diydata.length; i++){
// if(diydata[i].type == "diyimage"){
// if(diydata[i].imgUrls.length >= diydata[i].data.tp_max){
// wx.showToast({
// title: `最多只能上传${diydata[i].data.tp_max}张`,
// icon:'none',
// duration:1000
// })
// return
// }
// }
// }
// console.log(this.data.diydata)
} catch (err) { console.log(err); }
let name = e.currentTarget.dataset.name;
this.setData({
setname: name
});
let that = this;
let urlStr = app.getNetAddresss(this.data.uploadUrl);
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success(res) {
const tempFilePaths = res.tempFilePaths;
wx.compressImage({
src: tempFilePaths[0], // 图片路径
quality: 60, // 压缩质量
success(e) {
// console.log(e)
let photourl = e.tempFilePath;
wx.uploadFile({
url: urlStr,
filePath: photourl,
name: 'file',
formData: {
attach: that.data.setname
},
success(resdata) {
var res = JSON.parse(resdata.data);
console.log(res);
if (res.result == 1) {
let diydata = that.data.diydata;
console.log(res);
for (var i = 0; i < diydata.length; i++) {
if (diydata[i].name == res.data.attach) {
diydata[i].imgUrls.push(res.data.img_url);
}
}
that.setData({
diydata: diydata
});
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
}
}
});
},
fail(e) {
console.log(e);
},
complete(e) {
}
});
}
});
},
removeImg: function (e) {
let delIndex = e.currentTarget.dataset.indexc;
let index_1 = e.currentTarget.dataset.index;
let diydata = this.data.diydata;
diydata[index_1].imgUrls.splice(delIndex, 1);
this.setData({
diydata: diydata
});
},
//获取是否开启协议
_getProtocolStatus(data) {
let that = this;
// let urlStr = app.getNetAddresss("setting.get-member-protocol");
// app._getNetWork({
// url: urlStr,
// validateBol:2,
// success: function(resdata) {
// var res = resdata.data;
// if (res.result == 1) {
that.setData({
agreementStatus: data.protocol === "1" || data.protocol === 1,
protocol_content: data.content,
protocol_title: data.title,
agreement_name: data.agreement_name || '平台协议',
PlatformAgreement: data.new_agreement
});
// let article = that.data.protocol_content;
/**
* WxParse.wxParse(bindName , type, data, target,imagePadding)
* 1.bindName绑定的数据名(必填)
* 2.type可以为html或者md(必填)
* 3.data为传入的具体数据(必填)
* 4.target为Page对象,一般为this(必填)
* 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
*/
// WxParse.wxParse('article', 'html', article, that);
// } else(
// that.setData({
// agreementStatus: false
// })
// )
// },
// fail: function(res) {
// that.setData({
// agreementStatus: false
// })
// }
// });
},
editCustom(e) {
let key = e.detail.value;
this.setData({
'form.custom_value': key
});
},
// 新的合并接口
getAllData() {
let that = this;
let urlStr = app.getNetAddresss("member.register.newApiData");
try {
var value = wx.getStorageSync('isset');
if (value) {
that.setData({
isset: value
});
}
} catch (e) {
console.log(e);
}
if (this.data.isset) {
wx.removeStorage({
key: 'isset',
success(res) {
console.log(res.data);
}
});
urlStr += '&close=' + 1;
}
app._postNetWork({
url: urlStr,
validateBol: 2,
data: {
not_validate_page: '0'
},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
formOpen: (res.data.form_open == "1" ? true : false)
});
if (res.data.get_register_diy_form && res.data.get_register_diy_form.status == 1) {
that.setData({
diyStatus: 1,
form_id: res.data.get_register_diy_form.form_id
});
if (res.data.get_diy_form_by_id) {
that._getDiyFormInfo(res.data.get_diy_form_by_id);
}
} else {
that.setData({
diyStatus: 0
});
}
if (res.data.get_member_protocol) {
that._getProtocolStatus(res.data.get_member_protocol);
if (res.data.get_member_protocol.form) {
that._initCustomForm(res.data.get_member_protocol.form);
if (res.data.get_member_protocol.form.base) {
that.setData({
form_address: res.data.get_member_protocol.form.base.address == '1' ? res.data.get_member_protocol.form.base.address : '',
form_birthday: res.data.get_member_protocol.form.base.birthday == '1' ? res.data.get_member_protocol.form.base.birthday : false,
form_sex: res.data.get_member_protocol.form.base.sex == '1' ? res.data.get_member_protocol.form.base.sex : false,
form_name: res.data.get_member_protocol.form.base.name == '1' ? true : false,
is_custom: res.data.get_member_protocol.custom_field.is_custom == '1' ? true : false,
custom_title: res.data.get_member_protocol.custom_field.custom_title
});
}
}
if (res.data.get_member_protocol.register) {
that.setData({
top_img: res.data.get_member_protocol.register.top_img,
title1: res.data.get_member_protocol.register.title1,
title2: res.data.get_member_protocol.register.title2,
is_password: res.data.get_member_protocol.register.is_password
});
}
if (res.data.get_member_protocol.member) {
let member = res.data.get_member_protocol.member;
if (member.birthmonth < 10) {
member.birthmonth = `-0${member.birthmonth}`;
} else {
member.birthmonth = `-${member.birthmonth}`;
}
if (member.birthday < 10) {
member.birthday = `-0${member.birthday}`;
} else {
member.birthday = `-${member.birthday}`;
}
if(res.data.name_must){
that.setData({
name_must:res.data.name_must == '1'?true:false
});
}
that.setData({
districtName: `${member.province_name}${member.city_name}${member.area_name}`,
'form.address': member.address,
'form.birthday': `${member.birthyear}${member.birthmonth}${member.birthday}`,
sexName: member.gender == 0 ? '女' : '男',
// customDatas: member.member_form,
'form.custom_value': member.custom_value
});
}
}
if (res.data.get_captcha) {
that.getimgdata(res.data.get_captcha);
}
if (res.data.getInviteCode) {
that.setData({
default_invite: res.data.getInviteCode.default_invite
});
that._initInviteCode(res.data.getInviteCode);
}
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
}
},
fail: function (res) {
console.log(res);
}
});
},
//绑定国家区号的值
countryinp(e) {
let val = e.detail.value;
this.setData({
"form.country": val.trim()
});
},
//绑定图形验证码的值
captchainp(e) {
let val = e.detail.value;
this.setData({
"form.captcha": val.trim()
});
},
//绑定手机号的值
mobileinp(e) {
let val = e.detail.value;
this.setData({
"form.mobile": val.trim()
});
},
sjnz(e) {
console.log(e.detail.value);
let val = e.detail.value;
this.setData({
"form.mobile": val.trim()
});
},
//绑定验证码的值
codeinp(e) {
let val = e.detail.value;
this.setData({
"form.code": val.trim()
});
},
//绑定邀请码的值
inviteinp(e) {
let val = e.detail.value;
this.setData({
"form.invite_code": val.trim()
});
},
//绑定设置密码的值
passwordinp(e) {
let val = e.detail.value;
this.setData({
"form.password": val.trim()
});
},
//绑定确认密码的值
conpasswordinp(e) {
let val = e.detail.value;
this.setData({
"form.confirm_password": val.trim()
});
},
//绑定注册协议的值
agreementCBinp(e) {
let bol = e.detail;
this.setData({
agreementCB: bol
});
},
//打开注册协议
goAgreement() {
this.setData({
show2: true
});
},
popClose() {
this.setData({
show2: false
});
},
openPlatformAgreement() {
this.setData({
showPlatformAgreement: true
});
},
closePlatformAgreement() {
this.setData({
showPlatformAgreement: false
});
},
sendCode(e) {
if (this.data.start1) {
return false;
}
let time = 60;
let that = this;
that.setData({
"start1": true,
"codetext": "(" + time + ")秒后重新获取"
});
let set = setInterval(function () {
that.setData({
codetext: "(" + --time + ")秒后重新获取",
});
}, 1000);
setTimeout(function () {
that.setData({
codetext: "获取短信验证码",
start1: false
});
clearInterval(set);
}, 60000);
that.verificationCode(set);
},
//发送验证码
verificationCode(set) {
let that = this;
if (app._isTextEmpty(this.data.form.country)) {
wx.showToast({
icon: 'none',
title: '请输入国际区号',
duration: 1500
});
that.setData({
codetext: "获取短信验证码",
start1: false
});
clearInterval(set);
return;
}
if (app._isTextEmpty(this.data.form.mobile)) {
wx.showToast({
icon: 'none',
title: '请填写手机号',
duration: 1500
});
that.setData({
codetext: "获取短信验证码",
start1: false
});
clearInterval(set);
return;
}
if (this.data.form.country == "86" && app._isMoblie(this.data.form.mobile)) {
wx.showToast({
icon: 'none',
title: '请填写正确的手机号',
duration: 1500
});
return;
}
if (app._isTextEmpty(this.data.form.captcha) && this.data.imgcode) {
wx.showToast({
icon: 'none',
title: '请填图形验证码',
duration: 1500
});
that.setData({
codetext: "获取短信验证码",
start1: false
});
clearInterval(set);
return;
} else {
let urlStr = app.getNetAddresss("member.register.sendCodeV2");
urlStr += '&mobile=' + this.data.form.mobile;
urlStr += '&state=' + this.data.form.country;
urlStr += '&captcha=' + this.data.form.captcha;
urlStr += '&code=' + this.data.form.code;
// 发送获取验证码的请求
app._getNetWork({
url: urlStr,
validateBol: 2,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
wx.showToast({
icon: 'none',
title: '已发送',
duration: 1500
});
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
//刷新图形验证码
that.setData({
'form.captcha': '',
start1: false,
codetext: "获取短信验证码",
});
clearTimeout(set);
that.getimgdata();
}
},
fail: function (res) {
console.log(res);
}
});
}
},
//自定义表单值绑定
tpnameinp(e) {
let val = e.detail.value;
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].value"]: val
});
},
diytextareainp(e) {
let val = e.detail.value;
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].value"]: val
});
},
checkboxinp(e) {
let val = e.detail;
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].value"]: val
});
},
diyselectBtn(e) {
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].diysishow"]: true
});
},
sitemClose(e) {
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].diysishow"]: false
});
},
sitemSelectBtn(e) {
let idx = e.target.dataset.idex;
let val = e.detail.name;
this.setData({
["diydata[" + idx + "].value"]: val,
["diydata[" + idx + "].diysishow"]: false
});
},
raidinp(e) {
let val = e.detail;
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].value"]: val
});
},
//所在地选择显示
showAddBtn(e) {
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].showAdd"]: true
});
},
// 关闭选择收货地址
_closeDateLw: function (e) {
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].showAdd"]: false
});
},
//城市结果
resultAdd: function (e) {
let idx = e.currentTarget.dataset.idex;
let seleData = this.data.selectAddressData;
let retCity = seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name;
this.setData({
["diydata[" + idx + "].value"]: retCity,
["diydata[" + idx + "].showAdd"]: false
});
},
//自定义日期选择
openPicker(e) {
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].timeShow"]: true
});
},
PickerClose(e) {
let idx = e.currentTarget.dataset.idex;
this.setData({
["diydata[" + idx + "].timeShow"]: false
});
},
PickerChange(event) {
let idx = event.currentTarget.dataset.idex;
let time = event.detail;
this.setData({
["diydata[" + idx + "].currentDate"]: time
});
},
birthdayconfirm(e) {
let idx = e.currentTarget.dataset.idex;
let time = e.detail;
let changtime = this.timestampToTime(time);
this.setData({
["diydata[" + idx + "].value"]: changtime,
["diydata[" + idx + "].timeShow"]: false
});
},
timestampToTime(timestamp) {
var date = new Date(timestamp); //时间戳为10位需*1000时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate());
return Y + M + D;
},
//注册
register() {
let is_customDatas = {},
adress = {};
is_customDatas.customDatas = this.data.customDatas;
adress.province_name = this.data.form.province_name;
adress.city_name = this.data.form.city_name;
adress.area_name = this.data.form.area_name;
adress.province = this.data.form.province;
adress.city = this.data.form.city;
adress.area = this.data.form.area;
adress.address = this.data.form.address;
let is_form = {
invite_code: this.data.form.invite_code,
country: this.data.form.country,
mobile: this.data.form.mobile,
mobileErr: this.data.form.mobileErr,
password: this.data.form.password,
passwordErr: this.data.form.passwordErr,
confirm_password: this.data.form.confirm_password,
confirm_passwordErr: this.data.form.confirm_passwordErr,
captcha: this.data.form.captcha,
gender: this.data.form.gender,
code: this.data.form.code,
birthday: this.data.form.birthday,
custom_value: this.data.form.custom_value,
close: this.data.form.close
};
is_form.address = adress;
is_form.customDatas = is_customDatas.customDatas;
let that = this;
if (this.data.formOpen && (this.data.customDatas instanceof Array)) {
let result = this.data.customDatas.every((item) => {return (item.value != "");});
if (!result) {
wx.showToast({
icon: 'none',
title: '请先填写自定义信息',
duration: 1500
});
return;
}
}
//防止快速点击,重复触发
if (this.data.repeatStatus) {
return;
}
this.setData({
repeatStatus: true
});
//判断是否从设置页面跳转
if (!this.data.isset) {
const {
...formData
} = is_form;
this.setData({
is_form: formData
});
}
if (this.data.isset) {
wx.removeStorage({
key: 'isset',
success(res) {
console.log(res.data);
}
});
const {
...formData
} = is_form;
this.setData({
is_form: formData
});
that.data.is_form.close = 1;
}
let urlStr = app.getNetAddresss("member.member.bindMobile");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: that.data.is_form,
validateBol: 2,
success: function (resdata) {
that.setData({
repeatStatus: false
});
var res = resdata.data;
if (res.result == 1) {
app.resetBasicInfo();
console.log(that.data.diyStatus);
if (that.data.diyStatus == 0) {
wx.showToast({
icon: 'none',
title: '绑定成功',
duration: 1500
});
if (that.data.anchorApplyBol) {
wx.navigateBack({
delta: 1
});
return;
}
if (that.data.isset == 1 && !that.data.editType) {
console.log('跳去首页');
wx.removeStorage({
key: 'isset',
success(res) {
console.log(res.data);
}
});
wx.reLaunch({
url: '/packageG/index/index'
});
} else {
console.log('返回路由上一个');
that.gotourl();
}
} else if (that.data.diyStatus == 1) {
//去提交diy
let child = that.selectComponent('.dsfrom');
child.submit();
// that.postDiy();
}
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
}
},
fail: function (res) { }
});
},
//先验证是否导致会员id变更
getPrepBind() {
let that = this;
if(this.data.name_must && this.data.editType!='1'){
if (app._isTextEmpty(this.data.form.realname)) {
app.tips('请输入姓名');
return;
}
}
if (app._isTextEmpty(this.data.form.country)) {
wx.showToast({
icon: 'none',
title: '请输入国际区号',
duration: 1500
});
return;
}
if (app._isTextEmpty(this.data.form.mobile)) {
wx.showToast({
icon: 'none',
title: '请填写手机号',
duration: 1500
});
return;
}
if (this.data.form.country == "86" && app._isMoblie(this.data.form.mobile)) {
wx.showToast({
icon: 'none',
title: '请填写正确的手机号',
duration: 1500
});
return;
}
if (app._isTextEmpty(this.data.form.code)) {
wx.showToast({
icon: 'none',
title: '请填验证码',
duration: 1500
});
return;
}
if (this.data.is_password == '1') {
if (app._isTextEmpty(this.data.form.password)) {
wx.showToast({
icon: 'none',
title: '请填写密码',
duration: 1500
});
return;
}
if (app._isTextEmpty(this.data.form.confirm_password)) {
wx.showToast({
icon: 'none',
title: '请填写确认密码',
duration: 1500
});
return;
}
if (this.data.form.password != this.data.form.confirm_password) {
wx.showToast({
icon: 'none',
title: '两次密码不一致',
duration: 1500
});
return;
}
}
if (this.data.isrequired == 1) {
if (app._isTextEmpty(this.data.form.invite_code)) {
wx.showToast({
icon: 'none',
title: '请填写邀请码',
duration: 1500
});
return;
}
}
if(this.data.formOpen){
for(let i = 0;i<this.data.customDatas.length;i++){
if(app._isTextEmpty(this.data.customDatas[i].value)){
app.tips(`请输入${this.data.customDatas[i].name}`);
return;
}
}
}
if (this.data.imgcode) {
if (app._isTextEmpty(this.data.form.captcha)) {
wx.showToast({
icon: 'none',
title: '图形验证码不能为空',
duration: 1500
});
return;
}
}
// 位置调整
if (this.data.diyStatus == 1) {
this.validation();
if (!this.data.isValidation) {
return;
}
}
if(this.data.PlatformAgreement){
if(!this.data.agreementCB){
wx.showToast({
icon: 'none',
title: "请先勾选同意"+this.data.agreement_name,
duration: 2000
});
return;
}
}
if (this.data.agreementStatus) {
if (!this.data.agreementCB) {
wx.showToast({
icon: 'none',
title: "请先勾选同意"+ this.data.protocol_title || '会员注册协议',
duration: 2000
});
return;
}
}
//防止快速点击,重复触发
if (this.data.repeatStatus) {
return;
}
this.setData({
repeatStatus: true
});
//判断是否从设置页面跳转
if (!this.data.isset) {
const {
...formData
} = this.data.form;
this.setData({
form: formData
});
}
Object.assign(this.data.form, this.data.orderLocationObj);
let urlStr = app.getNetAddresss("member.member.prepBind");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: this.data.form,
validateBol: 2,
success: function (resdata) {
that.setData({
repeatStatus: false
});
var res = resdata.data;
if (res.result == 1) {
if (res.data.is_show) {
// 显示 导致会员id变更 弹窗
that.setData({
showChangeID: true,
changidInfo: {
uid: res.data.uid,
change_uid: res.data.change_uid
}
});
} else {
//不显示提示弹窗
that.register();
}
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
}
},
fail: function (res) { }
});
},
closeChangeId() {
this.setData({
showChangeID: false
});
},
//验证参数
validation() {
this.setData({
isValidation: true
});
this.data.diydata.forEach(item => {
if (item.data.tp_must == 1 && !item.value && item.type) {
wx.showToast({
icon: 'none',
title: item.data.tp_name + '必须填写哦',
duration: 1500
});
this.setData({
isValidation: true
});
}
if (item.type == 'diycheckbox' && item.value.length == 0) {
wx.showToast({
icon: 'none',
title: item.data.tp_name + '必须选择哦',
duration: 1500
});
this.setData({
isValidation: false
});
}
});
},
postDiy(e) {
let that = this;
let formData = e.detail;
// let formObject = {};
// this.data.diydata.forEach(item => {
// if (item.type == 'diyimage') {
// formObject[item.name] = item.imgUrls;
// } else {
// formObject[item.name] = item.value;
// }
// });
// formData.push(formObject);
let json = {
form_data: formData,
form_id: this.data.form_id,
"form_type": "register"
};
let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.save-diy-form-data");
app._postNetWork({
url: urlStr,
showToastIn: false,
data: json,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
wx.showToast({
title: '绑定成功',
icon: 'none',
duration: 1500,
success: function () {
setTimeout(function () {
that.gotourl();
//要延时执行的代码
}, 1500); //延迟时间
},
});
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
}
},
fail: function (res) { }
});
},
gotourl() {
let that = this;
if (that.data.fromApp != 0 && that.data.fromApp != undefined) {
if (that.data.fromApp == 1) {
wx.reLaunch({
url: '/packageG/index/index'
});
} else if (that.data.fromApp == 2) {
// 会员修改手机进入
wx.reLaunch({
url: '/packageG/member_v2/member_v2'
});
} else if (that.data.fromApp == 3) {
//从邀请码进入
wx.navigateBack({
delta: 2
});
} else if (that.data.fromApp == 4) {
wx.reLaunch({
url: '/packageG/pages/member/extension/extension'
});
} else if (that.data.fromApp == 5) {
wx.navigateBack({
delta: 3
});
}
} else if (!that.data.yzredirect) {
wx.navigateBack({
delta: 1,
fail:()=> {
wx.reLaunch({
url: '/packageG/index/index'
});
}
});
} else {
try {
wx.reLaunch({
url: '/' + that.data.yzredirect,
fail:()=> {
wx.reLaunch({
url: '/packageG/index/index'
});
}
});
} catch (e) {
wx.navigateBack({
delta: 1,
fail:()=> {
wx.reLaunch({
url: '/packageG/index/index'
});
}
});
}
}
},
bindDateChange: function (e) {
let idx = e.target.dataset.idex;
let time = e.detail.value;
this.setData({
["diydata[" + idx + "].value"]: time,
["diydata[" + idx + "].timeShow"]: false,
date: time
});
},
//获取经纬度
getCurrentOrderLocation() {
let that = this;
wx.getLocation({
type: 'gcj02',
success: (res) => {
console.log("userLocationFlag", res);
const latitude = res.latitude;
const longitude = res.longitude;
app.getReverseGeocoder(latitude,longitude).then(function (res) {
console.log("userLocationFlag", res);
let mapdata = res;
let recommend = mapdata.address_component;
let orderLocationObj = {
positioning_success: 1,
register_province: recommend.province,
register_city: !app._isTextEmpty(recommend.city) ? recommend.city : recommend.province
};
that.data.orderLocationObj = orderLocationObj;
}).catch(function(err){
console.log(err);
});
}
});
},
//根据经纬度转换具体地址名称
_setOrderLocation(e) {
let that = this;
app.getReverseGeocoder(e.lat,e.lng).then(function (res) {
console.log("userLocationFlag", res);
let mapdata = res;
let recommend = mapdata.address_component;
let orderLocationObj = {
positioning_success: 1,
register_province: recommend.province,
register_city: !app._isTextEmpty(recommend.city) ? recommend.city : recommend.province
};
that.data.orderLocationObj = orderLocationObj;
}).catch(function(err){
console.log(err);
});
},
async checkAlbum(scopeName) {
let writePhotosAlbum = await this.getAuthSetting(scopeName);
return new Promise( (resolve, reject) => {
if (!writePhotosAlbum) {
wx.showModal({
title: '请开启授权',
content: '是否跳转设置页开启授权',
success(res) {
if (res.confirm) {
wx.openSetting({
success(settingdata) {
if (settingdata.authSetting[scopeName]) {
resolve(true);
} else {
resolve(false);
}
}
});
} else if (res.cancel) {
resolve(false);
}
},
fail: () => {
resolve(false);
}
});
} else resolve(true);
});
},
getAuthSetting(authName) {
return new Promise((resolve, reject) => {
wx.getSetting({
success(res) {
if (!res.authSetting[authName]) {
wx.authorize({
scope: authName,
success() {
resolve(true);
},
fail() {
resolve(false);
}
});
} else resolve(true);
},
fail() {
resolve(false);
}
});
});
},
tips(msg) {
wx.showToast({
title: msg,
icon: 'none',
duration: 2000
});
return false;
},
realnameInp(e){
let key = e.detail.value;
this.setData({
'form.realname':key
});
},
SetPwdClick () {
this.setData({
visibleSet: !this.data.visibleSet
});
},
surePwdClick () {
this.setData({
visibleSure: !this.data.visibleSure
});
},
});