这个是调用openai的结口生成四张图片的网站,可是测试下来,发现老是提示openai的key达到限额,可能我没有充值的缘故吧,所以测试失败,不过还是学到不少东西的。
一、按钮
原来可以直接从网站复制到网页上面。
二、JS捕捉鼠标的click这个动作,还可以取到input里面的值,然后后台执行一系列的操作。
1.
平常的form表单是这样的:
2.Vue是这样的
<div id="app"> <input type="button" value="v-on指令" v-on:click="study"> <input type="button" value="v-on简写" @click="study"> <input type="button" value="双击事件" @dblclick="changeFood"> <h1 v-text="food"></h1> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> <script> let app = new Vue({ el: "#app", data: { food: "鸡蛋炒米饭" }, methods: { study: function () { alert("学习 Java!"); }, // 此处也可以把 function 省略 changeFood() { this.food += "超级好吃!" } } }); </script>
三、JS用fetch访问API
四、编程时的符号问题,Bearer外面那个符号,我打错了,找了半个小时还没有找到原因。
五、代码
app.js
const API_KEY = "sk-xxx" const submitIcon = document.querySelector("#submit-icon") const inputElement = document.querySelector("input") const getImages = async() => { const options = { method: "POST", headers:{ 'Authorization': `Bearer ${API_KEY}`, 'Content-type': 'application/json' }, body:JSON.stringify({ "prompt":inputElement.value, "n": 4, "size":"1024x1024" }) } try{ const response = await fetch('https://api.openai.com/v1/images/generations', options) const data = await response.json() console.log(data) } catch(error){ console.error(error) } } submitIcon.addEventListener('click',getImages)
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link ref="stylesheet",href="stylesheet.css" /> </head> <body> <section class="images-section"></section> <section class="buttom-section"></section> <section class="input-container"></section> <input> <div id="submit-icon">➢</div> <script src="app.js"></script> </body> </html>
参考:https://www.youtube.com/watch?v=l3TLQuwr4G0