# api文档 **Repository Path**: weboth/api-doc ## Basic Information - **Project Name**: api文档 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-10 - **Last Updated**: 2021-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # H!School API文档接口 ## 接口一览表 - [通用方法](./doc/common.md) - [流相关](./doc/hls.md) - [IM相关](./doc/im.md) - [PUSHSERVER](./doc/pushserver.md) - [校友圈相关](./doc/moments.md)ss ## 接口规范 ### 入参json体 ```json header:{ 'token':Bearn.JOWFWDJLDJLAJLAFOIJL, //详见token接口规范 'timestamp': Date.parse(new Date()) //1625816119000, <注意是毫秒级>, 'Content-Type': 'application/json', 'deviceId':uni.getStorageSync('user').deviceId //设备ID }, //普通请求数据 data:{ <数据> } ``` ```javascript import CryptoJS from './js/crypto-js.js' //加密数据请求 const encryptedData = CryptoJS.AES.encrypt( JSON.stringify(<请求数据JSON体>), CryptoJS.enc.Base64.parse(加密公钥), { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7, length: 128 }).toString() const timestamp = new Date().getTime() const sign = CryptoJS.SHA1(encryptedData + timestamp + 加密私钥).toString() data = JSON.stringify({"sign": sign, "encryptedData": encryptedData, "timestamp": timestamp}) //发送到服务端的数据 //解密 export const decrypt = (word, 加密公钥) => { return CryptoJS.AES.decrypt(word, CryptoJS.enc.Base64.parse(加密公钥), { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7, length: 128 }).toString(CryptoJS.enc.Utf8) } ``` ## 出参 ```json { "code": "200", "data": {}, //返回值 "msg": "code == 200 ? null : 错误提示" } ``` ## 错误code码 错误码 | 意义 ---|--- 200 | 正确 444 | Token过期 500 | 程序错误,错误内容详见msg 40301|加密内容无法解析