Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 1.33 KB

protocol.md

File metadata and controls

43 lines (33 loc) · 1.33 KB

SDK 开发协议

1、首次发起请求时携带请求头,其中X-WX-Code是调用wx.login接口时获取的code值,X-WX-RawDataX-WX-Signature分别是调用wx.getUserInfo接口时获取的rawDatasignature

header: {
    'X-WX-Code': 'code',
    'X-WX-RawData': 'rawData',
    'X-WX-Signature': 'signature',
}

2、后续请求只需携带首次请求时保存的code作为请求。

header: {
    'X-WX-Code': 'code',
}

3、异常处理

异常错误均以json格式返回数据,数据格式如下:

{
    'F2C224D4-2BCE-4C64-AF9F-A6D872000D1A': 1,
    'reason'?: 'xxx',
    'error': {
        'name': 'xxx',
        'message': 'xxx',
        'detail'?: 'xxx',
    },
}

其中F2C224D4-2BCE-4C64-AF9F-A6D872000D1A是约定的唯一标识 ID,reason标记异常的原因,error包含错误的详细信息。

目前定义的reason有:

  • ERR_SESSION_EXPIRED: 在session中未找到code对应的wxUserInfo,这里需要生成新的codesignature更新session(非首次请求触发有可能触发该异常)
  • ERR_SESSION_KEY_EXCHANGE_FAILEDcode换取session_key失败(首次请求有可能触发该异常)
  • ERR_UNTRUSTED_RAW_DATA: 不可信的rawData,有可能是伪造的rawDatasignature(首次请求有可能触发该异常)