前端在使用微信JS-SDK开发时,按照微信开放文档描述,必须先JS接口的获取使用权限签名,而该签名的生成算法涉及到获取access_token和jsapi_ticket,这些微信身份认证的步骤均必须由服务端实现,然后提供接口为前端解决签名生成的问题。
Request
HTTP request
POST https://www.featapi.com/api/weixin-service/sign/
Request body
参数名称 | 是否必填 | 类型 | 描述 | NOTE |
app_id | 是 | string | 微信公众号的app id,由运维工程师提供 | |
noncestr | 否 | string | 随机字符串,不长于32位 | 如果前端不填该值,则服务端提供32位的随机字符串作为默认值,范例:èÉoĸ¢\t@+=±Â:aÓÃCEs¸Û² |
timestamp | 否 | integer | 时间戳 | 如果前端不填该值,则服务端以当前时间转换成时间戳作为默认值 |
url | 是 | string | 当前网页的URL,无需包含#及其后面部分 |
*先咨询运维工程师取得微信app_id,前端应当保存并配置好这个信息
*url参数的地址,前端必须预先与运维工程师沟通好哪些URL地址需要用到这个签名
范例Payload:
{
"app_id": "wx123456789",
"noncestr": "Wm3WZYTPz0wzccnW",
"timestamp": 1650599207,
"url": "https://www.feat.com/"
}
Response
HTTP状态码:200
1.请求成功,返回结果
{
"nonceStr": "Wm3WZYTPz0wzccnW",
"timestamp": 1650854858,
"signature": "9f8c16xxxxxxxxxxxxxxx88b13c"
}
参数名称 | 类型 | 描述 | NOTE |
signature | string | 微信接口使用权限签名 |
HTTP状态码:400
1.code: INVALID_APP_ID
微信 app id 不正确,请联系运维工程师
2.code: INVALID_DOMAIN_NAME
url参数错误,请联系运维工程师
HTTP状态码:500
1.code: INTERNAL_SERVICE_ERROR
服务内部错误,通知服务端开发人员,并上报触发错误时提交的参数