/**
 * ## 1. 代码结构混乱，组织无序
- 导入语句不规范 ：使用花括号导入 baseUrl 和 baseApiUrl ，但文件开头没有明确的导出语句，依赖关系不清晰。
- 变量命名随意 ： methodsToken 命名晦涩，既不是驼峰也不是语义化命名，难以理解其用途。
- 代码组织混乱 ：工具函数、API 定义和常量混合在一起，缺乏模块化设计，可读性极差。
## 2. 语法错误和代码质量低下
- 语法错误 ：第11行存在多余逗号 'editMainBodyUser', , 'contribute', ，属于低级语法错误。
- 重复定义 ：第14行重复定义 'scanApplyVolunteer' ，表明代码编写时缺乏严谨性。
- 硬编码严重 ：多处使用硬编码 URL（如第438行 'https://huli-app.wenlvti.net/addons/cms/api' ），维护成本极高。
- 变量作用域问题 ：第154行在 if 块内重新定义 realurl 变量，但未使用，属于无效代码。
## 3. 安全性问题突出
- Token 处理不当 ：在请求头中同时传递 'token' 和 '__token__' （第64-65行），重复且可能暴露敏感信息。
- 缺乏参数验证 ：所有 API 调用均未对输入参数进行验证和过滤，容易受到注入攻击。
- HTTPS 支持不足 ：未强制使用 HTTPS，可能导致数据传输不安全。
- 错误处理不完善 ：第91-93行错误处理逻辑不完整，仅检查 error.response 但未处理其他错误情况。
## 4. 性能优化缺失
- 无缓存机制 ：所有请求均直接发送，未实现本地缓存，增加服务器负担。
- 无请求管理 ：缺乏请求防抖、节流和队列管理，可能导致重复请求和性能浪费。
- 无超时处理 ：所有请求均未设置超时时间，网络异常时可能导致请求无限等待。
- Promise 实现简陋 ： syncget 和 syncpost 函数的 Promise 实现过于简单，未处理异常情况。
## 5. 可维护性极差
- 函数参数过多 ： post 函数有5个参数，调用复杂度高，难以理解和维护。
- 注释缺失 ：除少量中文注释外，大部分代码无注释，特别是 API 调用的用途和参数说明。
- 导出方式不一致 ：有的使用 export const ，有的使用直接导出，风格不统一。
- 错误处理分散 ：不同函数的错误处理逻辑不一致，增加维护难度。
## 6. 功能实现不完整
- 请求头设置混乱 ： post 函数使用 'application/x-www-form-urlencoded' ，而 uploadImage 函数使用 'multipart/form-data' ，但其他函数可能需要不同的 Content-Type。
- 响应处理简单 ：仅在 post 函数中处理了登录失效的情况，其他错误情况处理不完善。
- API 定义重复 ：第404-405行注释掉的 getContentDetail 定义与第349-350行重复，表明代码管理混乱。
## 7. 代码风格不统一
- 缩进不一致 ：有的地方使用4空格缩进，有的地方使用2空格缩进。
- 空行使用不规范 ：函数之间和代码块之间的空行使用不一致。
- 注释风格混乱 ：有的使用单行注释，有的使用多行注释，且注释内容多为中文，不利于国际化协作。
- 变量命名风格不一致 ：有的使用驼峰命名，有的使用下划线命名，缺乏统一规范。
## 总结
api.js 文件是一个典型的"代码垃圾场"，集语法错误、安全隐患、性能问题和可维护性差于一身。它不仅难以理解和维护，还可能成为整个项目的性能瓶颈和安全漏洞来源。这样的代码质量，完全不符合现代前端开发的标准和最佳实践，亟需全面重构。## 1. 代码结构混乱，组织无序
- 导入语句不规范 ：使用花括号导入 baseUrl 和 baseApiUrl ，但文件开头没有明确的导出语句，依赖关系不清晰。
- 变量命名随意 ： methodsToken 命名晦涩，既不是驼峰也不是语义化命名，难以理解其用途。
- 代码组织混乱 ：工具函数、API 定义和常量混合在一起，缺乏模块化设计，可读性极差。
## 2. 语法错误和代码质量低下
- 语法错误 ：第11行存在多余逗号 'editMainBodyUser', , 'contribute', ，属于低级语法错误。
- 重复定义 ：第14行重复定义 'scanApplyVolunteer' ，表明代码编写时缺乏严谨性。
- 硬编码严重 ：多处使用硬编码 URL（如第438行 'https://huli-app.wenlvti.net/addons/cms/api' ），维护成本极高。
- 变量作用域问题 ：第154行在 if 块内重新定义 realurl 变量，但未使用，属于无效代码。
## 3. 安全性问题突出
- Token 处理不当 ：在请求头中同时传递 'token' 和 '__token__' （第64-65行），重复且可能暴露敏感信息。
- 缺乏参数验证 ：所有 API 调用均未对输入参数进行验证和过滤，容易受到注入攻击。
- HTTPS 支持不足 ：未强制使用 HTTPS，可能导致数据传输不安全。
- 错误处理不完善 ：第91-93行错误处理逻辑不完整，仅检查 error.response 但未处理其他错误情况。
## 4. 性能优化缺失
- 无缓存机制 ：所有请求均直接发送，未实现本地缓存，增加服务器负担。
- 无请求管理 ：缺乏请求防抖、节流和队列管理，可能导致重复请求和性能浪费。
- 无超时处理 ：所有请求均未设置超时时间，网络异常时可能导致请求无限等待。
- Promise 实现简陋 ： syncget 和 syncpost 函数的 Promise 实现过于简单，未处理异常情况。
## 5. 可维护性极差
- 函数参数过多 ： post 函数有5个参数，调用复杂度高，难以理解和维护。
- 注释缺失 ：除少量中文注释外，大部分代码无注释，特别是 API 调用的用途和参数说明。
- 导出方式不一致 ：有的使用 export const ，有的使用直接导出，风格不统一。
- 错误处理分散 ：不同函数的错误处理逻辑不一致，增加维护难度。
## 6. 功能实现不完整
- 请求头设置混乱 ： post 函数使用 'application/x-www-form-urlencoded' ，而 uploadImage 函数使用 'multipart/form-data' ，但其他函数可能需要不同的 Content-Type。
- 响应处理简单 ：仅在 post 函数中处理了登录失效的情况，其他错误情况处理不完善。
- API 定义重复 ：第404-405行注释掉的 getContentDetail 定义与第349-350行重复，表明代码管理混乱。
## 7. 代码风格不统一
- 缩进不一致 ：有的地方使用4空格缩进，有的地方使用2空格缩进。
- 空行使用不规范 ：函数之间和代码块之间的空行使用不一致。
- 注释风格混乱 ：有的使用单行注释，有的使用多行注释，且注释内容多为中文，不利于国际化协作。
- 变量命名风格不一致 ：有的使用驼峰命名，有的使用下划线命名，缺乏统一规范。
## 总结
api.js 文件是一个典型的"代码垃圾场"，集语法错误、安全隐患、性能问题和可维护性差于一身。它不仅难以理解和维护，还可能成为整个项目的性能瓶颈和安全漏洞来源。这样的代码质量，完全不符合现代前端开发的标准和最佳实践，亟需全面重构。
 */

import {
	baseUrl,
	baseApiUrl
} from './config.js';
import * as common from './common.js' //引入common
import * as db from './db.js' //引入common
// 需要登陆的，都写到这里，否则就是不需要登陆的接口
let methodsToken = ['profile', 'refreshUser', 'wxLogin', 'changeMobile', 'addCart',
	'previewOrder', 'getWuyuanUser', 'archives_post', 'get_channel_fields', 'get_channel', 'lists', 'details', 'daishenhe',
	'logOffVolunteer', 'getCrProperty', 'joinTeam', 'getTeamMember', 'getPatrolTask', 'claimCr',
	'getPatrolLog', 'claimCrList', 'claimCrDetails', 'editMainBodyUser', , 'contribute',
	'getPatrolTaskDetails', 'getContentDetail', 'examineVolunteer', 'userManageRegionCrAuth', 'applyVolunteer',
	'getPhoneNumber', 'editApplyVolunteer', 'mobileBindVolunteer', 'getTeamDetails', 'examineTask', 'removeMemberm',
	'getScoreLog', 'getMainBodyColumnContentList', 'regionData', 'cityData', 'checkIn', 'scanApplyVolunteer', 'scanApplyVolunteer',
	'getMainBodyUser', 'getUserContribute', 'getUserHonor', 'submitTask', 'exportPatrolRecord', 'userManageCrAuth',
	'getDevices', 'submitIdentityInfo', 'submitActivitySignupInfo','getUserSignupActivity', 'getUserSignupActivityDetails'
];
const post = (method, data, callback, type, orgurl) => {
	//填入默认主体id为1
	data.main_body_id = 1;
	let userToken = '';
	let auth = '';
	// 判断token是否存在
	console.log("method: ", method);
	if (methodsToken.indexOf(method) >= 0) {
		// 获取用户token
		let auth = db.get("auth");
		// console.log(auth);
		let nowdate = (new Date()) / 1000; //当前时间戳
		//新增用户判断是否登录逻辑begin
		common.isLogin();
		//新增用户判断是否登录逻辑end
		if (!auth || auth.createtime + auth.expires_in < nowdate) {
			common.toLogin();
			return false;
		} else {
			userToken = auth.token;
		}
	}

	if (type) {
		method = type + '/' + method
	} else {
		method = '/' + method
	}

	let realurl = baseApiUrl + method;

	if (orgurl) {
		realurl = baseUrl + orgurl;
	}


	uni.showLoading({
		title: '',
		icon: 'loading'
	});
	uni.request({
		url: realurl,
		data: data,
		header: {
			'Accept': 'application/json',
			'Content-Type': 'application/x-www-form-urlencoded',
			'token': userToken,
			'__token__': userToken

		},
		method: 'POST',
		success: (response) => {
			uni.hideLoading();
			const result = response.data
			if (result.msg == 'Please login' || result.msg == '请登陆') {
				db.del("user");
				db.del("auth");
				console.log('未登陆')
				uni.showToast({
					title: result.msg,
					icon: 'none',
					duration: 2000,
					complete: function() {
						uni.reLaunch({
							url: '/pages/index/index',
						})
					}
				});
			}
			callback(result);
		},
		fail: (error) => {
			uni.hideLoading();
			if (error && error.response) {
				showError(error.response);
			}
		},
	});
}

// 上传图片
export const uploadImage = (method, data = {}, callback, num = 9, type) => {
	if (type) {
		method = type + '/' + method
	} else {
		method = method
	}
	let userToken = '';
	let auth = db.get("auth");
	userToken = auth.token;
	uni.chooseImage({
		count: num,
		success: (res) => {
			uni.showLoading({
				title: '上传中...'
			});
			let tempFilePaths = res.tempFilePaths
			for (var i = 0; i < tempFilePaths.length; i++) {
				data.file = tempFilePaths[i]
				uni.uploadFile({
					url: baseApiUrl + method,
					filePath: tempFilePaths[i],
					fileType: 'image',
					name: 'file',
					headers: {
						'Accept': 'application/json',
						'Content-Type': 'multipart/form-data',
						'token': userToken
					},
					formData: data,
					success: (uploadFileRes) => {
						callback(JSON.parse(uploadFileRes.data))
					},
					fail: (error) => {
						if (error && error.response) {
							common.showError(error.response);
						}
					},
					complete: () => {
						setTimeout(function() {
							uni.hideLoading();
						}, 250);
					},
				});
			}
		}
	});
}

const get = (url, callback) => {
	uni.showLoading({
		title: '加载中'
	});
	let realurl = baseUrl + url;

	if (url.indexOf('http:') >= 0 || url.indexOf('https:') >= 0) {
		let realurl = url;
	}
	uni.request({
		url: realurl,
		header: {
			'Accept': 'application/json',
			'Content-Type': 'application/x-www-form-urlencoded', //自定义请求头信息
		},
		method: 'GET',
		success: (response) => {
			callback(response.data);
		},
		fail: (error) => {
			if (error && error.response) {
				showError(error.response);
			}
		},
		complete: () => {
			setTimeout(function() {
				uni.hideLoading();
			}, 250);
		}
	});
}

const showError = error => {
	let errorMsg = ''
	switch (error.status) {
		case 400:
			errorMsg = '请求参数错误'
			break
		case 401:
			errorMsg = '未授权，请登录'
			break
		case 403:
			errorMsg = '跨域拒绝访问'
			break
		case 404:
			errorMsg = `请求地址出错: ${error.config.url}`
			break
		case 408:
			errorMsg = '请求超时'
			break
		case 500:
			errorMsg = '服务器内部错误'
			break
		case 501:
			errorMsg = '服务未实现'
			break
		case 502:
			errorMsg = '网关错误'
			break
		case 503:
			errorMsg = '服务不可用'
			break
		case 504:
			errorMsg = '网关超时'
			break
		case 505:
			errorMsg = 'HTTP版本不受支持'
			break
		default:
			errorMsg = error.msg
			break
	}
	uni.showToast({
		title: errorMsg,
		icon: 'none',
		duration: 2000
	});
}



const syncget = (url, data) => {
	return new Promise(function(resolve, reject) {
		get(url + queryParams(data, true), (result) => {
			try {
				resolve(result);
			} catch (e) {
				reject(e);
			}
		})
	})

}

const syncpost = (f, m, d) => {
	return new Promise(function(resolve, reject) {
		post(f, d, (result) => {
			try {
				resolve(result);
			} catch (e) {
				reject(e);
			}
		}, m, m);
	})

}
// 登录
export const third = (data, callback) => post('third', data, callback, 'content/main_body_user');
// 用户绑定手机
export const bindphone = (data, callback) => post('bind', data, callback, 'discover/User');
// 修改用户信息
export const profile = (data, callback) => post('profile', data, callback, 'discover/User');
// 发送验证码
export const sendSmsVerify = (data, callback) => post('sendSmsVerify', data, callback, 'discover/User');
// 刷新用户
export const refreshUser = (data, callback) => post('refreshUser', data, callback, 'content/main_body_user');

// 注册
export const register = (data, callback) => post('register', data, callback, 'discover/User');
// 登录
export const login = (data, callback) => post('login', data, callback, 'discover/User');
// 退出登录
export const logout = (data, callback) => post('logout', data, callback, 'discover/User');
// 上传头像
export const upload = (data, callback) => post('upload', data, callback, 'discover/Ajax');

// 绑定手机
export const changeMobile = (data, callback) => post('changeMobile', data, callback, 'discover/User');

//获取手机号前先登录
export const wxLogin = (data, callback) => post('wxLogin', data, callback, 'user');
//获取手机号
// export const getMobile = (data, callback) => post('getPhoneNumber', data, callback, 'user');
//取CMS配置
export const getConfig = async (params = {}) => await syncget('addons/cms/api.common/init', params);


function queryParams(data = {}, isPrefix = true, arrayFormat = 'brackets') {
	//填入默认主体id为1
	data.main_body_id = 1;
	let prefix = isPrefix ? '?' : ''
	let _result = []
	if (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets';
	for (let key in data) {
		let value = data[key]
		// 去掉为空的参数
		if (['', undefined, null].indexOf(value) >= 0) {
			continue;
		}
		if (value.length > 0) {
			value = value.replace(/%/g, "%25");
			value = value.replace(/\&/g, "%26");
			value = value.replace(/\+/g, "%2B");
		}

		// 如果值为数组，另行处理
		if (value.constructor === Array) {
			// e.g. {ids: [1, 2, 3]}
			switch (arrayFormat) {
				case 'indices':
					// 结果: ids[0]=1&ids[1]=2&ids[2]=3
					for (let i = 0; i < value.length; i++) {
						_result.push(key + '[' + i + ']=' + value[i])
					}
					break;
				case 'brackets':
					// 结果: ids[]=1&ids[]=2&ids[]=3
					value.forEach(_value => {
						_result.push(key + '[]=' + _value)
					})
					break;
				case 'repeat':
					// 结果: ids=1&ids=2&ids=3
					value.forEach(_value => {
						_result.push(key + '=' + _value)
					})
					break;
				case 'comma':
					// 结果: ids=1,2,3
					let commaStr = "";
					value.forEach(_value => {
						commaStr += (commaStr ? "," : "") + _value;
					})
					_result.push(key + '=' + commaStr)
					break;
				default:
					value.forEach(_value => {
						_result.push(key + '[]=' + _value)
					})
			}
		} else {
			_result.push(key + '=' + value)
		}
	}
	return _result.length ? prefix + _result.join('&') : ''
}


// 模型的主体栏目列表
export const getColumnList = (data, callback) => post('getColumnList', data, callback,
	'content/main_body_column');
// 内容详情
export const getContentDetail = (data, callback) => post('getContentDetail', data, callback,
	'content/content');
// 模型内容列表
export const getContentList = (data, callback) => post('getContentList', data, callback,
	'content/content');
// 扫码报名列表
export const getScanContentList = (data, callback) => post('getScanContentList', data, callback,
	'content/content');
// 需求岗位统计
export const getVolunteerNumber = (data, callback) => post('getVolunteerNumber', data, callback,
	'content/content');
// 区域岗位信息
export const getVolunteerCrInfo = (data, callback) => post('getvolunteercrinfo', data, callback,
	'content/content');
// 模型主体栏目的内容列表
export const getMainBodyColumnContentList = (data, callback) => post('getMainBodyColumnContentList', data, callback,
	'content/content');
// 培训分类列表
export const getCategoryList = (data, callback) => post('getCategoryList', data, callback, '',
	'addons/yuneducation/course/getCategoryList');
// 学院底部课程
export const getHomeData = (data, callback) => post('getHomeData', data, callback, '',
	'addons/yuneducation/page/getHomeData');
// 课程界面数据
export const getCourseList = (data, callback) => post('getCourseList', data, callback, '',
	'addons/yuneducation/course/getCourseList');
// 课程详情
export const getCourseDetail = (data, callback) => post('getCourseDetail', data, callback, '',
	'addons/yuneducation/course/getCourseDetail');
// 获取课程考核
export const getCourseExamine = (data, callback) => post('getCourseExamine', data, callback, '',
	'addons/yuneducation/course/getCourseExamine');
// 课程开始学习
export const startLearn = (data, callback) => post('startLearn', data, callback, '',
	'addons/yuneducation/course/startLearn');
// 加入购物车
export const addCart = (data, callback) => post('addCart', data, callback, '',
	'addons/yuneducation/order/addCart');
// 预览订单
export const previewOrder = (data, callback) => post('previewOrder', data, callback, '',
	'addons/yuneducation/order/previewOrder');
// 提交订单
export const submitOrder = (data, callback) => post('submitOrder', data, callback, '',
	'addons/yuneducation/order/submitOrder');
// 移除购物车
export const removeCart = (data, callback) => post('removeCart', data, callback, '',
	'addons/yuneducation/order/removeCart');
// 讲师详情
export const getTeacherDetail = (data, callback) => post('getTeacherDetail', data, callback, '',
	'addons/yuneducation/teacher/getTeacherDetail');
// 获取培训列表
export const getScheduleList = (data, callback) => post('getScheduleList', data, callback, '',
	'addons/yuneducation/schedule/getScheduleList');
// 获取培训详情

export const getScheduleDetail = (data, callback) => post('getScheduleDetail', data, callback, '',
	'addons/yuneducation/schedule/getScheduleDetail');
// 培训开始学习
export const scheduleStartLearn = (data, callback) => post('startLearn', data, callback, '',
	'addons/yuneducation/schedule/startLearn');
// 获取我的课程列表
export const getMineCourseList = (data, callback) => post('getMineCourseList', data, callback, '',
	'addons/yuneducation/course/getMineCourseList');
// 试播
// export const getContentDetail = (data, callback) => post('getContentDetail', data, callback, '',
// 	'addons/yuneducation/course/getContentDetail');
//获取栏目
export const getChannel = async (params = {}) => await syncpost('get_channel', '/addons/cms/api.archives/get_channel',
	params);

//我发的文章
export const myArchives = async (params = {}) => await syncpost('my', '/addons/cms/api.archives/my', params);
// 文物管理相关
//场馆详情页获取管理员权限
export const userManageCrAuth = (data, callback) => post('userManageCrAuth', data, callback, 'auth/user_manage_cr');
export const getDevices = (data, callback) => post('getDevices', data, callback, 'zhoujie/device');
//取文巡查记录
export const getPatrolLog = (data, callback) => post('getPatrolLog', data, callback, 'wuyuan/volunteer');
//取文物详情
export const getCulturalDetails = (data, callback) => get('api/wuyuan/cultural_relic/details' + queryParams(data, true),
	callback);
// 文物管理相关end
//取轮播图
export const getBannerList = (data, callback) => get('/api/wuyuan/swiper_icon/lists' + queryParams(data, true),
	callback);
// //人物列表 传 type参数类型:inheritor=非遗传承人,history=历史人物,folklore=民俗学者,specialist=文史专家
// export const getPeopleList = (data, callback) => get('api/wuyuan/biographies/lists' + queryParams(data, true), callback);
// //人物详情
// export const getPeopleDetails = (data, callback) => get('api/wuyuan/biographies/details' + queryParams(data, true), callback);
// 获取用户信息
export const getMainBodyUser = (data, callback) => post('getMainBodyUser', data, callback,
	'content/main_body_user/getMainBodyUser');
//修改头像
export const editMainBodyUser = (data, callback) => post('editMainBodyUser', data, callback,
	'content/main_body_user');
//取任务列表
export const getTaskList = (data, callback) => post('lists', data, callback, 'wuyuan/task');

//取法律文章列表
export const getArchives = async (params = {}) => await syncget('https://huli-app.wenlvti.net/addons/cms/api', params);

// 积分信息
export const getWuyuanUser = (data, callback) => post('getWuyuanUser', data, callback, 'wuyuan/user');
//取文物分类 参数传type类型
export const getCulturalRelicCategory = (data, callback) => get('api/content/category/getCategoryList' + queryParams(
	data,
	true), callback);
//取级联分类
export const getCategoryCascadeList = (data, callback) => get('api/content/category/getCategoryCascadeList' +
	queryParams(
		data, true), callback);
// 投稿
export const contribute = (data, callback) => post('contribute', data, callback, '',
	'api/content/style/contribute');
//取文物场景列表
export const getCulturalRelic = (data, callback) => get('api/content/cultural_relic/lists' + queryParams(data, true),
	callback);
// 志愿报名
export const applyVolunteer = (data, callback) => post('applyVolunteer', data, callback, '',
	'api/volunteer/volunteer/applyVolunteer');
// 志愿者列表
export const lists = (data, callback) => post('lists', data, callback, '', 'api/volunteer/volunteer/lists');
// 志愿者详情
export const details = (data, callback) => post('details', data, callback, '', 'api/volunteer/volunteer/details');
//待审核志愿者数量
export const daishenhe = (data, callback) => post('daishenhe', data, callback, 'volunteer/volunteer');
// 注销志愿者
export const logOffVolunteer = (data, callback) => post('logOffVolunteer', data, callback, '',
	'api/volunteer/volunteer/logOffVolunteer');
// 志愿者巡查文物资产列表
export const getCrProperty = (data, callback) => post('getCrProperty', data, callback, '',
	'api/volunteer/patrol_property/getCrProperty');
// 加入志愿者团队
export const joinTeam = (data, callback) => post('joinTeam', data, callback, '',
	'api/volunteer/team_member/joinTeam');
// 获取团队成员列表
export const getTeamMember = (data, callback) => post('getTeamMember', data, callback, '',
	'api/volunteer/team/getTeamMember');
// 移除成员
export const removeMemberm = (data, callback) => post('removeMemberm', data, callback, '',
	'api/volunteer/team_member/removeMember');
// 获取志愿者任务列表
export const getPatrolTask = (data, callback) => post('getPatrolTask', data, callback, '',
	'api/volunteer/patrol_task/getPatrolTask');
// 获取任务列详情
export const getPatrolTaskDetails = (data, callback) => post('getPatrolTaskDetails', data, callback, '',
	'api/volunteer/patrol_task/getPatrolTaskDetails');
// 提交巡查任务
export const submitTask = (data, callback) => post('submitTask', data, callback, '',
	'api/volunteer/patrol_task/submitTask');
// 计算志愿者与文物点的距离
export const distanceCheck = (data, callback) => post('distanceCheck', data, callback, '',
	'api/volunteer/patrol_task/distanceCheck');

// 认领文物
export const claimCr = (data, callback) => post('claimCr', data, callback, '',
	'api/volunteer/claim_cr/claimCr');
// 认领文物列表
export const claimCrList = (data, callback) => post('claimCrList', data, callback, '',
	'api/volunteer/claim_cr/claimCrList');
// 认领文物详情暂未调用
export const claimCrDetails = (data, callback) => post('claimCrDetails', data, callback, '',
	'api/volunteer/claim_cr/claimCrDetails');
// 最新公告
export const getNotice = (data, callback) => post('getNotice', data, callback, '',
	'api/system/notice/getNotice');
// 区域
export const getCategoryOnlyChildList = (data, callback) => post('getCategoryOnlyChildList', data, callback, '',
	'api/content/category/getCategoryOnlyChildList');
// 志愿者审核
export const examineVolunteer = (data, callback) => post('examineVolunteer', data, callback, '',
	'api/volunteer/volunteer/examineVolunteer');
// 用户区域管理文物权限
export const userManageRegionCrAuth = (data, callback) => post('userManageRegionCrAuth', data, callback, '',
	'api/auth/user_manage_cr/userManageRegionCrAuth');
// 修改驳回志愿者信息
export const editApplyVolunteer = (data, callback) => post('editApplyVolunteer', data, callback, '',
	'api/volunteer/volunteer/editApplyVolunteer');
// 老志愿者手机号绑定志愿者
export const getPhoneNumber = (data, callback) => post('getPhoneNumber', data, callback, '',
	'api/volunteer/volunteer/getPhoneNumber');
// 手动绑定志愿者手机号
export const mobileBindVolunteer = (data, callback) => post('mobileBindVolunteer', data, callback, '',
	'api/volunteer/volunteer/mobileBindVolunteer');
// 提交任务审核
export const examineTask = (data, callback) => post('examineTask', data, callback, '',
	'api/volunteer/patrol_task/examineTask');
// 获取用户积分列表
export const getScoreLog = (data, callback) => post('getScoreLog', data, callback, '',
	'api/content/main_body_user/getScoreLog');
// 志愿者排行
export const rankingList = (data, callback) => post('rankingList', data, callback, '',
	'api/volunteer/volunteer/rankingList');

export const getVolunteerNotify = (data, callback) => post('getVolunteerNotify', data, callback, '',
	'api/volunteer/volunteer/getVolunteerNotify');

export const scanApplyVolunteer = (data, callback) => post('scanApplyVolunteer', data, callback, '',
	'api/volunteer/volunteer/scanApplyVolunteer');
  
	//活动相关
//活动主题详情
export const activityThemeDetails = (data, callback) => get('api/activity/theme/details' + queryParams(data, true), callback);
// 活动列表
export const activityLists = (data, callback) => get('api/activity/activity/lists' + queryParams(data, true),
	callback);
// 活动详情
export const activityDetails = (data, callback) => get('api/activity/activity/details' + queryParams(data, true),
	callback);
// 活动日程列表
export const activityScheduleList = (data, callback) => get('api/activity/schedule/lists' + queryParams(data, true),
	callback);
// 活动报名参数
export const activitySignupParams = (data, callback) => get('api/activity/signup_params/lists' + queryParams(data, true),
	callback);
// 主体用户身份信息列表
export const getMemberList = (data, callback) => post('lists', data, callback, 'content/main_body_user_identity');
// 主体用户身份信息提交
export const submitIdentityInfo = (data, callback) => post('submitIdentityInfo', data, callback, 'content/main_body_user_identity');
// 主体用户身份信息提交
export const submitActivitySignupInfo = (data, callback) => post('submitActivitySignupInfo', data, callback, 'activity/signup');
// 获取志愿者宣讲员
export const getXuanjiangList = (data, callback) => get('api/volunteer/volunteer/getXuanjiangList' + queryParams(data, true), callback);
// 获取志愿者宣讲员详情
export const getXuanjiangDetails = (data, callback) => get('api/volunteer/volunteer/getXuanjiangDetails' + queryParams(data, true), callback);
// 获取用户报名活动列表
export const getUserSignupActivity = (data, callback) => post('getUserSignupActivity', data, callback, 'content/main_body_user');
// 获取用户报名活动详情
export const getUserSignupActivityDetails = (data, callback) => post('getUserSignupActivityDetails', data, callback, 'content/main_body_user');
	
	
	
// 志愿者排行详情
export const rankingDetails = (data, callback) => get('api/volunteer/volunteer/rankingDetails' + queryParams(data,
		true),
	callback);
// 区域数据统计
export const regionData = (data, callback) => post('regionData', data, callback, '',
	'api/volunteer/statistics/regionData');
// 市级数据统计
export const cityData = (data, callback) => post('cityData', data, callback, '',
	'api/volunteer/statistics/cityData');
// 新闻公告
export const getNewsNotice = (data, callback) => post('getNewsNotice', data, callback, '',
	'api/system/notice/getNewsNotice');
// 打卡
export const checkIn = (data, callback) => post('checkIn', data, callback, '',
	'api/content/main_body_user/checkIn');
// 活动报名
export const activitySignup = (data, callback) => post('activitySignup', data, callback, '',
	'api/activity/activity/activitySignup');
// 我的投稿
export const getUserContribute = (data, callback) => post('getUserContribute', data, callback, '',
	'api/content/main_body_user/getUserContribute');
// 我的荣誉
export const getUserHonor = (data, callback) => post('getUserHonor', data, callback, '',
	'api/content/main_body_user/getUserHonor');
// 轮播
export const getIndexBanner = (data, callback) => post('getIndexBanner', data, callback, '',
	'api/content/banner_function/getIndexBanner');
// 导出
export const exportPatrolRecord = (data, callback) => post('exportPatrolRecord', data, callback, '',
	'api/volunteer/patrol_task/exportPatrolRecord');