Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
load(
"@io_bazel_rules_go//proto:def.bzl",
"go_proto_library",
)
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"cloud.go",
"model.go",
"open.go",
],
embed = [":model_go_proto"],
importpath = "go-common/app/service/main/passport-game/model",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//library/time:go_default_library",
"@com_github_gogo_protobuf//gogoproto:go_default_library",
"@com_github_golang_protobuf//proto:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)
proto_library(
name = "model_proto",
srcs = ["model.proto"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = ["@gogo_special_proto//github.com/gogo/protobuf/gogoproto"],
)
go_proto_library(
name = "model_go_proto",
compilers = ["@io_bazel_rules_go//proto:gogofast_proto"],
importpath = "go-common/app/service/main/passport-game/model",
proto = ":model_proto",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = ["@com_github_gogo_protobuf//gogoproto:go_default_library"],
)

View File

@@ -0,0 +1,7 @@
package model
// RegionInfo region item.
type RegionInfo struct {
Region string `json:"region"`
TokenSuffix string `json:"token_suffix"`
}

View File

@@ -0,0 +1,212 @@
package model
import (
"crypto/md5"
"encoding/hex"
"fmt"
"strconv"
xtime "go-common/library/time"
)
const (
// EmptyFace empty face
EmptyFace = "http://static.hdslb.com/images/member/noface.gif"
_cloudSalt = "bi_clould_tencent_01"
_leak = 1
)
// FullFace account full face.
func (m *Info) FullFace() string {
if m.Face == "" {
return EmptyFace
}
return fmt.Sprintf("http://i%d.hdslb.com%s", m.Mid%3, m.Face)
}
// Token token resp.
type Token struct {
Mid int64 `json:"mid"`
AppID int32 `json:"appid"`
AccessToken string `json:"access_key"`
CreateAt int64 `json:"create_at"`
UserID string `json:"userid"`
Uname string `json:"uname"`
Expires int64 `json:"expires"`
Permission string `json:"permission"`
}
// LoginToken login token.
type LoginToken struct {
Mid int64 `json:"mid"`
AccessKey string `json:"access_key"`
Expires int64 `json:"expires"`
}
// RSAKey rsa key.
type RSAKey struct {
Hash string `json:"hash"`
Key string `json:"key"`
}
// RenewToken renew token resp.
type RenewToken struct {
Expires int64 `json:"expires"`
}
// AsoAccount aso account.
type AsoAccount struct {
Mid int64 `json:"mid"`
UserID string `json:"userid"`
Uname string `json:"uname"`
Pwd string `json:"pwd"`
Salt string `json:"salt"`
Email *string `json:"email"`
Tel *string `json:"tel"`
CountryID int64 `json:"country_id"`
MobileVerified int8 `json:"mobile_verified"`
Isleak int8 `json:"isleak"`
Ctime xtime.Time `json:"-"`
Mtime xtime.Time `json:"-"`
}
// ResRegV3 ResRegV3
type ResRegV3 struct {
Mid int `json:"mid"`
}
// ResRegV2 ResRegV2
type ResRegV2 struct {
Mid int `json:"mid"`
AccessKey string `json:"accessKey"`
}
// ResReg ResReg
type ResReg struct {
Mid int `json:"mid"`
}
// ResByTel ResByTel
type ResByTel struct {
Mid int `json:"mid"`
AccessKey string `json:"accessKey"`
}
// ResCaptcha ResCaptcha
type ResCaptcha struct {
Code int `json:"code"`
Message string `json:"message"`
Data CaptchaData `json:"data"`
}
// CaptchaData CaptchaData
type CaptchaData struct {
Token string `json:"token"`
URL string `json:"url"`
}
// ArgRegV3 ArgRegV3
type ArgRegV3 struct {
User string `form:"user" validate:"required"`
Pwd string `form:"pwd" validate:"required"`
Captcha string `form:"captcha"`
Ctoken string `form:"ctoken"`
}
// ArgRegV2 ArgRegV2
type ArgRegV2 struct {
Captcha string `form:"captcha"`
Ctoken string `form:"ctoken"`
}
// ArgReg ArgReg
type ArgReg struct {
Email string `form:"email" validate:"required"`
Userpwd string `form:"pwd" validate:"required"`
User string `form:"user" validate:"required"`
}
// ArgByTel ArgByTel
type ArgByTel struct {
Tel string `form:"tel" validate:"required"`
Uname string `form:"user" validate:"required"`
Userpwd string `form:"pwd" validate:"required"`
CountryID string `form:"country_id" validate:"required"`
Captcha string `form:"captcha" validate:"required"`
}
// SendSms SendSms
type SendSms struct {
Tel string `form:"tel" validate:"required"`
CountryID string `form:"country_id" validate:"required"`
Captcha string `form:"captcha" `
Ctoken string `form:"ctoken" `
ResetPwd bool `form:"reset_pwd" `
}
// TdoRegV3 TdoRegV3
type TdoRegV3 struct {
Arg ArgRegV3
Cookie string
IP string
}
// TdoRegV2 TdoRegV2
type TdoRegV2 struct {
Arg ArgRegV2
Cookie string
IP string
}
// TdoReg TdoReg
type TdoReg struct {
Arg ArgReg
Cookie string
IP string
}
// TdoByTel TdoByTel
type TdoByTel struct {
Arg ArgByTel
Cookie string
IP string
}
// TdoSendSms TdoSendSms
type TdoSendSms struct {
Arg SendSms
Cookie string
IP string
}
// Leak leak.
func (a *AsoAccount) Leak() bool {
return a.Isleak == _leak
}
// DefaultHash hash a plain text using default salt.
func DefaultHash(plaintext string) string {
return doHash(plaintext, _cloudSalt)
}
func doHash(plaintext, salt string) string {
if plaintext == "" {
return ""
}
hash := md5.New()
hash.Write([]byte(plaintext))
hash.Write([]byte(salt))
md := hash.Sum(nil)
return hex.EncodeToString(md)
}
// DefaultUserID get default user id.
func DefaultUserID(mid int64) string {
return "用户" + strconv.FormatInt(mid, 10)
}
// DefaultUname get default uname.
func DefaultUname(mid int64) string {
return "用户" + strconv.FormatInt(mid, 10)
}

View File

@@ -0,0 +1,888 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: model.proto
/*
Package model is a generated protocol buffer package.
It is generated from these files:
model.proto
It has these top-level messages:
Info
Perm
*/
package model
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import io "io"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
// Info account info.
type Info struct {
Mid int64 `protobuf:"varint,1,opt,name=Mid,proto3" json:"mid"`
UserID string `protobuf:"bytes,2,opt,name=UserID,proto3" json:"userid"`
Uname string `protobuf:"bytes,3,opt,name=Uname,proto3" json:"uname"`
Face string `protobuf:"bytes,4,opt,name=Face,proto3" json:"face"`
HasEmail bool `protobuf:"varint,5,opt,name=HasEmail,proto3" json:"has_email"`
HasTel bool `protobuf:"varint,6,opt,name=HasTel,proto3" json:"has_tel"`
}
func (m *Info) Reset() { *m = Info{} }
func (m *Info) String() string { return proto.CompactTextString(m) }
func (*Info) ProtoMessage() {}
func (*Info) Descriptor() ([]byte, []int) { return fileDescriptorModel, []int{0} }
func (m *Info) GetMid() int64 {
if m != nil {
return m.Mid
}
return 0
}
func (m *Info) GetUserID() string {
if m != nil {
return m.UserID
}
return ""
}
func (m *Info) GetUname() string {
if m != nil {
return m.Uname
}
return ""
}
func (m *Info) GetFace() string {
if m != nil {
return m.Face
}
return ""
}
func (m *Info) GetHasEmail() bool {
if m != nil {
return m.HasEmail
}
return false
}
func (m *Info) GetHasTel() bool {
if m != nil {
return m.HasTel
}
return false
}
// Perm token.
type Perm struct {
Mid int64 `protobuf:"varint,1,opt,name=Mid,proto3" json:"mid"`
AppID int32 `protobuf:"varint,2,opt,name=AppID,proto3" json:"appid"`
AppSubID int32 `protobuf:"varint,3,opt,name=AppSubID,proto3" json:"app_subid"`
AccessToken string `protobuf:"bytes,4,opt,name=AccessToken,proto3" json:"access_token"`
RefreshToken string `protobuf:"bytes,5,opt,name=RefreshToken,proto3" json:"refresh_token"`
CreateAt int64 `protobuf:"varint,6,opt,name=CreateAt,proto3" json:"create_at"`
Expires int64 `protobuf:"varint,7,opt,name=Expires,proto3" json:"expires"`
}
func (m *Perm) Reset() { *m = Perm{} }
func (m *Perm) String() string { return proto.CompactTextString(m) }
func (*Perm) ProtoMessage() {}
func (*Perm) Descriptor() ([]byte, []int) { return fileDescriptorModel, []int{1} }
func (m *Perm) GetMid() int64 {
if m != nil {
return m.Mid
}
return 0
}
func (m *Perm) GetAppID() int32 {
if m != nil {
return m.AppID
}
return 0
}
func (m *Perm) GetAppSubID() int32 {
if m != nil {
return m.AppSubID
}
return 0
}
func (m *Perm) GetAccessToken() string {
if m != nil {
return m.AccessToken
}
return ""
}
func (m *Perm) GetRefreshToken() string {
if m != nil {
return m.RefreshToken
}
return ""
}
func (m *Perm) GetCreateAt() int64 {
if m != nil {
return m.CreateAt
}
return 0
}
func (m *Perm) GetExpires() int64 {
if m != nil {
return m.Expires
}
return 0
}
func init() {
proto.RegisterType((*Info)(nil), "model.Info")
proto.RegisterType((*Perm)(nil), "model.Perm")
}
func (m *Info) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *Info) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if m.Mid != 0 {
dAtA[i] = 0x8
i++
i = encodeVarintModel(dAtA, i, uint64(m.Mid))
}
if len(m.UserID) > 0 {
dAtA[i] = 0x12
i++
i = encodeVarintModel(dAtA, i, uint64(len(m.UserID)))
i += copy(dAtA[i:], m.UserID)
}
if len(m.Uname) > 0 {
dAtA[i] = 0x1a
i++
i = encodeVarintModel(dAtA, i, uint64(len(m.Uname)))
i += copy(dAtA[i:], m.Uname)
}
if len(m.Face) > 0 {
dAtA[i] = 0x22
i++
i = encodeVarintModel(dAtA, i, uint64(len(m.Face)))
i += copy(dAtA[i:], m.Face)
}
if m.HasEmail {
dAtA[i] = 0x28
i++
if m.HasEmail {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i++
}
if m.HasTel {
dAtA[i] = 0x30
i++
if m.HasTel {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i++
}
return i, nil
}
func (m *Perm) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *Perm) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if m.Mid != 0 {
dAtA[i] = 0x8
i++
i = encodeVarintModel(dAtA, i, uint64(m.Mid))
}
if m.AppID != 0 {
dAtA[i] = 0x10
i++
i = encodeVarintModel(dAtA, i, uint64(m.AppID))
}
if m.AppSubID != 0 {
dAtA[i] = 0x18
i++
i = encodeVarintModel(dAtA, i, uint64(m.AppSubID))
}
if len(m.AccessToken) > 0 {
dAtA[i] = 0x22
i++
i = encodeVarintModel(dAtA, i, uint64(len(m.AccessToken)))
i += copy(dAtA[i:], m.AccessToken)
}
if len(m.RefreshToken) > 0 {
dAtA[i] = 0x2a
i++
i = encodeVarintModel(dAtA, i, uint64(len(m.RefreshToken)))
i += copy(dAtA[i:], m.RefreshToken)
}
if m.CreateAt != 0 {
dAtA[i] = 0x30
i++
i = encodeVarintModel(dAtA, i, uint64(m.CreateAt))
}
if m.Expires != 0 {
dAtA[i] = 0x38
i++
i = encodeVarintModel(dAtA, i, uint64(m.Expires))
}
return i, nil
}
func encodeVarintModel(dAtA []byte, offset int, v uint64) int {
for v >= 1<<7 {
dAtA[offset] = uint8(v&0x7f | 0x80)
v >>= 7
offset++
}
dAtA[offset] = uint8(v)
return offset + 1
}
func (m *Info) Size() (n int) {
var l int
_ = l
if m.Mid != 0 {
n += 1 + sovModel(uint64(m.Mid))
}
l = len(m.UserID)
if l > 0 {
n += 1 + l + sovModel(uint64(l))
}
l = len(m.Uname)
if l > 0 {
n += 1 + l + sovModel(uint64(l))
}
l = len(m.Face)
if l > 0 {
n += 1 + l + sovModel(uint64(l))
}
if m.HasEmail {
n += 2
}
if m.HasTel {
n += 2
}
return n
}
func (m *Perm) Size() (n int) {
var l int
_ = l
if m.Mid != 0 {
n += 1 + sovModel(uint64(m.Mid))
}
if m.AppID != 0 {
n += 1 + sovModel(uint64(m.AppID))
}
if m.AppSubID != 0 {
n += 1 + sovModel(uint64(m.AppSubID))
}
l = len(m.AccessToken)
if l > 0 {
n += 1 + l + sovModel(uint64(l))
}
l = len(m.RefreshToken)
if l > 0 {
n += 1 + l + sovModel(uint64(l))
}
if m.CreateAt != 0 {
n += 1 + sovModel(uint64(m.CreateAt))
}
if m.Expires != 0 {
n += 1 + sovModel(uint64(m.Expires))
}
return n
}
func sovModel(x uint64) (n int) {
for {
n++
x >>= 7
if x == 0 {
break
}
}
return n
}
func sozModel(x uint64) (n int) {
return sovModel(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *Info) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: Info: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: Info: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Mid", wireType)
}
m.Mid = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.Mid |= (int64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field UserID", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthModel
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.UserID = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Uname", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthModel
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Uname = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Face", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthModel
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Face = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 5:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field HasEmail", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
m.HasEmail = bool(v != 0)
case 6:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field HasTel", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
m.HasTel = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipModel(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthModel
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *Perm) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: Perm: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: Perm: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Mid", wireType)
}
m.Mid = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.Mid |= (int64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 2:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field AppID", wireType)
}
m.AppID = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.AppID |= (int32(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field AppSubID", wireType)
}
m.AppSubID = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.AppSubID |= (int32(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field AccessToken", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthModel
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.AccessToken = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field RefreshToken", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthModel
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.RefreshToken = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 6:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field CreateAt", wireType)
}
m.CreateAt = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.CreateAt |= (int64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 7:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Expires", wireType)
}
m.Expires = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowModel
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.Expires |= (int64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
default:
iNdEx = preIndex
skippy, err := skipModel(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthModel
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func skipModel(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowModel
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
wireType := int(wire & 0x7)
switch wireType {
case 0:
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowModel
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
iNdEx++
if dAtA[iNdEx-1] < 0x80 {
break
}
}
return iNdEx, nil
case 1:
iNdEx += 8
return iNdEx, nil
case 2:
var length int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowModel
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
length |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
iNdEx += length
if length < 0 {
return 0, ErrInvalidLengthModel
}
return iNdEx, nil
case 3:
for {
var innerWire uint64
var start int = iNdEx
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowModel
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
innerWire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
innerWireType := int(innerWire & 0x7)
if innerWireType == 4 {
break
}
next, err := skipModel(dAtA[start:])
if err != nil {
return 0, err
}
iNdEx = start + next
}
return iNdEx, nil
case 4:
return iNdEx, nil
case 5:
iNdEx += 4
return iNdEx, nil
default:
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
}
}
panic("unreachable")
}
var (
ErrInvalidLengthModel = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowModel = fmt.Errorf("proto: integer overflow")
)
func init() { proto.RegisterFile("model.proto", fileDescriptorModel) }
var fileDescriptorModel = []byte{
// 409 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0x4f, 0x8e, 0xd3, 0x30,
0x14, 0xc6, 0xc9, 0xe4, 0x4f, 0x5b, 0x77, 0x46, 0x1a, 0xbc, 0x0a, 0x08, 0xd5, 0x55, 0x11, 0x52,
0x59, 0x30, 0x23, 0x81, 0x38, 0x40, 0xcb, 0x0c, 0x9a, 0x2e, 0x90, 0x90, 0x99, 0xae, 0x2b, 0x27,
0x79, 0x6d, 0x23, 0x92, 0xda, 0xb2, 0x13, 0x89, 0xa3, 0x70, 0x06, 0x4e, 0xc2, 0x92, 0x05, 0x6b,
0x0b, 0x95, 0x9d, 0x4f, 0x81, 0xf2, 0x1c, 0x2a, 0xd8, 0xcc, 0x2e, 0xef, 0xf7, 0xfb, 0x9e, 0xf4,
0x3d, 0x2b, 0x64, 0x5c, 0xcb, 0x02, 0xaa, 0x2b, 0xa5, 0x65, 0x23, 0x69, 0x8c, 0xc3, 0xd3, 0x57,
0xbb, 0xb2, 0xd9, 0xb7, 0xd9, 0x55, 0x2e, 0xeb, 0xeb, 0x9d, 0xdc, 0xc9, 0x6b, 0xb4, 0x59, 0xbb,
0xc5, 0x09, 0x07, 0xfc, 0xf2, 0x5b, 0xb3, 0x9f, 0x01, 0x89, 0x56, 0x87, 0xad, 0xa4, 0x4f, 0x48,
0xf8, 0xa1, 0x2c, 0xd2, 0x60, 0x1a, 0xcc, 0xc3, 0xe5, 0xc0, 0x59, 0x16, 0xd6, 0x65, 0xc1, 0x3b,
0x46, 0x67, 0x24, 0x59, 0x1b, 0xd0, 0xab, 0x9b, 0xf4, 0x6c, 0x1a, 0xcc, 0x47, 0x4b, 0xe2, 0x2c,
0x4b, 0x5a, 0x03, 0xba, 0x2c, 0x78, 0x6f, 0x28, 0x23, 0xf1, 0xfa, 0x20, 0x6a, 0x48, 0x43, 0x8c,
0x8c, 0x9c, 0x65, 0x71, 0xdb, 0x01, 0xee, 0x39, 0x7d, 0x46, 0xa2, 0xf7, 0x22, 0x87, 0x34, 0x42,
0x3f, 0x74, 0x96, 0x45, 0x5b, 0x91, 0x03, 0x47, 0x4a, 0x5f, 0x92, 0xe1, 0x9d, 0x30, 0xb7, 0xb5,
0x28, 0xab, 0x34, 0x9e, 0x06, 0xf3, 0xe1, 0xf2, 0xc2, 0x59, 0x36, 0xda, 0x0b, 0xb3, 0x81, 0x0e,
0xf2, 0x93, 0xa6, 0xcf, 0x49, 0x72, 0x27, 0xcc, 0x3d, 0x54, 0x69, 0x82, 0xc1, 0xb1, 0xb3, 0x6c,
0xd0, 0x05, 0x1b, 0xa8, 0x78, 0xaf, 0x66, 0xdf, 0xce, 0x48, 0xf4, 0x11, 0x74, 0xfd, 0xd0, 0x59,
0x8c, 0xc4, 0x0b, 0xa5, 0xfa, 0xab, 0x62, 0x5f, 0x59, 0x28, 0x55, 0x16, 0xdc, 0xf3, 0xae, 0xd4,
0x42, 0xa9, 0x4f, 0x6d, 0xb6, 0xba, 0xc1, 0xb3, 0x62, 0x5f, 0x4a, 0x28, 0xb5, 0x31, 0x6d, 0x56,
0x16, 0xfc, 0xa4, 0xe9, 0x6b, 0x32, 0x5e, 0xe4, 0x39, 0x18, 0x73, 0x2f, 0x3f, 0xc3, 0xa1, 0x3f,
0xf2, 0xd2, 0x59, 0x76, 0x2e, 0x10, 0x6f, 0x9a, 0x8e, 0xf3, 0x7f, 0x43, 0xf4, 0x2d, 0x39, 0xe7,
0xb0, 0xd5, 0x60, 0xf6, 0x7e, 0x29, 0xc6, 0xa5, 0xc7, 0xce, 0xb2, 0x0b, 0xed, 0x79, 0xbf, 0xf5,
0x5f, 0xac, 0x6b, 0xf5, 0x4e, 0x83, 0x68, 0x60, 0xd1, 0xe0, 0x0b, 0x84, 0xbe, 0x55, 0x8e, 0x6c,
0x23, 0x1a, 0x7e, 0xd2, 0xf4, 0x05, 0x19, 0xdc, 0x7e, 0x51, 0xa5, 0x06, 0x93, 0x0e, 0x30, 0x89,
0x6f, 0x05, 0x1e, 0xf1, 0xbf, 0x6e, 0x79, 0xf9, 0xfd, 0x38, 0x09, 0x7e, 0x1c, 0x27, 0xc1, 0xaf,
0xe3, 0x24, 0xf8, 0xfa, 0x7b, 0xf2, 0x28, 0x4b, 0xf0, 0xe7, 0x78, 0xf3, 0x27, 0x00, 0x00, 0xff,
0xff, 0x4a, 0x98, 0xa7, 0x40, 0x61, 0x02, 0x00, 0x00,
}

View File

@@ -0,0 +1,26 @@
syntax = "proto3";
package model;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
// Info account info.
message Info {
int64 Mid = 1 [ (gogoproto.jsontag) = "mid" ];
string UserID = 2 [ (gogoproto.jsontag) = "userid" ];
string Uname = 3 [ (gogoproto.jsontag) = "uname" ];
string Face = 4 [ (gogoproto.jsontag) = "face" ];
bool HasEmail = 5 [ (gogoproto.jsontag) = "has_email" ];
bool HasTel = 6 [ (gogoproto.jsontag) = "has_tel" ];
}
// Perm token.
message Perm {
int64 Mid = 1 [ (gogoproto.jsontag) = "mid" ];
int32 AppID = 2 [ (gogoproto.jsontag) = "appid" ];
int32 AppSubID = 3 [ (gogoproto.jsontag) = "app_subid" ];
string AccessToken = 4 [ (gogoproto.jsontag) = "access_token" ];
string RefreshToken = 5 [ (gogoproto.jsontag) = "refresh_token" ];
int64 CreateAt = 6 [ (gogoproto.jsontag) = "create_at" ];
int64 Expires = 7 [ (gogoproto.jsontag) = "expires" ];
}

View File

@@ -0,0 +1,8 @@
package model
// App app info.
type App struct {
AppID int32 `json:"appid"`
AppKey string `json:"appkey"`
AppSecret string `json:"app_secret"`
}

View File

@@ -0,0 +1,5 @@
#! /bin/sh
# proto.sh
gopath=$GOPATH/src
gogopath=$GOPATH/src/go-common/vendor/github.com/gogo/protobuf
protoc --gofast_out=. --proto_path=$gopath:$gogopath:. *.proto