// var baseURL = 'http://dsc-b.vchangyi.com/party/phpapi'; // var baseURL = 'https://yq.vchangyi.com/party/phpapi'; var baseURL = 'http://party.vchangyi.com/phpapi'; // 页面数据绑定操作 var action = { // 是否开始签到 isRun : 0, init : function() { this.initBarrage(); // var WECHAT_JS_SIGN_URL = '/api.WechatJsSign.php'; // var USER_DETAIL_URL = '/api.UserDetail.php'; // // 获取微信jsapi签名 // baseRquest.get(WECHAT_JS_SIGN_URL, {'url' : location.href}, action.sign); // // 用户信息 // baseRquest.get(USER_DETAIL_URL, {}, action.userDetail); }, // 签到 signIn: function() { var realname = $('.sign-input').val().replace( /^\s*/, '') if (!realname) { return; } var url = baseURL + '/apicp.SignIn.php'; var data = { realname: realname }; var callback = function() { $('.sign-input').val(''); this.goPic(); }; // baseRquest.post(url, data, callback); this.goPic(); }, // 配置微信jsapi config,回调触发 sign: function(data) { wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: data.appId, // 必填,公众号的唯一标识 timestamp: data.timestamp, // 必填,生成签名的时间戳 nonceStr: data.nonceStr, // 必填,生成签名的随机串 signature: data.signature,// 必填,签名 jsApiList: ['chooseImage','uploadImage','getLocalImgData','downloadImage','getLocation'] // 必填,需要使用的JS接口列表 }); }, // 回调触发,获取用户信息 userDetail : function(data) { // openid不存在 if (!data) { alert('数据异常,不要搞事情'); return; } // 如果数据中有isLogin,有登录流程 if (data.isLogin !== undefined) { location.href = baseURL + '/api.WechatAuth.php'; } action.isRun = 1; // 未提交过资料,展示开场 if (data.realname === undefined || data.realname == '') { $('#show').show(); $('#index').hide(); $('#detail').hide(); } else { // 提交过资料,展示个人信息 $('.detail-realname').html(data.realname); $('.detail-lottery-num').html('NO.' + data.id); $('.detail-head-img').attr('src', data.headimg); $('#show').hide(); $('#index').hide(); $('#detail').show(); } }, // 进入拍照页 goPic: function() { $('.sign-in').hide(); $('.pic').show(); }, goHome: function() { $('.home').show(); $('.pic').hide(); $('.seat').hide(); }, goSeat: function() { $('.seat').show(); $('.home').hide(); }, goVote: function() { $('.vote').show(); $('.home').hide(); }, submitVote: function() { $('.home').show(); $('.vote').hide(); }, // 打开摄像头 openCamera: function() { // if (action.isRun == 0) { // alert('尚未开启,请稍后尝试'); // return; // } wx.chooseImage({ count: 1, // 默认9 sizeType: ['compressed'], // 'original', 'compressed'指定是原图还是压缩图,默认都有 sourceType: ['camera', 'album'], // 'album', 'camera'指定来源是相册还是相机,默认都有 success: function(res) { var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 wx.uploadImage({ localId: localIds.toString(), // 需要上传的图片的ID,由chooseImage接口获得 isShowProgressTips: 1, // 进度提示 success: function (res) { var serverId = res.serverId; // 返回图片的服务器端ID,即mediaId $(".data-img").val(serverId); console.log(serverId); wx.downloadImage({ serverId: serverId, // 需要下载的图片的服务器端ID,由uploadImage接口获得 isShowProgressTips: 1, // 默认为1,显示进度提示 success: function (res) { var localId = res.localId; // 返回图片下载后的本地ID $('#show').hide(); $('#index').show(); $('#detail').hide(); action.wxgetLocalImgData(localId, 1); } }); }, fail: function (res) { alert('图片上传失败,请重试'); } }); } }); }, // 展示选中的图片 wxgetLocalImgData : function(e,num){ var headimg = $(".head-img-show"); if(window.__wxjs_is_wkwebview){ wx.getLocalImgData({ localId: e, // 图片的localID success: function (res) { var localData = res.localData; // localData是图片的base64数据,可以用img标签显示 localData = localData.replace('jgp', 'jpeg'); //iOS 系统里面得到的数据,类型为 image/jgp,因此需要替换一下 $(headimg).attr("src", localData); }, fail:function(res){ alert("显示失败"); } }); }else{ $(headimg).attr("src", e); } }, // 提交签到申请 submit : function(){ var mediaId = $(".data-img").val(); var realname = $(".data-realname").val().replace( /^\s*/, ''); if (realname == '' || mediaId == '' || realname == '姓名:陈独秀') { alert('提交的资料数据不完整'); return; } wx.getLocation({ type: 'gcj02', success: (res) => { console.log(res); let latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90 let longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。 let data = { mediaId : mediaId, realname : realname, latitude : latitude, longitude : longitude } // 提交签到 let ADD_USER_URL = '/api.AddUser.php'; baseRquest.post(ADD_USER_URL, data, this.addUserResult); } }); }, // 增加成功,重新加载页面,进入用户详情页 addUserResult : function(data) { console.log(data); let url = window.location.href; //获取当前url let key = '?t='; if (url.indexOf("?") > 0) { key = '&t='; } location.href = url + key + (new Date()).valueOf(); }, // 投票 vote : function(){ let VOTE_URL = '/api.Vote.php'; baseRquest.get(VOTE_URL, {a:'a'}, (data)=>{ console.log(data); location.href = data.url; }); }, // 发送弹幕 initBarrage: function() { var socket = io('//192.168.10.158:3000'); $('.send-btn').on('click', function() { if ($('.barrage-input').val() != '') { socket.emit('barrage', $('.barrage-input').val()); $('.barrage-input').val(''); } }); }, resetPosition: function () { var currentPosition, timer; var speed = 1; // 页面滚动距离 timer = setTimeout(function() { currentPosition = document.documentElement.scrollTop || document.body.scrollTop; currentPosition -= speed; window.scrollTo(0, currentPosition); // 页面向上滚动 currentPosition += speed; window.scrollTo(0, currentPosition); // 页面向下滚动 clearTimeout(timer); }, 1); }, // 改变发送按钮状态 toggleBtnState: function() { if ($('.barrage-input').val()) { $('.send-btn').addClass('active'); } else { $('.send-btn').removeClass('active'); } }, switchDialog: function(isShow) { if (isShow) { $('.dialog-wrap').show() } else { $('.dialog-wrap').hide() } } } // api接口数据请求,数据交互引用的axios let baseRquest = { // get请求 get: function(url, params, callback) { axios.defaults.baseURL = baseURL; axios.get(url, { params : params }).then(function (response) { if (response.status == 200) { data = response.data; if (!!data) { // 过滤错误信息,统一抛出 if (data.errcode != 0 && data.errcode != 200) { alert(data.errmsg); } else { callback(data.result); } } }else { alert('get无法访问接口'); } }) .catch(function (error) { }); }, // post请求 post: function(url, params, callback) { axios.defaults.baseURL = baseURL; let data = new URLSearchParams(); Object.keys(params).forEach(function(key){ data.append(key, params[key]); }); axios.post(url, data,{headers: { 'Content-Type': 'application/x-www-form-urlencoded','Authorization':'123'}}) .then(function (response) { if (response.status == 200) { data = response.data; if (!!data) { // 过滤错误信息,统一抛出 if (data.errcode != 0 && data.errcode != 200) { alert(data.errmsg); } else { callback(data.result); } } }else { alert('post无法访问接口'); } }) .catch(function (error) { console.log(error); }); } }