欢迎来到 艾瑞可erik 的魔法世界 🧙‍♂️

一只全栈开发的程序猿,偶尔做做运维、PHP、Goland、Python、Java、摄影、画画、写作、顺便睡觉,反正整站都搞过。

📚 289 篇文章 🏷️ 501 个标签 📂 89 个分类

🔥 最新文章

如何把极路由从砖头变正常

家里有一个闲置的极路由2,试试刷个openwrt,结果一不小心刷成砖头了。开机不能通电,没有指示灯亮。本来想着就这样丢了,再弄个查查咸鱼,二手的都要100多。果断找找解决办法。找这篇文章极路由X编程器救砖教程编程器刷PandoraBox,根据这篇文章,到万能的淘宝买了CH341A编程器 + 烧录夹

go-zero微服务试用

参考地址:https://go-zero.dev/cn/docs/quick-start/micro-service#%E5%88%9B%E5%BB%BAuser-rpc%E6%9C%8D%E5%8A%A1

go-zero介绍

go-zero(收录于 CNCF 云原生技术全景图:https://landscape.cncf.io/?selected=go-zero)是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。

beego中数据库分页

beego中数据库分页

  func PageDB(limit int, page int, count int64) (int, int) {
      pageSetNum := limit // 每页条数

      pageCount := math.Ceil((float64(count)) / (float64(pageSetNum))) // 总页数
      pageNum := page                                                  // 当前页码

      if pageNum > int(pageCount) { // 如果传入的页码超出范围
          pageNum = int(pageCount)
      }
      offset := pageSetNum * (pageNum - 1)
      if offset < 0 {
          offset = 0
      }
      return pageSetNum, offset
  }

go对接快递

  • 韵达签名
  func YunDaSign(structData interface{}) ([]byte, string, string) {
      jsonData, _ := json.Marshal(structData)
      appKey := "你的key"
      appSecret := "你的秘钥"
      newStr := string(jsonData) + "_" + appSecret
      md := md5.New()
      md.Write([]byte(newStr))
      md5Str := hex.EncodeToString(md.Sum(nil))
      return jsonData, appKey, md5Str
  }

go中加解密

func PKCS7Padding(ciphertext []byte, blockSize int) []byte {
    padding := blockSize - len(ciphertext)%blockSize
    //Repeat()函数的功能是把切片[]byte{byte(padding)}复制padding个,然后合并成新的字节切片返回
    padtext := bytes.Repeat([]byte{byte(padding)}, padding)
    return append(ciphertext, padtext...)
}

go中时间范围的获取

获取部分时间范围

//获得当前月的初始和结束日期
func GetMonthDay(types int) (string, string) {
    now := time.Now()
    currentYear, currentMonth, _ := now.Date()
    currentLocation := now.Location()

    firstOfMonth := time.Date(currentYear, currentMonth, 1, 0, 0, 0, 0, currentLocation)
    lastOfMonth := firstOfMonth.AddDate(0, 1, -1)
    f := firstOfMonth.Unix()
    l := lastOfMonth.Unix()
    if types == 1 {
        return time.Unix(f, 0).Format("2006-01-02"), time.Unix(l, 0).Format("2006-01-02")
    }
    return time.Unix(f, 0).Format("2006-01-02") + " 00:00:00", time.Unix(l, 0).Format("2006-01-02") + " 23:59:59"
}