现在的chatgpt被玩的都开始加广告,又办会员什么的的,今天就把小程序的前后端无广告版本源码和部署方式说一下。
源码下载地址:https://download.csdn.net/download/obliv/87359099
或者滴滴我
视频教程: https://v.douyin.com/k2doT1E/
前端用的uniapp,基础模版,单页面没有太多引用
后端使用的python的falsk框架,就一两个接口,用作跳转的,部署在阿里云的云函数里面。
因为微信现在不能直接使用openai的官方接口,所以用python做个接口转发
可以直接下载文件,也可以直接拷贝代码,你们随意。
hbuliderx 新建项目
选这个默认模板就可以
然后点下面的创建
一共需要改动两个文件
图片粘贴进去就可以,然后双击index.vue
右侧直接ctrl+A全选删掉
然后找到文件中的index.vue文件
把代码全选复制进去
代码如下
{{x.msg}}
{{x.msg}}
然后需要一个popup弹窗的组件
组件下载地址: popup组件下载
下载界面选择右侧这个导入项目
然后到现在,前端基本完事了。
开始弄后端的代码。
先登录阿里云 阿里云官网
然后找到函数计算界面
进去之后新建应用
找到flask创建
然后选择直接部署,点击创建
创建之后点最下面的flask字样
出来的界面点这个函数代码
右侧这里有一个上传zip包
弹出的上传对话框中把文件放上去
之后应该是这个样子,这里的index.py就是主入口文件了
from flask import Flask,request
import requests
import json
app = Flask(__name__)
@app.route('/')
def hello_world(): # put application's code here
return '在此输入apikey 示例:sk-s5S5BoVMLBD3btLsD'
@app.route('/message',methods = ['POST'])
def mess():
sk = request.json.get('openaikey')
msg = request.json.get('msg')
print(sk,msg)
req = requests.post('https://api.openai.com/v1/completions',
json={"prompt": msg, "max_tokens": 2048, "model": "text-davinci-003"}, headers={
'content-type': 'application/json', 'Authorization': 'Bearer ' + sk})
print(req.status_code)
if req.status_code == 200:
reqdic = json.loads(req.text)
print(reqdic)
aa = reqdic['choices'][0]['text']
res = {
"resmsg":aa,
"code":200
}
return res
else:
reqdic = json.loads(req.text)
err = reqdic['error']['message']
res = {
"resmsg":err,
"code":412
}
return res
if __name__ == '__main__':
app.run()
点击上方的部署代码
然后点击触发器管理、点击编辑
点完编辑后在弹出的界面把POST请求加上
然后在界面的右侧有个url字样,点一下复制图标就复制下来了
复制下来的类似这样的域名:https://flask-web-frawork-gsq-vugsgvxsae.cn-hangzhou.fcapp.run
之后去到小程序的后台开发设置界面,这个填到接口请求域名的位置
然后在uniapp代码中第65行的位置,把这个域名复制进去
之后就是运行
就是这个样子了:
点击下面配置apikey,然后配置之后会自动检测key是否准确,准确后就可以发送消息进行回复了
如果想要变现,就自己想办法加广告吧,比如加个次数,发送10次之后,弹出广告什么什么的,就看你们表现了
想要文件的记得叫我,代部署50缘