Cursor免费版到期了...没有续费 还是想多试试其他的AI模型 然后就下载了千问[当然1分钱喝奶茶也有原因啦 😃] 之前有资料说编程方面千问还是挺强的 连续几天的代码工作 都让它帮着给优化和测试 还是挺好用的 生成的代码 多修正几次 就可以按照自己的代码习惯生成 BUG也几乎很少 让它给生成了个微信小程序这边关于API安全的代码案例 贴一下 做个记录 还没测试完 得开一个新的空项目做下测试

API安全在微信小程序后台左侧菜单里 开发管理 菜单下面 申请开通之后 会获得对称/非对称秘钥 还有个证书 让千问给出的代码 先贴小程序这边的 毕竟服务端每个人都不一样 可以拿着小程序这边的代码再去找千问生成服务端部分的

// utils/request.jsclass RequestClient { constructor() { this.baseUrl = '

https://your-domain.com/api';

// 你的API域名 this.appid = 'your-wechat-appid'; // 你的小程序APPID this.secret = 'your-security-secret'; // 你在开放平台配置的密钥 } /** * 生成签名 */ generateSignature(data, timestamp, nonce) { // 按字典序排列参数 const sortedParams = Object.keys(data) .sort() .map(key => `${key}=${encodeURIComponent(data[key])}`) .join('&'); // 拼接签名字符串 const stringToSign = `${this.appid}${timestamp}${nonce}${sortedParams}`; // 使用SHA256哈希算法 const crypto = require('crypto'); const hash = crypto.createHash('sha256'); hash.update(stringToSign + this.secret); return hash.digest('hex'); } /** * 通用请求方法 */ async request(url, method = 'GET', data = {}) { const timestamp = Date.now().toString(); // 毫秒时间戳 const nonce = Math.random().toString(36).substr(2, 15); const signature = this.generateSignature(data, timestamp, nonce); return new Promise((resolve, reject) => { wx.request({ url: `${this.baseUrl}${url}`, method: method, data: data, header: { 'Content-Type': 'application/json', 'X-AppID': this.appid, 'X-Timestamp': timestamp, 'X-Nonce': nonce, 'X-Signature': signature, 'Authorization': `Bearer ${wx.getStorageSync('token') || ''}` }, success: (res) => { resolve(res.data); }, fail: (err) => { reject(err); } }); }); } // 示例:测试API安全 apiSafeTest(cidVal) { return this.request('/api_safe_test', 'POST', { c: cidVal }); }}// 使用示例const requestClient = new RequestClient();// 测试API安全requestClient.apiSafeTest('test_cid').then(data => { console.log(data);});

因为秘钥和证书是部署在服务端那边的 或者过两天不写项目用空项目测试成功了再分享下 这几天有点创意选题都枯竭的感觉 每天都要磨洋工到很晚才勉强写些东西 看看得换个时间 比如白天就写了存好草稿 晚上来发布 今天就先这样

保持好奇 不断进步 下期见~