Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@icreate/ics-chromely-js-sdk

Package Overview
Dependencies
Maintainers
12
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@icreate/ics-chromely-js-sdk

import icsChromelyRequest from '@icreate/ics-chromely-js-sdk' ## 对错误做统一处理 errorFn

  • 0.0.8
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-50%
Maintainers
12
Weekly downloads
 
Created
Source

引入

import icsChromelyRequest from '@icreate/ics-chromely-js-sdk'

对错误做统一处理 errorFn

icsChromelyRequest.errorFn = (response) => {
  console.log(response, 'error')
  Message({
    message: response.message || 'Error',
    type: 'error',
    duration: 5  1000
  })
}
注意:由于多个sdk包会引用此包,故错误处理应该在主应用使用,而不是在sdk包中使用,为保证多个sdk使用的为同一个类的引用,在sdk打包时应去掉此包的依赖,在rollup.config.ts中添加以下配置,其余打包工具方法请自行查找
external: ['@icreate/ics-chromely-js-sdk']

使用

icsChromelyRequest.command

icsChromelyRequest.command(opts: { url: string; data?: any }): void

icsChromelyRequest.function

icsChromelyRequest.function(opts: { url: string; method?: 'POST' | 'GET'; data?: any })
注意:参数需要根据C#文件来定义,以下面的C#文件为例, url为RouteKey关键字对应值;request.Parameters["key"]对应的则为GET方法,且参数为key;_jsonSerializer.Deserialize<CacheModel>(request.PostData.ToString())对应的则为POST方法,参数为CacheModel对应的数据类型。
{
    /// <summary>
    /// Memory Caching Controller
    /// </summary>
    [ControllerProperty(Name = "MemoryCachingController")]
    public class MemoryCachingController : IcsChromelyController
    {
        private readonly IJsonSerializer _jsonSerializer;
        private readonly IMemoryCache _memoryCache;

        /// <summary>
        /// 构造函数
        /// </summary>
        public MemoryCachingController(IJsonSerializer jsonSerializer, IMemoryCache memoryCache)
        {
            _jsonSerializer = jsonSerializer;
            _memoryCache = memoryCache;
        }

        /// <summary>
        /// 设置缓存(POST)
        /// </summary>
        /// <param name="queryParameters">查询参数</param>
        [RequestAction(RouteKey = "Caching/Memory/Set")]
        public IIcsChromelyResponse Set(IIcsChromelyRequest request)
        {
            try
            {
                Check.NotNull(request.PostData, "缓存对象");
                var cacheModel = _jsonSerializer.Deserialize<CacheModel>(request.PostData.ToString());
                _memoryCache.Set(cacheModel.Key, cacheModel.Value);
                return Success("Ok");
            }
            catch (Exception ex)
            {
                return InternalError(ex.Message);
            }
        }

        /// <summary>
        /// 获取缓存(GET)
        /// </summary>
        /// <param name="queryParameters">查询参数</param>
        [RequestAction(RouteKey = "Caching/Memory/Get")]
        public IIcsChromelyResponse Info(IIcsChromelyRequest request)
        {
            try
            {
                if (!request.Parameters.ContainsKey("key"))
                    throw new ArgumentNullException("key");
                string key = request.Parameters["key"];
                Check.NotNull(key, "缓存键");
                string value = _memoryCache.Get<string>(key);
                return Success(value);
            }
            catch (Exception ex)
            {
                return InternalError(ex.Message);
            }
        }


        /// <summary>
        /// 删除缓存(GET)
        /// </summary>
        /// <param name="queryParameters">查询参数</param>
        [RequestAction(RouteKey = "Caching/Memory/Remove")]
        public IIcsChromelyResponse Remove(IIcsChromelyRequest request)
        {
            try
            {
                if (!request.Parameters.ContainsKey("key"))
                    throw new ArgumentNullException("key");
                string key = request.Parameters["key"];
                Check.NotNull(key, "缓存键");
                _memoryCache.Remove(key);
                return Success("ok");
            }
            catch (Exception ex)
            {
                return InternalError(ex.Message);
            }
        }
    }
}

FAQs

Package last updated on 23 Apr 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

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