go-zero微服务框架 api 案例
最外层可以引入://=====================================> blog api v1 <================================= import ( "api/role.api" "api/menu.api" "api/user.api" "api/upload.api" "api/member.api" "api/article.api" )user.apiinfo( author: "lxl" date: "2022-12-20" desc: "user-api" email: "1123736022@qq.com" version: "v1" ) type ( // 一个用户 UserList { Id int64 `json:"id"` //ID UserName string `json:"userName"` //用户名 Password string `json:"password"` //密码 NickName string `json:"nickName"` //昵称 Email string `json:"email"` //邮箱 Image string `json:"image"` //头像 CreateTime int64 `json:"createTime"` UpdateTime int64 `json:"updateTime"` } // 用户列表请求 UserListReq { Page int64 `json:"page"` PageSize int64 `json:"pageSize"` NickName string `json:"nickName"` Email string `json:"email"` } // 用户列表响应 UserListResp { List []UserList `json:"list"` Code int64 `json:"code"` Msg string `json:"msg"` Total int64 `json:"total"` } // 用户新增请求 AddUserReq { UserName string `json:"userName"` //用户名 Password string `json:"password"` //密码 NickName string `json:"nickName"` //昵称 Email string `json:"email"` //邮箱 Image string `json:"image"` //头像 } // 删除用户请求 delUserReq { Id int64 `json:"id"` } // 批量删除用户请求 batchDelUserReq { Ids string `json:"ids"` } // 获取用户信息响应 UserInfoReply { // UserInfo UserList `json:"user_info"` Id string `json:"id"` Name string `json:"name"` } // 用户登录请求 UserLoginReq { UserName string `json:"userName"` //用户名 Password string `json:"password"` //密码 } // 用户登录响应 UserLoginResp { Code int64 `json:"code"` Msg string `json:"msg"` } // 用户响应 UserResp { Code int64 `json:"code"` Msg string `json:"msg"` Token string `json:"token"` UserInfo GetUserResponse `json:"userInfo"` } // 获取用户信息请求 GetUserRequest { Id int64 `json:"id"` } GetUserResponse { Id int64 `json:"id"` //ID UserName string `json:"userName"` //用户名 NickName string `json:"nickName"` //昵称 Email string `json:"email"` //邮箱 Image string `json:"image"` //头像 CreateTime int64 `json:"createTime"` UpdateTime int64 `json:"updateTime"` } JwtTokenRequest { } JwtTokenResponse { AccessToken string `json:"access_token"` AccessExpire int64 `json:"access_expire"` RefreshAfter int64 `json:"refresh_after"` // 建议客户端刷新token的绝对时间 } ) @server( prefix: api group: user jwt: JwtAuth ) service blog { // 获取用户列表 @handler getUserList post /user/getUserList (UserListReq) returns (UserListResp) // 添加用户 @handler addUser post /user/addUser (AddUserReq) returns (UserResp) // 更新用户 @handler updateUser post /user/updateUser (UserList) returns (UserResp) // 删除用户用户 @handler delUser post /user/delUser (delUserReq) returns (UserResp) // 批量删除用户用户 @handler batchDelUser post /user/batchDelUser (batchDelUserReq) returns (UserResp) // 获取用户信息 @handler getUserInfo post /user/info (GetUserRequest) returns (GetUserResponse) } @server( prefix: api group: user ) service blog { @handler userLogin post /user/login (UserLoginReq) returns (UserLoginResp) @handler JwtHandler post /user/token (JwtTokenRequest) returns (JwtTokenResponse) }
查看详情点赞评论收藏浏览172023-02-27 18:57:46go-zero微服务框架 proto 案例
以文章管理为例syntax = "proto3"; package article; // protoc-gen-go 版本大于1.4.0, proto文件需要加上go_package,否则无法生成 option go_package = "./article"; message IdRequest { string id = 1; } message getArticleByArticleCodeReq { string articleCode = 1; } // 文章 message addArticleReq { string title = 1; int64 sectionId = 2; int64 columnId = 3; int64 memberId = 4; string content = 5; string picUrl = 6; int64 isAdvert = 7; string linkUrl = 8; int64 createTime = 9; int64 updateTime = 10; string articleCode = 11; } message articleResp { int64 code = 1; string msg = 2; } message getArticleListReq { int64 pageSize = 1; int64 page = 2; string title = 3; int64 memberId = 4; int64 sectionId = 5; int64 columnId = 6; int64 isChecked = 7; int64 isAdvert = 8; string column = 9; string type = 10; int64 num = 11; string articleCode = 12; } message articleList { int64 id = 1; string title = 2; string keyword = 3; string description = 4; int64 createTime = 5; int64 updateTime = 6; int64 memberId = 7; int64 sectionId = 8; int64 columnId = 9; int64 commentNum = 10; int64 likeNum = 11; int64 viewNum = 12; int64 collectionNum = 13; int64 isChecked = 14; string content = 15; int64 isAdvert = 16; string linkUrl = 17; string picUrl = 18; int64 weight = 19; int64 mid = 20; string memberCode = 21; string nickName = 22; string image = 23; string articleCode =24; } message getArticleListResp { repeated articleList articleList = 1; int64 code = 2; string msg = 3; int64 total = 4; } message getArticleDetailResp { articleList articleList = 1; int64 code = 2; string msg = 3; } // 评论 message addCommentReq { int64 articleId = 2; int64 reviewer = 3; string content = 4; int64 appraisee = 5; int64 isChecked = 6; int64 likeNum = 7; int64 createTime = 8; int64 updateTime = 9; int64 pid = 10; } message commentResp { int64 code = 1; string msg = 2; } message getCommentListReq { int64 pageSize = 1; int64 page = 2; int64 articleId = 3; int64 isChecked = 4; int64 likeNum = 5; int64 createTime = 6; int64 pid = 7; } message commentList { int64 id = 1; int64 articleId = 2; int64 reviewer = 3; string content = 4; int64 appraisee = 5; int64 isChecked = 6; int64 likeNum = 7; int64 pid = 8; int64 createTime = 9; int64 updateTime = 10; } message getCommentListResp { repeated commentList commentList = 1; int64 code = 2; string msg = 3; int64 total = 4; } service Article { // 根据文章编号获取文章 rpc getArticleByArticleCode(getArticleByArticleCodeReq) returns(getArticleDetailResp); // 添加文章 rpc addArticle(addArticleReq) returns(articleResp); // 更新文章 rpc updateArticle(articleList) returns(articleResp); // 获取文章列表 rpc getArticleList(getArticleListReq) returns(getArticleListResp); // 添加评论 rpc addComment(addCommentReq) returns(commentResp); // 更新评论 rpc updateComment(commentList) returns(commentResp); // 获取评论列表 rpc getCommentList(getCommentListReq) returns(getCommentListResp); }
查看详情点赞评论收藏浏览362023-02-27 18:20:54Git 常用命令
使用git pull或者git push每次都需要输入用户名和密码很繁琐,耽误时间,现在教大家一条命令实现保存用户名和密码不用再输入git config --global credential.helper store git pull /git push (第一次输入,后续就不用再次数据)拉项目:git clone +地址$ git clone http://172.16.0.25/SEM_CENTER/192.168.254.119.git git clone -b dev进入项目,跟cmd一样cd /dir切换分支git checkout dev上传修改的代码git add . git commit -m "备注" git push //或者 git push origin devGit 命令 & dev 分支合并到 master1. 提到devgit add -A git commit -m ‘dev' git pull git push2. 切换到本地mastergit checkout master3. 同步远程 master 代码git pull origin master //或者 git pull4. 然后将dev合并到mastergit merge dev5. 将合并完的分支push到远程仓库git push origin master // 或者 git push查看本地分支git branch查看远程分支git branch -r查看所有分支git branch -a新建本地分支git branch xxx删除本地分支git branch -d xxx讲本地创建的分支推到远程git push origin xxx删除远程的分支//删除分支 git branch -r -d origin/lxl 提交并将远程分支删除 git push origin :lxl //这个也行 git push origin --delete new_a 将本地dev分支合并到本地master分支$ git merge dev #执行合并代码,此时执行结果时将本地的dev合并到本地master分支回退//回退到上一个版本 git reset --hard HEAD^ //回退到3次提交之前 git reset --hard HEAD~3 //置顶回退到某个版本代码 git reset --hard dde8c25694f34acf8971f0782b1a676f39bf0a46 //强推到远程 git push origin HEAD --force
查看详情点赞15评论收藏浏览692023-02-27 18:09:07pm2 部署nuxt3项目
1、静态部署//pnpm打包 pnpm run generate代码传到(或Jenkins构建)到linux服务器,用常用的Nginx静态部署就可以2、build 打包 pm2部署pnpm run build在根目录新建pm2配置文件:ecosystem.config.jsmodule.exports = { apps: [ { name: 'blog', exec_mode: 'cluster', instances: 'max', script: '.output/server/index.mjs', env: { NITRO_PORT: 3000, NITRO_HOST: '127.0.0.1', }, }, ], }启用pm2pm2 restart ecosystem.config.js pm2 save pm2 list到此结束就可以访问了。
查看详情点赞1评论收藏浏览612023-02-27 16:17:54