Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/go-http/feidee
随手记API
https://github.com/go-http/feidee
api feidee golang
Last synced: 7 days ago
JSON representation
随手记API
- Host: GitHub
- URL: https://github.com/go-http/feidee
- Owner: go-http
- License: apache-2.0
- Created: 2017-07-10T05:59:27.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-21T04:48:55.000Z (5 months ago)
- Last Synced: 2024-06-21T22:45:29.424Z (5 months ago)
- Topics: api, feidee, golang
- Language: Go
- Size: 58.6 KB
- Stars: 25
- Watchers: 3
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# feidee [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/go-http/feidee/v2)](https://pkg.go.dev/mod/github.com/go-http/feidee/v2)
随手记API# Usage
## 创建并初始化客户端
```go
//创建客户端并登录
client := feidee.New("username", "password")
if err != nil {
return fmt.Errorf("登录失败:%s", err)
}//(可选)获取账本列表
err = client.SyncAccountBookList()
if err != nil {
return fmt.Errorf("刷新账本列表失败: %s", err)
}//(可选)切换账本(此处需要上一步同步账本列表才能通过账本名查到账本ID,否则会报错找不到账本)
err = client.SwitchBook("默认账本")
if err != nil {
return fmt.Errorf("切换账本失败: %s", err)
}//同步基础数据(科目、成员、商家、项目、账户等)
err = client.SyncMetaInfo()
if err != nil {
return fmt.Errorf("同步账户基础信息失败:%s", err)
}
```## 打印上个月对账信息
```go
now := time.Now()
t := time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, time.Local)
start := t.AddDate(0, -1, 0)
end := start.AddDate(0, 1, -1)for id, account := range FdCLient.AccountMap {
list, err := FdCLient.CompareReport(id, start, end)
if err != nil {
fmt.Printf("\n\n账户%s错误:%s", account.Name, err)
continue
}
fmt.Println("\n\n账户:", account.Name, "x", len(list))
for _, info := range list {
fmt.Printf("\t%+v\n", info)
}
}
```## 查询并打印按月收支
```go
infoMap, err := FdCLient.MonthIncomeAndPayoutMap(2017, 2018)
if err != nil {
fmt.Printf("查询按月收支信息失败: %s", err)
return
}
for key, info := range infoMap {
fmt.Printf("%d: %+v\n", key, info)
}
```## 查询并打印上月流水
```go
now := time.Now()
t := time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, time.Local)
start := t.AddDate(0, -1, 0)
end := start.AddDate(0, 1, -1)info, err := FdCLient.TallyList(start, end, nil)
if err != nil {
fmt.Printf("查询失败:%s", err)
return
}fmt.Printf("%s - %s\n", info.BeginDate, info.EndDate)
fmt.Printf("汇总:%+v\n", info.IncomeAndPayout)
for i, group := range info.Groups {
fmt.Printf("%+v\n", group.IncomeAndPayout)
for j, t := range group.List {
fmt.Printf("%d-%d %4s(%2d) %8s => %8s %10.2f\n", i, j, t.TranName, t.TranType, t.BuyerAcount, t.SellerAcount, t.ItemAmount)
}
}
```