// pages/login/login.js var network = require("../../utils/net.js"); var app = getApp(); var openID; var isBindedPath = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/AccountRpc/IsBinded'; var bindByPhone = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/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) { that.setData({ customerArray: res.result, }) } }) }, // 电话输入框 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 }) } }, })