当前位置: 首页 > news >正文

如何介绍设计的网站模板做宴会有哪些素材网站

如何介绍设计的网站模板,做宴会有哪些素材网站,普通人做电商要多少钱,wordpress创建搜索结果文章目录 1.环境准备2.验证码服务2.1 kratos 初始化验证码服务项目2.2 使用 Protobuf 定义验证码生成接口2.3 业务逻辑代码实现 1.环境准备 protoc和protoc-gen-go插件安装和kratos工具安装 protoc下载 下载二进制文件#xff1a;https://github.com/protocolbuffers/protobu… 文章目录 1.环境准备2.验证码服务2.1 kratos 初始化验证码服务项目2.2 使用 Protobuf 定义验证码生成接口2.3 业务逻辑代码实现 1.环境准备 protoc和protoc-gen-go插件安装和kratos工具安装 protoc下载 下载二进制文件https://github.com/protocolbuffers/protobuf/releases 下拉到最下方下载系统对应的版本将解压出来bin目录下的protoc.exe拷贝到GOPATH的bin目录下。查看protoc版本protoc --version。 protoc-gen-go插件安装 protoc是针对所有语言开发的protoc-gen-go是专门针对go语言开发因为是使用go语言开发的所以直接使用go install就可以进行安装安装后在GOPATH的bin沐目录下就会有对应的二进制文件。go install google.golang.org/protobuf/cmd/protoc-gen-golatest版本验证protoc-gen-go --versiongo install google.golang.org/grpc/cmd/protoc-gen-go-grpclatest版本验证protoc-gen-go-grpc --version kratos工具安装 kratos也是go语言编写的帮助我们快速生成代码的直接go install安装即可安装完成也会在GOPATH的bin目录中生成二进制文件。安装命令go install github.com/go-kratos/kratos/cmd/kratos/v2latest版本验证kratos -v 2.验证码服务 2.1 kratos 初始化验证码服务项目 kratos new kratos-demo03PS E:\java\go_code kratos new kratos-demo03Creating service kratos-demo03, layout repo is https://github.com/go-kratos/kratos-layout.git, please wait a moment.Already up to date.CREATED E:\java\go_code\kratos-demo03\.gitignore (590 bytes) CREATED E:\java\go_code\kratos-demo03\Dockerfile (483 bytes) CREATED E:\java\go_code\kratos-demo03\LICENSE (1087 bytes) CREATED E:\java\go_code\kratos-demo03\Makefile (2608 bytes) CREATED E:\java\go_code\kratos-demo03\README.md (1113 bytes) CREATED E:\java\go_code\kratos-demo03\api\helloworld\v1\error_reason.pb.go (5126 bytes) CREATED E:\java\go_code\kratos-demo03\api\helloworld\v1\error_reason.proto (306 bytes) CREATED E:\java\go_code\kratos-demo03\api\helloworld\v1\greeter.pb.go (8299 bytes) CREATED E:\java\go_code\kratos-demo03\api\helloworld\v1\greeter.proto (711 bytes) CREATED E:\java\go_code\kratos-demo03\api\helloworld\v1\greeter_grpc.pb.go (3667 bytes) CREATED E:\java\go_code\kratos-demo03\api\helloworld\v1\greeter_http.pb.go (2213 bytes) CREATED E:\java\go_code\kratos-demo03\cmd\kratos-demo03\main.go (1834 bytes) CREATED E:\java\go_code\kratos-demo03\cmd\kratos-demo03\wire.go (645 bytes) CREATED E:\java\go_code\kratos-demo03\cmd\kratos-demo03\wire_gen.go (1121 bytes) CREATED E:\java\go_code\kratos-demo03\configs\config.yaml (306 bytes) CREATED E:\java\go_code\kratos-demo03\go.mod (1301 bytes) CREATED E:\java\go_code\kratos-demo03\go.sum (9022 bytes) CREATED E:\java\go_code\kratos-demo03\internal\biz\README.md (7 bytes) CREATED E:\java\go_code\kratos-demo03\internal\biz\biz.go (134 bytes) CREATED E:\java\go_code\kratos-demo03\internal\biz\greeter.go (1285 bytes) CREATED E:\java\go_code\kratos-demo03\internal\conf\conf.pb.go (21434 bytes) CREATED E:\java\go_code\kratos-demo03\internal\conf\conf.proto (805 bytes) CREATED E:\java\go_code\kratos-demo03\internal\data\README.md (8 bytes) CREATED E:\java\go_code\kratos-demo03\internal\data\data.go (500 bytes) CREATED E:\java\go_code\kratos-demo03\internal\data\greeter.go (880 bytes) CREATED E:\java\go_code\kratos-demo03\internal\server\grpc.go (867 bytes) CREATED E:\java\go_code\kratos-demo03\internal\server\http.go (872 bytes) CREATED E:\java\go_code\kratos-demo03\internal\server\server.go (158 bytes) CREATED E:\java\go_code\kratos-demo03\internal\service\README.md (11 bytes) CREATED E:\java\go_code\kratos-demo03\internal\service\greeter.go (723 bytes) CREATED E:\java\go_code\kratos-demo03\internal\service\service.go (142 bytes) CREATED E:\java\go_code\kratos-demo03\openapi.yaml (1169 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\README.md (15 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\errors\errors.proto (428 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\api\annotations.proto (1082 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\api\client.proto (3495 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\api\field_behavior.proto (3090 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\api\http.proto (15515 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\api\httpbody.proto (2748 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\any.proto (6067 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\api.proto (7942 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\compiler\plugin.proto (8937 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\descriptor.proto (39418 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\duration.proto (5011 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\empty.proto (2481 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\field_mask.proto (8430 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\source_context.proto (2389 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\struct.proto (3874 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\timestamp.proto (6606 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\type.proto (6313 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\google\protobuf\wrappers.proto (4165 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\openapi\v3\annotations.proto (2254 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\openapi\v3\openapi.proto (22754 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\validate\README.md (84 bytes) CREATED E:\java\go_code\kratos-demo03\third_party\validate\validate.proto (32133 bytes) Project creation succeeded kratos-demo03 $ cd kratos-demo03 $ go generate ./... $ go build -o ./bin/ ./... $ ./bin/kratos-demo03 -conf ./configs Thanks for using Kratos Tutorial: https://go-kratos.dev/docs/getting-started/start Thanks for using Kratos Tutorial: https://go-kratos.dev/docs/getting-started/start# 进入项目目录拉取依赖\ cd kratos-demo03 go mod tidy# 安装wire工具kratos使用了依赖注入来生成相关的代码所以运行项目前也需要安装 go get github.com/google/wire/cmd/wire# 生成了wire_gen.go go generate ./...# 项目运行 kratos run以上的layout的目录布局仅仅是kratos推荐的项目目录布局方式 2.2 使用 Protobuf 定义验证码生成接口 定义 protobuf 文件说明接口利用 protoc 基于 protobuf 生成必要代码将生成的代码整合到项目中完善业务逻辑 kratos proto add api/verifyCode/verifyCode.protosyntax proto3;package api.verifyCode; // 生成的go代码所在的包 option go_package kratos-demo03/api/verifyCode;verifyCode; // 定义 VerifyCode 服务 service VerifyCode {rpc GetVerifyCode (GetVerifyCodeRequest) returns (GetVerifyCodeReply); } // 类型常量 enum TYPE {DEFAULT 0;DIGIT 1;LETTER 2;MIXED 3; }; // 定义 GetVerifyCodeRequest 消息 message GetVerifyCodeRequest {// 验证码长度uint32 length 1;// 验证码类型TYPE type 2;} // 定义 GetVerifyCodeReply 消息 message GetVerifyCodeReply {// 生成的验证码string code 1; }基于verifyCode.proto生成 clientStub相关代码 kratos proto client api/verifyCode/verifyCode.protoapi/verifyCode/verifyCode.pb.go类型定义代码api/verifyCode/verifyCode_grpc.pb.gogRPC服务定义代码 基于verifyCode.proto文件生成 grpc服务代码 kratos proto server api/verifyCode/verifyCode.proto -t internal/service-t 选项指定生成文件所在位置代码会生成在internal/service目录中的internal/service/verifycode.gointernal/service/verifycode.go该文件定义了最基本的 VerifyCode 服务和对应的 GetVerifyCode 方法 package serviceimport (contextpb kratos-demo03/api/verifyCode )type VerifyCodeService struct {pb.UnimplementedVerifyCodeServer }func NewVerifyCodeService() *VerifyCodeService {return VerifyCodeService{} }func (s *VerifyCodeService) GetVerifyCode(ctx context.Context, req *pb.GetVerifyCodeRequest) (*pb.GetVerifyCodeReply, error) {return pb.GetVerifyCodeReply{}, nil }将生成的服务代码注册到 gRPC 服务中 更新 internal/service/service.go 文件告知 wire 依赖注入系统如果需要 VerifyCodeService 的话使用NewVerifyCodeService 函数来构建 将 VerifyCodeService 注册到 gRPC 服务中 更新 internal/server/grpc.go 文件 package serverimport (v1 kratos-demo03/api/helloworld/v1kratos-demo03/api/verifyCodekratos-demo03/internal/confkratos-demo03/internal/servicegithub.com/go-kratos/kratos/v2/loggithub.com/go-kratos/kratos/v2/middleware/recoverygithub.com/go-kratos/kratos/v2/transport/grpc )// NewGRPCServer new a gRPC server. func NewGRPCServer(c *conf.Server, greeter *service.GreeterService, verifyCodeService *service.VerifyCodeService, logger log.Logger) *grpc.Server {var opts []grpc.ServerOption{grpc.Middleware(recovery.Recovery(),),}if c.Grpc.Network ! {opts append(opts, grpc.Network(c.Grpc.Network))}if c.Grpc.Addr ! {opts append(opts, grpc.Address(c.Grpc.Addr))}if c.Grpc.Timeout ! nil {opts append(opts, grpc.Timeout(c.Grpc.Timeout.AsDuration()))}srv : grpc.NewServer(opts...)v1.RegisterGreeterServer(srv, greeter)verifyCode.RegisterVerifyCodeServer(srv, verifyCodeService)return srv }生成依赖注入代码go generate ./... kratos run建立ApiPost的项目 2.3 业务逻辑代码实现 GetVerifyCode方法中添加code返回添加RandCode方法返回测试字符串resultkratos启动测试 package serviceimport (contextpb kratos-demo03/api/verifyCode )type VerifyCodeService struct {pb.UnimplementedVerifyCodeServer }func NewVerifyCodeService() *VerifyCodeService {return VerifyCodeService{} }func (s *VerifyCodeService) GetVerifyCode(ctx context.Context, req *pb.GetVerifyCodeRequest) (*pb.GetVerifyCodeReply, error) {return pb.GetVerifyCodeReply{Code: RandCode(int(req.Length), req.Type),}, nil }func RandCode(l int, t pb.TYPE) string {return result }// RandCode 开放的被调用的方法用于区分类型 func RandCode(l int, t pb.TYPE) string {switch t {case pb.TYPE_DEFAULT:fallthroughcase pb.TYPE_DIGIT:return randCode(0123456789, l)case pb.TYPE_LETTER:return randCode(abcdefghijklmnopqrstuvwxyz, l)case pb.TYPE_MIXED:return randCode(0123456789abcdefghijklmnopqrstuvwxyz, l)}return }// randCode 随机的核心方法 func randCode(chars string, l int) string {charsLen : len(chars)result : make([]byte, l)for i : 0; i l; i {// 核心函数 生成[0,n]的整型随机数randIndex : rand.Intn(charsLen)result[i] chars[randIndex]}return string(result) }
http://www.pierceye.com/news/165520/

相关文章:

  • 可以中英切换的网站怎么做四川住房建设厅官方网站
  • 网站制作网站设计优客工场 网站开发
  • 微网站建设开发用系统建购物网站
  • 小说网站建立浙江省和住房建设厅网站
  • 网站去掉后缀html代码运行框wordpress6
  • 做问卷的几个网站石家庄建站源码
  • 响应式网站的制作刷排名seo软件
  • 深圳方维网站设计公司做公司网站的
  • 21年网站搭建公司排行榜域名建设网站
  • 建设银行网银官方网站摄影大赛官网
  • 最好网站设计案例php网站开发能挣多钱
  • 长沙网站推广平台西安网站建设 app
  • 如何查网站是哪家公司做的不用付费的正能量软件
  • 上海专业网站制作设计访问网站速度很慢
  • 大概开发一个网站多少钱百度搜索引擎的网址
  • 众筹网站哪家好网站免费推广怎么做
  • 搜狗站长线上营销策划方案
  • goggle营销型网站效果网站建设的种类
  • 建设银行网站注册企业类似返利网的网站建设
  • pc端网站建设碳晶板全屋装修的利和弊
  • 网站开发层次wordpress源码之家
  • 农产品电商网站建设的总体目标阿里云域名注册入口官网
  • 义乌个人兼职做建设网站做网站月收入多少
  • 福州网站seo优化公司徐州百度运营中心
  • 做网站需要用到ps吗中国十大最强装饰公司
  • 网站建设盈利去除wordpress rss图标
  • 网站策划书的基本内容东莞工程建设交易中心网
  • 免费推广网站入口2022静态网站开发外文文献
  • 如何做服装微商城网站建设网站开发设计中的收获
  • 网站开发详细设计文档模板网站建设设计工具