31 Star 648 Fork 118

没雨溪 / 管理系统后端代码

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

综合管理系统api接口

使用须知!!:本接口采用jwt数据安全措施,如果想正常获取数据,请先登入,并且保证每次请求传送authorization请求头,携带登入之后返回的的token

普通用户登入的时候携带请求头 useragent:"general"可以访问普通用户权限接口

管理系统后台v2.5.0更新公告:

  • 增加ssl,支持https请求,普通http请求nginx自动转发给ssl服务
  • 增加权限控制,角色列表获取,权限菜单获取
  • 增加获取用户功能 优化拦截中间件
  • 优化路径不匹配返回权限错误的问题
  • 修复静态资源需要登入而获取不到的情况
  • 修复图片上传不显示问题
  • 新增app一键登入
  • 菜单权限
  • 角色鉴权
  • 路由鉴权
  • 微信支付
  • 商品添加 下单
  • 手机登入验证
  • 轮播图管理
  • 微信小程序登入等等 文档更新 详情请访问 https://gitee.com/d718781500/student_product_manager_system

使用

补齐依赖

npm install

或者

yarn

开启服务**

npm start

项目效果地址:http://chst.vip:8081/crm

服务器基础地址:http://www.chst.vip

测试账号:admin 密码:Admin123#

1.天气模块(新)

天气每隔8小时会同步一次,每天0点必定同步一次

获取天气

接口详情 请求方式 地址
天气 get /weather/getWeather
参数 是否必填 说明
key key的取值为all,传了则返回所有历史天气
city 查询的城市名字,不能带市,比如南京,次数一分钟查询一次

修改天气账户信息(仅root有权限)

天气账户有可能变更,所以提供修改接口

接口详情 请求方式 地址
修改天气账户 get /weather/updateWeatherCount
参数 是否必填 说明
version 请求api的版本,有不同的天气比如v61
appid appid账号生成的id
appsecret 账户生成的secret

2.上传图片

增加上传图片,所有的图片都可以通过这个接口上传

接口详情 请求方式 地址
上传图片 post /upload/uploadImg
参数 是否必填 说明
img 图片文件

3.学员模块

获取登入日志

接口详情 请求方式 地址
获学登入日志 get /getloginlog
参数 是否必填 说明
page 页码
count 每次返回几条 默认返回10

成功返回值

{
    "status": 200,
    "state": true,
    "msg": "success",
    "data": [
        {
            "_id": "5cd964db16bd6f346879cf77",
            "username": "cxk",
            "lastLogin": {
                "loginTime": "2019/05/13 20:36:26",
                "ip": ""
            },
            "nowLogin": {
                "ip": "",
                "loginTime": "2019/05/13 20:36:43"
            },
            "__v": 0
        },
        {
            "_id": "5cd964ca16bd6f346879cf76",
            "username": "cxk",
            "lastLogin": {
                "loginTime": "2019/05/13 20:36:00",
                "ip": ""
            },
            "nowLogin": {
                "ip": "",
                "loginTime": "2019/05/13 20:36:26"
            },
            "__v": 0
        }
    ]
}

获取班级列表

接口详情 请求方式 地址
班级列表 get /students/getclasses

成功返回值

{
    "status": 200,
    "state": true,
    "data": [
        "H51901",
        "H51902"
    ]
}

获取学员信息

接口详情 请求方式 地址
获学员信息 get /students/getstulist
参数 是否必填 说明
page 页码
count 每次返回几条
class 默认是全部班级的数据

成功返回值

{
    "status": 1,
    "state": true,
    "msg": "请求成功",
    "total": 2,
    "data": [
        {
            "_id": "5cd3c534e1e75b0ea034cf83",
            "name": "谭鹏",
            "headimgurl":"",
            "age": "21",
            "class": "H51901",
            "city": "重庆",
            "degree": "专科",
            "productUrl": "地址",
            "description": "O(∩_∩)O哈哈~",
            "cTime": "2019/05/09 02:14:12",
            "sId": "WWLN97178546",
            "__v": 0
        }
    ]
}

增加学员信息

接口详情 请求方式 接口地址
增加学员信息 post /students/addstu
参数 是否必填 描述
class 班级
name 学员的名字
age 学员的年龄
city 目前居住的城市
degree 学历
productUrl 项目地址
description 一句话对自己的评价
headimgurl 头像

增加成返回值

{
    "status": 1,
    "state": true,
    "msg": "添加成功"
}

删除学员信息

接口详情 请求方式 接口地址
删除学员信息 get /students/delstu
参数 是否必填 描述
sId 当前学员id
// 删除成功
{
  "status": 1,
  "state": true,
  "msg": "删除成功"
}

修改学员信息

接口详情 请求方式 接口地址
修改用户密码 post /students/updatestu
参数 是否必填 描述
sId 用户Id
token token值
name 学员的名字
age 学员的年龄
city 目前居住的城市
degree 学历
productUrl 项目地址
description 一句话对自己的评价
headimgurl 头像

搜索学员

接口详情 请求方式 地址
搜索学员 get /students/searchstu
参数 是否必填 描述
key 传入学员的姓名
count 请求的条数(默认全部返回)
page 页码

上传学员头像接口

接口详情 请求方式 接口地址
上传学员头像 post /students/uploadStuAvatar
参数 是否必填 描述
headimgurl 上传的文件格式 jpg|png|gif
//成功数据
{
    status: 200,
    state: true,
    msg: "上传成功",
    headimgurl:http://106.12.79.128xxxx
 }

4.用户模块

获取登入验证码(new❤)

获取验证码老版本返回值直接是一个对象,没有状态,只有img字段,这样不便于判断,所以next版本中新接口可以通过添加参数,获得新的返回值

旧写法(old)

接口详情 请求方式 地址
获取验证码 get /users/getCaptcha

返回值

{
    "img":"<svg ...../>"
}

新写法(new)

接口详情 请求方式 地址
获取验证码 get /users/getCaptcha?v=next

返回值

{
    "state": true,
    "status": 200,
    "img":"<svg ...../>"
 }   

刷新登入验证码

接口详情 请求方式 地址
获取验证码 get /users/refreshCaptcha

校验登入验证码

接口详情 请求方式 地址
获取验证码 get /users/verifyCaptcha
参数 是否必填 描述
captcha 用户输入的验证码

获取手机验证码(新)

手机验证码一天同一个号码最多10次,验证码有效时间60分钟,请谨慎使用,完成业务功能的时候建议进行节流限制

接口详情 请求方式 地址
获取手机验证码 post /sms/send
参数 是否必填 描述
phoneNumber 手机号码

登入接口(新增手机验证码登入)

手机登入

切换手机登入需要在接口后面增加参数

接口详情 请求方式 地址
用户登入 post /users/login?type=sms
参数 是否必填 描述
code 手机接收到的验证码(5位)

成功和用户名登入一样

失败返回值

{
    "state": false,
    "status": 10026,
    "msg": "验证码不正确"
}

用户名登入

接口详情 请求方式 地址
用户登入 post /users/login
参数 是否必填 描述
username 账户
password 密码
登入成功返回值
{
	"status": 1,
	"state": true,
	"msg": "登入成功",
	"userInfo": {
		"username": "lbw4",
		"nickname": "开哥永不开挂",
		"phone": "1577775772"
	}
}
登入失败返回值
{
	"status": 0,
	"state": false,
	"msg": "用户名或者密码错误"
}

微信扫码登入(new)

微信扫码登入建议客户端使用socket.io-client@2.3.0这个依赖

首先安装

npm i socket.io-client

也可以使用普通的websocket

socket.io事件

事件名 返回参数 参数描述
connectSuccess sid 客户端唯一标识
invalidCode Object 无效二维码主体内容
scancodeSuccess wechatCode 用户微信扫码返回临时code

接口

获取二维码url

接口 请求方式 携带参数 是否必填 接口描述
/users/getQrcode get sid 请求微信二维码地址

微信登入

接口 请求方式 接口描述
/users/wechatLogin get 请求微信登入
参数 是否必填 参数描述
wechatCode 扫码成功后微信传回来的wechatCode

微信登入流程图

退出登入接口

接口详情 请求方式 接口地址
退出登入 get /users/sigout

上传用户头像接口,注意把服务器端口改为443

接口详情 请求方式 接口地址
上传头像 post /users/uploadAvatar
参数 是否必填 描述
headimgurl 上传的图片文件
unid 当前用户的id
token token值(也可以携带在请求头,字段是authorzation)
//成功数据
{
    "status": 1,
    "state": true,
    "msg": "图片上传成功",
    "imgurl": "https://chst.vip/imgs/headimgurl-1650792836990.png"
}

校验登入状态

接口详情 请求方式 接口地址
验证用户登入状态 * /verify

修改用户密码接口

接口详情 请求方式 接口地址
修改用户密码 post /users/updatePassword
参数 是否必填 描述
username 用户名
oldPassword 原来的密码
newPassword 需要修改的新密码
token token值
//修改成功值
{
  "status": 1,
  "state": true,
  "msg": "密码修改成功"
}
//用户名不存在返回值
{
  "status": 0,
  "state": false,
  "msg": "不存在此用户"
}
//修改失败
{
  "status": 0,
  "state": false,
  "msg": "密码修改错误"
}

获取所有用户

接口详情 请求方式 地址
获取所有用户 get /users/getAllUsers
{
    "status": 200,
    "state": true,
    "msg": "success",
    "users": [
        {
            "username": "lbw1",
            "nickname": "五五开",
            "roleid": "200"
        },
        {
            "username": "root",
            "nickname": "王者管理员",
            "roleid": "1"
        },
        {
            "username": "lbw2",
            "nickname": "五五开",
            "roleid": "200"
        },
        {
            "username": "zj",
            "nickname": "王远杰",
            "roleid": "102"
        },
        {
            "username": "zj01",
            "nickname": "巴啦啦小魔仙",
            "roleid": "102"
        }
    ]
}

添加用户(new❤)

接口详情 请求方式 接口地址
添加用户 post /users/addUser
username 用户名
password 密码
phone 手机号
nickname 昵称

修改用户信息

接口详情 请求方式 接口地址
添加用户 post /users/updateUser
参数 是否必填 描述
unid 用户的id
username 用户名
password 密码
phone 手机号
nickname 昵称
roleid 否(root才能修改) 权限id
vipLevel 否(root才能修改) vip等级
headimgurl 头像地址
sex 性别
city 城市
province 省份
country 国加

用户注册接口(废弃,改为上面的添加用户接口)

接口详情 请求方式 地址
用户注册接口 post /users/register
参数 是否必填 描述
username 用户名
password 密码
phone 手机号
nickname 昵称
roles 权限
注册成功返回值
{
	"status": 1,
	"state": true,
	"msg": "注册成功",
	"userInfo": {
		"username": "lbw4",
		"nickname": "开哥永不开挂",
		"phone": "1577775772"
	}
}
注册失败返回值
{
	"status": 0,
	"state": false,
	"msg": "用户名已注册"
}

5.权限模块

添加角色(仅root有权限)

接口详情 请求方式 接口地址
添加角色 post /permission/addrole
参数 是否必填 描述
roleid 添加的角色id
token token

获取角色列表

接口详情 请求方式 接口地址
获取角色列表 get /permission/getrole
参数 是否必填 描述
roleid 查询的角色id
token token
结果
{
    "status": 200,
    "msg": "success",
    "roles": [
        {
            "roleid": "200",
            "roleName": "员工"
        },
        {
            "roleid": "102",
            "roleName": "总监"
        },
        {
            "roleid": "103",
            "roleName": "主管"
        },
        {
            "roleid": "1",
            "roleName": "王者管理员"
        }
    ]
}

获取权限菜单

接口详情 请求方式 接口地址
获取权限菜单 get /permission/getMenuList
{
    "status": 200,
    "msg": "success",
    "roleName": "总监",
    "menuList": [
        {
            "name": "管理首页"
        },
        {
            "name": "学员管理",
            "children": [
                {
                    "name": "学员项目管理"
                },
                {
                    "name": "学员资料"
                },
                {
                    "name": "学员宿舍"
                }
            ]
        },
        {
            "name": "考勤管理"
        },
        {
            "name": "数据统计"
        },
        {
            "name": "我的中心"
        }
    ]
}

6.vip充值

1. 获取vip产品

接口地址 请求方式 接口描述
/product/get_product get 获取商品
参数 参数值 是否必传
category_id 20210827165510715

返回结果

[
		{
            "updator": null,
            "updateTime": null,
            "_id": "61277523ad0bdb2ddd70a304",
            "product_id": "20210826190403911",
            "category_id": "20210826182431225",
            "productName": "vip充值",
            "description": "尊贵vip充值-vip包月服务,心悦vip,1对1专属客服,随意开挂,随意举报,尊贵红名显示",
            "price": 0.01,
            "inventory": 74,
            "imageUrl": "balabalabala"
        }
]

2.下单

接口地址 请求方式 接口描述
/order/pre_order post 商品下单
参数 描述 是否必传
product_id 商品id
quantity 商品数量

返回结果

{
    "status": 200,
    "state": true,
    "order_id": "20210830105149117IhPOnp541908",
    "msg": "订单提交成功"
}

3.发起支付

接口地址 请求方式 接口描述
/pay/payment post 发起支付
参数 描述 是否必传
order_id 订单的id

4.查询支付结果

/order/query_order_status get 用户必须是登入状态 查询订单的支付状态(可轮询)
参数 是否必传 参数描述
order_id 订单id
  if (result[0].pay_status === 1) {
            res.send({ status: 200, state: true, msg: "支付成功" })
            return
        } else if (result[0].order_status === 2) {
            res.send({ status: 3002, state: false, msg: "订单已取消" })
            return
        } else if (result[0].order_status === 3) {
            res.send({ status: 3003, state: false, msg: "无效订单" })
            return
        } else if (result[0].order_status === 4) {
            res.send({ status: 3004, state: false, msg: "交易关闭" })
            return
        }else {
            res.send({ status: 3005, state: false, msg: "尚未支付" })
        }

7.商城模块

5.1 类目模块

5.1.1 增加类目

接口地址 请求方式 接口描述
/category/addCategory post 添加商品类目
参数 参数描述 是否必传
categoryName 类目名称(String)
categoryImgurl 类目图片

响应成功

{
    "status": 200,
    "state": true,
    "msg": "添加成功"
}

响应失败结果

{
    "status": 1004,
    "state": false,
    "msg": "已经存在该类目,请不要重复添加"
}

5.1.2 删除类目(慎用)

由于类目和商品关联,如果类目中还有商品,删除会导致商品类目获取不正确

接口地址 请求方式 接口描述
/category/delCategory get 删除类目
参数 请求方式 接口描述
category_id get 类目id

响应成功结果

{
    "status": 200,
    "state": true,
    "msg": "删除成功"
}

响应失败结果

{
    "status": 1004,
    "state": false,
    "msg": "err 该数据不存在"
}

5.1.3 修改类目

接口地址 请求方式 接口描述
/category/updateCategory post 删除类目
参数 描述 是否必传
categoryName 类目名称
category_id 类目id

5.1.4 获取类目

请求地址

/category/getCategory

响应成功结果

{
    "status": 200,
    "state": true,
    "msg": "获取成功",
    "data": [
        {
            "updateTime": null,
            "updator": null,
            "_id": "5fed5acfb308240d6037bc13",
            "category_id": "20201231125959413",
            "categoryName": "车辆",
            "creator": "lbw",
            "createTime": "2020-12-31,12:59:59"
        },
        {
            "updateTime": null,
            "updator": null,
            "_id": "5fed5c45b308240d6037bc19",
            "category_id": "20201231130613547",
            "categoryName": "化妆品",
            "creator": "lbw",
            "createTime": "2020-12-31,01:06:13"
        }
    ]
}

5.2 商品模块

5.2.1 添加商品信息

接口地址 请求方式 接口描述
/product/add_product post 添加商品
参数 描述 是否必传
category_id 类目的id (String)
productName 商品名称 (String)
price 商品价格 (Number) 单位以人民币为单位:元
description 商品描述 (String)
inventory 商品库存 (Number)
imageUrl 商品图片 (file) 上传商品图片

5.2.2 修改商品信息

接口地址 请求方式 接口描述
/product/update_product post 修改商品信息
参数 描述 是否必传
product_id 商品的id (String)
productName 商品名称 (String)
price 商品价格 (Number) 单位以人民币为单位:元
description 商品描述 (String)
inventory 商品库存 (Number)
imageUrl 商品图片 (file) 上传商品图片

5.2.3 获取商品信息

接口地址 请求方式 接口描述
/product/get_product get 获取商品信息
参数 描述 是否必传
product_id 商品的id,不传默认返回所有数据
category_id 商品所在类目id

5.2.4 删除商品

接口地址 请求方式 接口描述
/product/del_product get 删除商品信息
参数 描述 是否必传
product_id 商品的id

5.3 购物车模块

5.3.1 购物车选中商品

接口地址 请求方式 参数 接口描述
/cart/check post product_id 传递产品的id,如果存在选中多个商品,那么可以以字符串的形式用逗号(,)隔开比如 {product_id:"1198,16843,19894"}

5.3.2 获取购物车数据

接口地址 请求方式 接口描述
/cart/get_cart get 获取当前用户的购物车数据

5.3.3 删除购物车商品

接口地址 请求方式 接口描述
/cart/del_prouct get 删除购物车商品
参数 是否必填 描述
product_id 要删除的商品的id

5.3.4 更新购物车数据

接口地址 请求方式 接口描述
/cart/update_cart post 修改购物车中商品数量等
参数 是否必填 描述
product_id 修改的商品id
count 修改的商品数量

5.3.5 增加商品到购物车

接口地址 请求方式 接口描述
/cart/add_to_cart post 增加商品到购物车
参数 是否必填 描述
product_id 增加到购物车的商品id
count 增加到购物车商品的数量

5.4.订单模块

5.4.1 生成预支付订单(订单默认2分钟后失效)

接口地址 请求方式 参数 接口描述
/pay/pre_order post 用户必须是登入状态 用于提交生成订单
参数 是否必传 参数描述
product_id 产品的id
quantity 购买的产品数量

订单状态

order_status:订单状态:0未提交 1提交成功 2已经取消 3无效订单 4.交易关闭 5退货

订单支付状态

pay_status:0未支付 1已支付

订单配送状态

shiping_status:配送状态 0未发货 1已发货 2已收货 3备货中

5.4.2 查询订单支付状态

接口地址 请求方式 参数 接口描述
/order/query_order_status get 用户必须是登入状态 查询订单的支付状态(可轮询)
参数 是否必传 参数描述
order_id 订单id

5.4.1 查询订单详情

可以通过轮询查询订单支付状态,必须携带order_id

接口地址 请求方式 接口描述
/order/get_order post 查询当前用户订单状态
参数 是否必传 参数描述
order_id 传递该参数可以获得单个订单详情,默认返回所有订单

5.4.2 删除订单

接口地址 请求方式 参数 接口描述
/order/del_order get order_id 删除指定的订单

5.4.3 取消订单(待开发)

接口地址 请求方式 参数 接口描述
/order/cancel get order_id 用于取消当前订单

5.4.4 发货配送(待开发)

接口地址 请求方式 接口描述
/order/ship get 删除指定的订单
参数 参数描述 是否必传
action 0未发货 1已发货 2已收货 3备货中
order_id 订单号

e.g

axios.get("/order/ship?action=1")

5.4.5 退货(待开发)

接口地址 请求方式 接口描述
/order/returns post 用户退货
参数 参数描述 是否必传
order_id 订单号

8.支付

6.1 PC扫码微信支付

接口地址 请求方式 接口描述
/pay/payment post 发起支付
参数 参数描述 是否必传
appid 公众账号ID
mch_id 微信支付分配的商户号
trade_type 交易类型,值:NATIVE、 JSAPI、 APP 否 (默认NATIVE)
order_id 订单id

请求示例:

axios.post("/pay/payment",{
	appid:wxed58e834201d0894,
	mch_id:1568650321,
	order_id:20201231103338122jnvk4na61h
})

请求成功返回文档

{
    "status": 200,
    "state": true,
    "msg": "OK",
    "prepay_id": "wx301847582783578da0cb5e1a6f24890000",
    "trade_type": "NATIVE",
    "code_url": "weixin://wxpay/bizpayurl?pr=hPUTMw4zz"
}

前端通code_url生成支付二维码即可

6.2 通过订单查询支付状态

接口说明

适用对象: 直连商户(直连模式)

请求URL: https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/{out_trade_no}

**请求方式:**GET

path指该参数为路径参数

query指该参数需在请求URL传参

body指该参数需在请求JSON传参

请求参数

参数名 变量 类型[长度限制] 必填 描述
直连商户号 mchid string[1,32] query 直连商户的商户号,由微信支付生成并下发
商户订单号 out_trade_no string[1,32] path 商户系统内部订单号

请求示例

https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/1217752501201407033233368018?mchid=1230000109

返回参数

参数名 变量 类型[长度限制] 必填 描述
应用ID appid string[1,32] 直连商户申请的公众号或移动应用appid。 示例值:wxd678efh567hg6787
直连商户号 mchid string[1,32] 直连商户的商户号,由微信支付生成并下发。 示例值:1230000109
商户订单号 out_trade_no string[6,32] 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。 示例值:1217752501201407033233368018
微信支付订单号 transaction_id string[1,32] 微信支付系统生成的订单号。 示例值:1217752501201407033233368018
交易类型 trade_type string[1,16] 交易类型,枚举值: JSAPI:公众号支付 NATIVE:扫码支付 APP:APP支付 MICROPAY:付款码支付 MWEB:H5支付 FACEPAY:刷脸支付 示例值:MICROPAY
交易状态 trade_state string[1,32] 交易状态,枚举值: SUCCESS:支付成功 REFUND:转入退款 NOTPAY:未支付 CLOSED:已关闭 REVOKED:已撤销(付款码支付) USERPAYING:用户支付中(付款码支付) PAYERROR:支付失败(其他原因,如银行返回失败) 示例值:SUCCESS
交易状态描述 trade_state_desc string[1,256] 交易状态描述 示例值:支付失败,请重新下单支付
付款银行 bank_type string[1,16] 银行类型,采用字符串类型的银行标识。 示例值:CMC
附加数据 attach string[1,128] 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用 示例值:自定义数据
支付完成时间 success_time string[1,64] 支付完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。 示例值:2018-06-08T10:34:56+08:00
+支付者 payer object 支付者信息
+订单金额 amount object 订单金额信息,当支付成功时返回该字段。
+场景信息 scene_info object 支付场景描述
+优惠功能 promotion_detail array 优惠功能,享受优惠时返回该字段。

返回示例

{
	"transaction_id": "1217752501201407033233368018",
	"amount": {
		"payer_total": 100,
		"total": 100,
		"currency": "CNY",
		"payer_currency": "CNY"
	},
	"mchid": "1230000109",
	"trade_state": "SUCCESS",
	"bank_type": "CMC",
	"promotion_detail": [{
		"amount": 100,
		"wechatpay_contribute": 0,
		"coupon_id": "109519",
		"scope": "GLOBALSINGLE",
		"merchant_contribute": 0,
		"name": "单品惠-6",
		"other_contribute": 0,
		"currency": "CNY",
		"type": "CASHNOCASH",
		"stock_id": "931386",
		"goods_detail": [{
			"goods_remark": "商品备注信息",
			"quantity": 1,
			"discount_amount": 1,
			"goods_id": "M1006",
			"unit_price": 100
		}, {
			"goods_remark": "商品备注信息",
			"quantity": 1,
			"discount_amount": 1,
			"goods_id": "M1006",
			"unit_price": 100
		}]
	}, {
		"amount": 100,
		"wechatpay_contribute": 0,
		"coupon_id": "109519",
		"scope": "GLOBALSINGLE",
		"merchant_contribute": 0,
		"name": "单品惠-6",
		"other_contribute": 0,
		"currency": "CNY",
		"type": "CASHNOCASH",
		"stock_id": "931386",
		"goods_detail": [{
			"goods_remark": "商品备注信息",
			"quantity": 1,
			"discount_amount": 1,
			"goods_id": "M1006",
			"unit_price": 100
		}, {
			"goods_remark": "商品备注信息",
			"quantity": 1,
			"discount_amount": 1,
			"goods_id": "M1006",
			"unit_price": 100
		}]
	}],
	"success_time": "2018-06-08T10:34:56+08:00",
	"payer": {
		"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
	},
	"out_trade_no": "1217752501201407033233368018",
	"appid": "wxd678efh567hg6787",
	"trade_state_desc": "支付失败,请重新下单支付",
	"trade_type": "MICROPAY",
	"attach": "自定义数据",
	"scene_info": {
		"device_id": "013467007045764"
	}
}
                                

错误码公共错误码

状态码 错误码 描述 解决方案
202 USERPAYING 用户支付中,需要输入密码 等待5秒,然后调用被扫订单结果查询API,查询当前订单的不同状态,决定下一步的操作
403 TRADE_ERROR 交易错误 因业务原因交易失败,请查看接口返回的详细信息
500 SYSTEMERROR 系统错误 系统异常,请用相同参数重新调用
401 SIGN_ERROR 签名错误 请检查签名参数和方法是否都符合签名算法要求
403 RULELIMIT 业务规则限制 因业务规则限制请求频率,请查看接口返回的详细信息
400 PARAM_ERROR 参数错误 请根据接口返回的详细信息检查请求参数
403 OUT_TRADE_NO_USED 商户订单号重复 请核实商户订单号是否重复提交
404 ORDERNOTEXIST 订单不存在 请检查订单是否发起过交易
400 ORDER_CLOSED 订单已关闭 当前订单已关闭,请重新下单
500 OPENID_MISMATCH openid和appid不匹配 请确认openid和appid是否匹配
403 NOTENOUGH 余额不足 用户帐号余额不足,请用户充值或更换支付卡后再支付
403 NOAUTH 商户无权限 请商户前往申请此接口相关权限
400 MCH_NOT_EXISTS 商户号不存在 请检查商户号是否正确
500 INVALID_TRANSACTIONID 订单号非法 请检查微信支付订单号是否正确
400 INVALID_REQUEST 无效请求 请根据接口返回的详细信息检查
429 FREQUENCY_LIMITED 频率超限 请降低请求接口频率
500 BANKERROR 银行系统异常 银行系统异常,请用相同参数重新调用
400 APPID_MCHID_NOT_MATCH appid和mch_id不匹配 请确认appid和mch_id是否匹配
403 ACCOUNTERROR 账号异常 用户账号异常,无需更多操作

空文件

简介

一个综合系统 1. 菜单权限 2.角色鉴权 3.路由鉴权 4.微信支付 5.商品添加 下单 微信支付 6.手机登入验证 7.微信小程序登入 8.app一键登入第 展开 收起
JavaScript 等 5 种语言
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/d718781500/student_product_manager_system.git
git@gitee.com:d718781500/student_product_manager_system.git
d718781500
student_product_manager_system
管理系统后端代码
next

搜索帮助

14c37bed 8189591 565d56ea 8189591