对接数据前的准备(采用的是jquery的方式开发)
程序员文章站
2022-06-21 14:50:47
...
// 1.0 设置页面数据
var pagedata = {
uid: '', // 用户id
gdstatus: '', // 工单类型 代收工,进行中,已完成
page: 0
}
// 2.0实现切换效果(获取分类状态)
cateTab()
function cateTab() {
$('#header .tabitem').click(function () {
$(this).addClass('active').siblings('.tabitem').removeClass('active')
pagedata.page = 0
var sta = $(this).data('sta')
})
}
// 3.0 获取数据
function getLists(sta) {
var res = request({ // request 为封装好的请求方法
url:'xxx',
data: {
user_id: '', // 用户id
gdstatus:'', // 工单状态
page: pagedata.page
}
})
if (!res) {
weui.alert('网络请求失败')
} else {
renderList(res.data)
}
}
// 4.0 渲染器列表
function renderList (data) {
}
// 5.0 加载更多(page+1,重新获取数据,重新渲染)
function loadmore() {
}
config.js是项目配置文件,配置主域名,封装请求方法,定义常用的方法操作,如去除字符串前后空格,手机校验,维修登录等等
var baseULR = 'https://jxyy.gzqqwl.com/index';
function request(options) {
var res = ''
$.ajax({
url: `${baseULR}/${options.url}`,
type: options.type || 'GET',
data: options.data || {},
async: false,
success: resutlt => {
res = resutlt
},
error: erro => {
console.log('网络请求失败')
res = false
}
})
return res;
}
String.prototype.regexptel = function () { // 手机校验
return /^1[3456789]\d{9}$/.test(this)
}
String.prototype.spacetrim = function () { // 去除字符串的前后空格
return this.replace(/(^\s*)|(\s*$)/g, "")
}
String.prototype.fluterdate = function() { // 去除字符串的中文
console.log(this.replace(/[\u4e00-\u9fa5]{1}$/,''))
return this.replace(/[\u4e00-\u9fa5]{1}$/g,'')
}
document.body.onscroll = function (e) {
if (document.documentElement.clientHeight - document.body.clientHeight > 0) {
$('weui-mask.weui-animate-fade-in').css('top', document.documentElement.clientHeight - document.body.clientHeight + (document.body.clientHeight / 2))
}
}
function getUrlParam(name) { // 获取url中的参数
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
} else {
return null;
}
}
window.onload = function () {
// window.localStorage.removeItem('openid')
// window.localStorage.removeItem('loginStorage')
// 获取openid
wxlogin();
orgin();
}
function wxlogin() {
if (isWeiXin()) {
$.getUrlParam = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
var openid = ''
if (window.localStorage.getItem('openid') != null && window.localStorage.getItem('openid') != undefined) { //存在openid
openid = window.localStorage.getItem('openid');
} else {
openid = $.getUrlParam('openid');
// weui.alert(openid)
if (openid == '' || openid == null || openid == undefined) {
var siteurl = request({
url: 'login/urlencode',
data: {}
})
window.location.href = baseULR + '/login/wxlogin?url=' + siteurl.data;
return;
} else {
window.localStorage.setItem('openid', openid)
}
}
// 获取用户信息
var userinfo = window.localStorage.getItem('loginStorage')
if(!userinfo){
var result = request({
url: 'login/login',
data: {
openid: openid
}
})
if (result.error === 0) { // 成功获取用户信息
window.localStorage.setItem('loginStorage', JSON.stringify(result))
}
}
}
}
function isWeiXin() {
//window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,这个属性可以用来判断浏览器类型
var ua = window.navigator.userAgent.toLowerCase();
console.log(ua)
//通过正则表达式匹配ua中是否含有MicroMessenger字符串
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
return true;
} else {
weui.alert('请在微信中打开')
return false;
}
}
function orgin() { // 键盘弹出时 底部栏的隐藏
var clientHeight = document.documentElement.clientHeight || document.body.clientHeight;
$(window).on('resize', function (e) {
var nowClientHeight = document.documentElement.clientHeight || document.body.clientHeight;
if (clientHeight > nowClientHeight) {
$('#footer').hide()
$('.save').hide()
} else {
$('#footer').show()
$('.save').show()
}
});
}
上一篇: 前端页面实现自适应