New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

youzanyun-sdk-nodejs

Package Overview
Dependencies
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

youzanyun-sdk-nodejs - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

27

api-client.js

@@ -28,3 +28,3 @@ /**

const Breakdown = require('./breakdown');
const { NEED_PREVENT_BREAKDOWN } = require('./config');
const { NEED_PREVENT_BREAKDOWN, OPEN_HOST, QA_OPEN_HOST } = require('./config');
const packageJson = require('./package.json');

@@ -35,7 +35,9 @@

this._httpClient = httpClient;
this._openHost = openHost;
this._openHost = openHost || QA_OPEN_HOST;
this._tokenCache = new TokenCache();
this._breakdown = new Breakdown();
const { CLIENT_ID, CLIENT_SECRET } = this._getCurrentSecret();
this._tokenService = new TokenService({
...this._getCurrentSecret(),
clientId: CLIENT_ID,
clientSecret: CLIENT_SECRET,
httpClient,

@@ -53,3 +55,3 @@ });

// 是否处在防击穿的状态
const isInBreakdown = this._breakdown.get(CLIENT_ID, kdtId);
const isInBreakdown = this._breakdown.isBreakdown(CLIENT_ID, kdtId);

@@ -69,3 +71,3 @@ if (isInBreakdown) {

// 去远程获取
const token = await this._tokenService.getToken({ kdtId });
const token = await this._tokenService.getToken({ kdtId, type: 'cloud_function' });

@@ -87,3 +89,4 @@ if (token) {

try {
token = await this._getToken(kdtId);
const tokenResult = await this._getToken(kdtId);
token = tokenResult.access_token;
} catch (e) {

@@ -105,5 +108,5 @@ throw e;

if (token) {
url = `https://${this.openHost}/api/${api}/${version}?access_token=${token}`;
url = `https://${this._openHost}/api/${api}/${version}?access_token=${token}`;
} else {
url = `https://${this.openHost}/api/auth_exempt/${api}/${version}`;
url = `https://${this._openHost}/api/auth_exempt/${api}/${version}`;
}

@@ -125,3 +128,3 @@

async _requestJson(url, data) {
let response = await this.httpClient.request({
let response = await this._httpClient.request({
url,

@@ -131,3 +134,3 @@ method: 'post',

headers: {
'User-Agent': `YZY-Free-Client ${packageJson.version}-Node`,
'User-Agent': `youzanyun-sdk-nodejs ${packageJson.version}-Node`,
},

@@ -149,3 +152,3 @@ });

let response = await this.httpClient.request({
let response = await this._httpClient.request({
url,

@@ -157,3 +160,3 @@ method: 'post',

{
'User-Agent': `YZY-Free-Client ${packageJson.version}-NodeJs`,
'User-Agent': `youzanyun-sdk-nodejs ${packageJson.version}-NodeJs`,
},

@@ -160,0 +163,0 @@ form.getHeaders(),

exports.OPEN_HOST = 'open.youzanyun.com';
exports.TOKEN_HOST = 'open.youzanyun.com';
exports.QA_TOKEN_HOST = 'bifrost-oauth.qa.s.qima-inc.com';
exports.QA_OPEN_HOST = 'bifrost-gateway.qa.s.qima-inc.com';
/** 需要防击穿的场景 */

@@ -4,0 +6,0 @@ exports.NEED_PREVENT_BREAKDOWN = [

{
"name": "youzanyun-sdk-nodejs",
"version": "1.1.0",
"version": "1.2.0",
"description": "有赞云 nodejs sdk",

@@ -5,0 +5,0 @@ "main": "index.js",

const sdk = require('./index');
const main_handler = async () => {
const http_main_handler = async () => {
try {

@@ -16,2 +16,17 @@ const res = await sdk.request({

main_handler();
const call_main_handler = async () => {
const foo = await sdk.callApi({
api: 'youzan.shop.configs.get',
version: '1.0.0',
params: {
keys: ['is_youzan_secured', 'customer_blacklist_switch'],
},
files: null,
kdtId: 53548965,
});
console.log(foo);
};
// http_main_handler();
call_main_handler();

@@ -1,3 +0,25 @@

class TokenCache {}
/**
* 缓存 access_token, 以 `CLIENT_ID-${kdtId}` 为 key
*
* @typedef {Object} IValue
* @property {number} expires 过期时间
* @property {string} token 实际的 token 值
*/
class TokenCache {
_store = {};
get(clientId, kdtId) {
if (this._store[`${clientId}-${kdtId}`]) {
return this._store[`${clientId}-${kdtId}`];
}
return false;
}
set(clientId, kdtId, tokenData) {
this._store[`${clientId}-${kdtId}`] = tokenData;
return true;
}
}
module.exports = TokenCache;

@@ -6,2 +6,3 @@ const config = require('./config');

const Type_RefreshCloudSelfToken = 'silent';
const Type_CloudFunction = 'cloud_function';

@@ -32,34 +33,34 @@ /**

this.httpClient = httpClient;
this.requestTokenUrl = `https://${tokenHost || config.TokenHost}/auth/token`;
this.requestTokenUrl = `https://${tokenHost || config.QA_TOKEN_HOST}/auth/token`;
}
/**
* 获取自用型应用token。token过期后,需要再次调用此接口获取新token
*/
async getCloudSelfToken(kdtId) {
return await this.getToken({
type: Type_RefreshCloudSelfToken,
kdtId,
});
}
// /**
// * 获取自用型应用token。token过期后,需要再次调用此接口获取新token
// */
// async getCloudSelfToken(kdtId) {
// return await this.getToken({
// type: Type_RefreshCloudSelfToken,
// kdtId,
// });
// }
/**
* 获取工具型应用token
*/
async getCloudToolToken(code) {
return await this.getToken({
type: Type_GetCloudToolToken,
code,
});
}
// /**
// * 获取工具型应用token
// */
// async getCloudToolToken(code) {
// return await this.getToken({
// type: Type_GetCloudToolToken,
// code,
// });
// }
/**
* 刷新工具型应用token
*/
async refreshCloudToolToken(refreshToken) {
return await this.getToken({
type: Type_RefreshCloudToolToken,
refreshToken,
});
}
// /**
// * 刷新工具型应用token
// */
// async refreshCloudToolToken(refreshToken) {
// return await this.getToken({
// type: Type_RefreshCloudToolToken,
// refreshToken,
// });
// }

@@ -79,22 +80,28 @@ async getToken({

switch (type) {
// 自用型应用获取 token
case Type_RefreshCloudSelfToken:
// // 自用型应用获取 token
// case Type_RefreshCloudSelfToken:
// params['grant_id'] = kdtId;
// break;
// // 工具型应用获取 token
// case Type_GetCloudToolToken:
// params['code'] = code;
// break;
// // 工具型应用刷新 token
// case Type_RefreshCloudToolToken:
// params['refresh_token'] = refreshToken;
// break;
case Type_CloudFunction: {
params['grant_id'] = kdtId;
break;
// 工具型应用获取 token
case Type_GetCloudToolToken:
params['code'] = code;
break;
// 工具型应用刷新 token
case Type_RefreshCloudToolToken:
params['refresh_token'] = refreshToken;
break;
}
default:
break;
}
let response = await this.httpClient.request({
const requestParams = {
url: this.requestTokenUrl,
method: 'post',
data: params,
});
};
console.log('getToken requestParams', requestParams);
let response = await this.httpClient.request(requestParams);
if (response.data.success) {

@@ -101,0 +108,0 @@ return response.data.data;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc