Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ tobeg Public

叫花子要饭新姿势,简洁优雅,使用 gin 做为后端框架,前端使用 vue + element-ui 构建。

License

Notifications You must be signed in to change notification settings

srcrs/tobeg

Repository files navigation

tobeg

asksowhat

叫花子要饭新姿势,简洁优雅,使用 gin 做为后端框架,前端使用 vue + element-ui 构建。

tobeg

项目说明

目前,该项目仅仅完成了基本功能,还存在着许多不足和 bug ,这些我都会继续完善。下一阶段,准备引入数据库,保存"赏钱"信息。

项目结构

.
├── api #api接口
│  ├── alipay.go
│  ├── flow.go
│  └── tmpl.go
├── cert #证书实体
│  └── cert.go
├── config #配置项实体
│  └── config.go
├── config.yml #配置文件
├── db #db数据库操作
│  └── sqlite3.go
├── docker-compose.yml
├── Dockerfile
├── flow.db #sqlite存储
├── forms
│  └── alipay.go
├── global #全局变量配置
│  └── global.go
├── go.mod
├── go.sum
├── initialize #初始化
│  ├── cert.go
│  ├── config.go
│  ├── logger.go
│  ├── router.go
│  └── sqlite3.go
├── LICENSE
├── main.go
├── middlerwares #中间件
│  └── cors.go
├── model #数据库表实体
│  └── flow.go
├── public #静态文件
│  ├── css
│  │  ├── elementui.index.css
│  │  └── fonts
│  │  ├── element-icons.ttf
│  │  └── element-icons.woff
│  ├── images
│  │  └── favicon.png
│  └── js
│  ├── elementui.index.js
│  ├── jquery.min.js
│  ├── qrcode.min.js
│  └── vue.min.js
├── README.md
├── router #路由配置
│  ├── alipay.go
│  ├── flow.go
│  └── tmpl.go
├── templates #模版引擎
│  └── index.html
└── utils #工具模块
 └── db.go

准备

目前,该项目仅仅对接了支付宝当面支付(支付扫码付款场景理论都支持),需要完成以下几件事

  • 申请开通支付宝当面付功能

  • appId(应用ID)

  • private_key(支付宝私钥)

  • public_content_rsa2(支付宝公钥)

  • app_public_content(应用公钥)

支付宝开通当面付

开通当面付,可参考官方说明进行申请。当面付介绍及准入条件

进入应用管理

当开通完当面付功能之后,进入应用管理页面,点击网页/移动应用,可以看到已经有一个应用,点击进入详情。

红色箭头所指便是 appId(应用ID)

生成密钥

参考支付宝官方文档 生成并配置密钥,这里需要注意的是,生成密钥的流程相同,配置密钥不同的应用界面可能存在差异。

密钥生成之后,会得到两个文件

  • 应用公钥2048.txt

  • 应用私钥2048.txt

应用私钥2048.txt 中的内容便是 private_key(支付宝私钥)

配置密钥

将 应用公钥2048.txt 中的公钥填写在 圈2 位置,填写好之后你就得到了 public_content_rsa2(支付宝公钥)app_public_content(应用公钥)

如果上述表示有不明确之处,可参考支付宝官方文档 当面付接入准备

至此,准备完毕。

配置

tobeg 支持用户在 config.yml 填写自定义配置,配置文件说明

base 模块下主要包含网站一些基础配置如网站图标,标题等等

字段 示例 说明
title "tobeg" 网站的title
url "http://baidu.com" 网站对外访问地址,关乎到支付回调判断,如站点访问地址是 https://google.com ,那么这个字段就要填写为 https://google.com
favicon "favicon.png" 站点图标,存储位置在/public/images/favicon.png,新图片可覆盖也可代替,但要注意这里要与实际图片文件名相同。
toSells 字符串列表 在走马灯处显示
thank "谢谢你, 好人" 支付成功后的提示

alipay 主要是配置支付宝相关的信息

字段 示例 说明
appid "2032423423" 支付宝应用Id
private_key "MIIEpAIBAAKCAQEAsw6yoLZ" 支付宝密钥
public_content_rsa2 "MIIBIjANBgdqhkiG9w" 支付宝公钥
app_public_content "MIIBIjANBgkqhkiG9wfBAQEFA" 应用公钥

server 主要主要配置后端服务的相关信息

字段 示例 说明
port 10020 配置后端服务的启动端口

完整示例

base:
 title: "tobeg"
 url: "http://baidu.com"
 favicon: "favicon.png"
 thank: "谢谢你, 好人"
 toSells:
 - "瞧一瞧、看一看、这里来个穷要饭哎"
 - "大娘好,大爷善,可怜可怜俺这个穷光蛋"
 - "给个摸,给口汤,祝恁长命又健康"
 - "行行好,行行秒,施舍的人呱呱叫"
alipay:
 appid: "2032423423"
 private_key: "MIIEpAIBAAKCAQEAsw6yoLZ"
 public_content_rsa2: "MIIBIjANBgdqhkiG9w"
 app_public_content: "MIIBIjANBgkqhkiG9wfBAQEFA"
server:
 port: 10020

需要注意的是,在 config.yml 配置文件中,你至少要两个地方 base.url 和 alipay 相关的证书信息,至此配置结束。

部署

该项目支持使用Docker-Compose进行部署,推荐自己构建最新镜像,也可以使用我构建的镜像,但可能不是最新的。

自己构建镜像

  • 下载项目
git clone https://github.com/asksowhat/tobeg.git && cd tobeg
  • 运行

相关配置完成之后

docker-compose up -d

这里会产生一个无用镜像,使用下面命令,便可删除

docker rmi $(docker images -f "dangling=true" -q)

使用我的镜像

将下面内容,覆盖 docker-compose.yml

version: "3"
services:
 tobeg:
 image: asksowhat/tobeg:latest
 container_name: tobeg
 restart: always
 ports:
 - 10020:10020
 volumes:
 - $PWD/config.yml:/config.yml
 - $PWD/flow.db:/flow.db
  • 运行
docker-compose up -d

这里有一点要注意的是,如果你在 config.yml 更改了端口配置,需要将 docker-compose.yml 的ports配置,也要做相应的调整。

致谢(不分先后)

About

叫花子要饭新姿势,简洁优雅,使用 gin 做为后端框架,前端使用 vue + element-ui 构建。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /