@lina
2021-10-27T11:01:11.000000Z
字数 23421
阅读 495
志多星
后台
1.0
- 【测试url】http://alpha.api.admin.volunteer.tmallwo.com/api/xxx
- 【线上url】待定
通过 session 来来鉴权,所以携带必要的 cookie 信息即可。
- POST请求Content-Type为:Content-Type:application/x-www-form-urlencoded
- 文件上传时Content-Type为:Content-Type:multipart/form-data
- 对于:Content-Type:application/json、:Content-Type:application/xml不保证完全支持,请谨慎使用
status
: [int] 服务器状态码,0 为正常状态,异常状态待定。msg
:[string] 返回信息。
data
: [object] 数据字段,所有响应数据都在此字段中data.rows
: [array],当返回数据为列表时会将数据放在该字段data.count
: [number] 当需要分页信息时,直接返回总数,前端自动分页。
示例1
{
status: 0,
data: {
id: 1,
key: value
}
}
示例2
{
status: 0,
data: {
rows: [
{
key: value
}
],
count: 100
}
}
通用图片上传文件服务
请求URL
POST
/api/image
请求参数
file
: 文件
响应
{
status: 0,
data: {
url: 'http://xxx',
info: {
len: 32023
}
}
}
url
: [string] 文件的访问URLinfo.len
: [number] 文件大小
sex
:[int]0: 未知
1: 男
2: 女
verify_status
:[int]-1: 未提审
0: 审核中
1: 通过
2: 驳回
in_blacklist
:[int]0: 不在
1: 在
jump_mode
: [int]0:不跳转
1:跳转项目
2:跳转团队
cond_type
: [string]
下面以value: label形式给出成就获取条件
pro_join
:参加项目次数
check_in
:签到打卡次数
reward
:累计志愿时长
pro_{服务类别}
:参加{服务类别}项目次数
pro_check_in_{服务类别}
:参加{服务类别}项目签到打卡次数
reward_{服务类别}
:参加{服务类别}项目累计志愿时长
pro_{服务对象}
:参加{服务对象}项目次数
pro_check_in_{服务对象}
:参加{服务对象}项目签到打卡次数
reward_{服务对象}
:参加{服务对象}项目累计志愿时长
互动社区的频率
frequency
: [string]
by_turn
:每次
by_day
: 每天
by_week
:每周
分享的频率
frequency
: [string]
ev_minute
:每分钟
ev_five_m
: 每五分钟
ev_ten_m
:每10
ev_thirty_m
:每30
ev_hour
:每小时
ev_three_h
:每3
ev_six_h
:每6
ev_twelve_h
:每12
ev_day
:每天
ev_three_d
:每3
ev_seven_d
:每7
ev_fifteen_d
:每15
ev_thirty_d
:每30
{
id: 123,
username: '梦里花落知多少',
phone: '15500000000',
avatars: 'http://image.com/1.jpeg',
real_name: '',
nation: '汉族',
sex: 0,
birthday: 2013-03-03,
identifier: '111',
slogan: '明天更美丽',
reward_time: 12.5,
num_type: 1,
id_number: 110101198803031321,
province_id: 12,
province_name: '河北',
city_id: 1212,
city_name: '保定',
county_id: 121212,
county_name: '望都县',
addr: 'xx路xx小区',
family_id: 0,
join_family_time: '2017-09-09 13:13:13',
good_at: [{}],
token:'aaaaaaa',
}
id
: [int] 用户IDusername
: [string] 用户名phone
: [string] 用户手机avatars
: [string] 头像real_name
: [string] 姓名nation
: [string] 民族sex
: [integer] 性别birthday
: [string] 生日identifier
: [string] 编号slogan
: [string] 口号reward_time
: [float] 奖励时长num_type
: [int] 证件类型 1内地 2香港 3澳门 4台湾 5护照id_number
: [string] 身份证号province_id
: [integer] 省份idprovince_name
: [string] 省份名称city_id
: [integer] 城市idcity_name
: [string] 城市名称county_id
: [integer] 区县idcounty_name
: [string] 区县名称addr
: [string] 地址family_id
: [integer] 家庭id,是否加入idjoin_family_time
: [string] 加入家庭时间good_at
: [array] 个人擅长token
: [string] token,用户登录态,仅登陆接口下发
{
id: 123,
name: '服务远征1号队',
slogan: '服务为名',
logo: 'http://image.com/1.jpg',
type: '企事业单位'
team_size: 111,
identifier: 'aaa',
contact_name: '张三',
contact_phone: '18866666666',
contact_addr: '某某省某某市',
parent_id: 13,
province_id: 12,
province_name: '河北',
city_id: 1212,
city_name: '保定',
county_id: 121212,
county_name: '望都县',
time_long: 12.5,
abstract: '团队市很棒的',
created_at: '2017-03-03',
category: @服务类别
join_status: 1,
jinyun_state:0,
jinyun_teamId:0,
jinyun_regDate:'2020-10-10',
jinyun_userSum:0,
jinyun_actSum:0,
jinyun_timeSum:0,
jinyun_description:0,
}
id
: [integer] IDname
: [string] 团队名称slogan
: [string] 口号logo
: [string] logotype
: [string] 类型team_size
: [integer] 团队人数identifier
: [string] 编号contact_name
: [string] 联系人contact_phone
: [string] 联系人手机contact_addr
: [string] 联系人地址parent_id
: [integer] 上级团队idprovince_id
: [integer] 省份idprovince_name
: [string] 省份名称city_id
: [integer] 城市idcity_name
: [string] 城市名称county_id
: [integer] 区县idcounty_name
: [string] 区县名称addr
: [string] 地址time_long
: [int] 累计时长abstract
: [string] 简介created_at
: [string] 创建时间category
: [object] @服务类别join_status
: [integer] 0审核中 1通过 2驳回, 团队详情页下发此字段jinyun_state
: [integer] 是否是津云团队 0不是 1是jinyun_teamId
: [integer] 津云团队IDjinyun_regDate
: [string] 津云团队注册时间jinyun_userSum
: [integer] 津云团队成员数jinyun_actSum
: [integer] 津云已结束活动数jinyun_timeSum
: [integer] 津云团队成员累计服务时长jinyun_description
: [string] 津云 团队介绍
{
id: 123,
name: '程序员慰问团',
photo: 'http://image.com/1.jpg',
content: '富文本',
identifier: '',
province_id: 1,
province_name: '河北',
city_id: 11,
city_name: '保定',
county_id: 11,
county_name: '望都',
addr: 'ssss',
lng: 123.123433,
lat: 40.984,
join_begin: '2017-09-09',
join_end: '2017-10-10',
begin: '2013-03-03 12:12:12',
end: '2013-03-03 12:12:12',
people_count: 133,
join_people_count: 13,
reward_time: 13.5,
activity_status: 1,
category: @服务类别
service_object: @服务对象
team: @团队信息
join_status: 1,
my_reward_time: 10,
jinyun_state: 1,
jinyun_actId: 1,
}
id
: [integer] 活动IDname
: [string] 活动名称photo
: [string] 列表大图content
: [string] 富文本内容province_id
: [integer] 省份idprovince_name
: [string] 省份名称city_id
: [integer] 城市idcity_name
: [string] 城市名称county_id
: [integer] 区县idcounty_name
: [string] 区县名称addr
: [string] 地址lng
: [float] 经度lat
: [float] 纬度join_begin
: [date] 开始报名时间join_end
: [date] 结束报名时间begin
: [datetime] 活动开始时间end
: [datetime] 活动结束时间people_count
: [integer] 活动人数join_people_count
: [integer] 参加活动人数reward_time
: [float] 活动时长/奖励时长activity_status
: [integer] 活动状态 1 招募中,2进行中 3已结束category
: [object] @服务类型service_object
: [object] @服务对象team
: [object] @团队信息join_status
: [integer] 0审核中 1通过 2驳回, 项目详情页下发此字段my_reward_time
: [float] 如加入才项目,则有值 否则为0jinyun_state
: [int] 津云标识jinyun_actId
: [int] 津云项目id
{
service_category_id: 123,
service_category_name: '赛事服务'
}
service_category_id
: [integer] 服务类型idservice_category_name
: [string] 类型名称
{
service_object_id: 123,
service_object_name: 'aaa',
}
service_object_id
: [integer] 活动IDservice_object_name
: [string] 运动员
{
id: 123,
title: '活动',
photo: 'http://image.com/111',
jump_mode: 1,
jump_id: 1,
type:1
}
id
: [integer] IDtitle
: [string] titlephoto
: [string] 图片地址jump_mode
: [integer] 跳转类型jump_id
: [integer] 跳转idtype
: [integer] banner类型 0:首页 1:商品
{
id: 123,
project: @项目信息
reward_time: 3.5,
content: '文字描述',
attachment: [],
verify_status: 1,
verify_msg: '通过',
}
id
: [integer] IDproject
: [object] @项目信息reward_time
: [float] 申请时长content
: [string] 申请内容attachment
: [array] 附件verify_status
: [integer] 审核状态verify_msg
: [string] 审核内容
{
id: 123,
type: 1,
content: '文字描述',
publish_time: '2019-08-03',
from_user: @用户信息
}
id
: [integer] IDtype
: [float] 类型 0全量消息,1单发消息content
: [string] 内容publish_time
: [string] 发布时间from_user
: [object] 发布人
{
id: 123,
username: 'admin',
phone: '15500000000',
avatars: 'http://image.com/1.jpeg',
real_name: ''
}
id
: [int] 用户IDusername
: [string] 用户名phone
: [string] 用户手机avatars
: [string] 头像real_name
: [string] 姓名
{
"id": 2,
"user_id": 0,
"name": "机构名称",
"type": "NGO组织",
"logo": "/uploads/2017-09/246251506503134.png",
"contact_name": "joh",
"contact_phone": "13100000000",
"contact_email": "snow@bite.me",
"contact_addr": {
"id": "110114",
"province": "北京市",
"city": "市辖区",
"district": "昌平区",
"address": "沙河医院"
},
"corporate_name": "snow",
"corporate_id": "431111111111111",
"corporate_phone": "13600000000",
"quality": "/uploads/2017-09/151651506503221.png",
"business_licence": "",
"in_blacklist": 0,
"created_at": "2017-09-27 17:07:08",
"updated_at": "2017-09-27 17:07:08",
"username": "",
"pwd": "",
"email": "",
"demand_category": "求助类别",
"demand_village": "求助城镇"
}
id
: [integer] 机构IDuser_id
: [int] 关联的用户 idname
: [string] 机构名称type
: [string] 机构类型logo
: [string] logocontact_name
: [string] 联系人contact_phone
: [string] 联系电话contact_email
: [string] 联系邮箱contact_addr
: [string] 联系地址corporate_name
: [string] 机构法人姓名corporate_id
: [string] 法人身份证号corporate_phone
: [string] 法人联系电话quality
: [string] 上传的资质照片in_blacklist
: [boolean] 是否禁用状态username
: [boolean] 关联用户名pwd
: [boolean] 关联用户密码
{
...@用户信息,
reward_time: 20.3,
project_count: 30
}
包含所有用户信息,同时还包含以下信息
reward_time
[float] 志愿总时长project_count
参与项目总数
{
"id": 1,
"org_id": 1,
"team_id": 0,
"g_name": "水杯",
"sponsor":"星巴克",
"thumbnail": "/uploads/2017-09/246251506503134.png",
"g_img": "/uploads/2017-09/246251506503134.png",
"content": "超级好用",
"access": "包你满意",
"type": 0,
"price": "180.00",
"points": 180,
"g_num": 10,
"u_num": 1,
"start_time": "2017-09-27",
"end_time": "2017-09-27",
"created_at": "2017-09-27 17:07:08",
"updated_at": "2017-09-27 17:07:08",
"auto_time": "2017-09-27 17:07:08",
"examine": 0,
"is_display": 1,
"condition":"女士,vip"
}
id
: [integer] 商品IDorg_id
: [integer] 关联的机构 idteam_id
: [integer] 关联的团队 idg_name
: [string] 商品名称sponsor
: [string] 供应商thumbnail
: [string] 小图g_img
: [string] 大图content
: [string] 商品描述access
: [string] 购买成功描述type
: [integer] 商品类型price
: [decimal] 市场价值points
: [integer] 消耗积分g_num
: [integer] 库存u_num
: [integer] 限制购买数量start_time
: [date] 开始时间end_time
: [date] 结束时间auto_time
: [datetime] 自动下架时间examine
: [integer] 是否审核is_display
: [integer] 上下架condition
: [string] 限制购买标签 英文,分割
{
"id": 1,
"order_num":"aaaaaa111111",
"org_id": 1,
"team_id": 0,
"goods_id": 1,
"user_id":1,
"status": 0,
"num": 1,
"points": 180,
"collect_time":"2017-09-27 17:07:08",
"created_at": "2017-09-27 17:07:08",
"updated_at": "2017-09-27 17:07:08",
"state":0,
"reason":"不合适"
}
id
: [integer] 订单IDorder_num
: [string] 订单编号org_id
: [integer] 关联的机构 idteam_id
: [integer] 关联的团队 idgoods_id
: [integer] 关联的商品 iduser_id
: [integer] 关联的用户 idstatus
: [integer] 审核状态num
: [integer] 购买时数量points
: [integer] 购买时消费积分collect_time
: [datetime] 领取时间state
: [integer] 领取状态reason
: [string] 拒绝理由
以下json对应的是org表中st_point_growth
字段
其中frequency的可选项见 2.1.16
{
"reward": {
"point": 1,
"growth": 4
},
"community": {
"frequency": ,// 可选值有每次、每天、每周
"point": 1,
"growth": 4
},
"user_login": {
"point": 1,
"growth": 4
},
"continue_login": {
"continue_day": 1, // 连续天数
"point": 1,
"growth": 4
}
"share": {
"frequency": , // 分享频率,具体选项见
"point": 1,
"growth": 4
},
"auth": {
"point": 1,
"growth": 4
},
"acheive1": {
"point": 1,
"growth": 4
},
"acheive2": {
"point": 1,
"growth": 4
},
"acheive3": {
"point": 1,
"growth": 4
},
}
机构的积分成长值设置,具体见原型
以下json对应的是org表中st_achieve
字段,是个数组,数组里每个值代表一行,对应多个成就,具体见原型
[
[{
@成就配置信息1
},
{
@成就配置信息2
},
],
[{
@成就配置信息3
},
{
@成就配置信息4
},
],
]
以下json对应的是org表中st_rank
字段,类型是个数组,从0到5等级依次排列
[
{
"name": "等级0", // Lv0的等级名称
"growth": 1, // 小于等于多少成长值
"reward": 1, // 保级需要的时长
"evy_deduct": 0, // 扣除的时长
},
{
"name": "等级1", // Lv1的等级名称
"growth": 5, // 小于等于多少成长值
"reward": 10, // 保级需要的时长
"evy_deduct": 3, // 扣除的时长
},
{
"name": "等级2",
"growth": 10,
"reward": 50,
"evy_deduct": 6,
},
{
"name": "等级3",
"growth": 40,
"reward": 100,
"evy_deduct": 6,
},
{
"name": "等级4",
"growth": 80,
"reward": 200,
"evy_deduct": 6,
},
{
"name": "等级5",
"growth": 200,
"reward": 500,
"evy_deduct": 6,
},
]
以下json对应的是org表中st_power
字段,类型是个数组,从0到5等级依次排列
{
"lv_zero": 1, // Lv0的等级特权倍数
"lv_one": 2,
"lv_two": 3,
"lv_three": 4,
"lv_four": 5,
"lv_five": 6,
}
请求URL
POST
/api/user/info
请求参数
无
响应
{
"status": 0,
"data":{
@后台用户信息,
acl: ['team:edit-own', 'xxx']
},
"msg": ""
}
acl 列表
org:admin
机构管理权限,只有平台管理员才返回user:edit_own_org
是否可以个人中心修改机构信息team:admin
是否有团队管理能力user:edit_own_team
是否可以个人中心修改团队信息team:create
是否有创建子团队能力
待续。。
请求URL
GET
/api/banner/{type}
请求参数
type
: [int] 机构0/商品1
响应
{
"status": 0,
"data":{
"banners": [
@Banner信息
]
},
"msg": ""
}
请求URL
POST
/api/banner
请求参数
- banners [Array<@Banner信息>]
响应
{
"status": 0,
"msg": ""
}
请求URL
GET
/api/org
请求参数
- name [string] 结构名称可以用来模糊搜索
响应
{
"status": 0,
"data":{
"rows": [
@机构信息
],
"count": 20
},
"msg": ""
}
请求URL
GET
/api/org/${id}
请求参数
无
响应
{
"status": 0,
"data": @机构信息,
"msg": ""
}
请求URL
POST
/api/org/
请求参数
name
: [string] 机构名称type
: [string] 机构类型logo
: [string] logocontact_name
: [string] 联系人contact_phone
: [string] 联系电话contact_email
: [string] 联系邮箱address
: [string] 联系地址corporate_name
: [string] 机构法人姓名corporate_id
: [string] 法人身份证号corporate_phone
: [string] 法人联系电话quality
: [string] 上传的资质照片in_blacklist
: [boolean] 是否禁用状态username
: [boolean] 关联用户名pwd
: [boolean] 关联用户密码
响应
{
"status": 0,
"msg": ""
}
请求URL
PUT | PATCH
/api/org/${id}
请求参数
name
: [string] 机构名称type
: [string] 机构类型logo
: [string] logocontact_name
: [string] 联系人contact_phone
: [string] 联系电话contact_email
: [string] 联系邮箱address
: [string] 联系地址corporate_name
: [string] 机构法人姓名corporate_id
: [string] 法人身份证号corporate_phone
: [string] 法人联系电话quality
: [string] 上传的资质照片in_blacklist
: [boolean] 是否禁用状态username
: [boolean] 关联用户名pwd
: [boolean] 关联用户密码
响应
{
"status": 0,
"msg": ""
}
请求URL
POST
/api/org/online/${id|ids}
请求参数
无
响应
{
"status": 0,
"msg": ""
}
请求URL
POST
/api/org/offline/${id|ids}
请求参数
无
响应
{
"status": 0,
"msg": ""
}
请求URL
DELETE
/api/org/${id|ids}
请求参数
无
响应
{
"status": 0,
"msg": ""
}
请求URL
POST
/api/org/{org_id}/module
请求参数
modules
[Array] 模块信息
key
[string] 模块标识label
[string] 模块名icon
[string] 模块图标settings
[object] 模块配置 如:{label: '自定义名称', icon: '自定义图标'}
响应
{
"status": 0,
"msg": ""
}
请求URL
PUT
/api/org/{id}/settings
只需要修改原来OrgController中saveSettings方法
请求参数
st_point_growth
[object] 积分成长配置见,2.1.14st_point_uint
[array] 积分单位设置,数组长度为2st_achieve
[object] 成就体系设置,见2.1.15st_achieve_op
[int] 是否开启成就设置,1开启,0不开启st_rank
[object] 用户等级设置,见2.1.16st_rank_op
[object] 是否开启用户等级设置,1开启,0不开启st_power
[object] 用户特权设置st_power_op
[object] 是否开启用户特权设置,1开启,0不开启
响应
{
"status": 0,
"msg": ""
}
指定父级,获取下一级团队的集合,不包含下下级。当没有指定父级时,返回最顶级列表。
请求URL
GET
/api/team/sub/${id || 0}
请求参数
id
[number] 团队id(父级id)org_id
[number] 机构ID 当没有指定 id 时必须指定。
响应
{
"status": 0,
"msg": "",
"data": [
{
label: "团队名称",
value: "团队id"
}
]
}
请求URL
POST
/api/team/apply
请求参数
name
[string] 团队名称parent_id
[number] 上级团队的IDusername
[string] 用户名pwd
[string] 密码org_id
[number] 所属机构
响应
{
"status": 0,
"msg": ""
}
请求URL
GET
/api/team/jinyun_index
请求参数
- name [string] 团队名称可以用来模糊搜索
响应
{
"status": 0,
"data":{
"rows": [
@团队信息
],
"count": 20
},
"msg": ""
}
在原来的代码上修改,需要在project_clock_in表里添加字段
请求URL
POST
/api/project/{id}/checkin
请求参数
type
[string] 签到类型province_id
[number] 为0代表全国province_name
[number]city_id
[number] 为0代表全省city_name
[number]county_id
[number] 为0代表全市county_id
[number] 为0代表全市county_name
[number]addr
[string] 详细地址(只有city_id不为空时必填)start_time
[string] 签到开始时间end_time
[string] 签到结束时间distance
[number] 签到距离,只有city_id不为空时必填,否则不需要填reward_time
[number] 最多计入时长
响应
{
"status": 0,
"msg": ""
}
请求URL
GET
/api/project/jinyun_index
请求参数
- name [string] 项目名称可以用来模糊搜索
响应
{
"status": 0,
"data":{
"rows": [
@项目信息
],
"count": 20
},
"msg": ""
}
如果当前用户是平台用户则返回平台下志愿者列表。
如果当前用户是机构用户,则返回机构下志愿者列表。
如果当前用户是团队用户,则返回团队下志愿者列表。
请求URL
GET
/api/volunteer
请求参数
keyword
[string] 用户名、联系电话、证件号码当模糊查找page
[number] 当前页数perPage
[number] 每页包含当数据量asExcel
[boolean] 是否导出为文件
响应
{
"status": 0,
"msg": "",
"data":{
"rows": [
@志愿者信息
],
"count": 20
}
}
请求URL
GET
/api/volunteer/applylist
请求参数
keyword
[string] 用户名、联系电话、证件号码当模糊查找page
[number] 当前页数perPage
[number] 每页包含当数据量
响应
{
"status": 0,
"msg": "",
"data":{
"rows": [
@志愿者信息
],
"count": 20
}
}
请求URL
POST
/api/volunteer/accept/${userIds}
请求参数
userIds
[string] 用户 ID, 多个用户id,用英文逗号隔开,
。
响应
{
"status": 0,
"msg": ""
}
请求URL
POST
/api/volunteer/reject/${userIds}
请求参数
userIds
[string] 用户 ID, 多个用户id,用英文逗号隔开,
。- reason [string] 理由
响应
{
"status": 0,
"msg": ""
}
请求URL
POST
/api/volunteer/notify/${userIds}
请求参数
userIds
[string] 用户 ID, 多个用户id,用英文逗号隔开,
。没有指定时,根据当前登陆用户来发送给在他下面当所有志愿者。content
[string] 内容
响应
{
"status": 0,
"msg": ""
}
请求URL
DELETE
/api/volunteer/${userIds}
请求参数
userIds
[string] 用户 ID, 多个用户id,用英文逗号隔开,
。
响应
{
"status": 0,
"msg": ""
}
只有团队管理员才可以移除,超管也不可以,因为如果是超管用户,真不知道把志愿者从哪个团队移除。
请求URL
GET
/api/module
请求参数
无
响应
{
"status": 0,
"msg": "",
"data": [
{
"key": "guide",
"label": "志愿攻略",
"icon": "http://domain/xx.png",
"optional": 1,
"settings": [
{
"key": "label",
"label": "名称",
"type": "text"
},
{
"key": "icon",
"label": "Icon",
"type": "image"
}
]
},
...
]
}
key
模块对唯一标识label
模块名称icon
模块图标optional
模块是否可以自定义settings
当模块被启用时,用户可设置当自定义属性模版。这里无须关系内部什么结构,当 json 处理就好。请求URL
POST
/api/module
请求参数
key
模块对唯一标识label
模块名称icon
模块图标optional
模块是否可以自定义settings
当模块被启用时,用户可设置当自定义属性模版。这里无须关系内部什么结构,当 json 处理就好。
响应
{
"status": 0,
"msg": "ok",
"data": null
}
请求URL
PUT
/api/module/{id}
请求参数
key
模块对唯一标识label
模块名称icon
模块图标optional
模块是否可以自定义settings
当模块被启用时,用户可设置当自定义属性模版。这里无须关系内部什么结构,当 json 处理就好。
响应
{
"status": 0,
"msg": "ok",
"data": null
}
请求URL
GET
/api/goods
请求参数
- type [int] 商品类型 0实物 1优惠价 [非必填]
- is_display [int] 状态 0上架 1下架 [非必填]
- g_name [string] 商品名称可以用来模糊搜索
响应
{
"error_code": 0,
"data": {
"list":[
@积分商品信息
]
"page":{
@分页字段
}
}
"error_message": ""
}
请求URL
POST
/api/goods
请求参数
org_id
: [integer] 关联的机构 id [非必填]team_id
: [integer] 关联的团队 id [非必填]g_name
: [string] 商品名称sponsor
: [string] 供应商 [非必填]thumbnail
: [string] 小图g_img
: [string] 大图content
: [string] 商品描述access
: [string] 购买成功描述type
: [integer] 商品类型price
: [decimal] 市场价值points
: [integer] 消耗积分g_num
: [integer] 库存 [0不限]u_num
: [integer] 限制购买数量 [非必填 则不限制]auto_time
: [datetime] 自动下架时间examine
: [integer] 是否开启审核is_display
: [integer] 上下架condition
: [string] 限制购买标签 英文,分割 [非必填]
响应
{
"error_code": 0,
"error_message": ""
}
请求URL
GET
/api/goods/${id}
请求参数
无
响应
{
"error_code": 0,
"data": {
@积分商品信息
}
"error_message": ""
}
请求URL
POST
/api/goods/{$id}
请求参数
org_id
: [integer] 关联的机构 id [非必填]team_id
: [integer] 关联的团队 id [非必填]g_name
: [string] 商品名称sponsor
: [string] 供应商 [非必填]thumbnail
: [string] 小图g_img
: [string] 大图content
: [string] 商品描述access
: [string] 购买成功描述type
: [integer] 商品类型price
: [decimal] 市场价值points
: [integer] 消耗积分g_num
: [integer] 库存 [0不限]u_num
: [integer] 限制购买数量 [非必填 则不限制]auto_time
: [datetime] 自动下架时间examine
: [integer] 是否开启审核is_display
: [integer] 上下架condition
: [string] 限制购买标签 英文,分割 [非必填]
响应
{
"error_code": 0,
"error_message": ""
}
请求URL
POST
/api/goods/display/${id|ids}
请求参数
无
响应
{
"error_code": 0,
"error_message": ""
}
请求URL
POST
/api/goods/is_display/${id|ids}
请求参数
无
响应
{
"error_code": 0,
"error_message": ""
}
请求URL
GET
/api/order
请求参数
- status [int] 审核状态 0通过 1已拒绝 2待审核 [非必填]
- keywords [string] 兑换人姓名、电话可以用来模糊搜索
响应
{
"error_code": 0,
"data": {
"list":[
@订单信息
]
"page":{
@分页字段
}
}
"error_message": ""
}
请求URL
POST
/api/order/pass/${id|ids}
请求参数
无
响应
{
"error_code": 0,
"error_message": ""
}
请求URL
POST
/api/order/refuse/${id|ids}
请求参数
- id|ids [integer] 订单id
- reason [string] 拒绝理由
响应
{
"error_code": 0,
"error_message": ""
}
请求URL
POST
/api/order/receive/${id|ids}
请求参数
无
响应
{
"error_code": 0,
"error_message": ""
}
请求URL
GET
/api/goods/team
请求参数
无
响应
{
"error_code": 0,
"data": {
"list":[
@团队信息
]
"page":{
@分页字段
}
}
"error_message": ""
}
请求URL
POST
/api/goods/team
请求参数
- id [integer] 团队id
响应
{
"error_code": 0,
"error_message": ""
}
请求URL
GET
/api/achievement
请求参数
无
响应
{
"status": 0,
"msg": "",
"data": [
{
"achieve_key": "guide",
"name": "成就名称",
"icons": ["http://domain/xx.png"],
"optional": 1,
"cond_type": "",
"settings":
{
"achieve1": "12",
"achieve2": "50",
"achieve3": "100"
}
},
...
]
}
achieve_key
成就模块唯一标识name
成就名称icons
成就图标optional
是否启用等级,0未启用,1启用cond_type
成就获取条件类型,可选值见2.1.5settings
获取条件配置信息,json字符串,包括achieve1,achieve2,achieve3三个属性请求URL
POST
/api/achievement
请求参数
achieve_key
[string] 成就模块唯一标识(必填,且唯一)name
[string] 成就名称(必填)icons
[array] 成就图标(必填,如果optional为1,则)optional
[int] 是否启用等级,0未启用,1启用cond_type
[string] 成就获取条件类型,可选值见2.1.5settings
[object] 获取条件配置信息,json字符串,包括achieve1,achieve2,achieve3三个属性
响应
{
"status": 0,
"msg": "ok",
"data": null
}
请求URL
PUT
/api/achievement/{id}
请求参数
achieve_key
[string] 不可修改name
[string] 成就名称(必填)icons
[array] 成就图标(必填,如果optional为1,则)optional
[int] 是否启用等级,0未启用,1启用cond_type
[string] 成就获取条件类型,可选值见2.1.5settings
[object] 获取条件配置信息,json字符串,包括achieve1,achieve2,achieve3三个属性
响应
{
"status": 0,
"msg": "ok",
"data": null
}
请求URL
GET
/api/achieve_cond
请求参数
无
响应 参照2.1.5中的value和label
{
"status": 0,
"msg": "ok",
"data": {
"options": [
{
"label": "参加打卡次数",
"value": "pro_join"
},
{
"label": "签到打卡次数",
"value": "check_in"
},
{
"label": "累计志愿时长",
"value": "reward"
},
{
"label": "文化教育",
"value": "education"
},
]
}
}
请求URL
GET
/support
请求参数
status
: 申请资助状态 【非必填】
响应
{
"status": 0,
"msg": "",
"data": [
{
},
...
]
}
请求URL
put
/support/{id}?status=
请求参数
id
: 申请资助id 逗号分隔【必填】status
: 通过:1 驳回:2【必填】
响应
{
"status": 0,
"msg": "",
"data": [
]
}
请求URL
get
/support/show/{id}
请求参数
id
: 申请资助id 【必填】
响应
{
"status": 0,
"msg": "",
"data": [
]
}
user_name
: 申请人姓名user_business_province
: 所属业务区域 省user_business_city
: 所属业务区域 市user_store
: 所属门店user_position
: 职位user_job_num
: 工号user_phone
: 联系电话user_email
: 电子邮箱user_apply_rsason
: 申请理由user_apply_monry
: 申请金额group_name
: 组织名称group_credit_num
: 统一社会信用代码group_addr
: 组织地址group_legal_person
: 法人group_user
: 联系人group_user_phone
: 联系人电话group_user_email
: 联系人邮箱group_service
: 服务领域group_info
: 组织简介group_certificate
: 登记证书 [array]project_name
: 项目名称project_field
: 项目领域 [orject]project_start
: 项目实施开始时间project_end
: 项目实施结束时间project_addr
: 项目实施地点project_money
: 项目预算project_info
: 项目描述project_effect
: 项目实施成效project_object
: 项目收益对象project_resources
: 额外提供资源plan
: [object]
{{activity_name: '活动名称',
activity_start: '活动开始时间',
activity_end: '活动结束时间',
activity_objective: '活动目的',
activity_people: '活动收益人数',
activity_info: '活动内容'
}}budget
: [object]
{{budget_type: '预算类型', (见2.1.9)
budget_purpose: '预算用途',
budget_price: '单价',
budget_num: '数量',
budget_money: '金额',
}}budget_reason
: 预算理由
请求URL
GET
/warntime
请求参数
status
: 异常审核状态 【非必填】0:待审核 1:通过 2:驳回
响应
{
"status": 0,
"msg": "",
"data": [
{
'warn_reason': 异常原因,
'before_time': 处罚前,
'now_time': 当前,
'status': 状态,
'result': 处理结果,
'user_info': [
用户信息
],
'volunteer_info': [
志愿者信息
],
'team_info': [
团队信息
],
'created_at': 警告时间
'signtime_info': [
打卡明细
],
'applytime_info': [
申请时长明细
],
'repairtime_info': [
管理员补录明细
],
},
...
]
}
请求URL
put
/warntime/{id}?status=
请求参数
id
: 申请资助id 逗号分隔【必填】,驳回时候只有一个idstatus
: 通过:1 驳回:2【必填】paramLength
: 项目个数(驳回时候才有)param
: 参数名称(驳回时候才有)${param}${项目id}
: 该项目id扣减的时长(驳回时候才有)
例如param=project,有两个项目id为12,13,那么请求参数一定有project12和project13两个参数代表需要扣减的时长
响应
{
"status": 0,
"msg": "",
"data": [
]
}
请求URL
GET
/demand
请求参数
status
: 异常审核状态 【非必填】需求状态 0:待审核 1:服务中 2:已完成 3:已拒绝page
: 当前页数【非必填】page_size
: 每页包含当数据量【非必填】title
: 需求标题【非必填】addr
: 服务地点【非必填】name
: 需求人【非必填】
响应
{
"status": 0,
"msg": "",
"data": {
list: []
}
}
请求URL
PUT
/demand/{id}
请求参数
team_id
: 转移时使用【非必填】
响应
{
"status": 0,
"msg": "",
"data": {
}
}
请求URL
PUT
/demand/edit/{id}
请求参数
name
: 需求人【必填】phone
: 电话【必填】category
: 类别【必填】title
: 标题【必填】content
: 详情【必填】village
: 乡镇【必填】addr
: 详细地点【必填】
响应
{
"status": 0,
"msg": "",
"data": {
}
}
请求URL
get
/demand/{id}
响应
{
"status": 0,
"msg": "",
"data": {
}
}
请求URL
get
/demand/{id}
请求参数
- report: 结项报告 【非必填】
- project_id: 项目id 【非必填】
响应
{
"status": 0,
"msg": "",
"data": {
}
}
请求URL
get
/demand/report/show/{id}
请求参数
- id: 求助id 【必填】
响应
{
"status": 0,
"msg": "",
"data": {
}
}
请求URL
get
/demand/show/{id}
请求参数
- id: 求助id 【必填】
响应
{
"status": 0,
"msg": "",
"data": {
}
}
请求URL
get
/demand/reject/{id}
请求参数
- id: 求助id 【必填】
响应
{
"status": 0,
"msg": "",
"data": {
}
}
请求URL
get
/org/sub/category
响应
{
"status": 0,
"msg": "",
"data": {
key value 形式
}
}
请求URL
get
/org/sub/village
响应
{
"status": 0,
"msg": "",
"data": {
key value 形式
}
}
请求URL
get
/project/sug
响应
{
"status": 0,
"msg": "",
"data": {
key value 形式
}
}
请求URL
GET
/practice_base
请求参数
name
: 基地名称category_id
: 类别id
响应
{
"status": 0,
"msg": "",
"data": {
"count" : 10,
"rows": [
{
"name" : "基地名称" , // 基地名称
"address" : "地址" , // 地址 (order表)
"contacts" : "小明" , // 联系人
"phone" : "137888888888" , // 手机号
"base_url" : "/uploads/1.png" ,// 图片地址 (相对路径)
"desc" : "小明" , // 详情
"base_state" : 1 , // 上下架状态 0下架 1上架
"sort" : 1 ,
"status" : 1 , // 删除字段
"category" : {
"name" : "csvn" // 类别名称
}
}
]
}
}
请求URL
get
/practice_base/{id}
注:id 是基地id
响应
{
"status": 0,
"msg": "",
"data": {
"name" : "基地名称" , // 基地名称
"address" : "地址" , // 地址 (order表)
"contacts" : "小明" , // 联系人
"phone" : "137888888888" , // 手机号
"base_url" : "/uploads/1.png" ,// 图片地址 (相对路径)
"desc" : "小明" , // 详情
"sort" : 1 ,
"status" : 1 , // 上下架状态 0下架 1上架
"category" : {
"name" : "csvn" // 类别名称
}
}
}
请求URL
POST
/practice_base
请求参数
name
: 基地名称address
: 基地地址contacts
: 联系人phone
: 手机号base_url
: 图片urldesc
: 详情介绍category_id
: 分类id
响应
{
"status": 0,
"msg": "",
"data": "新增成功"
}
请求URL
PUT
/practice_base/{id}
注:id 是基地id
请求参数
id
: 基地idname
: 基地名称address
: 基地地址contacts
: 联系人phone
: 手机号base_url
: 图片urldesc
: 详情介绍category_id
: 分类id
响应
{
"status": 0,
"msg": "",
"data": "修改成功"
}
请求URL
置顶
get
/practice_base/recommand/{id}
注:id 是基地id
取消置顶
get
/practice_base/disrecommand/{id}
注:id 是基地id
响应
{
"status": 0,
"msg": "",
"data": "修改成功"
}
请求URL
下架
get
/practice_base/offline/{id}
注:id 是基地id
上架
get
/practice_base/online/{id}
注:id 是基地id
响应
{
"status": 0,
"msg": "",
"data": "成功"
}
请求URL
DELETE
/practice_base/{id}
注:id 是基地id
响应
{
"status": 0,
"msg": "",
"data": "成功"
}
请求URL
get
/practice_base_category
响应
{
"status": 0,
"msg": "",
"data": [
{
"id" : 1,// 分类id
"name" : "基地名称" , // 基地名称
}
]
}
请求URL
get
/api/demand
参数:
status = 0 待处理需求列表 【admin,机构,团队 都可以看到】
status = 1 已派单需求列表【admin,机构 可以看到】
status = 2 已完成需求列表【admin,机构,团队 都可以看到】
status = 3 已拒绝需求列表【admin,机构 可以看到】
status = 4 待审核需求列表【admin,机构 可以看到】
status = 5 被驳回需求列表【admin,机构,团队 都可以看到】
响应
{
"status": 0,
"msg": "",
"data": [
]
}
请求URL
post
/api/demand/{id}/changeStatus
参数 :
status = 2 通过 5 驳回
remark 说明
响应
{
"status": 0,
"msg": "",
"data": null
}
请求URL
post
/api/demand/{id}/editReport
参数 :
report 报告内容
响应
{
"status": 0,
"msg": "",
"data": null
}
请求URL
post
/api/demand/{id}/resubmit
响应
{
"status": 0,
"msg": "",
"data": null
}
请求URL
post
/api/dashboard
响应
{
"demand_count": 0, // 总供需数
"demand0_count": 1, // 待处理供需数
"demand2_count": 1, // 已完成供需数
"demand1_count": 1, // 已派单供需数
"demand4_count": 1, // 待审核供需数
}
```