微信开发者工具
执行以下命令安装小程序npm扩展包:
// 安装前置模块
npm install crypto-js
// 安装加密SDK
npm install storage-sdk-xcx
下面为您演示使用Storage JS SDK完成一个基础操作,如创建一条数据。
// app.js
const { create } = require('storage-sdk-xcx')
const http = create({
baseUrl: 'http://dev-gw.sunac.com.cn',
crypto: {
type: 'des',
key: 'kkkkkkkkkkkkkkkk',
cfg: {
iv: 'kkkkkkkkkkkkkkkk'
}
},
signQuery: {
ak: "ccccc",
sk: "bbbbb"
}
})
http.post('/storage/api/v1/tenant/insertOne?tenantId=tenantId_3002', {
"tenantId": "tenantId_3002",
"tempId": "tempId-01",
"data": {
"name": "ssss",
"phone": "15811388293"
}
}, {
unEncryt: false
}).then(res => {
console.log(res)
})
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
baseUrl | base 地址 | string | - |
crypto | 加密对象 | object | - |
unEncryt | 禁用加密,在create 实例传入将覆盖至所有接口,单个接口使用,在config添加该属性中也生效 | boolean | falase |
signQuery | 签名参数配置 | object | - |
…… | 其余参数均和 【wx.request】 配置相同 | - | - |
参数 | 类型 | 是否必填 | 针对加密对象 |
---|---|---|---|
type | aes|des |rsa_PKCS1 | 是 | all |
key | string 加密key值 | 是 | all |
cfg | 调整aes、des的加密模式、填充模式等等具体可以查看文档 【crypto-js】, 目前仅支持mode:CBC padding: Pkcs7,其中iv参数非必填项默认为""。 | 否 | ase|ase |
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
sk | sercetKey | string | - |
ak | accessKey | string | - |
exp | 单位:秒。exp秒后过期 | number | 900 |
// 请求拦截器
http.interceptors.request.use((config) => {
return config;
});
// 响应拦截器
http.interceptors.response.use((res) => {
// 自定义错误
if (res.code !== 200) {
return Promise.reject(new Error("Request Error"));
};
return res;
}, (error) => {
const { message, response, config } = error;
return Promise.reject(error);
});
http.request(config)
http.get(url[, data[, config]])
http.post(url[, data[, config]])
http.put(url[, data[, config]])
http.delete(url[, config])
http.head(url[, config])
http.options(url[, config])
http.connect(url[, config])