最近AI越来越火了,我现在每天打开电脑第一件事就是打开Gemini。现在短视频平台也一堆AI教学的,可以说真的是实实在在在改变我们的生活了。
上次用了Google Ai Studio做了一个文件合并的小工具,还是蛮好用的,但是后来我发现,Gemini可以直接上传代码文件夹,所以现在小工具也基本不用了,也直接转用Gemini了,Gemini不好的地方就是没法直接预览,但是这一点其实也问题不大,代码复制到ide里面就可以预览了。
这次我想做的是一个记录加班和调休的小程序。提示词我再翻我跟Gemini的聊天记录的时候,已经被Gemini忘记了。。。。。。
这个也是现在市面上所有AI的通病了吧应该,要是这个能解决,就会更完美了。
最初的提示词大概是下面这样,我的提示词都会比较笼统,所以给出来的界面可能每次都会有些区别。这个也是我在学习中的东西,给一个相对完美的提示词。
我需要做一个微信小程序,功能如下:1、主要用于记录加班和调休2、分为两个界面,一个是日历界面,用于增加加班和调休3、另一个界面为总览统计4、日历界面需要包含节假日和双休显示5、需要返回今天的按钮6、加班色系为红色,调休色系为绿色7、数据存储到云上所以后来我就直接新开了一个对话,把现有的代码给Gemini,然后把我所有的问题点都给出来。
于是我就得到了最新的修改内容,在这个重点之后,Gemini把所有需要修改的代码的完整内容都给了出来,我直接复制粘贴到微信开发者工具里面就可以了。
由于数据是存储在云里面的,我用的是小程序自己的云,送了半年的免费使用,需要配置一下,配置过程Gemini也全部给我介绍了。(但是聊天记录依然被他忘了,后面再做这个系列的时候得要及时截图保存才行。)
用到云的原因有两个,首先是加班调休的记录需要保存,不然本地小程序删了就没了。然后就是节假日需要获取然后再存储,获取部分的代码也是Gemini给出来的。当前只获取了24-26年三年的信息。
const cloud = require('wx-server-sdk')const axios = require('axios')cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })const db = cloud.database()// ...前面的代码不变...exports.main = async (event, context) => {const targetYears = [2024, 2025, 2026];console.log(`开始批量同步:${targetYears.join(', ')}`);// === 修改点:使用 Promise.all 让几年同时跑 ===const tasks = targetYears.map(async (year) => {const url = `http://timor.tech/api/holiday/year/${year}`;console.log(`正在抓取 ${year}...`);try {const res = await axios.get(url, { headers: { 'User-Agent': 'Mozilla/5.0' } });const holidayData = res.data.holiday;const yearBatch = [];for (let dateKey in holidayData) {const item = holidayData[dateKey];// 查重const checkRes = await db.collection('holidays').where({ date: item.date }).count();if (checkRes.total === 0) {yearBatch.push(db.collection('holidays').add({data: {date: item.date,name: item.name,isHoliday: item.holiday,createTime: new Date()}}));}}if (yearBatch.length > 0) {await Promise.all(yearBatch);return `${year}年新增${yearBatch.length}条`;}return `${year}年无新增`;} catch (err) {return `${year}年失败: ${err.message}`;}});// 等待所有年份完成const results = await Promise.all(tasks);return {status: 'success',msg: results.join('; ')}}
其余的代码我就不再贴出来了,毕竟我也不是专业写JS的,有兴趣的可以前往Github上面查看全部代码。
一切准备就绪后,点击预览运行,就可以直接预览操作了,测试过程中,就需要按照使用过程中的实际效果新提出新的需求,让Gemini继续修改。
下面就是最终小程序的所有截图。
以上就就是全部的介绍了,大家如果有兴趣可以前往Github上面Clone下来自己部署,如果有兴趣的可以后台留言给我,我可以将你加入体验版试用一下。
前面也说到了,我的提示词太笼统,导致给出的结果每次都差别比较大,所以后面我也会找点视频看看提示词应该怎么写。欢迎大家关注后续和往期内容。
所有的代码都存放再Github中,欢迎大家前往Star、Fork、提Issue。所有文章都发布在专栏里,有需要看前期内容和后续更新的欢迎点击订阅。
https://github.com/JeffreyXXL