Files
2026-02-06 14:44:06 +08:00

112 lines
3.5 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package utils
import (
"fmt"
"log"
"sundynix-go/utils/location"
"sundynix-go/utils/timer"
"sundynix-go/utils/uniqueid"
"testing"
"time"
)
func TestHashPwd(t *testing.T) {
hash := BcryptHash("sundynix")
fmt.Println(hash) // $2a$10$QC/zkQ/ohPmvjF/goDyicu7cHgAEj8gHg6OTDHWhbYQMHHn4dwxX2
//check := BcryptCheck("sundynix", "$2a$10$QC/zkQ/ohPmvjF/goDyicu7cHgAEj8gHg6OTDHWhbYQMHHn4dwxX2")
//fmt.Println(check)
}
func TestUuid(t *testing.T) {
id := uniqueid.GenerateId()
fmt.Println(id)
}
func TestTimePeriod(t *testing.T) {
str := "2025-11-19 10:29:20.597"
parse, _ := time.ParseInLocation("2006-01-02 15:04:05.999999999", str, time.Local)
interval := timer.TimeInterval(parse)
fmt.Println(interval)
}
func TestPoint2Code(t *testing.T) {
//latitude := float32(39.90882)
//longitude := float32(116.39748)
longitude := float32(102.74837)
latitude := float32(25.02847)
// 调用逆地理编码
entity, err := location.Point2code(longitude, latitude)
if err != nil {
log.Fatalf("获取地址失败: %v", err)
}
// 打印结果
// 打印结果
fmt.Println("=== 解析结果 ===")
fmt.Println("格式化地址:", entity.Address)
fmt.Println("省份:", entity.AddressComponent.Province.String())
fmt.Println("城市:", entity.AddressComponent.City.String())
fmt.Println("区县:", entity.AddressComponent.District.String())
fmt.Println("乡镇:", entity.AddressComponent.Township)
fmt.Println("街道:", entity.AddressComponent.Street)
fmt.Println("门牌号:", entity.AddressComponent.StreetNumber.Number)
fmt.Println("门牌号所属街道:", entity.AddressComponent.StreetNumber.Street)
fmt.Println("行政区划编码:", entity.AddressComponent.Adcode)
fmt.Println("国家:", entity.AddressComponent.Country)
}
func TestWeather(t *testing.T) {
adcode := "532325"
// 可选:extensions="all" 查询实时+未来3天预报
weatherResp, err := location.GetWeather(adcode, "base")
if err != nil {
log.Fatalf("查询天气失败: %v", err)
}
// 打印实时天气
fmt.Println("=== 实时天气 ===")
live := weatherResp.Lives[0] // 实时天气数组仅1条数据
fmt.Printf("省份:%s\n", live.Province)
fmt.Printf("城市:%s\n", live.City)
fmt.Printf("行政区划编码:%s\n", live.Adcode)
fmt.Printf("天气:%s\n", live.Weather)
fmt.Printf("实时气温:%s℃\n", live.Temperature)
fmt.Printf("风向:%s\n", live.WindDirection)
fmt.Printf("风力:%s级\n", live.WindPower)
fmt.Printf("湿度:%s%%\n", live.Humidity)
fmt.Printf("数据更新时间:%s\n", live.ReportTime)
// 若查询的是all(实时+预报),打印预报数据
// if len(weatherResp.Forecasts) > 0 {
// fmt.Println("\n=== 未来3天预报 ===")
// forecast := weatherResp.Forecasts[0]
// for _, day := range forecast.Casts {
// fmt.Printf("\n日期:%s(星期%s\n", day.Date, day.Week)
// fmt.Printf("白天天气:%s,温度:%s℃\n", day.DayWeather, day.DayTemp)
// fmt.Printf("夜间天气:%s,温度:%s℃\n", day.NightWeather, day.NightTemp)
// fmt.Printf("白天风向/风力:%s/%s级\n", day.DayWindDir, day.DayWindPower)
// }
// }
}
func TestGenOrderNo(t *testing.T) {
no := uniqueid.GenOrderNo()
fmt.Println(no)
}
func TestTime(t *testing.T) {
milliTimestamp := time.Now().UnixMilli()
microTimestamp := time.Now().UnixMicro()
fmt.Printf("毫秒级时间戳: %d\n", milliTimestamp)
fmt.Printf("微秒级时间戳: %d\n", microTimestamp)
}
func TestGetZeroTime(t *testing.T) {
zeroTime := timer.GetZeroTime()
fmt.Printf("当天零点: %v\n", zeroTime)
fmt.Printf("时间戳(秒): %v\n", zeroTime.Unix())
}