Example #1
0
        public override List <Result> GetResults(GenQuery query)
        {
            var results = new List <Result>();

            try
            {
                int?value = null;

                // 1 个参数的情况,即 rand
                if (query.Queries.Length == 1)
                {
                    value = _random.Next(0, 100);
                }

                // 2 个参数的情况,即 rand maxValue
                if (query.Queries.Length == 2)
                {
                    var maxValue = Int32.Parse(query.SecondSearch);
                    value = _random.Next(maxValue);
                }

                // 3 个参数的情况,即 rand minValue maxValue
                if (query.Queries.Length == 3)
                {
                    var minValue = Int32.Parse(query.SecondSearch);
                    var maxValue = Int32.Parse(query.ThirdSearch);
                    value = _random.Next(minValue, maxValue);
                }

                if (value.HasValue)
                {
                    var valueString = value.ToString();

                    results.Add(new Result
                    {
                        Title    = value.ToString(),
                        SubTitle = GetTranslatedGlobalTipCopyToClipboard(),
                        IcoPath  = Icons.RAND_ICON_PATH,
                        Action   = e => _copyToClipboard(valueString),
                        Score    = Scores.MAX_SCORE
                    });
                }
            }
            catch (Exception ex)
            {
                results.Add(new Result
                {
                    Title    = ex.Message.RemoveLineWrapping(),
                    SubTitle = GetTranslatedRandExceptionSubTitle(),
                    IcoPath  = Icons.RAND_ICON_PATH,
                    Action   = e => true,
                    Score    = Scores.MAX_SCORE
                });
            }

            results.Add(GetInfoResult());

            return(results);
        }
        public override List <Result> GetResults(GenQuery query)
        {
            var results = new List <Result>();

            if (!String.IsNullOrEmpty(query.SecondSearch))
            {
                var base64String = Convert.ToBase64String(Encoding.UTF8.GetBytes(query.SecondSearch));

                results.Add(new Result
                {
                    Title    = base64String,
                    SubTitle = GetTranslatedGlobalTipCopyToClipboard(),
                    IcoPath  = Icons.LOCK_ICON_PATH,
                    Action   = e => _copyToClipboard(base64String),
                    Score    = Scores.MAX_SCORE
                });
            }

            results.Add(GetInfoResult());

            return(results);
        }
Example #3
0
        public override List <Result> GetResults(GenQuery query)
        {
            var results = new List <Result>();
            var guid    = Guid.NewGuid();

            // ToString() 默认为小写
            var guidStrings = new string[]
            {
                guid.ToString("N"),        // 00000000000000000000000000000000
                guid.ToString(),           // 00000000-0000-0000-0000-000000000000
                guid.ToString("B"),        // {00000000-0000-0000-0000-000000000000}
                guid.ToString("X")         // {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
            };

            // u 参数,转换大写
            if ("u" == query.SecondSearch?.ToLower())
            {
                guidStrings = guidStrings.Select(s => s.ToUpper()).ToArray();
            }

            for (var i = 0; i < guidStrings.Length; i++)
            {
                var s = guidStrings[i];

                results.Add(new Result
                {
                    Title    = s,
                    SubTitle = GetTranslatedGlobalTipCopyToClipboard(),
                    IcoPath  = Icons.GUID_ICON_PATH,
                    Action   = e => _copyToClipboard(s),
                    Score    = Scores.MAX_SCORE - i
                });
            }

            results.Add(GetInfoResult());

            return(results);
        }
        public override List <Result> GetResults(GenQuery query)
        {
            var results = new List <Result>();

            try
            {
                if (!String.IsNullOrEmpty(query.SecondSearch))
                {
                    var base64Bytes = Convert.FromBase64String(query.SecondSearch);
                    var str         = Encoding.UTF8.GetString(base64Bytes);

                    results.Add(new Result
                    {
                        Title    = str,
                        SubTitle = GetTranslatedGlobalTipCopyToClipboard(),
                        IcoPath  = Icons.UNLOCK_ICON_PATH,
                        Action   = e => _copyToClipboard(str),
                        Score    = Scores.MAX_SCORE
                    });
                }
            }
            catch (Exception ex)
            {
                results.Add(new Result
                {
                    Title    = ex.Message,
                    SubTitle = GetTranslatedGlobalTipCopyToClipboard(),
                    IcoPath  = Icons.UNLOCK_ICON_PATH,
                    Action   = e => true,
                    Score    = Scores.MAX_SCORE
                });
            }

            results.Add(GetInfoResult());

            return(results);
        }
Example #5
0
 public abstract List <Result> GetResults(GenQuery query);
        public override List <Result> GetResults(GenQuery query)
        {
            var results = new List <Result>();

            // 第二个参数,即需要转换的 unix timestamp
            if (String.IsNullOrEmpty(query.SecondSearch))
            {
                // 没传第二个参数,表示根据当前时间生成 unix timestamp

                var utcDatetime = DateTimeOffset.UtcNow;
                var timestamp   = utcDatetime.ToUnixTimeSeconds().ToString();

                results.Add(new Result
                {
                    Title    = timestamp,
                    SubTitle = GetTranslatedGlobalTipCopyToClipboard(),
                    IcoPath  = Icons.TIME_ICON_PATH,
                    Action   = e => _copyToClipboard(timestamp),
                    Score    = Scores.MAX_SCORE
                });
            }
            else
            {
                // 传入第二个参数,表示要将传入的 timestamp 转换为可读的日期格式
                try
                {
                    var timestamp   = Int64.Parse(query.SecondSearch);
                    var utcDatetime = DateTimeExtension.UtcZero.FromUnixTimeSeconds(timestamp);

                    // UTC 时间
                    var utcDateTimeString = utcDatetime.DateTime.ToString();    // .DateTime 是为了消掉 ToString() 后的 +08:00
                    results.Add(new Result
                    {
                        Title    = utcDateTimeString,
                        SubTitle = GetTranslatedUnixTimestampUtcTipSubTitle(),
                        IcoPath  = Icons.TIME_ICON_PATH,
                        Action   = e => _copyToClipboard(utcDateTimeString),
                        Score    = Scores.MAX_SCORE
                    });

                    // 当前计算机时区时间
                    var localDateTimeString = utcDatetime.ToLocalTime().DateTime.ToString();
                    results.Add(new Result
                    {
                        Title    = localDateTimeString,
                        SubTitle = GetTranslatedUnixTimestampLocalTipSubTitle(TimeZoneInfo.Local.StandardName, TimeZoneInfo.Local.DisplayName),
                        IcoPath  = Icons.TIME_ICON_PATH,
                        Action   = e => _copyToClipboard(localDateTimeString),
                        Score    = Scores.MAX_SCORE - 1
                    });
                }
                catch (Exception ex)
                {
                    results.Add(new Result
                    {
                        Title    = ex.Message.RemoveLineWrapping(),
                        SubTitle = GetTranslatedUnixTimestampExceptionSubTitle(),
                        IcoPath  = Icons.TIME_ICON_PATH,
                        Action   = e => true,
                        Score    = Scores.MAX_SCORE - 1
                    });
                }
            }

            results.Add(GetInfoResult());

            return(results);
        }