Pr/avatar (#319)

* feat: add avatar api
close #310

* chore: add description line

* fix: typo

* chore: reformat the json string to make it more readable and fix few bad indents

* fix: minimum go version

* feat: upload to Micro's CDN

* chore: delete redundant blank line

* chore: update README.md
This commit is contained in:
zhaoyang
2021-12-11 16:20:48 +08:00
committed by GitHub
parent f68c1cb08a
commit bba608b405
16 changed files with 664 additions and 64 deletions

30
avatar/proto/avatar.proto Normal file
View File

@@ -0,0 +1,30 @@
syntax = "proto3";
package avatar;
option go_package = "./proto;avatar";
service Avatar {
rpc Generate(GenerateRequest) returns (GenerateResponse) {}
}
message GenerateRequest {
// avatar's gender, `male` or `female`, default is `male`
string gender = 1;
// avatar's username, unique username will generates the unique avatar;
// if username == "", will generate a random avatar in every request
// if upload == true, username will be used as CDN filename rather than a random uuid string
string username = 2;
// encode format of avatar image, `png` or `jpeg`, default is `jpeg`
string format = 3;
// if upload to m3o CDN, default is `false`
// if update = true, then it'll return the CDN url
bool upload = 4;
}
message GenerateResponse {
// Micro's CDN url of the avatar image
string url = 1;
// base64encode string of the avatar image
string base64 = 2;
}