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