// pages/login/login.js
|
|
|
|
var network = require("../../utils/net.js");
|
|
var app = getApp();
|
|
var openID;
|
|
|
|
var isBindedPath = '/MainSystem/B3MiniProgramRpc/XuRpcs/Customer/AccountRpc/IsBinded';
|
|
var bindByPhone = '/MainSystem/B3MiniProgramRpc/XuRpcs/Customer/AccountRpc/XuBindByPhone';
|
|
var isBindWeixinPath = '/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/IsBindWeixinMP';
|
|
var getOpenIdByCode = '/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/GetMiniOpenIdByCode';
|
|
var bindPath = "/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/Bind";
|
|
var getBindCustomer = '/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/GetBindCustomer';
|
|
var getCookie = '/MainSystem/MainSystem/Auth/WeixinLogin';
|
|
var getCustomerList = '/MainSystem/B3WeChatMiniProgram/Rpcs/CustomerRpc/GetList';
|
|
/**
|
|
* 获取绑定客户ID及用户电话 参数1、appID 2、openID
|
|
* 返回值globalCustomerID,WeixinUser_Phone
|
|
* 成功调用获取cookie方法及判断是否绑定成功方法
|
|
*/
|
|
function GetBindCustomer(that) {
|
|
let method = getBindCustomer;
|
|
let params = [app.globalData.appID, app.globalData.openID];
|
|
network.requestLoading(method, params, function (res) {
|
|
if (res.result != null) {
|
|
app.globalData.globalCustomerID = res.result.ID;
|
|
app.globalData.phoneNum = res.result.WeixinUser_Phone;
|
|
// 获取cookie值
|
|
WeixinLogin(function (res) {
|
|
// 判断是否绑定成功 参数openid 返回值phoneNum
|
|
IsBinded(app.globalData.openID);
|
|
});
|
|
}
|
|
})
|
|
}
|
|
/**
|
|
* 判断是否绑定成功 参数openid
|
|
* 返回值phoneNum
|
|
* 成功调用是否关注公众号方法
|
|
*/
|
|
function IsBinded(openid) {
|
|
let method = isBindedPath;
|
|
let params = [openid];
|
|
network.transfer_request(method, params, function (res) {
|
|
if (res.result != "") {
|
|
app.globalData.phoneNum = res.result;
|
|
// 判断是否关注公众号
|
|
IsBindWeixinMP(app.globalData.phoneNum)
|
|
}
|
|
})
|
|
}
|
|
// 判断是否关注公众号 参数phone 返回值bool 成功进入首页
|
|
function IsBindWeixinMP(phone) {
|
|
let method = isBindWeixinPath;
|
|
let params = [phone];
|
|
network.requestLoading(method, params, function (res) {
|
|
// res.result = false;
|
|
if (res.result == true) {
|
|
wx.switchTab({
|
|
url: '/pages/homePage/homePage',
|
|
})
|
|
} else {
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: '请关注公众号',
|
|
showCancel: false,
|
|
})
|
|
}
|
|
})
|
|
}
|
|
// 获取cookie值 参数1、appID 2、openID
|
|
function WeixinLogin(successtion) {
|
|
let method = getCookie;
|
|
let params = [app.globalData.appID, app.globalData.openID];
|
|
network.transfer_request(method, params, function (res) {
|
|
app.globalData.cookie = res.result;
|
|
successtion();
|
|
})
|
|
}
|
|
//绑定中转服务器客户对应信息 成功判断是否关注公众号
|
|
function Bind(that) {
|
|
let userInfos = app.globalData.userInfo
|
|
let method2 = bindPath;
|
|
let params2 = [{
|
|
"AppId": app.globalData.appID,
|
|
"OpenId": app.globalData.openID,
|
|
"Phone": that.data.phoneNum,
|
|
"NickName": userInfos.nickName,
|
|
"Sex": userInfos.gender,
|
|
"Province": userInfos.province,
|
|
"City": userInfos.city,
|
|
"Country": userInfos.country,
|
|
"HeadImgUrl": userInfos.avatarUrl,
|
|
"UnionId": "",
|
|
"CustomerId": app.globalData.globalCustomerID
|
|
}];
|
|
network.requestLoading(method2, params2, function (res) {
|
|
if (res.result == true) {
|
|
IsBindWeixinMP(app.globalData.phoneNum)
|
|
}
|
|
})
|
|
}
|
|
|
|
Page({
|
|
data: {
|
|
phoneNum: "",
|
|
index: 0,
|
|
customerArray: [{
|
|
ID: 0,
|
|
Name: "请选择所属客户"
|
|
}],
|
|
},
|
|
|
|
// 客户列表变更选项信息
|
|
listenerPickerSelected: function (e) {
|
|
this.setData({
|
|
index: e.detail.value,
|
|
});
|
|
app.globalData.globalCustomerID = this.data.customerArray[this.data.index].ID;
|
|
},
|
|
|
|
// 页面生命周期函数
|
|
onShow: function () {
|
|
var that = this;
|
|
//由登录页面进入详情页变更值为0;分享直接进入为1
|
|
app.globalData.shareInState = 0;
|
|
wx.login({
|
|
success: function (res) {
|
|
let code = res.code;
|
|
let method = getOpenIdByCode;
|
|
let params = [app.globalData.appID, code];
|
|
// 获取openID
|
|
network.requestLoading(method, params, function (res) {
|
|
app.globalData.openID = res.result;
|
|
// 获取绑定客户ID及用户电话
|
|
GetBindCustomer(that)
|
|
})
|
|
}
|
|
});
|
|
|
|
// 获取客户列表
|
|
let method = getCustomerList;
|
|
let params = [];
|
|
network.requestLoading(method, params, function (res) {
|
|
if (res.result.length > 0) {
|
|
var lastArr = that.data.customerArray.concat(res.result)
|
|
that.setData({
|
|
customerArray: lastArr,
|
|
})
|
|
}
|
|
})
|
|
|
|
},
|
|
|
|
// 电话输入框
|
|
getPhone: function (e) {
|
|
let val = e.detail.value;
|
|
this.data.phoneNum = val;
|
|
},
|
|
|
|
// 获取授权 成功 绑定信息到客户服务器 回调函数绑定中转服务器
|
|
getUserInfo: function (e) {
|
|
var that = this;
|
|
if (e.detail.userInfo != null) {
|
|
app.globalData.userInfo = e.detail.userInfo
|
|
if (that.data.customerArray[that.data.index].ID == 0) {
|
|
wx.showToast({
|
|
title: '请选择所属客户',
|
|
})
|
|
return false;
|
|
}
|
|
if (this.data.phoneNum == "") {
|
|
wx.showToast({
|
|
title: '请输入手机号码',
|
|
})
|
|
return false;
|
|
} else if (!(/^1[34578]\d{9}$/.test(this.data.phoneNum))) {
|
|
wx.showToast({
|
|
title: '号码不正确',
|
|
})
|
|
return false;
|
|
}
|
|
let userInfos = app.globalData.userInfo
|
|
let method = bindByPhone;
|
|
let params = [{
|
|
"OpenId": app.globalData.openID,
|
|
"Phone": this.data.phoneNum,
|
|
"NickName": userInfos.nickName,
|
|
"Sex": userInfos.gender,
|
|
"Province": userInfos.province,
|
|
"City": userInfos.city,
|
|
"Country": userInfos.country,
|
|
"HeadImgUrl": userInfos.avatarUrl,
|
|
"UnionId": ""
|
|
}];
|
|
network.transfer_request(method, params, function (res) {
|
|
if (res.result != null) {
|
|
app.globalData.phoneNum = that.data.phoneNum;
|
|
// 判断是否绑定成功
|
|
Bind(that)
|
|
}
|
|
})
|
|
} else {
|
|
wx.showModal({
|
|
title: '授权提示',
|
|
content: '请给予权限,不涉及个人隐私',
|
|
showCancel: false
|
|
})
|
|
}
|
|
},
|
|
})
|