简要描述:
- 微信公众号登录
接口版本:
| 版本号 | 制定人 | 制定日期 | 修订日期 |
|---|---|---|---|
| v3 | 陈碧贵 | 2019-01-20 | xxxx-xx-xx |
请求URL:
http://{url参数}/bo/api/v3/auth/login
请求方式:
- POST
请求头:
| 参数名 | 是否必须 | 类型 | 说明 |
|---|---|---|---|
| XownerId | 是 | string | 项目唯一ID,对应bo_project {ownerId} |
| XsysId | 否 | string | 所属系统 对应 bo_system 表 |
| XuserFromFirstShareId | string | 否 | 一级分享用户ID, bo_user user_id |
| XuserFromSecondShareId | string | 否 | 二级分享用户ID, bo_user user_id |
| XverifyApi | 是 | string | 加密规则encryptByDES(`${newGuid()} |
| XfilterAreaCode | 否 | string | 行政区编码, 对应 bo_sys_area area_code |
| Content-Type: | 是 | string | application/json; charset=utf-8 请求类型 |
请求参数:
{
websoketId:"websoketId当前应用唯一ID,如果不传递不进行ws推送",
loginType: "wechat",
openUser:
"DBMdMz6Q2YZfctTfdp32FzVywXFw1p5bFq+YHCQr3i5a4gh23X940gBJ4WaoVNWQ1pqUKhaUhswIMr+zuH3YhMggNnEWov17CkYzGxPocgkYvVE7T+8sG8Nnk5yasv+qqembMklMyCT37mUHMNkdYAmOOWMAmBX+zGf8c8+A4CFhIrkBAVUA89zXje/BrRLy+01e/P+MhfnHuOP8oOaaasHFOVB7x+d3bvU89jI2QFIdbdER5xjKjWBBR8sDH+ru/vNDitk1bNGneBoPq8uS4oRidEtQ7RKo3HIEm2IMbYdM1Yl/qF+jolsCNTiC+MoUbpnZFGSmRYvcvcg31WTV/4/LEbBXqHG0pi8oFV/ftTWTmCrf90qVug==",
};
| 参数名 | 是否必须 | 类型 | 说明 |
|---|---|---|---|
| _fromSource | 是 | string | Wechat 来源微信公众号/wechatpc来源微信P |
| _nodejs | 是 | string | common-data 对应/Config/AppNodeJs/Plugins/fn- common-data.js, 通过nodejs插件,对响应结果进行二次处理 common-data 普通数据(小写驼峰)common-data-under 普通数据下划线 |
| body参数名 | 是否必须 | 类型 | 说明 |
|---|---|---|---|
| loginType | 是 | string | Wechat 微信公众号/PC端扫码登录 wxOpenId |
| openUser | 是 | string | 加密后值。加密内容详见 |
if (window.$bowUtil.isWeiXin() === true) {
//微信端打开授权登录
filterT._fromSource = 'wechat';
} else {
//pc端扫码登录
filterT._fromSource = 'wechatpc';
}
let dataT = {
userId: null,
account: {
"userId": null,
"batO": "ui",
"nikeName": dataN.nikeName,
"wxOpenId": dataN.wxOpenId,
"wxUnionId": dataN.wxUnionId
},
"sex": {
"value": dataN.gender
},
"headIcon": dataN.headIcon
}
let userT = {
loginType: "wechat",
openUser: encryptByDES(JSON.stringify(dataT))
// ,
// openMKey: "",
// openField: ""
}
doLogin(userT).then((temp) => {
});
前端配置文件:

返回示例:
正确时返回:
{
token: {
tokenType: "Bearer",
timeStamp: 1611309530975.2864,
refreshToken: "vSMmvxYBYAtyNcmrOU8ie1g1mXpakjRP",
accessToken:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJSRzMiLCJhdWQiOiJhcGkiLCJpZCI6InB0ZGV2IiwibmFtZSI6ImRldiIsImNsaWVudF9pZCI6InB0ZGV2Iiwib3Blbl9pZCI6IiIsIndiX2lkIjoiIiwid3hfb3Blbl9pZCI6IiIsInd4X3VuaW9uX2lkIjoiIiwidGVsZXBob25lIjoiIiwicHVzaF9uYW1lIjoi5byA5Y-R566h55CG5ZGYIiwiaGVhZF9pY29uIjoiIiwiZGVwX2lkIjoiIiwic3lzX2lkIjoiIiwibWVyZ2VfdXNlcl9pZCI6IiIsImFyZWFfY29kZSI6IiIsInJvbGVfaWQiOiJkZXZlbG9wbWVudCIsImRldmVsb3BlciI6IjEiLCJuYmYiOjE2MTEzMDkyMzAsImV4cCI6MTYxMTMwOTUzMCwiaWF0IjoxNjExMzA5MjMwfQ.XtYVbsJFpzWb0kA26sgLSHu17_sYScIll2_Js1ujVGg",
expires: "2021-01-29T17:58:50",
},
user: {
headIcon: "",
userId: "test",
roleId: ["development"],
depId: [],
pushName: "开发管理员",
jobId: [],
sysId: [],
areaCode: [],
developer: 1,
mergeUserId: [],
},
success: true,
}
错误时返回:
{
"code": 0,
"message": ""
"error":{
errorCode:null,
errorText:null
}
"success": false,
}返回参数说明:
| 参数名 | 类型 | 说明 |
|---|---|---|
| success | bool | true 表示数据请求成功(跟code=0一致),调用者优先使用 |
| code | int | true 表示数据请求成功(跟code=0一致),调用者优先使用 |
| data | string | Data 参数为加密的值, 结果作为微信登录的参数 |
| cacheType | string | redis/sqlite/local 数据来源缓存 的类型(便于开发调试和性能优化) |
| cacheDate | date | 最后数据获取时间 |
文档更新时间: 2022-04-19 10:46 作者:admin