From 6d34d7d4f21989f5e9aa948a174fa4efd1e338e3 Mon Sep 17 00:00:00 2001 From: daiyb <570956418@qq.com> Date: Wed, 3 Sep 2025 11:48:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E5=88=B6=E9=9A=90=E7=A7=81=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/app.go | 2 ++ data/policy.html | 15 +++++++++++++++ data/service.html | 15 +++++++++++++++ pkg/common/file.go | 11 +++++++++++ pkg/utils/untils.go | 39 +++++++++++++++++++++++++++++++++++++-- 5 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 data/policy.html create mode 100644 data/service.html create mode 100644 pkg/common/file.go diff --git a/cmd/app.go b/cmd/app.go index 55bb6db..18d5b1b 100644 --- a/cmd/app.go +++ b/cmd/app.go @@ -21,6 +21,7 @@ import ( "fmt" "fonchain-fiee/cmd/config" "fonchain-fiee/pkg/cache" + "fonchain-fiee/pkg/common" "fonchain-fiee/pkg/logger" "fonchain-fiee/pkg/router" ) @@ -55,6 +56,7 @@ func bootstrap() (err error) { } cache.LoadRedis(redisConfig) + common.Init() // //gpt.InitSet(configEnv.Ai.Host, configEnv.Ai.TelNum, configEnv.Ai.Password) return nil diff --git a/data/policy.html b/data/policy.html new file mode 100644 index 0000000..f9b9c50 --- /dev/null +++ b/data/policy.html @@ -0,0 +1,15 @@ + + + +
+ +H5系统隐私政策
生效日期:2025年9月2日
1. 信息收集与使用
收集的个人信息类型
基础信息:手机号、微信昵称、头像、设备信息(IMEI、操作系统版本)。
支付信息:订单号、支付金额、交易时间(通过加密方式传输,不存储银行卡信息)。
自媒体平台授权信息,例如:
抖音:API接口权限(仅限内容同步)。
内容生成数据:用户输入的关键词、风格偏好、历史生成内容。
收集目的
账号验证与支付:手机号用于身份核验,支付信息用于完成交易。
内容发布:通过授权信息调用第三方平台API,执行用户指令。
2. 信息共享与转让
第三方平台接口:仅在用户授权范围内调用API,不共享用户平台账号密码。
支付合作方:与微信支付、支付宝等服务商共享订单信息以完成交易。
法律要求:如配合司法机关调查或响应政府要求,可能披露必要信息。
3. 用户权利
访问与控制:
可随时在“个人中心”查看历史生成内容、订单记录及授权状态。
删除与撤回:
可申请删除个人账户及生成内容(不包含已同步至第三方平台的内容)。
4. 数据安全
技术措施:采用HTTPS加密传输、数据库脱敏存储,定期进行安全漏洞检测。
第三方SDK:仅接入必要SDK(如微信登录、地图服务等),并签署数据保密协议。
5. 隐私政策更新
如涉及重大变更(如新增数据收集项),将通过短信/邮件通知并要求重新授权。
6. 联系我们
如有疑问,请通过以下方式联系:
客服邮箱:develop@fiee.com
+ + + \ No newline at end of file diff --git a/data/service.html b/data/service.html new file mode 100644 index 0000000..26f9e9f --- /dev/null +++ b/data/service.html @@ -0,0 +1,15 @@ + + + + + +服务条款
生效日期:2025年9月2日
1. 接受条款
通过注册或使用本系统(以下简称“服务”),您确认已阅读、理解并同意以下条款。若您不同意本条款,请立即停止使用本服务。
2. 服务内容
本系统提供自媒体内容生成与发布服务,用户可购买套餐后生成图文、短视频等原创内容,并通过系统接口同步至指定自媒体平台(如微信公众号、抖音、小红书等)。
服务包含AI辅助创作、内容优化建议、一键发布功能,具体内容以实际功能模块为准。
3. 用户权利与义务
账号与支付
注册需提供手机号或微信授权,购买套餐需通过系统支持的支付方式(如微信支付、支付宝)。
您需确保支付账户信息真实有效,因虚假信息导致的损失由您自行承担。
内容生成与发布
生成内容为原创作品,最终发布权归用户所有。
用户需对生成内容进行人工审核,确认无误后方可发布。因内容违规导致的平台处罚或法律纠纷,责任由用户承担。
系统不对用户未审核内容的合规性负责,但有权对明显违法内容(如涉黄、涉政)进行过滤拦截。
第三方平台接口
用户需授权系统调用其自媒体平台API(如tiktok开发者接口),授权范围限于内容发布及数据同步。
授权信息仅用于执行用户指令,系统不存储用户平台账号密码等敏感信息。
4. 套餐与退款
套餐有效期自购买成功日起计算,逾期未使用的套餐不支持退款。
如因系统故障或服务瑕疵导致无法正常使用,可联系客服协商退款。
5. 知识产权
由系统生成的内容(如文案、图片)默认无版权归属限制,但用户需遵守以下规则:
不得将内容用于商业用途(如转售、批量分发);
不得篡改系统生成内容的署名或标识;
若内容包含第三方素材(如音乐、图片),用户需自行确保使用合法性。
6. 责任限制
系统不对以下情形承担责任:
用户未审核内容导致的平台封禁、投诉或法律风险;
第三方平台接口变更或服务中断;
因不可抗力(如网络故障)导致的发布延迟。
7. 其他
本条款解释权归服务提供方所有,更新后将在系统内公示,用户继续使用即视为同意。
+ + + \ No newline at end of file diff --git a/pkg/common/file.go b/pkg/common/file.go new file mode 100644 index 0000000..0a5cdb6 --- /dev/null +++ b/pkg/common/file.go @@ -0,0 +1,11 @@ +package common + +import "fonchain-fiee/pkg/utils" + +func Init() { + _ = utils.CreateDirPath("./runtime") + utils.CopyFile("./data/policy.html", "./runtime") + utils.CopyFile("./data/service.html", "./runtime") + utils.CopyFile("../data/policy.html", "./runtime") + utils.CopyFile("../data/service.html", "./runtime") +} diff --git a/pkg/utils/untils.go b/pkg/utils/untils.go index 643c11d..e3a6660 100644 --- a/pkg/utils/untils.go +++ b/pkg/utils/untils.go @@ -7,14 +7,16 @@ import ( "errors" "fmt" "fonchain-fiee/pkg/e" - "github.com/gin-gonic/gin" - "github.com/tealeg/xlsx" "io" "io/ioutil" "net/http" "net/url" "os" + "path/filepath" "time" + + "github.com/gin-gonic/gin" + "github.com/tealeg/xlsx" ) const ( @@ -128,3 +130,36 @@ func ResponseXls(c *gin.Context, content io.ReadSeeker, fileTag string) { //c.Writer.Header().Add("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") http.ServeContent(c.Writer, c.Request, fileName, time.Now(), content) } + +func CreateDirPath(path string) (err error) { + if _, err = os.Stat(path); os.IsNotExist(err) { + if err = os.MkdirAll(path, os.ModePerm); err != nil { + return + } + } + return +} + +func CopyFile(src, dstDir string) (string, error) { + in, err := os.Open(src) + if err != nil { + return "", err + } + defer in.Close() + if err := os.MkdirAll(dstDir, 0755); err != nil { + return "", err + } + dst := filepath.Join(dstDir, filepath.Base(src)) + out, err := os.Create(dst) + if err != nil { + return "", err + } + defer out.Close() + if _, err = io.Copy(out, in); err != nil { + return "", err + } + if err = out.Sync(); err != nil { + return "", err + } + return dst, nil +}